web scraper order;web scraper start url;titre;auteurs;lieu de publication-annee-maison d'edition;pays de publication;résumé;nombre_citation;nombre_versions;link_article;link_article_href;text;meta;page_article 1619094595-882;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;The distinction between fixed and random generators in group-based assumptions;J Bartusek, F Ma, M Zhandry ; Annual International Cryptology Conference, 2019 Springer;;"… give a generic group proof for the security of fixed-generator, low-entropy DDH (Canetti, Crypto 1997) … original motivation for studying point obfuscation was to realize useful properties of random oracles [4] in … If \(H(\cdot )\) is a random oracle, observe that H(x) is a secure point …";Cité 10 fois;Les 5 versions;[PDF] iacr.org;https://eprint.iacr.org/2019/202.pdf;" The Distinction Between Fixed and Random Generators in Group-Based Assumptions James Bartusek∗ Fermi Ma† Mark Zhandry‡ Princeton University Abstract There is surprisingly little consensus on the precise role of the generator g in group-based assumptions such as DDH. Some works consider g to be a fixed part of the group description, while others take it to be random. We study this subtle distinction from a number of angles. • In the generic group model, we demonstrate the plausibility of groups in which random-generator DDH (resp. CDH) is hard but fixed-generator DDH (resp. CDH) is easy. We observe that such groups have interesting cryptographic applications. • We find that seemingly tight generic lower bounds for the Discrete-Log and CDH problems with preprocessing (Corrigan-Gibbs and Kogan, Eurocrypt 2018) are not tight in the sub-constant success probability regime if the generator is random. We resolve this by proving tight lower bounds for the random generator variants; our results formalize the intuition that using a random generator will reduce the effectiveness of preprocessing attacks. • We observe that DDH-like assumptions in which exponents are drawn from low-entropy distributions are particularly sensitive to the fixed- vs. random-generator distinction. Most notably, we discover that the Strong Power DDH assumption of Komargodski and Yogev (Komargodski and Yogev, Eurocrypt 2018) used for non-malleable point obfuscation is in fact false precisely because it requires a fixed generator. In response, we formulate an alternative fixed-generator assumption that suffices for a new construction of non-malleable point obfuscation, and we prove the assumption holds in the generic group model. We also give a generic group proof for the security of fixed-generator, low-entropy DDH (Canetti, Crypto 1997). 1 Introduction Starting with the seminal work of Diffie and Hellman [DH76], the Computational Diffie-Hellman (CDH) assumption in certain cyclic groups has become a core pillar of modern cryptography. For a finite cyclic group G and generator g, the assumption holds if it is hard to compute gab given (g, ga, gb) for random a, b. The corresponding Decisional Diffie-Hellman (DDH) assumption, introduced by Brands [Bra94], is that given (g, ga, gb) for random a, b, it is hard to distinguish gab from gc for random c. A somewhat subtle issue is the precise role of g in these assumptions: is it fixed in the group description, or is it randomly chosen along with a and b? For CDH in groups where the totient of the order is known, a folklore equivalence between the fixed and random generator variants exists (e.g. see Chapter 21 of Galbraith’s textbook [Gal12]). For DDH, Shoup [Sho99] observed that the fixed generator assumption appears to be a stronger assumption than the random generator version, though a formal separation between ∗bartusek.james@gmail.com. †fermima1@gmail.com. ‡mzhandry@princeton.edu. 1 the two is unknown. Despite this apparent distinction, the cryptographic literature commonly refers to both the fixed and random generator variants simply as “DDH”.1 A likely explanation for this practice is that in most applications of cryptographic groups, it is straight- forward to switch between fixed and random generators. For example, in ElGamal encryption [ElG84], users who want the additional security of random-generator DDH can easily specify a random generator in their public key. Sadeghi and Steiner [SS01] observed that this justification does not apply in settings where the choice of group generator is left to a potentially untrusted party.2 They give the example of a bank that offers its customers an anonymous payment system, claiming provable security under group-based assumptions. If the bank is free to choose parameters such as the group generator, then for security it is crucial that any underlying assumptions hold in their (stronger) fixed generator form. While Sadeghi and Steiner did not point to specific assumptions that can be broken simply by fixing the group generator, they stressed that continuing to conflate these distinct assumptions could lead to serious ambiguities and mistakes in the future. In the nearly two decades since Sadeghi and Steiner [SS01] first called attention to the above issue, dozens of new and increasingly sophisticated group-based assumptions have been introduced. Accordingly, researchers have devoted significant effort to evaluating the plausibility of these assumptions (e.g. [BFF+14, DHZ14]), frequently in idealized models such as the generic group model [Nec94, Sho97, Mau05]. We observe that these generic group justifications generally ignore the question of whether the generator is fixed or random, but that in most cases this distinction does not seem to affect real world security of these assumptions. In this work, however, we will see that this is not always the case. 1.1 Our Results We first examine how the fixed vs. random generator distinction affects the classical Discrete-Log, CDH, and DDH problems in a variety of different settings, obtaining the following results: • Generic Separations for CDH and DDH. We prove that fixed- and random-generator DDH are inequivalent assumptions in the generic group model [Nec94, Sho97, Mau05]. We show that for groups of unknown order, fixed- and random-generator CDH are also inequivalent assumptions in the generic group model. In addition, we give evidence (relying on a new assumption about arithmetic circuits) that they are inequivalent even if the group order is known but its factorization is not.3 • Split-CDH and Split-DDH Groups. We define Split-CDH (resp. Split-DDH) groups for which the fixed-generator variant of CDH (resp. DDH) is easy but the random-generator variant is hard, and we observe that such groups imply interesting cryptographic applications. A split-CDH group can be turned into a self-bilinear map [YYHK14, KKS15] where the random-generator variant of the Multilinear CDH assumption holds. This implies powerful primitives such as multiparty non- interactive key agreement (with trusted setup).4 A split-DDH group can be used to instantiate a variant of the Boneh-Franklin identity-based encryption [BF01] scheme. We stress here that giving candidate constructions of these groups is outside of the scope of this work. On the negative side, we prove that a natural class of non-interactive key exchange protocols (without trusted setup) are insecure in certain split-CDH groups. 1For example, the Katz-Lindell textbook [KL] defines DDH with a fixed generator, while Cramer-Shoup [CS98] defines DDH with a random generator. 2Sadeghi and Steiner [SS01] actually consider the more general possibility of the untrusted party choosing the group itself maliciously. This question is beyond the scope of our work, but in many cases it is an equally important consideration. 3This inequivalence was also suggested by Saxena and Soh [SS06]. 4A similar observation was also made in [SS06]. 2 • Asymptotic Bounds for Discrete-Log and CDH with Preprocessing. We revisit the recent work of Corrigan-Gibbs and Kogan [CK18], which seemingly resolves the generic hardness of Discrete- Log and CDH with preprocessing. We observe that while their lower bounds are tight for the fixed- generator variants, they leave a gap in the random-generator setting for algorithms with sub-constant success probability. We close these gaps by proving tight lower bounds for the random-generator variants. Our bounds suggest that using a random generator can reduce the impact of preprocessing attacks, and in turn group parameters can be set more aggressively than previously thought in situations where random-generator Discrete-Log or CDH are sufficient. Next, we turn our attention to the class of Diffie-Hellman-like assumptions involving non-uniform random exponents. An example of such an assumption is Canetti’s “DDH-II” assumption [Can97], which states that DDH remains hard even if the exponent a in (g, ga, gb, gab) is drawn from a well-spread distribution (so that a has super-logarithmic min-entropy). While these assumptions are somewhat undesirable due to their non-standard nature [GK16], Wee [Wee05] showed that these assumptions (ones that require hardness given only super-logarithmic entropy) are necessary for applications such as point-function obfuscation. Before we rely on such assumptions, it is important to rule out idealized adversaries that attack the underlying structure of the assumption. The most common technique for achieving this is to prove the assumption holds in the generic group model [Nec94, Sho97, Mau05]. Such proofs certainly do not imply the validity of the assumption; instead, these proofs are generally viewed as a minimal level of guarantee we need to gain confidence in an assumption [BFF+14]. Our central focus is on the recently proposed “Strong Power DDH” assumption of Komargodski and Yogev [KY18a]. The assumption states that for x sampled from any arbitrary well-spread distribution D, that gx, gx 2 , . . . , gx k is indistinguishable from k uniformly random group elements. Our results are the following: • Strong Power DDH is False for a Fixed Generator. We demonstrate the “Strong Power DDH” assumption underlying Komargodski and Yogev’s non-malleable point obfuscator [KY18a] as well as Fenteany and Fuller’s non-malleable digital locker [FF18] is false in the fixed-generator setting. This results from a subtle issue in the order of quantifiers; if g is fixed, an arbitrary well-spread distri- bution could depend on g. For example, x can come from the distribution that conditions on the bit-representation of gx beginning with 0. Unfortunately, these constructions can only be instantiated with a fixed generator, so the original security proofs in [KY18a] and [FF18] must rely on a false assumption.5,6 In response to private communication from the authors of this work, Komargodski and Yogev have offered a simple fix [KY18b] for their original construction through a new “Entropic Power DDH” assumption.7 This new assumption suffices for non-malleable point obfuscation and is formulated precisely to address the vulnerability described above. • Fixing Non-Malleable Point Obfuscation and Justifying Assumptions in the Generic Group Model. In this work, we offer an alternative resolution. We construct a new non-malleable point obfuscator that is qualitatively different from the one in [KY18a]. Security of our construction relies on a newly formulated fixed-generator entropic assumption that we prove holds in the generic group model. Note that neither the Strong Power DDH Assumption [KY18a] nor the revised Entropic Power DDH Assumption [KY18b] come with generic group proofs of security. 5Relying on a random generator would require a common random string, which is not the model considered in [KY18a] or in the version of [FF18] dated Jan 30, 2019 at eprint.iacr.org/2018/957/20190130:190441. 6This issue appears in the Eurocrypt 2018 version of [KY18a], in an older ePrint version of [KY18b] dated May 1, 2018 at eprint.iacr.org/2018/149/20180211:142746, and in the ePrint version of [FF18] dated Jan 30, 2019 at eprint.iacr.org/2018/957/20190130:190441. 7This refers to the newer ePrint version of [KY18b] dated Feb 21, 2019 available at https://eprint.iacr.org/2018/149/20190221:133556. 3 https://eprint.iacr.org/2018/957/20190130:190441 https://eprint.iacr.org/2018/149/20180211:142746 https://eprint.iacr.org/2018/957/20190130:190441 https://eprint.iacr.org/2018/149/20190221:133556 Along the way, we develop general techniques (based heavily on [CDG18]) for proving generic security of non-standard, entropic assumptions. As a final contribution, we demonstrate the applicability of these techniques by showing that the fixed- and random-generator versions of Canetti’s DDH-II assumption [Can97] hold in the generic group model.8 This assumption has been used in both its fixed-generator form (e.g. [KLRZ08, CD08, DHZ14]) and random-generator form (e.g. [Can97, BC10]). 1.2 Reader’s Guide Our contributions (and the following technical overview) are divided into 4 parts. • Part 1 is collection of generic-group-based results that explore the fixed- or random-generator distinc- tion for Discrete-Log, CDH, and DDH. We also describe our new split-CDH and split-DDH groups. These results are contained in Section 3. • Part 2 is a discussion on the negative implications of the fixed- or random-generator distinction, with a focus on trusted set-up in Diffie-Hellman Key Exchange. The key technical result in this section is a black-box separation between random-generator CDH and a natural class of non-interactive key exchange protocols. This part is in Section 4. • Part 3 considers the problem of generic algorithms with preprocessing in the random-generator setting. Our lower bound for random-generator Discrete-Log and CDH is in Section 5. • Part 4 studies the problem of non-malleable point obfuscation. We give our construction and prove security under a new assumption in Section 6. We justify our new assumption with a generic group model proof in Section 7. Our generic group model proof for DDH-II can be found in Section 7.3. We encourage any readers interested in non-malleable point obfuscation or generic group proof techniques to first read Part 4 in the following technical overview before visiting the proofs in Section 6, Section 7, and Section 7.3. 1.3 Technical Overview 1.3.1 Part 1: Generic Separations and Split Groups. Formalizing the Distinction. We will assume some process for generating a group description G of order N . This group description is assumed to include a generator g. The fixed-generator DDH assumption, or f-DDH, states that the tuples (gx, gy, gxy) and (gx, gy, gz) are computationally indistinguishable, given the description of G. Here, x, y, z are chosen randomly in ZN . On the other hand, the random-generator DDH assumption, or r-DDH, states that the tuples (h, hx, hy, hxy) and (h, hx, hy, hz) are computationally indistinguishable. Here, x, y, z are chosen randomly in ZN , and h is a random generator of G (chosen, say, by setting h = gr for a random r in Z∗N ). We can also define fixed- and random-generator variants of Computational Diffie-Hellman (CDH) and Discrete-Log (DLog). For example, f-CDH states that given (gx, gy) for random x, y, it is computationally infeasible to find gxy. We consider the following three settings of groups: known prime group order, known composite group order of unknown factorization, and unknown group order. For each of the three assumptions and three settings (for 9 instances in total) we explore the relationship between the fixed- and random-generator variants. Trivially, the f- variants of the assumptions are at least as strong as the r- variants. In the other direction, some instances have known or folklore reductions showing equivalence [Gal12]. For each of the cases that do not have a proof of equivalence, we provide a separation. This is formalized by augmenting the generic group model [Sho97] with an oracle for the f- variant, and showing (potentially under reasonable computational assumptions) that the r- variant still holds. Table 1 summarizes our findings. 8Previously, such proofs had been obtained by Bitanksy and Canetti [BC10] and Damg̊ard, Hazay, and Zottarel [DHZ14], who considered the random- and fixed-generator versions, respectively. We observe that both of these proofs treat the well- spread distribution as independent of the generic group labeling. Our proof handles distributions with arbitrary dependence on the labels; for more discussion refer to Part 4 of Section 1.3. 4 DLog CDH DDH Known Order X X × (FL/Lemma 5) (FL) (Theorem 2) Unknown Factorization X ×? × (FL/Lemma 5) (Theorem 4) (Theorem 2) Unknown order X ×? × (FL/Lemma 5) ([YYHK18]/Theorem 3) (Theorem 2) Table 1: Generic equivalences and separations. FL denotes a folklore result. X means that the fixed and random generator versions are equivalent. × means that the random generator version is harder than the fixed generator version (in the generic model). ×? means the result holds under a plausible conjecture. Applications of Split Groups. Looking at Table 1, we see that in the case of DDH, there is the potential for a group where f-DDH is easy but r-DDH is hard. We will call such groups split-DDH groups. Similarly, if the group order is unknown, potentially f-CDH is easy but r-CDH is hard; we call such groups split- CDH groups. In this section, we will see that such split Diffie-Hellman groups have useful cryptographic applications. First, we observe that a split-CDH group is very close to a self-bilinear map [YYHK14]. A self-bilinear map is a group G together with a pairing e : G2 → G such that e(gx, gy) = e(g, g)xy. Let g1 = g and gn = e(g, gn−1). A typical computational assumption on self-bilinear maps would be the multilinear CDH assumption [BS02]: for any n > 1, given gx0 , . . . , gxn , it is hard to compute g ∏n i=0 xi n . Notice that by applying the mapping e(¡, ¡), it is only possible to compute g ∏n i=0 xi n+1 . An f-CDH oracle gives such an oracle where e(g, g) = g. Therefore, a split-CDH group gives all the functionality of a self-bilinear map. But notice that since e(g, g) = g, gn = g for any n. Therefore, the multilinear CDH assumption is false. However, we observe that if we choose a random element h, then e(h, h) = hr where h = gr. As such, the f-CDH oracle would also give a self-bilinear map with respect to the random generator h. We then show that multilinear CDH is actually hard relative to h, assuming r-CDH is hard. Thus, we obtain a self-bilinear map from any split-CDH group. As a consequence, following [YYHK14] we would immediately obtain multiparty non-interactive key agreement, broadcast encryption satisfying a distributed setup notion [BZ14], and attribute-based encryption for circuits. In Section 3.2 we show that Split-DDH groups allow for a simple identity-based encryption (IBE) scheme based on the Boneh-Franklin [BF01] construction. Our results above demonstrate that finding groups where f- and r- assumptions are separated yields interesting applications. In the next part, we discuss the negative implications of differing hardness between f- and r- assumptions. 1.3.2 Part 2: Trusted Setup Assumptions The previous sections demonstrated that the f- and r-DDH assumptions are distinct assumptions that may not both be true. But then which DDH assumption should be used? In practice, g is typically part of a standards library chosen by a trusted third party (e.g. NIST). As such, users have essentially three choices: 1. Believe that the trusted third party chose g at random, and use the r-DDH assumption. 2. Do not trust the third party, but instead assume that there are no bad g. In other words, rely on the f-DDH assumption for g. 3. Do not trust the third party, but instead have one of the users generate a random g and distribute it to everyone else. Then rely on r-DDH. Option 1 means that users need to trust that no one could have subverted g and chosen a bad generator for which DDH is actually easy; history has shown such trust could very well be misplaced. Only Options 2 and 3 remove the need to trust a third party. 5 Remark 1. Note that to remove trusted setup assumptions entirely, we would need to ensure that G itself is guaranteed to satisfy f-DDH. One option is to assume that both G and g were generated by a deterministic process, so that all parties can calculate G, g for themselves without any setup. For groups based on finite fields, this requires deterministically generating large primes; while no polynomial-time provable algorithms are known, there are very simple heuristic algorithms. For elliptic curve-based groups, other options are available (e.g. using a field with small characteristic). For one approach to deterministic curve generation, see [BCLN16]. In most cases, it is straightforward to switch between Options 2 and 3. A scheme designed for f-DDH can often be converted into a scheme that relies only on r-DDH by having one of the parties choose a random generator. On the other hand, a scheme designed for r-DDH can often be converted into an f-DDH scheme by fixing a group element and not including it with the user’s messages, saving slightly on transmission costs. The above means slightly different parameter sizes for the two assumptions. For example, for public key schemes, the extra group element would naturally go in the public key. The result is that schemes secure under r-DDH naturally require one additional group element in the public key relative to the f-DDH analog. As authors often compare parameter sizes in terms of group elements (e.g. [Fuj16]), it is important that they clearly identify which assumption is used. In some cases, however, switching between f-DDH and r-DDH will have a more profound impact. For example, in a protocol between mutually distrusting parties, which party will be entrusted to come up with the generator? While we are not aware of any instances of protocols in the literature that cannot be made to work with a random generator, it is straightforward to devise protocols where no single party can be trusted to choose the generator. As such, care must be taken when using the r-DDH assumption in these settings. Diffie-Hellman Key Exchange. For the remainder of this section, we will focus on a concrete setting where it is not possible to trivially switch between f-DDH and r-DDH: Diffie-Hellman key exchange. In the protocol, Alice chooses a random a ← ZN and computes A = ga, and Bob chooses a random b ← ZN and computes B = gb. Then the two parties exchange A,B. In most treatments, Diffie-Hellman is a non- interactive key exchange (NIKE), which means that A and B are sent simultaneously. Alice then computes the secret key K = gab = Ba and Bob computes K = gab = Ab. By the DDH assumption, an eavesdropper who learns A,B can learn nothing about K. The key issue here is that Alice and Bob need to know g in order to generate their first message. So if we want one of them, say Alice, to come up with the generator, the result is an interactive protocol with Alice sending the first message, and only then can Bob send his. Therefore, in addition to requiring slightly more communication, Option 3 actually changes the nature of the protocol. What we see is that Diffie-Hellman can only remain a setupless NIKE under the f-DDH assumption. Now, it is possible to alter Diffie-Hellman to work with CDH by extracting hardcore bits from the unpredictable key. By the equivalence of f-CDH and r-CDH in known prime-order groups, we can obtain a setupless NIKE protocol from r-CDH (and hence also r-DDH). In groups of unknown order, however, this does not apply. As our main technical result from this section, we give evidence that in groups where the totient of the order is unknown, r-CDH alone is insufficient for constructing setupless NIKE. This is formalized by assuming that f-CDH is easy and demonstrating an attack on a wide class of key agreement protocols that generalize the classical Diffie-Hellman protocol. 1.3.3 Part 3: Random-Generator Discrete-Log and CDH with Preprocessing. A recent line of works [Mih, LCH11, BL13, CK18, CDG18] have explored non-uniform attacks on various problems in cryptographic groups. Here, a computationally expensive offline pre-processing stage generates an advice string, which in a later online stage can be used to speed up computation in the group. We are interested in the relationship between the length S of the advice string, the running time T of the online stage, the group order N , and the success probability Îľ. 6 Very recently, Corrigan-Gibbs and Kogan [CK18] seemingly resolve the non-uniform hardness of the discrete logarithm problem. Namely, they show in the generic group model that Îľ = Õ(ST 2/N), where the Õ hides logarithmic factors. This matches known upper bounds (attacks) up to logarithmic factors. However, all the works in this line (both lower bounds and attacks) only consider the fixed generator version of discrete log. Corrigan-Gibbs and Kogan briefly mention this, concluding that “using a fixed generator is essentially without loss of generality” since a discrete log with respect to one generator can be solved by solving two discrete logs with respect to a different generator. When considering just polynomial reductions between problems, the above is certainly true. However, when it comes to precisely quantifying hardness, the problem no longer remains identical for different gener- ators. In particular, suppose we have an algorithm that solves discrete log with respect to generator g with probability Îľ and we want to solve a discrete log instance with respect to generator h = gr. To do so, on input hx, we apply the algorithm twice to find the discrete logs of h and hx with respect to g. This gives r and rx, allowing us to solve for x. But since we needed to solve both instances correctly, our overall success probability is only Îľ2. Of course if Îľ is a constant so is Îľ2, but in the low success probability regime, squaring the advantage significantly changes the hardness of the problem. We resolve the question of the hardness of random-generator discrete log in the pre-processing setting, showing that Îľ = Θ̃ ( T 2 N + S2T 4 N2 ) . The attack side is simple: there are two natural ways to attack a random-generator discrete log instance h, hx. One is to ignore the pre-processing, and apply the Baby-step Giant-step algorithm, with success Ω(T 2 N ). The other is to use the pre-processing to solve two discrete log instances relative to some fixed generator g, in the manner described above. This gives success Ω((ST 2 N )2), as shown in [CK18]. By choosing which algorithm to use based on the parameters S, T,N , one obtains Îľ = Ω ( T 2 N + S2T 4 N2 ) . On the other hand, to prove the lower bound we need to show, essentially, that the two algorithms above are the only possible algorithms. This does not follow from the analysis of [CK18]. Instead, we use the tools developed in subsequent works [CDGS18, CDG18] (based on the earlier pre-sampling techniques developed by Unruh [Unr07] for the Random Oracle model) to switch to a “bit-fixing” model, where we then show the optimality of the algorithms. In addition, we show that the same relationship holds as well for r-CDH. Generically, auxiliary input r-CDH is as hard as either using the auxiliary information to solve two discrete logarithms, or ignoring the input and solving one discrete logarithm. 1.4 Part 4: Low-Entropy Fixed-Generator Assumptions Background: Point Obfuscation from Low-Entropy Assumptions. Our discussion thus far has focused on Discrete Log/Diffie-Hellman-type assumptions where ga, gb are uniformly random group elements. However, the security of many important cryptographic applications often relies on a stronger version of these assumptions in which a and/or b might not be drawn uniformly at random. Canetti’s construction of point function obfuscation is perhaps the most well-known example.9 A point function fx(¡) is a boolean function that accepts on x and rejects on all other inputs. Roughly speaking, an obfuscated point function O(fx(¡)) implements the same input/output functionality as fx(¡), but leaks no information about x beyond what can be learned through black-box oracle queries to fx(¡). In other words, the obfuscated program acts as a virtual black box for evaluating the function.10 Canetti’s point function obfuscator is simple: to obfuscate fx(¡), draw a random group element gb and output (gb, gxb). Evaluation on input y is done by computing (gb)y and accepting if it matches gxb. The security of this construction follows from an assumption Canetti refers to as DHI-II (in subsequent works it has been renamed to “DDH-II”; we will adopt this name), which states that (g, ga, gb, gab) ≈C (g, ga, gb, gc) where g is a random generator, b, c are chosen uniformly at random, and a has super-logarithmic 9Canetti’s results [Can97] were originally described in the language of “oracle hashing”; the equivalence to point function obfuscation was later pointed out by Wee [Wee05]. We describe Canetti’s results in Wee’s terminology. 10We defer a more detailed discussion on virtual-black-box obfuscation to [BGI+01] (see [Wee05] for specifics on point function obfuscation). 7 min-entropy, i.e. it is sampled from a well-spread distribution D. We stress that DDH-II is technically an infinite family of assumptions, since it requires indistinguishability if D is any well-spread distribution (even ones that are not efficiently sampleable). Under DDH-II, the obfuscated program (gb, gxb) hides all information about the point x as long as x is drawn from a well-spread distribution, since gxb is indistinguishable from gc. This immediately implies a notion of average-case virtual-black-box (VBB) security. Canetti proves that if a point function obfuscator is average-case VBB for any well-spread distribution, this implies full (worst-case) VBB security. It was later shown by Wee ([Wee05], Section 4.2) that Canetti’s approach is essentially inherent: VBB-secure point function obfuscation requires strong assumptions that are hard for any well-spread distribution. Background: Non-Malleable Point Obfuscation. Canetti’s original motivation for studying point ob- fuscation was to realize useful properties of random oracles [BR93] in the standard model. If H(¡) is a random oracle, observe that H(x) is a secure point obfuscation of fx(¡), where evaluation is a single random oracle call followed by a comparison. Komargodski and Yogev [KY18a] observe that the random oracle obfuscator H(x) satisfies a strong non-malleability property, in the sense that given H(x) it is impossible to compute H(f(x)) for any (meaningfully) related point f(x), without first recovering x. This property is missing from Canetti’s point obfuscator [Can97], e.g. since given (gb, gxb), one can easily compute (gb, g(x+1)b), which is an obfuscation of the related point f(x) = x+ 1. Komargodski and Yogev [KY18a] propose the following modification to Canetti’s point obfuscator. To obfuscate the point x, sample a random b and output (gb, (gb)g x4+x3+x2+x ). Note that for this expression to make sense, gx 4+x3+x2+x must be mapped back into the exponent space under some fixed public mapping. Evaluation on input y is done by computing gy 4+y3+y2+y, mapping this element back to the exponent space and raising gb to that power, and finally comparing to (gb)g x4+x3+x2+x . Komargodski and Yogev [KY18a] argue their obfuscation resists bounded-degree polynomial mauling attacks, in which an adversary given an obfuscation of x attempts to produce an obfuscation of P (x) for some bounded-degree polynomial P (¡). Roughly, the intuition is that the adversary cannot replace gb with any other gb ′ , since generating (gb ′ )g P (x) does not appear possible given only (gb)g x4+x3+x2+x . But if the adversary cannot change gb, the argument is that the linear constraints imposed by the form of x4 + x3 + x2 + x make it impossible to replace x with P (x). Formally, security in [KY18a] is proved under the newly introduced “Strong Power DDH” assumption, which states it is hard to distinguish gx, gx 2 , . . . , gx ` from ` random group elements, if x is drawn from any well-spread distribution. Fixed-Generator Strong Power DDH is False. In stating the assumption, Komargodski and Yo- gev [KY18a] do not specify how g is chosen or the relationship between g and the distribution over x. We observe that if g is a fixed generator, then their assumption is false. For a uniformly random group element, there must be some bit in its description with noticeable entropy. If it is bit i, we let D be the distribution over all points x such that the ith bit of the description of gx is 0. Then D has high min-entropy, and moreover gx for x← D is distinguishable from a random group element by inspecting the ith bit. If the assumption is taken in its random-generator formulation, the security proof in [KY18a] breaks down, since an adversary can potentially replace g with a different generator g′. A natural idea to fix the construction would be to generate g using a public source of randomness.11 However, this would move the construction into the CRS model, where strong non-malleability results were previously known [CV09]. Fixin";"""date"",""2019-03-05T18:52:39Z"" ""pdf:PDFVersion"",""1.5"" ""pdf:docinfo:title"","""" ""xmp:CreatorTool"",""LaTeX with hyperref package"" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""subject"","""" ""language"",""en"" ""dc:format"",""application/pdf; version=1.5"" ""pdf:docinfo:creator_tool"",""LaTeX with hyperref package"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"","""" ""modified"",""2019-03-05T18:52:39Z"" ""cp:subject"","""" ""pdf:docinfo:subject"","""" ""pdf:hasMarkedContent"",""false"" ""pdf:docinfo:creator"","""" ""PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017) kpathsea version 6.2.3"" ""meta:author"","""" ""trapped"",""False"" ""meta:creation-date"",""2019-03-05T18:52:39Z"" ""created"",""2019-03-05T18:52:39Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2019-03-05T18:52:39Z"" ""resourceName"",""202.pdf"" ""Author"","""" ""producer"",""pdfTeX-1.40.18"" ""pdf:docinfo:producer"",""pdfTeX-1.40.18"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""7"",""1"",""14"",""5"",""0"",""0"",""14"",""0"",""23"",""7"",""5"",""6"",""13"",""39"",""72"",""148"",""19"",""27"",""17"",""4"",""41"",""8"",""47"",""19"",""23"",""20"",""29"",""32"",""29"",""32"",""39"",""0"",""0"",""0"",""0"" ""Keywords"","""" ""access_permission:modify_annotations"",""true"" ""dc:creator"","""" ""dcterms:created"",""2019-03-05T18:52:39Z"" ""Last-Modified"",""2019-03-05T18:52:39Z"" ""dcterms:modified"",""2019-03-05T18:52:39Z"" ""title"","""" ""Last-Save-Date"",""2019-03-05T18:52:39Z"" ""pdf:docinfo:keywords"","""" ""pdf:docinfo:modified"",""2019-03-05T18:52:39Z"" ""meta:save-date"",""2019-03-05T18:52:39Z"" ""pdf:docinfo:custom:PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017) kpathsea version 6.2.3"" ""Content-Length"",""644433"" ""Content-Type"",""application/pdf"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"","""" ""dc:subject"","""" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""39"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""2475"",""3402"",""3689"",""3458"",""2958"",""3671"",""3929"",""3807"",""3991"",""3630"",""2841"",""3235"",""3081"",""2094"",""3406"",""3247"",""3128"",""3108"",""2470"",""3156"",""2777"",""2176"",""2496"",""2478"",""2735"",""2655"",""2187"",""2429"",""1831"",""2936"",""2283"",""2075"",""2790"",""2846"",""3098"",""2718"",""2783"",""2593"",""481"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""pdf:docinfo:trapped"",""False"" ""meta:keyword"","""" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2019-03-05T18:52:39Z"" ";https://scholar.google.com/scholar?start=700&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094583-834;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Subverting decryption in AEAD;M Armour, B Poettering ; IMA International Conference on Cryptography …, 2019 Springer;;"… k_\mathsf {A}\) and has oracle access to both encryption and decryption oracles in the … associated data were generated using the random.getrandbits method from the Crypto.Random library … The expected number of calls to the transcript oracle for successful exfiltration is given …";Cité 6 fois;Les 5 versions;[PDF] royalholloway.ac.uk;https://pure.royalholloway.ac.uk/portal/files/35814548/main.pdf;" Subverting Decryption in AEAD? Marcel Armour1(B) and Bertram Poettering2[0000−0001−6525−5141] 1 Royal Holloway, University of London, Egham, UK 2 IBM Research – Zurich, Switzerland marcel.armour.2017@rhul.ac.uk poe@zurich.ibm.com Abstract. This work introduces a new class of Algorithm Substitution Attack (ASA) on Symmetric Encryption Schemes. ASAs were introduced by Bellare, Paterson and Rogaway in light of revelations concerning mass surveillance. An ASA replaces an encryption scheme with a subverted version that aims to reveal information to an adversary engaged in mass surveillance, while remaining undetected by users. Previous work posited that a particular class of AEAD scheme (satisfying certain correctness and uniqueness properties) is resilient against subversion. Many if not all real-world constructions – such as GCM, CCM and OCB – are members of this class. Our results stand in opposition to those prior results. We present a potent ASA that generically applies to any AEAD scheme, is undetectable in all previous frameworks and which achieves successful exfiltration of user keys. We give even more efficient non-generic at- tacks against a selection of AEAD implementations that are most used in practice. In contrast to prior work, our new class of attack targets the decryption algorithm rather than encryption. We argue that this attack represents an attractive opportunity for a mass surveillance adversary. Our work serves to refine the ASA model and contributes to a series of papers that raises awareness and understanding about what is possible with ASAs. Keywords: Algorithm Substitution Attacks ¡ Privacy ¡ Symmetric Encryption ¡ Mass Surveillance 1 Introduction The Snowden revelations in 2013 exposed that mass surveillance is a reality. They also showed that even sophisticated adversaries with large resources have been unable to break well established cryptographic primitives and hardness as- sumptions, shifting their focus to circumventing cryptography. Together, these ? The research of Armour was supported by the EPSRC and the UK government as part of the Centre for Doctoral Training in Cyber Security at Royal Holloway, University of London (EP/P009301/1). The research of Poettering was supported by the European Union’s Horizon 2020 project FutureTPM (779391). The full version of this article is available at https://eprint.iacr.org/2019/987 [3]. https://eprint.iacr.org/2019/987 two facts suggest that the study of subverted implementations of cryptographic primitives and protocols is a fruitful area of research; Rogaway has gone so far as to call it a moral imperative [23]. The reader is referred to the survey by Schneier et al. [28], which provides a broad overview of subversion of cryptography, with some useful case studies. The idea that an adversary may embed a backdoor or otherwise tamper with the implementation or specification of a cryptographic scheme or primitive predates the Snowden revelations, and was initiated in a line of work by Young and Yung that they named kleptography [30,31]. This area of study can be traced back to Simmons’ work on subliminal channels, e.g. [29], undertaken in the context of nuclear non-proliferation during the Cold War. In the original conception, kleptography considered a saboteur who designs a cryp- tographic algorithm whose outputs are computationally indistinguishable from the outputs of an unmodified trusted algorithm. The saboteur’s algorithm should leak private key data through the output of the system, which was achieved using the same principles as Simmons’ earlier subliminal channels. Preceding Work. Post-Snowden, work in this area was reignited by Bellare, Paterson and Rogaway (BPR) [8], who formalised study of so-called algorithm substitution attacks (ASAs) through the specific example of symmetric encryp- tion schemes. In abstract terms, the adversary’s goal in an ASA is to create a subverted implementation of a scheme that breaks some aspect of security (such as IND-CPA) while remaining undetected by the user. There is a tension for ‘Big Brother’ between mounting a successful attack and being detected; clearly an attack that simply replaces the encryption algorithm with one that outputs the messages in plaintext would be devastating yet trivially detectable. BPR stipu- late that subverted schemes should at the very least decrypt correctly (according to the unmodified specification) in order to have some measure of resistance to detection, going on to define the success probability of a mass surveillance ad- versary in carrying out a successful attack, as well as the advantage of a user in detecting that an attack is taking place. BPR [8] demonstrate an attack against randomized schemes that relies on influencing the randomness generated in the course of encryption. Their attack applies to a sub-class of randomized schemes satisfying a property they call ‘coin-injectivity’. Lastly, BPR also establish a positive result that shows that under certain assumptions, it is possible for au- thenticated encryption schemes to provide resistance against subversion attacks. Degabriele, Farshim and Poettering (DFP) [12] critiqued the definitions and underlying assumptions of BPR. Their main insight is that perfect decryptability —as mandated by BPR— is a very strong requirement and artificially limits the adversary’s set of available strategies. In practice, a subversion with negligible failure probability should be considered effectively correct.3 As DFP note, de- cryption failures may happen for reasons other than subverted encryption, and if they occur sporadically may easily go unnoticed. DFP demonstrate how this can be achieved with an input-triggered subversion, where the trigger is some input 3 This is analogous to the fundamental notion in cryptography that a symmetric en- cryption scheme be considered secure even in the presence of adversaries with neg- ligible advantage. (message, associated data, nonce, or a combination thereof) that is difficult to guess, making detection practically impossible. Bellare, Jaeger and Kane (BJK) [6] improved on the attack of BPR, giving an attack which is effective against all randomized schemes. Whereas the attack of BPR is stateful and so vulnerable to detection through state reset, the BJK attack is stateless. BJK furthermore formalised that the desired outcome of an ASA from the point of view of a mass surveillance adversary is successful key recovery. In concurrent work, we study the effects of subverting the receiver in the setting of message authentication codes [1,2]. Using similar techniques as in the current report, we provide ASAs that result in successful key exfiltration and thus universal forgeries. Contributions. Our work continues a line of investigation that serves to raise awareness of what is possible with ASAs, and highlights the importance of work countering subverted implementations. We consider ASAs from a new perspec- tive that leads to results of practical importance. Recall that BPR established a covert channel through ciphertexts by manipulating the randomness generation; their model stipulated perfect decryptability, which resulted in their definitions being fragile. DFP identified this and proposed tolerating a (minimal) compro- mise of correctness, allowing trigger messages. We note that attacks employing trigger messages appear trivial to plant in formal security abstractions like IND- CPA where the adversary has full control over encrypted messages, associated data, and nonces. In practice, however, it is certainly questionable that adver- saries have enough influence on any of the three to conduct DFP style attacks, as messages are chosen in special formats mandated by applications, nonces are im- plemented via counters, etc. We remove these dependencies, complementing the DFP approach, by attacking from a different angle: leaving perfect correctness intact, we (minimally) limit ciphertext integrity and establish a covert chan- nel through decryption error events. Concretely, we manipulate the decryption algorithm to accept certain bogus ciphertexts. This requires the surveillance ad- versary to be able to observe whether a decryption implementation outputs a message or rejects the ciphertext. In many practical scenarios this is a mild as- sumption, for example if a decryption error results in a packet being dropped and automatically retransmitted. Furthermore, a subverted decryption algorithm could go beyond this by e.g. influencing timing information in future messages sent to the network. We conclude that this attack represents an attractive and easy to implement opportunity for a mass surveillance adversary. Our results stand in opposition to previous work [8,12,6] which proposed subversion resilience of a large class of AEAD schemes to which many if not all real-world constructions such as GCM, CCM and OCB belong, as long as their nonces are generated deterministically via a shared state maintained by both encryptor and decryptor.4 The key observation to resolve this apparent contradiction is that previous work has assumed, besides explicitly spelled out 4 The members of this class of schemes are deterministic and satisfy certain technical correctness and uniqueness properties. requirements like uniqueness of ciphertexts and perfect decryptability, implicit notions such as integrity of ciphertexts. In the ASA setting for AEAD where undermining the confidentiality of a scheme is the key goal of an adversary, it seems just as natural to assume that the adversary is also willing to compromise the integrity guarantees as well. Related Work. We outlined the key publications on ASAs against symmetric encryption schemes above. Other works, briefly described here, consider subver- sion on different primitives and in different contexts. Berndt and Liskiewicz [9] reunite the fields of cryptography and steganography. Ateniese, Magri and Ven- turi [4] study ASAs on signature schemes. In a series of work, Russell, Tang, Yung and Zhou [24,25,26,27] consider ASAs on one-way functions, trapdoor one- way functions and key generation as well as defending randomized algorithms against ASAs. Goh, Boneh, Pinkas and Golle [18] show how to add key recovery to the SSL/TLS and SSH protocols. Dodis, Ganesh, Golovnev, Juels and Ris- tenpart [13] provide a formal treatment of backdooring PRGs, another form of subversion. Armour and Poettering [1,2] study subversion options for message authentication schemes (MAC). Cryptographic reverse firewalls [21,14,20] rep- resent an architecture to counter ASAs via trusted code in network perimeter filters. Fischlin and Mazaheri show how to construct ASA-resistant encryption and signature algorithms given initial access to a trusted base scheme [17]. Fis- chlin, Janson and Mazaheri [16] show how to immunize (keyed and unkeyed) hash functions against subversion. Bellare, Kane and Rogaway [7] explore using large keys to prevent key exfiltration in the symmetric encryption setting. Bel- lare and Hoang [5] give public key encryption schemes that defend against the subversion of random number generators. Camenisch, Drijvers and Lehmann [11] consider Direct Anonymous Attesta- tion (DAA) in the presence of a subverted Trusted Platform Module (TPM). We note that subversion attacks on cryptographic primitives (on DAA, but just as well on message authentication as considered in the present article) manifest a major attack vector in particular against embedded cryptographic hardware modules like TPMs. This is because the main goal of such modules is to serve as a root of trust in exposed devices for which losing system integrity could be fatal. Subverting a TPM can thus have severe implications. As TPMs are widely available today, including for being embedded into virtually every modern PC, subverting them seems to be a promising option to conduct mass surveillance. Structure. We first recall (Sect. 2) standard definitions for symmetric encryp- tion schemes and their security. We next give definitions (Sect. 3) that provide a general framework in which to study ASAs. These have been refined and ex- tended from prior work, crucially including the decryption oracle which had been ignored by previous work. Sect. 4 details our new type of attack, together with formal theorems quantifying the ability of an adversary to exfiltrate keys and the ability of the subversion to go undetected. We give two versions of our ASA: one for a passive adversary (the adversarial model considered by previous work), which we extend to a second ASA requiring an active trigger: a mod- ified ciphertext provided to the decryption algorithm. We discuss the results of a proof-of-concept implementation in Sect. 5. Lastly, Sect. 6 explains how our attacks can be leveraged to compromise the security of popular practical schemes even more effectively, demonstrating how powerful ASAs become when conducted outside the clearly demarcated boundaries of a formal model. Con- cretely, we give evidence that ASAs against standardized AEAD constructions like GCM or OCB3 can be even more damaging than our attacks from Sect. 4. 2 Notation and Definitions Notation. For a natural number k ∈ N, we let [k] = {0, 1, . . . , k − 1}. We refer to an element x ∈ {0, 1}∗ as a string, and denote its length by |x|. By Îľ we denote the empty string. The set of strings of length ` is denoted {0, 1}`. In addition we denote by ⊥ /∈ {0, 1}∗ a reserved special symbol. For x ∈ {0, 1}∗, we let x[i] denote the i-th bit of x, with the convention that we count from 0, i.e., we have x = x[0] . . . x[|x|−1]. For two strings x, x′ we denote by x ‖ x′ their concatenation. If S is a finite set, then s←$ S denotes choosing s uniformly at random from S. If A is a randomized algorithm, we write y ←$ A(x) to indicate that it is invoked on input x (and fresh random coins), and the result is assigned to variable y. In security games we write AO1,...,Oc =⇒ 1 to denote the event that the adversary outputs 1 after being given access to the c oracles. In Appendix A, we recall standard definitions for (length-preserving) pseudo- random functions and permutations. 2.1 Symmetric Encryption We focus on the likely most widespread and practically useful encryption prim- itive: Authenticated Encryption with Associated Data (AEAD). We recall stan- dard definitions of (deterministic) nonce-based AEAD, as per [22]. AEAD. A symmetric encryption scheme Π providing authenticated encryption with associated data is a triple of algorithms (Π.Gen,Π.Enc,Π.Dec). Associated to Π are two parameters, Π.kl and Π.nl, representing the key length and the nonce length. The key generation algorithm Π.Gen is a probabilistic algorithm that takes as input the key length Π.kl and returns a key k ∈ {0, 1}Π.kl. Often Π.Gen is taken as the algorithm choosing k uniformly at random from {0, 1}Π.kl. The encryption algorithm Π.Enc is deterministic and takes key k, message m, associated data d and nonce n ∈ {0, 1}Π.nl to deterministically obtain cipher- text c ← Π.Enc(k,m, d;n). Decryption algorithm Π.Dec is deterministic and Π.Dec(k, c, d;n) returns either a message m or the special symbol ⊥. For sim- plicity, we assume that |Π.Enc(k,m, d;n)| is an affine function of the form |m|+τ where τ is some constant associated to the encryption scheme (all practical en- cryption schemes are of this type). We call τ the stretch of the encryption scheme. Lastly, where the context is clear, we drop the prefix Π. Definition 1. A symmetric encryption scheme Π is said to be δ-correct if for all tuples (m, d;n) it holds that: Pr [m 6= m′ | k ←$ Gen(kl), c← Enc(k,m, d;n),m′ ← Dec(k, c, d;n)] ≤ δ. If δ = 0 the scheme is referred to as being perfectly correct. The classic privacy notion used for AEAD is indistinguishability from ran- dom bits under an adaptive chosen-plaintext-and-nonce attack, utilising stan- dard game-based definitions. For the authenticity notion, we consider adversaries that aim to create (strong) forgeries. Security notions are as in [22]. Intuitively, the scheme provides confidentiality if the privacy advantage of any realistic ad- versary is negligible and authenticity if the forging advantage of any realistic adversary is negligible. Definition 2. The privacy advantage of an adversary A is given by Advpriv Π (A) = Pr [ AEnc(k,¡,¡;¡) =⇒ 1 | k ←$ Gen(kl) ] − Pr [ A$(¡,¡;¡) =⇒ 1 ] , where the $ oracle returns c←$ {0, 1}|m|+τ for any query $(m, d;n). We assume that A is nonce-respecting; that is, A does not make two queries with the same nonce. Definition 3. The authenticity advantage of an adversary A is given by Advauth Π (A) = Pr [ AEnc(k,¡,¡;¡),Dec(k,¡,¡;¡) forges | k ←$ Gen(kl) ] , where we say that A forges if it receives any m′ 6= ⊥ from Dec where we require that (c, d;n) is not the result of an encryption query (m, d;n). We assume that A is nonce-respecting; that is, A does not make two encryption queries with the same nonce. 3 ASAs on Symmetric Encryption Schemes We now outline the framework which will allow us to describe our concrete ASAs in Sect. 4. The aim of an ASA is to replace a given (symmetric encryption) scheme with a compromised version; if the original scheme is denoted Π, we write Π̃ for its subversion. The attacker may choose to replace one component of the scheme, or multiple. We model the subverted scheme as having an embedded attacker key which is shared with an external (mass surveillance) adversary. This approach was first used by BPR [8]. From the attacker’s perspective, the ASA should be undetectable by the user and result in effective surveillance. We formalise these notions as detectability and key recovery. Our definitions are inherited from prior work [8,6,12]. Whereas previous work assumed that only the encryption algorithm might be subverted, we have generalised the definitions to reflect the possibility that any component (one or multiple) of the symmetric Game DetΠ,Π̃(D) kA ←$ A.Gen b←$ {0, 1}, b′ ←$ DOGen,OEnc,ODec return (b = b′) OGen(kl) if (b = 1) then k ←$ Π.Gen(kl) else k ←$ Π̃.Gen(kA, kl) return k OEnc(k,m, d;n) if (b = 1) then c← Π.Enc(k,m, d;n) else c← Π̃.Enc(kA, k,m, d;n) return c ODec(k, c, d;n) if (b = 1) then m← Π.Dec(k, c, d;n) else m← Π̃.Dec(kA, k, c, d;n) return m Fig. 1. Game to define the detectability advantage of D with respect to Π̃,Π. encryption scheme could be subverted, and adapted to explicitly consider AEAD schemes. We broadly follow the notational choices of BJK [6]. ASA Syntax. An algorithm substitution attack A on a scheme Π consists of a triple (A.Gen,A.Ext, Π̃), where: 1. The attacker key generation algorithm A.Gen returns an attacker key kA ∈ {0, 1}A.kl for some constant A.kl. 2. Π̃ = (Π̃.Gen, Π̃.Enc, Π̃.Dec) is a subverted symmetric encryption scheme. (a) The subverted key generation algorithm Π̃.Gen is a probabilistic algo- rithm that takes as input the key length Π̃.kl and the attacker key kA, returning a key k ∈ {0, 1}Π̃.kl. (b) The subverted encryption algorithm Π̃.Enc takes the attacker key kA, user key k, message m, associated data d and nonce n ∈ {0, 1}Π̃.nl, out- putting ciphertext c← Π̃.Enc(kA, k,m, d;n). (c) The subverted decryption algorithm Π̃.Dec(kA, k, c, d;n) returns either a message m or the special symbol ⊥. 3. The key extraction algorithm A.Ext takes as input kA and has oracle access to both encryption and decryption oracles in the case of an active adversary, or to a transcript of ciphertexts in the case of a passive adversary. These notions are formalised in the key recovery game in Fig. 2. The output of this algorithm is a key k ∈ {0, 1}Π̃.kl. We require that Π̃.kl = Π.kl and Π̃.nl = Π.nl, as the subverted algorithm would otherwise be trivially detected. As in previous work, we assume throughout that the key generation is unsubverted, but we retain a syntax that allows for the more general case. Detectability. In the formal notion of detectability, we allow a distinguisher D to interact with subverted encryption, subverted decryption and (for generality) subverted key generation. We assume that the distinguisher has access to its own reference copy of the unsubverted algorithms. It wins if it can distinguish between the base scheme and the subverted scheme in the game defined in Fig. 1. The detectability advantage of D with respect to Π, Π̃ is given by Advdet Π,Π̃ (D) = 2 ¡ Pr [ DetΠ,Π̃(D) ] − 1. This definition is adapted from strong undetectability of [6]. Notice that (infor- mally) a ‘hard-to-detect’ subversion of a perfectly correct base scheme necessarily satisfies some correctness condition. To see this, suppose that the subversion does not satisfy δ-correctness: it is detectable with probability at least δ. Key Recovery. Following [6], recovering the user’s secret key is a strong prop- erty for an attacker. We give two flavours of the key recovery game, one for passive adversaries PassiveKR and one for active adversaries ActiveKR, as given in Fig. 2. In the passive case, we allow the adversary to observe ciphertexts and whether they are rejected. This is formalised through the transcript oracleOTrans. For the active case, we allow the attacker to generate valid ciphertexts via OEnc and interact with a decryption oracle ODec that reveals whether a submitted ciphertext is rejected. Both games are parametrised by a message sampler algo- rithmM. Given its current state σ,M returns the next message with associated data (m, d) to be encrypted, together with a nonce n ∈ {0, 1}Π.nl and an updated state. It represents the choice of messages made by the sender. For simplicity, we model M as non-adaptive and nonce-respecting. It could be argued that a more realistic model might take into account that the adversary could influence the user’s choice of messages to be encrypted. However, in constructing attacks we assume the weakest properties of the attacker. Adversary A wins if A.Ext recovers the user’s key k after interacting with the subverted encryption scheme. The key recovery advantage of A with respect to Π̃ andM is given by Advkr Π̃,M (A) = Pr [ KRΠ̃,M(A) ] , where KRΠ̃,M(A) refers to the appropriate key recovery game according to whether the adversary is passive or active. 4 Mounting Attacks via Decryption Subversion We now detail our ASAs, first for a passive surveillance adversary and then in the active case. It is easy to see that the attacks are undetectable according to the models in the literature [8,6,12], as the encryption algorithm is not subverted. Imagine that Alice communicates with Bob. A passive adversary can observe ciphertexts from Alice to Bob. In addition, an active adversary can replace ci- phertexts in transmission and submit its own (forged) ciphertexts to Bob. In the passive attack, the decryption algorithm is subverted so that it rejects a fraction of valid ciphertexts, bounded by an attacker controlled parameter. In the active attack, the decryption algorithm is subverted so that it accepts a (similarly bounded) fraction of invalid ciphertexts. The active attack requires Game ActiveKRΠ̃,M kA ←$ A.Gen k ←$ Π̃.Gen(Π̃.kl), σ ← Îľ k′ ←$ A.ExtOEnc,ODec (kA) return (k′ = k) OEnc() (m, d, n, σ)←$ M(σ) c← Π̃.Enc(kA, k,m, d;n) return (c, d, n) ODec(c, d;n) m← Π̃.Dec(kA, k, c, d;n) return (m = ⊥) Game PassiveKRΠ̃,M kA ←$ A.Gen k ←$ Π̃.Gen(Π̃.kl), σ ← Îľ k′ ←$ A.ExtOTrans (kA), return (k′ = k) OTrans() (m, d, n, σ)←$ M(σ) c← Π̃.Enc(kA, k,m, d;n) m← Π̃.Dec(kA, k, c, d;n) return (c, d, n, (m = ⊥)) Fig. 2. Game to define the key recovery advantage of A with respect to Π̃ andM. the adversary to send Bob bogus ciphertexts (derived from genuine ciphertexts) that reveal Bob’s secret key using decryption errors. Normally, these bogus ci- phertexts are unlikely to decrypt correctly, i.e., they would be rejected. In both cases, if the decryptor is subverted then either real ciphertexts (in the passive case) or bogus ciphertexts (in the active case) can either be accepted or rejected, creating via the acceptance/rejection pattern a covert channel that will allow the key to be exfiltrated. From the point of view of a mass surveillance adversary this is an attractive prospect: having passively collected all communications, triggered by some sus- picion they can now target Alice and Bob’s communication. By recovering Bob’s key they may now decrypt all of the stored communication between Alice and Bob (and indeed from Bob to Alice as well). We note that both of our attacks are stateless, which not only allows for much easier backdoor implementation from a technical perspective but also should decrease the likelihood that an implemented attack is detected through code review or observing memory usage. 4.1 Attack 1: Passive Consider the following subversion of a given symmetric encryption scheme (Π.Gen,Π.Enc,Π.Dec). Let Π̃.Gen = Π.Gen and Π̃.Enc = Π.Enc. Let A.Gen choose a key kA by kA ←$ {0, 1}A.kl. Algorithms Π̃.Dec and A.Ext are then spec- ified in Fig. 3. The subverted decryptor Π̃.Dec takes the same input as Π.Dec together with the attacker key, and utilises a pseudo-random function5 F with F : {0, 1}A.kl×{0, 1}∗ → [Π.kl]×{0, 1}. In A.Ext, we use the symbol ? as a ternary 5 See Appendix A for definitions of pseudo-random functions and length-preserving pseudo-random permutations. Algorithm Π̃.Dec(kA, k, c, d;n) 1: parse F (kA, c ‖ d) as i ‖ b 2: if k[i] = b and B(δ) then 3: return ⊥ 4: else 5: return Π.Dec(k, c, d;n) Algorithm A.ExtOTrans (kA) 1: ∀i ∈ [Π.kl], key[i]← ? 2: while ∃j : key[j] = ? do 3: (c, d, v)← OTrans 4: if (v = 1) then 5: parse F (kA, c ‖ d) as i ‖ b 6: if (key[i] = ?) then 7: key[i]← b 8: return key Fig. 3. Passive ASA against AEAD symbol (neither 0 nor 1) to keep track of which key bits have been collected. In line 2 of the algorithm for Π̃.Dec, we write B(δ) to denote a Bernoulli trial which returns 1 with probability δ. Key extractor A.Ext takes as input the attacker key and the transcript, consisting of triples (c, d, n, v) where v is a bit representing whether or not the ciphertext decrypts to ⊥. Theorem 1. Let Π be a perfectly-correct symmetric encryption scheme and let ` = Π.kl. Let Π̃.Dec and A.Ext be defined as in Fig. 3. Let M be a message sampling algorithm, and F : {0, 1}A.kl × {0, 1}∗ → [`] × {0, 1} be a PRF with Advprf F (F) < Îľ for all efficient adversaries F . Then (1) Advkr Π̃,M (A) ≥ 1− `e− qδ 2` , where q is the number of queries that A.Ext makes to the transcript oracle. (2) For all distinguishers D, Advdet Π,Π̃ (D) ≤ δq 2 (1 + Îľ) where D makes q queries to its decryption oracle. Proof of (1). We use a combinatorial argument. Notice that this is essentially a coupon collection problem. We are looking for the probability that every key bit has been exfiltrated. If we fix i key bits that are not exfiltrated, there are( ` i ) ways to choose those fixed key bits. The probability that (at least) i of the key bits have not been exfiltrated is given by ( ` i ) (1 − iδ 2` ) q. Using the principle of inclusion exclusion, the probability that no key bit has not been exfiltrated is given by Advkr Π̃,M (A) = ∑̀ i=0 (−1)i ( ` i )( 1− iδ 2` )q ≥ 1− ` ( 1− δ 2` )q ≥ 1− `e− qδ 2` . ut Proof of (2). Clearly, the only way to distinguish between Π and Π̃ is to observe Π̃.Dec output ⊥. Thus in order to distinguish, D must find (m, d;n) such that ⊥ = ODec(k, c, d;n) for c ← Π.Enc(k,m, d;n). This reduces to D finding some c ‖ d such that F (kA, c ‖ d) = i ‖ k[i] for some index i. Call this event W . Notice that for any F it holds that for all kA, c, d we have F (kA, c ‖ d) = i ‖ b for some index i and bit b. We note that Pr [W ] ≤ Pr [PRFF (F)] for all PRF adversaries F . If not, it would be possible for F to act as a challenger to D and win its prf game whenever W occurs. Thus, Advdet Π,Π̃ (D) = Pr [ DetΠ,Π̃(D) | b = 1 ] + Pr [ DetΠ,Π̃(D) | b = 0 ] − 1 = 1− (1− δ ¡ Pr [W ])q ≤ 1− (1− δ ¡ Pr [PRFF (D)])q ≤ 1− ( 1− δ 2(1 + Advprf F (D)) )q ≤ 1− ( 1− δ 2(1 + Îľ) )q ≤ δq 2 (1 + Îľ). ut Remark. Whereas (un)detectability does depend on the security of the PRF, the PRF can be quite weak without much impacting the adversary’s key re- covery advantage. If the base scheme Π’s ciphertexts are indistinguishable from random (IND$), then the PRF could simply choose the first dlog(`)e + 1 many bits of the ciphertext. This seems paradoxical, as strong privacy security is usu- ally a desirable property but here it allows a simpler ASA to be successful. We note that in practice, the subverted decryption algorithm Π̃.Dec can be made more effective in a number of ways. Indeed, the model is very conservative and in practice it may be possible for A.Ext to observe a number of distinguish- able error messages following [10]. 4.2 Attack 2: Active Consider algorithms Π̃.Dec and A.Ext as specified in Fig. 4. The adversary A.Ext crafts special messages using a length-preserving pseudo-random permutation E under the attacker key6. We let E : {0, 1}A.kl×{0, 1}∗ → {0, 1}∗. The security of E will determine how easily the distinguisher D will be able to recreate a special message to trigger Π̃. Furthermore, as in the passive attack, Π̃.Dec makes use of a PRF F to determine whether or not to reject submitted ciphertexts. We let F : {0, 1}A.kl×{0, 1}∗ → [Π.kl]×{0, 1}. Although the notation implies keys are the same, we assume independent behaviour of F,E.7 We analyse this construction in the formal model defined by game ActiveKRΠ̃,M in Fig. 2. 6 See Appendix A for the definition of a length-preserving PRP. 7 Using only one key is just a trick to keep the notation compact. Algorithm Π̃.Dec(kA, k, c, d;n) 1: m← Π.Dec(k, c, d;n) 2: if (m 6= ⊥) then 3: return m 4: c̃← E−1(kA, c) 5: m← Π.Dec(k, c̃, d;n) 6: if (m = ⊥) then 7: return ⊥ 8: parse F (kA, c̃ ‖ d) as i ‖ b 9: if (k[i] = b) then 10: return m 11: else 12: return ⊥ Algorithm A.ExtOEnc,ODec (kA) 1: ∀i ∈ [Π.kl], key[i]← ? 2: while ∃j : key[j] = ? do 3: (c, d;n)← OEnc() 4: parse F (kA, c ‖ d) as i ‖ b 5: if (key[i] = ?) then 6: c̃← E(kA, c) 7: v ← ODec(c̃, d;n) 8: key[i]← b⊕ v 9: return key Fig. 4. Active ASA against AEAD Theorem 2. Let Π be a perfectly-correct symmetric encryption scheme and let ` = Π.kl. Let Π̃.Dec and A.Ext be defined as in Fig. 4. Let M be a message sampling algorithm. Let ` = Π.kl and Advauth Π < Îľ. Let F : {0, 1}A.kl × {0, 1}∗ → [`] × {0, 1} be a PRF with Advprf F (F) < 1 for all efficient adversaries F . Let E be a lp-PRP with E : {0, 1}A.kl × {0, 1}∗ → {0, 1}∗ and Advprp E (F ′) < ε′ for all efficient PRP adversaries F ′. Then (1) Advkr Π̃,M (A) ≥ 1 − `e− q ` (1−ε), where A.Ext makes exactly Π.kl calls to the decryption oracle and q calls to the encryption oracle. (2) For every distinguisher D, Advdet Π,Π̃ (D) ≤ q 2τ + ε′, where D makes q queries to its decryption oracle. Proof of (1). We use the same combinatorial argument as in Thm. 1. This time, the probability that (at least) i of the key bits have not been correctly exfiltrated is given by ( ` i ) [ (1− i ` ) + Îąi 2` ]q. Here Îą is the probability that Π.Dec(k, c̃, d;n) 6= ⊥ given that F−1(kA, c̃) = j ‖ k[j] for j in the set of indices being counted. We note that Advauth Π ≥ Îą. Advkr Π̃,M (A) = ∑̀ i=0 (−1)i ( ` i )[ (1− i ` ) + Îąi 2` ]q ≥ 1− ` ( 1 + 1 ` (Îą2 − 1) )q ≥ 1− `e− q ` (1−α2 ) ≥ 1− `e− q ` (1−ε). ut Proof of (2). As in Thm. 1, the only way to distinguish between Π and Π̃ is by ob- serving Π̃.Dec accepting a forged ciphertext. To do this, the distinguisher D must find some ciphertext c with associated data d such that F (kA, c̃ ‖ d) = i ‖ k[i] for some i ∈ [`] and where c̃ = E−1(kA, c). Noting that Advprf F (F) < 1, we thus obtain Pr [ DetΠ,Π̃(D) | b = 0 ] ≤ Pr [ D finds c with E−1(kA, c) = c̃ for some c̃ with Π.Dec(k, c̃, d;n) 6= ⊥, for some d, n ] Consider the following game, which we will refer to as the pre-image game. For b ∈ {0, 1} we define experiment b as follows: 1. The challenger ini";"""date"",""2020-01-06T16:05:49Z"" ""pdf:PDFVersion"",""1.5"" ""pdf:docinfo:title"","""" ""xmp:CreatorTool"",""LaTeX with hyperref package"" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""subject"","""" ""language"",""en"" ""dc:format"",""application/pdf; version=1.5"" ""pdf:docinfo:creator_tool"",""LaTeX with hyperref package"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"","""" ""modified"",""2020-01-06T16:05:49Z"" ""cp:subject"","""" ""pdf:docinfo:subject"","""" ""pdf:hasMarkedContent"",""false"" ""pdf:docinfo:creator"","""" ""PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017) kpathsea version 6.2.3"" ""meta:author"","""" ""trapped"",""False"" ""meta:creation-date"",""2020-01-06T16:05:49Z"" ""created"",""2020-01-06T16:05:49Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2020-01-06T16:05:49Z"" ""resourceName"",""main.pdf"" ""Author"","""" ""producer"",""pdfTeX-1.40.18"" ""pdf:docinfo:producer"",""pdfTeX-1.40.18"" ""pdf:unmappedUnicodeCharsPerPage"",""3"",""0"",""0"",""0"",""5"",""12"",""22"",""11"",""20"",""44"",""28"",""67"",""24"",""8"",""1"",""20"",""13"",""0"",""0"",""10"" ""Keywords"","""" ""access_permission:modify_annotations"",""true"" ""dc:creator"","""" ""dcterms:created"",""2020-01-06T16:05:49Z"" ""Last-Modified"",""2020-01-06T16:05:49Z"" ""dcterms:modified"",""2020-01-06T16:05:49Z"" ""title"","""" ""Last-Save-Date"",""2020-01-06T16:05:49Z"" ""pdf:docinfo:keywords"","""" ""pdf:docinfo:modified"",""2020-01-06T16:05:49Z"" ""meta:save-date"",""2020-01-06T16:05:49Z"" ""pdf:docinfo:custom:PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017) kpathsea version 6.2.3"" ""Content-Length"",""597961"" ""Content-Type"",""application/pdf"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"","""" ""dc:subject"","""" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""20"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""2045"",""2965"",""2835"",""2884"",""2299"",""2012"",""1859"",""2374"",""1847"",""1585"",""1782"",""1489"",""1868"",""1240"",""1502"",""2755"",""2065"",""2918"",""2850"",""1582"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""pdf:docinfo:trapped"",""False"" ""meta:keyword"","""" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2020-01-06T16:05:49Z"" ";https://scholar.google.com/scholar?start=650&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094546-674;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[PDF][PDF] Risks of Blockchain for Data Protection: A European Approach;BS Jiménez;Gómez  Santa Clara High Tech. LJ, 2019 HeinOnline;;"… A Detailed Look at Cryptocurrency 's New Kid on the Block, BITCOIN MAGAZINE (Feb. 26, 2013), https://bitcoinmagazine.com/articles/introducing- ripple. 5 Toshendra K. Sharma, Advantages and disadvantages ofpermissionless blockchain, BLOCKCHAIN COUNCIL (Oct …";Cité 1 fois;Les 6 versions;[PDF] heinonline.org;https://heinonline.org/hol-cgi-bin/get_pdf.cgi?handle=hein.journals/sccj36§ion=15&casa_token=Ol8iP14WDqIAAAAA:bH_Nd7ikGuhtPH00PU84qH35kVCupIymtpSJwMbr2T2g8hYGJOMXO-z2leIZG47MOF_BMAI;" ";"""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""REFRESH"",""1; url=https://heinonline.org/HOL/Page?handle=hein.journals/sccj36&div=15&g_sent=1&casa_token=Ol8iP14WDqIAAAAA:bH_Nd7ikGuhtPH00PU84qH35kVCupIymtpSJwMbr2T2g8hYGJOMXO-z2leIZG47MOF_BMAI"" ""Content-Encoding"",""UTF-8"" ""resourceName"",""get_pdf.cgi"" ""language"","""" ""Content-Type"",""text/html; charset=UTF-8"" ";https://scholar.google.com/scholar?start=490&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094558-730;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Blockchain und maschinelles Lernen–Ein Literaturüberblick;J Tagliaferri ; Blockchain und maschinelles Lernen, 2019 Springer;;"… Gerade in Konsortium-Blockchains könnte es von großer Bedeutung sein, dass maschinelle Lernverfahren mit in die Blockchain integriert werden oder mittels Oracles auf die Daten der Konsortiumsblockchain zugreifen können …";Autres articles;;null;;;;https://scholar.google.com/scholar?start=540&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094590-866;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;On the property of blockchains: comments on an emerging literature;JZ Garrod ; Economy and Society, 2019 Taylor & Francis;;"… 1). Part of that work has already resulted in a partnership with cryptocurrency exchange Gemini … Amazon has also started offering blockchain templates, allowing their customers to create blockchain-based decentralized applications (dApps); Oracle, IBM and …";Cité 7 fois;Les 3 versions;[PDF] tandfonline.com;https://www.tandfonline.com/doi/pdf/10.1080/03085147.2019.1678316?casa_token=xiNqLZzoXloAAAAA:x3rbbyD3qrJghsStBjSyOy5SFcFxNXczPwQi-a4jWXZ62HCkikM6aUaNK7M0D2PvxD18We4rJv9KGQ;;;https://scholar.google.com/scholar?start=680&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094583-836;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Negative results on mining crypto-api usage rules in android apps;J Gao, P Kong, L Li, TF Bissyand酠; 2019 IEEE/ACM 16th …, 2019 ieeexplore.ieee.org;;"… apps. 2) Are crypto-API usage updates fixing misuses? Investigating actual API usages with an oracle, based on security expert manual specifications, will eventually help to conclude on the validity of our research hypothesis …";Cité 9 fois;Les 6 versions;[PDF] uni.lu;https://orbilu.uni.lu/bitstream/10993/42460/1/article.pdf;" Negative Results on Mining Crypto-API Usage Rules in Android Apps Jun Gao∗, Pingfan Kong∗, Li Li†, Tegawendé F. Bissyandé∗, Jacques Klein∗ ∗University of Luxembourg, Luxembourg †Monash University, Australia {jun.gao, pingfan.kong, tegawende.bissyande, jacques.klein}@uni.lu li.li@monash.edu Abstract—Android app developers recurrently use crypto-APIs to provide data security to app users. Unfortunately, misuse of APIs only creates an illusion of security and even exposes apps to systematic attacks. It is thus necessary to provide developers with a statically-enforceable list of specifications of crypto-API usage rules. On the one hand, such rules cannot be manually written as the process does not scale to all available APIs. On the other hand, a classical mining approach based on common usage patterns is not relevant in Android, given that a large share of usages include mistakes. In this work, building on the assumption that “developers update API usage instances to fix misuses”, we propose to mine a large dataset of updates within about 40 000 real-world app lineages to infer API usage rules. Eventually, our investigations yield negative results on our assumption that API usage updates tend to correct misuses. Actually, it appears that updates that fix misuses may be unintentional: the same misuses patterns are quickly re-introduced by subsequent updates. I. INTRODUCTION Although software systems have greatly impacted the ef- ficiency of transactions and communications in our digital world, the security and privacy issues that they carry have been raising concerns among all stakeholders. In this con- text, the software development community is now urged to implement means to protect user assets, most notably by using cryptography for ensuring confidentiality of data and transactions, as well as the authenticity of information. Un- fortunately, several recent studies [1], [2], [3] have revealed that developers often make mistakes when using cryptography APIs (hereafter, crypto-APIs is used for short), even those APIs implemented in widely used libraries such as the Java Cryptography Architecture (JCA). These misuses, which may lead to security mishaps [4], [5], actually carry an illusion of safety for users and developers. Consequently, the research community has started a new effort towards improving the analysis and fix of crypto-APIs usage [6], [7]. To properly use crypto-APIs, developers must learn the API usage rules. Similarly, to validate code, the research and practice communities must build tools for checking API calls against a database of the associated API usage rules. To the best of our knowledge, there are three strategies commonly adopted in the literature for the inference of general API usage rules: • manual specification: Recent literature on static analysis for verifying crypto-API usages propose approaches that are based on manually-written specifications [6], [8]. Although such approaches offer a high degree of reliability, they may require extensive security expertise, and do not scale to the sheer number of cryptography libraries (and their associated recurrent API updates). • majority contest of usage patterns: A trivial approach for systematically finding and updating API protocols is to mine usage patterns in a representative dataset of developer code [9], [10]. Most recurrent patterns are considered as the correct protocol. Such approaches have been shown effective in operating system code [11] where the majority of developers have a significant level of expertise [12], [13]. In the Android community, however, most developers are novice and their usages of crypto-APIs are generally incorrect [14]. • commit log mining: Recently, Paletov et al. [7] have proposed to mine commit messages from software version tracking systems to identify fixes of API usages and infer the “correct” usages based on static code analysis. Theoretically, this strategy is reliable (in contrast to simple popularity voting of usage patterns). In practice, however, developers often make uninformed updates, and it is now accepted that commit messages are often less informative than what researchers expect [15]. This paper. Our work is set in the context of the Android development community where millions of apps are built and regularly updated on markets. Our objective is to present and investigate the suitability of an approach to infer crypto- API usage rules based on developer updates. Although most of Android apps are not associated with public source code management systems, their different apk releases can be read- ily reverse-engineered into intermediate representations (e.g., smali or Jimple) by using frameworks such as Apktool and Soot [16]. These representations can then be statically analyzed in a straightforward way for extracting usage instances, and comparing usages across updates. Our approach will leverage the AndroZoo [17] dataset where successive apk releases are continuously crawled for the research community. Our main assumption for inferring crypto-API usage rules by mining code updates is that “API usage updates generally transform incorrect usages into correct us- ages”. Although this assumption is intuitively reasonable, our investigations have yielded contradictory results. We thus report on the negative results of mining crypto-API usage rules by mining Android app updates. We focus in this study on the widespread JCA APIs used in 598,875 apk releases associated with 39,213 lineages of real world Android apps. II. BACKGROUND We now provide details on the crypto-APIs studied in this work as well as the tool chain leveraged for statically checking API usages (i.e., to build the ground truth for the study). A. Crypto-APIs Cryptography is the science that yields algorithms for hid- ing information from third-parties. Encryption and decryption mechanisms are used to support authentication as well as to guarantee the confidentiality of transactions and information integrity. In software development, crypto-APIs are provided as part of programming toolkits to accelerate the inclusion of cryptography functionalities in developer code. For example, in the Java realm, the Java Cryptography Architecture (JCA) APIs, which are officially provided by Oracle [18], are widely used by developers. Given that most Android apps are built in Java, the use of JCA APIs is also widespread in the Android community. Although some alternate crypto-APIs, such as Apache Commons Crypto [19] APIs, do exist, they are substantially less widespread. Therefore, our work is focused on JCA to investigate the potential API misuses among real- world apps. Table I enumerates the 23 API classes implemented in the JCA library, where each class was designed to address a spe- cific cryptography functionality: for example, the MessageDi- gest class includes algorithm implementations for computing the digest of some information (e.g., text message) which can be used to check its integrity after transmission. TABLE I: Java Cryptography Architecture (JCA) APIs. API Class: Description java.security.AlgorithmParameters: maintainer for security parameters for specific algorithms javax.crypto.Cipher: provide encryption and decryption functionality javax.crypto.spec.DHGenParameterSpec: parameters for generating Diffie- Hellman parameters for DH key agreement javax.crypto.spec.DHParameterSpec: parameters used for DH algorithm java.security.spec.DSAGenParameterSpec: parameters for DSA parameter gener- ation java.security.spec.DSAParameterSpec: parameters used for DSA algorithm javax.crypto.spec.GCMParameterSpec: parameters for cipher using Galois/Counter Mode javax.xml.crypto.dsig.spec.HMACParameterSpec: parameters for the XML sig- nature HMAC algorithm javax.crypto.spec.IvParameterSpec: Initialization Vector for block cipher javax.crypto.KeyGenerator: generate keys for encryption-decryption java.security.KeyPair: holder of a publicprivate key pair java.security.KeyPairGenerator: create publicprivate key pairs java.security.KeyStore: a memory storage to maintain keys and certificates for later usage javax.crypto.Mac: Message Authentication Code for message integrity protection java.security.MessageDigest: a one-way hash for messages javax.crypto.spec.PBEKeySpec: specification of a Password Based Encryption key javax.crypto.spec.PBEParameterSpec : parameters for password based encryption java.security.spec.RSAKeyGenParameterSpec: parameters for RSA key pair gen- eration javax.crypto.SecretKey: a symmetric secret key javax.crypto.SecretKeyFactory: convert key into key specification and vice-versa javax.crypto.spec.SecretKeySpec: specification of a symmetric secret key java.security.SecureRandom: generate secured pseudo-random numbers java.security.Signature: digital signature Implementation-wise, to perform a cryptography-related task, an object associated with the relevant JCA class must first be instantiated. Subsequently, a sequence of the object methods is invoked in a specific order of steps. Listing 1 shows a usage example of API PBEKeySpec retrieved from a human resource management app named com.successfactors.android. The code snippet is written in Jimple, the intermediate repre- sentation of Soot, which we leveraged in this work to reverse engineering Android apps. First, the password (i.e., $r3) and salt (i.e., $r0) pa- rameters of the constructor of PBEKeySpec are initialized with the passed-in arguments (lines 7-10). Then, an object of PBEKeySpec is constructed with the password and salt (lines 11-12). There are 2 extra constants of type int used when instantiating the object (line 12): the first one, (1 000 in this example), is used to specified the iteration number, the second one (i.e., 256) is used to specify the key length. The PBEKeySpec object is used to further generate a SecretKey object (line 13-14). After using the PBEKeySpec object, for security consideration, the password is cleared from the mem- ory (line 15). The rest part of the example is to create a SecretKeySpec by using the previously generated objects and return it for other utilizations. 1 private static javax.crypto.spec.SecretKeySpec deriveEncryptrionKey(char[], byte[]) 2 { 3 javax.crypto.spec.PBEKeySpec $r2; 4 javax.crypto.SecretKeyFactory $r5; 5 javax.crypto.SecretKey $r6; 6 javax.crypto.spec.SecretKeySpec $r7; 7 byte[] $r0; 8 char[] $r3; 9 $r0 := @parameter1: byte[]; 10 $r3 := @parameter0: char[]; 11 $r2 = new javax.crypto.spec.PBEKeySpec; 12 specialinvoke $r2.(char[],byte[],int,int)>($r3, $r0, 1000, 256); 13 $r5 = ; 14 $r6 = virtualinvoke $r5.($r2); 15 virtualinvoke $r2.(); 16 $r7 = new javax.crypto.spec.SecretKeySpec; 17 $r0 = interfaceinvoke $r6.(); 18 specialinvoke $r7.(byte[],java.lang.String)>($r0, ""AES""); 19 return $r7; 20 } Listing 1: JCA API Usage Example (Jimple code representation) In this example, there are several code locations where developers can make mistakes that would lead to misuses of the PBEKeySpec API: • (line 9) - Security strength of a password is heightened when salt is properly generated in a random way. In practice, however, developers commonly hard code their salt value. In the example code, salt is specified as parameter of method deriveEncryptrionKey (line 1) and then stored in $r0. So, a misuse could happen if a constant is passed to deriveEncryptrionKey in the second parameter. • (line 10) - Often, developers use a String object to hold the password and then use toCharArray() to convert to the required type (i.e., char[]) when necessary. However, the in- tention of designing PBEKeySpec constructor to only accept char[] instead of String is to avoid using String, since String object is immutable, therefore, they cannot be destroyed or modified after instantiation until garbage collection revokes the memory. Given that garbage collection occurs randomly and is out of the control of developers, the password can survive in memory for a long time, increasing the risk of being exploited by attacks. • (line 12) - Documentation of JCA recommends an iteration number above 1 000. It is however common to have cases where developers, with little expertise, assign a smaller iteration rate. • (line 15) - Password information should be kept in memory only for the duration it is needed, in order to minimize attack opportunities. Thus it should not be held in a String object and must be cleared immediately after the use of the PBEKeySpec object. Developers unfortunately often overlook the call to the clearPassword() of PBEKeySpec. In this example code, the method clearPassword in line 15 is correctly called, so there is no misuse. 1 F i n d i n g s i n Java C l a s s : com . umeng . common . u t i l . h 2 3 i n Method : j a v a . l a n g . S t r i n g a ( j a v a . l a n g . S t r i n g ) 4 C o n s t r a i n t E r r o r v i o l a t i n g CrySL r u l e f o r MessageDiges t 5 F i r s t p a r a m e t e r ( w i th v a l u e ""MD5"" ) s h o u l d be any of {SHA−256, SHA−384, SHA−512} 6 a t s t a t e m e n t : $ r2 = s t a t i c i n v o k e (""MD5"" ) 7 8 T y p e s t a t e E r r o r v i o l a t i n g CrySL r u l e f o r MessageDiges t 9 Unexpec ted c a l l t o method r e s e t on o b j e c t o f t y p e j a v a . s e c u r i t y . MessageDiges t . Expec t a c a l l t o one o f t h e f o l l o w i n g methods d i g e s t , u p d a t e 10 a t s t a t e m e n t : v i r t u a l i n v o k e $r2.< j a v a . s e c u r i t y . MessageDiges t : void r e s e t ( ) >() Listing 2: CogniCrypt SAST Report Example B. Static API usage checker We leverage CogniCryptSAST [20], a static analyzer of the CogniCrypt [21] framework, for detecting JCA API misuses in Java programs. This analyzer was selected as it has been extended to be compatible with Android apps as well [20], a static analyzer of the [22]. CogniCryptSAST checks JCA APIs against a set of rules that were manually specified by security experts using CrySL [6] (CogniCrypt Specification Language). We consider CrySL rules as a reliable and accurate oracle for deciding whether a JCA API is misused or not. Concretely, given an Android apk, CogniCryptSAST iden- tifies all instances of the 23 JCA API classes and checks the usage against the CrySL rules to generate a report on all detected misuses. Listing 2 showcases an example of a report generated by CogniCryptSAST where misuses are hierarchically grouped by classes and methods. In this exam- ple, 2 misuses are found in method java.lang.String of class com.umeng.common.util.h of app com.lovinc.radio: • The first misuse, a ConstraintError of API Messagedigest, is reported in line 4, with details indicating that argument “MD5” is not recommended when invoking API method getInstance(java.lang.String). • The second misuse (TypestateError error) also relates to the same API object $r2 and occurs in the same method. It specifies that the misuse is caused by the fact that the MessageDigest object had not been in the state to call method reset(), instead, method digest or update should be invoked before. As demonstrated by this example, a single JCA API usage instance can suffer from multiple misuse errors. Table II enumerates and provides brief explanations on 6 misuse types detected by CogniCryptSAST . Actually CogniCryptSAST ’s reports may include ImpreciseValueExtractionError notifica- tions, which indicate that CogniCryptSAST cannot obtain all the information for the analysis, and thus no clear conclusion can be given. We do not discuss such cases in this study. Nevertheless, given that we must be able to assess whether a misuse has actually been fixed in an app update, we must be able to enumerate all usage locations. To that end, we have developed on top of Soot [16] a dedicated tool for supporting the extraction of JCA API usage instances. TABLE II: CogniCrypt Misuse Types. Type Explanation Example ConstraintError Unrecommended arguments are given. e.g., MD5 as hashing algorithm. RequiredPredicateError Arguments are not properly created. e.g., constant values are used while values are required to be randomly generated. TypestateError A JCA API object is not in the right state to invoke a certain method e.g., a method reset() of a MessageDigest object is invoked before passing any information into it via calls to methods digest or update. IncompleteOperationError Tasks are not completed using JCA API objects. e.g., a MessageDigest object is instantiated by invoking the getInstance method, but no further method invocation on this object is performed. The digest task will therefore not be achieved. ForbiddenMethodError Unrecommended API methods are invoked. e.g., PBEKeySpec(char[] password) is one of the constructor of JCA API PBEKeySpec for deriving cryptographic keys from a given password. Since a key generated without salt has been proven to be weak, this constructor should be used in specific scenarios. NeverTypeOfError Certain types are forbidden when storing sensitive information. e.g., password value for PBEKeySpec should never be store as type String, but char[]. Since object String is immutable in Java, password information in this type cannot be explicitly freed from memory. The garbage collector is in charging of deleting it, yet it is unpredictable from a user standpoint, opening opportunities for password leakage. Finally, we have implemented a crawler for collecting on Google Play some metadata (e.g., category, rate, etc.) asso- ciated to AndroZoo apks. These metadata are leveraged in criteria for comprehensively dividing the dataset into relevant subsets for further investigations. III. SCOPE OF THE STUDY In this section, we state the study problem along with the research questions that we intend to investigate, and describe the dataset of the study. A. Problem Statement and Research Hypothesis Given a crypto-API usage location, it is possible, with security expertise, to assess whether there is a misuse or not. Manual specification of usage rules however is tedious to collect over a large set of APIs. Previous studies have also shown that using a majority voting on usage patterns to conclude on the correctness of crypto-API usages will lead to poor results given that wrong usages are widespread in Android apps. Our intuition however is that, as time goes by, developers of a given app learn to fix API misuses. Thus, it should be possible, by analysing code updates in an app lineage (i.e., the series of apk versions released for a given app), to infer crypto-API usage rules. Our hypothesis is thus that: “updates in API usages across an app lineage will tend to fix misuses”. Consequently, if an extensively large set of app lineages can be collected in the wild, it would be possible to retrieve a substantially large and diverse set of crypto-API usage fixes. Then, by assessing recurring patterns, we could infer API usage rules. This work is about empirically assessing the validity of our hypothesis for the case of the JCA APIs within Android apps. B. Research Questions The empirical study mainly aims at (re)investigating the following questions: 1) To what extent do Android developers misuse crypto-APIs? The literature claims, often based on few example apps, that developers regularly make mistakes in using crypto-APIs. We attempt to provide a thorough picture of the state of crypto-API usages across a representative dataset of real- world Android apps. 2) Are crypto-API usage updates fixing misuses? Investigating actual API usages with an oracle, based on security expert manual specifications, will eventually help to conclude on the validity of our research hypothesis. We ensure in this study, that the cases of specific app categories (e.g., high rating apps, financially sensitive apps, etc.) are also analysed in comparison with the general trends. 3) What are the impacts caused by API usage updates? This question investigates how crypto-API usages get updated, in an attempt to derive explanations on the statistical results obtained in the previous question. Concretely, we study the proportions of updates that either successfully fix misuses, or (re)introduce mistakes in correct usages, or that fail to fix misuses. C. Dataset We leverage the largest repository of real-world Android apps, AndroZoo [17], to collect data for our experiments. AndroZoo is a growing repository where automated crawlers continuously harvest Android apps from various app markets including the official Google Play store. At the time of writing, it was reported to contain over 8 million Android apks [23], the most diverse dataset available to the research community. Since AndroZoo continuously collects any apks that it has never seen before, it generally includes successive versions (i.e., apk releases) of the same app, which are relevant for reconstructing app lineages. 1) App Lineage Reconstruction: To identify app lineages from AndroZoo, we follow the approach proposed by Gao et al. [24] and illustrated by the four steps in Fig. 1: (1) extraction of application IDs, (2) app clustering by certificate, (3) app clustering by the market, and (4) app sorting by version code. This process was applied on a snapshot of AndroZoo in September 2018. Out of the 8 million apps, we only considered lineages which include at least 10 apk releases. The lineage reconstruction yielded 43 365 app lineages accounting for 745,101 apks. This lineage dataset is twice as large as the dataset presented by Gao et al. in [24] . 2) Misuse detection: We assess crypto-API misuses based on the reports of the CogniCryptSAST static checker. This tool, which implements analysis based on expert manual spec- ifications of API usage rules, is used to collect the oracle to support our empirical assessment. Analyses are performed on a High-Performance Computing (HPC) platform [25]. Overall, we leveraged 142 HPC instances, each utilizing 24GB of memory, to successfully parse all 745 thousands apks in 5 days. AndroZoo Dataset App IDs extraction App Clustering by Certificate App Clustering by Market App Sorting by Version App lineages - Facebook lineage - Maps lineage - etc. 1 2 3 4 Fig. 1: App Lineages Re-construction Process [24]. 3) Dataset Curation: We took steps to remove from our study all irrelevant cases of apks or misuses reported by CogniCryptSAST . • Apk releases with no JCA API usages are excluded from our study. Thus, 18% of our initial dataset is left out. • Apk releases on which CogniCryptSAST fails to generate a final report are also dropped from the study. Such cases often occur when the process runs out of memory. While the recommended memory size for CogniCryptSAST is 8GB, we allocate 24GB in our experiments. Nevertheless, a few apk analyses are not able to be completed. • Obfuscated apk releases are left out from the study. Since developers recurrently rely on obfuscation techniques to prevent reverse engineering of their apps, static checkers such as CogniCryptSAST are challenged in their analyses: CogniCryptSAST reports ’?’ for erratic character series that appear as class names. Given that our study of API mis- uses leverages class names as the basic unit for localisation, such unidentified class names constitute noise. Thus, after analysis, when the generated report contains any unlocalised class name, the corresponding apk is dropped. TABLE III: Number of APKs and lineages in the Dataset # lineages # APKs initial dataset 43 365 745 101 remove because JCA API is not used -3 882 -135 752 remove due to CogniCrypt failures -108 -9 374 remove because of obfuscation -7 -1 100 remove due to combination of the 3 conditions1 -155 final dataset 39 213 598 875 Eventually, 146,226 apks are excluded from the dataset of apks. Table III summarizes some statistical details about our dataset. An apk is removed when the one of the situations above occurs. However, an app lineage is only removed when all its app versions are excluded. Fig. 2 shows the distribution of the dex size of apks for the initial and the final dataset. Our statistical tests indicate 1e.g., an app lineage of 10 app versions, 5 app versions could be removed because of tool failure while the rest could be caused by obfuscation no difference between the two distributions, implying that our final dataset is still representative of the initial dataset (at least w.r.t app sizes). 0 5 10 15 20 25 30 35 Dex Size in MB Before After Fig. 2: Distribution of Dex Size before-after dataset curation Metadata Collection. Some of our investigations require up-to-data metadata (e.g., category, rating, number of installs) from markets. Because GooglePlay implements location re- strictions (only apps targeting a country’s users are made visible in that country), we were able to collect metadata for around 60% of the lineages. IV. METHODOLOGY OF THE STUDY We carry experiments to assess the hypothesis behind re- lying on usage updates to mine crypto-API usage rules. We explore usage updates: • with an analysis of pairwise comparisons among apks successive releases within the lineages in our dataset; • with an overall lineage-wise study of the recurrence of misuses in an app across its entire lineage. We further investigated updates for selected subsets of apps to confront the general trends against specific cases for popular apps, or sensitive apps. A. Pairwise comparisons of apks from the same lineage Given an app lineage li, its associated apk releases are combined into pairs (apkj−1, apkj), where 1 < j ≤ n, for the purpose of checking differences between misuses in apkj and apkj−1. The comparison takes into account only usage instances that are found at the same code location in both apps and that are relevant to the same API. In this study, a code location (lo) is represented by both the class and method in which the API usage is found. We consider the following cases which may occur: • misuse fixing (MF) update: the CogniCryptSAST anal- ysis flags an issue with a usage in apkj−1 but not with the usage at the same location in apkj . We conclude that the misuse has been fixed by the update. • misuse introducing (MI) update: the CogniCryptSAST analysis flags an issue with a usage in apkj but not with the usage at the same location in apkj−1. In contrast to a MF update, such an update introduces misuses. • misuse fixing and introducing (MFI) update: the CogniCryptSAST analysis flags an issue with a usage at a given location in both apkj and apkj−1, but the misuses are different. This suggests that developers corrected the previous misuse during the update, but somehow made another mistake. • none update: the CogniCryptSAST analysis flags the same issue with a usage in apkj−1 and apkj at the same location. We conclude that the developers did not notice the issure during app updates. To distinguish among different usages of the same API at the same location, one should take into account variables names associated to instantiated objects from API classes. In practice, however, the reverse-engineering of apks assigns random names to variables, making these names differ across the pair of apps. We use simple heuristics to match relevant pair of usage instances and iteratively start with identifying none update cases, then MFI updates, before MF updates and MI updates. MI update and MFI update constitute two cases of mis- updates, as they result in API misuses in the most recent version of the app. B. Investigations of updates across lineages We investigate the overall evolution of a given app w.r.t. its misuses of crypto-APIs. We then study the trends of usage issues in app lineages. To that end, first, for each app version apkj in an app lineage li, we compute a misuse ratio rj defined in equation 1. mj ← total number API misuses(apkj) uj ← total number API usages(apkj) rj := mj uj (1) We consider the ordered ratio list Ri of app lineage li as Ri := {r1, r2, ¡ ¡ ¡ , rn}, a list of misuse ratio of all apk releases included in li with r1 being the misuse ratio of the first apk of li, r2 the misuse ratio of the second apk, etc. We then compute the slope si = linear regress(Ri) of the regressed between all points of Ri. In this study, si is used to characterize the misuse trend: a negative si indicates that lineage li is evolving towards a better usage of crypto-APIs, while a positive si suggests that the usage of crypto-APIs is worsening with app updates. A null si indicates a status quo. The bigger the value of |si|, the faster the evolution in a lineage. V. STUDY RESULTS We now provide experimental results obtained while inves- tigating the research questions enumerated in Section III-B. In particular, we show statistics on crypto-API misuses in the wild, summarize the success rates in API misuse updates between apk releases, reveal the evolution of misuses across lineages, and eventually discuss the difference between the whole dataset and selected categories of apps. A. RQ1: Crypto-API misuses in Android apps 0 5 10 15 20 25 30 35 40 # of usage per APK Fig. 3: Distribution of JCA API usages in the study dataset Crypto-APIs are widely used in Android apps. Statistics presented earlier (Table III) indicated that over 80% (or 598 thousands apks) of the app versions in our sample dataset of 745 thousands apks include code with JCA API usages. Fig. 3 further shows the distribution of JCA API usages in our dataset of 598k apks. The usage statistics are collected from the analysis reports of CogniCryptSAST . On median average, 10 JCA API usage instances can be identified per app, while 75% of apks include at least 5 usage instances. Table IV summarizes the statistics on API misuses among the apks that include JCA API usages. 96% of apks include misuses, and 97.6% of lineages include at least an apk version with a misuse. On average 1 misuse is found among 6 usages of JCA APIs. TABLE IV: Statistics on API Misuses in the dataset apks Types Numbers Related Information Percentage of APKs with misuse 96% number of APKs without mis- uses is 24,880 Percentage of app lin- eages with misuse 97.6% number of lineages without misuses is 942 misuse to usage ratio 1 : 5.53 total number of API usages is 23,281,216 and misuses is 4,210,667 We detail the misuse spread in Fig. 4. As shown by the misuse distributions in apks represented in Fig. 4a, a given apk contains commonly between 2 to 9 misuse cases. On median average, 4 misuses can be found per app. We further show in Fig. 4b the distribution of the ratio (as defined in Eq.1) between misuses and usages within apks. Interestingly, there are cases with the ratio is bigger than 1, i.e., there are more misuse instances than usages. This suggests that developers can make several mistakes when using a single crypto-API. 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 # of misuse per APK (a) Distribution of # of Misuse per APK 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 Ratio per APK 0 25000 50000 75000 100000 125000 # of A PK (b) Distribution of Misuse to Usage Ratio per APK Fig. 4: API Misuse Distribution The preponderance of the different APIs to be affected by misuses is detailed in Fig. 5. Over 60% of apks include instances of the MessageDigest crypto-API with a misuse. This is due to the widespread issue of using weak hashing algorithms. While the percentage for Cipher, the API in the second place, is around 21% for which the main misuse is incompleted operation indicating that some further method calls (e.g., update, doFinal) are expected but never achieved. Table V further provides statistical details on the types of errors that are raised by CogniCryptSAST as well as on the top API methods that are concerned by misuses. Method getInstance(java.lang.String) of crypto-API MessageDigest takes as argument a String specifying the hashing algorithm. This algorithm must offer a strong protection and thus should be one of the recommended algorithms (e.g., SHA-256, SHA- 384 and SHA-512). When weak algorithms are used (e.g., MD5 or SHA-1), it represents a ConstraintError which makes the app ex";"""date"",""2019-03-16T09:41:07Z"" ""pdf:PDFVersion"",""1.5"" ""pdf:docinfo:title"","""" ""xmp:CreatorTool"",""LaTeX with hyperref package"" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""subject"","""" ""language"",""en"" ""dc:format"",""application/pdf; version=1.5"" ""pdf:docinfo:creator_tool"",""LaTeX with hyperref package"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"","""" ""modified"",""2019-03-16T09:41:07Z"" ""cp:subject"","""" ""pdf:docinfo:subject"","""" ""pdf:hasMarkedContent"",""false"" ""pdf:docinfo:creator"","""" ""PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) kpathsea version 6.2.2"" ""meta:author"","""" ""trapped"",""False"" ""meta:creation-date"",""2019-03-16T09:41:07Z"" ""created"",""2019-03-16T09:41:07Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2019-03-16T09:41:07Z"" ""resourceName"",""article.pdf"" ""Author"","""" ""producer"",""pdfTeX-1.40.17"" ""pdf:docinfo:producer"",""pdfTeX-1.40.17"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""Keywords"","""" ""access_permission:modify_annotations"",""true"" ""dc:creator"","""" ""dcterms:created"",""2019-03-16T09:41:07Z"" ""Last-Modified"",""2019-03-16T09:41:07Z"" ""dcterms:modified"",""2019-03-16T09:41:07Z"" ""title"","""" ""Last-Save-Date"",""2019-03-16T09:41:07Z"" ""pdf:docinfo:keywords"","""" ""pdf:docinfo:modified"",""2019-03-16T09:41:07Z"" ""meta:save-date"",""2019-03-16T09:41:07Z"" ""pdf:docinfo:custom:PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) kpathsea version 6.2.2"" ""Content-Length"",""372041"" ""Content-Type"",""application/pdf"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"","""" ""dc:subject"","""" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""11"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""4502"",""5526"",""5656"",""5034"",""4359"",""4466"",""4353"",""4465"",""5342"",""5126"",""7611"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""pdf:docinfo:trapped"",""False"" ""meta:keyword"","""" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2019-03-16T09:41:07Z"" ";https://scholar.google.com/scholar?start=650&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094546-671;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Blockchain-basiertes Fundraising als innovative Alternative der Unternehmensfinanzierung;K Himmer ; Springer Books, 2019 Springer;;"Page 1. Klaus Himmer Blockchain-basiertes Fundraising als innovative Alternative der Unternehmensfinanzierung Eine steuer- und … Unternehmensfinanzierung Page 3. Klaus Himmer Blockchain-basiertes Fundraising als innovative Alternative der Unternehmensfinanzierung …";Cité 2 fois;Les 6 versions;null;;;;https://scholar.google.com/scholar?start=490&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094560-738;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Análise da proposta de valor potencial na aplicaçăo do blockchain ŕ indústria de jogo online em Portugal;DES Jesus ;2019 repository.utl.pt;;"… ANÁLISE DA PROPOSTA DE VALOR POTENCIAL NA APLICAÇĂO DO BLOCKCHAIN Ŕ INDÚSTRIA DE JOGO ONLINE EM PORTUGAL … ANÁLISE DA PROPOSTA DE VALOR POTENCIAL NA APLICAÇĂO DO BLOCKCHAIN Ŕ INDÚSTRIA DE JOGO ONLINE EM PORTUGAL …";Autres articles;Version HTML;[PDF] utl.pt;https://www.repository.utl.pt/bitstream/10400.5/19709/1/DM-DESJ-2019.pdf;" MESTRADO EM GESTÃO E ESTRATÉGIA INDUSTRIAL TRABALHO FINAL DE MESTRADO DISSERTAÇÃO ANÁLISE DA PROPOSTA DE VALOR POTENCIAL NA APLICAÇÃO DO BLOCKCHAIN À INDÚSTRIA DE JOGO ONLINE EM PORTUGAL DANNY EMMANUEL DA SILVA DE JESUS OUTUBRO DE 2019 MESTRADO EM GESTÃO E ESTRATÉGIA INDUSTRIAL TRABALHO FINAL DE MESTRADO DISSERTAÇÃO ANÁLISE DA PROPOSTA DE VALOR POTENCIAL NA APLICAÇÃO DO BLOCKCHAIN À INDÚSTRIA DE JOGO ONLINE EM PORTUGAL DANNY EMMANUEL DA SILVA DE JESUS ORIENTAÇÃO E CO-ORIENTAÇÃO: PROFESSOR DOUTOR ANTÓNIO PALMA REIS PROFESSOR DR. BERNARDO CHAGAS OUTUBRO DE 2019 i GLOSSÁRIO CE: ComissĂŁo Europeia CRM: Customer Relationship Manager ECB: European Central Bank ICO: Initial Coin Offerings IQR: Interquartile Range RJO: Regime JurĂ­dico dos Jogos e Apostas Online SRIJ: Serviço de Regulação e Inspeção de Jogos Danny E. S. de Jesus ANÁLISE DA PROPOSTA DE VALOR POTENCIAL NA APLICAÇÃO DO BLOCKCHAIN À INDUSTRIA DE JOGO ONLINE EM PORTUGAL ii RESUMO O objetivo da presente dissertação consiste em analisar o impacto da implementação do Blockchain no modelo de negĂłcio dos operadores licenciados no mercado portuguĂŞs e definir os atributos que poderĂŁo estar na base da criação de uma nova proposta de valor na indĂşstria de jogos online.. Neste âmbito, foram contactados alguns operadores licenciados na indĂşstria de jogos online em Portugal e profissionais da ĂĄrea de gambling, cuja contribuição foi determinante para avaliar a necessidade e a potencial importância estratĂŠgica do Blockchain no modelo de negĂłcios. A problemĂĄtica levantada pela aplicação da nova tecnologia a uma indĂşstria recentemente regulamentada deu origem a duas questĂľes de investigação 1) A tecnologia Blockchain ĂŠ aplicĂĄvel Ă  indĂşstria de jogo online atualmente? 2) Quais os benefĂ­cios expectĂĄveis ou contributos para os jogadores e operadores? A metodologia de estudo utilizada foi a Delphi, que consiste num processo estruturado para recolher “conhecimento” de um grupo de especialistas (Adler & Ziglio, 1996). Os resultados obtidos permitiram identificar os principais desafios na potencial implementação, dos quais se destaca a regulamentação, o investimento, o estado embrionĂĄrio da tecnologia e a regulamentação. PorĂŠm, identificou-se a transparĂŞncia como a principal vantagem na potencial aplicação do Blockchain no modelo de negĂłcios dos operadores. O estudo permitiu verificar tambĂŠm que existe ainda alguma dificuldade por parte dos gestores e outros profissionais com cargos relevantes na hierarquia oganizacional, em percepcionar a potencialidade da tecnologia e dos seus atributos, Ă  semelhança do que acontece em outros setores. Palavras-chave: modelo de negĂłcio, proposta de valor, tecnologia disruptiva, jogo online, Blockchain. Danny E. S. de Jesus ANÁLISE DA PROPOSTA DE VALOR POTENCIAL NA APLICAÇÃO DO BLOCKCHAIN À INDUSTRIA DE JOGO ONLINE EM PORTUGAL iii ABSTRACT The objective of this dissertation is to analyze the impact of the implementation of Blockchain in the business model of licensed operators in the Portuguese market and to define the attributes that may be the basis of the creation of a new value proposition in the online gambling industry. Some licensed operators in the online gambling industry in Portugal and gambling professionals were contacted, whose contribution was crucial in assessing the need and potential strategic importance of Blockchain in the business model. The problem raised by applying new technology to a newly regulated industry has given rise to two research questions 1) Is Blockchain technology currently applicable to the online gambling industry? 2) What are the expected benefits or contributions to players and operators? The study methodology used was Delphi, which is a structured process for gathering “knowledge” from a group of experts (Adler & Ziglio, 1996). The results obtained allowed us to identify the main challenges in the potential implementation, such as regulation, investment, embryonic state of technology and regulation. However, transparency was identified as the main advantage in the potential application of Blockchain in the operators business model. The study also showed that there is still some difficulty on the part of managers and other professionals with relevant positions in the organizational hierarchy, in perceiving the potential of technology and its attributes, similarly to what happens in other sectors. Keywords: business model, value proposition, disruptive technology, online gambling, Blockchain. Danny E. S. de Jesus ANÁLISE DA PROPOSTA DE VALOR POTENCIAL NA APLICAÇÃO DO BLOCKCHAIN À INDUSTRIA DE JOGO ONLINE EM PORTUGAL iv ÍNDICE GLOSSÁRIO ..................................................................................................................................... i RESUMO ........................................................................................................................................... ii ABSTRACT ...................................................................................................................................... iii AGRADECIMENTOS ....................................................................................................................... v 1. INTRODUÇÃO .............................................................................................................................. 1 2. REVISÃO DA LITERATURA ...................................................................................................... 4 2.1. Tecnologia ....................................................................................................................... 4 2.2. Modelos de negĂłcio ......................................................................................................... 5 2.3. Proposta de valor ............................................................................................................. 7 2.4. Blockchain ...................................................................................................................... 11 2.4.1. Definição de Blockchain......................................................................................... 11 2.4.2. Modelo de negĂłcio e Blockchain............................................................................ 12 2.4.3. Blockchain e os seus atributos ................................................................................ 13 2.4.4. Arquiteturas de Blockchain .................................................................................... 15 2.4.5. Variedade de aplicaçþes do Blockchain ................................................................. 15 2.4.6. Limitaçþes do Blockchain ...................................................................................... 16 3. METODOLOGIA DE INVESTIGAÇÃO ..................................................................................... 17 3.1 Metodologia Delphi ........................................................................................................... 17 3.2. Escolha do setor em anĂĄlise .............................................................................................. 21 3.3. Caraterização da indĂşstria do jogo online ......................................................................... 22 4. ANÁLISE DE RESULTADOS ..................................................................................................... 25 4.1. Resultados e conclusĂľes da 1ÂŞ ronda ................................................................................. 25 4.2. Resultados e conclusĂľes da 3.ÂŞ ronda ................................................................................ 28 5. CONCLUSÕES ............................................................................................................................. 30 REFERÊNCIAS ................................................................................................................................ 36 ANEXOS ........................................................................................................................................... 44 ÍNDICE DE TABELAS Tabela I – Resultados da primeira ronda ........................................................................................... 25 Tabela II – Resultados da terceira ronda ........................................................................................... 28 Danny E. S. de Jesus ANÁLISE DA PROPOSTA DE VALOR POTENCIAL NA APLICAÇÃO DO BLOCKCHAIN À INDUSTRIA DE JOGO ONLINE EM PORTUGAL v AGRADECIMENTOS A realização da presente dissertação foi um projeto longo e com bastantes desafios, tendo em conta que o Blockchain ĂŠ uma tecnologia embrionĂĄria e que a indĂşstria de jogo online foi recentemente regulamentada. Por estas razĂľes, foi essencial contar com o apoio de peritos da ĂĄrea, para esclarecimentos de dĂşvidas relacionados com o tema e complementarmente responder aos inquĂŠritos. Agradeço Ă  DrÂŞ Manuela Bandeira, Diretora do Serviço de Regulação e Inspeção de Jogos (SRIJ) e ao Dr. Hugo Mira, coordenador de ĂĄrea do Departamento de Sistemas de Pagamentos do Banco de Portugal, pela disponibilidade e interesse que mostraram para a realização de uma entrevista e pelas opiniĂľes que foram fundamentais para definir o tema do Blockchain. Um agradecimento especial ao Professor Doutor AntĂłnio Palma Reis e ao Professor Dr. Bernardo Chagas, Orientador e Co-Orientador, respetivamente, pela disponibilidade, interesse e conhecimento transmitido ao longo da dissertação. À minha irmĂŁ pelas dicas preciosas, aos meus pais pela paciĂŞncia e força constante que me deram ao longo do Mestrado, Ă  minha namorada LuĂ­sa Marques pela ajuda e compreensĂŁo e Ă  minha filha Beatriz que ĂŠ simplesmente a minha razĂŁo de ser e de nunca desistir. 1 1. Introdução Durante dĂŠcadas, o comĂŠrcio baseou-se em estabelecimentos fĂ­sicos, mas a Internet possibilitou aos consumidores, a compra de produtos e serviços online (Olson & Olson, 2000). As plataformas digitais vieram facilitar o acesso a produtos e serviços de uma forma mais prĂĄtica, cĂłmoda e cĂŠlere e tambĂŠm a partilha de informaçþes sem custos entre organizaçþes, tornando-se uma ferramenta transversal a bastantes setores. Os “mercados virtuais” caraterizam-se pela alta conetividade (Soumitra & Segev, 1999), foco nas transaçþes (Balakrishnan, Kumara & Sundaresan, 1999) e pela inexistĂŞncia de fronteiras geogrĂĄficas (Zott & Amit, 2001). À medida que se torna mais fĂĄcil a interoperabilidade e globalização de serviços e aplicaçþes na internet (Sadiku, Musa & Nelatury, 2017), a lĂłgica subjacente a algumas indĂşstrias tradicionais começa a desintegrar-se (Zott & Amit, 2001). Recentemente, o surgimento de uma tecnologia disruptiva com a capacidade integral de desintermediação, o Blockchain, permitirĂĄ desempenhar um papel importante na criação de novos tipos de negĂłcios (Seppälä, 2016). Contudo, “hĂĄ uma sĂŠrie de desafios que retardam a adoção de Blockchain, incluindo a fase de desenvolvimento embrionĂĄrio da tecnologia, a regulação pesada de potenciais indĂşstrias e a necessidade de uma rede para construir aplicaçþes de valor” (Seppälä, 2016, p. 10). A indĂşstria objeto de estudo desta dissertação ĂŠ a de jogos online. Se anteriormente apenas era possĂ­vel apostar em casinos fĂ­sicos, atualmente o apostador pode jogar online nas slots machines, roletas, blackjack, bingo ou apostas desportivas, entre outros. Embora o “casino online” esteja a crescer a nĂ­vel mundial em termos de receita bruta, a indĂşstria tem-se deparado com desafios tecnolĂłgicos, dos quais se destaca o Blockchain. Neste trabalho serĂĄ abordado o impacto que a nova tecnologia terĂĄ no modelo de negĂłcio dos operadores de jogo online e definidos os atributos que podem contribuir para uma nova proposta de valor. Algumas propostas de valor podem ser inovadoras e representam uma oferta nova ou disruptiva enquanto que outras podem ser semelhantes Ă s ofertas de mercado existentes, mas com recursos e atributos adicionados (Osterwalder & Pigneur, 2010). A simbiose entre duas situaçþes relativamente recentes, nomeadamente o surgimento do Blockchain que carece de informação na sua aplicação, Danny E. S. de Jesus ANÁLISE DA PROPOSTA DE VALOR POTENCIAL NA APLICAÇÃO DO BLOCKCHAIN À INDUSTRIA DE JOGO ONLINE EM PORTUGAL 2 em simultâneo com um setor recentemente regulamentado, originou a formulação das seguintes questĂľes de investigação: 1. A tecnologia Blockchain ĂŠ aplicĂĄvel Ă  indĂşstria de jogo online atualmente? 2. Quais os benefĂ­cios expectĂĄveis ou contributo para os jogadores e operadores? Relativamente Ă  primeira questĂŁo “A tecnologia Blockchain ĂŠ aplicĂĄvel Ă  indĂşstria de jogo online atualmente?” ĂŠ essencial conhecer bem as especificidades da tecnologia e dominar os conceitos implĂ­citos Ă  sua arquitetura. O novo sistema permitirĂĄ tambĂŠm melhorar a segurança relativamente a sistemas tradicionais, atravĂŠs da capacidade de imutabilidade e de mecanismos de contratos inteligentes. O desafio ĂŠ compreender a tecnologia e de que forma pode ser implementada para obter os melhores resultados possĂ­veis e satisfazer novas necessidades de mercado. A exploração da atividade com base numa tecnologia disruptiva no modelo de negĂłcio ĂŠ incerta e nĂŁo linear, uma vez que os efeitos sĂŁo particularmente dificeis de determinar. O estudo pode ajudar a clarificar de que forma pode ser aplicada a tecnologia e identificar os benefĂ­cios que se esperam obter. Relativamente Ă  questĂŁo “Quais os benefĂ­cios expectĂĄveis ou contributo para os jogadores e operadores?” em primeira instância identificaram-se os benefĂ­cios do Blockchain referidos na literatura: 1) privacidade 2) risco de fraude 3) transparĂŞncia 4) segurança 5) acesso equitativo 6) velocidade 7) eficiĂŞncia 8) qualidade 9) produtividade e 10) redução dos custos. PorĂŠm, alguns destes atributos foram excluĂ­dos devido Ă  sua pouca representatividade face ao problema em anĂĄlise e por estarem relacionados com questĂľes de performance dos operadores. ApĂłs reflexĂŁo foi decidido apenas selecionar a privacidade, a transparĂŞncia, segurança, a velocidade e a redução dos custos. Os 5 atributos selecionados foram previamente analisados de forma a verificar a coerĂŞncia, face aos objetivos da dissertação, nĂŁo tendo sido considerado o acesso equitativo, que de acordo com o Perito 4, “de nada serve este acesso se nĂŁo for possĂ­vel depois converter o ganho para uma moeda transacional pelo utilizador, o que vai incorrer na necessidade de uso de um qualquer sistema bancĂĄrio tradicional.” Outras caracterĂ­sticas nĂŁo consideradas na anĂĄlise foram a eficiĂŞncia, qualidade e produtividade, uma vez que remetiam para atributos de carĂĄter operacional e nĂŁo estratĂŠgico. Danny E. S. de Jesus ANÁLISE DA PROPOSTA DE VALOR POTENCIAL NA APLICAÇÃO DO BLOCKCHAIN À INDUSTRIA DE JOGO ONLINE EM PORTUGAL 3 Esta dissertação encontra-se organizada em 5 capĂ­tulos. O primeiro introduz o tema de investigação. O segundo consiste numa revisĂŁo da literatura, aprofundando os principais conceitos do estudo: tecnologia, modelo de negĂłcio, proposta de valor e Blockchain, destacando os seus atributos, limitaçþes e variedades de aplicação. O terceiro capĂ­tulo consiste na anĂĄlise da metodologia utilizada e na escolha da indĂşstria em questĂŁo. O quarto capĂ­tulo aborda a anĂĄlise dos resultados e o quinto as principais conclusĂľes, contribuiçþes para uma investigação futura e limitaçþes. Danny E. S. de Jesus ANÁLISE DA PROPOSTA DE VALOR POTENCIAL NA APLICAÇÃO DO BLOCKCHAIN À INDUSTRIA DE JOGO ONLINE EM PORTUGAL 4 2. RevisĂŁo da literatura O objetivo da presente dissertação ĂŠ analisar o impacto da implementação do Blockchain no modelo de negĂłcio dos operadores licenciados no mercado portuguĂŞs, determinando quais os fatores que poderĂŁo estar na base da criação de uma nova proposta de valor na indĂşstria de jogos online. De forma a introduzir o tema da dissertação serĂĄ necessĂĄrio descrever o conceito de tecnologia e a relação com o modelo de negĂłcio, proposta de valor e adicionalmente o conceito, atributos e arquiteturas do Blockchain. 2.1. Tecnologia De acordo com Christensen (1997), todas as empresas dispĂľem de tecnologias. O termo tecnologia ĂŠ bastante difuso, amplo e usado por diversos autores. Um dos conceitos de tecnologia, ĂŠ utilizado por Clayton Christensen (1997, p. 16) no seu livro “O dilema da inovação”, referindo-se”aos processos pelos quais uma organização transforma trabalho, capital, materiais e informação em produtos e serviços de maior valor”. A tecnologia “refere-se tambĂŠm a conhecimentos teĂłricos e prĂĄticos, habilidades e artefatos que podem ser usados para desenvolver produtos e serviços, bem como os seus sistemas de produção e entrega”. (Burgelman, Christensen & Wheelwright, 2009, p. 2). Schumpeter (1934), descreve o desenvolvimento tecnolĂłgico como uma mudança descontĂ­nua e em desequilĂ­brio resultante da inovação, identificando como vĂĄrias fontes de inovação, a introdução de novos produtos ou novos mĂŠtodos de produção, a criação de novos mercados, a descoberta de novas fontes de abastecimento e a reorganização das indĂşstrias. A tecnologia ĂŠ um elemento central e impulsionador na estratĂŠgia empresarial de criação de valor, contribuindo para a satisfação das necessidades especĂ­ficas do mercado. A tecnologia pode ser um coeficiente de alavancagem e de diferenciação nas organizaçþes e indĂşstrias e o seu desenvolvimento ĂŠ geralmente considerado um empreendimento probabilĂ­stico e imprevisĂ­vel (Christensen, 1997). A decisĂŁo de enveredar pela aplicação de novas tecnologias ĂŠ um fator estratĂŠgico essencial e vital para muitas organizaçþes pois representam uma oportunidade de incrementar a eficiĂŞncia. A tecnologia ĂŠ um recurso extremamente importante para muitas organizaçþes e a gestĂŁo Danny E. S. de Jesus ANÁLISE DA PROPOSTA DE VALOR POTENCIAL NA APLICAÇÃO DO BLOCKCHAIN À INDUSTRIA DE JOGO ONLINE EM PORTUGAL 5 deste recurso para tornĂĄ-lo uma vantagem competitiva implica integrĂĄ-la na estratĂŠgia da empresa (Burgelman et al, 2009). No entanto, as inovaçþes tecnolĂłgicas por si sĂł nĂŁo garantem o sucesso de uma empresa (Zott et al, 2011). PorĂŠm, uma das premissas favorĂĄveis ao desenvolvimento tecnolĂłgico ĂŠ que pode facilitar novos modelos de negĂłcio (Baden-Fuller & Haefliger, 2013). Chesbrough (2010, p. 355), argumenta “que uma potencial nova tecnologia pode nĂŁo ter nenhum modelo de negĂłcio Ăłbvio, e nesses casos os gestores da tecnologia devem expandir as suas perspetivas de forma a encontrar um modelo de negĂłcio apropriado a fim de poder capturar o valor dessa tecnologia”. Contudo, ĂŠ necessĂĄrio distinguir entre tecnologias sustentadoras e tecnologias disruptivas. As tecnologias disruptivas alteram a proposta de valor num mercado (Christensen, 1997) e quando surgem pela primeira vez quase sempre oferecem desempenhos mais baixos em termos dos atributos valorizados pelos consumidores do mercado dominante. As tecnologias disruptivas tĂŞm outros atributos valorizados por uma minoria (geralmente recente) de consumidores (Christensen, 1997). Segundo o mesmo autor, as tecnologias sustentadoras propiciam uma melhoria no desempenho dos produtos jĂĄ existentes e neste contexto, a anĂĄlise e o planeamento sĂŁo praticĂĄveis, enquanto que em inovação disruptiva, hĂĄ menos informação sobre o mercado e muita incerteza porque o seu valor e a sua aplicaçao sĂŁo incertos. Na concepção de Osterwalder & Pigneur (2010), a tecnologia ĂŠ um dos principais fatores que influenciam o desenvolvimento de modelos de negĂłcio, a par da tendĂŞncia regulatĂłria, societal, cultural e tambĂŠm sĂłcioeconĂłmica. 2.2. Modelos de negĂłcio A complexidade na definição do conceito de modelo de negĂłcio tem origem nas inĂşmeras referĂŞncias em trabalhos acadĂŠmicos, que tĂŞm contribuido com vĂĄrias perspetivas e modelos, o que torna difĂ­cil a sua anĂĄlise e clarificação. Zott et al (2011, p. 1020), argumentam que os acadĂŠmicos nĂŁo estĂŁo de acordo sobre o que ĂŠ o modelo de negĂłcio e “que a literatura se estĂĄ a desenvolver em grande parte em silos, de acordo com os fenĂłmenos de interesse dos respectivos investigadores”. Observa-se que os investigadores adotam frequentemente definiçþes idiossincrĂĄticas que se ajustam aos propĂłsitos dos seus estudos, mas que sĂŁo difĂ­ceis de conciliar uns com os outros (Zott et Danny E. S. de Jesus ANÁLISE DA PROPOSTA DE VALOR POTENCIAL NA APLICAÇÃO DO BLOCKCHAIN À INDUSTRIA DE JOGO ONLINE EM PORTUGAL 6 al, 2011). Embora, existam diferenças substanciais nos vĂĄrios estudos analisados por Zott, houve alguns pontos em comum entre os vĂĄrios investigadores, especificamente, “(1) o modelo de negĂłcio estĂĄ a emergir como uma nova unidade de anĂĄlise; (2) os modelos de negĂłcio enfatizam uma abordagem holĂ­stica em nĂ­vel de sistema para explicar como as empresas ""fazem negĂłcios""; (3) as atividades firmes desempenham um papel importante nas diversas conceptualizaçþes dos modelos de negĂłcio propostos; e (4) modelos de negĂłcio procuram explicar como o valor ĂŠ criado e nĂŁo apenas como ĂŠ capturado” (Zott et al, 2011, p. 1019). Para Chesbrough e Richard Rosembloom, o modelo de negĂłcio deve cumprir algumas funçþes, das quais se destacam a articulação com a proposta de valor (i. e. o valor criado para os utilizadores por uma oferta baseada em tecnologia), identificação de um segmento de mercado e especificação do mecanismo de geração de receita (Chesbrough, 2010). Segundo Osterwalder & Pigneur (2010), o modelo de NegĂłcios descreve a lĂłgica como uma organização cria, entrega e captura valor. Para Teece (2010), o modelo de negĂłcio descreve como a empresa cria e entrega valor aos consumidores, convertendo os pagamento recebidos em lucros, enquanto que Timmers (1998, p. 4), argumenta “que o modelo de negĂłcio corresponde Ă  1) arquitetura para o produto, serviço e fluxos de informação, incluindo uma descrição dos vĂĄrios atores de negĂłcios e os seus papĂŠis, 2) a uma descrição dos potenciais benefĂ­cios para os vĂĄrios intervenientes empresariais e 3) a uma descrição das fontes de receitas”. Um bom modelo de negĂłcio cria propostas de valor que sĂŁo atraentes para os clientes, atinge custos e estruturas de risco aceitĂĄveis e permite a captura de valor significativo pela empresa (Teece, 2010). Os modelos de negĂłcio sĂŁo “frequentemente exigidos pela inovação tecnolĂłgica que cria tanto a necessidade de trazer descobertas ao mercado como a oportunidade de satisfazer as necessidades do cliente nĂŁo correspondidas” (Teece, 2010, p. 176). Mas, de forma a afigurar-se como uma vantagem competitiva, o modelo de negĂłcios tem de ser mais do que uma forma lĂłgica de fazer negĂłcios e atender Ă s necessidades especĂ­ficas dos clientes (Teece, 2010). No entanto, modelo de negĂłcio nĂŁo deve ser confundido com modelo de receita, que consiste no modo especĂ­fico em que um modelo de negĂłcios permite a geração de receita (Amit & Zott, 2001). Enquanto que um modelo de negĂłcio se refere Ă  criação de valor, um modelo de receita estĂĄ principalmente relacionado com a apropriação de valor (Amit & Zott, 2001). Segundo Mitchell & Coles (2003), alĂŠm de adotar modelos de negĂłcio para facilitar a inovação tecnolĂłgica e a gestĂŁo da tecnologia, as empresas Danny E. S. de Jesus ANÁLISE DA PROPOSTA DE VALOR POTENCIAL NA APLICAÇÃO DO BLOCKCHAIN À INDUSTRIA DE JOGO ONLINE EM PORTUGAL 7 podem ver o prĂłprio modelo de negĂłcios como um assunto de inovação. A inovação no modelo de negĂłcio ĂŠ importante, mas ainda dificil de alcançar (Chesbrough, 2010), devendo-se evitar o foco exclusivamente em segmentos de consumidores existentes e definir as suas visĂľes em segmentos novos ou nĂŁo alcançados (Osterwalder & Pigneur, 2010). As configuraçþes de ativos e processos e a incapacidade dos gestores para entender o potencial de valor de um novo modelo de negĂłcio afiguram-se como as principais barreiras Ă  implementação de um novo modelo de negĂłcio (Chesbrough, 2010). Chesbrough (2010) propĂľe ultrapassar as barreiras existentes Ă  implementação de um novo modelo de negĂłcio atravĂŠs da experimentação, embora nĂŁo seja suficiente. A proposta inclui para alĂŠm da experimentação, a efetivação e uma liderança organizacional. Para experimentar deverĂŁo ser construidos mapas de modelos de negĂłcio considerando combinaçþes alternativas de processos. Segundo Chesbrough, (2010, p. 362) “algumas experiĂŞncias vĂŁo falhar, mas uma vez que informa sobre novas abordagens e ajuda na compreensĂŁo dentro das limitaçþes da perda disponĂ­vel, este facto ĂŠ expectĂĄvel – ou mesmo incentivado”. 2.3. Proposta de valor Segundo Tzocas & Saren (1999), o conceito de valor assume bastante importância para a disciplina de marketing, mas pouco esforço de investigação tem sido dedicado a examinar o que ĂŠ o valor, como ĂŠ produzido, entregue, consumido e como ĂŠ percepcionado pelo cliente. Este esforço foi principalmente localizado em ĂĄreas como a estratĂŠgia e gestĂŁo estratĂŠgica, psicologia e sociologia do comportamento do consumidor, contabilidade e finanças (Tzocas & Saren, 1999). Klang, WallnĂśfer & Hacklin (2014), encontram na sua revisĂŁo que muitas definiçþes de modelo de negĂłcio estĂŁo fortemente relacionadas com o conceito de valor e/ou o conceito de estratĂŠgia. De acordo com Klang et al (2014) os processos de valor e valor relacionados desempenham um papel central em todas as discussĂľes relacionadas aos modelos de negĂłcio. À semelhança do conceito de modelo de negĂłcio, o valor tambĂŠm assume vĂĄrias definiçþes que evoluiram ao longo do tempo. Para Adam Smith (1776), o valor tem dois significados: Ă s vezes designa a utilidade de um determinado objeto, e outras vezes o poder de compra que o referido Danny E. S. de Jesus ANÁLISE DA PROPOSTA DE VALOR POTENCIAL NA APLICAÇÃO DO BLOCKCHAIN À INDUSTRIA DE JOGO ONLINE EM PORTUGAL 8 objeto possui, em relação a outras mercadorias, em que o primeiro se designa de ""valor de uso"", e o segundo, ""valor de troca"". De acordo com Porter (1985, p.3), “valor ĂŠ o que os compradores estĂŁo dispostos a pagar, e o valor superior decorre da oferta de preços mais baixos do que os concorrentes para benefĂ­cios equivalentes ou proporcionando benefĂ­cios Ăşnicos a um preço mais elevado”. Esta definição reflete o que Porter (1985) designa de vantagem competitiva, que pode ser obtida de duas formas: liderança em custos ou diferenciação. Segundo Porter (1985), na estratĂŠgia de diferenciação, a empresa procura ser Ăşnica no seu setor, em algumas dimensĂľes amplamente valorizadas pelos compradores enquanto que numa estratĂŠgia de liderança em custos, a empresa se propĂľe a produzir ao menor custo. Se o produto de uma indĂşstria nĂŁo cria muito valor para seus compradores, hĂĄ pouco valor a ser capturado por empresas, nĂŁo obstante os outros elementos da estrutura (Porter, 1985). O valor pode ser criado pela diferenciação ao longo de cada etapa da cadeia de valor, atravĂŠs de atividades que resultam em produtos e serviços que reduzem os custos dos compradores ou aumentam o desempenho dos compradores (Porter, 1985). No entanto, Walter, Ritter & GemĂźnden, (2001, p. 366) entendem o valor como “o trade-off percepcionado entre mĂşltiplos benefĂ­cios e sacrifĂ­cios adquiridos atravĂŠs de um relacionamento com o cliente pelos tomadores de decisĂŁo na organização do fornecedor”. De acordo com Amit & Zott (2001), os recentes avanços nas tecnologias da comunicação e da informação, como o surgimento e a rĂĄpida expansĂŁo da Internet e o rĂĄpido declĂ­nio dos custos de computação e comunicação, permitiram o desenvolvimento de novas formas de criar e entregar valor (como citado em Zott et al, 2011). Surgiram portanto outras definiçþes de valor orientadas para o e- business, como a de Amit & Zott (2001), em que o termo ""valor"" refere-se ao valor total criado em transaçþes de e-Business, independentemente de ser a empresa, o cliente ou qualquer outro participante na transação que se aproprie desse valor. Ou seja, o conceito ""valor"" (adotado de Brandenburger & Stuart. 1996), refere-se ao valor total criado como a soma dos valores apropriados por cada parte envolvidos numa transação. De acordo com Hamel (2000), as empresas devem desenvolver novos modelos de negĂłcio, nos quais a criação de valor e a captura de valor ocorrem numa rede de valor, que pode incluir fornecedores, parceiros, canais de distribuição, entre outros. Amit & Zott (2001, p. 496) argumentam que as “oportunidades de criação de valor nos mercados virtuais podem resultar de novas combinaçþes de informaçþes, produtos e serviços fĂ­sicos, configuraçþes Danny E. S. de Jesus ANÁLISE DA PROPOSTA DE VALOR POTENCIAL NA APLICAÇÃO DO BLOCKCHAIN À INDUSTRIA DE JOGO ONLINE EM PORTUGAL 9 inovadoras de transaçþes e a reconfiguração e integração de recursos, capacidades, funçþes e relacionamentos entre fornecedores, parceiros e clientes”. A criação de valor ĂŠ uma parte fundamental no modelo de negĂłcios, descrevendo o que ĂŠ oferecido e como o valor ĂŠ criado para as vĂĄrias partes envolvidas: clientes, parceiros e outros participantes. (Johnson, Whittington, Scholes, Angwin & RegnĂŠr, 2017). A principal preocupação aqui ĂŠ, portanto, o segmento de clientes-alvo e a forma como as suas necessidades sĂŁo atendidas e os seus problemas resolvidos, mas tambĂŠm como criar valor para quaisquer outras partes (Johnson et al, 2017). Descobrir como fornecer valor ao cliente e como capturar esse valor constituem os principais problemas na concepção de um modelo de negĂłcio (Teece, 2010). Para descrever os modelos de negĂłcio, Johnson et al (2017), recorrem a um modelo composto por componentes inter-relacionados, nomeadamente a a) criação de valor, abordando as necessidades e problemas de um segmento de cliente especĂ­fico e os de outros participantes, b) configuração de valor dos recursos e atividades que produzem esse valor e c) captura de valor, descrevendo os fluxos de receita e as estruturas de custos que permitem que a organização e outras partes interessadas obtenham uma parte do valor total gerado. No entanto, a anĂĄlise de Johnson et al (2017) ĂŠ limitativa, porque nĂŁo inclui a proposta de valor. PorĂŠm, no modelo CANVAS, a proposta de valor ĂŠ incluĂ­da, sendo descrita como o pacote de produtos e serviços que criam valor para um segmento de cliente especĂ­fico, resolvendo um problema ou sa";"""date"",""2020-01-03T23:11:22Z"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""pdf:PDFVersion"",""1.7"" ""pdf:docinfo:title"",""Microsoft Word - Tese_Mestrado_Versao_final_a_submeter_Danny_Jesus_GEI.docx"" ""pdf:hasXFA"",""false"" ""access_permission:modify_annotations"",""true"" ""access_permission:can_print_degraded"",""true"" ""dc:creator"",""Danny Jesus"" ""dcterms:created"",""2020-01-03T23:11:22Z"" ""language"",""pt"" ""Last-Modified"",""2020-01-03T23:11:22Z"" ""dcterms:modified"",""2020-01-03T23:11:22Z"" ""dc:format"",""application/pdf; version=1.7"" ""title"",""Microsoft Word - Tese_Mestrado_Versao_final_a_submeter_Danny_Jesus_GEI.docx"" ""Last-Save-Date"",""2020-01-03T23:11:22Z"" ""access_permission:fill_in_form"",""true"" ""pdf:docinfo:modified"",""2020-01-03T23:11:22Z"" ""meta:save-date"",""2020-01-03T23:11:22Z"" ""pdf:encrypted"",""false"" ""dc:title"",""Microsoft Word - Tese_Mestrado_Versao_final_a_submeter_Danny_Jesus_GEI.docx"" ""modified"",""2020-01-03T23:11:22Z"" ""Content-Length"",""1241239"" ""pdf:hasMarkedContent"",""false"" ""Content-Type"",""application/pdf"" ""pdf:docinfo:creator"",""Danny Jesus"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"",""Danny Jesus"" ""meta:author"",""Danny Jesus"" ""meta:creation-date"",""2020-01-03T23:11:22Z"" ""created"",""2020-01-03T23:11:22Z"" ""access_permission:extract_for_accessibility"",""true"" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""53"" ""Creation-Date"",""2020-01-03T23:11:22Z"" ""resourceName"",""DM-DESJ-2019.pdf"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""261"",""350"",""38"",""276"",""1951"",""1806"",""4105"",""1405"",""2384"",""2560"",""749"",""2388"",""2540"",""2898"",""2463"",""2882"",""2609"",""2009"",""2361"",""2469"",""2314"",""2423"",""1918"",""2031"",""2216"",""2425"",""2464"",""2388"",""2253"",""1950"",""2776"",""2358"",""2184"",""2099"",""2478"",""2671"",""638"",""2544"",""2699"",""2412"",""2429"",""2577"",""1822"",""2003"",""2233"",""2114"",""2265"",""2232"",""2208"",""1982"",""940"",""1082"",""1175"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""Author"",""Danny Jesus"" ""producer"",""Microsoft: Print To PDF"" ""access_permission:can_modify"",""true"" ""pdf:docinfo:producer"",""Microsoft: Print To PDF"" ""pdf:docinfo:created"",""2020-01-03T23:11:22Z"" ";https://scholar.google.com/scholar?start=550&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094605-923;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Identity-based revocation from subset difference methods under simple assumptions;K Lee, JH Park ; IEEE Access, 2019 ieeexplore.ieee.org;;"… by combining the subset difference (SD) method of Naor, Naor, and Lotspiech (CRYPTO 2001) and … is proven to be secure under q-type assumption in the random oracle model … an interesting problem to build an SRE scheme under standard assumptions without random oracles …";Cité 6 fois;Les 5 versions;[PDF] ieee.org;https://ieeexplore.ieee.org/iel7/6287639/8600701/08708190.pdf;" ";"""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""dc:title"",""IEEE Xplore Full-Text PDF:"" ""Content-Encoding"",""UTF-8"" ""resourceName"",""08708190.pdf"" ""language"",""es"" ""Content-Length"",""2565"" ""title"",""IEEE Xplore Full-Text PDF:"" ""Content-Language"",""en-US"" ""Content-Type"",""text/html; charset=UTF-8"" ";https://scholar.google.com/scholar?start=740&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094616-980;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[HTML][HTML] Decentralized blacklistable anonymous credentials with reputation;R Yang, MH Au, Q Xu, Z Yu ; Computers & Security, 2019 Elsevier;;"… To see this, recall that in a blockchain-based (blacklistable) decentralized anonymous credential system, users registers by putting its credential to the ledger … be generated by a simulator who is only given the description of the statement (but may control the random oracle or the …";Cité 13 fois;Les 6 versions;[HTML] sciencedirect.com;https://www.sciencedirect.com/science/article/pii/S0167404818313282?casa_token=YBpUhIS0wbAAAAAA:o5XvMN43vX-8EwS-YwDK5_EHdZDC3AehqcIl7OOTM_wbBI5mhVP8_C-QFHJxaRuBzFAihVM-;;;https://scholar.google.com/scholar?start=790&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094658-1159;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[PDF][PDF] Distributed key generation with Ethereum smart contracts;P Schindler, A Judmayer, N Stifter, E Weippl ; CIW'19: Cryptocurrency …, 2019 sqi.at;;"… sufficient waiting times between phases, to ensure that agreement on a common-prefix [11] of the Ethereum blockchain is reached … EIPS/eip-197.md, Accessed: 2018-12-15 6. Cachin, C., Kursawe, K., Shoup, V.: Random oracles in constantinople … In: Brassard, G. (ed.) CRYPTO …";Cité 2 fois;Les 3 versions;[PDF] sqi.at;https://www.sqi.at/resources/Schindler-2019-CIW-Distributed-Key-Generation-with-Ethereum-Smart-Contracts.pdf;" Distributed Key Generation with Ethereum Smart Contracts Philipp Schindler1 ďż˝, Aljosha Judmayer1, Nicholas Stifter1,2, and Edgar Weippl1,2 1 SBA Research, Austria {pschindler,ajudmayer,nstifter,eweippl}@sba-research.org 2 Vienna University of Technology, Austria Abstract. Distributed key generation (DKG) is a fundamental build- ing block for a variety of cryptographic schemes and protocols, such as threshold cryptography [9], multi-party coin tossing schemes [1], pub- lic randomness beacons [20] or (BFT) consensus protocols [6,19]. More recently, the surge in interest for blockchain technologies, and in partic- ular the quest for developing scalable protocol designs, has renewed and strengthened the need for efficient and practical DKG schemes. Surpris- ingly, the availability of DKG protocol implementations and analyses of their practicability is still highly limited, given their broad range of ap- plications. We hereby help close this gap by presenting a fully functional, well documented, economically viable DKG implementation3 for deriving keys to use with BLS threshold signatures as an Ethereum smart con- tract. Given the current Ethereum block gas limit (∟ 8M), it is possible to support up to n = 256 nodes while ensuring that any necessary con- tract call can still be executed within a single block. The practicability of our implementation is further demonstrated through the deployment and successful execution of our DKG contract in the Ropsten testnet. 1 Introduction The goal of a DKG scheme is to agree on a secret that is shared among a set of n participants such that only a subset of t < n nodes can use or reveal the secret. Secret sharing schemes, e.g. Shamir Secret Sharing [24], or (publicly) verifiable variants, assume a (trusted) dealer that wants to share a secret it knows. In contrast, in a DKG protocol no single party has knowledge of the secret that is being shared [14]. Interestingly enough, while the topic of DKG has already been extensively discussed in the literature, for example, by the works of Genanaro et al. [12] or, more recently, Kate and Goldberg [15], practical open source implementations of DKG protocols are still rare. We aim to close this gap by providing a lightweight implementation of a DKG protocol based on modern pairing based threshold 3 The source code, documentation, and logs of a successful execution in the Ropsten testnet are available at https://github.com/PhilippSchindler/ethdkg/. https://github.com/PhilippSchindler/ethdkg/ 2 P. Schindler et al. cryptography. Our implementation consists of (i) a client application executed by each party participating in the DKG protocol, and (ii) an Ethereum smart contract which ensures that adversarial behavior of any minority of clients cannot prevent the protocol from producing the desired protocol output. 2 Use Cases The ability to avoid or reduce the necessity to trust in any single third party in a DKG is an appealing characteristic, in particular in the context of per- missionless cryptocurrencies and blockchain technologies. Recent improvement proposals for blockchain and other distributed ledger protocols, e.g. randomized BFT consensus protocols such as Honeybadger [17], the Dfinity blockchain pro- tocol [13] or Calypso [16], are increasingly relying on threshold cryptography as part of the presented scheme. In this scenarios, one typically does not want to trust a single centralized entity for the required protocol setup, but instead use DKG protocols as an alternative without trusted authorities. Our DKG pro- tocol is particularly suitable for such scenarios as it can be executed on the readily available Ethereum platform, provides flexible means for registration of the participants, and tolerates faulty or adversarial behavior of any minority of participants. Our smart contract based DKG protocol can also be used to bootstrap a variety of interesting applications on the Ethereum platform itself. A candidate example is a decentralized source of publicly-verifiable, bias-resistant and un- predictable randomness, or short, a randomness beacon [20]. By levering the security and uniqueness properties of BLS threshold signatures, the construc- tion of a randomness beacon follows naturally. Within the Ethereum platform, such trustworthy randomness beacons are particularly useful, as there are cur- rently no built-in mechanisms for deriving randomness with the aforementioned characteristics. Consequently, Ethereum smart contracts largely rely on less se- cure sources of randomness (such as the block hash) or even depend on trusted third parties. Beyond an application in Ethereum smart contracts, unpredictable bias-resistant public randomness also plays an important role in a broad range of fields, including proof-of-stake and sharding protocols, privacy preserving mes- saging services, e-voting protocols, as well as gambling and lottery services [23]. Another Ethereum related use case for our DKG includes wallet contracts where multiple signatures are required to initiate some action, such as performing transactions, which can be verified with a constant amount of computation in the contract. Our DKG can also be used to setup the public key in a threshold public key encryption scheme [8]. In such a scenario, a client could encrypt a message under the generated master public key such that the decryption of the mes- sage requires the collaboration of a threshold of participants from the DKG. Combined with smart contracts, one can construct an incentive-based timelock encryption protocol [22]. Distributed Key Generation with Ethereum Smart Contracts 3 3 Related Work To the best of our knowledge, the DKG protocol [18] developed by the Orbs Net- work team is the only publicly available protocol targeting a similar deployment scenario, namely, an implementation of a DKG protocol using the Ethereum platform. However, the presented prototypical implementation appears to be in- complete and has not been updated in over 4 months. For example, countermea- sures to protect against key cancellation attacks [2] are not (yet) implemented, although documentation in the contract source code (dkg.sol) suggests that the team is aware of the issue. In the herein presented DKG protocol we provide a mechanism to protect against these kinds of attacks using a non-interactive zero-knowledge proof, which can be efficiently verified by the smart contract. Additionally, our protocol can tolerate up to f = dn2 e−1 Byzantine participants while still completing successfully. In contrast, the Orbs Network implemen- tation requires a protocol restart even if just a single adversarial participant sends an invalid share. Furthermore, we not only provide an implementation of the smart contract itself, but also make the the implementation of the client software that handles the necessary interactions with the Ethereum blockchain publicly available. 4 High Level Protocol Description Our DKG protocol is tailored towards a practical implementation to be used with the Ethereum blockchain and was not yet presented in a standalone setting. The protocol is inspired by the original presentation of secret sharing by Shamir [24] and the aggregation properties of the BLS signature scheme [2,3,4]. Our protocol operates in four consecutive phases and the smart contract ensures that the functions can only be executed during the correct phases. Further, the smart contract and client software upholds sufficient waiting times between phases, to ensure that agreement on a common-prefix [11] of the Ethereum blockchain is reached (with high probability) before taking state dependent actions. The protocol phases are: 1. Registration: Each participant submits a transaction to the smart con- tract that contains an individual public key. 2. Key Sharing: All Participants perform secret sharing of their private keys with the nodes successfully registered in the previous step. 3. Dispute: Participants may complain about invalid shares received. 4. Finalization: The master public key is constructed, uploaded and verified. In the following, we discuss each of the protocol phases in more detail. 4.1 Registration During the registration phase, each participant prepares a BLS keypair and sends the public key together with a non-interactive zero-knowledge (NIZK) proof of knowledge [7] of the secret key to the smart contract. This proof is required to protect against rogue key attacks [2], where an adversary crafts a public key in 4 P. Schindler et al. a way that, upon aggregation, cancels out the keys from other participants. Fur- thermore we use this proof to tie the participant’s externally owned Ethereum account to the BLS public key submitted, to prevent an adversary from reg- istering themselves with a public key copied from an honest participant. The contract verifies the proof, stores the public key received, assigns the registrant an incrementing id 1, 2, ..., n and triggers a Registration event to notify all par- ticipants. 4.2 Key Sharing Each of the n registered participants uses Shamir’s Secret Sharing [24] to share its BLS secret key among all previously registered nodes. We set the secret shar- ing threshold t = ⌊ n 2 ⌋ + 1. The shares are encrypted using a shared key, derived from the issuer’s secret key and the receiver’s registered public key, similar to the Diffie-Hellman key exchange protocol [10]. This construction ensures an that all shared keys (between two correct clients) are different without requiring to verifiably distribute O(n2) keys. In section 4.3, we show how to use this property to deal with disputes without having to abort the protocol under adversarial be- havior. To allow for share verification, each participant further needs to commit to the coefficients of the secret sharing polynomial. The encrypted shares and commitment are sent as a transaction to the smart contract, which triggers a KeySharing event upon successful processing in the smart contract. Upon receiv- ing a transaction with encrypted shares, the smart contract verifies that (i) a participant is eligible to upload (i.e. that the contract is in the key sharing phase and the participants has previously registered) and (ii) has provided the correct number of shares (n − 1) and commitments (t). However the contract does not (and cannot) decrypt the provided shares and check their validity. This verifi- cation is performed by the client software, which is actively monitoring the p2p network for newly mined blocks and is listening for KeySharing events. When such an event is fired, the client first decrypts their respective share and then verifies the decrypted share against the commitment to ensure its correctness. 4.3 Dispute If a participant discovers that one (or more) of its received shares are invalid, it files a dispute for each of the individual shares. For this purpose, the decryption key (i.e. the shared key between the malicious share issuer and itself) is sent as part of the dispute transaction to the smart contract. The smart contract can then attempt to decrypt the share and check for its correctness. However, the contract additionally needs to verify that the provided decryption key is indeed correct. Otherwise an adversary could easily claim that shares it received are invalid by providing an invalid decryption key. To allow for this verification, in addition to the decryption key, a participant has to provide a NIZK proof [7] showing that the decryption key is indeed valid. Notice that sending a dispute transaction renders the corresponding decryption key public knowledge. How- ever, as we ensure that all decryption keys (between correct nodes) are different, the adversary cannot learn any additional information by forcing a correct node to submit a dispute. Distributed Key Generation with Ethereum Smart Contracts 5 4.4 Finalization During the finalization phase each participant first determines the set of partic- ipants that successfully shared their secret key. A participant is only part of this set if it registered and shared its key successfully and there were no successful disputes filed against the participant. After this set is established, each partici- pant can compute its (individual) group secret key by computing the sum of the received shares. Furthermore the master public key can be computed by adding all public keys. As soon as any of the participants uploads this master public key, and the smart contract verifies its correctness, threshold signatures under this public key can be verified by the smart contract. 5 Evaluation To show the viability of our protocol we deployed our DKG contract in the Ethereum test network Ropsten and simulated a simple scenario with 5 participants running the client software. Clients A, B and C follow the prescribed protocol, while client D aborts after the registration phase and client E actively tries to manipulate the protocol run by providing an in- valid share. The contract can be found using an Ethereum block explorer such as https://ropsten.etherscan.io/ by supplying the contract address 0x64eB9cbc8AAc7723A7A94b178b7Ac4c18D7E6269. This exemplary protocol ex- ecution is further documented in the Github repository https://github.com/ PhilippSchindler/ethdkg/evaluation/. To highlight the scalability of our approach, we provide gas usage measure- ments for all types of transactions a client (potentially) needs to execute during a protocol run. We tested our implementation with up to 256 nodes and ob- serve that the consumed gas for all transactions is well below the current block gas limit of ∟ 8M . Deployment of a contract instance consumed ∟ 3.5M gas. The most expensive operation, i.e. filing a dispute, only has to be executed if an adversary actively tries to manipulate the protocol run. As in this case the adver- sarial behavior can be cryptographically proven to the smart contract, a security deposit could be used to refund the costs for a rightful dispute claim. Using the suggested gas price estimate of 2.5 Gwei from https://ethgasstation.info/, the cost of submitting a dispute in a scenario with 256 nodes is only ∟ 0.018 ETH (∟ $1.50). 6 Challenges One of the major challenges faced is the implementation of the required cryp- tographic primitives within the constraints imposed by the Ethereum platform. While elliptic curve operations such as additions, multiplications and pairings are efficiently computable on modern hardware, one needs to use a very lim- ited set of instructions (i.e. precompiled contracts [21,5]) to efficiently perform these calculations within the Ethereum EVM. In principle, one could imple- ment any required operation using the available EVM opcodes. In practice, this however leads to very high gas consumption for more involved computations. https://ropsten.etherscan.io/ https://ropsten.etherscan.io/address/0x64eB9cbc8AAc7723A7A94b178b7Ac4c18D7E6269/ https://github.com/PhilippSchindler/ethdkg/evaluation/ https://github.com/PhilippSchindler/ethdkg/evaluation/ https://ethgasstation.info/ 6 P. Schindler et al. 4 8 16 32 64 128 256 number of nodes 50000 100000 200000 400000 800000 1600000 3200000 6400000 co ns um ed g as registration finalization block gas limit key sharing dispute Fig. 1. Measured gas consumption per contract phase and participant Consequently, it is necessary to stick to the built-in primitives, and find effi- cient alternatives for operations which are not available directly. One particular limitation we had to work around is that there are no elliptic curve additions and multiplications for one of the two groups used for BLS signatures. A pos- sible solution used to overcome this problem is to perform the computations offline and verify the correctness using the precompiled pairing contract. The lack of built-in operations for e.g. symmetric key encryption or signature verifi- cation further necessitated the implementation of practical alternatives by hand. To give another example for the faced challenges, we recall the BLS signature verification mechanism: a signature σ is valid if and only if the pairing check e(σ, g2) = e(H(m), pubkey) is successful. The pairing check itself can be per- formed efficiently using a precompiled contract in Ethereum. The involved hash function H(¡) however needs to map into an elliptic curve group. Consequently, the built-in primitives for Keccak or SHA-256 hash functions cannot be used directly. We follow the description of Boneh et al. [4] to implement a proper hash function mapping map into the elliptic curve group. Considering the protocol design itself, we present an efficient solution for following challenges (in increasing complexity): (i) detection of malicious actions, (ii) cryptographically proving such behavior within the smart contract, and (iii) tolerating any minority of Byzantine participants without a protocol restart. 7 Conclusion In this paper we highlight the importance of practical DKG protocols for a wide range of cryptographic schemes and applications. We provide a working and documented open source implementation of a practical DKG protocol ready for deployment on the Ethereum platform. Thereby, we show how major en- vironmental challenges can be overcome. Despite the constraints imposed by Ethereum and the EVM, we not only demonstrate the feasibly of our approach, but also highlight its practicability in regard to gas costs and the possible number of participants. Distributed Key Generation with Ethereum Smart Contracts 7 References 1. Blum, M.: Coin flipping by telephone a protocol for solving impossible problems. ACM SIGACT News 15(1), 23–27 (1983) 2. Boneh, D., Drijvers, M., Neven, G.: Compact multi-signatures for smaller blockchains. In: International Conference on the Theory and Application of Cryp- tology and Information Security. pp. 435–464. Springer (2018) 3. Boneh, D., Gentry, C., Lynn, B., Shacham, H.: Aggregate and verifiably encrypted signatures from bilinear maps. In: International Conference on the Theory and Applications of Cryptographic Techniques. pp. 416–432. Springer (2003) 4. Boneh, D., Lynn, B., Shacham, H.: Short signatures from the weil pairing. In: Inter- national Conference on the Theory and Application of Cryptology and Information Security. pp. 514–532. Springer (2001) 5. Buterin, V., Reitwiessner, C.: EIP 197: Precompiled contracts for optimal ate pair- ing check on the elliptic curve alt bn128 (2018), https://github.com/ethereum/ EIPs/blob/master/EIPS/eip-197.md, Accessed: 2018-12-15 6. Cachin, C., Kursawe, K., Shoup, V.: Random oracles in constantinople: Practi- cal asynchronous byzantine agreement using cryptography. In: Proceedings of the nineteenth annual ACM symposium on Principles of distributed computing. pp. 123–132. ACM (2000), https://www.zurich.ibm.com/~cca/papers/abba.pdf 7. Camenisch, J., Stadler, M.: Proof systems for general statements about discrete logarithms. Technical report/Dept. of Computer Science, ETH Zürich 260 (1997) 8. Cramer, R., Gennaro, R., Schoenmakers, B.: A secure and optimally efficient multi- authority election scheme. European transactions on Telecommunications 8(5), 481–490 (1997) 9. Desmedt, Y., Frankel, Y.: Threshold cryptosystems. In: Brassard, G. (ed.) CRYPTO. Lecture Notes in Computer Science, vol. 435, pp. 307–315. Springer (1989) 10. Diffie, W., Hellman, M.: New directions in cryptography. IEEE transactions on Information Theory 22(6), 644–654 (1976) 11. Garay, J., Kiayias, A., Leonardos, N.: The bitcoin backbone protocol: Analysis and applications. In: Annual International Conference on the Theory and Applications of Cryptographic Techniques. pp. 281–310. Springer (2015) 12. Gennaro, R., Jarecki, S., Krawczyk, H., Rabin, T.: Secure distributed key genera- tion for discrete-log based cryptosystems. In: International Conference on the The- ory and Applications of Cryptographic Techniques. pp. 295–310. Springer (1999) 13. Hanke, T., Movahedi, M., Williams, D.: Dfinity technology overview se- ries consensus system (2018), https://dfinity.org/pdf-viewer/library/ dfinity-consensus.pdf, rev. 1 14. Kate, A.: Distributed key generation and its applications (2010) 15. Kate, A., Goldberg, I.: Distributed key generation for the internet. In: 2009 29th IEEE International Conference on Distributed Computing Systems. pp. 119–128. IEEE (2009) 16. Kokoris-Kogias, E., Alp, E.C., Siby, S.D., Gailly, N., Gasser, L., Jovanovic, P., Syta, E., Ford, B.: Calypso: Auditable sharing of private data over blockchains. Cryptology ePrint Archive, Report 2018/209 (2018), https://eprint.iacr.org/ 2018/209 17. Miller, A., Xia, Y., Croman, K., Shi, E., Song, D.: The honey badger of bft pro- tocols. In: Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security. pp. 31–42. ACM (2016) https://github.com/ethereum/EIPs/blob/master/EIPS/eip-197.md https://github.com/ethereum/EIPs/blob/master/EIPS/eip-197.md https://www.zurich.ibm.com/~cca/papers/abba.pdf https://dfinity.org/pdf-viewer/library/dfinity-consensus.pdf https://dfinity.org/pdf-viewer/library/dfinity-consensus.pdf https://eprint.iacr.org/2018/209 https://eprint.iacr.org/2018/209 8 P. Schindler et al. 18. Orbs Network: DKG for BLS threshold signature scheme on the EVM using solidity (2018), https://github.com/orbs-network/dkg-on-evm, Accessed: 2018-12-11 19. Rabin, M.O.: Randomized byzantine generals. In: Foundations of Computer Sci- ence, 1983., 24th Annual Symposium on. pp. 403–409. IEEE (1983), https: //www.cs.princeton.edu/courses/archive/fall05/cos521/byzantin.pdf 20. Rabin, M.O.: Transaction protection by beacons. Journal of Computer and System Sciences 27(2), 256–267 (1983) 21. Reitwiessner, C.: EIP 196: Precompiled contracts for addition and scalar multi- plication on the elliptic curve alt bn128 (2018), https://github.com/ethereum/ EIPs/blob/master/EIPS/eip-196.md, Accessed: 2018-12-15 22. Rivest, R.L., Shamir, A., Wagner, D.A.: Time-lock puzzles and timed-release crypto (1996) 23. Schindler, P., Judmayer, A., Stifter, N., Weippl, E.: Hydrand: Practical continuous distributed randomness. IACR Cryptology ePrint Archive 2018, 319 (2018) 24. Shamir, A.: How to share a secret. Communications of the ACM 22(11), 612–613 (1979) https://github.com/orbs-network/dkg-on-evm https://www.cs.princeton.edu/courses/archive/fall05/cos521/byzantin.pdf https://www.cs.princeton.edu/courses/archive/fall05/cos521/byzantin.pdf https://github.com/ethereum/EIPs/blob/master/EIPS/eip-196.md https://github.com/ethereum/EIPs/blob/master/EIPS/eip-196.md Distributed Key Generation with Ethereum Smart Contracts ";"""date"",""2018-12-18T18:49:38Z"" ""pdf:PDFVersion"",""1.5"" ""pdf:docinfo:title"","""" ""xmp:CreatorTool"",""LaTeX with hyperref package"" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""subject"","""" ""language"",""en"" ""dc:format"",""application/pdf; version=1.5"" ""pdf:docinfo:creator_tool"",""LaTeX with hyperref package"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"","""" ""modified"",""2018-12-18T18:49:38Z"" ""cp:subject"","""" ""pdf:docinfo:subject"","""" ""pdf:hasMarkedContent"",""false"" ""pdf:docinfo:creator"","""" ""PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017/Debian) kpathsea version 6.2.3"" ""meta:author"","""" ""trapped"",""False"" ""meta:creation-date"",""2018-12-18T18:49:38Z"" ""created"",""2018-12-18T18:49:38Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2018-12-18T18:49:38Z"" ""resourceName"",""Schindler-2019-CIW-Distributed-Key-Generation-with-Ethereum-Smart-Contracts.pdf"" ""Author"","""" ""producer"",""pdfTeX-1.40.18"" ""pdf:docinfo:producer"",""pdfTeX-1.40.18"" ""pdf:unmappedUnicodeCharsPerPage"",""1"",""0"",""2"",""2"",""0"",""0"",""0"",""0"" ""Keywords"","""" ""access_permission:modify_annotations"",""true"" ""dc:creator"","""" ""dcterms:created"",""2018-12-18T18:49:38Z"" ""Last-Modified"",""2018-12-18T18:49:38Z"" ""dcterms:modified"",""2018-12-18T18:49:38Z"" ""title"","""" ""Last-Save-Date"",""2018-12-18T18:49:38Z"" ""pdf:docinfo:keywords"","""" ""pdf:docinfo:modified"",""2018-12-18T18:49:38Z"" ""meta:save-date"",""2018-12-18T18:49:38Z"" ""pdf:docinfo:custom:PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017/Debian) kpathsea version 6.2.3"" ""Content-Length"",""238911"" ""Content-Type"",""application/pdf"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"","""" ""dc:subject"","""" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""8"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""2086"",""2604"",""2476"",""2754"",""2539"",""2021"",""2890"",""936"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""pdf:docinfo:trapped"",""False"" ""meta:keyword"","""" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2018-12-18T18:49:38Z"" ";https://scholar.google.com/scholar?start=970&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094586-845;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[CITATION][C] A Note on the (Im) possibility of Verifiable Delay Functions in the Random Oracle Model.;M Mahmoody, C Smith, DJ Wu ; IACR Cryptol. ePrint Arch., 2019;;null;Cité 6 fois;;null;;;;https://scholar.google.com/scholar?start=660&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094654-1140;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[PDF][PDF] Investigation on sharing signatures of suspected malware files using blockchain technology;R Fuji, S Usuzaki, K Aburada, H Yamaba… ; … Multi Conference of …, 2019 iaeng.org;;"… 6. To build a virtual environment on the computer, we installed Ubuntu 18.04 LTS using Oracle VM VirtualBox. Also, to build a blockchain within a private network, we installed Geth, an Ethereum client, and interacted with Geth through a Python script using Web3.py …";Cité 2 fois;Les 2 versions;[PDF] iaeng.org;http://www.iaeng.org/publication/IMECS2019/IMECS2019_pp94-99.pdf;" Investigation on Sharing Signatures of Suspected Malware Files Using Blockchain Technology Ryusei Fuji, Shotaro Usuzaki, Kentaro Aburada, Hisaaki Yamaba, Tetsuro Katayama, Mirang Park, Norio Shiratori and Naonobu Okazaki Abstract—In recent years, the amount of new malware has been rapidly increasing. Because malware has an adverse effect on the Internet, upon which modern society is increas- ingly dependent, its detection is very important. In addition, blockchain technology has attracted the attention of many people in recent years due to its four main characteristics of decentralization, persistency, anonymity, and auditability. In this paper, we propose a system for sharing the signatures of suspected malware files using blockchain technology. The proposed system can share the signatures of suspected files between users, allowing them to rapidly respond to increasing malware threats. Further, it improves the accuracy of detection and removal of malware by utilizing signatures recorded by the blockchain. In the evaluation experiment, we created a prototype of the proposed system and investigated its effect on the accuracy of detection and removal of malware. Compared with heuristic methods or behavior-based methods only, the proposed system which uses these methods plus signature-based method using shared signatures on the blockchain improved the false negative rate by about 4% and the false positive rate by about 2.5%. Index Terms—malware detection, blockchain technology, Ethereum, smart contract. I. INTRODUCTION MALWARE is a portmanteau word combining “mali- cious” and “software”, and it operates illegally with the purpose of theft or destruction of a computer’s internal information. Malware achieves its objectives in an infected computer by performing illegal operations without detection of its presence. An example of damage caused by malware infection is ransomware, which interrupts operation of the computer or encrypts the data inside it. The attacker will request a ransom from the user in exchange for releasing the restriction on access to the computer or its data. The amount of pecuniary damage from ransomware in 2017 is said to be USD 5 billion [1], which is a serious problem. In addition, the presence of malware in Internet of Things (IoT) equipment has been confirmed, with the “Mirai” malware at the head of the list. In 2016, denial of service attacks of up to 1.5 Tbps have been executed by exploiting IoT devices infected with “Mirai” [2]. According to Security Report 2017/2018 [3] published by AV-TEST, in recent years the number of new malware programs observed is more than Manuscript received December 20, 2018; revised February 6, 2019. This work was supported by the Japan Society for the Promotion of Science, Kakenhi Grants JP17H01736, JP17K00139, and JP18K11268. R. Fuji, S. Usuzaki, K. Aburada, H. Yamaba, T. Katayama, and N. Okazaki are with the Faculty of Engineering, Univ. Miyazaki, Gakuen-kibanadai-nishi-1-1, Miyazaki 889-2192, Japan e-mail: aburada@cs.miyazaki-u.ac.jp M. Park is with Kanagawa Institute of Technology, 1030 Shimo-Ogino, Atsugi, Kanagawa 243-0292, Japan. N. Shiratori is with Research and Development Initiative, Chuo Univer- sity, 1-13-27 Kasuga, Bunkyo-ku, Tokyo 112-8551, Japan 100 million per year, which means that about 4 new malware programs are discovered per second. Clearly, malware has a serious adverse effect on modern society by impacting the Internet that it has been founded upon. Malware detection techniques are roughly divided into three types: signature-based methods, behavior-based meth- ods, and heuristic methods [4]. Signature-based methods are commonly used to detect malware. The signature is a sequence of bytes with features extracted from malware, and if the contents of an inspected file match one of these signatures, the file is determined to be malware. Signature- based methods have the advantage of reliably detecting known malware, but they have the disadvantage of not being able to detect unknown malware. Behavior-based methods perform their malware detection by actually executing the file under inspection and observing its behavior. These methods can detect unknown malware that cannot be detected by signature-based methods. However, these methods have the disadvantage of a high false positive rate (FPR), which is the rate of benign files being labeled as malicious files. Heuristic methods are techniques that detect malware using data min- ing and machine learning techniques. The features utilized in heuristics methods include API call sequences issued to the operating system and machine language instruction. The main advantages and disadvantages of heuristics methods are similar to those of the behavior-based detection methods. To prevent malware infection, usually anti-virus software provided by a vendor is installed on the computer. Generally the malware signatures used by the anti-virus software are distributed from the anti-virus vendors, who provide and update these signatures by collecting and analyzing malware- related information from sources such as users and online malware inspection and analysis services. Hashimoto et al. [5] provided information on malware that could not be detected by anti-virus software to the vendor to calculate the subsequent malware detection rates, and evaluated the anti- virus software. According to the study, the malware detection rates 30 days after providing the malware information were 50% at most. In other words, it is conceivable that an anti- virus vendor alone cannot respond adequately to malware that is rapidly increasing. The above discussion suggests that not only should anti- virus vendors collect malware information, but also users should share this information with each other. To realize such sharing of malware information among users, we adopted blockchain technology. Blockchain technology is the fundamental technology of various virtual currencies, including Bitcoin, and it has attracted much attention in recent years. Blockchain technol- ogy was proposed by Nakamoto [6] in 2008 to realize the Bitcoin network. This technology enables rapid transactions Proceedings of the International MultiConference of Engineers and Computer Scientists 2019 IMECS 2019, March 13-15, 2019, Hong Kong ISBN: 978-988-14048-5-5 ISSN: 2078-0958 (Print); ISSN: 2078-0966 (Online) IMECS 2019 Fig. 1. Blockchain example between users with a low cost and without mediation of a central authority. Further, blockchain-based decentralized applications (Dapps), such as uPort [7], have been emerging. Dapps save and use certain information on a blockchain, and their use is expected to increase. In this paper, we propose a system for sharing the signa- tures of suspected malware files using blockchain technology. The proposed system allows the signatures of suspected files to be shared between users, and we can more rapidly respond to increasing malware. Furthermore, the shared signatures make it is possible to improve the malware detection accu- racy. II. RELATED WORK Jingjing et al. [8] proposed a framework, called Con- sortium Blockchain for Malware Detection and Evidence Extraction (CB-MDEE), that detects and classifies malware for mobile devices. The CB-MDEE is composed of two blockchains, a public blockchain (PB) and a consortium blockchain (CB). Users belonging to the PB use a multi- feature model created from, for example, sensitive behavior graphs and installation packages, to detect and classify malware, and store the information on the PB for subsequent malware detection and classification. Members of malware detection organizations belonging to the CB use the infor- mation to create a fact base for updating the malware feature database. In evaluation experiments, the CB-MDEE achieved a classification accuracy of 94% for android malware. Roman et al. [9] proposed a system to support cyber analysts by classifying and managing cyber incident reports using blockchain technology and a deep autoencoder neural network. When a cyber expert enters a cyber incident report into the system, the system classifies the report and returns past similar incident reports. Because the classification and management are executed automatically, the cyber expert can adopt suitable countermeasures quickly. In the evaluation, they used 5,850 training documents and 584 test documents to validate the effectiveness of their proposed system. For the “fulldisclosure” category, they achieved a true positive rate 0.991 and an FPR of 0.059. This study is based on the assumption that users belonging to the blockchain have a different malware detection system using behavior-based methods or heuristic methods. Then, these detection results are saved as votes on the blockchain for later use. As a result, we can detect and eliminate mal- ware by utilizing the results of our own malware detection system and votes of other users stored on the blockchain, which is different from the above studies. III. BLOCKCHAIN TECHNOLOGY A. Overview of blockchain technology Blockchain technology was proposed as a fundamental technology for realizing Bitcoin in the paper published by Nakamoto [6] in 2008. Bitcoin was realized by combining several inventions to decentralize functions, such as currency issuance and mediation of transactions, which banks typically do. Due to the decentralized function, Bitcoin makes it possible to issue currency and create transactions among users without third-party institutions, such as banks. An example of the blockchain is shown in Fig. 1. When remitting coins between users, the user on the remittance side issues a transaction describing the transfer of value, including information such as remittance amount, address of destination, and digital signature of the user on the remittance side. The issued transactions are transmitted and received between mutually connected nodes. The node that received the transaction verifies the transaction, and if the transaction is valid, the node sends it to the next node. By this transaction transmission and reception activity, the issued transaction is propagated to the entire blockchain network. Ultimately, the transaction is included in the block by a miner, and the remittance process is completed by becoming a part of the blockchain. The blockchain maintains data in- tegrity by using consensus algorithms, such as Proof of Work (PoW), Proof of Stake, and Delegated Proof of Stake. Bitcoin adopted PoW, which determines a cryptographic nonce so that the block hash value satisfies a specific hash value and generates the next block. Blocks generated by PoW are propagated to the entire Bitcoin network by transmission and reception of blocks between the nodes, and independently verified. As a result of the verification, if the block is valid, it is accepted into the Bitcoin network and becomes part of the blockchain. The blockchain has four main characteristics: decentral- ization, persistency, anonymity, and auditability [10]. Based on the above characteristics, this study adopted blockchain technology, which enables rapid sharing of suspected mal- ware signatures between users without the intervention of a central organization, such as an anti-virus vendor. It is possible to use these signatures to eliminate malware. B. Blockchain platforms Blockchain is the basis for various platforms, such as Ethereum [11] and Hyperledger [12]. Ethereum is a platform for building Dapps in an open-source development environ- ment. We can develop various applications by executing a programmed contract called a smart contract on the Ethereum blockchain. We used Ethereum because it is already used as a blockchain platform in many Dapps, such as uPort [7]. IV. PROPOSED SYSTEM In this section, we explain the proposed system. A. Overview of proposed system An overview of the proposed system is shown in Fig. 2. The blockchain network is composed of users who want to share and obtain malware information. Here, it is assumed that each user’s computer hosts a heuristic or behavior-based Proceedings of the International MultiConference of Engineers and Computer Scientists 2019 IMECS 2019, March 13-15, 2019, Hong Kong ISBN: 978-988-14048-5-5 ISSN: 2078-0958 (Print); ISSN: 2078-0966 (Online) IMECS 2019 TABLE I DEFINITIONS FOR EACH SYMBOL   Symbols Definitions Md Malicious degree Mt Threshold for malicious degree Vt Threshold for total votes Vb The number of votes of ’benign’ Vm The number of votes of ’malicious’ Rv Voting confidence rate Rs Self confidence rate Dr Detection result of own malware detection system Fv Voting fee Rv The number of votes for compensation distribution malware detection system and a signature-based system. Also, we suppose these malware detection systems use different features or methods. For example, the computer of user 1 might have a heuristic malware detection system based on API call sequences issued to the operating system and the computer of user 2 might have a heuristic malware detection system based on machine language instructions. Both users also have a signature-based detection system. The blockchain is used to store signatures (file hash values) and other information from suspected malware files. When a user downloads an executable file, heuristic or behavior-based malware detection is executed first. If the downloaded executable file is judged as malware, the user sends the file hash value to the blockchain network as a sus- pected malware file identity. When another user downloads the same executable file, the user first checks whether the file hash value of the executable file is already registered as a suspected malware file identity on the blockchain. If the same file hash value exists on the blockchain, the user’s heuristic or behavior-based malware detection system judges whether the file is malicious, and the result is sent as a vote (malicious or benign) to the blockchain network. Thereafter, based on the voting results on the blockchain and the results of its own malware assessment, the user’s detection system decides whether to remove the suspect file. A flowchart showing the process for each user is provided in Fig. 3, and symbols used in this paper are defined in Table I. B. Malware detection systems on user computers In this study, we assume that each user belonging to the blockchain network installs the following two malware detection systems on the computer: • Malware detection system using heuristic or behavior- based methods This program is executed when the user downloads an executable file. In this study, it is assumed that each user detects malware using different features or methods. • Malware detection system using signature-based meth- ods. This system is responsible for investigating whether signatures already exist on the blockchain. Also, it calculates the degree of maliciousness and eliminates the downloaded file according to the result. Fig. 2. Overview of proposed system Fig. 3. Flowchart of malware detection performed by each user C. Detection of suspected files and transmission of file hash values When a user downloads an executable file, the heuristic or behavior-based malware detection is executed first. Next, the user’s computer checks whether the file hash value is already registered as a suspected malware file hash value on the blockchain. If the file hash value does not exist on the blockchain, and if the malware detection system determines that the downloaded file is malware, the computer sends the file hash value to the blockchain network to share it and then eliminates the file. When the file hash value exists on the blockchain, the user’s detection system sends out the result of its own malware analysis as a vote (“malicious” or “benign”) to the blockchain network and then decides whether to remove the file with the elimination decision formula (see section IV-E). D. Record components Here we describe data such as file hash values and the number of votes to be stored on the blockchain. Data stored on the blockchain can be represented as a record, and its details are shown in Fig. 4. As can be seen from Fig. 4, the record is represented by the following five elements: • Suspected file hash value • Number of votes for “malicious” • Number of votes for “benign” • Addresses of users who voted “malicious” • Addresses of users who voted “benign” Proceedings of the International MultiConference of Engineers and Computer Scientists 2019 IMECS 2019, March 13-15, 2019, Hong Kong ISBN: 978-988-14048-5-5 ISSN: 2078-0958 (Print); ISSN: 2078-0966 (Online) IMECS 2019 Fig. 4. Details of a record The numbers of votes for “malicious” and “benign” are used to calculate the degree of maliciousness in the elimination decision formula (section IV-E) to determine whether to remove the file. The recording of user ad- dresses prevents the same user from illegally voting more than once. Here, the user address is not an IP ad- dress but the address used on the blockchain, such as “0xca35b7d915458ef540ade6068dfe2f44e8fa733c”. E. Elimination decision formula When the hash value of the downloaded file exists on the blockchain, the user’s detection system determines whether to remove the file based on the maliciousness degree given by the elimination decision formula. That is, when equation (1) is satisfied, the file is not deleted, and when equation (2) is satisfied, the file is deleted. Md ≤ Mt, (1) Md > Mt, (2) 0 ≤ Md ≤ 1. 1) When Vm + Vb ≥ Vt: The user’s system uses only the voting result on the blockchain and calculates the malicious- ness degree with equation (3). Md = Vm Vm + Vb . (3) 2) When Vm + Vb < Vt: The user’s system calculates maliciousness degree with expression (4), the results of vot- ing on the blockchain, and its own malware detection results by heuristic or behavior-based methods. Here, it is assumed that the malware detection system outputs 1 when the file is malware and 0 when it is benign. That is, Dr ∈ {0, 1}. Md = Vm Vm + Vb ×Rv +Dr ×Rs. (4) where Rv and Rs are defined by the following expressions: Rv = Vm + Vb Vt , (5) Rs = 1−Rv. (6) 3) Example: Suppose that an executable file is down- loaded and voting for the file hash value on the blockchain is 10 “malicious” votes (Vm = 10) and 5 “benign” votes (Vb = 5). Also, the malware detection system judges the file to be malware (Dr = 1), the threshold for total votes is set to 20 (Vt = 20), and the threshold for maliciousness degree is set to 0.5 (Mt = 0.5). The malicious degree Md in this example is calculated as follows: Md = 10 10 + 5 × 10 + 5 20 + 1× (1− 10 + 5 20 ) = 3 4 . Because 3 4 > 0.5, the file will be deleted. Fig. 5. Blockchain address registration F. Countermeasure against mass voting by malicious users The records stored on the blockchain include the addresses of users who voted in order to prevent duplicate voting by the same address. However, since any user can generate an unlimited number of addresses, it is insufficient to use only the measures described above. Therefore, we tried to solve this problem by establishing a web server by trustworthy organizations and institutions to register voting addresses and limit the addresses eligible to vote. Fig. 5 shows the countermeasures against mass voting by malicious users. First, users who wish to participate in the Ethereum blockchain network access the web server installed by trust- worthy organizations and institutions and register an address to be used for voting. The web server accesses the Register smart contract on the Ethereum blockchain and registers the address. After that, the user joins the network and acquires, registers, and votes for signatures. The Vote smart contract, which is responsible for signature acquisition, registration, and voting, accesses the Register smart contract and checks whether the address exists in the Register smart contract. If the address exists, acquisition, registration, and voting of the signature are accepted; otherwise, these are rejected. Here, the web server prohibits the registration of con- secutive addresses from the same IP address and confirms the human by CAPTCHA. From the above, it is possible to prevent the registration of addresses by malicious users and bots. G. Incentive design To encourage user voting, we designed incentives for dominant votes. The user pays a small voting fee when voting for a suspected file hash value. The user issues a message that an execution fee (Gas in Ethereum) is required to vote, but in this study, we set the fee to 0 (that is, we set gasPrice to 0). The Vote smart contract distributes the collected voting fee for each Rv for a suspected file hash value. Here, we define the votes belonging to the detection result with more votes as the dominant vote and the result with fewer votes as the inferior vote. The voting fees are distributed only to users who voted for the dominant vote for every Rv . Voting fees are not distributed to users who cast an inferior vote. Suppose that the number of dominant votes is DV and number inferior votes is IV . Then, the voting fee V Fdist to Proceedings of the International MultiConference of Engineers and Computer Scientists 2019 IMECS 2019, March 13-15, 2019, Hong Kong ISBN: 978-988-14048-5-5 ISSN: 2078-0958 (Print); ISSN: 2078-0966 (Online) IMECS 2019 TABLE II PARAMETER DEFINITIONS FOR EQUATIONS (10) AND (11) Symbol Definition True Positive (TP) The number of malware detected as malware correctly True Negative (TN) The number of benign files judged as benign files correctly False Positive (FP) The number of benign files detected as malware mistakenly False Negative (FN) The number of malware judged as benign files mistakenly Fig. 6. Overview of experiment environment be distributed is determined by the following equations: V Fdist = Fv ×Rv DV (for dominant votes), (7) V Fdist = 0(for inferior votes), (8) DV > IV,DV + IV = Rv. (9) By the above incentive design, the frequency and correctness of user voting will be promoted. V. EVALUATION In this section, we explain an evaluation experiment to verify the effectiveness of the proposed system. The purpose of the experiment is to investigate whether the accuracy of detecting and removing malware is improved by using the proposed system. To conduct the experiment, we created a prototype of the proposed system. A. Overview of evaluation experiment An overview of the experimental environment is shown in Fig. 6. To build a virtual environment on the computer, we installed Ubuntu 18.04 LTS using Oracle VM VirtualBox. Also, to build a blockchain within a private network, we installed Geth, an Ethereum client, and interacted with Geth through a Python script using Web3.py. B. Detection accuracy indicators We used the false negative rate (FNR) and FPR as eval- uation indexes for malware detection and removal accuracy. FNR is the rate at which malware is mistakenly judged as a benign file, and FPR is the rate at which a benign file is erroneously detected as malware. FNR = FN TP + FN , (10) FPR = FP TN + FP . (11) The definitions of the symbols in equations (10) and (11) are given in Table II. C. Simulation procedure In the evaluation experiment, it is assumed that no mali- cious user exists and each user possesses the malware detec- tion systems described in section IV-B. In this experiment, rather than implementing user-specific malware detection systems, we created pseudo malware detection systems that have FPR and FNR as parameters. In addition, it is assumed that each user performs the malware detection of heuristic methods or behavior-based methods for all the predefined files regarded as malicious or benign, and registers, votes, and obtains information from the blockchain as necessary. First, we created an address representing each user using a Python script and interacting with Geth. Next, we deployed the Register and Vote smart contracts on the blockchain and registered the addresses that we originally created with the Register smart contract. The simulation continued until each address representing the user performed malware detection and removal for all predefined files regarded as malicious or benign. D. Parameters In this experiment using the system prototype, the number of user addresses was 30, the number of file hash values assumed as malicious or benign was 30 each, Vt = 15, and Mt = 0.5. In addition, the FPR and FNR of the pseudo malware detection systems were set with reference to the literature [13], where Windows malware was detected using machine instruction sequences. Specifically, malicious instruction ex- traction and malicious sequential pattern extraction (MSPE) were used to efficiently and effectively obtain malicious se- quences by heuristic methods. In the evaluation experiment, the detection result with MSPE combined with all-nearest- neighbor was the best result, achieving a detection rate of 96.17% (FNR of 3.17%) and FPR of 6.13% They also experimented with combinations of other clas- sifiers, and we set the FNR to 5% and FPR to 6% based on their experiment results. E. Results and discussion The experimental results are shown in Table III. Case A and Case B in the table are as follows: • Case A Heuristic methods or behavior-based methods only. • Case B Heuristic methods or behavior-based methods plus signature-based method using signatures on the blockchain. FNR and FPR in Case B are the average for all users. Proceedings of the International MultiConference of Engineers and Computer Scientists 2019 IMECS 2019, March 13-15, 2019, Hong Kong ISBN: 978-988-14048-5-5 ISSN: 2078-0958 (Print); ISSN: 2078-0966 (Online) IMECS 2019 TABLE III EXPERIMENTAL RESULTS FNR FPR Case A 0.05 0.06 Case B 0.013 0.035 FNR and FPR in Case A are the values from section V-D. From Table III, FNR and FPR in Case B improved by about 4% and 3%, respectively. Therefore, the proposed system that utilizes the signatures from the blockchain can improve the accuracy of detection and removal of malware. However, the standard deviations of FNR and FPR were 0.044 and 0.022, respectively. For this reason, it was revealed that some users who use the proposed system have degraded malware detection and removal accuracy. VI. SUMMARY In this paper, we proposed a system to share and uti- lize signatures of suspected malware files using blockchain technology. This system aims to quickly share signatures of suspected files among users and improve the accuracy of detection and removal of malware without a centralized organization, such as an anti-virus vendor. In the evaluation experiment, we created a prototype of the proposed system and investigated its accuracy for detecting and removing mal- ware. The evaluation experiment showed that the proposed system improved the FNR by about 4% and the FPR by about 2.5%. For future work, it is necessary to evaluate the proposed system using malware detection systems based on actual heuristic or behavior-based methods. In addition, it is necessary to set each parameter and precondition so as to more accurately reflect the real world. REFERENCES [1] Sultan, Hirra, et al. ”A SURVEY ON RANSOMWARE: EVOLUTION, GROWTH, AND IMPACT.” International Journal of Advanced Re- search in Computer Science vol 9, No. 2 (2018). [2] Barrera, David, Ian Molloy, and Heqing Huang. ”IDIoT: Securing the Internet of Things like it’s 1994.” arXiv preprint arXiv:1712.03623 (2017). [3] AV-TEST ”SECURITY REPORT 2017/18” available at:https: //www.av-test.org/fileadmin/pdf/security report/AV-TEST Security Report 2017-2018.pdf (accessed 2018/12/02). [4] Bazrafshan, Zahra, et al. ”A survey on heuristic malware detection techniques.” Information and Knowledge Technology (IKT), 2013 5th Conference (2013):113-120. [5] Ryota Hashimoto, Katsunari Yoshioka , and Tsutomu Matsumoto . ”Evaluation of Anti-Virus Software based on the Correspondence to Non-Detected Malware” (in Japanese) Distributed Processing System (DPS) (2012): 1-8. [6] Nakamoto, Satoshi. ”Bitcoin: A peer-to-peer electronic cash system.” (2008). [7] uPort.me at:https://www.uport.me/ (accessed 2018/12/02). [8] Gu, Jingjing, et al. ”Consortium Blockchain-Based Malware Detection in Mobile Devices.” IEEE Access 6 (2018): 12118-12128. [9] Graf, Roman, and Ross King. ”Neural network and blockchain based technique for cyber threat intelligence and situational awareness.” 2018 10th International Conference on Cyber Conflict (CyCon). IEEE, 2018. [10] Zheng, Zibin, et al. ”An overview of blockchain technology: Archi- tecture, consensus, and future trends.” IEEE 6th International Congress on Big Data (2017): 557-564. [11] Ethereum Project available at:https://www.ethereum.org/ (accessed 2018/12/02). [12] Hyperledger - Open Source Blockchain Technologies available at:https://www.hyperledger.org/ (accessed 2018/12/02). [13] Fan, Yujie, Yanfang Ye, and Lifei Chen. ”Malicious sequential pattern mining for automatic malware detection.” Expert Systems with Appli- cations 52 (2016): 16-25. Proceedings of the International MultiConference of Engineers and Computer Scientists 2019 IMECS 2019, March 13-15, 2019, Hong Kong ISBN: 978-988-14048-5-5 ISSN: 2078-0958 (Print); ISSN: 2078-0966 (Online) IMECS 2019 ";"""date"",""2019-03-18T12:04:19Z"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"" ""pdf:PDFVersion"",""1.5"" ""xmp:CreatorTool"","" TeX output 2019.02.06:1441"" ""pdf:hasXFA"",""false"" ""access_permission:modify_annotations"",""true"" ""access_permission:can_print_degraded"",""true"" ""dcterms:created"",""2019-02-06T05:41:40Z"" ""language"",""en"" ""Last-Modified"",""2019-03-18T12:04:19Z"" ""dcterms:modified"",""2019-03-18T12:04:19Z"" ""dc:format"",""application/pdf; version=1.5"" ""xmpMM:DocumentID"",""uuid:ec979e2b-aa63-4081-a6db-d1f4a96429c7"" ""Last-Save-Date"",""2019-03-18T12:04:19Z"" ""pdf:docinfo:creator_tool"","" TeX output 2019.02.06:1441"" ""access_permission:fill_in_form"",""true"" ""pdf:docinfo:modified"",""2019-03-18T12:04:19Z"" ""meta:save-date"",""2019-03-18T12:04:19Z"" ""pdf:encrypted"",""false"" ""xmp:CreateDate"",""2019-02-06T14:41:40Z"" ""modified"",""2019-03-18T12:04:19Z"" ""Content-Length"",""1313993"" ""pdf:hasMarkedContent"",""false"" ""Content-Type"",""application/pdf"" ""xmp:ModifyDate"",""2019-03-18T20:04:19Z"" ""xmp:MetadataDate"",""2019-03-18T20:04:19Z"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""pdf:producer"",""dvipdfmx (20170318)"" ""meta:creation-date"",""2019-02-06T05:41:40Z"" ""created"",""2019-02-06T05:41:40Z"" ""access_permission:extract_for_accessibility"",""true"" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""6"" ""Creation-Date"",""2019-02-06T05:41:40Z"" ""resourceName"",""IMECS2019_pp94-99.pdf"" ""pdf:hasXMP"",""true"" ""pdf:charsPerPage"",""5467"",""5025"",""3609"",""3898"",""3638"",""3069"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""producer"",""dvipdfmx (20170318)"" ""access_permission:can_modify"",""true"" ""pdf:docinfo:producer"",""dvipdfmx (20170318)"" ""pdf:docinfo:created"",""2019-02-06T05:41:40Z"" ";https://scholar.google.com/scholar?start=950&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094621-991;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Enhancing IoT security and privacy using distributed ledgers with IOTA and the tangle;B Shabandri, P Maheshwari ; 2019 6th International …, 2019 ieeexplore.ieee.org;;"… In this paper, we lay out an architecture for incorporating a concept similar to Blockchain - the technology that underpins the cryptocurrency Bitcoin and … IoT. [17] proposes an approach where SGX extensions are used as an oracle to trustfully feed data into a blockchain …";Cité 17 fois;;[PDF] ieee.org;https://ieeexplore.ieee.org/iel7/8700085/8711482/08711591.pdf?casa_token=E1G3HANntC0AAAAA:nc4gGtV4OvyAZFtcvhoF0noAHV2byNg1EYUk6_O9JyAQwFVoOT4jlFfBUUjXx7zLLHItKQbt6SY;" Skip to Main Content IEEE Account Change Username/Password Update Address Purchase Details Payment Options Order History View Purchased Documents Profile Information Communications Preferences Profession and Education Technical Interests Need Help? US & Canada: +1 800 678 4333 Worldwide: +1 732 981 0060 Contact & Support About IEEE Xplore Contact Us Help Accessibility Terms of Use Nondiscrimination Policy Sitemap Privacy & Opting Out of Cookies A not-for-profit organization, IEEE is the world's largest technical professional organization dedicated to advancing technology for the benefit of humanity. Š Copyright 2021 IEEE - All rights reserved. Use of this web site signifies your agreement to the terms and conditions. ";"""og:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""twitter:title"",""Enhancing IoT Security and Privacy Using Distributed Ledgers with IOTA and the Tangle"" ""twitter:card"",""summary"" ""Description"",""The Internet of Things (IoT) devices currently rely on centralized, brokered communication models which call for a number of security flaws and threats. Privacy"" ""og:title"",""Enhancing IoT Security and Privacy Using Distributed Ledgers with IOTA and the Tangle"" ""resourceName"",""08711591.pdf"" ""language"",""en"" ""title"",""Enhancing IoT Security and Privacy Using Distributed Ledgers with IOTA and the Tangle | IEEE Conference Publication | IEEE Xplore"" ""og:description"",""The Internet of Things (IoT) devices currently rely on centralized, brokered communication models which call for a number of security flaws and threats. Privacy & security remain a challenge owing to the existing systems being centralized - creating a single point of failure. In this paper, we lay out an architecture for incorporating a concept similar to Blockchain - the technology that underpins the cryptocurrency Bitcoin and many other cryptocurrencies to provide decentralized security and privacy for IoT devices. Currently, the issue with most IoT devices is that they lack the processing power, storage and computational overhead to run consensus algorithms to be an active part of the Blockchain network. The current issue with the blockchain on the other hand, is its low scalability and low number of transactions per second. We present an innovative approach using a technology called IOTA. This addresses some of the most important problems with existing blockchain infrastructure such as being able to run on lightweight devices with constrained memory. We eliminate transaction fees and the concept of mining which requires a large amount of processing power to compete with other miners. IOTA's main component is the Tangle, a guided acyclic graph (DAG) for transaction storage. We discuss creation of two IoT applications on the tangle - a smart utility meter system and a smart car transaction system which are connected to internet through Low Power Wide Area IoT networks."" ""twitter:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-UA-Compatible"",""IE=Edge"" ""viewport"",""width=device-width, initial-scale=1.0"" ""dc:title"",""Enhancing IoT Security and Privacy Using Distributed Ledgers with IOTA and the Tangle | IEEE Conference Publication | IEEE Xplore"" ""twitter:description"",""The Internet of Things (IoT) devices currently rely on centralized, brokered communication models which call for a number of security flaws and threats. Privacy & security remain a challenge owing to the existing systems being centralized - creating a single point of failure. In this paper, we lay out an architecture for incorporating a concept similar to Blockchain - the technology that underpins the cryptocurrency Bitcoin and many other cryptocurrencies to provide decentralized security and privacy for IoT devices. Currently, the issue with most IoT devices is that they lack the processing power, storage and computational overhead to run consensus algorithms to be an active part of the Blockchain network. The current issue with the blockchain on the other hand, is its low scalability and low number of transactions per second. We present an innovative approach using a technology called IOTA. This addresses some of the most important problems with existing blockchain infrastructure such as being able to run on lightweight devices with constrained memory. We eliminate transaction fees and the concept of mining which requires a large amount of processing power to compete with other miners. IOTA's main component is the Tangle, a guided acyclic graph (DAG) for transaction storage. We discuss creation of two IoT applications on the tangle - a smart utility meter system and a smart car transaction system which are connected to internet through Low Power Wide Area IoT networks."" ""Content-Encoding"",""UTF-8"" ""Content-Type-Hint"",""text/html; charset=utf-8"" ""Content-Length"",""42850"" ""Content-Language"",""en-US"" ""Content-Type"",""text/html; charset=UTF-8"" ";https://scholar.google.com/scholar?start=810&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094644-1099;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[PDF][PDF] Formalization of Security Requirements and Attack Models for Cryptographic Hash Functions in ProVerif;T Yoshimura, K Arai, H Okazaki… ; Proceedings of the …, 2019 csce.ucmss.com;;"… the results be unreliable if the formal definitions of crypto- graphic functionalities are insufficient … Thus, we can verify that this formalization of the random oracle holds onewayness and collision … 1We can use a private channel to formalize the random oracles for innocent users …";Cité 1 fois;Les 2 versions;[PDF] ucmss.com;https://csce.ucmss.com/cr/books/2019/LFS/CSREA2019/SAM9721.pdf;" Formalization of Security Requirements and Attack Models for Cryptographic Hash Functions in ProVerif Togo Yoshimura1, Kenichi Arai2, Hiroyuki Okazaki1, and Yuichi Futa3 1Graduate School of Science and Technology, Shinshu University, Nagano–city, Nagano, Japan 2Graduate School of Engineering, Nagasaki University, Nagasaki-city, Nagasaki, Japan 3School of Computer Science, Tokyo University of Technology, Hachioji-city, Tokyo, Japan Abstract— ProVerif and similar verification tools auto- matically analyze the security of cryptographic protocols. However, verification results will be incorrect if the formal definitions of cryptographic functionalities are incomplete. Unfortunately, to date, there has been no way to confirm the symbolically analyzed behavior of such functionalities. Furthermore, we have not been able to describe attacker models using these tools. In this paper, we propose a method to define cryptographic functionalities by verifying their cryptographic requirements using ProVerif. Especially, we focus on cryptographic hash functions. The proposed method makes it possible to verify security requirements other than the properties designated by formalized attacker models. In addition, using symbolic verifiers, the proposed method makes it possible to verify security requirements that are cryptographically meaningful. Therefore, the proposed method is expected to contribute to formally defining ad- vanced cryptographic functionalities and accurately verify- ing the security of cryptographic protocols comprising such functionalities. Keywords: Formal Verification, Security Requirements, Crypto- graphic Hash Function, ProVerif 1. Introduction Formal verification of cryptographic protocols has been studied extensively in recent years. ProVerif[1], [2] is one of the most successful automatic cryptographic protocol verifiers. ProVerif and similar verification tools (Scyther[3], AVISPA[4], etc) automatically analyze the security of cryp- tographic protocols formally described in the Dolev-Yao model[5]. Such tools consider cryptographic protocols as interactions among processes that involve cryptographic functionalities. Generally, we formally define cryptographic functionalities as abstract functions. In symbolic analysis, a function is considered a mapping from terms to terms, and such functions are characterized by rewriting term rules. Thus, we can describe functions by giving rewriting rules for terms called reduction or equation. Verification tools apply symbolic analysis to search the execution path that breaks the cryptographic protocols. However, several factors weaken the reliability of verification results, and the results be unreliable if the formal definitions of crypto- graphic functionalities are insufficient. For example, formal definitions do not consider the security requirements of cryptographic functionalities. In this paper, cryptographic functionality refers to a function holding certain security requirements. Here, a function is a relation between its input and output, and a security requirement defines the properties the function should hold. Verification tools only allow us to define a function and check the designated properties. The verifier repeatedly applies the given rewriting rule for terms to analyze function behavior. Unfortunately, to date, there has been no way to confirm the symbolically ana- lyzed behavior of such functions. Therefore, when verifying cryptographic protocols, we must assume that the defined cryptographic functionalities are ideal without any evidence of security requirements. Consequently, verification results will be incorrect if the formal definitions of cryptographic functionalities are incomplete. This is particularly true in a detailed verification case. Even if we define cryptographic functionalities or protocols and verify their security using basic functions using ProVerif, we cannot confirm the cor- rectness of the verification results without analyzing what the results mean relative to security. Furthermore, we have not been able to describe attacker models using these tools. For example, when formal verifying cryptographic protocols that use a cryptographic hash function, we use an ideal function as hash functions. A cryptographic hash function must hold the security requirements such as collision resistance, onewayness. Here, ideal function means an arbitrarily chosen one-to-one function. Therefore, in principle, collisions never occur with ideal functions and calculating reverse images is difficult. So, in formal verification, we verify the security of the cryptographic protocols under the strong assumption that cryptographic functionalities, such as cryptographic hash function, are never broken. Similarly, other basic cryptographic functionalities are formalized to seem having corresponding security requirements under strong assump- tions. In theory, it have been confirmed by cryptographers’ discussion that most of basic cryptographic functionalities are formalized that hold corresponding security requirements under the strong assumptions. However, no way is given to confirm the formalized cryptographic functionalities security requirements. The verification result of target cryptographic Int'l Conf. Security and Management | SAM'19 | 23 ISBN: 1-60132-509-6, CSREA Press Š protocol may be wrong if the tool have some bugs or tools limitation although the formalization of the protocol is composed of such ideal cryptographic functionalities in theory. Thus, we had to verify cryptographic protocols by believing that the formalized cryptographic functionalities would hold corresponding security requirements. Thus we can make the reliability of protocol verification by checking the security requirements of formalized functionalities with the same verification tool. In addition, our method helps us to formally define new cryptographic functionalities that must hold complex security requirements. Moreover, introducing the formalization of attacker model into the verification, we can allow the attackers the advantage to break the security requirements. In other words, the attack model can appropriately weaken the above-mentioned too strong assumptions. Consequently, we can verify the security of cryptographic protocols under more realistic conditions by introducing both security requirements and attacker model. In this paper, we propose a method to define cryptographic functionalities by verifying their cryptographic requirements using ProVerif. First, we describe how to formalize security requirements and attacker models in ProVerif. Specifically, we consider typical cryptographic functionalities and pro- pose a method to verify security requirements against active attacks using ProVerif. Thus, the importance of security ver- ification against such active attacks is increasing. Therefore, we propose a method to check security requirements using designated queries by introducing a process for instructing detailed the attack goal into the protocol. In addition, we pro- pose a method to formalize attacker models by introducing an attack oracle as a process that the attacker is permitted to access. First, to introduce our basic idea of proposed method, we demonstrate the verification of the security requirements of cryptographic hash functions, onewayness and collision- resistance. Second, we show our formalization of random oralce, and verify the equivalence between the behaiver of cryptographic hash function and that of random oralce. In a similar manner, we have proposed the security requirements and attack models for public key cryptosystems in ProVerif [6]. The proposed method makes it possible to verify secu- rity requirements other than the properties designated by formalized attacker models. In addition, using symbolic verifiers, the proposed method makes it possible to verify security requirements that are cryptographically meaningful. Therefore, the proposed method is expected to contribute to formally defining advanced cryptographic functionalities and accurately verifying the security of cryptographic protocols comprising such functionalities. 2. ProVerif ProVerif[1], [2] is an automatic cryptographic protocol verifier in the formal model (the Dolev–Yao model[5]). ProVerif assumes that the cryptographic functionalities are ideal. This is based on an abstract representation of the protocol by Horn clauses[7] and can verify the cryptographic properties of secrecy[8], authentication[9], strong secrecy[10], weak secrecy[11], and observational equivalence[11]. The ProVerif input file consists of a decla- ration part and an execution part. In the declaration part, the terms and components of cryptographic protocols, such as variables, functions, and channels, are defined. We define processes, define rewriting rules for terms, and include queries in the declaration part. Note that adversaries can use non-private terms in the verification phase, although we define terms to construct processes. To define the protocol to verify, we describe how the process is executed in the execution part. 2.1 Syntax of Process Execution In this section, we briefly review about the execution part. We give the execution state of the protocol in the exe- cution part. We describe the initiator process directly, and the responder processes defined in the declaration part are executed in parallel as follows: Initiator | responder2 | responder1 | ¡ ¡ ¡ . !P represents the unbounded number of replications of P executed in parallel as follows: P | P | P | . . . . Processes communicate through the public channel. An attacker can intercept messages through the public channel and send any message to the channel. Furthermore, we omit the details of the declaration part for the convenience of the paper width. Please refer to [2] for details. 2.2 ProVerif Queries In this section, we briefly review the queries for the ProVerif verifier. ProVerif has some queries that are directives to the verifier for checking whether protocols have the designated security properties or not. We are able to check basic security requirements such as secrecy and authentication by using these designated queries. However, ProVerif’s designated queries are not sufficient for the security verification of advanced security requirements. We will propose a method that enable to check more detailed and advanced security requirements by combining these queries and the processes that indicate the attack goal. Here, we show the basic queries appearing in this paper as follows: Secrecy: “query attacker(X)” The verifier checks whether the attacker can know term X. If “not attacker (X)” is true, term X is kept secret until the protocol has been terminated. Correspondence Assertions: 24 Int'l Conf. Security and Management | SAM'19 | ISBN: 1-60132-509-6, CSREA Press Š “query event(X(v)) =⇒ event(Y(v))” The verifier checks whether event Y(v) is exe- cuted when event X(v) is executed. If “event(X(v)) =⇒ event(Y(v))” is true, event Y(v) is always executed when event X(v) is executed. Note that “event(X(v)) =⇒ event(Y(v))” is true when the variable v of each event is executed with the same value. If “event(X(v)) =⇒ event(Y(v))” is false, event X(v) can be executed without executing event Y(v). Here, “event(X(v)) =⇒ event(Y(v))” is false even if the variable v of each event can be executed with a different value. We can express the presence or absence of access to an oracle using this event query. We describe a method to check several cryptologic properties, such as existential unforgeability, using this query in Section 3. Strong Secrecy: “noninterf X” The verifier checks whether the behavior of the execution of a process depends on the variable X. If “noninterf X” is true, the attacker cannot dis- tinguish any difference in term X. In other words, strong secrecy is a concept that is approximately equivalent to semantic secrecy in cryptology. Observational Equivalence: “choice[A, B]” We construct the “choice” query in a process. First, the verifier reconstructs a process that contains the term “choice[A, B]” as two processes. One process replaces “choice[A, B]” into A, and the other replaces “choice[A, B]” as B. Next, the verifier checks two bisimilar processes. The bisimilar pro- cesses are observationally equivalent if “choice[A, B]” is true. In Section 3, we present a method to check several cryptologic properties, such as indistinguishability, using the choice query. 3. Formalizing Security Requirements and Attacker Models in ProVerif In this section, we propose formalizations of security requirements and attacker models in ProVerif. Generally, we have not been able to describe attacker models using ProVerif. Moreover, ProVerif’s designated queries were insufficient for security verification of advanced cryptologic protocols; however, we could check basic secu- rity requirements, such as secrecy and authentication, using the designated queries (Figure 1). Therefore, we propose a method to check security requirements using designated queries by introducing a process for instructing detailed the attack goal into the protocol. In addition, we propose a method to formalize attacker models by introducing an attack oracle as a process that the attacker is permitted to access (Figure 2), which makes it possible to verify security requirements other than the designated properties under the formalized attacker models. Process A ADV Process B Basic Security Requirements Only Fig. 1: Conventional Verification Model in ProVerif. Process A ADV Process B Process C (Process for Instructing Detailed Attack Goal)Process D (Attack Oracle) Attack Success Flag Event Permission to Access Attack Oracle Security Requirements Instruction for Attacker More Detailed and Advanced Security Requirements Fig. 2: Our Method. First, to introduce our basic idea of proposed method, we demonstrate the verification of the security requirements of cryptographic hash functions, onewayness and collision- resistance. Second, we show our formalization of random oralce, and verify the equivalence between the behaiver of cryptographic hash function and that of random oralce. 3.1 Cryptographic Hash Function In general, a cryptographic hash function holds two cryp- tographic properties, onewayness and collision-resistance. 3.1.1 Onewayness In ProVerif, a cryptographic hash function is often defined as a simple function. We can confirm onewayness by veri- fying the secrecy[8] of the input data of this function using ProVerif, through the following protocol. (* Code.1: Verifying Onewayness *) free c: channel. free s:bitstring [private]. Int'l Conf. Security and Management | SAM'19 | 25 ISBN: 1-60132-509-6, CSREA Press Š query attacker(s). fun hash(bitstring): bitstring. process out(c, hash(s)) ProVerif judges the secrecy of variable is “true” (secure). Thus, we verify that this hash function holds onewayness. 3.1.2 Collision-Resistance Unfortunately, ProVerif does not have queries for ver- ifying collision-resistance directly. In order to confirm collision-resistance by ProVerif, we employ the following process to indicate the goal of verification to ProVerif. (* Code.2: Indicating-Process *) (* for Collision-Resistance *) let processA = in (c, (ha1:bitstring,ha2:bitstring)); if(ha1 <> ha2 && hash(ha1) = hash(ha2)) then event COL. In the verification, we execute this additional process in parallel with main protocol. Although this process has no re- lationship with the original protocol, it can trick adversaries and ProVerif. Once a pair of variables that collide in the hash function is input from the channel, the event COL will be excuted. Thus, we can define the following protocol to verify the collision-resistance of the hash function by ProVerif. (* Code.3: Verifying Collision-Resistance *) free c: channel. free s: bitstring [private]. (* Query *) event COL. query event(COL). (* Hash function *) fun hash(bitstring): bitstring. (* Indicating-Process *) (* for Collision-Resistance *) let processA = in (c, (ha1:bitstring,ha2:bitstring)); if(ha1 <> ha2 && hash(ha1) = hash(ha2)) then event COL. process (!processA) | out(c, hash(s)) We can confirm the collision-resistance by verifying the execution of event COL. ProVerif judges that the event COL is not executed. Thus, we verify that this hash function holds collision-resistance. In order to confirm the validity of our method, we define the following function and equation to formalize collision occurrence: (* Code.4: Occurring Collision *) fun co(bitstring, bitstring): bitstring. equation forall x:bitstring, y:bitstring; hash(co(x,y)) = hash(co(y,x)). We can easily occur collision using this definition and equality. We confirm the collision-resistance by adding this function and equation to Code.3. ProVerif judges that the collision-resistance is “false” (not secure). When ProVerif outputs false, it means that there is an attack that breaks the collision-resistance. In other words, it means that the collision-resistance has been broken. Therefore, our verifi- cation method for cryptographic functionalities works well. In Section 3.2, we will show our formalization of random oralce, and verify the equivalence between the behaiver of cryptographic hash function and that of random oralce. 3.2 Formalizing Cryptographic Functionalities as Protocols in ProVerif In Section 3.1, we proposed a method to verify security requirements that could not be verified by ProVerif directly. As an example of the proposed method, we verified the collision-resistance of the hash function formalization using ProVerif. We confirmed whether a function is defined to hold the cryptographic requirements of the hash function. In other words, we verified that the function is defined as cryptographic functionalities of the cryptographic hash function. Such functions are defined in too abstract a manner to describe the cryptographic functionality in detail, because we are allowed to describe the feature of a function by giving rewriting rules, relationships between inputs and outputs of the function. We confirmed that a function satisfies the requirements of cryptographic hash function: onewayness and collision-resistance. We have no information about the function, except that it is an abstract oneway collision- resistance function. Though collisions may occur in actual hash functions, we cannot describe such a case in the conventional method as mentioned above. Thus, we propose a method to formalize cryptographic functionalities as processes instead of functions. To intro- duce our method, we describe how to formalize a random oracle[12] as a process. In a similar manner, we can also formalize other cryptographic functionalities. 3.2.1 Random Oracle We formalize the random oracle process as follows: (* Code.5: Process of Random Oracle *) let processRolacle = in (c, r:bitstring); new hs: bitstring; get RO(=r,hs’) in out(c, (r,hs’)) else insert RO(r,hs); out(c, (r,hs)). where RO is a table kept secret from adversaries. Please refer to [2] for details regarding this table. When a variable r is input from the channel, the process refers to the RO table. The processRoracle outputs the digest of r, if r is already registered; otherwise, it registers a random nonce as the digest of r and outputs it to the channel. We can define the following protocol to verify the onewayness and collision- resistance of the random oracle process using ProVerif in a similar manner as that for verifying hash functions mentioned in Section 3.1: 26 Int'l Conf. Security and Management | SAM'19 | ISBN: 1-60132-509-6, CSREA Press Š (* Code.6: Verifying Random Oracle *) free c: channel. free s: bitstring [private]. event COL. table RO(bitstring,bitstring). query event(COL). query attacker(s). let processRolacle = (* processRolacle is omitted for short *) out(c, (r,hs)). let processA = in (c, (ha1:bitstring,ha2:bitstring)); get RO(=ha1,ha1d) in get RO(=ha2,ha2d) in if (ha1 <> ha2 && ha1d = ha2d) then event COL. process (!processA) | (!processRolacle) | ( (* MAIN PROCESS *) new hs: bitstring; insert RO(s,hs); out(c, hs) ) where processA is the trick process for the collision- resistance of the random oracle. The processRoracle allows adversaries to access it via the public channel. If the main process refers to the oracle in the same way, communications will be exposed to adversaries. In order to avoid such cases, we formalized that the MAIN PROCESS can access the RO table directly1. ProVerif judges that the event COL is not executed and the secrecy of s is true. Thus, we can verify that this formalization of the random oracle holds onewayness and collision-resistance. We define the following processes to formalize collision occurrence: (* Code.7: Occurring Collision *) let processC = new n1:bitstring; new n2:bitstring; new c12:bitstring; insert RO(n1,c12); insert RO(n2,c12). let processC1 = new n1:bitstring; new n2:bitstring; new c12:bitstring; insert RO(n1,c12); insert RO(n2,c12); out(c, n1). let processC2 = new n1:bitstring; new n2:bitstring; new c12:bitstring; insert RO(n1,c12); 1We can use a private channel to formalize the random oracles for innocent users. But we avoid using private channels because many problems are reported with their use in the current version of ProVerif[2]. insert RO(n2,c12); out(c, (n1,n2)). ProcessC registers the same digest for both variables n1 and n2. ProcessC1 registers the same digest and reveals one of the variables n1. ProcessC2 reveals both variables n1 and n2. We confirm the collision-resistance by executing each of these processes. ProVerif judges that the collision-resistance is true if ProcessC or ProcessC1 is executed. ProVerif judges that the collision-resistance is “false” (not secure) if Pro- cessC2 is executed. Consequently, our verification method for cryptographic functionalities works well. 3.3 Observational Equivalence between Primi- tives In Sections 3.1 and 3.2, we proposed two ways that can verify that cryptographic functionality. Specifically, we gave the formal definitions of hash functions and random oracles. ProVerif also includes the query “choice,” which can be used to check the observational equivalence between two terms[11]. ProVerif judges whether adversaries can guess which argument of “choice” is selected by observing the behavior of the process. We can verify the observational equivalence between hash functions and random oracles by the following protocol: (* Code.8: Checking Observational Equivalence *) (* declaration part is omitted for short *) process (!processRolacle) | ( (* MAIN PROCESS *) new s: bitstring; new hs: bitstring; insert RO(s,hs); out(c, choice[hs,hash(s)]) ) ProVerif judges that the observational equivalence be- tween hash functions and random oracles is true. Simple formalization, as mentioned in Section 3.1, is better than the process described in Section 3.2, in terms of verification accuracy. This is because checking ProVerif queries is both costly and exhaustive. However, the latter approach allows us to formalize a more detailed description. We can expect that replacing formalization of cryptographic primitives doesn’t cause serious trouble on the verification result, if these primitives are observational equivalent. We can conclude that the two proposed approaches should be used selectively. 4. Conclusion In this paper, we proposed a method to define cryp- tographic functionalities by verifying their cryptographic requirements using ProVerif. Specifically, we proposed a method to check security requirements using designated queries by introducing a process for instructing detailed the attack goal into the protocol. In addition, we proposed a method to formalize attacker models by introducing an attack oracle as a process that the attacker is permitted to access. First, to introduce our basic idea of proposed Int'l Conf. Security and Management | SAM'19 | 27 ISBN: 1-60132-509-6, CSREA Press Š method, we demonstrate the verification of the security requirements of cryptographic hash functions, onewayness and collision-resistance. Second, we show our formalization of random oralce, and verify the equivalence between the behaiver of cryptographic hash function and that of random oralce. The proposed method made it possible to verify security requirements other than the designated properties under formalized attacker models. The proposed method also made it possible to verify security requirements meaningful cryptographically using symbolic verifiers. Therefore, the proposed method is expected to contribute to formally defin- ing advanced cryptographic functionalities and accurately verifying the security of cryptographic protocols comprising such functionalities. Acknowledgment This study is partly supported by the JSPS KAKENHI 17K00182 and 18K02917. This work is based on the re- search activity of CELLOS (Cryptographic protocol Evalua- tion toward Long-Lived Outstanding Security). The authors thank all colleagues from CELLOS who provided expertise that greatly assisted the research. References [1] B.Blanchet(Project leader), “ProVerif: Cryptographic protocol verifier in the formal model.” Available at http://prosecco.gforge.inria.fr/personal/bblanche/proverif/. [2] B.Blanchet, B.Smyth, and V.Cheval, “ProVerif 1.96: Automatic Cryp- tographic Protocol Verifier, User Manual and Tutorial.” Available at http://prosecco.gforge.inria.fr/personal/bblanche/proverif/manual.pdf. [3] Cas J.F. Cremers, “The scyther tool: Verification, falsification, and analysis of security protocols,” Proc. of 20th International Conference on Computer Aided Verification (CAV’08), LNCS 5123, pp.414–418, Springer-Verlag, 2008. [4] A.Armando, D.Basin, Y.Boichut, Y.Chevalier, L.Compagna, J.Cuellar, P.Hankes Drielsma, P.C.HeĂĄm, O.Kouchnarenko, J.Mantovani, S.MĂśdersheim, D.von Oheimb, M.Rusinowitch, J.Santiago, M.Turuani, L.Viganò, L.Vigneron, “The AVISPA Tool for the Automated Validation of Internet Security Protocols and Applications,” Proc. of 17th International Conference on Computer Aided Verification (CAV’05), LNCS 3576, pp.281–285, Springer-Verlag, 2005. [5] D.Dolev and A.Yao, “On the Security of Public Key Protocols,” IEEE Transactions on Information Theory, Vol.29(2), pages 198–208, 1983. [6] Hiroyuki Okazaki, Yuichi Futa, Kenichi Arai, “Suitable Symbolic Models for Cryptographic Verification of Secure Protocols in ProVerif,” The International Symposium on Information Theory and Its Applica- tions(ISITA2018), pages 326–330, 2018. [7] B.Blanchet, “Using Horn Clauses for Analyzing Security Protocols,” Formal Models and Techniques for Analyzing Security Protocols, volume 5 of Cryptology and Information Security Series, pages 86– 111, 2011. [8] B.Blanchet, “An Efficient Cryptographic Protocol Verifer Based on Pro- log Rules,” In 14th IEEE Computer Security Foundations Workshop, pages 82–96, 2001. [9] B.Blanchet, “From Secrecy to Authenticity in Security Protocols,” 9th International Static Analysis Symposium (SAS’02), volume 2477 of Lecture Notes in Computer Science, pages 342–359, 2002. [10] B.Blanchet, “Automatic Proof of Strong Secrecy for Security Proto- cols,” In IEEE Symposium on Security and Privacy, pages 86–100, 2004. [11] B.Blanchet, M.Abadi, and C.Fournet, “Automated Verification of Se- lected Equivalences for Security Protocols,” In 20th IEEE Symposium on Logic in Computer Science (LICS 2005), pages 331–340, 2005. [12] M.Bellare and P.Rogaway, “Random Oracles are Practical: A Paradigm for Designing Efficient Protocols,” ACM Conference on Computer and Communications Security, pages 62–73, 1993. Appendix This paper propose a method to define cryptographic functionalities by verifying their cryptographic requirements using ProVerif and a method to formalize security require- ments and attacker models. In particular, we demonstrate how to verify the security requirements of cryptographic hash functions, onewayness, and collision-resistance. This method is expected to formally define advanced crypto- graphic functionalities and accurately verify the security of the cryptographic protocols that include such functionalities. Generally, ProVerif verifies the security of protocols con- structed with ideal cryptographic functionalities; however, such ideal functions are practically difficult to achieve. Thus, we replace these ideal functionalities in such protocols with feasible algorithms to develop real-world cryptographic protocols. We believe that these algorithms can also be verified using ProVerif. In particular, simple cryptographic algorithms were easy to verify. However, several cryptographic algorithms in- cluding iteration and recursion are not supported by ProVerif. In fact, most classical cryptographic hash functions, in- cluding MD5 and SHA–1, are designed as the iteration of a compression function called the Merkle–DamgĂĽrd construc- tion. Consequently, we are attempting to formalize iteration in ProVerif, by regarding it as internal inter-process com- munication using a private channel and tables. In ProVerif, attackers cannot access tables or channels declared as being private. Herein, we present a formalization of the Merkle– DamgĂĽrd construction, although it does not capture the following concrete configuration. (* Code.9: MD-construction *) free c:channel. free t:channel[private]. free s:channel[private]. const zerotuple:bitstring. fun block(bitstring):bitstring. fun tail(bitstring):bitstring. fun comp(bitstring,bitstring):bitstring. fun len(bitstring):bitstring. table nexttuple(bitstring,bitstring). table MD(bitstring,bitstring). event COL. query event(COL). let makeMD(mmm:bitstring, mtail:bitstring,length:bitstring) = in(s,(rm:bitstring,ha:bitstring)); get nexttuple(=rm,nextb) in if(nextb <> mtail) then ( let newha = comp(ha,nextb) in out(s,(nextb,newha)) ) else ( let MDh = comp(comp(ha,nextb),length) in insert MD(mmm,MDh); out(c,MDh) ). 28 Int'l Conf. Security and Management | SAM'19 | ISBN: 1-60132-509-6, CSREA Press Š let Collison = in(c, (a1:bitstring, a2:bitstring)); get MD(=a1,MDa1) in get MD(=a2,MDa2) in if(a1 <> a2 && MDa1 = MDa2) then event COL. process !( new mm:bitstring; out(c,mm); let b1 = block(mm) in let b2 = block(b1) in insert nexttuple(mm,b1); insert nexttuple(b1,b2); insert nexttuple(b2,tail(mm)); out(s,(mm,zerotuple)); !makeMD(mm,tail(mm),len(mm)) ) |!Collison Int'l Conf. Security and Management | SAM'19 | 29 ISBN: 1-60132-509-6, CSREA Press Š ";"""date"",""2019-07-08T03:35:54Z"" ""pdf:PDFVersion"",""1.6"" ""xmp:CreatorTool"",""pdftk 1.44 - www.pdftk.com"" ""pdf:docinfo:title"",""Proceedings of SAM'19"" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""language"",""en"" ""dc:format"",""application/pdf; version=1.6"" ""pdf:docinfo:creator_tool"",""pdftk 1.44 - www.pdftk.com"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"",""Proceedings of SAM'19"" ""xmp:CreateDate"",""2019-07-07T20:35:51Z"" ""modified"",""2019-07-08T03:35:54Z"" ""pdf:hasMarkedContent"",""false"" ""xmp:ModifyDate"",""2019-07-07T20:35:54Z"" ""pdf:docinfo:creator"",""UCMSS"" ""meta:author"",""UCMSS"" ""meta:creation-date"",""2019-07-08T03:35:51Z"" ""created"",""2019-07-08T03:35:51Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2019-07-08T03:35:51Z"" ""resourceName"",""SAM9721.pdf"" ""Author"",""UCMSS"" ""producer"",""Acrobat Distiller 11.0 (Windows)"" ""pdf:docinfo:producer"",""Acrobat Distiller 11.0 (Windows)"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""access_permission:modify_annotations"",""true"" ""dc:creator"",""UCMSS"" ""dcterms:created"",""2019-07-08T03:35:51Z"" ""Last-Modified"",""2019-07-08T03:35:54Z"" ""dcterms:modified"",""2019-07-08T03:35:54Z"" ""title"",""Proceedings of SAM'19"" ""xmpMM:DocumentID"",""uuid:78e464e7-3a38-47b0-979e-896011c3b2c8"" ""Last-Save-Date"",""2019-07-08T03:35:54Z"" ""pdf:docinfo:modified"",""2019-07-08T03:35:54Z"" ""meta:save-date"",""2019-07-08T03:35:54Z"" ""Content-Length"",""166838"" ""Content-Type"",""application/pdf"" ""xmp:MetadataDate"",""2019-07-07T20:35:54Z"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"",""UCMSS"" ""pdf:producer"",""Acrobat Distiller 11.0 (Windows)"" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""7"" ""pdf:hasXMP"",""true"" ""pdf:charsPerPage"",""4611"",""4705"",""3335"",""4161"",""3698"",""5277"",""403"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2019-07-08T03:35:51Z"" ";https://scholar.google.com/scholar?start=910&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094544-669;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[PDF][PDF] Decentralized Certificate Authority as a blockchain application;MR Mortensen, M Thomsen ;2019 blog.rostgaard.it;;"… Ether Native crypto currency of the Ethereum blockchain … 2.2.2 Blockchain The Ethereum blockchain, which launched in 2015, is a generalized, trusted computing platform, which allows anyone, who holds the native cryptocurrency 13 Page 14 …";;;[PDF] rostgaard.it;https://blog.rostgaard.it/files/Thesis.pdf;" Decentralized Certificate Authority as a blockchain application Course code: KISPECI1SE Mark Rostgaard Mortensen (mrom@itu.dk) Markus Thomsen (matho@itu.dk) June 3rd 2019 Abstract Certificate Authorities have centralized power of the issuance of TSL certificates. This makes them single points of failure, when it comes to communicating over the HTTPS protocol. This paper explores how it may be possible to decentralize the power of Certificate Authorities using decentralized applications running on the Ethereum blockchain. We developed two approaches: The first approach use a Decentralized Autonomous Organization, that will act as Certificate Authority enforcing multiple signatures of a re- quested certificate. The second approach, named Dapp-CA, replace the membership as- pect with economical incentives, to incentivize honest, open participation. Participants in the Dapp-CA stake valuable tokens on the validity of a cer- tificates, with the risk of losing them if breaking the rules. We conclude that it is possible to use blockchain to enforce decentral- ization when approving certificates. However, changes are necessary to the DNS record, for the Dapp-CA not to be vulnerable to attack. Scalability remains an issue, making real-world usage impractical, without further research. 1 Contents 1 Introduction 5 1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.1.1 Transport Layer Security . . . . . . . . . . . . . . . . . . 5 1.1.2 Certificate Authorities . . . . . . . . . . . . . . . . . . . . 6 1.2 Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.3 Related work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.3.1 Multi-signatures Certificate Authorities . . . . . . . . . . 7 1.3.2 HTTP Public Key Pinning . . . . . . . . . . . . . . . . . 8 1.3.3 Certificate Transparency . . . . . . . . . . . . . . . . . . . 8 1.3.4 Blockchain based proposals . . . . . . . . . . . . . . . . . 8 1.4 Hypothesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.4.1 Research question . . . . . . . . . . . . . . . . . . . . . . 10 2 Problem Analysis 11 2.1 Certificate Authorities . . . . . . . . . . . . . . . . . . . . . . . . 11 2.1.1 Certificate Issuance Process . . . . . . . . . . . . . . . . . 12 2.2 Decentralization as a solution . . . . . . . . . . . . . . . . . . . . 13 2.2.1 Decentralized Certificate Authorities . . . . . . . . . . . . 13 2.2.2 Blockchain . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2.3 Certificate Transparency . . . . . . . . . . . . . . . . . . . 15 2.2.4 Economical incentives . . . . . . . . . . . . . . . . . . . . 16 3 User Guide and Requirements 17 3.1 Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.2 Smart contracts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.2.1 Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.2.2 Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.2.3 DAO-CA . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.2.4 Dapp-CA . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.3 Firefox extension . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.3.1 Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.3.2 Extension building . . . . . . . . . . . . . . . . . . . . . . 22 4 Method 24 4.1 Certificate Transparency Log . . . . . . . . . . . . . . . . . . . . 24 4.2 DNS challenge . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.3 DAO-CA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.3.1 Smart contract . . . . . . . . . . . . . . . . . . . . . . . . 29 4.4 Dapp-CA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.4.1 Smart contracts . . . . . . . . . . . . . . . . . . . . . . . . 31 4.4.2 Certificate attestation . . . . . . . . . . . . . . . . . . . . 33 4.4.3 Governance Token . . . . . . . . . . . . . . . . . . . . . . 34 4.4.4 Forking . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.5 Frontend (Firefox implementationen) . . . . . . . . . . . . . . . . 37 2 5 Results 38 5.1 DAO-CA Cost . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 5.2 Dapp-CA Cost . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 6 Discussion 43 6.1 Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 6.1.1 Blockchain censorship attack vectors . . . . . . . . . . . . 44 6.1.2 Certificate Transparency Attack Vectors . . . . . . . . . . 47 6.1.3 DAO Attack vectors . . . . . . . . . . . . . . . . . . . . . 47 6.1.4 Dapp-CA attack vectors . . . . . . . . . . . . . . . . . . . 49 6.1.5 Social layer . . . . . . . . . . . . . . . . . . . . . . . . . . 51 6.2 Economical Incentives . . . . . . . . . . . . . . . . . . . . . . . . 52 6.3 Scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 6.3.1 Plasma, Sidechains and off-chain scaling . . . . . . . . . . 53 6.4 Comparison of the established solution, DAO-CA and Dapp-CA 54 6.4.1 Established solution . . . . . . . . . . . . . . . . . . . . . 54 6.4.2 Proposed Solutions . . . . . . . . . . . . . . . . . . . . . . 55 6.5 What could have been done better . . . . . . . . . . . . . . . . . 57 6.5.1 Dapp-CA reliability on DNS text . . . . . . . . . . . . . . 57 6.5.2 Gas-usage optimization . . . . . . . . . . . . . . . . . . . 58 6.6 Future work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 6.6.1 Mechanism design improvements . . . . . . . . . . . . . . 58 6.6.2 Security Audit and formalization . . . . . . . . . . . . . . 59 6.7 Usability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 6.7.1 UI, UX, Firefox . . . . . . . . . . . . . . . . . . . . . . . . 60 7 Conclusion 61 A Smart Contract Code 65 A.1 CertificateTransparency.sol . . . . . . . . . . . . . . . . . . . . . 65 A.2 MinDAO.sol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 A.3 Controller.sol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 A.4 Tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 A.4.1 ERC20Basic.sol . . . . . . . . . . . . . . . . . . . . . . . . 75 A.4.2 BasicToken.sol . . . . . . . . . . . . . . . . . . . . . . . . 75 A.4.3 BurnableToken.sol . . . . . . . . . . . . . . . . . . . . . . 76 A.4.4 StakeableToken.sol . . . . . . . . . . . . . . . . . . . . . . 76 A.4.5 MigrateableToken.sol . . . . . . . . . . . . . . . . . . . . . 77 A.4.6 SafeMath.sol . . . . . . . . . . . . . . . . . . . . . . . . . 78 3 Glossary Attestor A participant in the Dapp-CA or DAO-CA that is responsible for accepting or rejecting certificates.. Crypto currency Native payment token of a public blockchain. Ether Native crypto currency of the Ethereum blockchain. Ethereum A public blockchain known for it’s ability to run smart contracts. GOV The ERC-20 token created for the Dapp-CA. Smart contract Smart contracts are the colloquial term used to describe pro- grammable scripts deployed on blockchains. Solidity The most used programming language for programming smart con- tracts on Ethereum. Acronyms CA Certificate Authority. CT Certificate Transparency. DAO Decentralized Anonymous. dApp Decentralized Application, typically one implemented with smart con- tracts. DNS Domain Name Server. DPKI Decentralized Public-Key Infrastructure. HPKP HTTP Public Key Pinning. HTTPS Hypertext Transfer Protocol Secure. IETF Internet Engineering Task Force. PKI Public-Key Infrastructure. RFC Request For Comments. TLS Transport Layer Security. 4 1 Introduction The World Wide Web have always been an excersize in decentralization. It is possible to connect to many different terminals and servers, and exchange messages between machines, without anyone’s approval. The internet funda- mentally relies on routing messages through many different machines, and this makes it harder to know, if you’re actually communication with who you think you are. Securing and verifying the authenticity of the communication is there- fore an important task that have been worked on for more than 26 years, when the certificate standard X.509 was first defined in rfc1422[33]. With this standard came the concepts of trusted third-parties known as Cer- tificate Authorities.[35] CAs are centralized entities, responsible for certifying the identity of domain owners. The CAs doesn’t come without problems. They present a single point of failure, and their power can be abused to impersonate websites at will. This have presented problems for example hackings of CAs compromising 300.000 users emails. These problems will be discussed in section 1.2. Companies, academia and independent researcher are working on solving the problems with centralized CAs. Some of these solutions are documented in section 1.3. In this paper we present research done, as a part of a research project, in the spring of 2019 at the IT-University in Copenhagen. The project revolves around TSL certificates and it’s signing using trusted third parties known as ’Certificate Authorities’. 1.1 Background 1.1.1 Transport Layer Security The TLS protocol exist to provide security of communication over a network. The fundamental architecture of the internet results in messages being routed through many different machines, before arriving at their end destination. A malicious actor controlling any of these machines, can change and read the message as they see fit. To avoid this, protocols can be used, one of them is the TLS protocol. The TLS protocol aims to ensure, amongst other, the following properties: • Privacy: The TLS protocol use asymmetric encryption to create a shared secret, that is the base of the symmetric encryption which is used to exchange information securely. • Authentication: The identities of participants can be authenticated. • Integrity: The protocol uses message authentication codes, which ensures that messages can’t be tampered with or altered. While all of these properties are important, this papers primary focus will be on the property of authentication. 5 Authentication of participants in TLS is carried out with public-key cryptog- raphy, and uses certificates, to attest to the identity of the party that is being communicated with. TLS uses the X.509 certificate format, which includes in- formation about the issuer of the certificate, the subject, information about the signature, cryptographic algorithms used, and more. A secure session starts when a browser sends a request to a server, the server will respond with its certificate which contains a public key. The public key is used to encrypt a session key, this session key is sent back to the server where the server will decrypt the session key using the servers private key. When the session key is decrypted on the server the communication between the clients browser and the webserver can now all be encrypted symmetrically. 1.1.2 Certificate Authorities When visiting a website that are using HTTPS, the issuer of the certificate will in almost all cases be a Certificate Authority. CAs are third parties, which both participants in the TLS protocol, should trust. Their purpose is to issue certificates to website owners, and other untrusted parties, which can then use said certificate to prove the authenticity of the communication. It’s important to note, that certificates do not protect against any malicious behaviour by the issuer, nor by the authenticated website, but merely ensures that the connection can be trusted to actually be with who the other party says they are, I.E. the domain you are visiting are owned by the certificate owner. The certificates issued by a CA, only guarantees authenticity of communication, as long as the CA can be trusted. Nothing in the protocol itself incentivize or stops CAs from issuing misleading certificates to malicious third parties. The threat of legal issues and financial ruin, coupled with reputation, is used to keep CAs in-check. Since certificates are issued by a single CA, and have no other parties which attest to their veracity, a single compromised CA will compromise the security of every certificate issued by that CA. Furthermore compromised CAs will be able to issue valid certificates until it is publicly known that they have been compromised. In other words, CAs are a single-point of failure in the current implementation of TLS. This security hole has been misused by both hackers and national intelligence agencies[11]. 1.2 Problem CAs can sign certificates for any ’Common Name’, also known as domains. For a user to trust a certificate created by a domain owner, it first needs to be signed by a CA. Browsers and operating systems comes pre-installed with lists of trusted CAs so the user knows which CAs the software trusts. 6 The process to become as trusted CA is difficult and often expensive. Mi- crosoft have a process for becoming a trusted CA for their platforms. It is a long and strenuous process[16]. Mozilla have a similarly difficult CA program[17] to be included into the Mozilla software suite, the premiere product of which being the Firefox browser. It is necessary that the process to become a trusted CA is difficult. Because one of SSL certificates main purposes is to establish authenticity of commu- nication, this gives the CAs the power to impersonate any website. With a critical single points of failure such as this, it becomes paramount, that no entity can compromise it, however no such thing can be guaranteed. Human failure, exploitation of software security holes and malicious insiders can all lead to compromise of the CA system. One of the more noteworthy cases has been the hack on DigiNotar in 2011.[11] DigiNotar was compromised and more than 500 certificates were issued and signed by DigiNotar, and considered to be valid by the browsers. The certificates were used to read the emails of more than 300,000 Iranians. It took more than a month after the breach was discovered, before DigiNotar went public with the information. Another story was that in 2015 Symantec’s subsidiary Thawte generated SSL certificates, that weren’t requested by the owner of the domains, for testing purposes.[5] CAs can also be compelled into issuing false certificates by governments. Attacks like these can be especially difficult to discover, as the certificate may only be used to target very specific users. These examples show that without trustworthy TSL certificates, HTTPS traffic received over the Internet cannot be trusted. 1.3 Related work There already exists research and proposed solutions to the problems described in section 1.2. These range from already tried and failed solution such as HTTP Public Key Pining, to currently implemented Certificate Transparency. Some of the more recent research includes blockchains, and these mostly describe how to decentralize the Public Key Infrastructure, used on the Internet today, completely. 1.3.1 Multi-signatures Certificate Authorities One proposal to decentralize certificate issuance, and thereby avoiding the single point of failure, is to have multiple CAs sign every certificate. This is most effec- tively accomplished by using threshold encryption schemes[26]. The drawbacks to this approach, is that the certificate signing process would still be controlled by CAs, many of which may be within the same jurisdiction. To avoid compro- mise of certificates by nation states, it would be necessary to have certificate issuers located in multiple jurisdictions, and preferably have the governments 7 of these jurisdictions be non-cooperative, or even adversarial. A benefit to this approach, is that it could rather easily be extended from the current infrastruc- ture. A drawback is that it can be hard to have transparency in who the signers are, unless made an explicit part of the certificate information. 1.3.2 HTTP Public Key Pinning HTTP Public Key Pinning is a protocol to pin a public key to a users browser[25]. The first time a user visits a website that have HPKP implemented, the server sends one or more public keys with the HTTP header in the field named ’Public- Key-Pins’. This field contains information as to how long the keys are expected to be valid. After this initial pinning, the browser saves the information. The browser will then only accept requests with certificates that are signed with the pinned public key. HPKP has been implemented in modern browser since 2015, but in 2018 Google discontinued HPKP in their Chrome browser, due to lack of use and for security measures[37]. Pinning turned out to be too much responsibility in the hands of inexperienced users. If a hacker or social engineer convince them to use his public key, and therefore correctly pin a false certificate, it becomes possible for him to make an attack, negating the upsides of pinning. Google and other researchers has since moved to ensure that the certificates presented are also correctly signed by a CA. This effort is called Certificate Transparency and is moving towards completely replacing HPKP. 1.3.3 Certificate Transparency Certificate Transperancy[22] is a protocol designed to enable anyone to monitor the activity of CAs. It’s already implemented in most modern browsers and working. This paper describes CT in greater detail in section 2.2.3. 1.3.4 Blockchain based proposals Decentralization of the entire PKI structure using blockchains have been pro- posed. One approach is Decentralized Public Key Infrastructure written by Butterin et al.[30] and suggest using blockchains to register identities, such as domains. SCPKI: A Smart Contract-based PKI and Identity System written by Mustafa Al-Bassam[21] is another one and this propose to use a reimplementation of the web of trust model using Ethereum smart contracts to handle the signing and revocation of trust. Decentralized Public Key Infrastructure DPKI propose to decentralize the entirety of public key infrastructure. This would be a major departure from the current system, requiring every principal, the owner of an identity such as a domain name, to never lose their signing keys, 8 or risk losing the ability to control their identity. The paper describes rules that would need to be implemented to make it a decentralized, transparent and open system: • ”Each principal must be in complete control of their current identifier/public- key binding.” [p. 6] • ”Either every principal must witness every other principal’s updates to their identifier/public-key binding or else no one may observe any up- dates.” [p. 6] • ”Permissionless Writes: Any principal can broadcast a message pro- vided that it is well-formed. Other peers in the system do not require admission control. This implies a decentralized consensus mechanism.” [p. 7] • ”Fork Choice Rule: Given two histories of updates, any principal can determine which one is the ’most secure’ through inspection.” [p. 7] • ”Private keys must be generated in a decentralized manner that ensures they remain under the principal’s control.” [p. 7] • ”Software must ensure that principals are always in control of their iden- tifiers and the corresponding keys.” [p. 7] • ”Software must ensure, to greatest degree possible, that no mechanism ex- ists that would allow a single entity to deprive a principal of their identifier without their consent.” [p. 8] A principal, who is the domain owner, would have direct control and ownership of a domain name by registering it in a blockchain. For this reason, the system insist that each principal must be in complete control of their own key and not allow web hosting or CAs to once again centralize control, by being key holders. This way a malicious entity would need to compromise every principal they want to attack, and not just a single CA. The paper describes how principals can manage their public-key bindings. It is crucial that the principals private keys are not lost. This would result in an irretrievable loss of access to the principals identity. It’s proposed to shard the master key. This would allow multiple identities to own a piece of the master key, and when joined together, will create the master key. The sharding can use threshold cryptography, so as to only need N out of M, where M >= N , pieces of the shards are required to construct the master key. A second proposal is to use smart contracts to create a multi-signature script that needs N out of M signatures to execute and recover the key. SCPKI: A Smart Contract-based PKI and Identity System 9 This paper is written by Mustafa Al-Bassam[21] and is a research project ex- ploring how to use Ethereums smart contracts to systemize web of trust as described by PGP 2.0. The system is designed to let an entity create a new attribute for themselves, such as a college degree, and then another entity, like the university, will be able to sign that degree, or revoke it if the university no longer trust the validity of the degree. The system is based on trusting participants. For example if you trust a university and they signed a degree for another entity, then you should trust the validity of that degree. Where it differ from the current CA solution, is that every participant would have to decide which organizations they trust. Both SCPKI and DPKI proposes radical and ambitious ways to change the current PKI system. SCPKI proposes a concrete solution while DPKI is mostly a paper describing the rules of a decentralized PKI, rather than a concrete implementation. 1.4 Hypothesis We believe voting and economic mechanisms, can be used to design a decen- tralized protocol, which allows participants to issue and verify TLS-certificates in a decentralized manner, using the blockchain and smart contracts. 1.4.1 Research question Is it possible to issue TLS-certificates in a decentralized manner, while keeping the ability to resist loss of private keys, and revoking invalid certificates, using the Ethereum blockchain? 10 2 Problem Analysis 2.1 Certificate Authorities When a user visits a website, they will normally type in the domain name such as ’www.facebook.com’, instead of the direct IP address. The browser will make a DNS lookup and find the corresponding IP address of Facebooks server, and establish a connection with that server. If a malicious party has placed themselves between the user and Facebook, the malicious party can impersonate Facebook. This allows them to collect the data that Facebook and the user communicate between each other. This is known as a man-in-the-middle attack. To alleviate this issue, a website can provide the user a certificate to prove its identify and use the corresponding private key to encrypt it’s messages, ensuring safe communication between the user and the website. Everyone can create and sign their own certificate, for this reason, a cer- tificate alone is not enough information for the user to know, if it’s actually Facebook or a malicious party they’re communicating with. This is the reason that Certificate Authorities (CA) exist today. A CA is a company, or another trusted third party, which exist to validate the ownership of domains and sign requested certificates, if the ownership can be proven. This way the user know to trust the certificate received by the website if the websites certificate have been signed by a trusted CA. It’s not in the scope of this paper to explain how you become a trusted CA. The important aspect is that everyone can potentially be it and it is, in the end, up to the software the user is using to decide whether a CA is trusted or not. In other words, which CAs are trusted are defined on a software by software basis. In some cases, users may have control over which certificates they trust, and can add a CAs root certificate, thereby trusting any certificate signed by that CA. The root certificate is the certificate the CA use to sign other certificates to their system. The duties of the CA is to receive certificate signing request, where a claimed owner of a domain will ask the CA to sign their certificate so that they are able to use it to prove their identity to the users of their website. The CA can do this in different ways. One way, that the CA Let’s Encrypt uses, are the ACME protocol’s DNS challenge[29]. Once a request have been deemed valid, the CA will then sign the certificate, and the certificate is now ready to be used by the domain owner. The CA is also responsible for revoking certificates, though CAs at the current state have trouble enforcing this[38]. Having most of the Internets communication rely on these companies and institutions, give them a lot of power. Once they are trusted by a users system they can sign, certificate for every website. The power of a trusted CA can allow a malicious party to assume the identity of any domain, and thereby break the PKI system and the trust that follows, at least until the breach is discovered 11 and disclosed. 2.1.1 Certificate Issuance Process Figure 1: Diagram of the certificate issuance process[31] Figure 1 shows the process of certificate issuance. The protocol works as follows: A requester, Mario Rossi, needs a certificate to match his public key, so he can provide it to visitors of his website. He sends information about the certifi- cate he wish to create, to a CA he trusts. What information is required by the CA to sign the certificate is up to the specific CA, and dependent on which ver- ification protocol they use. Using Let’s Encrypt requires at least providing[12]: • Common Name • Subject Alternative Names • Subject Public Key Info Where common name is the name of Mario’s domain. Subject alternative names is a list of all the domains associated with the certificate, for example Facebook uses the same certificate for facebook.com and messenger.com. Lastly the Subject Public Key Info is the corresponding public key to Mario’s private key. 12 This information is used to create a Certificate Signing Request (CSR), and Mario can then ask Let’s Encrypt to sign the CSR, which will create the signed certificate. Before Let’s Encrypt is willing to sign the CSR, Mario needs to prove that he owns the domain. This can be done using Let’s Encrypts DNS challenge as explained on their website[13] and or in the ACME protocol[29]. Once the domain validation have passed, and Mario is considered the owner of the domain, he will receive a certificate that he can use to prove his domains authenticity. 2.2 Decentralization as a solution This paper proposes to decentralize the power of the CA by decentralizing parts of the certificate signing process. The paper suggests two solutions. The first is a Decentralized Autonomous Organization that acts as CA, the description of this can be found in section 4.3. The second proposed solution is a decentralized application that act as CA. Anyone can participate in the decentralized application, provided the have the capital necessary. This is described in detail in section 4.4. Decentralization is not without it’s obstacles. Coordination between multiple participants, is always difficult, especially when they have to arrive at consensus. This is made more difficult by the existence of potential malicious participants. 2.2.1 Decentralized Certificate Authorities To alleviate the problems with centralization as mentioned in section 1.2 it seems that decentralization through blockchains, as described in section 2.2.2 might offer possible solutions. We seek to accomplish two goals with our decentralized CAs First, it should be an atomic action to accept a certificate, and have it directly included in a decentralized Certificate Transparency log as described in section 2.2.3. There should be no middlemen between the decentralized application and the CT log. This will ensure that newly issued certificates are broadcast immediately to anyone watching the CT log. Secondly; Every certificate request should require more than one approval to be accepted by the decentralized application. Multiple participants in the decentralized application, would need to accept the certificate before it is con- sidered valid. This will fix the problems of CAs being single points of failure, with more honest participants requiring more failures on part of the participants as a whole. Smart contract based decentralized applications, running on the Ethereum blockchain, will be used in an attempt to reach this goal. 2.2.2 Blockchain The Ethereum blockchain, which launched in 2015, is a generalized, trusted computing platform, which allows anyone, who holds the native cryptocurrency 13 Ether, to publish and run programs on the platform. These programs are col- loquially known as smart contracts. A smart contract is a set of instruction to be executed when a trigger happens. A contract on the Ethereum protocol is in of itself a fully-fledged Ethereum account. This means that the contract can send and receive assets and maintain a permanent storage. The programmable nature of the platform allows building a certificate transparency protocol on top of the blockchain, which is already inherently decentralized and hard to reorder[24]. Not only do the Ethereum blockchain allow for distributed, trusted comput- ing, but it also allows us to program economic incentives. The introduction of programmable economical incentives, which are censorship resistant, provides a whole new toolbox for protocol and application design, as the transfer of value is now as reliable as the underlying platform, as opposed to the vulnerable and non-atomic transfers between financial institutions. This means that centuries of economic game theory, can now be incorporated into protocol design, allow- ing for novel approaches to old problems. Blockchains come with some challenges as well, chief of them being the scal- ability issue. Every transaction on a public blockchain will create data, that will have to be duplicated on every node running in the system. As such, storing data on public blockchains is an expensive operation. Because of this, we will limit the scope of certificates in this project, to what we consider a minimal viable certificate. These certificates will only contain a public key of the re- quester, a common name for the URL, and an expiry time. Ethereum have been chosen as the blockchain this project will build its solutions on. Smart Contracts Smart contracts are code that executes on the Ethereum VM when blocks are mined. Smart contracts are assigned their own public keys on the network upon deployment, this is what makes it possible to identify them. Transactions can then activate public methods in the smart contract. The code can be arbi- trary because the programming language is Turing complete. This open up the possibility to write sophisticated applications. Gas is a fee payed to execute code, like transferring assets or creating a new token. For this reason, a developer should focus on the quality of the smart contract so that it can be run at a reasonable price. Furthermore, Ethereum is not optimized for large amounts of data, since blocks have a maximum size based on gas. Ethereums blocks can contain around 8 million gas, which is roughly 380 transactions. Executing smart contract code is more expensive than transferring assets, as the user pays gas for every computation and read/write call. It is interesting to consider how economic incentives can be applied to dis- pute resolution and punishment of malicious participants in a decentralized system such as Ethereum. Augur, a decentralized prediction market running on Ethereum, uses economic game theory to encourage participants to report the correct outcome of events. In the case of disagreement between which outcome 14 is correct, or a market maker maliciously deciding a wrong outcome, a dispute resolution can be activated which essentially lets people bet on the correct out- come being chosen. Since the outcome should be publicly known at this point, it is theorized that the result of the dispute resolution will converge on the true answer, as it becomes the Schelling point. Smart contracts will be used to create the decentralized solutions for this project. 2.2.3 Certificate Transparency The goal of the Certificate Transparency protocol is to allow interested parties to discover misissued certificates[22]. The protocol aims to achieve this by cre- ating publicly auditable, append-only logs containing issued certificates. This makes it possible";"""date"",""2020-11-30T13:57:15Z"" ""pdf:PDFVersion"",""1.5"" ""pdf:docinfo:title"","""" ""xmp:CreatorTool"",""LaTeX with hyperref package"" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""subject"","""" ""language"",""en"" ""dc:format"",""application/pdf; version=1.5"" ""pdf:docinfo:creator_tool"",""LaTeX with hyperref package"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"","""" ""modified"",""2020-11-30T13:57:15Z"" ""cp:subject"","""" ""pdf:docinfo:subject"","""" ""pdf:hasMarkedContent"",""false"" ""pdf:docinfo:creator"","""" ""PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017) kpathsea version 6.2.3"" ""meta:author"","""" ""trapped"",""False"" ""meta:creation-date"",""2020-11-30T13:57:15Z"" ""created"",""2020-11-30T13:57:15Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2020-11-30T13:57:15Z"" ""resourceName"",""Thesis.pdf"" ""Author"","""" ""producer"",""pdfTeX-1.40.18"" ""pdf:docinfo:producer"",""pdfTeX-1.40.18"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""1"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""Keywords"","""" ""access_permission:modify_annotations"",""true"" ""dc:creator"","""" ""dcterms:created"",""2020-11-30T13:57:15Z"" ""Last-Modified"",""2020-11-30T13:57:15Z"" ""dcterms:modified"",""2020-11-30T13:57:15Z"" ""title"","""" ""Last-Save-Date"",""2020-11-30T13:57:15Z"" ""pdf:docinfo:keywords"","""" ""pdf:docinfo:modified"",""2020-11-30T13:57:15Z"" ""meta:save-date"",""2020-11-30T13:57:15Z"" ""pdf:docinfo:custom:PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017) kpathsea version 6.2.3"" ""Content-Length"",""1018789"" ""Content-Type"",""application/pdf"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"","""" ""dc:subject"","""" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""79"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""1106"",""1782"",""1563"",""872"",""2117"",""2254"",""2305"",""2145"",""1985"",""1198"",""2425"",""805"",""2257"",""2634"",""2372"",""1336"",""2054"",""1771"",""1334"",""1198"",""1104"",""1747"",""256"",""2318"",""1935"",""2685"",""1477"",""2190"",""1754"",""1293"",""2189"",""2415"",""2354"",""1249"",""2454"",""504"",""1832"",""2131"",""1339"",""1102"",""1503"",""293"",""1905"",""2559"",""2275"",""2274"",""2339"",""2325"",""2394"",""1323"",""2184"",""2021"",""2547"",""2260"",""2565"",""2377"",""2268"",""2373"",""2335"",""1465"",""2413"",""118"",""1621"",""1751"",""1511"",""1411"",""1216"",""1381"",""1709"",""1263"",""1323"",""1590"",""1692"",""1256"",""1204"",""1198"",""1314"",""1054"",""621"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""pdf:docinfo:trapped"",""False"" ""meta:keyword"","""" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2020-11-30T13:57:15Z"" ";https://scholar.google.com/scholar?start=480&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094534-622;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;A generic framework for a Peer to Peer Blockchain based Fog Architecture in Industrial Automation;EN Lallas, A Xenakis… ; 2019 4th SouthEast …, 2019 ieeexplore.ieee.org;;"… Sometimes, other entities that do not belong to the Blockchain system may temporarily need to gain access and interact with the recorded events (eg, a single board CPU with Arduino OS). This is feasible via oracles, which are python scripts that activate JSON remote …";Cité 4 fois;Les 2 versions;[PDF] researchgate.net;"https://www.researchgate.net/profile/Apostolis_Xenakis/publication/ 337502070_A_generic_framework_for_a_Peer_to_Peer_Blockchain_based_Fog_Architecture_in_Industrial_Automation/links/5e3d50ab299bf1cdb91516df/A-generic-framework-for-a-Peer-to-Peer-Blockchain-based-Fog-Architecture-in-Industrial-Automation.pdf";;;https://scholar.google.com/scholar?start=440&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094565-758;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Smart contracts y Blockchain: calificación jurídica de los Smart contracts en el ecosistema de las Tecnologías de Registro Distribuido.;I Ortega Pérez, I Moralejo Menéndez ; zaguan.unizar.es;;"… de bloques. Por último, se debe ańadir que existe la posibilidad de introducir datos en los Smart contracts a partir de fuentes de información externas a Blockchain. Los denominados oracles (u oráculos) son tales fuentes externas que permiten a los Smart contracts ampliar …";Autres articles;Version HTML;[PDF] unizar.es;https://zaguan.unizar.es/record/85874/files/TAZ-TFG-2019-284.pdf;" Trabajo Fin de Grado Smart contracts y Blockchain: calificaciĂłn jurĂ­dica de los Smart contracts en el ecosistema de las TecnologĂ­as de Registro Distribuido. Smart contracts and Blockchain: legal qualification of Smart contracts in the DLT ecosystem. Autora Irene Ortega PĂŠrez Director Ignacio Moralejo MenĂŠndez Facultad de EconomĂ­a y Empresa, Universidad de Zaragoza 2018-2019 Autora: Irene Ortega PĂŠrez. Director: Ignacio Moralejo MenĂŠndez. TĂ­tulo: Smart contracts y Blockchain: calificaciĂłn jurĂ­dica de los Smart contracts en el ecosistema de las TecnologĂ­as de Registro Distribuido. Title: Smart contracts and Blockchain: legal qualification of Smart contracts in the DLT ecosystem. TitulaciĂłn: Derecho y AdministraciĂłn y DirecciĂłn de Empresas. RESUMEN El objetivo de este trabajo es el anĂĄlisis jurĂ­dico de los Smart contracts en el nuevo ecosistema de las TecnologĂ­as de Registro Distribuido (DLT, por sus siglas en inglĂŠs). Estos Smart contracts, que se hallan en un estadio incipiente, consisten en secuencias de cĂłdigos capaces de ejecutar autĂłnomamente las prestaciones a las que las partes se obliguen. Con este fin y dada la todavĂ­a escasa literatura cientĂ­fica-legal al respecto, se ha abordado un doble enfoque con fuentes teĂłrico-acadĂŠmicas, acudiendo a doctrina reconocida para analizar la base contractual de esta tecnologĂ­a, y con fuentes alternativas de comunicaciĂłn del conocimiento propias de este ĂĄmbito, como foros, blogs o White papers donde los precursores de estas tecnologĂ­as se han manifestado. Mediante este estudio, se pretende determinar cuĂĄl debe ser la calificaciĂłn jurĂ­dica de los Smart contracs, asĂ­ como cuales son los principales retos jurĂ­dicos que plantea esta realidad. Asimismo, se analizarĂĄ el impacto de estos Smart contracts en el pago, respecto al notariado y en sede judicial. Por Ăşltimo, se pretende mostrar la iniciativa de ciertos paĂ­ses en incorporar a sus marcos legales esta nueva herramienta de ÂŤcontrataciĂłnÂť. ABSTRACT The aim of the current dissertation is to study from a legal point of view the Smart contracts in the new Distributed Ledger Technology (DLT) ecosystem. These Smart contracts, a technology in the early stages, consist of code sequences that are able to autonomous execute already agreed contractual benefits. In order to achieve this purpose and being aware of the scarce legal literature, a double approach has been taken, using legal doctrine to examine the contractual basis of this technology, as well as other alternative sources of knowledge commonly used in the technology field, such as Internet forums, blogs or White papers in which the precursors of the Smart contracts have spoken out. Through this study I intend to establish the legal qualification of the Smart contracts and the main legal challenges that this reality poses. Additionally, I examine the impact of the Smart contracts on the fulfilment of the agreement, on the public notaries role and on the courts. Finally, I present the endeavours of certain countries that are including this new “contractual” tool on their legal frameworks. ÍNDICE RESUMEN ....................................................................................................................... 1 ABSTRACT ..................................................................................................................... 1 I. INTRODUCCIÓN ........................................................................................................ 1 II. BLOCKCHAIN ........................................................................................................... 3 1. QUÉ ES ..................................................................................................................... 3 2. FUNCIONAMIENTO .............................................................................................. 4 III. SMART CONTRACTS .............................................................................................. 7 1. CONCEPTO Y TIPOLOGÍA ................................................................................... 8 2. CALIFICACIÓN JURÍDICA ................................................................................... 8 2.1. CASO 1: EL CÓDIGO NO COEXISTE CON OTRO DOCUMENTO EN LENGUAJE NATURAL. ......................................................................................... 9 2.2. CASO 2: SMART CONTRACT COMO EXIGENCIA DE FORMA CONSTITUTIVA.................................................................................................... 10 2.3. CASO 3: LA DOCUMENTACIÓN EN SMART CONTRACT COMO PRESUPUESTO DE ÂŤEFICACIAÂť. ...................................................................... 11 2.4. CASO 4: LA INTRODUCCIÓN DE UN TERCERO DE CONFIANZA....... 15 3. UN EJEMPLO DE APLICACIÓN: THE DAO ...................................................... 18 4. EL PAGO ................................................................................................................ 20 5. EJECUCIÓN: ÂżTÍTULOS EJECUTIVOS? ............................................................ 21 6. EL NOTARIADO Y LA FUERZA PROBATORIA ............................................. 24 7. CONFLICTOS JURÍDICOS .................................................................................. 27 III. REGULACIÓN EN LA ACTUALIDAD: DERECHO COMPARADO ................. 33 1. ESTADOS UNIDOS .............................................................................................. 33 2. EUROPA ................................................................................................................ 34 IV. CONCLUSIONES ................................................................................................... 36 BIBLIOGRAFÍA ............................................................................................................... i 1 I. INTRODUCCIÓN El mundo hoy se enfrenta a una nueva revoluciĂłn tecnolĂłgica. DetrĂĄs de las numerosas noticias sobre Bitcoin y el resto de las criptomonedas, que tanta expectaciĂłn e inversiĂłn estĂĄn generando, se encuentra la tecnologĂ­a Blockchain. Cada vez mĂĄs agentes comienzan a estudiar y experimentar con las posibilidades que ofrece la tecnologĂ­a de la cadena de bloques. Algunos precursores de esta disruptiva tecnologĂ­a prevĂŠn transformaciones tan trascendentales como la desapariciĂłn del intermediario bancario tal y como se conoce hoy, el cambio del papel que desempeĂąan los Estados, el modo en que se realizan las transacciones o incluso la funciĂłn de los jueces. Si bien es cierto que la potencialidad de esta tecnologĂ­a, sobre todo, en sede empresarial y legal es inmensa, la burbuja del ÂŤ.comÂť fue una lecciĂłn de prudencia ante el impacto de las nuevas tecnologĂ­as. En este sentido, Internet supuso una nueva forma de hacer negocios y un punto de inflexiĂłn para la comercializaciĂłn de productos mĂĄs allĂĄ de las fronteras. Ahora bien, estas nuevas realidades de contrataciĂłn electrĂłnica se encontraron con un cuerpo jurĂ­dico capaz de asemejar las instituciones existentes a estos nuevos fenĂłmenos, adaptĂĄndose a las nuevas circunstancias y resolviendo los conflictos que surgĂ­an. La regulaciĂłn de la contrataciĂłn mercantil y civil incorporĂł al rĂŠgimen negocial las nuevas exigencias de la contrataciĂłn electrĂłnica, de defensa de consumidores y usuarios que contrataban electrĂłnicamente y la regulaciĂłn sobre firma electrĂłnica, entre otras. AsĂ­ las cosas, es necesario un estudio concienzudo de la tecnologĂ­a Blockchain y, especialmente, de los Smart contracts en el ĂĄmbito jurĂ­dico, en aras de aprovechar todas las oportunidades que pueden ofrecer (eficiencia, reducciĂłn de costes, objetivaciĂłn de la ejecuciĂłn de las prestaciones…) sin tropezar con la especulaciĂłn que ya se sufriĂł a finales del siglo pasado. Comprender jurĂ­dicamente la figura de los Smart contracts, entendiendo las ventajas y los inconvenientes que plantean para ciertos negocios, asĂ­ como los retos legales que suponen las notas caracterĂ­sticas de estos acuerdos deviene primordial en este momento. La concreciĂłn de los marcos legales adecuados a los efectos de conseguir seguridad jurĂ­dica es fundamental para que se pueda extraer el mayor potencial de esta nueva 2 tecnologĂ­a sin descuidar los intereses de todas las partes involucradas: consumidores, instituciones pĂşblicas y empresa privada. Por ello, el estudio de la cuestiĂłn de los Smart contracts desde una perspectiva legal es imprescindible para generar seguridad y fomentar el emprendimiento en una tecnologĂ­a que se asemeja en impacto a la revoluciĂłn que supuso Internet. En este momento en el que la tecnologĂ­a se encuentra en un estadio incipiente, este estudio tiene por objetivos el anĂĄlisis de la figura del Smart contract, planteando si responde realmente a un contrato en sentido jurĂ­dico y las cuestiones que ello conlleva en tĂŠrminos de lenguaje, documentaciĂłn, cumplimiento de obligaciones, funciĂłn contractual y prueba, entre otros. El trabajo queda dividido en los siguientes capĂ­tulos: − Un primer capĂ­tulo introductorio de la tecnologĂ­a Blockchain, explicando su funcionamiento y sus fundamentos. − Un segundo capĂ­tulo donde se profundiza en el anĂĄlisis legal de los Smart contracts estudiando su carĂĄcter contractual, las cuestiones de forma y documentaciĂłn, la construcciĂłn de la figura del tercero de confianza y lo relativo al pago como cumplimiento de las prestaciones. Asimismo, se presenta un ejemplo de aplicaciĂłn real, el caso The DAO. − Un tercer capĂ­tulo en el que se examinan otras cuestiones jurĂ­dicas que se verĂĄn afectadas por los Smart contracts como son la cuestiĂłn de la funciĂłn del notariado, la fuerza probatoria y los nuevos motivos de litigiosidad entre contratantes. − Un cuarto capĂ­tulo en el que se recorre sucintamente las propuestas de ciertos paĂ­ses que estĂĄn regulando sobre la materia, como Estados Unidos o Malta. − Finalmente, se presentan las conclusiones del anĂĄlisis, donde se resumen los aspectos mĂĄs relevantes de los Smart contracts en el marco jurĂ­dico actual. 3 II. BLOCKCHAIN 1. QUÉ ES Blockchain es un controlador distribuido (en inglĂŠs, Distributed Ledger Technology o DLT), esto es, un registro o una base de datos que se comparte y se replica en una red de nodos (miembros) descentralizada (NAKAMOTO, 2008; BRAKEVILLE y PEREPA, 2018). En otras palabras, Blockchain se ha entendido como un libro contable que se duplica tantas veces como nodos tenga la red y que se actualiza continuamente para que la informaciĂłn sea consistente en todo momento. En este libro, las transacciones se introducen por bloques de informaciĂłn que, una vez validados, se incorporan a la cadena replicada en toda la red. Cada bloque cuenta con: i) un cĂłdigo alfanumĂŠrico que identifica al bloque predecesor (hash); ii) las transacciones; iii) un cĂłdigo alfanumĂŠrico para identificar al bloque siguiente. AsĂ­ todos los registros cuentan con una firma criptogrĂĄfica Ăşnica y una marca temporal (MORA, 2018). La cadena de bloques es, por tanto, un historial de transacciones de activos organizadas en bloques encadenados para generar una Ăşnica fuente de verdad. De este modo, si alguno de los nodos quisiera modificar una entrada previa, tambiĂŠn tendrĂ­a que alterar toda la cadena de bloques posterior para que fuera consistente. El nodo malicioso deberĂ­a cumplir esta tarea antes de que el resto de los nodos acabasen con el bloque en que ya se estĂĄ trabajando, o el proceso volverĂ­a a empezar. La capacidad computacional para ello es prĂĄcticamente inabarcable, lo que garantiza la autenticidad de la informaciĂłn. Esta configuraciĂłn estĂĄ basada en lo que se conoce como proof of work. En este sentido, el uso mĂĄs conocido de Blockchain es el de las criptomonedas, mĂĄs concretamente Bitcoin. Estas criptomonedas se apoyan en el registro contable distribuido de Blockchain para recoger sus transacciones. Ahora bien, las monedas no dejan de ser unidades de valor (los denominados tokens) o activos. Por lo tanto, las posibilidades de la cadena de bloques son numerosas, sobre todo en aquellos ĂĄmbitos donde concurra una red (empresarial), transacciones y un registro consensuado a prueba de manipulaciĂłn. ÂżCuĂĄl es la novedad de esta tecnologĂ­a? En relaciĂłn con las comunicaciones tradicionales a travĂŠs de Internet, un rasgo inherente a ellas ha sido desarticulado en estos primeros pĂĄrrafos sin que el lector haya sido expresamente avisado: ha desaparecido el principio 4 doble gasto. La disrupciĂłn que trae consigo esta tecnologĂ­a es la posibilidad de transmitir ÂŤverdaderamenteÂť un activo, de modo que una vez usado no se puede volver a disponer de ĂŠl. Internet ha permitido la transmisiĂłn de archivos e informaciĂłn en todo el mundo conectado. No obstante, hasta ahora lo que se ha transmitido de un lugar a otro de la red son copias, puesto que nada impedĂ­a el doble gasto. Si A envĂ­a un archivo de mĂşsica a B a cambio de un precio, B no puede confiar en que A no se haya quedado una copia de ese archivo de mĂşsica con la canciĂłn en su dispositivo. Frente a este paradigma, Blockchain se configura como el libro contable donde registrar activos a nivel global. AsĂ­, la propiedad de A, la transmisiĂłn de A a B y la nueva titularidad de B son recogidas de forma pĂşblica y verificable en toda esa red. A no puede volver a transmitir tal activo porque al reflejar su previa titularidad y la transmisiĂłn en el registro, ya no dispone de ĂŠl frente a ningĂşn tercero; informaciĂłn que es accesible para todos los miembros. AdemĂĄs, no serĂĄ un tercer intermediario el que mantenga una relaciĂłn con A y verifique su titularidad, registre la transmisiĂłn y dĂŠ prueba de la nueva situaciĂłn de B. Es el sistema el que, construido a partir de la desconfianza entre sus miembros, garantiza las titularidades. Todos los nodos cuentan con una copia consistente del historial de A que actualizan con las nuevas transacciones, es decir, es la propia comunidad la que autentifica su titularidad y la transmisiĂłn. La verdad registrada se consigue por consenso, por la aprobaciĂłn de ese registro por la mayorĂ­a de los nodos o miembros de la red. AsĂ­, no existe un intermediario privilegiado en el que reside el poder de decisiĂłn sobre la verdad -tĂ­picamente, un banco que registre en sus libros contables el dinero del que dispone A, y la transmisiĂłn a la cuenta de B, informaciĂłn en la que ambas partes confĂ­an. En contra de lo que era habitual hasta ahora, no rige el principio de centralizaciĂłn y, por tanto, dado que nadie controla la informaciĂłn centralizadamente, nadie concentra el poder. En conclusiĂłn, Blockchain es la tecnologĂ­a que permite la transmisiĂłn de activos entre iguales sin la necesidad del intermediario tradicional. 2. FUNCIONAMIENTO Sin ĂĄnimo de desarrollar tĂŠcnicamente el funcionamiento de Blockchain, se presenta un ejemplo simplificado de una transacciĂłn registrada en la cadena de bloques (PÉREZ- 5 SOLÀ y HERRERA-JOANCOMARTÍ, 2014). El objetivo es mostrar los procesos de validaciĂłn, afianzamiento, transmisiĂłn y almacenamiento de forma accesible. En el ejemplo Ana (A) desea enviar a Benito (B) 25 BITCOIN (aunque podrĂ­a ser cualquier otro activo, 25 tokens). Para ello, tanto Ana como Benito cuentan con una clave pĂşblica y una privada: {PKA, SKA}, {PKB, SKB}. La funciĂłn Addr{PK) permite obtener la direcciĂłn de la clave pĂşblica PK, H es una funciĂłn Hash (vinculaciĂłn con el bloque anterior) y Sigsk(m) representa la firma de m con la clave privada. Ana ha recibido inicialmente 25 BTC: To = {inputo, outputo} Inputo = {…} Outputo = {Addr(PKA), 25} Ana ha recibido a travĂŠs de su clave pĂşblica la cantidad de 25 BTC a los que va a acceder mediante su clave privada para enviĂĄrselos a Benito. Por ello: T1 = {input1, output1} Input1 = {H(To), SigskA(To + output1), PKA} Output1 = {Addr(PKB), 25} El protocolo estĂĄ diseĂąado para que Ana seĂąale su “situaciĂłn contable” previa con el Hash, decida disponer de ello mediante su clave privada aludiendo a la transacciĂłn previa por la que tiene los 25 BTC que quiere transmitir y su clave pĂşblica. Ahora bien, esa situaciĂłn contable previa no es tanto un balance total asociado a Ana, sino un conjunto de transacciones previas a las que ella puede referirse para futuros movimientos, en el ejemplo sĂłlo ha habido una To. Asimismo, Ana transfiere a Benito solicitando su clave pĂşblica y determinando la cantidad a transmitir. En futuras transacciones Benito se referirĂĄ a esta T1 para una potencial T2, disponiendo con su clave privada y conociendo su clave pĂşblica por la que ha recibido T1. En tĂŠrminos de validaciĂłn, no hay doble gasto ya que T1 se remite a To y eso sĂłlo es posible una vez. AdemĂĄs, Ana es propietaria de los 25 BTC dado que existe una posiciĂłn/transacciĂłn previa To. En cuanto al afianzamiento, la prueba de trabajo (proof of work) garantiza el registro comĂşn Ăşnico de la informaciĂłn que sĂłlo podrĂĄ ser alterada si 6 se consigue un poder de cĂłmputo mayor del 50%. La transmisiĂłn de la transacciĂłn se propaga por toda la red y el almacenaje supone que todos los nodos contienen una copia completa de la cadena de bloque por lo que todos validan cada transacciĂłn nueva. En caso de que Ana quisiera transferir a Benito una cantidad diferente y necesariamente menor a la recibida en To (por ejemplo, 20 BTC) el modelo varĂ­a, pero se consigue mantener las mismas virtudes. Grosso modo, Ana envĂ­a 25 BTC, recibiendo una transferencia por valor de 5 BTC que es el sobrante. Esta nueva transacciĂłn (T1’) de valor 5 BTC permite a Ana disponer de lo que le queda; puesto que To ya ha sido gastada. Por su parte, Benito recibe los 20 BTC y cuenta con una transacciĂłn (T1’’) a la que referirse para futuras transacciones (COINEST.CO, 2017). Cabe seĂąalar que la cadena de bloques, en principio, no se preocupa del contrato subyacente por el cual Ana envĂ­a 25 BTC a Benito, ni siquiera de si la cantidad debida era mayor o inferior. Blockchain permite y registra la transacciĂłn. De igual manera que una entidad bancaria transmite lo que su cliente ordena a otra cuenta, independientemente del contrato subyacente; la cadena de bloques recoge la transacciĂłn y da prueba de ella. Por tanto, serĂĄ la justicia, en su caso, la que posteriormente decida si se ha cumplido el contrato; si bien, el juez podrĂĄ acudir a Blockchain para confirmar que efectivamente 25 BTC ya han sido transferidos. Todo ello serĂĄ discutido en los siguientes capĂ­tulos. En conclusiĂłn, se obtiene un sistema de transmisiĂłn que es secuencial (garantiza un orden cronolĂłgico), consistente, resistente, distribuido, que evita el doble gasto y que no requiere de un intermediario, sino de una red de miembros. 7 III. SMART CONTRACTS Un Smart contract es un cĂłdigo de programaciĂłn informĂĄtico que permite, por operaciĂłn del propio ordenador, monitorizar y/o ejecutar un contrato, sin necesidad de intervenciĂłn humana (SZABO, 1994; STOKES y FREIRE RAMOS, 2017). En lĂ­nea con lo seĂąalado en el apartado anterior, un Smart contract permite transacciones mĂĄs complejas que la que concurrĂ­a entre los protagonistas del ejemplo mostrado. El cĂłdigo genera una cuenta ajena y controlada que ejecuta transacciones ante ciertas condiciones codificadas. En general, los Smart contracts cuentan con tres atributos a destacar respecto de los negocios habituales; son acuerdos autoejecutables, digitales y descentralizados. Ser autoejecutable implica que, si las condiciones predefinidas en el programa se cumplen, la consecuencia contractual se ejecuta de manera autĂłnoma. Esto es, las partes registran las condiciones y los hechos que deben estar configurados siguiendo el modelo: ÂŤsi X, entonces YÂť. De esta forma, una vez concurre el hecho desencadenante, el cumplimiento de la consecuencia escapa de la voluntad de las partes, es un hecho que tambiĂŠn ocurrirĂĄ. Por su parte, su conformaciĂłn digital permite que se halle en Blockchain y que pueda ser interpretado tanto por humanos como por mĂĄquinas. Esta interpretaciĂłn consiste en que las mĂĄquinas pueden leerlo y ejecutarlo, sin que sea posible (todavĂ­a) atribuirles una comprensiĂłn real de lo establecido. Finalmente, la descentralizaciĂłn evita al intermediario y proporciona veracidad y seguridad, gracias a la tecnologĂ­a de la cadena de bloques. Por Ăşltimo, se debe aĂąadir que existe la posibilidad de introducir datos en los Smart contracts a partir de fuentes de informaciĂłn externas a Blockchain. Los denominados oracles (u orĂĄculos) son tales fuentes externas que permiten a los Smart contracts ampliar su ĂĄmbito de aplicaciĂłn. PiĂŠnsese en una orden de compra de acciones cuando la cotizaciĂłn alcance un determinado nivel. El Smart contract se configura para que confirme la informaciĂłn con una determinada fuente (por ejemplo, la web oficial bolsa de Madrid) que las partes consideran fiable. AdemĂĄs, ya se estĂĄn planteando orĂĄculos en que la informaciĂłn responde a mĂĄs de una fuente, introduciendo el consenso y mayor fiabilidad a la informaciĂłn. A partir de todo lo expuesto, deviene necesario identificar la realidad jurĂ­dica que representan los Smart contracts, asĂ­ como alguno de los retos que plantean. 8 1. CONCEPTO Y TIPOLOGÍA Una vez mostradas las ideas fundamentales de un Smart contract, se debe tener en cuenta que este concepto nace del ĂĄmbito tecnolĂłgico y no del jurĂ­dico. AsĂ­ las cosas, el tĂŠrmino recoge una amplia gama de posibilidades, desde meros cĂłdigos de ordenador que ejecutan Ăłrdenes hasta cĂłdigos complejos que representan y acogen un ÂŤcontratoÂť. Con el objetivo de centrar el objeto de estudio resultan prĂĄcticas e interesantes las clasificaciones que realizan dos autores. STARK (2016) diferencia entre lo que ĂŠl denomina ÂŤSmart Contract CodeÂť y ÂŤSmart Legal ContractÂť. El primero hace referencia a un programa complejo, almacenado y ejecutado en Blockchain que gobierna algo valioso. Mientras, el segundo, utiliza el cĂłdigo para articular, verificar y hacer cumplir un acuerdo, combinando lenguaje mĂĄquina y natural. El valor de distinguir ambos conceptos reside en apartar del estudio aquellos cĂłdigos que no recogen un contenido jurĂ­dico relevante. Tomando los Smart Legal Contracts como punto de partida, se utilizarĂĄ la clasificaciĂłn material de FELIU REY (2018) para mostrar las realidades que abarca este concepto. En primer lugar, el cĂłdigo puede recoger por entero un previo contrato para su cumplimiento. En segundo lugar, el cĂłdigo puede ser el acuerdo, sin que coexista un soporte alternativo. En tercer lugar, el cĂłdigo puede recoger sĂłlo ciertas obligaciones de un negocio concluido previamente. En cuarto lugar, siendo una variante de los anteriores, el cĂłdigo puede responder a un contrato acordado en otro soporte en el que se ha decidido que ciertas obligaciones se establezcan directamente como Smart Legal Contract, por lo que ellas no cuentan con rĂŠplica en el negocio en lenguaje natural. Estas realidades merecen una calificaciĂłn jurĂ­dica distinta. Es por ello que, en los subsiguientes apartados, se valorarĂĄ cada uno de estos modelos de Smart Legal Contract y se plantearĂĄn las cuestiones legales mĂĄs relevantes. 2. CALIFICACIÓN JURÍDICA En primer lugar, conviene realizar una introducciĂłn a la distinciĂłn entre forma y documentaciĂłn del contrato. Si bien esta diferenciaciĂłn no es nueva en materia de contrataciĂłn, resulta imprescindible recordarla en lo relativo a los Smart contracts. DÍEZ-PICAZO (2007) define la forma como ÂŤel vehĂ­culo o medio de expresiĂłn del cual las partes se sirven para emitir sus declaraciones de voluntad y para hacerlas llegar o 9 darlas a conocer a sus destinatariosÂť, mientras que documentaciĂłn es ÂŤla operaciĂłn necesaria para plasmar y recoger documentalmente las declaraciones de voluntad que forman la esencia del contratoÂť. AsĂ­ las cosas, el autor recalca la importancia de no confundir ambos conceptos. Es necesario distinguir que el documento puede no ser la forma, es decir, el medio de manifestar la voluntad, sino un documento posterior al contrato ya perfeccionado con el objetivo principal de conservarlo. El anĂĄlisis del autor sobre las situaciones entre acuerdo no documentado y documentaciĂłn constitutiva, acuerdo no documentado y documentaciĂłn como presupuesto de eficacia, asĂ­ como la de documentaciĂłn privada y necesidad de Escritura PĂşblica se pueden utilizar de soporte para analizar los diferentes supuestos de Smart contracts. 2.1. CASO 1: EL CÓDIGO NO COEXISTE CON OTRO DOCUMENTO EN LENGUAJE NATURAL. En este primer caso, el Smart contract es la forma. El cĂłdigo es el vehĂ­culo mediante el cual las partes emiten sus declaraciones y manifiestan sus voluntades. Asimismo, el Smart contract tambiĂŠn es el documento escogido por las partes. Esto es, se concentran en el Smart contract la representaciĂłn de un contrato y la funciĂłn de recogerlo, fijarlo y conservarlo. Siendo el cĂłdigo el Ăşnico soporte en el que se plasma el contrato el reto principal de este caso es la comprensibilidad del lenguaje. PiĂŠnsese en un supuesto de DAO, donde las condiciones son pĂşblicas para cualquier miembro de la red, quien se puede adherir a las mismas, pero sĂłlo son legibles en formato cĂłdigo. AsĂ­, es necesario cuestionar si las partes emiten conscientemente el consentimiento cuando no hay “traducciĂłn” al lenguaje natural. SURDEN (2012), junto con otros autores, plantea algunas soluciones. Por un lado, la coexistencia de un contrato en lenguaje natural que sirva de sustrato y que incorpore el cĂłdigo, asĂ­ como la interpretaciĂłn de ĂŠste. Por otro, propone que las partes se suscriban a un estĂĄndar de datos preexistente que garantice una cierta interpretaciĂłn de los datos y las fĂłrmulas utilizadas. AdemĂĄs, se propone el uso de interfaces que traduzcan lo introducido en lenguaje natural a lenguaje mĂĄquina de una determinada manera. AsĂ­, las partes estĂĄn acordando implĂ­citamente que los criterios de la interfaz sean entendidos como los tĂŠrminos de interpretaciĂłn y traducciĂłn del acuerdo. Por Ăşltimo, los contratantes tambiĂŠn 10 pueden suscribir un acuerdo marco donde se determinan estas condiciones para aplicarlas a un conjunto de Smart contracts. En todo caso, las cuestiones de comprensibilidad son parecidas a las que concurren en sede de contrataciĂłn mercantil internacional, donde convergen diferentes ordenamientos y lenguajes. La funciĂłn que venĂ­a desarrollando el traductor e intĂŠrprete colaborando con el abogado o jurista para diseĂąar el contrato, corresponderĂĄ ahora al programador. En conclusiĂłn, el cĂłdigo puede ser una forma vĂĄlida, un medio de expresiĂłn reconocible por el derecho. En este sentido, conforme aumente la prĂĄctica contractual y dado que estos Smart contract tienen vocaciĂłn internacional, es fĂĄcil que los problemas de comprensibilidad vayan resolviĂŠndose. La elaboraciĂłn de cĂłdigos que uniformicen las fĂłrmulas, las interfaces o los acuerdos marco que se pueden tomar de referencia harĂĄn posible que ciertas transcripciones/traducciones sean aceptadas y sirvan de base para las subsiguientes. Con todo, si se tratara de un contrato que incorpora condiciones generales, hay que recordar que el art. 7.b) de la Ley 7/1998, de 13 de abril, sobre condiciones generales de la contrataciĂłn determina la no incorporaciĂłn de las condiciones generales que sean ÂŤilegibles, ambiguas, oscuras e incomprensiblesÂť. Por consecuencia, resultarĂĄ difĂ­cil aceptar que en estos casos sea posible la adhesiĂłn sin un previo acuerdo en lenguaje natural que muestre claramente las obligaciones. Asimismo, el Real Decreto Legislativo 1/2007, de 16 de noviembre, por el que se aprueba el texto refundido de la Ley General para la Defensa de los Consumidores y Usuarios, en concreto respecto a los contratos con consumidores y usuarios que utilizan clĂĄusulas no negociadas individualmente, exige claridad en su redacciĂłn, accesibilidad y legibilidad (artĂ­culo 80). Estos principios, a mi juicio, no se cumplirĂ­an cuando el acuerdo sĂłlo sea accesible en formato cĂłdigo. 2.2. CASO 2: SMART CONTRACT COMO EXIGENCIA DE FORMA CONSTITUTIVA. En principio, la regulaciĂłn ampara la libertad de forma a la luz de los artĂ­culos 1.278 de CĂłdigo Civil (en adelante, Cc) y 51 del CĂłdigo de Comercio (en adelante, CCom). AdemĂĄs, los Principios UNIDROIT sobre los contratos comerciales internacionales (2016) consagran la libertad de forma en su artĂ­culo 1.2. A ello se aĂąade el reconocimiento de la forma electrĂłnica en las mismas condiciones que el soporte papel, art. 24 LSSI. Por 11 lo que, a priori, el hecho de que el contrato se documente en cĂłdigo no es requisito constitutivo. En este sentido, FELIU REY (2018) seĂąala la posibilidad de que las partes pueden otorgar a la documentaciĂłn el mencionado carĂĄcter constitutivo, al amparo del art. 1.255 Cc. Esta posibilidad tambiĂŠn ha sido confirmada a nivel internacional en el artĂ­culo 2.1.13 de los mencionados Principios UNIDROIT (2016). De este modo, hasta que las obligaciones no queden plasmadas en un Smart contract, no hay contrato perfecto. El desarrollo de las negociaciones previas responde en el iter contractual a tratos preliminares, a la negociaciĂłn. AsĂ­, las partes podrĂĄn acudir a los Ăłrganos jurisdiccionales competentes en tĂŠrminos de responsabilidad precontractual (DÍEZ-PICAZO, 2007; MARTÍNEZ DE AGUIRRE, 2000). En conclusiĂłn, se estĂĄ ante un contrato formal en el que las partes acuerdan que el cĂłdigo sea la forma elegida. Al otorgarle carĂĄcter constitutivo a la documentaciĂłn en Smart contract, el documento privado o acuerdo verbal precedente no se instituye en fuente de obligaciones convencional y queda en el ĂĄmbito de los tratos preliminares. 2.3. CASO 3: LA DOCUMENTACIÓN EN SMART CONTRACT COMO PRESUPUESTO DE ÂŤEFICACIAÂť. Este supuesto no plantea duda sobre la calificaciĂłn jurĂ­dica de contrato celebrado con anterioridad al cĂłdigo. En la medida en que existe este acuerdo en lenguaje natural, si en ĂŠl concurren los requisitos de consentimiento, objeto y causa que exige el CĂłdigo Civil en su artĂ­culo 1.261, deberĂĄ calificarse de contrato vĂĄlido. En cuanto al consentimiento, conforme al art. 1.262 Cc, se manifiesta por el concurso de la oferta y la aceptaciĂłn; y desde que las partes consienten a obligarse el contrato existe, al amparo del artĂ­culo 1.254 Cc. En este sentido, puede ser aplicable lo relativo a la contrataciĂłn entre ausentes y/o a distancia, pero no necesariamente. AsĂ­, con OBREGÓN SIEGMUND (2012), la contrataciĂłn a distancia implica una separaciĂłn geogrĂĄfica entre las partes contratantes mientras que la contrataciĂłn entre ausentes exige un lapso temporal entre oferta y aceptaciĂłn. Esto es relevante por cuanto un contrato como el analizado puede existir tanto entre presentes, ya sea fĂ­sicamente acordando el negocio y la forma de Smart contract, ya sea virtualmente por medios tĂŠcnicos como la videoconferencia; como entre ausentes, pensando en una oferta reflejada 12 en la Web que posteriormente acepta un sujeto. Igualmente, puede tratarse de un contrato a distancia o no, si las partes se reĂşnen a negociar este acuerdo y la aplicaciĂłn de un Smart contract. Todo ello permite afirmar que, aunque el contrato quede recogido en un Smart contract, no necesariamente se tratarĂĄ de un contrato celebrado por vĂ­a electrĂłnica conforme a la definiciĂłn de la Ley 34/2002, de 11 de julio de Servicios de la Sociedad de la InformaciĂłn (en adelante, LSSI) en la letra h) del anexo, ni precisarĂĄ de los re";"""date"",""2019-01-16T15:36:39Z"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""pdf:PDFVersion"",""1.7"" ""xmp:CreatorTool"",""MicrosoftÂŽ Word 2016"" ""pdf:hasXFA"",""false"" ""access_permission:modify_annotations"",""true"" ""access_permission:can_print_degraded"",""true"" ""dc:creator"",""Irene Ortega"" ""language"",""es"" ""dcterms:created"",""2019-01-16T15:36:39Z"" ""Last-Modified"",""2019-01-16T15:36:39Z"" ""dcterms:modified"",""2019-01-16T15:36:39Z"" ""dc:format"",""application/pdf; version=1.7"" ""xmpMM:DocumentID"",""uuid:EEF678E9-2ABE-4520-9EDF-B138F116E68F"" ""Last-Save-Date"",""2019-01-16T15:36:39Z"" ""pdf:docinfo:creator_tool"",""MicrosoftÂŽ Word 2016"" ""access_permission:fill_in_form"",""true"" ""pdf:docinfo:modified"",""2019-01-16T15:36:39Z"" ""meta:save-date"",""2019-01-16T15:36:39Z"" ""pdf:encrypted"",""false"" ""xmp:CreateDate"",""2019-01-16T16:36:39Z"" ""modified"",""2019-01-16T15:36:39Z"" ""Content-Length"",""966169"" ""pdf:hasMarkedContent"",""true"" ""Content-Type"",""application/pdf"" ""xmp:ModifyDate"",""2019-01-16T16:36:39Z"" ""pdf:docinfo:creator"",""Irene Ortega"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"",""Irene Ortega"" ""dc:language"",""es-ES"" ""meta:author"",""Irene Ortega"" ""pdf:producer"",""MicrosoftÂŽ Word 2016"" ""meta:creation-date"",""2019-01-16T15:36:39Z"" ""created"",""2019-01-16T15:36:39Z"" ""access_permission:extract_for_accessibility"",""true"" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""48"" ""Creation-Date"",""2019-01-16T15:36:39Z"" ""resourceName"",""TAZ-TFG-2019-284.pdf"" ""pdf:hasXMP"",""true"" ""pdf:charsPerPage"",""394"",""2092"",""628"",""2737"",""2357"",""1828"",""2391"",""2440"",""2000"",""1754"",""2455"",""2410"",""2422"",""2456"",""2403"",""2533"",""2635"",""2561"",""2537"",""2663"",""2605"",""2381"",""2624"",""2430"",""2422"",""2523"",""2640"",""2428"",""2461"",""2423"",""1931"",""2609"",""2718"",""2462"",""2679"",""1501"",""2259"",""2366"",""1136"",""2283"",""2545"",""1777"",""1737"",""1760"",""2033"",""1998"",""1985"",""1254"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""Author"",""Irene Ortega"" ""producer"",""MicrosoftÂŽ Word 2016"" ""access_permission:can_modify"",""true"" ""pdf:docinfo:producer"",""MicrosoftÂŽ Word 2016"" ""pdf:docinfo:created"",""2019-01-16T15:36:39Z"" ";https://scholar.google.com/scholar?start=570&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094614-965;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;PKP-Based Signature Scheme;G Macario;Rat, J Patarin, L Perret  Progress in Cryptology–INDOCRYPT …, 2019 Springer;;"… Unforgeable under Chosen Adaptive Mes- sage Attacks (EU-CMA) in the random oracle model, if –the search version of the Permuted Kernel problem is intractable, –the hash functions and pseudo-random generators are modeled as random oracles, –the commitment …";Autres articles;;null;;;;https://scholar.google.com/scholar?start=780&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094623-1005;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[PDF][PDF] Effective Privacy Preservation and Fast Signature Verification in Bitcoin Transaction.;Z Liu, Y Li, D Yuan, Y Liu ; IJ Network Security, 2019 ijns.jalaxy.com.tw;;"… aggregate signature scheme is proved to be unforgeable in the random oracles, and performance … Each block contains multiple transactions in the bitcoin blockchain, and each transaction in- cludes … t, and makes at most qh queries to hash function, qs queries to signing oracle …";Cité 1 fois;Les 2 versions;[PDF] jalaxy.com.tw;http://ijns.jalaxy.com.tw/contents/ijns-v21-n5/ijns-2019-v21-n5-p741-750.pdf;" International Journal of Network Security, Vol.21, No.5, PP.741-750, Sept. 2019 (DOI: 10.6633/IJNS.201909 21(5).05) 741 Effective Privacy Preservation and Fast Signature Verification in Bitcoin Transaction Zhenhua Liu, Yuanyuan Li, Dong Yuan, and Yaohui Liu (Corresponding author: Yuanyuan Li) School of Mathematics and Statistics, Xidian University Xi’an 710071, China (Email: liyuanyuan4621@163.com) (Received Jan. 29, 2018; Revised and Accepted July 20, 2018; First Online June 11, 2019) Abstract As a decentralized cryptocurrency, bitcoin has attracted considerable attentions. In the original bitcoin system, a transaction script is described as a plaintext and thus re- veals the privacy. Furthermore, it takes at least one hour to confirm one transaction, which causes high latency. In view of these shortcomings, a new protocol is proposed to preserve the transaction privacy and speed the verifi- cation of transaction. Firstly, a modified homomorphic Paillier cryptosystem is used to preserve transaction pri- vacy for our protocol. Moreover, we combine Zhu et al.’s interactive incontestable signature with Boneh et al.’s ag- gregate technique to present a new aggregate signature scheme, which can process a batch signature and greatly reduce the storage space. Then our aggregate signature scheme is applied to achieve fast verification for our pro- tocol. Finally, our aggregate signature scheme is proved to be unforgeable in the random oracles, and performance analysis shows that our protocol has the property of pri- vacy preserving and high efficiency. Keywords: Aggregate Signature; Fast Verification; Pail- lier Cryptosystem; Privacy Preserving 1 Introduction Bitcoin blockchain can be essentially known as a decen- tralized ledger system, which records the transactions among bitcoin addresses. The transaction is a central part of bitcoin blockchain, and the process of transaction is divided into generation, propagation in the network, proof of work, verification and record on the blockchain in the end. In Nakamoto’s white paper, bitcoin is defined as a chain-type string of digital signature. The owner of bitcoin completes a transaction by making a digital sig- nature of the previous transaction and the next owner’s public key and attaching this signature to the transaction. Various signature algorithms, such as multi-signature [8], blind signature [9], proxy signature [10,12,14] and so on, can be utilized in the process of signature [22]. Gener- ally, each transaction in bitcoin includes multiple inputs (one transaction can be sent by multiple individuals to a user) and outputs (one transaction can be transferred to multiple individuals). In addition, the input for each new transaction is the unspent output of a transaction (UTXO) and also needs to be signed by the private key corresponding to the previous output, and all nodes on the network verify the legitimacy of the new transaction via UTXO and the signature algorithm. However, there exist many problems and challenges with the development of bitcoin [13]. There is a serious problem that the bitcoin system only provides weak privacy protection. The unencrypted transaction amounts might leak unpredictably massive in- formation during the daily trading. The disclosure of pri- vacy is mainly due to the public amount of transactions, transaction metadata and distributed ledger, then the at- tacker can extract a lot of information about the identity of the user. Furthermore, the association between pay- ment and receipt accounts allows the attacker to track the entire historical transaction path [20]. In order to enhance privacy preservation, various meth- ods have been proposed to improve the anonymity of bit- coin. Bonneau et al. [4] proposed Mixcoin, which upsets the relationship between the payment account and the receive account, thereby increasing the anonymity of bit- coin system. Wijaya et al. [25] also presented an improved scheme to enhance the anonymity of bitcoin by lifting the relevance of the transaction. Bergen et al. [2] established an anonymous e-cash scheme CryptoNote by using ring signature and concealing address. Miers et al. [16] de- signed an extended bitcoin protocol Zerocoin based on zero-knowledge proof. Ben-Sasson et al. [21] proposed Zerocash based on the Zerocoin protocol by using the zk- SNARKs [1] to achieve an anonymous e-cash system and protect the transaction privacy, but Zerocash needs some strong trust assumptions, which deviates from the original trust intention. Ibrahim [11] constructed Securecoin to improve anonymous in bitcoin. Wang et al. [24] adopted Paillier Cryptosystem to hide the transaction amount and International Journal of Network Security, Vol.21, No.5, PP.741-750, Sept. 2019 (DOI: 10.6633/IJNS.201909 21(5).05) 742 then improve the anonymity of the system, which is com- patible with the bitcoin system. Simultaneously, for legal digital currencies, there is an- other problem that the bitcoin system suppplies sluggish transaction speed. In the original bitcoin transaction [17], the miners need to spend 10 minutes to dig a block. It takes at least 1 hour to ensure the irreversible transaction. Therefore, it is very meaningful to study on improving the speed of transaction. In order to solve this problem, some technologies such as expansion, lightning network and other programs are introduced. The expansion includes the isolation of wit- ness and hard bifurcation block expansion [6, 23]. Light- ning network is a side-chain technology, which reduces the burden of the main chain transaction significantly and expand more payment model [19]. In addition, Eyal et al. [7] introduced a new interest measurement method for quantifying the relationship between the security and efficiency of bitcoin-like blockchain protocols. Micali et al. [15] proposed an efficient public book agreement, a variant of Proof-of-Stake mechanism, that can solve the problem of bitcoin transaction delays, energy waste and bifurcation, which requires the number of attackers or the number of assets controlled by an attacker are less than 1/3 of the total amount. Zhu et al. [27] proposed an inter- active incontestable signature scheme to achieve instant confirmation. Although the above schemes can solve the correspond- ing problems about efficiency or privacy, they fail to bal- ance efficiency and privacy issues in various bitcoin-like systems. Chang et al. [5] modified Ohta-Okamoto digital signature to achieve batch verification. Yuan et al. [26] ap- plied aggregate signature technique to protect privacy and improve the performance of signature, but their scheme is not compatible with bitcoin system. There is still not a perfect scheme that can not only increase the speed of transaction confirmation but also protect users privacy about transaction amount until now. Therefore, it is a great deal to study a scheme that can both protect pri- vacy and speed up signature verification. Our Contributions. This paper mainly focuses on pri- vacy preserving and fast confirmation in bitcoin sys- tem. We propose a new scheme that can not only protect users’ privacy but also increase the speed of transaction confirmation. The main techniques and contributions are summarized as follows: 1) To preserve the transaction privacy, we modify Wang et al.’s scheme [24] to encrypt the appar- ent amounts of users, which doesn’t undermine the consensus mechanism; 2) In the process of signature, we propose a new aggregate signature based on interactive incon- testable signature and aggregate signature tech- nology and prove its security, which can be ap- plied to achieve fast verification for our protocol; 3) We combine the modified Wang et al.’s scheme [24] with new aggregate signature tech- nique to propose a new protocol for bitcoin sys- tem, which achieves privacy preservation and fast verification of signature. Organization. The rest of this paper is organized as fol- lows: Section 2 introduces some preliminaries. Sec- tion 3 focuses on transaction privacy with Paillier cryptosystem. Section 4 mainly presents our aggre- gate signature and security proof. Section 5 proposes our new protocol, gives the comparisons between new protocol and related works in functionality, and an- alyzes security and efficiency. Finally, the conclusion is shown in Section 6. 2 Preliminaries 2.1 Paillier Cryptosystem Paillier cryptosystem is a homomorphic encryption scheme, which is based on the composite residuosity class problem [18]. We review the encryption/decryption pro- cess simply as follows: KeyGen. Set n = pq, compute Îť = Îť(n) = lcm(p − 1, q−1), and select a base g ∈ G randomly satisfying gcd(L(gÎť mod n2), n) = 1, where p and q are large primes, G is a multiplicative group G = { w|w ∈ Z∗n2 } and L (θ) = θ−1 n . The public key is pk = (n, g) and secret key is sk = Îť. Encrypt. For a message m < n, choose a random num- ber r < n, and compute the corresponding ciphertext c = Encpk (m) = gmrn mod n2 Decrypt. Decrypt the ciphertext c < n2 and obtain m = Decsk (m) = L(cÎť mod n2) L(gÎť mod n2) mod n. Paillier cryptosystem has an additive homomorphic property as: Dec(Encpk(m1) ¡Encpk(m2) mod n2) = (m1+m2) mod n. Paillier cryptosystem can perform efficiently both en- cryption and decryption and be convincingly secure under the chosen-plaintext attack in the standard model [18]. Due to the inherent additive homomorphic, the Paillier cryptosystem can be applied to various fields, such as the design of voting protocols, the threshold cryptosystem, etc. Furthermore, to preserve the transaction privacy in the bitcoin system, Wang et al. [24] utilized Paillier cryp- tosystem to hide the transaction amounts. International Journal of Network Security, Vol.21, No.5, PP.741-750, Sept. 2019 (DOI: 10.6633/IJNS.201909 21(5).05) 743 2.2 Bilinear Pairings Let G1,GT be two cyclic groups of prime order p1. A bilinear map is a map e : G1×G1 → GT with the following properties: 1) Bilinearity. For all u, v ∈ G1 and a, b ∈ Zp1 , then e(ua, vb) = e(u, v)ab. 2) Non-degeneration. There exist u, v ∈ G1, e(u, v) 6= 1. 3) Computability. There is an algorithm to compute e(u, v) for all u, v ∈ G1. 2.3 Complexity Assumptions The security of our new aggregate signature will be re- duced to the hardness of an extended Computational Bi- linear Diffie-Hellman (eCBDH) [27]. We review the defi- nition of the eCBDH problem briefly. Definition 1. Given G,H,Gx, Hx, Hy ∈ G1 for un- known x, y ∈ Z∗p1 , the eCBDH problem in G1 is to com- pute Gxy. Definition 2. We say that the (Îľ, t)-eCBDH assumption holds in a group G1 if no algorithm running in time at most t can solve the eCBDH problem in G1 with probabil- ity at least Îľ. 3 Transaction Privacy with Pail- lier Cryptosystem It is important for users to maintain their transaction pri- vacy in bitcoin the system. Wang et al. [24] hide transac- tion amounts by using Paillier cryptosystem to preserve transaction privacy, where there is a sender who initiates many payments to multiple receivers. In this paper, we will consider the opposite situation that k senders sepa- rately send one payment to a receiver. To protect trans- action privacy, we will modify Wang et al.’s scheme [24] to encrypt transaction amounts. The original amounts are replaced with the ciphertexts decrypted by only the re- ceiver that owns the private key. Figure 1 shows the above process about transaction privacy with Paillier, where the definitions of letter symbols and parameters can be ex- plained in Section 3.1. 3.1 Transaction Privacy Scheme with Paillier KeyGen. For the specific receiver, select two large primes p, q, compute n = pq, Îť = lcm (p− 1, q − 1), and set g ∈ Z∗n2 . The public key is pk = (n, g) and the secret key is sk = Îť. Furthermore, generate pub- lic parameters (gÎą, hÎą) used in Verify phase and set nÎą = n2, where gÎą ∈ Z∗nÎą and hÎą is an element of the group generated by gÎą. Verify i i H c E E H E = = = Õ Õ 1 1 modrmE g h na a a a= 2 2 2 mod m nc g r n= 1 2 1 mod m nc g r n= 2 2 modrmE g h na a a a= 2modkm n kc g r n= modkm r kE g h na a a a= 1u 2u ku 1m ¢ km ¢ 2m ¢ return 1 ( ) receiver : ,sk pk next transaction next transaction next transaction Figure 1: Transaction privacy with paillier cryptosystem Encrypt. In our scheme, k senders initiate one payment separately to a receiver. To protect transaction pri- vacy, Paillier cryptosystem is used to hide the trans- action amounts mi into ciphertexts ci under the re- ceiver’s public key pk = (n, g). Each sender ui selects r = hÎą and encrypts amounts as follows: ci = Encpk(mi) = gmirn mod n2 Meanwhile, each sender ui makes a commitment Ei = gmiÎą hrιι mod nÎą for mi, where rÎą = n. Verify. In the Encrypt phase, the senders initiate bit- coins to the specific receiver under pk. Now the system will check the correctness of the transaction amounts in process as follows: whether the output- sum k∑ i=1 m′i inside the cooperated cipher k∏ i=1 ci is equal to input-sum k∑ i=1 mi inside the cooperated commit- ment k∏ i=1 Ei. The transaction will not be sent to the receiver unless the verification process are valid. The concrete details are divided into two steps: Step 1. The system computes the cooperated ci- phertexts and the cooperated commitments: H = ∏ ci = g ∑ m′irn mod n2 E = ∏ Ei = g ∑ mi Îą hrιι mod nÎą Step 2. From KeyGen and Encrypt, there are nÎą = n2, r = hÎą, rÎą = n. The system checks whether H is equal to E. If yes, this shows that input-sum k∑ i=1 mi is equal to output-sum k∑ i=1 m′i, then the system returns 1 for the next process. Decrypt. As described in the previous process, the trans- action will be sent to the specific receiver if the sys- tem returns 1. The receiver uses sk = Îť to decrypt ci (i = 1, ¡ ¡ ¡ , k): m′i = Dec (ci) = L(ci Îť mod n2) L(gÎť mod n2) mod n. International Journal of Network Security, Vol.21, No.5, PP.741-750, Sept. 2019 (DOI: 10.6633/IJNS.201909 21(5).05) 744 A transaction is finished when the receiver assures the amounts are correct after decryption. Broadcast. Finally, the transaction will be broadcast to P2P network. 3.2 Correctness of Decryption To show the correctness of decryption, a few definitions and conclusions will be given firstly as follows [18]: Definition 3. For RSA modulus n = pq where p and q are large primes, g ∈ Z∗n2 , and Îľg is defined as: (x, y)→ gx ¡ yn mod n2 where x ∈ Zn, y ∈ Z∗n and c = gxyn mod n2 ∈ Z∗n2 . Definition 4. For Îľg and c ∈ Z∗n2 , the unique integer x ∈ Zn is regarded as n-th residuosity class of w with respect to g for which there exists y ∈ Z∗n such that Îľg (x, y) = c. The class of w is denoted by [[w]]g. Lemma 1. For any ci ∈ Z∗n2 , L ( cÎťi mod n2 ) = Îť[[ci]]1+n. Next, we will give a brief correctness analysis of Pail- lier cryptosystem: Since [[g]]1+n = [[1 + n]] −1 g is revertible, which results in that L(gÎť mod n2) is revertible modulo n. Therefore, for any g ∈ G and ci ∈ Z∗n2 , i = 1, ¡ ¡ ¡ , k, compute L ( cÎťi mod n2 ) L (gÎť mod n2) = Îť[[ci]]1+n Îť[[g]]1+n = [[ci]]g[[g]]1+n [[g]]1+n = mi the receiver decrypts ci correctly to acquire the original amounts mi. 3.3 Security Analysis Our scheme can resist two major types of attacks: active attack and passive attack [24]. Active attack. Since each transaction in the bitcoin sys- tem is broadcast eventually to the P2P network and the attacker may destroy system deliberately (tampering attack) or forge transactions maliciously (Overlay attack) in different types. Our scheme in Section 3.1 can resist the active attacks as described above. We state security analysis: Tampering attack. Our scheme uses the Paillier cryp- tosystem to encrypt transaction amounts, and only the receiver with private key can obtain the legal bit- coin. The receiver will not decrypt if the attacker tampers ciphertexts, which makes the transaction be discarded. Then our scheme can resist the informa- tion tampering attack. Overlay attack. Overlay attack means that the at- tacker adds a forgery encrypted amount cf to the original encrypted amount under the receiver’s pk. The input-sum and the output-sum will be unequal if the attacker adds another amount to the transac- tion, which results in that the verification process will fail. Then our scheme can resist overlay attack. Passive attack. The passive attacks usually contain in- formation monitoring and traffic analysis. The at- tackers intend to extract secret information from the traders by monitoring communications between senders and a receiver or analyzing the traffic data of their transactions through internet, then the system may be unsecure due to some sensitive information in public. The Paillier cryptosystem is used to en- crypt and protect the apparent amounts shown on the scripts, and what we can see is an unrecognized string which can only be readable to the receiver with private key. Then our scheme can resist passive at- tacks. 4 Aggregate Interactive Signature Zhu et al. [27] addressed the problem of instant confir- mation with incontestability in blockchain by adopting interactive signature. Aggregate signature technique pro- posed by Boneh et al. [3] can improve efficiency of signa- ture verification. Next, we will combine interactive incon- testable signature with aggregate signature technique to form a new aggregate signature scheme. The detail will be showed as follows. 4.1 The Proposed Signature Scheme Setup. This algorithm firstly generates the bilinear groups G1,GT of prime order p1. Let g1 be the generator of G1. This algorithm chooses a random element h ∈ G1 and outputs a master public key mpk = (g1, h). Meanwhile, there is a hash function H : {0, 1}∗ → G1. KeyGen. Each sender ui (i = 1, ¡ ¡ ¡ , k) runs this algo- rithm to generate private key ski = xi∈RZ∗p1 and public key pki = hxi . The specific receiver runs this algorithm to generate private key sk′ = d∈RZ∗p1 and public key pk′ = gd1 . Sign. Each block contains multiple transactions in the bitcoin blockchain, and each transaction in- cludes multiple inputs and outputs. Each sender ui (i = 1, ¡ ¡ ¡ , k) and the specific receiver interact separately as follows to generate a signature: Step 1. The receiver selects a∈RZ∗p1 , calculates Mi = H(Ti) a ∈ G1 of transaction Ti, and trans- mits Mi to the corresponding sender, where transaction amounts in Ti are apparent. Mean- while, the receiver outputs a witness W = (wit1, wit2), where wit1 = ga1 , wit2 = (ha)sk ′ = (ha)d; Step 2. Each sender picks a number ri∈RZ∗p1 , com- putes σ′i = ( g xiH(IDi) 1 ¡Mi )ri and returns σ′i to the receiver, where IDi is the identifier of transaction Ti; International Journal of Network Security, Vol.21, No.5, PP.741-750, Sept. 2019 (DOI: 10.6633/IJNS.201909 21(5).05) 745 Step 3. The receiver calculates σ′′i = (σ′i) d = ( g xiH(IDi) 1 ¡Mi )rid with his private key sk′ = d and delivers σ′′i to the corresponding sender; Step 4. Finally, each sender computes σi = (σ′′i ) r−1 i = ( g xiH(IDi) 1 ¡Mi )d separately of Ti. Aggregate. The signature σi of Ti is published in a block. The system selects the master node to calculate an aggregate signature σ = k∏ i=1 σi. Verify. The aggregate signature σ are given. In order to verify the aggregate signature σ, the verifier checks e (σ, h) = k∏ i=1 e ( (pk′) H(IDi), pki ) ¡ e (H(Ti), wit2) then accepts σ if the above equation holds. 4.2 Correctness of Aggregate Signature The correctness of an aggregate signature σ is proved as follows: k∏ i=1 e ( (pk′) H(ID1), pki ) ¡ e (H (Ti) , wit2) = k∏ i=1 e (( gd1 )H(IDi) , hxi ) ¡ e ( H (Ti) , h ad ) = k∏ i=1 e (( g xiH(IDi) 1 ¡Mi )d , h ) = e ( k∏ i=1 σi, h ) 4.3 Existential Unforgeability Boneh et al. [3] set up the security model about aggregate signature at the first time. Aggregate signature means that k users separately signs k distinct messages, then k signatures are aggregated into a single signature. This single signature will convince the verifier that k users did indeed sign k messages. Therefore, the security model about aggregate signature of Boneh et al. [3] is applied to our aggregate interactive signature. In our scheme, the adversary A’s advantage, AdvAggSigA, is defined to be the probability of success in the following game [3]: Setup. The adversary A is provided with a public key pk1 generated at random. Queries. Proceeding adaptively, A requests signatures with pk1 on the messages of his choices. Response. Finally, A outputs k − 1 additional public keys pk2, pk3, ¡ ¡ ¡ , pkk, here, k is at most N , a game parameter. These keys, along with the initial key pk1, will be included in A’s forged aggregate. A outputs transaction messages T1, T2, ¡ ¡ ¡Tk and an aggregate signature σ by k users. The adversary A wins if the aggregate signature σ is a valid on messages T1, T2, ¡ ¡ ¡Tk under keys pk2, pk3, ¡ ¡ ¡ , pkk, and σ is nontrivial, i.e., A did not re- quest a signature on T1 under pk1. Definition 5. An aggregate forger A (t, Îľ, qh, qs)-breaks an N -user aggregate signature scheme in the aggregate chosen-key model if: A has advantage at least Îľ in the above game, runs in time at most t, and makes at most qh queries to hash function, qs queries to signing oracle. An aggregate signature scheme is (t, Îľ, qh, qs)-secure against existential forgery in the aggregate chosen-key model if no forger (t, Îľ, qh, qs)-breaks it. 4.4 Security Proof Theorem 1. Our aggregate signature scheme is (t, Îľ, qh, qs)-secure against existential forgery in the aggre- gate chosen-key model, if no algorithm running in time at most t′ can solve the eCBDH problem in G1 with proba- bility at least ε′, where t+ cG1 (qh + 2qs +N + 5) +N + 1 ≤ t′ ε′ = ( 1− 1 qs +N )qs+N−1 ¡ 1 qs +N ¡ Îľ Proof. Suppose there exists a PPT adversary A that out- puts a forged aggregate signature for new aggregate sig- nature scheme with a non-negligible advantage Îľ. We can use the algorithm A to construct a PPT algorithm C that can break the eCBDH problem. Setup. The algorithm C is given G,H,Gx, Hx, Hy ∈ G1, where x, y ∈ Z∗p1 , and his goal is to calculate Gxy ∈ G1. C runs the aggregate interactive signa- ture scheme to generate mpk = (G,H) = (g1, h) and starts as follows: Algorithm C maintains a list of seven tuples (Ti, pki, pk ′,W, Îťi, c, a). We refer to this list as the K- list, and the list is initially empty. When A performs the queries of the transaction Ti under the public keys, algorithm C responds as follows: Step 1. If the query Ti already appears on the K- list in some tuple (Ti, pki, pk ′,W, Îťi, c, a), then algorithm C responds with pki, pk ′,W . Step 2. Otherwise, C generates a random coin c ∈ {0, 1} so that Pr[c = 0] = 1/(qs +N). Step 3. Algorithm C picks Îťi, a ∈ Z∗p1 . If c = 0 holds, assuming that ski = yÎťi, sk ′ = x/Îťi, C computes pki = (Hy) Îťi , pk′ = Gx/Îťi International Journal of Network Security, Vol.21, No.5, PP.741-750, Sept. 2019 (DOI: 10.6633/IJNS.201909 21(5).05) 746 wit1 = Ga = ga1 , wit2 = (Hx) a = had W = (wit1, wit2) If c = 1 holds, assuming that ski = Îąi ∈ Z∗p1 , C computes pki = H = Ga = gÎąi1 , pk′ = Gx/Îťi . Step 4. Algorithm C adds the tuple (Ti, pki, pk ′,W, Îťi, c, a) to the K-list and responds to A as pki, pk ′,W . Note that, either way, pki, pk ′,W are uniform in G1 and are independent of A’s current view as required. Hash queries. Algorithm A can query the random ora- cle H to qh times. When A queries H (Ti) of Ti, al- gorithm C responds as H (Ti) = Gh(Ti), where there is a map: {0, 1}∗ → Z∗p1 and h (Ti) ∈ Z∗p1 . Signature queries. Algorithm A requests a signature on some transaction message Ti under the challenge key pk1. Algorithm C responds to the query as fol- lows: 1) Algorithm C runs the above algorithm to re- spond the hash queries on Ti, obtaining the corresponding tuple (Ti, pki, pk ′,W, Îťi, c, a). If c = 0, then C reports failure and terminates. 2) Otherwise, algorithm C computes σi = GxH(IDi)+h(Ti)xa and returns σi to A. Output. Finally, A halts. It either concedes failure, in which case so does A, or it returns a value k (k ≤ N), k−1 public keys pk2, pk3, ¡ ¡ ¡ , pkk, k transaction mes- sages T1, ¡ ¡ ¡ , Tk, and a forged aggregate signature σ. A must not have requested a signature on T1. Algo- rithm C runs the above algorithms at each Ti and ob- tains k corresponding tuples (Ti, pki, pk ′,W, Îťi, c, a), where i = 1, 2, ¡ ¡ ¡ , k. Algorithm C now proceeds only if c = 0 when i = 1 , and, for 2 ≤ i ≤ k, c = 1; otherwise C declares failure and halts. The aggregate signature σ must satisfy the follow equation: e (σ, h) = k∏ i=1 e ( (pk′) H(IDi), pki ) ¡ e (H(Ti), wit2) . For each i > 1, C sets σi = GxH(ID)i+h(Ti)xa, then e (σi, h) = e ( GxH(IDi)+h(Ti)xa, h ) = e ( GxH(IDi), h ) ¡ e ( Gh(Ti), hax ) = e ( (pk′) H(IDi), h ) ¡ e ( Gh(Ti), wit2 ) So σi is a valid signature on Ti. Now C constructs a value σ1 : σ1 ← σ ¡ ( k∏ i=2 σi )−1 . Then e (σ1, h) = e (σ, h) ¡ k∏ i=2 e(σi, h) −1 = e ( (pk′) H(ID1), pk1 ) ¡ e (H (T1) , wit2) If the above equation holds, σ1 is a valid signature on T1. Then C can calculate and output his target value Gxy = ( σ1 / (Gx) ah(T1) )1/H(ID1) The above steps complete the description of algorithm C. It remains to show that C solves the eCBDH problem in G1 with probability at least ε′. To do so, we analyze the three events needed for C to succeed: E1: C does not abort as a result of any of C’s signature queries. E2: A generates a valid, nontrivial aggregate signature forgery (k, pk1, ¡ ¡ ¡ , pkk, T1, ¡ ¡ ¡ , Tk). E3: Event E2 occurs, and, in addition, c = 0 when i = 1, and, for 2 ≤ i ≤ k. C succeeds if all these events happen. The probability Pr [E1 ∧ E3] decomposes as Pr [E1 ∧ E3] = Pr [E1] ¡ Pr [E2|E1] ¡ Pr [E3|E1 ∧ E2] The following claims give a lower bound for each of these terms. Claim 1. The probability that algorithm C does not abort as a result of A’s aggregate signature queries are at least (1− 1/(qs +N)) qs . Hence, Pr [E1] ≥ (1− 1/(qs +N)) qs Claim 2. If algorithm C does not abort as results of A’s queries, then algorithm A’s view is identical to its view in the real attack. Hence, Pr [E2|E1] ≥ Îľ Claim 3. The probability that algorithm C does not abort after A outputs a valid and nontrivial forgery is at least (1− 1/qs +N) N−1 ¡ 1/(qs +N). Hence, Pr [E3|E1 ∧ E2] ≥ (1− 1/qs +N) N−1 ¡ 1/qs +N Algorithm C produces the correct answer with probability at least ε′ = ( 1− 1 qs +N )qs+N−1 ¡ 1 qs +N ¡ Îľ International Journal of Network Security, Vol.21, No.5, PP.741-750, Sept. 2019 (DOI: 10.6633/IJNS.201909 21(5).05) 747 ( ) 1 1 1 1 2 1 : , mod m n u sk pk c g r n= ( ) 2 2 2 2 2 2 : , mod m n u sk pk c g r n= ( ) 2 : , modk k k k m n k u sk pk c g r n= 1 k i i s s = =Õ ( ) ( ) receiver: , , sk pk sk pk¢ ¢ next transaction next transaction next transaction 1 m¢ 2 m¢ km¢ ( )( )1 1 1 1 1 d x H ID g Ms × ¢= × ( )( )2 2 2 2 2 d x H ID g Ms × ¢= × ( )( )k k d x H ID k k kg Ms × ¢= × Figure 2: Transaction privacy with paillier cryptosystem Algorithm C’s running time is the same as A’s running time plus the time that is takes to respond to public- key queries hash queries and signature queries, and the time to transform A’s final forgery into the eCBDH so- lution. Each hash query and signature query require an exponentiation in G1. The output phase requires at most N additional hash computations, three inver- sions, two exponentiations, and N+1 multiplications. We assume that exponentiation and inversion in G1 take time cG1 . Hence, the total running time is at most t+ cG1 (qH + 2qS +N + 5) +N + 1 ≤ t′ as required. The above process complete the proof of Theorem 1. 5 New Protocol with Privacy Pre- serving and Fast Verification 5.1 The Proposed Protocol A new protocol that can achieve privacy preservation and fast verification is proposed in this Section. Transaction privacy with Paillier in Section 3 and new aggregate sig- nature in Section 4 are used to reach our goals. The sender signs a payment after transaction amounts are en- crypted and verified by the system. Here, there exist k senders initiate k payments to a receiver. Figure 2 shows the structure of our protocol, where (ski, pki) is the sig- nature key pair of each sender, (sk, pk) and (sk′, pk′) are separately the encryption key pair and the signature key pair of the receiver. The concrete process of signature is shown as follows. KeyGen. The system generates the bilinear group G1,GT and chooses a random number h ∈ G1. Let g1 be the generator of G1. Each sender ui (i = 1, ¡ ¡ ¡ , k) runs this algorithm to generate private key ski = xi∈RZ∗p1 and public key pki = hxi . The specific receiver runs this algorithm to generate private key sk′ = d∈RZ∗p1 and public key pk′ = gd1 . Sign. Each block contains multiple transactions in the bitcoin blockchain. Then each sender and receiver interact separately as follows to generate a signature for a payment. Here, we denote the transaction as T ′i , where each transaction amount mi has been en- crypted as ci by Paillier cryptosystem. Step 1. The receiver calculates the M ′i = H(T ′i ) a of transaction T ′i with a∈RZ∗p1 , and then trans- mits M ′i to each sender. Meanwhile, the receiver outputs a witness W = (wit1, wit2), where wit1 = ga1 , wit2 = (ha) sk′ = (ha) d Step 2. Each sender selects a number ri∈RZ∗p1 and delivers σ′i = ( g xiH(IDi) 1 ¡M ′i )ri to the receiver, where IDi is the identifier of T ′i ; Step 3. The receiver calculates σ′′i = (σ′i) d = ( g xiH(IDi) 1 ¡M ′i )rid and returns σ′′i to the corresponding sender; Step 4. Finally, each sender computes σi = (σ′′i ) r−1 i = ( g xiH(IDi) 1 ¡M ′i )d of T ′i . Aggregate. The system selects the master node to cal- culate aggregate signature σ = k∏ i=1 σi. Verify. An aggregate signature σ ∈ G1 is given. In order to verify the signature σ, the verifier computes e (σ, h) = k∏ i=1 e ( (pk′) H(IDi), pki ) ¡ e (H(T ′i ), wit2) then accepts σ if this equation holds. The transaction will be sent to the receiver if the above steps are performed correctly, where the transfer form of input is ci = gmirn mod n2. Decrypt. When the receiver gets ciphertexts, he can use private key sk′ to decrypt: mi = Dec (ci) = L(ci Îť mod n2) L(gÎť mod n2) mod n A transaction is finished when the receiver assures the amounts are correct after decryption. Broadcast. Finally, the transaction will be broadcast to P2P network. International Journal of Network Security, Vol.21, No.5, PP.741-750, Sept. 2019 (DOI: 10.6633/IJNS.201909 21(5).05) 748 5.2 Security Analysis In Sections 3 and 4, the security of transaction privacy and aggregate signature have been revealed separately. Then security analysis about our protocol are showed as follows: 1) In the process of encrypting transaction amounts, our scheme can resist active attack (such as tampering attack and overlay attack) and passive attack (such as information monitoring) due to the use of Paillier cryptosystem. The details refer to Section 3.3. 2) In the process of signature, the new aggregate sig- nature is proved to be unforgeable under eCBDH assumption, which ensures that the attacker cannot tamper with the aggregate signature and then any single signature of all senders is unforgeable. The details refer to Section 4.3. Table 1: Functionality comparisons Transaction privacy Fast verification Compatible with bitcoin [24] √ × √ [26] √ √ × [27] × × √ Ours √ √ √ Table 2: Complexity Analysis of transaction privacy Algorithm Computation Costs KeyGen 2τm Encrypt kτM + (k + 1) τE Verify (2k − 2) τm + kτM + (k + 1) τE Decrypt (k + 1) τm + (k + 1) τE 5.3 Functionality Comparisons Features comparisons between our protocol and some re- cent schemes are listed in Table 1. As can be seen from the comparisons with some related works, our protocol can achieve more functionality, where √ means that the corresponding scheme achieves this functionality, and × means that the corresp";"""date"",""2019-08-13T15:46:13Z"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""2"",""45"",""11"",""47"",""35"",""87"",""0"",""0"",""0"" ""pdf:PDFVersion"",""1.5"" ""xmp:CreatorTool"",""TeX"" ""pdf:hasXFA"",""false"" ""access_permission:modify_annotations"",""true"" ""access_permission:can_print_degraded"",""true"" ""dcterms:created"",""2019-08-13T15:46:13Z"" ""language"",""en"" ""Last-Modified"",""2019-08-13T15:46:13Z"" ""dcterms:modified"",""2019-08-13T15:46:13Z"" ""dc:format"",""application/pdf; version=1.5"" ""Last-Save-Date"",""2019-08-13T15:46:13Z"" ""pdf:docinfo:creator_tool"",""TeX"" ""access_permission:fill_in_form"",""true"" ""pdf:docinfo:modified"",""2019-08-13T15:46:13Z"" ""meta:save-date"",""2019-08-13T15:46:13Z"" ""pdf:encrypted"",""false"" ""pdf:docinfo:custom:PTEX.Fullbanner"",""This is MiKTeX-pdfTeX 2.9.6668 (1.40.19)"" ""modified"",""2019-08-13T15:46:13Z"" ""Content-Length"",""540039"" ""pdf:hasMarkedContent"",""false"" ""Content-Type"",""application/pdf"" ""PTEX.Fullbanner"",""This is MiKTeX-pdfTeX 2.9.6668 (1.40.19)"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""trapped"",""False"" ""meta:creation-date"",""2019-08-13T15:46:13Z"" ""created"",""2019-08-13T15:46:13Z"" ""access_permission:extract_for_accessibility"",""true"" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""10"" ""Creation-Date"",""2019-08-13T15:46:13Z"" ""resourceName"",""ijns-2019-v21-n5-p741-750.pdf"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""3964"",""4194"",""3274"",""3911"",""3329"",""2798"",""3113"",""3226"",""3383"",""2662"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""pdf:docinfo:trapped"",""False"" ""producer"",""MiKTeX pdfTeX-1.40.19"" ""access_permission:can_modify"",""true"" ""pdf:docinfo:producer"",""MiKTeX pdfTeX-1.40.19"" ""pdf:docinfo:created"",""2019-08-13T15:46:13Z"" ";https://scholar.google.com/scholar?start=820&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094579-819;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Break-glass encryption;A Scafuro ; IACR International Workshop on Public Key …, 2019 Springer;;"… We abstract the properties of such verifiable permission mechanism in an ideal functionality \(\mathcal {G}_{\mathsf{perm}}\) (see Fig. 2) and we discuss possible implementations using a blockchain or an email provider (see Sect … On the Need of State, Obfuscation, Blockchain …";Cité 4 fois;Les 2 versions;[PDF] nsf.gov;https://par.nsf.gov/servlets/purl/10098718;" Break-glass Encryption Alessandra Scafuro(B) NCSU, Raleigh, USA ascafur@ncsu.edu Abstract. “Break-glass” is a term used in IT healthcare systems to denote an emergency access to private information without having the credentials to do so. In this paper we introduce the concept of break-glass encryption for cloud storage, where the security of the ciphertexts – stored on a cloud – can be violated exactly once, for emergency circumstances, in a way that is detectable and without relying on a trusted party. Detectability is the crucial property here: if a cloud breaks glass with- out permission from the legitimate user, the latter should detect it and have a proof of such violation. However, if the break-glass procedure is invoked by the legitimate user, then semantic security must still hold and the cloud will learn nothing. Distinguishing that a break-glass is requested by the legitimate party is also challenging in absence of secrets. In this paper, we provide a formalization of break-glass encryption and a secure instantiation using hardware tokens. Our construction aims to be a feasibility result and is admittedly impractical. Whether hardware tokens are necessary to achieve this security notion and whether more practical solutions can be devised are interesting open questions. 1 Introduction The purpose of an encryption scheme [GM84] is to protect data against any observer that is not the intended recipient of the data. Encryption has been historically used to protect messages in transmission over untrusted channels. Recently however, encryption is progressively being used in the context of cloud storage to protect the confidentiality of the data uploaded by the users to the cloud. In a cloud storage setting, the cloud is trusted to guarantee availability of the uploaded data at any time, but it is not necessarily trusted (or held accountable) for not leaking clients’ data to third parties. Thus, the cloud can be seen as an untrusted but reliable channel that the client uses to communicate data to herself in the future. The Need to Break. But what happens if the user loses the key? Or more gener- ally, what if the user loses the ability to access to the secret key (e.g. because she lost her laptop, or simply because she is not alive anymore) but there is a need A. Scafuro—Supported by NSF grant #1012798. cŠ International Association for Cryptologic Research 2019 D. Lin and K. Sako (Eds.): PKC 2019, LNCS 11443, pp. 34–62, 2019. https://doi.org/10.1007/978-3-030-17259-6_2 http://crossmark.crossref.org/dialog/?doi=10.1007/978-3-030-17259-6_2&domain=pdf https://doi.org/10.1007/978-3-030-17259-6_2 Break-glass Encryption 35 to retrieve the documents that she uploaded to the cloud? For this emergency condition, one would like to have a way to break the encryption without knowing any cryptographic secret associated to the user. Break-glass Encryption. We introduce the concept of break-glass1 encryption. This is an encryption scheme that guarantees semantic security – just like any traditional encryption scheme – but it additionally provides a new command called Break that allows one designated party (the cloud) to help an alleged user to break her ciphertexts. Each ciphertext can be broken at most one time in a way that is detectable. Detectability is the crucial property. If the cloud breaks the ciphertexts without having received any request from the user, then the user should be able to detect and publicly prove this violation. A bit more specifically, we consider a setting where a user uploads and updates a (potentially large) number of ciphertexts and we want two properties: (1) a legitimate break- glass procedure preserves semantic security, that is, an honest user should be able to use the cloud to break her ciphertexts in such a way that the cloud does not learn anything about the plaintexts; (2) an illegitimate break-glass procedure is detectable, that is, if the cloud breaks user’s ciphertexts without any permission, this violation is detectable and can be proven to a third party. In other words, a legitimate break-glass procedure preserves the semantic security of the ciphertext, while an illegitimate break-glass procedure leaks data but provides a proof of the violation. What Constitutes a Legitimate Break-glass Request? A peculiar aspect of a break-glass encryption is that the break-glass procedure should be requested without knowing any secret. This is indeed crucial since a user wants to break- glass exactly because he does not remember his secrets. However, if no secret are required to request to break-glass, how do we dis- tinguish a legitimate request – coming from the owner of the data – from an illegitimate one – coming from anyone else? What makes a request illegitimate? This is a challenge unique for our setting. For any break-glass encryption, one has to first design a permission mechanism for creating legitimate permis- sions without any secret and identifying and/or denying illegitimate requests. To devise such a permission mechanism we leverage the following observation. If a user did not request a break-glass procedure, this means that she probably still possesses her secrets, and therefore she can use them to delegitimize the request. More concretely, the high-level idea behind the permission mechanism is the following. Any user U has associated a (public) alert address (e.g., an email address, a Bitcoin account), which we call alert-info. When the cloud receives a break-glass request from a party on behalf of user U , will first send an “alert” to user U , by forwarding the break-glass request to the address alert-info. The 1 The name break-glass encryption is inspired by the break-glass procedures used in access control of various systems (healthcare, computer systems, etc.). In a break- glass procedure the system administrator breaks into the account of a certain user without the legitimate credentials in order to retrieve his data. 36 A. Scafuro cloud will then wait a certain interval of time TWaitPermission, this time could depend on the application and the permission mechanism. If the users knows the secret associated to alert-info, then she will be able to stop or endorse the permission by using her secrets. If not, the user will simply do nothing. After waiting TWaitPermission steps, if no denying answer is received from U , the silence is accepted as a proof that the user did indeed lose the key and a “silence” permission that U wishes to break the glass. Crucially, it is important that a cloud is not able to fabricate a “silence” permission; thus the silence response must be publicly verifiable. This is necessary for protecting the user against a malicious cloud that pretends that no answer was received; but also to protect the cloud in case a malicious user remains silent but then later accuses the cloud by fabricating a proof delegitimizing the request. We abstract the properties of such verifiable permission mechanism in an ideal functionality Gperm (see Fig. 2) and we discuss possible implementations using a blockchain or an email provider (see Sect. 4.3). Detectability: Why Simple Solutions Do Not Work. At first sight, the break- glass property might seem trivial to achieve; after all we are adding a method to reveal something and not to conceal. Unfortunately, this is not the case, and the main reason is that for each breaking attempt we need to ensure detectability. To show this, we now discuss some trivial solutions that do not work. A straightforward solution could be to upload the ciphertexts in one cloud, and give the secret key to another party, e.g., a friend, another cloud, a group of colleagues, etc. This approach fails in achieving detectability: if the cloud colludes with the party holding the key then ciphertexts can be decrypted at any time and without leaving any trace. Similarly, the approach of selecting a group of people that collectively holds the secret key suffers of the same problem: if the group comes together and decides to decrypt, there is no way for the user to ever notice. Furthermore, in this type of approach, it does not seem possible to guarantee semantic security in presence of legitimate break-glass procedure. Another relatively straightforward approach is to use a one-time hardware token. Namely, the user prepares a token which has the secret key hardwired, and when queried, it will output the key and then stop responding. The user will then send to the cloud two things: the ciphertexts and the token, with the understanding that the token should be used only in case of emergency. To break the glass, the cloud simply queries the token and get the key. The user could detect if the break-glass procedure has been illegitimately performed by peri- odically pinging her token. This approach however does not achieve semantic security in presence of legitimate break-glass procedure. Indeed, since the cloud learns the key, will be able to decrypt everything even when following a legit- imate request, and also trace the ciphertexts updates over time. Finally, this solution does not allow for any granularity in case of illegitimate break-glass procedure. Indeed, since the key is revealed, all ciphertexts are automatically broken. Instead, we would like a more fine-grained mechanism that tells the user exactly which ciphertexts have been compromised, or that it allows the user to Break-glass Encryption 37 setup a leaking threshold (e.g., not more then 50% of the data should be ever decrypted). When to Use Break-glass Encryption? Break-glass security is reminiscent of covert security [AL07], and it is meaningful in scenarios where the loss of rep- utation is a strong deterrence against cheating. In particular, our definition is stronger than covert security in that we explicitly require that, for any illegit- imate breaking attempt, the client will get a proof that can be used to pub- licly accuse the cloud. Thus, we target the scenario of cloud storage, where the cloud is a functional and mostly credible company (e.g., Dropbox, iCloud Apple, Google drive). In this scenario the stake for reputation is very high, therefore it is very reasonable to assume that the benefit from breaking the security of a single client, are less appealing than losing the reputation and thus all the other clients. Clearly, break-glass encryption is not suitable for scenarios where the cloud storage is an unknown server, that has not accountability or credibility. In this case indeed, there is no reputation to maintain, thus not deterrence against cheating. What Break-glass Encryption is Not. Break-glass encryption is different from a “trapdoored” encryption scheme, where one can put a trapdoor that allows a designed party (who knows the trapdoor) to decrypt. The crucial difference is that a trapdoor allows to decrypt undetectably, while we want to make sure that each break is detectable and it can be performed at most one-time. 1.1 Our Contribution and Our Techniques In this paper we provide two main contributions: – Definition of break-glass encryption. We introduce the new concept of break-glass encryption. This is an encryption scheme for the cloud stor- age setting, that allows a honest user to break her own ciphertexts when necessary, while preserving semantic security. We formally define break-glass encryption via an ideal functionality Fbreak. In this context, we also introduce a new ideal functionality, Gperm, for generating verifiable permissions for a user U . – Construction of a break-glass encryption. As a feasibility result, we show that break-glass encryption can be constructed using (stateful) hardware token [Kat07] in the (Gperm,Gclock)-hybrid model, where Gclock is the global clock functionality. We also suggest implementations of Gperm using blockchain or email systems. In the remaining part of this section we provide more details about the tech- nical aspects of each contribution. Definition of Break-glass Encryption. We consider a setting where there is a cloud C and a user U , and the cloud is used for memory outsourcing. The 38 A. Scafuro user can perform the following actions (1) upload/download ciphertexts; (2) update a ciphertext; (3) break-glass of one (or many) ciphertexts. Our ideal functionality Fbreak should satisfy the following properties. If the cloud honestly performs a legitimate break-glass procedure on behalf of a user, then semantic security should still hold, namely, the cloud does not learn anything about the decryption. If the cloud performs an illegitimate break-glass command, then this action must be detectable by the user the very next time the user attempts to read any ciphertext, and the violation should be publicly verifiable. Defining Permission Without Secret: Gperm Functionality. We introduce the Gperm functionality. This a functionality used by cloud C and user U to obtain and ver- ify valid permissions from U . In Gperm each user Ui is associated to a public information alert-infoi. We stress that this information is public and a user can retrieve it even if she loses all her secrets. This functionality provides the fol- lowing interface: Register, Create Permission, and Verify Permission. Register is used by U to register the public information alert-info. Create Permission is used by the cloud to obtain a permission πperm, which is either a publicly verifi- able endorsement of the request or a publicly verifiable silence proof from Gperm. This step uses timing information and invoke ideal functionality Gclock. This is the global clock functionality, previously used in [BMTZ17] in the context of defining the public ledger functionality and analysing the security of the bit- coin protocol. VerifyPermission is used by any party who wishes to check that (alert-info, πperm) is a valid permission granted by U . We discuss realization of Gperm based on blockchain or email in Sect. 4.3. Defining Break-glass: Fbreak Functionality. We capture the security properties of detectability, accountability and semantic security in presence of legitimate break-glass procedure in an ideal functionality Fbreak (Fig. 1). Fbreak interacts with two parties, a cloud C and a user U . Fbreak takes in input messages m1, . . . , ml from U , who can then update and retrieve her messages many times (by invoking commands Update/Retrieve). Fbreak provides a Break command that can be invoked by C only. It takes in input an index i (denoting the cipher- text that the party wishes to decrypt), a proof of permission (alert-info, πperm) or a proof of cheating (πcheat). Fbreak verifies the permission (alert-info, πperm) using Gperm, and then proceeds by sending mi to the user U only. If the request is illegitimate, Fbreak checks that πcheat is a proof of cheating. If the check passes, Fbreak sends mi to the cloud, and records the cheating attempt. For every operation requested by the user, Fbreak proceeds only after receiving an ack from C. This captures the real world fact that a cloud can always refuse to answer (note that this is true in any cloud system). In such case, our functionality give no explicit guarantees, since the user will just receive the message (refuse,⊥). In practice however, refusing the answer is a proof of misbehaviour and can be turned into a legal proof via court. Construction. Our construction relies on hardware tokens. The token is the point of trust of the user. It is initialized with the secret key k used to encrypt the Break-glass Encryption 39 data, a signing key sskT , and the verification key of the cloud vpkC . The token is sent to the cloud C at the very beginning, and it stays with the cloud throughout the execution. We consider the case where the user can encrypt arbitrarily long files, but the size of the token is constant, that is, it must be independent on the number of blocks encrypted. This size constraint rules out any solution where we just keep all the ciphertexts inside the token or have the token record all the ciphertexts for which the cloud invoked the Break command. The token performs a computation only when the inputs are authenticated wrt the cloud’s public key. Authenticated inputs serve two purposes: first, it pro- vides a proof in case a cloud operated the token illegitimately; second, it protects the cloud from false accusations about the operation of the token. Finally, the outputs of the token is also authenticated, in order to avoid that the cloud sends wrong information to the user. Warm Up Solution Without Granularity. As warm up, we describe a solution that does not provide any granularity. Namely, a user cannot detect which cipher- texts have been violated and when. The first solution works as follows. The user sends her ciphertexts C = (c1, . . . , cn), encrypted under a secret key k to the cloud. Then she initializes a token T with the secret key k, the verification key of the cloud vpkC and the signature key sskT used to authenticate T ’s outputs. The token T performs a very simple functionality: on input a permission perm and a fresh public key pk, it outputs the encryption of the secret key k and stops. Note that the token only checks that the input perm, pk is correctly signed by C; but does not check if the permission (if any) given in input is valid. This check will be done later by the parties only in case of dispute. This solution is simple, but it leaves little control on the illegitimate queries. Indeed, with one such query, the cloud can immediately decrypt 100% of the ciphertexts. We would like a more fine-grained approach that allows the user to identify precisely which ciphertexts have been broken and potentially to setup a threshold on the total number of ciphertexts that can be broken. A Fine-Grained Solution: Breaking Ciphertexts Selectively. To break the cipher- texts selectively, the token should not output the key. Instead, we need the token to decrypt selectively. The idea is to give in input to the token also a ciphertext ci, so that the token will answer with mi, i.e., the decryption of ci, rather than the key. More precisely, the token will output an encryption of mi under the public key pk, where pk is the public key chosen by the person who is requesting to break ciphertext ci. Moreover, to make sure that ci is marked as broken, the token will output a new version, c′ i = Enc(mi||broken||perm) that must replace ci, where perm is the permission used to invoke the break procedure (perm might be empty). Next time the user will download the i-th ciphertext, she will obtain c′ i and if she still has the key k, she will detect that c′ i was illegitimately broken; similarly, next time the cloud inputs c′ i to the token, the token will refuse to decrypt. This solution is too naive. A malicious cloud can simply ignore the new marked ciphertext c′ i and send the old unbroken ci to the user. Namely, the 40 A. Scafuro cloud can always replay old ciphertexts, defeating the checks of the token/user. To overcome this problem, we propose a mechanism that makes valid ciphertext evolve over time, or in other words, age. We do so by simply adding bookkeeping information; namely, each encryption now will also contain a time ti when it was last updated, the time T0 when the first break occurred (if any). This means that by downloading any of the ciphertexts the user can determine if a break-glass has happened. Each ciphertext ci needs to be refreshed every I timestamps (where I is a parameter that can vary with application). Since updating ciphertexts requires the use of the secret key, the cloud C will use the token to re-encrypt each ciphertext upon each interval I. Updating a ciphertex simply means to re- encrypt the message mi concatenated with the current time, and the time of the first break-glass T0 (if any). Now, when a user downloads the i-th ciphertext ci, and tries to decrypt it, she expects to obtain the most updated time (within a window of I steps). If not, she will discard the ciphertext as stale, and consider this as a cheating attempt from the cloud. Therefore, in this fine grained approach, the token performs two operations for the cloud: re-encryption and break. When the cloud inputs the command ‘re-encrypt’, then the token expects in input a ciphertext ci that needs to be re-encrypted with the current time. The token will accept to re-encrypt only if the time registered in ci are at most I steps behind the current time. Finally, there is a subtle issue that requires a careful tradeoff between the size of interval I and the size of the memory of the token. Consider the following attack. The cloud queries the token to re-encrypt ci at time t obtaining ct i. The cloud then queries the token to break ct i, at time t + 1 and obtains mi as well as the new encryption ct+1 i which is marked as broken. Then, the cloud completely discard ct+1 i and instead queries the token to re-encrypt ct i at time t + 2. If t + I < t + 2 then the token accepts to re-encrypt ct i with the new time t + 2, and output the new ciphertext ct+2 i which is not marked as broken (however note that ct+2 i will still have the field T0 ďż˝= 0 signaling that a break- glass took place). Thus, the cloud obtains a clean unmarked version of ci which is updated to time t + 2, even if ci was broken at time t + 1 and the user will not detect that this specific ciphertext was broken (however U will still know that a ciphertext was broken). This problem arises because we allow a interval I between re-encryptions and can be solved by simply remembering the indexes of the ciphertexts broken within a window of I steps. The size of this list depends on the size of I (and logn where n is the number of ciphertexts). How to Get Rid of Clocks in the Token. In the outlined solution, the token uses a clock to check the current time and identify stale ciphertexts. However, requiring a clock (even only loosely synchronized) in the token is a strong assumption (the token cannot simply connect to a public server to check the time). We remove this assumption by having the cloud C provide the current time as input to the token. Time is simply a monotonic function, and time is “correct” if it moves forward. Thus, instead of requiring the token to keep its own clock, the token could receive the time as input, store the last time it was queried, and accept a new “current” time only if it goes in the forward direction. Checking whether the time provided Break-glass Encryption 41 by C is actually good will be done by the user when downloading the ciphertext. As long as the parties (i.e., the cloud and the user) agree on a common source for reliable time, then there will be no dispute of the current time. We stress that assuming that C and U agree on a common time is a natural assumption made by most real world systems that we use in everyday life. The Network Time Protocol (NTP) [MMBK,CHMV17] is one example of protocols used for synchronization of the communications over the internet. There has been a lot of work on attacks and defenses for the NTP protocols (see [MG16,MGV+17]), but this problem is orthogonal to the one discussed in this paper. Moreover, we stress that we only need C and U to be loosely synchronized, and the parameters of the encryption (i.e., the interval I and TWaitPermission) can be tailored accordingly. On the Need of State, Obfuscation, Blockchain. We got rid of the clock for the token, by just assuming that the world (the cloud and the user) has a global clock. Can we get rid of the state too by assuming that the world share a global immutable state? If that was possible, we could use a stateless token, or even further, can we replace the token with Indistinguishability Obfusca- tion [ABG+13,GGH+13,GGHW17,BCP14]. Very recently blockchain technol- ogy provides the world with a common state that everyone seems to agree on, without trusting any party. Thus, a possible approach could be for the token to store its state as a transaction in the blockchain, and the cloud can query the token on input the transaction. However, this seems to be challenging since a token could not verify the validity of a transaction without having access to the entire blockchain. Recent work [LKW15,Jag15,KMG17,GG17] show how to construct one-time programs [GKR08] and time-lock encryption leveraging the blockchain (but they are based on witness encryption [GKP+13]). We do not rule out that an interesting solution can be developed using weaker cryptographic assumptions, we leave it as future work to explore this direction. Other Considerations. For simplicity we assume that the token sent by the user runs the prescribed code (i.e., the user does not embed malicious code into the token). This is only for simplicity of exposition, since standard techniques using zero-knowledge proof could allow us to remove this requirement. We believe that this is a reasonable relaxation, especially for the envisioned application of break- glass encryption, and since this is the first attempt to achieve such security notion. We do not consider side-channel attacks on the token. On Surveillance and Rational Adversaries. One can argue that this scheme has the undesired effect that it can be used by a government to break the privacy of its citizens (by subpoena the cloud). This is certainly true, but recall that the citizens would detect that their privacy is violated. Therefore, one can be in two cases. Case 1, one lives in a country where the state cares about citizens not being aware that they are monitored. In this case, the state would not use the break functionality to break encryption, but something more subtle. Case 2, one lives in a country where citizens are aware that they are watched. In this case, even if the state imposes the citizens to use a break-glass encryption scheme, 42 A. Scafuro then the citizens can still break-glass encrypt a ciphertext (rather than their messages). In this way, even if a break is performed, the perpetrator will only learn more encryptions. On Refusing to Provide the Service. Just like any client-server system, the cloud can always refuse to provide the service and ignore user’s requests. In this case the user will not have a cryptographic proof of cheating as promised by the break- glass encryption scheme, however, the user can obtain a court order obligating the cloud to release ciphertexts and users’ token. 2 Open Problems The main goal of this work was to introduce the concept of break-glass encryp- tion, and show that in principle is achievable. The proposed solution however is quite impractical and only provides a feasibility result. Several questions are left open: Are (stateful) hardware token necessary to achieve this notion of security? Can we devise a solution that achieves some granularity but it does not require the cloud to continuously update the ciphertexts by querying the token? What are other interesting implementations of Gperm and can Gperm have applications in other setting besides break-glass encryption? 3 Related Work Concurrently and independently from our work, recently the concept of “dis- posable cryptography” has been introduced by Chung, Georgiou, Lai and Zikas in [CGLZ18]. While sharing some similarity with our work, the aims and the techniques are very different. The goal of this work is to provide an encryp- tion scheme for cloud storage, that can be broken by anyone exactly once, in a detectable way. The motivation for break-glass is the case when the legitimate user wants to decrypt the data she uploaded to the cloud, but she lost all her secret keys. The goal of [CGLZ18] is to realize trapdoored cryptographic schemes that can be violated once, by a designated entity who possesses the trapdoor, which is not the legitimate user and without being detected. The motivation for dispensable backdoors is to allow law enforcement to break the scheme exactly once, the envisioned application is breaking into mobile phones undetectably. Somewhat related to the concept of break-glass cryptography is the idea of time- locked encryption [BN00,BGJ+16,BM09,BM17,LPS17]. In time-locked encryp- tion some information is meant to be protected for a certain period time T , thus when the time expires, the cloud will be able to decrypt the information contained in the ciphertext. The difference between break-glass and time-locked encryption is in the fact that our cloud can always break the encryption if she wishes to do so, but at the price of being detected. Our adversarial model is very close in spirit to the covert model [BM09]. In this model the adversary is allowed to cheat and violate the privacy to the parties, but by doing so he will be caught and thus lose reputation. Break-glass Encryption 43 4 Definitions 4.1 Break the Glass Encryption Scheme A break-glass encryption is a private-key encryption scheme designed for the cloud storage setting. It provides a procedure called Break which allows a user to decrypt her ciphertexts without knowing the secret key, exactly once. At high-level a break-glass encryption scheme must satisfy the following properties: – Completeness. If the cloud and the user follow the protocol then the user is able to obtain the plaintexts that she encrypted originally, without knowing the key. – Confidentiality (Semantic-Security). If no Break is performed, then the cipher- texts are semantically secure against any PPT malicious cloud. – Break-glass Confidentiality. If break-glass is requested by a legitimate user, the cloud does not learn anything about the broken ciphertexts. – Break-glass Detectability. If break-glass is performed by the cloud without user’s permission, the cloud can decrypt each ciphertext exactly once, and each violation is detected by the user (unless the cloud refuses to respond). – Break-glass Accountability. A user should be able to prove that the cloud performed an illegitimate break-glass request. We provide a simulation-based definition [Gol04,HL10] and capture the above security requirements via an ideal functionality Fbreak (Fig. 1). To capture break- glass accountability, Fbreak is designed so that it will proceed with an illegitimate break requested by the cloud C, only if C provides a proof of cheating, that we denote by cheat-proof. Fbreak invokes ideal functionalities Gperm and Gclock (which are defined as global functionalities). This definitional approach was used in previous work in the (stronger) GUC setting by Badertscher et al. [BMTZ17]. Finally, Fbreak captures the real world fact that a cloud can always refuse to provide a service. Thus, every operation on the outsourced messages is fulfilled by Fbreak only if the cloud agrees on responding. Definition 1 (Break-glass encryption scheme). A scheme Π is a secure break-glass encryption scheme if it realizes the functionality Fbreak in the sense of [HL10]. 4.2 The Gperm Ideal Functionality The ideal functionality Gperm is described in Fig. 2 and is inspired by the signature ideal functionality of [Can04]. The purpose of this functionality is to alert the user Ui, registered with alert address alert-infoi, that a permission request was triggered by a party. The user Ui can then provide a proof to either legitimate or to invalidate the permission request. This proof is then sent to the cloud Ci associated to alert-infoi. If the user fails to provide any proof within time TWaitPermission, then a proof of silence is generated and provided to C. 44 A. Scafuro FunctionalityFbreak. Participants: The cloud C, a user U , the adversary. Variables: a boolean flag, when flag = 1 means that there has been an illegitimate break. A vector Status = Status[1], . . . , Status[l], with Status[i] = b|nlegit where b = 1 means that the i-th ciphertext was broken; nlegit = 1 means that the break was not legitimate. A vector CheatΠ[1], . . . , CheatΠcheat[l] collects proofs of illegitimate break-glass. External Functionality: Gperm. Algorithms: Fbreak is parameterized by VrfyCheatProof to check the proofs of ille- gitimate access provided by a corrupted cloud. Procedure: ďż˝ Upload. Upon receiving (upload, sid, m1, . . . , ml, U) from user U , store the vector M = m1, . . . , ml. (Ignore any other request of this type). Send (uploaded, sid, l, U) to the cloud C and the adversary. ďż˝ Update. Upon receiving (update, sid, i, m) from user U , send (update, sid, i) to C. If C is corrupted, then wait for answer (ack-updated, sid, U , resp). If resp = no send (refuse, ⊥) to U . Else, update mi := m. Send (updated, sid, i) to U ,";"""date"",""2019-03-28T12:39:19Z"" ""pdf:PDFVersion"",""1.6"" ""xmp:CreatorTool"",""Springer"" ""pdf:docinfo:title"",""Break-glass Encryption"" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""subject"",""Public-Key Cryptography – PKC 2019, doi:10.1007/978-3-030-17259-6_2"" ""pdfa:PDFVersion"",""A-2b"" ""xmpMM:History:Action"",""converted"",""converted"" ""language"",""en"" ""dc:format"",""application/pdf; version=""""A-2b"""""",""application/pdf; version=1.6"" ""pdf:docinfo:custom:robots"",""noindex"" ""pdf:docinfo:creator_tool"",""Springer"" ""access_permission:fill_in_form"",""true"" ""xmpMM:History:When"",""2019-03-28T18:08:11Z"",""2019-03-28T18:09:19Z"" ""pdf:encrypted"",""false"" ""dc:title"",""Break-glass Encryption"" ""xmp:CreateDate"",""2019-03-28T18:05:50Z"" ""modified"",""2019-03-28T12:39:19Z"" ""cp:subject"",""Public-Key Cryptography – PKC 2019, doi:10.1007/978-3-030-17259-6_2"" ""xmpMM:History:SoftwareAgent"",""pdfToolbox"",""pdfToolbox"" ""pdf:docinfo:custom:CrossMarkDomains[1]"",""springer.com"" ""robots"",""noindex"" ""pdf:docinfo:subject"",""Public-Key Cryptography – PKC 2019, doi:10.1007/978-3-030-17259-6_2"" ""pdf:hasMarkedContent"",""false"" ""xmpMM:History:InstanceID"",""uuid:34351b40-ffda-4231-b02b-76efcb99c525"",""uuid:6c2d968b-3099-4488-aa49-e39394ea0963"" ""xmp:ModifyDate"",""2019-03-28T18:09:19Z"" ""pdf:docinfo:creator"",""Alessandra Scafuro "" ""meta:author"",""Alessandra Scafuro "" ""meta:creation-date"",""2019-03-28T12:35:50Z"" ""pdf:docinfo:custom:CrossmarkMajorVersionDate"",""2010-04-23"" ""created"",""2019-03-28T12:35:50Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2019-03-28T12:35:50Z"" ""resourceName"",""10098718"" ""pdfaid:part"",""2"" ""pdf:docinfo:custom:CrossMarkDomains[2]"",""springerlink.com"" ""pdf:docinfo:custom:doi"",""10.1007/978-3-030-17259-6_2"" ""pdf:docinfo:custom:CrossmarkDomainExclusive"",""true"" ""Author"",""Alessandra Scafuro "" ""CrossmarkDomainExclusive"",""true"" ""doi"",""10.1007/978-3-030-17259-6_2"" ""pdf:unmappedUnicodeCharsPerPage"",""1"",""0"",""0"",""0"",""0"",""5"",""1"",""0"",""0"",""0"",""5"",""5"",""2"",""0"",""5"",""2"",""2"",""13"",""9"",""3"",""22"",""2"",""1"",""3"",""0"",""0"",""29"",""0"",""0"" ""dc:description"",""Public-Key Cryptography – PKC 2019, doi:10.1007/978-3-030-17259-6_2"" ""access_permission:modify_annotations"",""true"" ""dc:creator"",""Alessandra Scafuro "" ""description"",""Public-Key Cryptography – PKC 2019, doi:10.1007/978-3-030-17259-6_2"" ""dcterms:created"",""2019-03-28T12:35:50Z"" ""Last-Modified"",""2019-03-28T12:39:19Z"" ""dcterms:modified"",""2019-03-28T12:39:19Z"" ""title"",""Break-glass Encryption"" ""xmpMM:DocumentID"",""uuid:3ac95b13-06a5-46bd-8bfe-489e8bbbccdb"" ""Last-Save-Date"",""2019-03-28T12:39:19Z"" ""CrossMarkDomains[1]"",""springer.com"" ""pdf:docinfo:modified"",""2019-03-28T12:39:19Z"" ""meta:save-date"",""2019-03-28T12:39:19Z"" ""Content-Length"",""940013"" ""Content-Type"",""application/pdf"" ""xmp:MetadataDate"",""2019-03-28T18:09:19Z"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"",""Alessandra Scafuro "" ""pdfaid:conformance"",""B"" ""dc:language"",""EN"" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""29"" ""pdf:hasXMP"",""true"" ""pdf:charsPerPage"",""2116"",""2795"",""2873"",""2263"",""2824"",""2789"",""2904"",""2806"",""2425"",""2304"",""2180"",""2383"",""2537"",""2359"",""2309"",""1991"",""1819"",""1981"",""1695"",""2099"",""2430"",""2064"",""2390"",""2465"",""2197"",""1798"",""1644"",""2948"",""1416"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""CrossMarkDomains[2]"",""springerlink.com"" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2019-03-28T12:35:50Z"" ""CrossmarkMajorVersionDate"",""2010-04-23"" ";https://scholar.google.com/scholar?start=630&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094579-820;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[PDF][PDF] Breaking Tweakable Enciphering Schemes using Simon's Algorithm.;S Ghosh, P Sarkar ; IACR Cryptol. ePrint Arch., 2019 eprint.iacr.org;;"… use the quantum period finding procedure called Simon's algorithm to attack several symmetric crypto-systems … In the classical setting the adversary is given only classical access to the corresponding oracles, ie all the oracle queries and other computations are classical …";Cité 2 fois;;[PDF] iacr.org;https://eprint.iacr.org/2019/724.pdf;" Breaking Tweakable Enciphering Schemes using Simon’s Algorithm Sebati Ghosh and Palash Sarkar Indian Statistical Institute 203, B.T.Road, Kolkata, India - 700108. {sebati r,palash}@isical.ac.in January 13, 2021 Abstract We show the applicability of Simon’s period finding quantum algorithm to the cryptanalysis of several tweakable enciphering schemes (TESs), namely, CMC, EME, XCB, TET and FAST. For XCB, TET and FAST, the attacks reveal portions of the secret key. For all of the five TESs, we show distinguishing attacks based on two encryption queries. Keywords: tweakable enciphering scheme, Simon’s algorithm. 1 Introduction The eventual availability of large-scale quantum computers appears to be a certainty. This will have major impact on cryptography. Public key cryptography based on factoring and discrete logarithm problem will be completely broken by Shor’s algorithm [16]. The impact on symmetric key cryptography will be less devastating. Exhaustive key search for symmetric key ciphers will be speeded up by a quadratic factor using Grover’s algorithm [6]. Symmetric key primitives such as block and stream ciphers are often used in modes of operations to build versatile cryptographic functionalities. A series of works [12, 13, 11, 2, 4] have shown the applicability of Simon’s period finding quantum algorithm [17] to cryptanalysis of certain modes of operations. In the present work, we continue the line of work on using Simon’s algorithm to attack modes of operations. Our target modes of operations are tweakable enciphering schemes (TESs) [9]. These provide several important cryptographic functionalities including that of full disk encryption. We refer to [9] for a description of how a TES can be used for disk encryption and to [3] for more general functionalities. Some TESs have also been standardised [1]. We consider five TESs, namely, CMC [9], EME [10, 7], TET [8], XCB [14, 15] and FAST [3]. CMC was the first TES to be proposed; IEEE has standardised [1] XCB and EME; TET uses invertible universal hash; and presently FAST provides the most recent development. Following Kaplan et al. [11], the attacks that we describe are based on the application of Simon’s algorithm. The algorithm performs the following task. Suppose f : {0, 1}m → {0, 1}n is a function and there is an s 6= 0m such that for all x ∈ {0, 1}m, f(x) = f(x ⊕ s). This s is called the period of the function. Using O(m) quantum queries to f , Simon’s algorithm can uncover s with high probability. The description in [17] required f to be a 2-to-1 function which was later modified to a looser condition in [11]. For each of the TES that we consider, we construct a function f based on the encryption algorithm of the TES. The function f has a period which is based on variables that are used during 1 the computation, but is not revealed as part of the ciphertext. Applying Simon’s algorithm to f uncovers the period and reveals the internal secret variable. In the cases of TET, XCB and FAST, obtaining the period of f reveals a portion of the secret key of the TES resulting in a partial key recovery attack. For all the five TESs, we show that using the period, it is possible to construct two distinct plaintexts such that designated portions of the corresponding ciphertexts are equal. This results in distinguishing attacks on all the TESs under consideration. 2 Preliminaries For a binary string x, by len(x) we will denote the length of x. The concatenation of two strings x1 and x2 will be denoted as x1||x2. Given an integer i in the range 0 ≤ i < 2k − 1, bink(i) denotes the k-bit binary representation of i. A set containing bit strings of length l or more is denoted by {0, 1}≥l, i.e. {0, 1}≥l = {x ∈ {0, 1}∗ : len(x) ≥ l}. We fix a positive integer n. A block cipher is a function E : K × {0, 1}n → {0, 1}n, where K is a finite non-empty set and for each K ∈ K, EK(¡) ∆ = E(K, ¡) is a permutation of {0, 1}n. The integer n denotes the block size and K is the key of the block cipher. The corresponding decryption function is D : K × {0, 1}n → {0, 1}n, where for each K ∈ K, DK(¡) ∆ = D(K, ¡) is the inverse of EK(¡), i.e., for any x ∈ {0, 1}n, DK(EK(x)) = x. 2.1 Tweakable Enciphering Scheme A tweakable enciphering scheme is a pair TES = (TES.Encrypt,TES.Decrypt) where TES.Encrypt,TES.Decrypt : K × T × P → P for finite non-empty sets K, T and P. The set K is called the key space, T is called the tweak space and P is called the message/ciphertext space. We write TES.EncryptK(¡, ¡) (resp. TES.DecryptK(¡, ¡)) to denote TES.Encrypt(K, ¡, ¡) (resp. TES.Decrypt(K, ¡, ¡)). The functions TES.Encrypt and TES.Decrypt satisfy the following two properties. For K ∈ K, T ∈ T and P ∈ P, 1. TES.DecryptK(T,TES.EncryptK(T, P )) = P ; 2. len (TES.EncryptK(T, P )) = len(P ). The first property states that the encryption and the decryption functions are inverses of each other while the second property states that the length of the ciphertext is equal to the length of the plaintext. In other words, TES.EncryptK(T, ¡) is a length preserving permutation of P. 2.2 Simon’s Algorithm Consider the following problem. Simon’s problem: Given a function f : {0, 1}m → {0, 1}n and the promise that there exists s ∈ {0, 1}m \ 0m such that for all x 6= y, f(x) = f(y) if and only if x⊕ y = s, find s. 2 The quantity s is often called the period of the function. Simon [17] described a quantum algorithm which finds the period of f with O(m) quantum queries to the function f and additional polynomial time classical computation. Simon’s problem is a promise problem, i.e., the function f has to satisfy the stated condition for Simon’s algorithm to work. There may be functions for which there is an s ∈ {0, 1}m \ 0m, such that for all (x, y) ∈ {0, 1}m × {0, 1}m, x ⊕ y ∈ {0m, s} ⇒ f(x) = f(y), but f(x) = f(y) does not necessarily imply x ⊕ y ∈ {s, 0m}, i.e., there could be t different from s and 0m, such that f(x) = f(x ⊕ t). Such a t is called a spurious collision. This issue was considered in [11], which defined the notion of approximate promise problem. For f : {0, 1}m → {0, 1}n such that f(x⊕ s) = f(x) for all x, the following quantity was defined in [11]. Îľ(f, s) = maxt∈{0,1}m\{0,s} Pr x [f(x) = f(x⊕ t)]. (1) Collisions of the form f(x) = f(x⊕ t) for t 6= s are called spurious collisions. If f satisfies the promise in Simon’s problem and has period s, then Îľ(f, s) = 0. We say that a function f : {0, 1}m → {0, 1}n satisfies the promise in Simon’s problem approximately, if there is an s such that f(x) = f(x⊕ s) for all x and 0 < Îľ(f, s) < 1. A modification of Simon’s algorithm to solve the approximate promise problem has been considered in [11] where the following result was proved. Theorem 1 (Kaplan et al. [11]). If Îľ(f, s) ≤ p0 < 1, then for constant c, Simon’s algorithm returns s with cm quantum queries, with probability at least 1− (2(1+p0 2 )c)m. If f satisfies the approximate promise problem, then Theorem 1 shows that s can be recovered with high probability. Remarks: 1. A function satisfying the promise in Simon’s problem is a 2-to-1 function. Simon had consid- ered a slightly different problem. Given a function f : {0, 1}m → {0, 1}n which is known to be either injective or 2-to-1, determine the correct condition and if f is 2-to-1, then determine its period. 2. In his formulation, Simon required n ≥ m. The analysis of Simon’s algorithm, on the other hand, goes through without the condition n ≥ m and later works [11, 2, 5] have indeed also considered n < m. 3 Outline of the Attacks For each of the TESs that we consider, we identify a function f which either satisfies the promise in Simon’s problem, or the approximate promise mentioned in Section 2.2. The functions f will be defined from the encryption functions of the TESs. Applying Simon’s algorithm to f will recover the period s of the function. To apply Simon’s algorithm, it will be required to make quantum queries to the encryption function of the corresponding TES. This means that quantum access to the encryption function of the TES is necessary. This is a strong attack model and has been adopted in previous works [11, 2, 5]. The TESs that we consider use a block cipher as a building block. The function f is defined based on the underlying block cipher. As mentioned above, for some of the TESs, we show that 3 f satisfies an approximate promise problem. The proof of approximate promise requires upper bounding the probability of spurious collisions. Since the definition of f is based on the block cipher, to bound the probability of spurious collisions of f , we need to make an assumption on the underlying block cipher. The assumption that we make is to consider the block cipher to behave like a uniform random function. Since a block cipher is an injective map, it would be appropriate to assume the block cipher to behave like a uniform random permutation. If the number of inputs on which the block cipher is invoked is below the birthday bound, then it is reasonable to consider the block cipher to behave like a uniform random function. In our applications, we will consider the application of the block cipher to only a few (at most six) inputs. Once we are able to establish that f satisfies the promise of Simon’s problem (either exactly or, approximately), application of Simon’s algorithm to f will provide the period of f with high probability. After the period is determined, the quantum aspect is over. The rest of the attack will be of two types. In the first type of attack, from the period a portion of the secret key can be determined which leads to a distinguishing attack. In the second kind of attack, the period reveals a portion of internal (non-key) state of the encryption and this also leads to a distinguishing attack. We do not provide the formal definition of security of TES since this will not be required for our work. The notion of security that we consider is that of indistinguishability from uniform random strings. This implies other notions of security (see [9]). The distinguishing attacks that we describe are of the following type. We show that using the period, it is possible to construct two distinct inputs such that applying the encryption function of the TES to these inputs provide two outputs such that a designated portions of these two outputs are equal. If the outputs were obtained by applying a uniform random function to the two inputs, then the probability that the designated portions of the outputs are equal would be negligible. So, the two inputs distinguish the encryption function of the TES from a uniform random function. In Section 4, we describe the attacks on TESs where it is possible to recover a portion of the key, while in Section 5, we describe the distinguishing attacks on the other TESs. 4 Partial Key Recovery Attacks 4.1 XCB XCB was proposed by McGrew and Fluhrer [14]. A later variant [15] was standardised by IEEE [1]. We describe the quantum attack on the standardised version [15] of XCB. A similar attack also works on the previous version. XCB is built using a block cipher and a polynomial hash function. The key K of XCB is the same as the key of the underlying block cipher. XCB defines a tweak space. In our attack, we will fix the tweak to be the empty string. XCB can be used with an n-bit block cipher. For the sake of convenience, we fix n = 128. Let EK denote the encryption function of the underlying block cipher instantiated with the key K. Using EK , XCB derives the keys Ke, Kd, Kc and τ . Here τ is used as the key to a polynomial hash function called GHASH, Kc is the key to the counter mode of encryption and Ke and Kd are used as shown in Figure 1. The counter mode Ctr uses the function incr to obtain successive values to be encrypted. Our attack considers 3-block messages. So, we briefly describe the encryption of 3-block mes- sages with reference to Figure 1. The message is partitioned into a single block and a 2-block message. The functions h1 and h2 in Figure 1 are polynomial hash functions using the key τ . The 4 counter mode Ctr uses Q as the initialisation vector. The rest of the encryption algorithm can be understood from Figure 1. We provide more details as part of the attack. Figure 1: Enciphering a 3-block message Îą0||x||m or Îą1||x⊕α0τ⊕α1τ ||m with tweak Îľ under XCB. EKe A = m P h1 Q S DKd V = y3 h2 Ctr R B = Îą0||x or Îą1||x ⊕ Îą0τ ⊕ Îą1τ y1||y2 Îľ Fix m,Îą0, Îą1 ∈ {0, 1}n, such that Îą0 6= Îą1; let b denote a bit. For the standardised version [15], we define the following function. f : {0, 1} × {0, 1}n → {0, 1}n (b, x) f7−→ y3, where y1||y2||y3 ←− XCB.EncryptK(Îľ, Îąb||x||m). (2) The function f defined in (2) satisfies the following property. Proposition 1. Let b, b′ ∈ {0, 1}, x ∈ {0, 1}n. Then, f(b, x) = f(b′, x⊕ Îąbτ ⊕ Îąb′τ), where Îą0 and Îą1 are as fixed before and τ is the hash key. Proof. Let Îł be a 128-bit string which is formed by concatenating the 64-bit binary representation of 128 and the 64-bit binary representation of 384. Let γ′ be a 128-bit string which is formed by concatenating the 64-bit binary representation of 128 and the 64-bit binary representation of 256. 5 Let γ′′ = Îł. For the input Îąb||x||m, A = m; B = Îąb||x; P = EKe(m); Q = EKe(m)⊕ Îąbτ3 ⊕ xτ2 ⊕ γτ ; R = Îąb ⊕ EKc(Q)||x⊕ EKc(incr(Q)); S = EKe(m)⊕ Îąbτ3 ⊕ xτ2 ⊕ γτ ⊕ Îąbτ4 ⊕EKc(Q)τ4 ⊕ xτ3 ⊕ EKc(incr(Q))τ3 ⊕ γ′τ2 ⊕ γ′′τ ; V = DKd(S); For the input Îąb′ ||x⊕ Îąbτ ⊕ Îąb′τ ||m, A′ = m; B′ = Îąb′ ||x⊕ Îąbτ ⊕ Îąb′τ ; P ′ = EKe(m); Q′ = EKe(m)⊕ Îąbτ3 ⊕ xτ2 ⊕ γτ ; R′ = Îąb′ ⊕ EKc(Q′)||x⊕ Îąbτ ⊕ Îąb′τ ⊕ EKc(incr(Q′)); S′ = EKe(m)⊕ Îąbτ3 ⊕ xτ2 ⊕ γτ ⊕ Îąbτ4 ⊕EKc(Q′)τ4 ⊕ xτ3 ⊕ EKc(incr(Q′))τ3 ⊕ γ′τ2 ⊕ γ′′τ ; V ′ = DKd(S ′). We observe, Q = Q′ results in S = S′, which implies V = V ′. So, the third blocks of the outputs are same, establishing the result. From the above it follows that 1||Îą0τ⊕α1τ is a period of f . Proposition 1 falls short of showing that f satisfies the promise of Simon’s problem. We show below, that f satisfies an approximate promise. Proposition 2. Assume that the block cipher E instantiated with a uniform random key, behaves like a uniform random function. Then, for f defined in (2), Îľ(f, 1||Îą0τ ⊕ Îą1τ) ≤ 5/2n. Proof. Let Ρ||t /∈ {0||0n, 1||Îą0τ ⊕ Îą1τ} be such that Pr b,x [f(b, x) = f(b⊕ Ρ, x⊕ t)] = maxη′||t∈{0,1}×{0,1}n\{0||0n,1||Îą0τ⊕α1τ} Pr b,x [f(b, x) = f(b⊕ η′, x⊕ t)]. Case 1: Suppose Ρ = 0. Then t is necessarily non-zero. We have f(b, x) = DKd(EKe(m)⊕ Îąbτ3 ⊕ xτ2 ⊕ γτ ⊕ Îąbτ4 ⊕EKc(Q)τ4 ⊕ xτ3 ⊕ EKc(incr(Q))τ3 ⊕ γ′τ2 ⊕ γ′′τ); f(b, x⊕ t) = DKd(EKe(m)⊕ Îąbτ3 ⊕ xτ2 ⊕ tτ2 ⊕ γτ ⊕ Îąbτ4 ⊕ EKc(Q⊕ tτ2)τ4 ⊕ xτ3 ⊕ tτ3 ⊕EKc(incr(Q⊕ tτ2))τ3 ⊕ γ′τ2 ⊕ γ′′τ). 6 Then f(b, x) = f(b, x⊕ t) if and only if X1 = X2, where X1 = EKc(Q)τ4 ⊕ EKc(incr(Q))τ3; X2 = tτ2 ⊕ EKc(Q⊕ tτ2)τ4 ⊕ tτ3 ⊕ EKc(incr(Q⊕ tτ2))τ3. Let E be the event that Q, incr(Q), Q⊕ tτ2 and incr(Q⊕ tτ2) are distinct. Note that Q and τ are obtained by encryption under the block cipher E. Clearly Q and incr(Q) are distinct and so are Q ⊕ tτ2 and incr(Q ⊕ tτ2). Under the assumption that EK is uniform random function, we have Pr[E] ≤ 4/2n. Conditioned on E, and under the assumption that E behaves like a uniform random function, the probability that X1 = X2 is at most 1/2n. So, Pr b,x [f(b, x) = f(b⊕ Ρ, x⊕ t)] = Pr[X1 = X2] ≤ Pr[X1 = X2|E] + Pr[E] ≤ 5 2n . Case 2: Suppose Ρ = 1. Then t 6= Îą0τ ⊕ Îą1τ . Let b′ = b⊕ 1. We have f(b, x) = DKd(EKe(m)⊕ Îąbτ3 ⊕ xτ2 ⊕ γτ ⊕ Îąbτ4 ⊕EKc(Q)τ4 ⊕ xτ3 ⊕ EKc(incr(Q))τ3 ⊕ γ′τ2 ⊕ γ′′τ); f(b⊕ Ρ, x⊕ t) = f(b′, x⊕ t) = DKd(EKe(m)⊕ Îąb′τ3 ⊕ xτ2 ⊕ tτ2 ⊕ γτ ⊕ Îąb′τ4 ⊕EKc(Q′)τ4 ⊕ xτ3 ⊕ tτ3 ⊕ EKc(incr(Q′))τ3 ⊕ γ′τ2 ⊕ γ′′τ). So, f(b, x) = f(b⊕ Ρ, x⊕ t) if and only if Y1 = Y2, where Y1 = EKc(Q)τ4 ⊕ EKc(incr(Q))τ3 ⊕ EKc(Q′)τ4 ⊕ EKc(incr(Q′))τ3; Y2 = Îąbτ 3 ⊕ Îąb′τ3 ⊕ tτ2 ⊕ Îąbτ4 ⊕ Îąb′τ4 ⊕ tτ3. A reasoning similar to Case 1 shows that Prb,x[f(b, x) = f(b⊕ Ρ, x⊕ t)] is at most 5/2n. In view of Proposition 2, it follows that f satisfies an approximate promise. So, Simon’s algorithm applied to f uncovers the period 1||s with high probability, where s = Îą0τ ⊕ Îą1τ . Since Îą0 and Îą1 are known, given s, it is possible to obtain τ . This provides the hash key of XCB. Obtaining s also provides a distinguishing attack against XCB. Let y1||y2||y3 be the ciphertext produced by encrypting Îą0||0128||m; and let y′1||y′2||y′3 be the ciphertext produced by encrypting Îą1||s||m. Then y3 = y′3. This can be seen from Proposition 1 on putting x = 0128. 4.2 TET TET [8] has key space K×K, where K is the key space for the underlying block cipher having block size n. The tweak space is T = {0, 1}∗. The message space is P = {0, 1}m where m ∈ [n, 2n − 1]. Fix arbitrary (K1,K2) from the key-space and arbitrary T from the tweak-space. The attack against TET also considers 3-block messages. Hence, we briefly explain the en- cryption of 3-block messages with reference to Figure 2. EK2 is the encryption function of the underlying block cipher instantiated with the key K2. The encryption consists of five layers; the first, second, fourth and fifth being masking layers and the third layer being application of EK2 . 7 The quantities SP , Îą, β and SC are masking elements; SP is formed by combining the message blocks through a polynomial hash, the key to which is τ ; σ = 1⊕τ⊕τ2⊕τ3 (for a 3-block message). The exact definitions of the masking elements are not required for our purpose, so, we skip these details and refer to [8] for their definitions. We only note that Îą and β are elements of the finite field GF (2n) and arithmetic is done over this field. Figure 2: Enciphering a 3-block message x||x1||x or x ⊕ δ||x1 ⊕ δ1||x ⊕ δ under TET, where δ = Îą2β ⊕ β, δ1 = (Îą2β⊕β)(τ⊕τ3) τ2 . EK2 x1/x1 ⊕ δ1 SP P2 Q2 R2 S2 ιβ ιβ SC y2 EK2 x/x ⊕ δ P3 Q3 R3 S3 SP Îą2β Îą2β SC y3 EK2 x/x ⊕ δ P1 Q1 R1 S1 SP β β SC y1 We define the following function. f : {0, 1}n × {0, 1}n → {0, 1}n (x, x1) f7−→ y1 ⊕ y3, where y1||y2||y3 ←− TET.EncryptK1,K2 (T, x||x1||x). (3) The function f defined in (3) satisfies the following property. Proposition 3. For x, x1 ∈ {0, 1}n, f(x, x1) = f(x⊕α2β⊕β, x1⊕ (Îą2β⊕β)(τ⊕τ3) τ2 ), where Îą, β and τ are as described earlier. Proof. For the input x||x1||x, we have, SP = (xτ3 ⊕ x1τ 2 ⊕ xτ)/σ; Q1 = x⊕ SP ⊕ β; Q2 = x1 ⊕ SP ⊕ ιβ; Q3 = x⊕ SP ⊕ Îą2β; S1 = EK2(x⊕ SP ⊕ β)⊕ β; S2 = EK2(x1 ⊕ SP ⊕ ιβ)⊕ ιβ; S3 = EK2(x⊕ SP ⊕ Îą2β)⊕ Îą2β; y1 ⊕ y3 = EK2(x⊕ SP ⊕ β)⊕ β ⊕ EK2(x⊕ SP ⊕ Îą2β)⊕ Îą2β; 8 For the input x⊕ Îą2β ⊕ β||x1 ⊕ (Îą2β⊕β)(τ⊕τ3) τ2 ||x⊕ Îą2β ⊕ β, we have, SP ′ = (xτ3 ⊕ x1τ 2 ⊕ xτ)/σ; Q′1 = x⊕ Îą2β ⊕ β ⊕ SP ′ ⊕ β = x⊕ Îą2β ⊕ SP ′; Q′2 = x1 ⊕ (Îą2β ⊕ β)(τ ⊕ τ3) τ2 ⊕ SP ′ ⊕ ιβ; Q′3 = x⊕ Îą2β ⊕ β ⊕ SP ′ ⊕ Îą2β = x⊕ β ⊕ SP ′; S′1 = EK2(x⊕ SP ′ ⊕ Îą2β)⊕ β; S′2 = EK2(x1 ⊕ (Îą2β ⊕ β)(τ ⊕ τ3) τ2 ⊕ SP ′ ⊕ ιβ)⊕ ιβ; S′3 = EK2(x⊕ SP ′ ⊕ β)⊕ Îą2β; y′1 ⊕ y′3 = EK2(x⊕ SP ′ ⊕ Îą2β)⊕ β ⊕ EK2(x⊕ SP ′ ⊕ β)⊕ Îą2β. Now, SP = SP ′ implies y1 ⊕ y3 = y′1 ⊕ y′3. Hence, the proposition is proved. The above proposition establishes that Îą2β ⊕ β|| (Îą 2β⊕β)(τ⊕τ3) τ2 ||Îą2β ⊕ β is a period of f . Again Proposition 3 falls short of showing that f satisfies the promise of Simon’s problem. We show below, that f satisfies an approximate promise. Proposition 4. Assume that the block cipher E instantiated with a uniform random key, behaves like a uniform random function. Then, for f defined in (3), Îľ(f, Îą2β⊕β|| (Îą 2β⊕β)(τ⊕τ3) τ2 ||Îą2β⊕β) ≤ 15/2n. Proof. Let t||t1 /∈ {0n||0n, Îą2β ⊕ β|| (Îą 2β⊕β)(τ⊕τ3) τ2 } be such that Pr x,x1 [f(x, x1) = f(x⊕ t, x1 ⊕ t1)] = max t||t1∈{0,1}2n\{0n||0n,Îą2β⊕β|| (Îą 2β⊕β)(τ⊕τ3) τ2 } Pr x,x1 [f(x, x1) = f(x⊕ t, x1 ⊕ t1)]. Let SP = (xτ3 ⊕ x1τ 2 ⊕ xτ)/σ; SP ′ = ((x⊕ t)τ3 ⊕ (x1 ⊕ t1)τ2 ⊕ (x⊕ t)τ)/σ; We have f(x, x1) = EK2(x⊕ SP ⊕ β)⊕ β ⊕ EK2(x⊕ SP ⊕ Îą2β)⊕ Îą2β; f(x⊕ t, x1 ⊕ t1) = EK2(x⊕ t⊕ SP ′ ⊕ β)⊕ β ⊕ EK2(x⊕ t⊕ SP ′ ⊕ Îą2β)⊕ Îą2β. Then f(x, x1) = f(x⊕ t, x1 ⊕ t1) if and only if X1 = X2, where X1 = EK2(x⊕ SP ⊕ β)⊕ EK2(x⊕ SP ⊕ Îą2β); X2 = EK2(x⊕ t⊕ SP ′ ⊕ β)⊕ EK2(x⊕ t⊕ SP ′ ⊕ Îą2β). 9 Let E be the event that Y1 = x ⊕ SP ⊕ β, Y2 = x ⊕ SP ⊕ Îą2β, Y3 = x ⊕ t ⊕ SP ′ ⊕ β and Y4 = x ⊕ t ⊕ SP ′ ⊕ Îą2β are distinct. Note that β and τ are obtained by encryption under the block cipher E on inputs which may or may not be equal. If the inputs are distinct, β and τ are independent and uniform random strings under the assumption that E is uniform random function; on the other hand if the inputs are equal, then β = τ . Under the assumption that EK2 behaves like a uniform random function, we get the following. Pr[Y1 = Y2] = Pr[Y3 = Y4] = Pr[β(1⊕ Îą2) = 0n] = 1/2n; Pr[Y1 = Y3] = Pr[Y2 = Y4] = Pr[SP ⊕ SP ′ = t] = Pr[(t⊕ t1)τ2 = t] ≤ 2/2n; Pr[Y1 = Y4] = Pr[Y2 = Y3] = Pr[SP ⊕ SP ′ = Îą2β ⊕ β ⊕ t] = p1 (say). • When β and τ are independent and uniform random strings, the expression SP ⊕ SP ′ = Îą2β ⊕ β ⊕ t turns into an equation involving β and τ . Here we get p1 = 1/2n. • When β = τ , the expression SP ⊕ SP ′ = Îą2β ⊕ β ⊕ t turns into a degree 4 equation of τ . Hence, in this case, p1 ≤ 4/2n. Taking these together, we have Pr[E] ≤ 14/2n. Conditioned on E, and under the assumption that EK2 behaves like a uniform random function, the probability that X1 = X2 is at most 1/2n. So, Pr x,x1 [f(x, x1) = f(x⊕ t, x1 ⊕ t1)] = Pr[X1 = X2] ≤ Pr[X1 = X2|E] + Pr[E] ≤ 15 2n . In view of Proposition 4, it follows that f satisfies an approximate promise. So, Simon’s algorithm applied to f uncovers the period s = Îą2β⊕β|| (Îą 2β⊕β)(τ⊕τ3) τ2 ||Îą2β⊕β with high probability. Suppose the middle n-bit of the period is m. Then we obtain the equation mτ2⊕(τ⊕τ3)(β⊕α2β) = 0 which is a degree three equation in τ , from which the value of τ can be determined. This provides the hash key of TET. Obtaining s also provides a distinguishing attack against TET. Let y1||y2||y3 be the ciphertext produced by encrypting 0128||0128||0128; and let y′1||y′2||y′3 be the ciphertext produced by encrypting Îą2β ⊕ β|| (Îą 2β⊕β)(τ⊕τ3) τ2 ||Îą2β ⊕ β. Then y1 ⊕ y3 = y′1 ⊕ y′3. This can be seen from Proposition 3 on putting x = x1 = 0128. 4.3 FAST FAST was proposed by Chakraborty, Ghosh, López and Sarkar [3]. It is built using a fixed input length pseudo-random function and an appropriate hash function. The key K of FAST is the same as the key of the underlying pseudo-random function. The pseudo-random function maps n-bit strings to n-bit strings. For the sake of concreteness, we fix n = 128. Let FK denote the pseudo- random function instantiated with the key K. FAST is targeted towards two application scenarios. We describe the quantum attack on the instantiation targeted towards the specific task of disk encryption. In this case, the tweak space is T = {0, 1}n and the message space is P = {0, 1}mn, 10 Figure 3: Enciphering a 4-block message Îą0||x||m||m or Îą1||x||m||m under FAST. CtrK Hτ τG’ / 0 1 m, mx 1P 1Q S11R y 1 y 2 y 3, y 4 Feistel Layer Z T T Îą Îą FK P 1 1Q 1R S 1 FK FK Z/Z ⊕ binn(3) binn(2) m y4 FK Z/Z ⊕ binn(3) binn(1) m y3 where m > 2 is determined by the size of a disk sector. In our attack we will fix the tweak to be an arbitrary T ∈ T . Our attack considers 4-block messages. So, we briefly describe the encryption of 4-block mes- sages with reference to Figures 3 and 4. From a top level view, FAST consists of three distinct layers - hash-encrypt-hash. The hashing layers H and G are based on two universal hash functions h and h′, both having the key τ . The encryption layer consists of a two-round Feistel network and a counter mode Ctr. The two-round Feistel is built using the PRF FK and processes the first two blocks of the plaintext. The third and fourth blocks are encrypted in a counter mode built using FK . The offset for the counter mode is derived from the input and output of the Feistel layer. The input of the Fiestel layer is obtained by processing the plaintext and the tweak through the first hash layer. The second hash layer generates the first two blocks of the ciphertext by processing the output of the Fiestel layer and the third and fourth blocks of the ciphertext. Some more details are provided as part of the attack. Figure 4: The hash functions H and G. hτ P3 T A1 P1 ·τ F1 P2 hτ P3 T P1 A1 ·τ P2 F1 11 Fix m,Îą0, Îą1 ∈ {0, 1}n, such that Îą0 ⊕ Îą1 = 012611; let b denote a bit. We define the following function. f : {0, 1} × {0, 1}n → {0, 1}n (b, x) f7−→ y3 ⊕ y4, where y1||y2||y3||y4 ←− FAST.EncryptK(T, Îąb||x||m||m). (4) The function f defined in (4) satisfies the following property. Proposition 5. Let b, b′ ∈ {0, 1}, x ∈ {0, 1}n. Then, f(b, x) = f(b′, x⊕ Îąbτ ⊕ Îąb′τ). Îą0, Îą1 and τ are as described before. Proof. For the input (T, Îąb||x||m||m), P1 = Îąb ⊕ hτ (T,m||m); Q1 = x⊕ τ(Îąb ⊕ hτ (T,m||m)); R1 = Îąb ⊕ hτ (T,m||m)⊕ FK(Q1); Z = Q1 ⊕ Îąb ⊕ hτ (T,m||m)⊕ FK(Q1); y3 = m⊕ FK(Q1 ⊕ Îąb ⊕ hτ (T,m||m)⊕ FK(Q1)⊕ binn(1)); y4 = m⊕ FK(Q1 ⊕ Îąb ⊕ hτ (T,m||m)⊕ FK(Q1)⊕ binn(2)); y3 ⊕ y4 = FK(Q1 ⊕ Îąb ⊕ hτ (T,m||m)⊕ FK(Q1)⊕ binn(1)) ⊕FK(Q1 ⊕ Îąb ⊕ hτ (T,m||m)⊕ FK(Q1)⊕ binn(2)); For the input (T, Îąb′ ||x⊕ Îąbτ ⊕ Îąb′τ ||m||m), P ′1 = Îąb′ ⊕ hτ (T,m||m); Q′1 = x⊕ Îąbτ ⊕ Îąb′τ ⊕ τ(Îąb′ ⊕ hτ (T,m||m)) = x⊕ Îąbτ ⊕ τhτ (T,m||m); R′1 = Îąb′ ⊕ hτ (T,m||m)⊕ FK(Q′1); Z ′ = Q′1 ⊕ Îąb′ ⊕ hτ (T,m||m)⊕ FK(Q′1); y′3 = m⊕ FK(Q′1 ⊕ Îąb′ ⊕ hτ (T,m||m)⊕ FK(Q′1)⊕ binn(1)); y′4 = m⊕ FK(Q′1 ⊕ Îąb′ ⊕ hτ (T,m||m)⊕ FK(Q′1)⊕ binn(2)); y′3 ⊕ y′4 = FK(Q′1 ⊕ Îąb′ ⊕ hτ (T,m||m)⊕ FK(Q′1)⊕ binn(1))⊕ FK(Q′1 ⊕ Îąb′ ⊕ hτ (T,m||m)⊕ FK(Q′1)⊕ binn(2)) = FK(Q′1 ⊕ Îąb ⊕ binn(3)⊕ hτ (T,m||m)⊕ FK(Q′1)⊕ binn(1))⊕ FK(Q′1 ⊕ Îąb ⊕ binn(3)⊕ hτ (T,m||m) ⊕FK(Q′1)⊕ binn(2)), as Îąb ⊕ Îąb′ = binn(3) = FK(Q′1 ⊕ Îąb ⊕ hτ (T,m||m)⊕ FK(Q′1)⊕ binn(2)) ⊕FK(Q′1 ⊕ Îąb ⊕ hτ (T,m||m)⊕ FK(Q′1)⊕ binn(1)). We observe that Q1 = Q′1, which implies y3 ⊕ y4 = y′3 ⊕ y′4. This proves the proposition. The above discussion establishes that 1||Îą0τ ⊕ Îą1τ is a period of f . Proposition 5 falls short of showing that f satisfies the promise of Simon’s problem. We show below, that f satisfies an approximate promise. Proposition 6. Assume that the PRF F instantiated with a uniform random key, behaves like a uniform random function. Then, for f defined in (4), Îľ(f, 1||Îą0τ ⊕ Îą1τ) ≤ 3 2n . 12 Proof. Let Ρ||t /∈ {0||0n, 1||Îą0τ ⊕ Îą1τ} be such that Pr b,x [f(b, x) = f(b⊕ Ρ, x⊕ t)] = maxη′||t∈{0,1}×{0,1}n\{0||0n,1||Îą0τ⊕α1τ} Pr b,x [f(b, x) = f(b⊕ η′, x⊕ t)]. • Case 1: Suppose Ρ = 0. Then t is necessarily non-zero. We have f(b, x) = FK(Q1 ⊕ Îąb ⊕ hτ (T,m||m)⊕ FK(Q1)⊕ binn(1)) ⊕FK(Q1 ⊕ Îąb ⊕ hτ (T,m||m)⊕ FK(Q1)⊕ binn(2)); f(b, x⊕ t) = FK(Q1 ⊕ t⊕ Îąb ⊕ hτ (T,m||m)⊕ FK(Q1 ⊕ t)⊕ binn(1)) ⊕FK(Q1 ⊕ t⊕ Îąb ⊕ hτ (T,m||m)⊕ FK(Q1 ⊕ t)⊕ binn(2)). Let a1 = Q1 ⊕ Îąb ⊕ hτ (T,m||m)⊕ FK(Q1)⊕ binn(1), a2 = Q1 ⊕ t⊕ Îąb ⊕ hτ (T,m||m)⊕ FK(Q1 ⊕ t)⊕ binn(1), u = binn(1)⊕ binn(2); Hence f(b, x) = FK(a1)⊕ FK(a1 ⊕ u); f(b, x⊕ t) = FK(a2)⊕ FK(a2 ⊕ u). Let E be the event that a1, a1 ⊕ u, a2 and a2 ⊕ u are distinct. Clearly a1 and a1 ⊕ u are distinct and so are a2 and a2 ⊕ u. Now we consider the following events. – E1 := a1 = a2 or, equivalently FK(Q1)⊕ FK(Q1 ⊕ t) = t. As t 6= 0 and FK is assumed to be a uniform random function, hence Pr[E1] = 1 2n . – E2 := a1 = a2 ⊕ u or, equivalently FK(Q1) ⊕ FK(Q1 ⊕ t) = t ⊕ u. As in the previous case, Pr[E2] = 1 2n . Hence, E := E1 ∪ E2. Note that since u is a non-zero string E1 and E2 are disjoint. Hence, Pr[E] = Pr[E1]+Pr[E2] = 2 2n . Conditioned on E, and under the assumption that FK behaves like a uniform random function, the probability that f(b, x) = f(b, x⊕ t) is at most 1/2n. So, Pr b,x [f(b, x) = f(b, x⊕ t)] ≤ Pr b,x [f(b, x) = f(b, x⊕ t)|E] + Pr[E] ≤ 3 2n . • Case 2: Suppose Ρ = 1. Then t 6= Îą0τ⊕α1τ . Let b′ = b⊕1, Q′1 = x⊕t⊕τ(Îąb′⊕hτ (T,m||m)). We have f(b, x) = FK(Q1 ⊕ Îąb ⊕ hτ (T,m||m)⊕ FK(Q1)⊕ binn(1)) ⊕FK(Q1 ⊕ Îąb ⊕ hτ (T,m||m)⊕ FK(Q1)⊕ binn(2)); f(b⊕ Ρ, x⊕ t) = f(b′, x⊕ t) = FK(Q′1 ⊕ Îąb′ ⊕ hτ (T,m||m)⊕ FK(Q′1)⊕ binn(1)) ⊕FK(Q′1 ⊕ Îąb′ ⊕ hτ (T,m||m)⊕ FK(Q′1)⊕ binn(2)); 13 Let a1 = Q1 ⊕ Îąb ⊕ hτ (T,m||m)⊕ FK(Q1)⊕ binn(1) a2 = Q′1 ⊕ Îąb′ ⊕ hτ (T,m||m)⊕ FK(Q′1)⊕ binn(1), u = binn(1)⊕ binn(2); Hence f(b, x) = FK(a1)⊕ FK(a1 ⊕ u); f(b⊕ Ρ, x⊕ t) = FK(a2)⊕ FK(a2 ⊕ u). A reasoning similar to Case 1 shows that Prb,x[f(b, x) = f(b⊕ Ρ, x⊕ t)] is at most 3/2n. In view of Proposition 6, it follows that f satisfies an approximate promise. So, Simon’s algorithm applied to f uncovers the period 1||s with high probability, where s = Îą0τ ⊕ Îą1τ . Since Îą0 and Îą1 are known, given s, it is possible to obtain τ . This provides the hash key of FAST. Obtaining s also provides a distinguishing attack against FAST. Let y1||y2||y3||y4 be the cipher- text produced by encrypting Îą0||0128||m||m; and let y′1||y′2||y′3||y′4 be the ciphertext produced by encrypting Îą1||Îą0τ ⊕ Îą1τ ||m||m. Then y3 ⊕ y4 = y′3 ⊕ y′4. This can be seen from Proposition 5 on putting x = 0128. 5 Distinguishing Attacks 5.1 CMC CMC was proposed by Halevi and Rogaway [9], in 2003. It is based on the CBC mode of operation of a block cipher. The block length of the block cipher can be assumed to be n-bit. CMC has the key space K × K, where K is the key space for the underlying block cipher and the tweak space T = {0, 1}n. The message space of CMC is P = ⋃ i∈I{0, 1}i for some non-empty index set I ⊆ N. Let EK denote the encryption function of the underlying block cipher instantiated with the key K. Our attack considers 3-block messages. Hence, we briefly describe the encryption of 3-block messages with reference to Figure 5. Let CMC be instantiated with the key (K, K̃) ∈ K × K. In our attack we will fix the tweak to be an arbitrary T ∈ T . K̃ is used as the key to the block cipher E only to produce T from T . At a conceptual level, the CMC encryption function consists of three layers. The first layer is essentially CBC encryption on the message blocks, followed by a layer of masking and the third layer is CBC decryption. The rest of the encryption algorithm can be understood from Figure 5. We provide more details as part of the attack. Fix m,Îą0, Îą1 ∈ {0, 1}n, such that Îą0 6= Îą1; let b denote a bit and we define the following function. f : {0, 1} × {0, 1}n → {0, 1}n (b, x) f7−→ y1, where y1||y2||y3 ←− CMC.EncryptK,K̃(T,m||Îąb||x). (5) The function f defined in (5) satisfies the following property. 14 Figure 5: Enciphering a 3-block message m||Îą0||x or m||Îą1||x⊕ s under CMC. EK Îą0/Îą1 EK x/x ⊕ s EK m T P3 Q3 EK M P2 Q2 EK M P1 Q1 EK M T y1 y2 y3 Pr";"""date"",""2021-01-13T11:25:55Z"" ""pdf:unmappedUnicodeCharsPerPage"",""1"",""1"",""1"",""0"",""6"",""37"",""21"",""1"",""27"",""11"",""1"",""46"",""14"",""12"",""6"",""43"",""0"",""30"",""43"",""4"",""0"" ""pdf:PDFVersion"",""1.5"" ""xmp:CreatorTool"",""TeX"" ""pdf:hasXFA"",""false"" ""access_permission:modify_annotations"",""true"" ""access_permission:can_print_degraded"",""true"" ""dcterms:created"",""2021-01-13T11:25:55Z"" ""language"",""en"" ""Last-Modified"",""2021-01-13T11:25:55Z"" ""dcterms:modified"",""2021-01-13T11:25:55Z"" ""dc:format"",""application/pdf; version=1.5"" ""Last-Save-Date"",""2021-01-13T11:25:55Z"" ""pdf:docinfo:creator_tool"",""TeX"" ""access_permission:fill_in_form"",""true"" ""pdf:docinfo:modified"",""2021-01-13T11:25:55Z"" ""meta:save-date"",""2021-01-13T11:25:55Z"" ""pdf:encrypted"",""false"" ""pdf:docinfo:custom:PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) kpathsea version 6.3.1"" ""modified"",""2021-01-13T11:25:55Z"" ""Content-Length"",""329956"" ""pdf:hasMarkedContent"",""false"" ""Content-Type"",""application/pdf"" ""PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) kpathsea version 6.3.1"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""trapped"",""False"" ""meta:creation-date"",""2021-01-13T11:25:55Z"" ""created"",""2021-01-13T11:25:55Z"" ""access_permission:extract_for_accessibility"",""true"" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""21"" ""Creation-Date"",""2021-01-13T11:25:55Z"" ""resourceName"",""724.pdf"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""2339"",""2016"",""2441"",""3051"",""866"",""1145"",""1940"",""984"",""1135"",""2133"",""1161"",""1510"",""1342"",""1852"",""395"",""1292"",""1475"",""986"",""1333"",""2390"",""2056"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""pdf:docinfo:trapped"",""False"" ""producer"",""pdfTeX-1.40.20"" ""access_permission:can_modify"",""true"" ""pdf:docinfo:producer"",""pdfTeX-1.40.20"" ""pdf:docinfo:created"",""2021-01-13T11:25:55Z"" ";https://scholar.google.com/scholar?start=630&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094558-721;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Katal: A standard framework for finance;B França, S Radermacher, R Trinkler ; arXiv preprint arXiv:1903.01600, 2019 arxiv.org;;"… Town Crier was recently acquired by Chainlink [6], a project that provides decentralized oracles for a … Oracle contracts in Katal are updated by Chainlink nodes using the Town Crier protocol … Polkadot is composed of a central blockchain, called the relaychain, and a number of …";Autres articles;;[PDF] arxiv.org;https://arxiv.org/pdf/1903.01600;" Katal A standard framework for finance Bruno França, Sophie Radermacher and Reto Trinkler Trinkler Software company@trinkler.software Version 3 – July 3, 2019 Abstract—Katal is a new blockchain that provides a standard way to build and deploy decentralized finance applications. It brings together all the components necessary for the backend of a financial application, namely: a high-performance consensus, an authenticated data feed system, a standard for financial contracts and connectivity to the rest of the blockchain ecosystem. Katal enables and simplifies the creation of financial services that are non-custodial, trustless, fast, convenient and interoper- able. I. INTRODUCTION Katal aims to create a standard framework for the next stage of decentralized finance. In order to do this, it combines a high- performance blockchain, built using an innovative consensus algorithm and virtual machine, with a runtime that allows easy creation of assets, a standard for the creation of algorithmic financial contracts, and connectivity to the outside world and other blockchains. Katal appeals to both developers and users: • For developers, Katal is a low-latency and high- throughput decentralized platform with native access to oracles, stable assets, connectivity to other blockchains and algorithmic contract templates that can be combined to create any type of financial contract. This allows developers to easily create decentralized financial services on top of Katal since custodianship, settlement and data feeds can be completely delegated to it. • For users, Katal makes finance easy, using unprecedented speed, security, and risk management. Funds always remain under the user’s control, empowering them to truly be their own banks. Settlement and data feeds are open and decentralized eliminating the need to trust exchanges. And, through a single Katal account, it is possible to interact seamlessly with all the financial services built on top of Katal (like futures and options exchanges, token exchanges, margin trading, short selling, collateralized loans, etc) and also with all the blockchains that connect to it. In this paper we will introduce and describe every compo- nent of Katal and how they interact between themselves. The rest of the paper is divided as follows: This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. • In section II we will discuss the main building blocks of Katal. • In section III we will give an overview of the runtime and operation of Katal. • In section IV we will delve into the runtime and describe it in detail. • In section V we will explore several examples of appli- cations that can be built on top of Katal. II. BUILDING BLOCKS Katal is built on top of an infrastructure that is composed of six pieces: • A blockchain development framework called Substrate, • A consensus algorithm called Albatross, • A virtual machine called Enso, • A standard for the algorithmic description of financial contracts called ACTUS, • An authenticated data feed system called Town Crier, • And a heterogeneous multi-chain ecosystem called Polka- dot. We will now briefly explain each one of these components. A. Substrate Substrate is a software framework for blockchains created by Parity Technologies. It packs a series of tools, written in Rust, that enables developers to easily create a blockchain. For developers who prefer simplicity over freedom, it is possible to generate a new blockchain with just a simple configuration file. While developers that prefer freedom can create their own consensus algorithms and runtimes from scratch. Substrate is a combination of mostly two technologies, WebAssembly and Libp2p. The built-in WebAssembly in- terpreter enables developers to write their own ready-to-use modules in any language they wish, as long as it compiles down to WebAssembly, and Libp2p constitutes the bulk of the networking functionality. For Katal we will use the most bare-bones version of Sub- strate, called Substrate Core, that provides only the network- ing, the WebAssembly interpreter and some other auxiliary tools and we will provide the consensus and runtime modules. 1 ar X iv :1 90 3. 01 60 0v 3 [ cs .C R ] 3 J ul 2 01 9 B. Albatross Albatross [1] is a novel consensus algorithm, developed by Trinkler Software and Nimiq, that is inspired by speculative BFT consensus algorithms. Speculative BFT is a class of classical consensus algorithms that have very high performance when compared to older algorithms like PBFT [2]. Speculative BFT consensuses have two modes of operation: an optimistic mode where nodes are assumed to be well-behaved thus resulting in greater performance, and the pessimistic mode where it is assumed that some nodes are malicious and the only goal is to make progress. Albatross takes a ’trust but verify’ attitude to block pro- duction. Nodes are allowed to make updates to the state by themselves but other nodes can revert the update if it is not valid. In Albatross there is a validator list that is selected at random from the set of all nodes that stake tokens. The validator list is changed every epoch, where an epoch is composed of T micro blocks and one macro block. Validators take turns producing micro blocks, which are transaction-containing blocks that are signed by a single val- idator. Macro blocks do not contain any transactions 1, being instead used to change the validator set, and are produced with PBFT. If all validators follow the protocol correctly, Albatross will produce blocks as fast as the network allows. Since macro blocks don’t contain any transactions, there will be a small pause at the end of every epoch, but that downtime constitutes only a small percentage of the total time. So, in the optimistic case, Albatross will come close to the theoretical limit for a single-chain consensus algorithm. However, if there are malicious validators they may misbe- have. There are three ways in which they can do that: • Invalid blocks: Validators may produce invalid blocks, in this case the other validators will simply ignore those blocks. • Forking: Creating or continuing a fork will result in the stakes of the misbehaving validators being confiscated. • Delays: If a validator, in his turn, does not produce a valid block after a predetermined amount of time, the 1We use same definition for transaction as the one taken by Parity. There are extrinsics, which are any input to the state transition function, and both transactions and inherents are mutually exclusive types of extrinsics. Transactions are extrinsics that are propagated through the network and signed. Inherents are neither propagated nor signed. An example of an inherent is a timestamp. other nodes will begin a view change protocol that will allow another validator to produce a block. Albatross has some desirable features besides its low latency and high throughput. It allows nodes to bootstrap quickly by only requiring them to download all of the macro blocks and the most recent micro blocks. It offers strong probabilistic finality, with a certainty of 99.9% being reached in only 6 blocks. And honest clients can get instant confirmation that their transaction will be accepted by directly asking for receipts from the validators. C. Enso Enso [3] is a general-purpose virtual machine for blockchains developed by Trinkler Software. Blockchains can be seen as distributed virtual machines, since they are designed to run a given application on a network of heterogeneous, and possibly malicious, nodes. We can represent a blockchain as a stack: App data ≡ State App logic ≡ STF Consensus Networking Where STF is the state transition function. Note that the application logic, also called the runtime, is embedded into the state transition function, while the application data is embedded in the state. For example, in the case of Bitcoin the application logic is that of a ledger and the application data is the set of all unspent transactions. This model works well for most cases but it is cumbersome to program and fails when it is necessary to update the application logic. We take a different approach and have the state transition function be a general-purpose virtual machine. Then, the application logic and data can reside in the blockchain state: App logic & data ≡ State Virtual machine ≡ STF Consensus Networking Enso is this virtual machine. Having a general-purpose virtual machine speeds up development, since only the state needs to be programmed, and allows for simpler and more fine-grained updates, because the state can be changed with simple extrinsics instead of forks. Enso itself is a relatively simple virtual machine, inside of it everything is either an object or an event. Objects are entities composed of: • ID: An unique identifier of the object. It can be any string. • Code: A block of code containing functions that can be called by other objects. • Storage: A data structure containing arbitrary informa- tion and that can be read and modified by the code. While events are asynchronous function calls from one object to another and always have the following information: • priority: The priority of the event, used for the event queue. 2 • ID_to: The ID of the object that will receive the event. • function_call: The name of the function that will be called. • parameters: A list of parameters that will be passed to the function. The state of the blockchain is the set of all objects, and it is these objects that will contain all the application logic and data. Everything is an object. The virtual machine itself is composed of just two compo- nents: the event queue and the super object. The event queue is, as the name indicates, a queue for events. It is an ordinary priority queue and, when any event is created, it is added to this queue. Events with a higher priority go to the top of queue, while events with a lower priority go to the bottom. The super object is a special object that is unique and can not be deleted or changed in any way. It is similar to the super user in Linux systems, in that it has complete control over the state. In fact, it is the only object that can change the ID, code and storage of other objects. The super object has the following interface: • Create(ID, code, storage): Creates a new ob- ject with the given ID, code and storage. • Delete(ID): Deletes object with the given ID. • Check(ID): Checks if any object exists with the given ID and returns the answer. • Request_object(ID): Returns the code and storage of the object with the given ID. • Change_ID(ID, new_ID): Changes the ID of the object with the given ID to new_ID. • Change_code(ID, new_code): Changes the code of the object with the given ID to new code. • Change_storage(ID, new_storage): Changes the storage of the object with the given ID to new storage. • Set_input(ID): Sets the input object to the object with given ID. The input object is the object that is designated to receive extrinsics. An extrinsic in Enso is just a event like any other, but with the caveat that it must be sent to the input object. Any object can be the input object, the only requirement is that it designated as such by the super object. A state transition in Enso looks like this: 1) Receive an ordered list of extrinsics. 2) Add the first extrinsic to the event queue. 3) The resulting event will be sent to the input object. The input object then may create more events, that in turn will also be processed and create more events, and so forth, until no more events are created. 4) Add the next extrinsic to the event queue and keep repeating steps 3 and 4 until there are no more extrinsics. D. ACTUS The Algorithmic Contract Types Unified Standards [4], or ACTUS, is a standard developed by the ACTUS Financial Research Foundation. It seeks to describe all possible financial contracts as algorithmic patterns of cash flows between two parties. In ACTUS, any financial contract can be replicated as a combination of simpler contracts, called contract types. These contract types include basic financial contracts, like annuities and futures, and more exotic ones, like perpetual bonds and credit default swaps. In total there are 32 contract types, and together they form a taxonomy of financial contracts. The contract types themselves are defined in algorithmic form. In other words, for each contract type there is a set of rules that, given some input parameters and external data, determine unambiguously the cash flows between the two parties to the contract. This allows them to be easily implemented in smart contracts. And, by combining different contract types, we can create any imaginable financial contract in algorithmic form. There are five types of parameters that define a contract type: attributes, variables, contract events, payoff function and state transition function: • Attributes are parameters that are static. They are defined when the contract is created and then they never change. • Variables, as the name indicates, are parameters that are dynamic. At the time of the contract creation they are initialized to a given value, but they may change afterwards. • Contract events are actions that cause a cash flow and/or a change in the variables. They may be scheduled, for example at the beginning of every month, or initiated by an external object, for example by one of the parties. • The payoff function takes the attributes, the current variables and an event as inputs, and outputs a cash flow obligation from one party to another. The state transition function takes exactly the same inputs, but it outputs new values for the variables. Together, these two functions constitute the logic of the contract. Contracts have two interfaces that enable it to interact with other objects: the risk factor observer and the child contract observer. The risk factor observer allows the contract to request data from an oracle object, such data can be, for example, price information or interest rates. The child contract observer allows one contract to observe the attributes, variables or events of another contract. This functionality is what makes it possible for several contract types to be joined together into more complex financial contracts. Another useful characteristic of ACTUS contracts is that the cash flows between both parties of a contract, called the creator and the counterparty, can be tokenized. By this we mean that it is possible for users to have fractional ownership of a contract, thus it is perfectly possible to have the creator’s or counterparty’s cash flows (both positive and negative) be divided among several different users. Tokenization also creates a simple way of transferring ownership of a contract. This feature is optional for any 3 Fig. 1. The ACTUS taxonomy of financial contracts. contract, since in some cases it may be undesirable, but when activated, it makes it possible for contracts to be sold in secondary markets. E. Town Crier Town Crier [5], developed by the Initiative for cryptocur- rency and Contract (IC3), is an authenticated data feed system for smart contracts, also known as an oracle. It acts as a bridge between HTTPS-enabled websites and blockchains, and does so by taking advantage of a trusted execution environment, specifically the Intel SGX. A trusted execution environment can be thought of as a space inside the CPU that allows programs that run inside it to be protected from other programs, the operating system and even from some types of hardware attacks. This space is called an enclave, and it is basically a black box inside which programs are certain to be executed correctly and with confidentiality. An enclave can only use the CPU and the RAM by itself and needs to rely on the operating system for file and network access. However, by using public key cryptography, it can establish secure connections over the internet. Another useful feature of enclaves is that they can provide a publicly verifiable proof that a given program was executed correctly and produced a given output. Such a proof is called an attestation. In order to serve source-authenticated data to smart con- tracts, the Town Crier system only needs a specific smart contract, called the oracle, and a relaying server, called the TC server. The oracle contract acts as the front-end for the blockchain, creating requests for data, verifying attestations from enclaves and distributing rewards to servers that provide data. The TC server has two components: the relay and the enclave. The relay handles all the network traffic to and from the enclave, since the enclave itself has no networking capabilities. The enclave establishes HTTPS connections to websites and produces attestations. The process works as follows: 1) The oracle contract produces a request for data. It does this by updating its state and signaling that it is ready to receive data from a TC server. 2) The relay, who periodically watches the blockchain, sees the data request and relays it to the enclave. 4 Fig. 2. The Town Crier system. 3) The enclave processes the request and initiates a HTTPS connection to the requested website. 4) The relay handles the traffic between the enclave and the website during the HTTPS session. 5) The enclave scrapes the website for the requested data and produces an attestation that the scraping was done correctly. Then, it sends the data and the attestation to the oracle. 6) The relay forwards the data and attestation to the oracle. 7) The oracle, after verifying that the attestation is correct, updates its state with the new data. Then, if appropriate, it distributes a reward to the TC server. 8) At any point, other contracts can fetch data from the oracle by requesting its more recent state. Town Crier was recently acquired by Chainlink [6], a project that provides decentralized oracles for a variety of blockchains. Oracle contracts in Katal are updated by Chainlink nodes using the Town Crier protocol. F. Polkadot Polkadot [7] is a heterogeneous multichain framework in- troduced by Gavin Wood in 2016. It is a protocol that allows blockchains to exchange information, but unlike internet mes- saging protocols like TCP/IP, Polkadot also enforces the order and the validity of the messages between the blockchains. Polkadot is composed of a central blockchain, called the relaychain, and a number of peripheral blockchains, called parachains, that connect to it. Parachains may outsource their consensus to the relaychain or have their own consensus al- gorithm and validators. The relaychain, as the name indicates, acts as a relay for messages between different parachains. Connecting to Polkadot enables Katal to not only exchange information with other parachains but also for other parachains to transfer tokens to the Katal blockchain and vice-versa. III. OVERVIEW The Katal technology stack is illustrated in Figure 4. Analyzing it we see that Substrate Core is at the bottom and is used for networking, module swaps and other auxiliary Fig. 3. Polkadot: relaychain and parachains Fig. 4. Katal technology stack services. Albatross and Enso are, respectively, the consensus algorithm and the virtual machine, and they will be imple- mented as modules in Substrate. Lastly, there is the Katal runtime on top. It is the runtime that enables Katal capabilities and so, for the rest of this paper, we will focus mostly on it. Both Albatross and Enso are explained in detail in two other papers [1] [3]. The Katal runtime is composed of a set of objects and the interactions among them. Broadly speaking, the objects can be divided in two categories: • Kernel objects: All the objects that are created at the genesis block and during updates to the blockchain. These are the objects that define the rules for how the runtime works and are unique objects, meaning that there is only one instance of each object type. An example of a kernel object is the governance object, which handles updates to the blockchain. • User objects: All the objects that are created by the users. Any user can create user objects from a predetermined list of object templates. For example, there is an account template and each instance of that template, created by the users, is an account object. For a full description of the Katal runtime it is enough to outline all the kernel objects plus all the different object 5 templates. Let us begin with the kernel objects: • Dock object: It serves as the point of entry for extrinsics and is always the first object to be called, in other words it is the input object. It parses each extrinsic, verifies their signatures and then creates the events to the desired objects. • Authentication object: It maintains a list of the IDs of all user objects and their corresponding authentication methods. The dock object calls this object to verify the signatures on transactions. Other objects may also call it when they need authentication services. • Schedule object: It enables periodic, or scheduled, calls to other objects. Every block it receives from the dock object the current time and block number and then proceeds by calling any objects that are scheduled to be called at that particular time. • Instantiation object: It creates all user objects. Users can call it to create a new user object from a list of object templates. It maintains the list of object templates and defines which parameters are allowed for the instantiation of those templates. • Native issuance object: It is a special instance of the more general issuance template. It manages the native token (XTL) by maintaining a list of all object IDs and their corresponding balance. It also deals with transfer- ring, minting and burning XTL tokens. • Governance object: It implements whichever gover- nance method is chosen to update the blockchain. No- tably, it is the only object that possesses unrestricted access to the super object, thus allowing it to modify any part of the Katal runtime. • Consensus object: It manages certain tasks related to the consensus algorithm. Namely, it maintains a list of validators and their staking deposits, applies slash inherents, distributes block rewards, etc. Besides these seven kernel objects, the Katal runtime is also composed of the following four user object templates: • Account object: It is the most basic object in the runtime, being basically just an ID. Whenever an ac- count is created, a corresponding entry is created in the authentication object with the authentication method and parameters chosen by the user. • Issuance object: It creates and manages its own tokens. It can be user-controlled or automated, is capable of managing several different token types and supports both fungible and non-fungible tokens. • Oracle object: It maintains an external data feed by serving as the interface for Town Crier servers. It creates requests for data, validates the data authenticity and distributes rewards to servers. • Contract object: There are actually 32 different con- tract templates, one for each ACTUS contract type. All contract objects are capable of interacting with issuance objects, to create cash flows, and with oracle objects, to fetch data. It also maintains a list of all its owners, both creators and counterparties, for tokenization purposes. The above list gives a rough description of all the objects but it does not shed much light on how they interact together. Even though it is not possible to detail all possible interactions in this paper, we will now discuss some of the most common ones. A. Transaction docking All transactions pass first through the dock object. Any transaction is just a ‘bundle’ of function calls to other objects, and the dock object must first verify the validity of the transaction before creating the corresponding events for those function calls. When the dock object receives a transaction it will first check that it is well-formed. Then it will call the authentication object to verify the signatures contained in the transaction. If, and only if, all signatures are valid then the dock object will create the requested events. Each of these events will include, as part of their parameters, the IDs of everyone that signed the transaction. B. Token transfers Like ERC-20 tokens in Ethereum [8], tokens in Katal are managed by a single object. In other words, instead of every account storing the balance of every token that it owns, for each token there is a single object that stores the ID and balance of every account that owns those tokens. These objects we call issuance objects. When an account wants to transfer some tokens to another account, it just sends a request to the issuance object of that token. The issuance object will then update its internal ledger to reflect this change. 6 C. Schedule functions It is useful to have functions that are started at predefined times. For example, we may want an oracle that is updated every minute. In order for this to happen, some object needs to call the oracle object every minute, so that it can accept updates to its state. That object is the schedule object. Every block the dock object sends the current block number and time to the schedule object. The schedule object has a list of functions, IDs and conditions. Upon receiving the block number and time, it goes through this list and, if any of the conditions is satisfied, it triggers the corresponding function at the corresponding ID. D. Oracles and data feeds Each oracle contract only maintains one specific data feed. When they request an update, a Town Crier server can send a transaction containing the update and potentially receive a reward. Other objects can send a function call requesting data from the oracle and it will respond back with the most recent data in its state. E. Template instantiation Users can create new objects using the instantiation object. Through the dock object, a user can request the instantiation object to create a new object from a list of templates. The instantiation object then sends the necessary events to the super object and also, in some cases, to the authentication and schedule objects. F. Governance The main purpose of the governance object is to control who can have unrestricted access to the state, and especially to the super object. It will receive calls from the dock object and, given its internal logic, it will decide if the calls are to be forwarded or not. IV. SPECIFICATION In this section we will detail the runtime of Katal, beginning by giving some general remarks and then by describing the kernel and user objects. Our focus will be on the objects interface and function. A. General 1) Reserved namespace: There is a reserved namespace for the kernel objects. The namespace consists of all the IDs that begin with ’XTL’. For example, the dock object will have the name ’XTL Dock’. User objects are not allowed to have an ID that begins with ’XTL’. This is enforced by the instantiation object, who will not accept any requests to create an user object with an ID in that namespace. 2) Transactions: A transaction is a bundle of function calls to objects. Users can join several different function calls into the same transaction and sign them. The function calls are only forwarded by the dock object if all the signatures are valid. A transaction has the following format: • [ID]: A list of the IDs that are authorizing this transac- tion. • [Function calls]: A list of the desired function calls. • Window: Determines the time window in which this transaction is valid. For example, if the window is [2000, 2050] then the transaction will only be accepted between the block number 2000 and the block number 2050. • Nonce: A long integer chosen by the users. Together with the validity it prevents replay attacks. • [Signature]: A list of the signatures for this transaction, one for each ID. Where [.] represents a list. A transaction can also be thought of as a wrapper to a series of function calls. These function calls have the following format: • ID_to: The ID of the destination object. 7 • call_function: The function to be called at the destination object. • [user_parameters]: A list of user-provided param- eters to be passed to the function. 3) Origin ID: All function calls, except the extrinsics fed into the dock object, will include in their parameters the field ID_from which is the ID of the object that originated the function call. Adding this information to every function call allows objects to have functions that can only be called by certain objects. For example: • Internal functions that can only be called by other func- tions in the same object, • Kernel functions that can only be called by kernel objects, • User-forbidden functions which are functions that do not accept calls from the dock object, thus they cannot be called by users, • User-only functions which are functions that are meant to be called by users and as a result only accept calls from the dock object. 4) Extrinsics order: A block is composed of several extrin- sics, either transactions or inherents, and they are fed into the dock object into a specific order: • Timestamp:={time, block number}: An inher- ent that contains timing information. It is forwarded to the schedule object. • Slash:={ID}: An inherent that is used to slash the stake of a misbehaving validator. It is forwarded to the consensus object. • Seed:={seed}: An inherent that contains a random seed used to select a new validator set. It is forwarded to the consensus object only in macro blocks, otherwise it is ignored. • Transactions:={[transactions]}: The list of transactions. They are only sent in micro blocks. • Reward:={ID}: An inherent containing the ID to which the block reward is paid to. It is forwarded to the consensus object. B. Kernel objects 1) Dock: The dock object acts as the point of entry for extrinsics and its interface only has one function: • input(extrinsic): Parses the extrinsic and veri- fies its validity. If it is a transaction then it calls the authorization object to verify the signatures and, if the all signatures are valid, then forwards the function calls to the correct objects. For each function call in the extrinsic a new event is created by the dock object with the format e(priority, ID_to, call_function, ID_from, [auth_ID], [user_parameters]), where [auth_ID] is the list of every ID that signed the transaction. 2) Authentication: The authentication object verifies au- thentication proofs provided by the users. To do so it maintains the following internal key-value store, called the authentica- tion registry: Key Value ID (Method, [Parameters]) Where method is any authentication method supported by the authentication object. It can be a signature scheme like ECDSA, Schnorr or BLS, or a multisignature scheme, or a hash-lock, or even a zero-knowledge proof system. The pa- rameters are any information necessary to authenticate proofs. For example, in the case of ECDSA the parameters would be the public key. The next functions form the interface of the authentication object: • verify([message, ID, proof]): Goes through the list verifying that each proof is a valid authentication of the message by the corresponding ID. Accepts calls from any object. • method(message, proof, parameters): General function type for authentication. There is one instance for each different authentication method. It is an internal function, and as such it accepts only calls from the authentication object. • add_key(ID, method, parameters): Adds the ID with given method and parameters to the authentica- tion registry. Does not accept calls from the dock object. • change_key([auth_ID], ID, method, parameters): Changes the authentication method of the object with given ID. Accepts calls from any object, but if the call originates from the dock object, it will only be accepted if ID ∈ [auth_ID]. • delete_key([auth_ID], ID): Deletes the entry in the authentication registry with given ID. Accepts calls from any object, but if the call originates from the dock object, it will only be accepted if ID ∈ [auth_ID]. 3) Schedule: The schedule object serves to make function calls to other objects at regular intervals. To achieve this, it maintains an internal key-value store called the schedule registry: Key Val";"""date"",""2019-07-04T01:32:26Z"" ""pdf:PDFVersion"",""1.5"" ""pdf:docinfo:title"","""" ""xmp:CreatorTool"",""LaTeX with hyperref package"" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""subject"","""" ""language"",""en"" ""dc:format"",""application/pdf; version=1.5"" ""pdf:docinfo:creator_tool"",""LaTeX with hyperref package"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"","""" ""modified"",""2019-07-04T01:32:26Z"" ""cp:subject"","""" ""pdf:docinfo:subject"","""" ""pdf:hasMarkedContent"",""false"" ""pdf:docinfo:creator"","""" ""PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) kpathsea version 6.2.2"" ""meta:author"","""" ""trapped"",""False"" ""meta:creation-date"",""2019-07-04T01:32:26Z"" ""created"",""2019-07-04T01:32:26Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2019-07-04T01:32:26Z"" ""resourceName"",""1903.01600"" ""Author"","""" ""producer"",""pdfTeX-1.40.17"" ""pdf:docinfo:producer"",""pdfTeX-1.40.17"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""Keywords"","""" ""access_permission:modify_annotations"",""true"" ""dc:creator"","""" ""dcterms:created"",""2019-07-04T01:32:26Z"" ""Last-Modified"",""2019-07-04T01:32:26Z"" ""dcterms:modified"",""2019-07-04T01:32:26Z"" ""title"","""" ""Last-Save-Date"",""2019-07-04T01:32:26Z"" ""pdf:docinfo:keywords"","""" ""pdf:docinfo:modified"",""2019-07-04T01:32:26Z"" ""meta:save-date"",""2019-07-04T01:32:26Z"" ""pdf:docinfo:custom:PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) kpathsea version 6.2.2"" ""Content-Length"",""3657708"" ""Content-Type"",""application/pdf"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"","""" ""dc:subject"","""" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""13"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""3572"",""4165"",""4598"",""1880"",""2793"",""3676"",""2716"",""4123"",""4188"",""4133"",""3339"",""2802"",""2656"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""pdf:docinfo:trapped"",""False"" ""meta:keyword"","""" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2019-07-04T01:32:26Z"" ";https://scholar.google.com/scholar?start=540&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094541-659;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Fraud Detection in Medical Insurance Claim with Privacy Preserving Data Publishing in TLS-N Using Blockchain;T Mohan, K Praveen ; International Conference on Advances in Computing …, 2019 Springer;;"… The solution proposed in the paper solves the TLS-N content hiding attack using generalization of privacy preserving data publishing scheme and incorporating this on a blockchain oracle helps provide immutability to the content related to a policy holder. References …";Autres articles;;null;;;;https://scholar.google.com/scholar?start=470&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094649-1116;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[HTML][HTML] The hazards of misusing the smart contract: An AHP approach to its risk;R Luciano ; Journal of Information Security, 2019 scirp.org;;"… lack of consensus when writing the code, inadequate verification and testing of smart contracts prior to deploy them in the blockchain, the complexity … Reference [3] discussed the use of oracles to overcome problems such as disputes or making the oracle represent the …";Cité 3 fois;Les 4 versions;[HTML] scirp.org;https://www.scirp.org/html/2-7800557_90112.htm;" [image: SCIRP LOGO][image: ACCESS LOGO] Home Journals Books Conferences News About Us Jobs Journal of Information Security Vol.10 No.01(2019), Article ID:90112,20 pages 10.4236/jis.2019.101002 The Hazards of Misusing the Smart Contract: An AHP Approach to Its Risk Romulo Luciano ●Abstract ●Full-Text PDF ●Full-Text HTML ●Full-Text ePUB ●Linked References ●How to Cite this Article Department of Post-Graduation and Research in Administration, IBMEC, Rio de Janeiro, Brazil [image: ] Copyright Š 2019 by author(s) and Scientific Research Publishing Inc. This work is licensed under the Creative Commons Attribution International License (CC BY 4.0). http://creativecommons.org/licenses/by/4.0/ [image: ][image: ] [image: ] Received: December 14, 2018; Accepted: January 20, 2019; Published: January 23, 2019 ABSTRACT This article explores four critical groups of systematic risk embedded in smart contract employment using the analytic hierarchy process (AHP). The four principal risk analysis groups include: 1) transparency in the light of corporate governance 2) IT security 3) contract management automation and 4) legality. The AHP assists both decision-makers and stakeholders alike in the evaluation process essential for identifying potential technological constraints posed within a permissioned blockchain environment using peer-to-peer format in the absence of digital currency. Based upon critical assessment, the AHP methodology enables pairwise comparisons among different features and consequently increases the knowledge regarding these attributes in light of the software’s risk assessment. Keywords: AHP, Blockchain, Smart Contract, Software Project Management [image: ] 1. Introduction The smart contract has received attention due to both its characteristics and numerous application possibilities, offering users potential cost savings in a variety of conventional commercial aspects. The most advantageous benefits include reducing legal and transactional costs as well as increasing the intangible trust value among dispersed entities. While the technology is developed on the blockchain platform and computer codes have been intensely investigated by technologists worldwide, methodical risks are manifest due the characteristics of the smart contract. The ensuing body of research provides specific information regarding the hazards of misusing the smart contract from an analytic hierarchy process (AHP) risk assessment perspective. The following is comprised of five sections concerned with the identification and exploration of four distinct areas of risk confronting private smart contract utilization using basic AHP methodology. The objective of this body of research is to provide decision makers with a comparison model in order to assess the identified risks associated with the smart contract. The author will begin with a review of emerging and associated literature in conjunction with exploratory research to provide an understanding of the interrelationship between the smart contract and blockchain, and more importantly, how that relationship impacts risk management in a software project. The second section of this paper will provide a definition of risk and its management within a software project as well as the methodology used to identify the four main risk clusters pertaining to the smart contract. The third section will introduce the AHP method including the elemental framework comprising the AHP followed by an application of the AHP with regards to the four critical groups of systematic risk. Conclusively, the final section will provide a summation and discussion of the author’s findings. 2. The Literature on Smart Contract and Software Risk Management 2.1. The Smart Contract In 1994, Nicholas Szabo became the first author to mention the term smart contract [1] . The smart contract was developed to translate conventional paper-based contracts into secure self-executing digital protocols. Later, in 2008, Bitcoin, was developed using blockchain by Satoshi Nakamoto and became the first digital currency. Its technical characteristics were determined, defined, and subsequently deployed in the public market with reliability. As a result, the bitcoin became synonymous with cryptocurrency; offering users anonymity, transactional transparency, and tamper-proof peer-to-peer operations utilizing hash functions and an inherent value maintained on an open network without a central issuer or bank [2] . This system is not infallible. Adding a new block or transaction in the proof-of-work blockchain to improve the trustworthiness of the system requires caution. As one of the originating authors of Ethereum, [3] explains the complex interrelationship among bitcoin, blockchain, and smart contract components, as an open platform based upon blockchain technology, enabling software developers to create a computer code that replaces traditional paper-based contracts. The computer code written for the blockchain is immutable and handles the consensus agreement among parties. This code is called a smart contract which is a self-executing code that meets the consensus terms and conditions customarily established in current contracts. It enforces the rules and automates contract management. These terms and conditions may include the payment process between parties, transference of rights and/or goods among participants, or a decentralized autonomous application objecting to eliminate intermediary services such as regulatory compliance and systematic voting. All these transactions are enforced and permissible if predefined conditions written as program code are satisfied. The smart contract can be programmed and deployed on the private blockchain. Currently, there are consortia of private organizations investigating and generating program codes for smart contracts as well as other blockchain applications such as Hyperledger and R3 entrepreneurial ventures in addition to the numerous technology companies that create customized smart contracts. The permissioned private blockchain and smart contracts have characteristics and risks distinct from the public network blockchain which does not require permission. The main difference delineating a public blockchain is the trusted participants that are allowed on the network [4] . The permissioned private blockchain demands an invitation that requires authorization by either the network administrator or by a set of rules embedded in the system. Additionally, it specifies restrictions regarding who can join the network, and which transactions they may take part in. The access control mechanism can vary. For example, existing members may select future participants, issue licenses for participation via regulatory authority, or even make the decisions as a preexisting group instead. Once an organization has joined the network, it may play a role in maintaining the blockchain in a decentralized manner. Conversely, having a person, group of persons, or a set of rules acting as network administrator on a permissioned private blockchain and smart contract, naturally make it vulnerable for cyberattacks [4] . In essence, the smart contract is a potentially disruptive innovative tool requiring a thorough understanding of both the benefits and potential harm implementation may render a business. If smart contract employment is decided, identifying pertinent risks and monitoring their development and/or existence, becomes a matter of constant vigilance due to the clear research gap related to smart contract technology. The foundation of this study concerns the organizations aspiring for consensus and collaboration in both the exploration and application of a private smart contract. The impetus of this study is a permissioned private blockchain network in conjunction with a smart contract developed for private trade in a peer-to-peer manner free from the use of a digital currency. The purpose for this is to attain a distributed reproduction of auditable transaction logs that are shared among the participants of interest. For clarity, the smart contract examined in this study takes into consideration that organizations and government that are involved in this process are ruled by the same set of applicable laws as shown in Figure 1. 2.2. Software Risk Management Risk exists in all matters, and it is not different in business. Among several definitions of risk, [5] defines risk “as the chance of loss or the perils to the subject matter of an insurance contract.” Applying the same definition to information technology, [6] wrote about software risk management, proposing a framework that began with the planning phase and extended to the operational function. [image: ] [bookmark: f1]Figure 1. Business environment framework proposed by the author. Reference [6] objected to prevent software risks in order to safeguard against costly operations and limit frustration to users and other stakeholders. Reference [6] split the risk management into two groups: risk assessment and risk control. The risk assessment is subdivided into three groups as well as the risk control. The risk assessment subgroups are: 1) risk identification, 2) risk analysis, and 3) risk prioritization. The risk control subgroups are: 1) risk management planning, 2) risk resolution, and 3) risk monitoring. Taken together, it is a complete set of checks that a planning team should focus on to minimize risk prior to implementing new software. Another framework developed by [7] for the National Institute of Standards and Technology highlights the importance of information technology risk management. It is a guideline which comprises three processes: risk assessment, risk mitigation, and evaluation assessment. It contains [6] ’s framework as a subset. Corroborating, [8] went further than [6] , mentioning that risk management of new software should assess functionality, performance, resource use, safety, reliability, versatility, ease of learning, ease of use, and ease of modification. Controversial but elucidating, the Chaos Report (1994) issued by [9] , showed a high failure of IT application development projects and costliness. The survey interviewed 365 respondents among different industry sizes. Although the methodology applied in the studies and survey was considered debatable, as [10] mentioned, it made the academy and entrepreneurs aware of such bad practices and possibly served to propose improvements in practice and theory afterward. One of the findings in the [9] was the incomplete requirements and specifications for such software development and applicability, which also follows the [8] study. Additionally, [11] mentioned in his study that most aspects of failure in software projects are foreseeable and preventable. Among the most common factors of IT projects failures, two are noteworthy in this study: unmanaged risks and use of immature technology. The smart contract is an immature technology at the time this study was prepared, and this study attempts to identify the main group of risks. Furthermore, [12] also wrote about risk management in software projects. He mentioned that one of the most common subjects in software projects found in the literature regarding risk management is risk identification, which might impact on the success of the plan. In addition, [13] made a comparison among the authors who published studies regarding risk management in software projects. The study was based on the steps described by the Project Management Body of Knowledge (PMBoK) Guide from 2008. One step common to all authors is risk identification, as observed in this literature review. Enriching the literature, [14] approached the general risk assessment in distributed software development. The aspects identified in the software risk management literature discussed by the authors were grouped as according to the Leavitt organizational model, i.e., task, structure, actors, and technology, which differs from the proposal of this research study. However, it is valuable to highlight the aspects which can be extended to smart contract software. They are the lack of trust in human skills and behavior, lack of security, complexity of code, and software quality. Thus far, an attempt has been made to clarify that risk identification constitutes a precursor to software risk management. Hence, this study intends to help the decision-maker to fulfill part of the risk management process by identifying the main group of private smart contract risks and evaluating them utilizing the AHP method with the help of expert judgment. 2.3. Risks and Attributes of a Private Smart Contract As aforementioned, the private smart contracts deployed on the permissioned private blockchain are distinguished by their characteristics and risks when compared to the permissionless blockchain and public network. One of the attributes of the private blockchain and the smart contract is to have a network administrator, either a person, a group of persons or a set of rules, which makes it the target for cyberattacks [4] . Another important feature of the smart contract is the immutability of code [15] . Thus, it does not allow any part from singly changing the code or terms written. It prevents harmful cyberattacks to the code because the network administrator would be alerted about the possible invasion trying to change the code. As an additional attribute, the transactions are traceable and permanently recorded in the blockchain [1] . Reference [16] performed a screening of academic papers and identified four main issues regarding the public smart contract. They are codifying issues, security issues, privacy issues, and performance issues. In addition, the study proposes solutions for each issue. These issues can be extended to the permissioned private smart contract with a fewer minor differences. Codifying issues can be summarized as the difficulty to write or modify the smart contract, which is intrinsically related to the human skills that are necessary to translate the terms and conditions of a regular paper-based contract to programming code. The security issue is the vulnerability of the code as such. If it has breaches, then cyberattacks can invade the network or suspend the network operability. The privacy issue is not relevant to the focus of this study because the transparency is akin to the permissioned private blockchain and smart contract, in contrast to the public environment. The unplanned display of data to the public concerns IT security. The smart contract is encrypted before being deployed on the private blockchain. The performance issues mentioned by [16] are not pertinent since the private smart contract object of this study is unique, and it would run in the private blockchain, i.e., one smart contract to be deployed and run. Reference [16] mentioned performance issues when several smart contracts are deployed and are run on the public blockchain, which might affect the execution time of each transaction, as well as the reference by [1] of the throughput limits in the Ethereum blockchain environment. Regarding the security of the blockchain system and a smart contract written on Ethereum, [17] performed a systematic inspection regarding its security, which was also addressed by [18] . They explore the literature about blockchain and smart contracts, highlighting the vulnerability observed after the cyberattacks on smart contracts developed using the Ethereum platform. In addition, they propose solutions to minimize the success probability of an attack. The controversial misuse of the hard fork operation is less appropriate to the private smart contract object of this study [19] . The hard fork became a well-known operation, when in 2016, $60 million was hacked through the public Ethereum blockchain due to a vulnerability in the decentralized autonomous organization deployed on the Ethereum blockchain [20] . Using the soft fork and then a hard fork, it was possible to identify where the crypto money was and recover the stolen digital currency to its rightful owners. However, that created two blockchains: 1) with the fork, Ethereum, and 2) without the fork, Ethereum classic. At that time, it created reputational issues on blockchain usage regarding the security issues and consequently, the risk of financial loss. However, if a similar operation is required in a private consortium, the decision is made through a consensus of the stakeholders [19] . Reference [4] points out the technological challenges in smart contracts without differentiating the permissioned private and the public smart contract. The lack of maturity issue highlighted in the study as well as cybersecurity and governance are common issues to private and public blockchains and smart contracts. Additionally, the legal and regulatory challenges mentioned are different from the public to the private environment since on the private network, the framework of the code would be created in consensus with all stakeholders involved in the program code process, including the government. For instance, the UK Government Office for Science [21] clearly recommends the facilitation of research and use of blockchain and smart contracts and highlights the potential benefits and possible synergies between government and private organizations such as increasing transparency and corporate governance and avoiding frauds in the system. However, it also indicates concerns regarding the infancy of a smart contract. The laws chosen for application to a contract are dependent on several factors, but that discussion goes beyond the objective of this study. Regarding the contract that should be translated to code, if a contract does not encompass all rules and conditions, it might lead to transaction costs, conflict, or even worse, the ruin of the program if a consensus is not established [1] [22] . Drawing attention to the program code’s immutability is important. Despite the code’s immutability, another program code can replace the program code without significant interference to the process where the software has been deployed and run, or the code can be altered from what it was programmed for [1] [3] . Regarding the legal perspective, [23] analyzed the legal validity, interpretation, and lifecycle of contracts in either imperative or declarative smart contracts. Imperative language is most commonly used in smart contracts, which “the programmer writes an explicit sequence of steps to be executed to produce the intended result. The programmer has to write what has to be done and how to perform it” [23] . On the other hand, the authors present the alternative declarative language, arguing that it is a more feasible representation of natural language which “the programmer does not have to write explicitly the sequence of steps to specify what has to be done. The programmer only describes what has to be done, without specifying how to do it” [23] . Regardless of the language used, what is essential for this study is to identify the main risks. In addition, the main risks are related to the lack of consensus when writing the code, inadequate verification and testing of smart contracts prior to deploy them in the blockchain, the complexity of writing the smart contract code, the immutability of the code, and the termination of the smart contract. As mentioned by [22] , the smart contracts can be tailored to have flexibility, i.e., have a human factor to judge a specific transaction before its execution, thus classifying the smart contract as semi automated. Reference [3] discussed the use of oracles to overcome problems such as disputes or making the oracle represent the jurors to determine whether certain contractual terms have been met prior to code execution. Thus, the oracle can provide flexibility, but it can compromise the speed of the transaction. As explained by [24] , every person or organization can take the liberty to infringe on any contractual conditions. They might be legally responsible for that act, but the oracle can be implemented to minimize the impact of such possibilities and reduce the time to resolve a conflict. Using the previously established framework of existing law and terms, the oracle can settle disputes among parties. To corroborate, [25] cited the risks between common law and civil jurisdiction and the smart contracts, along with other risks such as security, in light of cyber attack risks and scalability. Therefore, it is important to emphasize the framework proposed for this study as per Figure 1, where all participants are enclosed under the same set of law and rules. In addition, the object of this study is the private smart contract deployed on the permissioned private blockchain network, without using a digital currency and where the stakeholders are aiming for a consensus agreement. 2.4. Research Gap The research work calls for conducting the process of risk identification and analysis on smart contracts deployed on the permissioned private blockchain network for private trade. The topic of assessing the smart contract risks in the literature is still not recognized from this basis [16] ; hence, it is considered as a gap in smart contract matters. Furthermore, grouping the main smart contracts' attributes based on their meaning, i.e., to facilitate the risk identification and subsequently, to perform a smart contract attributes’ risk analysis, is prudent in software project management [12] , and it can be considered a gap in the emergent literature of private smart contracts. In this context, therefore, a two-phase methodology has been proposed and utilized to meet the gaps mentioned above. The first phase is to group the most common smart contracts’ attributes based on their meaning after a review of smart contracts in the literature and resources. The second phase is the analysis of identified risks with expert judgment, with the intention of ranking them for determining their relative areas of concern under uncertain conditions by using the AHP approach. 2.5. Methodology This research work was performed between December 2017 and March 2018 utilizing the same systematic mapping study used in current research topics regarding smart contracts described by [16] , which was previously successfully used by [26] for mapping studies in software engineering, as shown in Figure 2. The search exercise was carried out with queries in ProQuest, Google Scholar, Elsevier, ScienceDirect, and Emerald Insight databases, focusing on quality papers published in conferences, journals, and workshops. The keywords used in the search were blockchain and smart contract, separated and in combination, using the connectors and/or, without excluding the books. Moreover, the search included the words: risk assessment, AHP, software risk management, and project management on the same databases. Additionally, based on the exclusion criteria performed by [16] , the author excluded pieces of literature without having the full text available, articles, newsletters, and gray literature. There is a lack of research on the subject that is associated with risk assessment; therefore, this study is classified as exploratory research [27] . To answer the research questions of which risks are intrinsic to private smart contracts and if they can be grouped, the data collection of smart contract characteristics was carried out based on the emergent literature review and interviews with specialists. The attempt was to group the repeated patterns identified [image: ] [bookmark: f2]Figure 2. Steps of systematic mapping study by [26] . in the literature and to group them in a significant set. Later, confirmation of the relevance of the proposed four groups by the experts of that phenomenon was conducted during an interview. Thus, an effort was made to avoid the researcher’s bias and to confirm the concepts, based on the grounded theory research procedure as described by [28] and corroborated by [29] . The caution taken when grouping the attributes into four significant clusters is a tentative approach to building the information concerning the private smart contracts’ risks and to providing a plausible understanding. Nevertheless, a criticism may concern the extent, which cannot be considered exhaustive; however, this research study does not intend to be complete but rather serve as an initial approach to this subject. The solution methodology applied in this research study is displayed in Figure 3. As seen from the preceding chapters, the literature presents characteristics of the smart contract. To recapitulate and to structure them, the characteristics are organized in Table 1. The software risk management and the features identified in Table 1 are not part of this study as such, but these characteristics are mentioned in the smart contract literature review and serve as premises to evaluate any software. The literature also highlights the importance of these characteristics when performing a risk identification of specific features that can impact one or more groups of risks. A decision-making approach should have a consensus-building approach, and it should be natural to our intuition and general thinking. For simplification purposes, grouping the risk characteristics of smart contracts mentioned in Table 1 is suggested, narrowing them down to the four main sets, as shown in Table 2, with their respective meaning and source. As observed, there are pieces of evidence that indicate that attributes of the smart contract can be set up in four main clusters in order to concentrate the software risk analysis. Consequently, the use of AHP was selected to provide a methodology for pairwise comparison of the aspects identified, which can guide the adoption of decisions. The AHP has been used in different fields such as decision-making in construction management [30] , health-safety and environmental risk assessment of refineries [31] , safety risk assessment [32] , project risk assessment [33] as well as other applications [34] . [image: ] [bookmark: f3]Figure 3. The flowchart of the research. [image: ] [bookmark: t1]Table 1. Smart contract’s feature within respective categories, summarized risk description, and source. [image: ] [bookmark: t2]Table 2. Defining private smart contract’s risks with their meaning and with sources. 3. The Analytical Hierarchy Process―AHP AHP Method The AHP developed by [35] is an effective multicriteria decision analysis methodology. By reducing complex decisions to a series of pairwise comparisons and then arranging the results, the AHP helps to capture both objective and subjective aspects to provide support to decision-makers. The AHP involves a relative judgment when making the pairwise comparison, and thus, the result has a relative form depending on the expert judgment and the business environment. It hierarchizes the elements in a primary way so that elements at the same level are of a similar order of scale and must be capable of being correlated to some or all elements at the next higher level. A typical hierarchy has a top level that reflects the overall objective of the decision problem. At the intermediate level, it shows the elements affecting the top-level objective. Similarly, at the lowest level, it encompasses the decision choices. This type of hierarchy provides a clear and simple diagram of all the aspects affecting the decision and their relations. At that point, the prioritization procedure commences, determining the relative importance of the element in each level of the hierarchy. Elements in each level are pairwise compared to their importance in making the decision under consideration. The AHP starts creating a pairwise comparison square matrix A of order n × n whose elements represent the relative importance of an element i over an element j. These elements that denominate a i j are represented by the ratio w i / w j , where ( w 1 , w 2 , ⋯ , w n ) are the positive numerical entries which reflect the judgments. The elements a i j of the matrix A i j shall have the following condition according to Equation (1): a i j = 1 / a j i is the generic element of the reciprocal positive matrix A i j (1)Additionally, the matrix A i j shall follow the condition (2) to be considered consistent. a i j = a i k / a j k , where a i j > 0 and i , j , k = 1 , ⋯ , n (2) The judgment scale of numbers used in AHP is from 1 to 9 [35] , and it helps the decision-maker to verbally express in a natural and intuitive way the intensity of the importance between every two elements as: equally important, moderately important, strongly important, very strongly important or extremely important, as well as allowing transition between these expression words. Having the comparison matrix, it is possible to obtain a priority vector of a set of alternatives, such that n is the number of elements to be compared, Îť max is the priority vector of matrix A, and w is the vector of priorities, where Îť max = n and a i j = w i / w j if the choices made by the decision-maker are consistent. This being so, the vector must be found to satisfy Equation (2), and by Equation (3), the priority vector is obtained. After forming the comparison matrices, the process moves to the phase of deriving relative weights for the various elements. The relative weights of the elements of each level with respect to an element in the adjacent upper level are computed as the components of the normalized eigenvector associated with the largest eigenvalue of their comparison matrix. The composite weights of the decision alternatives are then determined by aggregating the weights through the hierarchy. This is accomplished by following a path from the top of the hierarchy to each alternative at the lowest level and multiplying the weights along each segment of the path. The outcome of this aggregation is a normalized vector of the overall weights of the options. The mathematical basis for determining the weights has been established. The rank reversal phenomenon is debatable. The criticism has been extensively discussed by many authors such as [36] and [37] but a solution for this limitation is not exhausted yet. The rank reversal phenomenon's criticisms are based on";"""dc.publisher"",""Scientific Research Publishing"" ""keywords"",""AHP, Blockchain, Smart Contract, Software Project Management"", ""AHP, Blockchain, Smart Contract, Software Project Management"" ""citation_journal_title"",""Journal of Information Security"" ""language"",""en"" ""prism.number"",""01"" ""prism.issnOnline"",""2153-1242"" ""dc:title"",""The Hazards of Misusing the Smart Contract: An AHP Approach to Its Risk"" ""Content-Encoding"",""UTF-8"" ""citation_pdf_url"",""http://www.scirp.org/journal/PaperDownload.aspx?paperID=90112"" ""robots"",""all"" ""MSSmartTagsPreventParsing"",""True"" ""resourceName"",""2-7800557_90112.htm"" ""citation_abstract_html_url"",""http://www.scirp.org/journal/PaperInformation.aspx?PaperID=90112&#abstract"" ""dc.date"",""2019-01-23"" ""prism.volume"",""10"" ""citation_doi"",""10.4236/jis.2019.101002"" ""prism.publicationName"",""Journal of Information Security"" ""dc.title"",""The Hazards of Misusing the Smart Contract: An AHP Approach to Its Risk"" ""Author"",""Scientific Research Publishing"" ""citation_volume"",""10"" ""dc.language"",""en"" ""citation_issnPrint"",""2153-1234"" ""citation_title"",""The Hazards of Misusing the Smart Contract: An AHP Approach to Its Risk"" ""citation_year"",""2019"" ""citation_publisher"",""Scientific Research Publishing"" ""dc.format"",""text/html"" ""description"",""This article explores four critical groups of systematic risk embedded in smart contract employment using the analytic hierarchy process (AHP). The four principal risk analysis groups include: 1) transparency in the light of corporate governance 2) IT security 3) contract management automation and 4) legality. The AHP assists both decision-makers and stakeholders alike in the evaluation process essential for identifying potential technological constraints posed within a permissioned blockchain environment using peer-to-peer format in the absence of digital currency. Based upon critical assessment, the AHP methodology enables pairwise comparisons among different features and consequently increases the knowledge regarding these attributes in light of the software’s risk assessment."",""This article explores four critical groups of systematic risk embedded in smart contract employment using the analytic hierarchy process (AHP). The four principal risk analysis groups include: 1) transparency in the light of corporate governance 2) IT security 3) contract management automation and 4) legality. The AHP assists both decision-makers and stakeholders alike in the evaluation process essential for identifying potential technological constraints posed within a permissioned blockchain environment using peer-to-peer format in the absence of digital currency. Based upon critical assessment, the AHP methodology enables pairwise comparisons among different features and consequently increases the knowledge regarding these attributes in light of the software’s risk assessment."" ""citation_date"",""2019-01-23"" ""title"",""The Hazards of Misusing the Smart Contract: An AHP Approach to Its Risk"",""The Hazards of Misusing the Smart Contract: An AHP Approach to Its Risk"" ""citation_issnOnline"",""2153-1242"" ""dc.source"",""Journal of Information Security"" ""dc.type"",""Articles"" ""MSThemeCompatible"",""Yes"" ""dc.creator"",""Romulo Luciano"" ""citation_fulltext_html_url"",""//file.scirp.org/Html/2-7800557_90112.htm"" ""Content-Type-Hint"",""text/html; charset=utf-8"" ""prism.publicationDate"",""2019-01-23"" ""Content-Length"",""87556"" ""Content-Type"",""text/html; charset=UTF-8"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""dc.description"",""This article explores four critical groups of systematic risk embedded in smart contract employment using the analytic hierarchy process (AHP). The four principal risk analysis groups include: 1) transparency in the light of corporate governance 2) IT security 3) contract management automation and 4) legality. The AHP assists both decision-makers and stakeholders alike in the evaluation process essential for identifying potential technological constraints posed within a permissioned blockchain environment using peer-to-peer format in the absence of digital currency. Based upon critical assessment, the AHP methodology enables pairwise comparisons among different features and consequently increases the knowledge regarding these attributes in light of the software’s risk assessment."" ""citation_abstract"",""This article explores four critical groups of systematic risk embedded in smart contract employment using the analytic hierarchy process (AHP). The four principal risk analysis groups include: 1) transparency in the light of corporate governance 2) IT security 3) contract management automation and 4) legality. The AHP assists both decision-makers and stakeholders alike in the evaluation process essential for identifying potential technological constraints posed within a permissioned blockchain environment using peer-to-peer format in the absence of digital currency. Based upon critical assessment, the AHP methodology enables pairwise comparisons among different features and consequently increases the knowledge regarding these attributes in light of the software’s risk assessment."" ""prism.doi"",""10.4236/jis.2019.101002"" ""dcterms.issued"",""2019-01-23"" ""prism.issnPrint"",""2153-1234"" ""citation_authors"",""Romulo Luciano"" ""X-UA-Compatible"",""IE=EmulateIE7"" ""prism.startingPage"",""25"" ""viewport"",""width=974px"" ""prism.section"",""Articles"" ""dc.identifier"",""doi:10.4236/jis.2019.101002"" ";https://scholar.google.com/scholar?start=930&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094642-1083;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;(R) CCA Secure Updatable Encryption with Integrity Protection;M Klooß, A Lehmann, A Rupp ; … on the Theory and Applications of …, 2019 Springer;;"… (CRYPTO'13) and Lehmann and Tackmann (EUROCRYPT'18) only achieve CPA security and provide no integrity … will only proceed when the input ciphertext is “valid” (which will become clear in the oracle definitions given … For incorrect inputs, the oracles return \(\mathtt {invalid …";Cité 11 fois;;null;;;;https://scholar.google.com/scholar?start=900&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094555-715;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Validade e eficácia dos “testamentos inteligentes” via tecnologia Blockchain;LSM Rocha, FF Gomes, TCM Mafra ; Scientia Iuris uel.br;;"… Validade E Eficácia Dos “Testamentos Inteligentes” Via Tecnologia Blockchain Validity And Effectiveness Of “Smart Wills” Through Blockchain Technology Lucas Salles Moreira Rocha* Frederico Felix Gomes** Tereza Cristina Monteiro Mafra … Palavras-chave: Blockchain …";Autres articles;;[PDF] uel.br;http://www.uel.br/revistas/uel/index.php/iuris/article/viewFile/33991/25173;" 63 LUCAS SALLES MOREIRA ROCHA E FREDERICO FELIX GOMES E TEREZA CRISTINA MONTEIRO MAFRA SCIENTIA IURIS, Londrina, v.23, n.1, p. 63-80, mar. 2019. DOI: 10.5433/2178-8189.2019v23n1p63 Validade E EficĂĄcia Dos “Testamentos Inteligentes” Via Tecnologia Blockchain Validity And Effectiveness Of “Smart Wills” Through Blockchain Technology Lucas Salles Moreira Rocha* Frederico Felix Gomes** Tereza Cristina Monteiro Mafra*** Como citar: ROCHA, Lucas Salles Moreira; GOMES, Frederico Felix; MAFRA, Tereza Cristina Monteiro. Validade e EficĂĄcia dos “Testamentos Inteligentes” via Tecnologia Blockchaim. Scientia Iuris, Londrina, v. 23, n. 1, p. 63-80, mar. 2019. DOI: 10.5433/2178-8189.2019v23n1p63. ISSN: 2178-8189. Resumo: O objetivo deste artigo ĂŠ analisar a validade e eficĂĄcia dos “testamentos inteligentes”, entendidos para fins deste trabalho como testamentos particulares autoexecutĂĄveis e possibilitados pela tecnologia blockchain. Pelos mĂŠtodos exploratĂłrio e analĂ­tico-dogmĂĄtico, propĂľe-se a possibilidade de realização de “testamentos inteligentes” no Brasil, pela utilização dessa inovadora tecnologia. Primeiramente, analisa-se a tecnologia blockchain, sua estrutura como rede descentralizada e seu funcionamento, suas diferentes aplicaçþes, com foco nos “smart contracts”. ApĂłs, ĂŠ realizada uma revisĂŁo da literatura sobre os diferentes tipos de testamentos, principalmente dos testamentos particulares, suas principais caracterĂ­sticas, peculiaridades e as causas que fazem com que tal instrumento seja pouco utilizado atualmente. Em seguida, busca-se demonstrar como a tecnologia blockchain pode ajudar a tornar tais instrumentos mais confiĂĄveis e autoexecutĂĄveis, sem, contudo, ignorar as dificuldades tĂŠcnicas a serem superadas posteriormente. Palavras-chave: Blockchain. Contratos inteligentes. Testamentos particulares. Abstract: The scope of this article is to analyze the legal validity and effectiveness of “smart wills”, also known as “cryptowills”, which can be understood as automatics or self-executables wills made possible through blockchain technology. Through exploratory and analytical-dogmatic methods, this article implies the possibility of realizing “intelligent wills” in Brazil, by the use of this innovative technology. First, this paper analyzes the *Mestre em Direito em 2017 pela Faculdade Milton Campos (FMC) PĂłs-Graduando em Direito em 2016 pela IBMEC (IBMEC) Graduado em Direito em 2013 pela Faculdade Milton Campos (FMC) E-mail: rocha.lucas@gmail.com **Mestre em Direito em 2015 pela Faculdade Milton Campus (FMC) Especialista em Direito em 2011 pela Faculdade Milton Campus (FMC) Graduado em Direito em 2010 pela Faculdade Milton Campus (FMC) E-mail: ffelix2210@gmail.com ***Doutora em Direito em 2013 pela Universidade Federal de Minas Gerais (UFMG) Mestre em Direito em 2000 pela Universidade Federal de Minas Gerais (FDUFMG) Graduada em Direito pela Universidade Federal de Minas Gerais (FMC) E-mail: tereza.c.mafra@terra. com.br DOI: 10.5433/2178-8189.2019v23n1p63 64 SCIENTIA IURIS, Londrina, v.23, n.1, p. 63-80, mar. 2019. DOI: 10.5433/2178-8189.2019v23n1p63 VALIDADE E EFICÁCIA DOS “TESTAMENTOS INTELIGENTES” VIA TECNOLOGIA BLOCKCHAIN blockchain technology, its different applications, its structure as a distributed computer network and how it works, focusing on smart contracts. After, it is reviewed the Brazilian legislation regarding testaments, mainly private testaments, its characteristics, peculiarities and the reasons why this kind of testaments are not often used nowadays. Finally, this article seeks do demonstrate how blockchain technology may help to make these testaments more trustworthy and self-executables, without disregard the technical difficulties to be overcome. Keywords: Blockchain. Smart contracts. Private wills. 65 LUCAS SALLES MOREIRA ROCHA E FREDERICO FELIX GOMES E TEREZA CRISTINA MONTEIRO MAFRA SCIENTIA IURIS, Londrina, v.23, n.1, p. 63-80, mar. 2019. DOI: 10.5433/2178-8189.2019v23n1p63 INTRODUÇÃO O mundo encontra-se no limiar de mais uma revolução tecnolĂłgica. A rede mundial de computadores estĂĄ ingressando em uma nova etapa, marcada notadamente pelo fenĂ´meno da “descentralização”. Estudos realizados ao longo das Ăşltimas dĂŠcadas resultaram em um grande avança nas ĂĄreas da criptografia e sistemas de computação distribuĂ­dos, resultando no surgimento de uma nova tecnologia com potencial disruptivo, conhecida como blockchain. A tecnologia blockchain se trata de verdadeira evolução na economia P2P (“peer to peer”), ou de “ponta-a-ponta”, marcada notadamente pela colaboração entre os usuĂĄrios dentro de uma rede descentralizada de computadores. Ao combinar uma rede “ponta-a-ponta”, algoritmos de criptografia, armazenamento de dados em nuvem e um mecanismo de consenso descentralizado, a tecnologia blockchain propicia, por exemplo, que seus usuĂĄrios expressem sua concordância em determinados negĂłcios jurĂ­dicos, bem como armazenem certos documentos de maneira segura e publicamente verificĂĄvel. Em razĂŁo dessas caracterĂ­sticas estruturais, a blockchain tem o potencial de desburocratizar diversas ĂĄreas dos setores pĂşblicos e privados, simplesmente eliminando a necessidade de “intermediĂĄrios”. Suas aplicaçþes sĂŁo diversas, desde criptomoedas, como o bitcoin, atĂŠ os chamados “smart contracts” ou “contratos inteligentes”. Dentre as diferentes espĂŠcies de “contratos inteligentes” encontram-se os “testamentos inteligentes”, passĂ­veis de enquadramento no âmbito dos testamentos particulares. AlĂŠm dos requisitos gerais, a legislação pĂĄtria impĂľe restriçþes especĂ­ficas quanto Ă  forma do testamento, condicionando sua validade Ă  observância de determinados pressupostos. Inobservada a forma prescrita e sendo invĂĄlido, a consequĂŞncia seria a ineficĂĄcia do instrumento. No que tange ao testamento particular, a projeção dos efeitos desejados estĂĄ condicionada, v.g., Ă  confirmação judicial, algo que nĂŁo se mostra viĂĄvel no caso dos “testamentos inteligentes”. Seria possĂ­vel, nesse sentido, dotar tais instrumentos de validade e eficĂĄcia? O presente artigo buscarĂĄ, portanto, analisar juridicamente e pelo mĂŠtodo exploratĂłrio as questĂľes que permeiam o tema, no intuito de contribuir para a evolução das discussĂľes sobre a matĂŠria no campo do direito. AlĂŠm da introdução e das consideraçþes finais, o artigo estĂĄ organizado em quatro tĂłpicos. No primeiro deles, tratar-se-ĂĄ das aplicaçþes prĂĄticas da tecnologia blockchain, que viabiliza a criação dos “testamentos inteligentes”. No segundo item serĂĄ abordada a questĂŁo da autonomia privada e interferĂŞncia estatal no âmbito da elaboração de “testamentos inteligentes”, para, no tĂłpico seguinte, tratar da existĂŞncia, validade e eficĂĄcia de tais instrumentos. No Ăşltimo item, o artigo versa sobre os desafios a serem superados pelos “testamentos inteligentes”, para que estes se tornem viĂĄveis e ganhem popularidade no mercado. 1 A TECNOLOGIA BLOCKCHAIN E SUAS APLICAÇÕES PRÁTICAS 66 SCIENTIA IURIS, Londrina, v.23, n.1, p. 63-80, mar. 2019. DOI: 10.5433/2178-8189.2019v23n1p63 VALIDADE E EFICÁCIA DOS “TESTAMENTOS INTELIGENTES” VIA TECNOLOGIA BLOCKCHAIN Antes do advento da tecnologia blockchain, era praticamente impossĂ­vel coordenar açþes individuais na rede mundial de computadores sem o auxĂ­lio de uma autoridade ou ĂłrgĂŁo “central”, capaz de garantir a incolumidade dos dados trafegados. Podemos citar, por exemplo, uma transação bancĂĄria via internet banking. AtĂŠ hoje, sempre foi necessĂĄrio que um terceiro, no caso a prĂłpria entidade bancĂĄria, confirmasse a transação efetuada, emitindo um comprovante verificĂĄvel pelas partes envolvidas. A aparente necessidade de uma “autoridade verificadora” supostamente advĂŠm de um antigo problema proposto dentro da CiĂŞncia da Computação, intitulado “Problema dos Generais Bizantinos” (LAMPORT; SHOSTAK; PEASE, 1982). A tecnologia blockchain resolve referido problema sob a Ăłtica da probabilidade. A citada tecnologia propicia que informaçþes trafegando dentro de uma rede de computadores se tornem mais transparentes e publicamente verificĂĄveis, utilizando equaçþes matemĂĄticas que demandam grande capacidade computacional para serem resolvidas. Isto faz com que eventuais ataques com objetivo de corromper uma base de dados distribuĂ­da sejam virtualmente impossĂ­veis, pois demandaria que os atacantes detivessem a maior parte do poder computacional de toda a rede. Dessa maneira, podemos dizer que o protocolo blockchain garante que as transaçþes efetuadas dentro de uma determinada rede, que se utiliza deste protocolo, sejam vĂĄlidas e registradas no repositĂłrio compartilhado de informaçþes apenas uma vez, possibilitando, assim, que seus usuĂĄrios realizem transaçþes (dotadas de valor econĂ´mico ou nĂŁo) de maneira descentralizada, sem necessidade de um terceiro garantidor, cuja função seria justamente verificar e validar tais transaçþes. A blockchain nada mais ĂŠ que uma base de dados que armazena diversas transaçþes, as quais sĂŁo organizadas de maneira cronolĂłgica e registradas por uma rede de computadores. Cada uma das plataformas blockchain existentes no mercado (ex.: bitcoin, ethereum, corda, quĂłrum, etc.) possuem uma criptografia prĂłpria, podendo todas serem divididas em conjuntos menores de dados, chamados “blocos” (“blocks”). Cada um desses blocos possui informaçþes sobre um certo nĂşmero de transaçþes; uma referĂŞncia sobre o bloco predecessor; alĂŠm de uma resposta para um problema matemĂĄtico complexo, a qual ĂŠ utilizada para validar as informaçþes associadas Ă quele bloco especĂ­fico. Assim, uma cĂłpia da blockchain, como um todo, ĂŠ armazenada em todos os computadores dentro desta rede, que periodicamente realizam a sincronização dos dados, de modo que todos na rede possuam uma cĂłpia idĂŞntica daquela base de dados (BONNEAU et al., 2015). Com objetivo de garantir que apenas transaçþes legĂ­timas sejam registradas na blockchain, os computadores dentro da rede confirmam que eventuais novas transaçþes sĂŁo vĂĄlidas sem que as transaçþes antigas sejam invalidadas. Um novo “bloco” serĂĄ anexado ao fim da blockchain somente apĂłs tais computadores chegarem a um consenso acerca da validade daquela transação. Por sua vez, tal consenso ĂŠ alcançado dentro da rede por diferentes mecanismos de votação, sendo que o mais famoso destes mecanismos ĂŠ o “Proof of Work”, que depende da quantidade de poder computacional “doado” para a rede (WRIGHT; FILIPPI, 2015). 67 LUCAS SALLES MOREIRA ROCHA E FREDERICO FELIX GOMES E TEREZA CRISTINA MONTEIRO MAFRA SCIENTIA IURIS, Londrina, v.23, n.1, p. 63-80, mar. 2019. DOI: 10.5433/2178-8189.2019v23n1p63 O mecanismo acima citado (“Proof of Work”) demanda que determinados computadores dentro da rede, conhecidos popularmente como “mineiros” ou “mineradores” (“miners”) resolvam problemas matemĂĄticos extremamente complexos, enquanto outros verificam se a resposta para este problema nĂŁo corresponde a uma transação previamente registrada. Como forma de incentivo ao “mineradores”, ou seja, para que estes continuem a despender grande poder computacional para resolver tais problemas matemĂĄticos, o que consome vultuosos recursos, estes podem receber uma certa quantidade de criptomoeda ou um crĂŠdito sobre as taxas (equivalentes a uma fração de uma criptomoeda) utilizadas para realização das transaçþes (ex.: bitcoin, ether, etc.). Uma vez que um novo “bloco” ĂŠ adicionado Ă  blockchain, ele jamais poderĂĄ ser deletado, sendo que todas as transaçþes registradas neste “bloco” poderĂŁo ser acessadas e verificadas por qualquer usuĂĄrio dentro da rede (GREENSPAN, 2016). De maneira ilustrativa, podemos dizer que a blockchain ĂŠ uma espĂŠcie de “livro registro”, onde cada novo “bloco” representa uma nova pĂĄgina neste livro. Este ĂŠ inclusive um problema da tecnologia blockchain, eis que o crescimento da cadeia de blocos ĂŠ proporcional ao tempo gasto para confirmação de uma transação (WRIGHT; FILIPPI, 2015). Atualmente, o tempo de espera para que uma transação atinja o consenso na rede ĂŠ de aproximadamente dez minutos (WRIGHT; FILIPPI, 2015). Caso a cadeia fique muito grande, as transaçþes poderĂŁo ser inviĂĄveis em razĂŁo do tempo de espera de confirmação destas transaçþes. Neste caso, a solução seria a limitação do nĂşmero de transaçþes registradas em cada “bloco”, ou entĂŁo o aumento no nĂşmero de usuĂĄrio dispostos a “minerar” tais transaçþes. Analisado o conceito e estrutura da blockchain, pode-se facilmente perceber o seu enorme potencial. AlĂŠm da criação de criptomoedas, tal tecnologia ĂŠ utilizada, por exemplo, no registro e assinatura de documentos, por meio de criptografia assimĂŠtrica, como a utilizada atualmente pela tecnologia do processo eletrĂ´nico judicial (PJe); na criação de mecanismos de votação seguros; alĂŠm da implementação dos chamados “smart contracts”, ou “contratos inteligentes”. Pode-se considerar os “contratos inteligentes” como a grande tecnologia disruptiva dentro da prĂĄtica jurĂ­dica, nas Ăşltimas dĂŠcadas. Ao se utilizar uma base de dados compartilhada, tal qual a blockchain, as partes contratantes podem confirmar que um evento ou condição de fato ocorreu, sem a necessidade de um terceiro de confiança. De maneira geral, os “contratos inteligentes” sĂŁo a implementação de um negĂłcio jurĂ­dico, cujas provisĂľes foram escritas e formalizadas atravĂŠs de um cĂłdigo fonte, que nada mais ĂŠ que um texto escrito na forma de uma determinada linguagem de programação (ex.: HTML5, Java, C++, Delphy, Python, etc.) e depois, traduzida para a linguagem de mĂĄquina (cĂłdigo binĂĄrio composto por valores 0 e 1), por meio de um compilador (WRIGHT; FILIPPI, 2015). Dessa maneira, as partes contratantes podem estruturar sua relação contratual de maneira mais clara, sem a presença de ambiguidades (devido Ă  compreensĂŁo binĂĄria de uma mĂĄquina), e, ainda, de maneira automatizada ou “auto executĂĄvel”. Primeiramente, ĂŠ preciso esclarecer que os “smart contracts” nĂŁo foram criados a partir 68 SCIENTIA IURIS, Londrina, v.23, n.1, p. 63-80, mar. 2019. DOI: 10.5433/2178-8189.2019v23n1p63 VALIDADE E EFICÁCIA DOS “TESTAMENTOS INTELIGENTES” VIA TECNOLOGIA BLOCKCHAIN da tecnologia blockchain. Podemos dizer que as tradicionais mĂĄquinas de refrigerante, onde inserimos um certo valor pecuniĂĄrio com objetivo de receber uma lata ou garrafa da bebida, pode ser considerado um “smart contracts”, mesmo que primitivo. O mĂŠrito da tecnologia blockchain foi justamente tornar a relação entre as partes mais confiĂĄvel, dispensando-se a necessidade de um terceiro fiduciĂĄrio. Os “smart contracts” podem ainda ser entendidos como a representação de um acordo, no qual se verifica o cumprimento de uma condição anteriormente estabelecida, que ocasiona uma consequĂŞncia, tambĂŠm previamente consentida. Assim, o funcionamento dos “smart contracts” segue a lĂłgica “se X, entĂŁo Y”, contida no cĂłdigo fonte pelo qual o contrato ĂŠ regido, tornando-se, assim, auto executĂĄvel, na medida em que o adimplemento de uma condição ou ocorrĂŞncia de um evento desencadeia um resultado especĂ­fico prĂŠ-estabelecido ou, literalmente, programado. O leitor mais atento irĂĄ notar que os “contratos inteligentes”, na verdade, nĂŁo sĂŁo tĂŁo inteligentes assim. Isto porque sĂŁo limitados pela linguagem compreendida por um computador, que por sua vez ĂŠ binĂĄria. Obviamente, contratos redigidos por advogados sĂŁo muito mais complexos, contendo, por vezes, ambiguidades propositais, que demandam uma tarefa interpretativa pelo leitor do documento. Diferentemente, um “contrato inteligente” nĂŁo foi feito para ser interpretado, mas sim executado no caso do advento de uma condição. Uma vez que o cĂłdigo do “contrato inteligente” ĂŠ escrito em linguagem de programação, ele pode ser inserido e registrado na blockchain, e somente a lĂłgica transcrita naquele contrato ĂŠ que regerĂĄ a relação contratual tida entre as partes. Nota-se, portanto, que as provisĂľes constantes dentro de um “contrato inteligente” sĂŁo extremamente limitadas. As partes nĂŁo podem fazer usos de determinadas clĂĄusulas, como aquelas que estipulam direitos, obrigaçþes, foro competente, legislação aplicĂĄvel, etc. Em que pese tais limitaçþes, o desenvolvimento de tecnologias envolvendo “smart contracts” estĂĄ crescendo exponencialmente. Nos Ăşltimos anos, diversos projetos que utilizam a tecnologia blockchain - como Ethereum, Counterparty e Mastercoin - estĂŁo desenvolvendo linguagens de programação (aquelas utilizadas para redigir o cĂłdigo fonte de “contrato inteligente”) que possibilitam a criação de “smart contracts” cada vez mais sofisticados. Dentre estas novas espĂŠcies de “contratos inteligentes”, estĂŁo os “smart wills” ou “cryptowills”, que podem ser entendidos como verdadeiros testamentos auto executĂĄveis, os quais chamaremos neste trabalho especĂ­fico de “testamentos inteligentes”. Trata-se de uma nova realidade e que jĂĄ se encontra presente no mercado. A tĂ­tulo de exemplo, citamos a empresa “Blockchain Apparatus”, que se encontra desenvolvendo uma tecnologia que possibilitarĂĄ a execução destes “testamentos inteligentes”1. O objetivo dos “testamentos inteligentes” ĂŠ justamente dar efetividade Ă s declaraçþes Ăşltimas de vontade de uma pessoa sem a necessidade de um terceiro, que faça cumprir esses desejos. Trata-se da possibilidade de eliminação das figuras do notĂĄrio, do testamenteiro ou mesmo 1 DisponĂ­vel em: http://blockchainapparatus.com/smart-contracts/. Acesso em: 17 nov. 2017. 69 LUCAS SALLES MOREIRA ROCHA E FREDERICO FELIX GOMES E TEREZA CRISTINA MONTEIRO MAFRA SCIENTIA IURIS, Londrina, v.23, n.1, p. 63-80, mar. 2019. DOI: 10.5433/2178-8189.2019v23n1p63 do juiz de direito, alĂŠm de prover eficĂĄcia e executividade ao instrumento. Imagine-se a seguinte situação hipotĂŠtica: Fulano, titular de uma vultuosa carteira de criptomoedas, resolve deixar tal ativo para um de seus herdeiros, que tambĂŠm possui uma carteira prĂłpria dessas criptomoedas. Para tanto, Fulano resolve registrar um “testamento inteligente”, por exemplo, na blockchain da empresa Ethereum. Conforme o cĂłdigo transcrito nesse documento, no advento da morte de Fulano, os valores contidos em sua carteira de criptomoedas serĂŁo automaticamente transferidos para seu herdeiro, sem necessidade de confirmação por um terceiro. Todavia, serĂĄ que a legislação brasileira permite este tipo de transação por meio dos “testamentos inteligentes”? Qual seria a verdadeira eficĂĄcia destes instrumentos? Quais os limites? Quais problemas os “testamentos inteligentes” resolvem e quais os desafios a serem superados? Estas e outras questĂľes serĂŁo doravante analisadas. Todavia, antes de buscar tais respostas, mostra- se necessĂĄria uma revisĂŁo das normas legislativas que regulam os atos sucessĂłrios no Brasil. 2 INTERFERÊNCIA ESTATAL E AUTONOMIA PRIVADA NA CONFECÇÃO DE “TESTAMENTOS INTELIGENTES” A legislação em vigor preceitua que a “sucessĂŁo dĂĄ-se por lei ou por disposição de Ăşltima vontade” (CĂłdigo Civil, art. 1.786) (BRASIL, 2002). Neste dispositivo, encontram-se identificadas as duas formas de sucessĂŁo autorizadas pelo ordenamento jurĂ­dico pĂĄtrio, quais sejam a legĂ­tima, disposta em lei, e a testamentĂĄria, que decorre da vontade do falecido2. Absoluta nĂŁo ĂŠ, entretanto, a autonomia do testador para dispor de seu patrimĂ´nio. O CC/02 (art. 1.845) determina que sĂŁo herdeiros necessĂĄrios os ascendentes, os descendentes e o cĂ´njuge, e atribui a estes a legĂ­tima, composta pela metade dos bens do de cujus (art. 1.846). O citado diploma, ao determinar que a legĂ­tima nĂŁo pode ser objeto de testamento (art. 1.857, § 1Âş), restringe a autonomia privada e tenta equilibrar o interesse da famĂ­lia com a vontade do testador3. Assim, existindo herdeiros necessĂĄrios a herança ĂŠ fracionada em duas metades iguais, quais sejam a legĂ­tima, reservada aos herdeiros necessĂĄrios, e a porção disponĂ­vel, que pode ser objeto de livre disposição por testamento. Somente nos casos em que nĂŁo haja herdeiros necessĂĄrios, ĂŠ que o testador poderĂĄ dispor livremente da totalidade de seus bens. Lado outro, em sendo a sucessĂŁo ab intestato, ou seja, sem testamento, os herdeiros legĂ­timos serĂŁo os Ăşnicos titulares dos bens deixados pelo de cujus. Segundo Washington de Barros Monteiro (2011, p. 23), a limitação Ă  liberdade de testar se mostra mais adequada do que a autonomia plena para disposição dos bens apĂłs a morte, pois o elemento individual nĂŁo deve se sobrepor ao elemento social: 2 AlĂŠm de tratar dos aspectos patrimoniais da sucessĂŁo, afetos ao presente estudo, o testamento pode, ainda, dispor sobre questĂľes de carĂĄter nĂŁo patrimonial, ainda que o testador somente a elas se tenha limitado (CC/02, art. 1.857, §2Âş), tais como o reconhecimento de filhos (CC/02, art. 1.609, III), nomeação de tutor para o filho menor (CC/02, art. 1.634, VI) e a reabilitação do indigno (CC/02, art. 1.818). (BRASIL, 2002). 3 Existe, ainda, restrição com relação Ă s clĂĄusulas de inalienabilidade, impenhorabilidade e incomunicabilidade, que somente podem recair sobre a legĂ­tima se houver justa causa (CC/02, art. 1.848). (brasil, 2002). 70 SCIENTIA IURIS, Londrina, v.23, n.1, p. 63-80, mar. 2019. DOI: 10.5433/2178-8189.2019v23n1p63 VALIDADE E EFICÁCIA DOS “TESTAMENTOS INTELIGENTES” VIA TECNOLOGIA BLOCKCHAIN HĂĄ quem propugne pelo ilimitado direito de testar, sem nenhuma restrição, podendo abranger, destarte, todo o patrimĂ´nio do testador, sem reserva alguma. [...] Alegou-se, a propĂłsito, que a existĂŞncia da legĂ­tima implicaria ofensa ao direito de propriedade, contribuindo, ao mesmo tempo, para enfraquecimento da autoridade paterna. O sistema que afinal triunfou (liberdade de testar limitada), incontestavelmente, ĂŠ o melhor, porque de modo perfeito concilia os elementos em que se apoia o direito hereditĂĄrio: de um lado, a propriedade, elemento individual, de outro, a famĂ­lia, elemento social. Outorgar ao indivĂ­duo plena liberdade de testar seria conferir preeminĂŞncia ao elemento individual, em detrimento do social. Com irrestrita liberdade de testar, o testador poderia transformar-se num ser odioso, instrumento, talvez, de seu egoĂ­smo e de sua cegueira (MONTEIRO, 2011, p. 23). Na maior parte dos sistemas jurĂ­dicos hĂĄ regras limitadoras da liberdade de testar. Dentre aqueles que adotam um sistema hereditĂĄrio clĂĄssico, fundado no modelo romano, como França, ItĂĄlia, Espanha, existe uma parte da herança que necessariamente ĂŠ destinada a determinados herdeiros (legĂ­tima ou reserva). Lado outro, os paĂ­ses que adotam o sistema anglo-saxĂ´nico reconhecem uma mais ampla liberdade de testar, que, porĂŠm, nĂŁo ĂŠ absoluta, pois, em geral, exige o reconhecimento do direito a alimentos como devido a certos parentes e ao cĂ´njuge (Inglaterra, Estados Unidos, MĂŠxico). Deve-se, ainda, mencionar um modelo intermediĂĄrio, no qual os herdeiros necessĂĄrios sĂł fazem jus Ă  legĂ­tima na hipĂłtese de necessidade, a exemplo de RĂşssia, EstĂ´nia, EslovĂŞnia e PolĂ´nia (FERNÁNDEZ-HIERRO; FERNÁNDEZ-HIERRO, 2010, p. 26-27). Para parte da doutrina contemporânea, a limitação Ă  autonomia privada, imposta pela legĂ­tima, encontraria fundamento na proteção Ă  famĂ­lia do testador (NEVARES, 2006, p. 163): Na orientação do dever de solidariedade entre os membros da famĂ­lia, estĂŁo as regras da sucessĂŁo legĂ­tima, em especial aquelas que consagram a sucessĂŁo necessĂĄria, pois estabelecem uma possibilidade de distribuição de valores materiais entre os familiares e, dessa forma, um mecanismo em potencial de libertação das necessidades, como meio de concretização de uma vida digna. As restriçþes Ă  autonomia privada, entretanto, podem tratar nĂŁo apenas do conteĂşdo do negĂłcio jurĂ­dico, como ĂŠ o caso da legĂ­tima, mas tambĂŠm da sua formação. No que tange Ă s restriçþes formais, “o princĂ­pio da liberdade de forma - que ĂŠ uma das conquistas das civilizaçþes modernas, jĂĄ consagrado no CĂłdigo Civil de 1916 (art. 129) e adotado pelo novo CĂłdigo Civil (art. 107) - nĂŁo se aplica ao testamento” (VELOSO, 2007, p. 141). No âmbito do testamento, o formalismo ĂŠ imposto notadamente para garantir a existĂŞncia e a veracidade da vontade do testador, pois os efeitos do testamento ocorrerĂŁo em momento em que este jĂĄ tiver falecido, ou seja, em momento que o autor do documento nĂŁo poderĂĄ agir para garantir a sua correta interpretação (PRETTO, 2015, p. 88). A legislação pĂĄtria impĂľe, portanto, restriçþes quanto Ă  forma do testamento, e condiciona sua validade Ă  observância de determinados requisitos. Duas sĂŁo as categorias de testamentos previstas em lei, quais sejam os comuns e os especiais. 71 LUCAS SALLES MOREIRA ROCHA E FREDERICO FELIX GOMES E TEREZA CRISTINA MONTEIRO MAFRA SCIENTIA IURIS, Londrina, v.23, n.1, p. 63-80, mar. 2019. DOI: 10.5433/2178-8189.2019v23n1p63 No âmbito dos testamentos comuns, tem-se as formas pĂşblica, particular e cerrada (CC/02, art. 1.862). Na esfera dos testamentos especiais, encontram-se os marĂ­timos, aeronĂĄuticos e militares (CC/02, art. 1.886), os quais nĂŁo serĂŁo analisados, pois estes somente podem ser utilizados em situaçþes excepcionais, que nĂŁo se enquadram nas hipĂłteses propostas por este estudo. Segundo Orlando Gomes (2008, p. 105), a orientação legislativa de permitir o testamento comum em vĂĄrias formas ĂŠ justificada por diversas razĂľes: RazĂľes diversas justificam a orientação legislativa de permitir o testamento comum em vĂĄrias formas, todas inflexivelmente configuradas. Deixando-as Ă  escolha de quem se dispĂľe a testar, atende a lei, de um lado, a respeitĂĄveis conveniĂŞncias pessoais, e, de outro, a contingencias que privariam algumas pessoas do exercĂ­cio desse poder, se desatendidas. O receio de desaparecimento do escrito induz, nĂŁo raro, Ă  preferĂŞncia por forma testamentĂĄria que o afasta. O desejo de que permaneçam desconhecidas atĂŠ a morte as disposiçþes de Ăşltima vontade satisfaz-se no testamento secreto. A impossibilidade de ler, escrever ou ouvir a declaração de vontade determina, por sua vez, a exigĂŞncia de determinada forma Para fins deste trabalho, nĂŁo se mostra pertinente discorrer acerca dos diversos procedimentos e formalidades a serem seguidos para cada espĂŠcie de testamento. Entretanto, importante salientar que tanto os testamentos pĂşblicos, quanto os cerrados, tĂŞm como requisito fundamental a participação de tabeliĂŁo ou substituto legal na confecção do instrumento (CC/02, arts. 1.864 e 1.868). Assim, dentre os testamentos comuns, importam para esta pesquisa os testamentos particulares, que, por dispensarem a participação de notĂĄrio na sua confecção, podem ser os Ăşnicos a serem classificados como “testamentos inteligentes” e, utilizados no âmbito da tecnologia blockchain. O testamento particular ĂŠ escrito pelo testador de prĂłprio punho ou por processo mecânico, lido a trĂŞs testemunhas e por todos assinado, conforme determina o art. 1.876, §1Âş e §2Âş do CC/02. NĂŁo obstante ser a forma testamentĂĄria mais simples prevista no ordenamento, sua eficĂĄcia condiciona-se ao preenchimento das seguintes formalidades: (i) publicação em juĂ­zo, com citação dos herdeiros legĂ­timos (CC/02, art. 1.877); (ii) inquirição de testemunhas, que deverĂŁo reconhecer em juĂ­zo suas prĂłprias assinaturas e a do testador (CC/02, art. 1.878)4; e (iii) confirmação do testamento pelo juiz. A força executĂłria dos testamentos particulares tem, nesse sentido, sua eficĂĄcia condicionada Ă  confirmação judicial (GOMES, 2008, p. 126-128). Feitas estas consideraçþes, mister se faz examinar, ainda que brevemente, as trĂŞs dimensĂľes do negĂłcio jurĂ­dico, quais sejam existĂŞncia, validade e eficĂĄcia, sob a Ăłtica dos testamentos. A existĂŞncia do testamento tem inĂ­cio com a declaração de vontade do testador, a qual deve ser dotada de forma e conteĂşdo que atendam Ă s circunstâncias negociais, e que fazem com que o ato 4 Somente em casos excepcionais, de morte ou ausĂŞncia, e de comparecimento de pelo menos uma testemunha, ĂŠ que o testamento poderĂĄ ser confirmado, se, a critĂŠrio do juiz, houver prova suficiente de sua veracidade (CC/02, art. 1.878, parĂĄgrafo Ăşnico). (BRASIL, 2002). 72 SCIENTIA IURIS, Londrina, v.23, n.1, p. 63-80, mar. 2019. DOI: 10.5433/2178-8189.2019v23n1p63 VALIDADE E EFICÁCIA DOS “TESTAMENTOS INTELIGENTES” VIA TECNOLOGIA BLOCKCHAIN seja visto socialmente como destinado a produzir seus efeitos jurĂ­dicos (AZEVEDO, 1974, p. 32- 33). O ingresso do testamento no plano da existĂŞncia nĂŁo importa, entretanto, na sua validade, que estĂĄ condicionada ao preenchimento de determinados requisitos. No ordenamento pĂĄtrio, os requisitos gerais do negĂłcio jurĂ­dico estĂŁo previstos no art. 104 do CC/02, que determinam serem necessĂĄrios: (i) agente capaz; (ii) objeto lĂ­cito, possĂ­vel, determinado ou determinĂĄvel; e (iii) forma prescrita ou nĂŁo defesa em lei. No caso do testamento particular, o CC/02 impĂľe, ainda, requisitos especĂ­ficos, como por exemplo, a necessidade de ser escrito de prĂłprio punho ou mediante processo mecânico, de ser assinado pelo testador, e de ser lido na presença de ao menos trĂŞs testemunhas, que tambĂŠm deverĂŁo assinar o documento. Por fim, ainda que o testamento exista e seja vĂĄlido, ele ainda nĂŁo ĂŠ eficaz. É que os efeitos almejados a partir da realização do negĂłcio jurĂ­dico somente serĂŁo alcançados se este passar pelos planos da existĂŞncia e validade, alcançando, posteriormente, a dimensĂŁo da eficĂĄcia, a qual se refere ao inĂ­cio da produção de efeitos do negĂłcio jurĂ­dico. A respeito do tema, Pontes de Miranda (1955, p. 68) leciona: Existindo o ato jurĂ­dico, pode ser vĂĄlido ou nĂŁo-vĂĄlido (= nulo ou anulĂĄvel), eficaz ou ineficaz. Se o negĂłcio jurĂ­dico nĂŁo existe, nĂŁo hĂĄ pensar-se em conceito de validade ou de eficĂĄcia. Primeiro vem o ser que o valor e o ter efeitos. De modo que, ao dizer-se ser ineficaz o negĂłcio jurĂ­dico, nĂŁo se lhe nega existĂŞncia: implicitamente se afirmou que existe negĂłcio jurĂ­dico; ao dizer-se que ĂŠ nulo, ou anulĂĄvel, implĂ­cita estĂĄ, na afirmação de nulidade ou de ineficĂĄcia, a de existĂŞncia. O sem-efeitos que nĂŁo existe ĂŠ sem efeitos porque nĂŁo ĂŠ: nĂŁo ĂŠ; e, pois, seria absurdo que tivesse efeitos. O sem-efeitos, de que se pode falar e sĂł dele tem sentido falar-se, ĂŠ o ser que ĂŠ sem efeitos: ĂŠ, mas faltam-lhe efeitos. O que nĂŁo existe ĂŠ nada; se lhe chama “nulo” ĂŠ em sentido que nĂŁo se pĂľe no plano da validade: ĂŠ o nĂŁo-ser, que equivocamente se chamou de nulo. A falta de eficĂĄcia nĂŁo ĂŠ dĂŠfice do negĂłcio jurĂ­dico mesmo; ĂŠ nĂŁo-ser das consequĂŞncias. A regra geral para que o testamento se torne eficaz reside na manutenção, pelo testador, de sua declaração, sem revogação, atĂŠ a morte. Somente apĂłs a morte do testador ĂŠ que o testamento, atĂŠ entĂŁo limitado Ă s duas primeiras dimensĂľes do negĂłcio jurĂ­dico, poderĂĄ projetar os seus efeitos no mundo jurĂ­dico (AZEVEDO, 1974, p. 32-33). No que tange ao testamento particular, esta nĂŁo ĂŠ, entretanto, a Ăşnica condição para ingresso no plano da eficĂĄcia. Como foi visto oportunamente, a projeção dos efeitos desejados, neste caso, estĂĄ condicionada Ă  confirmação judicial do instrumento. Para Washington de Barros Monteiro (2011, p. 165), o maior defeito do testamento particular ĂŠ a possibilidade de fraude, que sĂŁo menos passĂ­veis de acometer as outras formas previstas em lei, por demandarem a participação de notĂĄrio na sua confecção. Seguindo esta mesma linha de raciocĂ­nio, Arnoldo Wald (2009, p. 175-176) leciona que os inconvenientes do testamento particular residem na possibilidade de pressĂŁo, substitu";"""date"",""2019-03-28T05:29:10Z"" ""pdf:PDFVersion"",""1.7"" ""xmp:CreatorTool"",""Adobe InDesign CC 13.1 (Windows)"" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""language"",""pt"" ""dc:format"",""application/pdf; version=1.7"",""application/pdf; version=""""1.7 Adobe Extension Level 3"""""" ""pdf:docinfo:creator_tool"",""Adobe InDesign CC 13.1 (Windows)"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""xmp:CreateDate"",""2019-03-28T02:29:08Z"" ""modified"",""2019-03-28T05:29:10Z"" ""pdf:hasMarkedContent"",""false"" ""xmp:ModifyDate"",""2019-03-28T02:29:10Z"" ""trapped"",""False"" ""meta:creation-date"",""2019-03-28T05:29:08Z"" ""created"",""2019-03-28T05:29:08Z"" ""pdf:PDFExtensionVersion"",""1.7 Adobe Extension Level 3"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2019-03-28T05:29:08Z"" ""resourceName"",""25173"" ""xmpMM:DerivedFrom:DocumentID"",""xmp.did:750183fc-0f6e-f748-a305-5ec25c66818d"" ""producer"",""Adobe PDF Library 15.0"" ""pdf:docinfo:producer"",""Adobe PDF Library 15.0"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""access_permission:modify_annotations"",""true"" ""dcterms:created"",""2019-03-28T05:29:08Z"" ""Last-Modified"",""2019-03-28T05:29:10Z"" ""dcterms:modified"",""2019-03-28T05:29:10Z"" ""xmpMM:DocumentID"",""xmp.id:592994d1-d56e-2643-bfc1-32387e6ba3ee"" ""Last-Save-Date"",""2019-03-28T05:29:10Z"" ""pdf:docinfo:modified"",""2019-03-28T05:29:10Z"" ""meta:save-date"",""2019-03-28T05:29:10Z"" ""Content-Length"",""366232"" ""Content-Type"",""application/pdf"" ""xmp:MetadataDate"",""2019-03-28T02:29:10Z"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""dc:language"",""pt-BR"" ""pdf:producer"",""Adobe PDF Library 15.0"" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""18"" ""pdf:hasXMP"",""true"" ""pdf:charsPerPage"",""2976"",""774"",""3119"",""3432"",""3472"",""3434"",""3586"",""3433"",""3436"",""3376"",""3179"",""3383"",""3612"",""3232"",""3097"",""2929"",""3029"",""759"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""pdf:docinfo:trapped"",""False"" ""xmpMM:DerivedFrom:InstanceID"",""xmp.iid:7a1f2427-f72a-8a4d-b955-104abfb898b2"" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2019-03-28T05:29:08Z"" ";https://scholar.google.com/scholar?start=530&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094668-1186;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Multiple channel with crash fault tolerant consensus blockchain network: a case study of vegetables supplier supply chain;H Yusuf, I Surjandari, AMM Rus ; 2019 16th International …, 2019 ieeexplore.ieee.org;;"… challenges and cybercrime, increasing privacy such as determining the details of which transactions and increasing transaction speeds (real time) [5][7]. In fact, ERP companies such as SAP and Oracle also want to implement the blockchain in their ERP because of this.[8] …";Cité 5 fois;;[PDF] ieee.org;https://ieeexplore.ieee.org/iel7/8876028/8887596/08887678.pdf?casa_token=SC6DXaNThpwAAAAA:uydKSFstXOQ6QOfqLx3LxOPQt6WzIuV8Hcu-ccX8b6gutt-XoQevEfNi8ZyzNYsBDDwgqZiundE;" Skip to Main Content IEEE Account Change Username/Password Update Address Purchase Details Payment Options Order History View Purchased Documents Profile Information Communications Preferences Profession and Education Technical Interests Need Help? US & Canada: +1 800 678 4333 Worldwide: +1 732 981 0060 Contact & Support About IEEE Xplore Contact Us Help Accessibility Terms of Use Nondiscrimination Policy Sitemap Privacy & Opting Out of Cookies A not-for-profit organization, IEEE is the world's largest technical professional organization dedicated to advancing technology for the benefit of humanity. Š Copyright 2021 IEEE - All rights reserved. Use of this web site signifies your agreement to the terms and conditions. ";"""og:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""twitter:title"",""Multiple Channel with Crash Fault Tolerant Consensus Blockchain Network: A Case Study of Vegetables Supplier Supply Chain"" ""twitter:card"",""summary"" ""Description"",""Blockchain has become one of important technologies because of its capabilities such as transparency and privacy. Many enterprises see these capabilities as a b"" ""og:title"",""Multiple Channel with Crash Fault Tolerant Consensus Blockchain Network: A Case Study of Vegetables Supplier Supply Chain"" ""resourceName"",""08887678.pdf"" ""language"",""en"" ""title"",""Multiple Channel with Crash Fault Tolerant Consensus Blockchain Network: A Case Study of Vegetables Supplier Supply Chain | IEEE Conference Publication | IEEE Xplore"" ""og:description"",""Blockchain has become one of important technologies because of its capabilities such as transparency and privacy. Many enterprises see these capabilities as a breakthrough to many cases, such as supply chain. This paper discusses a case of a vegetables supplier's problems in term of ledger. Generally, the company need one day to finish the ledger and sometimes there are some information distortion between supplier and client. This paper use hyperledger fabric to build blockchain network that is compatible with the supplier problems. The Blockchain network created with nine channels and crash fault tolerant by using kafka. This blockchain network is tested with two iterations which each iteration consists of 40 rounds and each round contains 3000 transactions. The first iteration throughput average is 27.9 tps with the highest throughput is in round 1 with a throughput of 34.1 tps and the lowest is in round 37 with a throughput of 25.3 tps. The second iteration throughput average is 28.1 tps with the highest throughput is in round 1 with a throughput of 32.8 tps and the lowest is in round 40 with a throughput of 21.3 tps. This performance indicates that multiple channel blockchain network could help the vegetables supplier to improve their ledger capabilities to be less than one day."" ""twitter:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-UA-Compatible"",""IE=Edge"" ""viewport"",""width=device-width, initial-scale=1.0"" ""dc:title"",""Multiple Channel with Crash Fault Tolerant Consensus Blockchain Network: A Case Study of Vegetables Supplier Supply Chain | IEEE Conference Publication | IEEE Xplore"" ""twitter:description"",""Blockchain has become one of important technologies because of its capabilities such as transparency and privacy. Many enterprises see these capabilities as a breakthrough to many cases, such as supply chain. This paper discusses a case of a vegetables supplier's problems in term of ledger. Generally, the company need one day to finish the ledger and sometimes there are some information distortion between supplier and client. This paper use hyperledger fabric to build blockchain network that is compatible with the supplier problems. The Blockchain network created with nine channels and crash fault tolerant by using kafka. This blockchain network is tested with two iterations which each iteration consists of 40 rounds and each round contains 3000 transactions. The first iteration throughput average is 27.9 tps with the highest throughput is in round 1 with a throughput of 34.1 tps and the lowest is in round 37 with a throughput of 25.3 tps. The second iteration throughput average is 28.1 tps with the highest throughput is in round 1 with a throughput of 32.8 tps and the lowest is in round 40 with a throughput of 21.3 tps. This performance indicates that multiple channel blockchain network could help the vegetables supplier to improve their ledger capabilities to be less than one day."" ""Content-Encoding"",""UTF-8"" ""Content-Type-Hint"",""text/html; charset=utf-8"" ""Content-Length"",""42408"" ""Content-Language"",""en-US"" ""Content-Type"",""text/html; charset=UTF-8"" ";https://scholar.google.com/scholar?start=410&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094633-1043;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Ring Signature;JK Liu ; Advances in Cyber Security: Principles, Techniques …, 2019 Springer;;"… The information on the blockchain (including the transaction amount, the pseudonym of the sender and receiver) is … and the Adversary \(\mathcal {A}\) in which \(\mathcal {A}\) is given access to oracles \(\mathcal {JO}\), \mathcal {CO}\), \mathcal {SO}\) and the random oracle …";Autres articles;;null;;;;https://scholar.google.com/scholar?start=860&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094642-1081;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[HTML][HTML] A short server-aided certificateless aggregate multisignature scheme in the standard model;VC Trinh ; Security and Communication Networks, 2019 hindawi.com;United Kingdom;"… type of scheme, recently showed in [25, 43], can be applied well to the Bitcoin blockchain application … ReplacePK ora- cle, and he/she still can ask RequestSig({????, ??????}?????) oracle even if … the target identity ????? to C. Queries: A1 may adaptively ask the following oracles with …";Cité 2 fois;Les 6 versions;[HTML] hindawi.com;https://www.hindawi.com/journals/scn/2019/3424890/abs/;"[image: logo] Journals Publish with us Publishing partnerships About us Blog Security and Communication Networks +Journal Menu [image: ]PDF[image: ] Icons/Arrow Right White Created with Sketch. Journal overview For authorsFor reviewersFor editorsTable of ContentsSpecial Issues [image: ] Submit Security and Communication Networks / 2019 / Article Article SectionsOn this page AbstractIntroductionPreliminariesConclusionAppendixData AvailabilityConflicts of InterestAcknowledgmentsReferencesCopyright Research Article | Open Access Volume 2019 |Article ID 3424890 | https://doi.org/10.1155/2019/3424890 Viet Cuong Trinh, ""A Short Server-Aided Certificateless Aggregate Multisignature Scheme in the Standard Model"", Security and Communication Networks, vol. 2019, Article ID 3424890, 14 pages, 2019. https://doi.org/10.1155/2019/3424890 Show citation A Short Server-Aided Certificateless Aggregate Multisignature Scheme in the Standard Model Viet Cuong Trinh[image: ] .cls-1{fill:#a6ce39;}.cls-2{fill:#fff;}.cls-3{fill:none;} orchid 11Hong Duc University, Thanh Hoa, Vietnam Show more Academic Editor: Bela Genge Received05 Nov 2018 Accepted20 Feb 2019 Published18 Mar 2019 Abstract Aggregate signature scheme allows each signer to sign a different message and then all those signatures are aggregated into a single short signature. In contrast, multisignature scheme allows multisigners to jointly sign only one message. Aggregate multisignature scheme is a combination of both aforementioned signature schemes, where signers can choose to generate either a multisignature or an aggregate signature. This combination scheme has many concrete application scenarios such as Bitcoin blockchain, Healthcare, Multicast Acknowledgment Aggregation, and so on. On the other hand, to deal with the problems of expensive certificates in certified public key cryptography and key escrow in identity-based cryptography, the notion of certificateless public key cryptography has been introduced by Riyami and Paterson at Asiacrypt’03. In this paper, we propose the first certificateless aggregate multisignature scheme that achieves the constant-size of signature and is secure in the standard model under a generalization of the Diffie-Hellman exponent assumption. In our scheme, however, the signature is generated with the help of the authority. 1. Introduction Certificateless Cryptography. In public key cryptography, a public key is just a random number, to certify that a public key belongs to a specific user we need to provide for this public key a certificate. Public Key Infrastructure () was introduced for such purpose; however implementing such in the real world requires using a lot of resources since we need to provide, maintain, and revoke a large amount of certificates. Shamir [1] came up with an idea that if a public key is an identity of a specific user (official email address, for example), there is no need to certify this public key; this leads to the introducing of the notion of identity-based cryptography. However, since each identity is mapped to an arbitrary given fixed number, the public key is an arbitrary given fixed number. In traditional public key cryptosystems such as RSA or ElGamal, given such public key, user cannot generate the corresponding secret key. In all identity-based cryptosystems, user’s secret key is in fact generated by a private key generator () who knows the master key of the system; this leads to the fact that knows all secret keys of users in the system; this problem is so-called key escrow problem. To deal with the problems of providing, maintaining, and revoking a large amount of certificates in traditional and key escrow in identity-based cryptography, the notion of certificateless public key cryptography has been introduced by Riyami and Paterson at Asiacrypt’03 [2]. In a certificateless cryptosystem, the user’s full secret key includes two parts: the first part is a partial secret key generated by from master key and user’s identity; the second part is a secret value chosen by user himself/herself. Due to the fact that user’s public key is still associated with user’s identity and the user’s full secret key includes a secret value chosen by user himself/herself, there is no need to use certificate to certify user’s public key and does not know the user’s full secret key. Certificateless signature scheme was first introduced in [2] and then has been deeply studied in [6–15] to name a few. Regarding the certificateless signature schemes secured in the standard model, there are currently two approaches to construct. First, using the Waters’ hash function [8, 9] or Yum-Lee generic transformations [6, 7], the advantage of this approach is that the resulting schemes can be secure under standard assumptions. However, due to using Waters’ hash function or Yum-Lee generic transformations, these schemes suffer relatively large public parameters and heavy computing time. Second, using direct approach [14, 15], which leads to quite efficient resulted schemes (constant-size of both public parameters and signature, as well as efficient computing time); however these schemes are only secure under strong assumptions (generalization of the Diffie-Hellman exponent assumption, assumption), although assumption introduced by Boneh and Boyen at Eurocrypt’05 [16] now has been accepted widely by researchers [17–22]. Aggregate Signature. Aggregate signature was first introduced by Boneh et al. at Eurocrypt’03 [23]. In this scheme, each signer in an aggregating set signs a different message and then all those signatures are aggregated into a single short signature, which is called aggregate signature. As shown in [5, 23–25], aggregate signature can be applied well to several practical applications such as Bitcoin blockchain, Secure BGP protocol (SBGP) [26], Healthcare, and so on. Certificateless aggregate signature was first proposed in [27], since then it has been studied in numerous of papers such as [5, 28–35], to name a few. However, all of these schemes either are insecure [29, 30, 35] or suffer a drawback that the signature size is linear in the number of signers in the aggregating set [5, 28, 31–34]. Moreover, all of these schemes need to use random oracle to prove the security. Very recently, the authors in [5] proposed a new certificateless aggregate scheme with short public parameters and achieving the highest level of security according to the classification given by Huang el al. [13] under a standard assumption. However, their scheme still suffers two drawbacks: the signature size is linear in the number of signers in the aggregating set and their scheme needs to use random oracle to prove the security. To our knowledge, the task of designing a certificateless aggregate signature scheme with short signature size and secured in the standard model is still open. Multisignature. In contrast to aggregate signature, multisignature scheme allows multisigners to jointly sign only one message. This scheme was first introduced in [36], and then it has been the topic of many other works such as [25, 37–43], to name a few. At ACM CCS’01, Micali el al. [37] first formalized the security model for a multisignature scheme; they also proposed a multisignature scheme based on Schnorr-signature secured in this model. In [25], the authors defined a multisignature scheme with public key aggregation, for which all public keys of signers in the aggregating set are aggregated into a short aggregate public key through a new additional Key Aggregation algorithm. The advantage of this scheme is that the verifier can only take a constant-size of input (multisignature and aggregate public key) to verify the multisignature, which were showed in [25, 43] that this type of scheme can be applied well to the Bitcoin blockchain application. However, the downside of this scheme is that each aggregating set of signers needs to publish in advance its aggregate public key. Very recently, Boneh el al. [43] proposed a new such compact multisignature scheme with public key aggregation; their scheme however is secure in the random oracle model. Regarding the multisignature scheme in the certificateless setting, several schemes were proposed [3, 4, 44, 45]. The authors in [3] addressed the problem of fast verification but they did not give a formal security proof of their schemes. The authors in [4] proposed a certificateless multisignature scheme without using Pairings; they also gave a formal security proof for their scheme under standard assumption. All of these schemes achieve constant-size of signature; however they did not address the problem of public key aggregation and still need to use random oracle to prove the security. 1.1. Our Contribution and Organization of the Paper In this paper, we extend the work in [14] to consider the combination of an aggregate signature scheme and a multisignature scheme, and in the context of certificateless. More precisely, in our server-aided certificateless aggregate multisignature scheme (- for short), an aggregating set of signers can choose to generate either an aggregate signature or a multisignature with the help of private key generator (); for simplicity such signature is called an aggregate multisignature. If the aggregating set of signers contains only one signer, the resulting signature is a usual signature and the signer does not need the help from . More precisely, our - scheme has following properties:(i)the first certificateless aggregate multisignature scheme;(ii)the signature which contains four elements in all cases;(iii)being secure against strong Type I and strong Type II adversaries (according to the classification given by Huang el al. [13]) in the standard model under assumptions;(iv)server-aided scheme;(v)support public key aggregation;(vi)public key size, signing time, and verifying time which depend on the maximum number of signers for one aggregating set, which is fixed at the setup. More details can be found in the Tables 1 and 2.   Signature Secret-key Public-key Signing Verifying [3] 1 1 2 3P + 1H [4] 1+ 1 2 2 (+ 3)exp + 2H [5] (+ 1) 1+ 1 2 4exp + 3H 2exp + 3P (3+ 1)H Ours 3+ 1 3+ 1 3+ (n + 3) (2+ 9)exp + (2+ 1)H (+ 1)exp + 3P+(2+ 1)H Table 1  is the size of the aggregating set of signers; is fixed at the setup. denotes pairing computation, denotes exponentiation, and denotes hash operation. Note that only our scheme is described in type 3 Pairings.   Multi/Aggre non-interactive Security PKA Server-Aid [3] yes/no no not known no no [4] yes/no no ROM+Strong Type I,II+ECDLP assumption no  no no  no [5] no/yes yes ROM+Super Type I,II +CDH problem no  no no  no Ours yes/yes no SM+Strong Type I,II+GDDHE assumption yes yes Table 2  ROM denotes random oracle model, SM denotes standard model, and PKA denotes supporting public key aggregation. Although our - scheme requires server-aid and is secure in a strong assumption ( assumption), our scheme might be considered as a partial answer for the question of designing a certificateless aggregate signature scheme which has short signature size and is secure in the standard model. In addition, our scheme is not only certificateless aggregate signature but also certificateless multisignature with public key aggregation. This type of scheme, recently showed in [25, 43], can be applied well to the Bitcoin blockchain application. We also note that the server-aided model is not new; this model has been used in many other contexts. Regarding the context of signature, we can find several other signature schemes in the literature which use the server-aid model [46–49]. Regarding the assumption, it is introduced by Boneh and Boyen at Eurocrypt’05 [16] and now has been accepted and used widely by researchers with a lot of papers based on it [50–52]. We give in Tables 1 and 2 the detailed comparison between our scheme and some latest relevant schemes in the literature. In the Table 2, regarding noninteractive, to generate a multisignature, in [3] the first signer in the aggregating set signs the message and then sends the resulting signature to the second signer, the second signer based on this signature and his/her secret key to generate a new signature and sends this new signature to the third signer, and this process continues to the last signer. That means it needs rounds to generate a multisignature, is the size of the aggregating set. In [4], each signer needs to broadcast a value to other signers and receives values from other signers before generating multisignature as in usual noninteractive scheme [40–42]. In our scheme, in the first round, relies on the description of the aggregating set and messages to compute four elements and sends them to signers, all signers then based on these values to generate aggregate multisignature as in usual noninteractive scheme [40–42]. Regarding security model, we only consider the selective model where adversary has to declare the identity of target user at the beginning of security game; the challenger thus does not need to guess the identity of target user at the beginning of security game. In scheme [4, 5], the authors considered a more practical model, the adaptive model where adversary does not have to declare the identity of target user at the beginning of security game; however in their security proof, the challenger needs to guess in advance the identity of the target user at the beginning of security game; their schemes therefore lose a factor in the reduction to the corresponding assumptions. We also note that all of these schemes need to use random oracle to prove the security. Paper organization. In the Preliminaries section, we present definition and security model for our - scheme, and then some useful tools for our construction. We next describe our - scheme and its security analysis in Section 3. Section 4 is devoted for the conclusion. 2. Preliminaries In this section, based on security models in [4, 5, 13] we first define the security model for our - scheme; we then give some useful tools that we need to construct our scheme such as Bilinear Groups, Target Collision Resistant Hash Function, and Assumptions. 2.1. Server-Aided Certificateless Aggregate Multisignature Scheme 2.1.1. Definition There are three entities involved in our server-aided certificateless aggregate multisignature scheme:(1)a designated authority acting as a Private Key Generator ;(2)user (or signer) who combines with and all other users in an aggregating set to generate an aggregate multisignature (either an aggregate signature or a multisignature). Note that if the aggregating set of users contains just one user, user relies solely on his/her full secret key (without the help of ) to generate the aggregate multisignature. In this case, the aggregate multisignature is exactly the usual user’s signature;(3)verifier who is able to check the validity of an aggregate multisignature. We also note that, in a certificateless system, a user’s full secret key includes two parts: the first part is a partial secret key generated by the from master key and user’s identity; the second part is a secret value chosen by user himself/herself. More formally, our - scheme consists of the following nine probabilistic algorithms.(i): it takes as input a security parameter ; this algorithm generates system parameters implicitly including the maximum number of users in an aggregating set and a master secret key .(ii)---: it takes as input , , and a user’s identity ; this algorithm generates the partial secret key .(iii)---: it takes as input the security parameter and a user’s identity ; this algorithm generates the user’s secret value .(iv)--: it takes as input ; this algorithm generates the user’s public key .(v)---: it takes as input and ; the algorithm generates the user’s full secret key .(vi) Aggregation: suppose that the aggregating set of users is . There are two cases: if contains just one user with identity , the algorithm takes as input a message , a user’s full secret key , and ; it generates a signature ; note that in this case the algorithm works as a usual signing algorithm. If contains more than one user, the algorithm now is run by and all users in , takes as input messages and the description of , and outputs an aggregate multisignature on messages . Note that the signature is called multisignature as usual if all are the same.(vii) Aggregation Verification: it takes as input an aggregate multisignature , the description of aggregating set of users , and messages and outputs either indicating that is a valid signature or indicating that is not a valid signature. 2.1.2. Adversary’s Oracles We have two types of adversary in our - scheme, the first one represents a third party adversary (so-called Type I adversary) and the second one represents the malicious (so-called Type II adversary), and those adversary can ask the following oracles:(i): when adversary requests a partial secret key corresponding to identity , he/she should get the user’s partial secret key .(ii): when adversary requests a user’s secret value corresponding to identity , he/she should get the user’s secret value . Note that if adversary asks both and oracles on input , he/she will get the full secret key of user associated with identity .(iii): when adversary requests a public key corresponding to identity , he/she should get the user’s public key .(iv): adversary can choose and replace the original public key to a new public key by making a query to challenger.(v): when adversary requests an aggregate multisignature on messages corresponding to users with identities , he/she should get a valid aggregate multisignature corresponding to . In addition, in case , since in the algorithm the aggregate multisignature is generated by and all users in via public channel; adversary may also get the output of as well as the outputs of some users in . Informally, a third party adversary (an outsider attacker) cannot know the master key; however he/she can replace any public key with a secret value of his/her choice. To exclude the trivial attack, he/she obviously cannot know the partial secret key of the target user. Regarding malicious (an insider attacker), this adversary knows the master key; however to exclude the trivial attack he/she cannot know the secret value or replace the public key of the target user. On the other hand, according to the classification given by Huang el al. [13], there are three levels of adversary:(i)normal adversary: this adversary cannot ask oracle if at least one public key of a user in has been replaced;(ii)strong adversary: this adversary still can ask oracle even if all public keys of users in have been replaced;(iii)super adversary: this adversary is not required to supply the secret value when asking oracle, and he/she still can ask oracle even if all public keys of users in have been replaced; In this paper, we consider the strong adversary for both type I and type II. 2.1.3. Security Model We define two selective security games corresponding to two types of adversary, Game 1 corresponds to third party adversary (denote -strong Type I adversary), and Game 2 corresponds to malicious (denote -strong Type II adversary). Our - scheme is secure if it resists both adversaries and . Game 1. The first game is between and the challenger . Initialization: runs the algorithm to generate a master secret key and public system parameters . keeps secret and gives to . declares the target user by sending the target identity to . Queries: may adaptively ask the following oracles with : , , , , and . Note that . Output: Finally, outputs (,), where , and is an aggregate multisignature on messages . We say that wins the game if the following conditions are verified: (1) and have never been queried.(2) which outputs is a valid aggregate multisignature on messages under public keys corresponding to . Denote as the success probability that adversary wins the above game. Game 2. The second game is between and the challenger . Initialization: runs the algorithm to generate a master secret key and public system parameters . gives both public and to . declares the target user by sending the target identity to . Queries: may adaptively ask the following oracles with : , , , and . Note that . Output: Finally, outputs (,), where , and is an aggregate multisignature on messages . We say that wins the game if the following conditions are verified: (1), , and have never been queried.(2) which outputs is a valid aggregate multisignature on messages under public keys corresponding to . Denote the success probability that adversary wins the above game. Definition 3. We say that our server-aided certificateless aggregate multisignature scheme is selectively existentially unforgeable against polynomially bounded adversaries and if the success probabilities and are negligible, where is the security parameter. 2.2. Bilinear Groups In this section, we recall the definition of bilinear map and three types of Pairings. Let is the security parameter, , and , , and are three finite multiplicative abelian groups of order . Suppose that are generators of and , respectively. Denote as an admissible asymmetric bilinear map, where for all (1);(2)for and , ;(3) is efficiently computable. The tuple is then called a bilinear map group system and is in(1)Type 1 Pairings if (2)Type 2 Pairings if but there is an efficiently computable homomorphism (3)Type 3 Pairings if but there is no efficiently computable homomorphism between and In [16], the authors introduced the generalization of the Diffie-Hellman exponent assumption in Type 3 Pairings bilinear map group system. Assume , and are three -tuples of -variate polynomials over . Thus, , , and are just three lists containing multivariate polynomials each. We write , and impose that . For any function and vector , stands for , . We use a similar notation for the -tuples and . Let . It is said that depends on , which denotes , when there exists a linear decomposition Let be as above and . The problem is defined as follows. Definition 4 ( [16]). Given the tuple compute . Definition 5 ( [16]). Given as above and decide whether . 2.3. Target Collision Resistant Hash Function Definition 6. A target collision resistant hash function guarantees that given a random element which is from the valid domain of , a PPT adversary cannot find such that . We let be the advantage of in successfully finding collisions from a target collision resistant hash function , where DH is the valid input domain of ; is the security parameter. If a hash function is chosen from a target collision resistant hash function family, is negligible. In this paper, for simplicity we call such target collision resistant hash function a hash function. 2.4. Assumptions In this section, we recall one assumption and introduce a new assumption which are used to prove the security of our - scheme. Those assumptions are in the similar style of the PS assumption 1 in [52]. Definition 7.  Assumption 1. Let be a bilinear group setting of type 3. Choose , we define the oracle on input that chooses a random and outputs the tuple . Given and unlimited access to this oracle, no adversary can have nonnegligible success probability to generate a pair , with , for a new scalar not asked to . Intuitively, when comparing to PS assumption 1 in [52], we set and the oracle outputs just two more elements in the group which offers no help for the adversary. It is thus obvious that our Assumption 1 holds and we refer the reader to [52] for details. We also note that this assumption was first introduced in [14]. Definition 8.  Assumption 2. Let be a bilinear group setting of type 3, with (resp., ) being a generator of (resp., ). Choose ; we define two oracles: the oracle which is on input outputs the triplet, , ; the oracle which is on input for some set chooses a random and outputs the tuple , , , . Given and unlimited access to both oracles and , no adversary can have nonnegligible success probability to generate a tuple , , , , with , and there exist at least one , not asked to , and input not asked to . For completeness, we prove that our Assumption 2 holds in Bilinear Generic Group in Appendix A. 3. Our - Scheme In this section, we first gives the detailed construction of our - scheme, then in the next section we give the security analysis of our - scheme. 3.1. Construction The construction of our - scheme is detailed as follows. : it takes as input the security parameter ; the algorithm generates a bilinear map group system . Next, it chooses random scalars , and is the maximum number of users in an aggregating set, as well as two hash functions where Finally, it sets the public parameter and the master secret key . ---: it takes as input , , and the user ’s identity ; let ; the algorithm generates a partial secret key for user . ---: it takes as input user ’s identity ; the algorithm chooses and sets as user ’s secret value. --: it takes as input and ; the algorithm sets as the public key of user . ---: it takes as input and ; the algorithm outputs as the full secret key of user . : denote as the aggregating set of users, . There are two cases, if , the algorithm takes as input , , , and a message . The algorithm first chooses and computes and then outputs signature , where If , the algorithm now is run by and all users in . More precisely, the algorithm consists of two separate following algorithms: note that :(1)First algorithm: takes as input , the description of as well as ; note that if all messages are the same, the signature is multisignatures.  follows strictly the order of pair to compute as follows: Next, it chooses and computes  are then sent to all users in via public channel or simply publishes it to the public domain. then is not involved in the second algorithm.(2)Second algorithm: it takes as input and runs by all users in . First, each user takes as input and computes the pair: Finally, select one user in as designated combiner, , other remaining users in send their above outputs to this designated combiner via public channel, and the aggregate multisignature is then built as follows: designated combiner takes as input  and chooses and outputs the aggregate multisignature , where and . Note that the designated combiner computes: it take as input aggregate multisignature , the description of aggregating set of users , messages , and , the algorithm computes , and note that he/she can compute from in . Finally, the aggregate multisignature is accepted (output ) if the following equation holds: Correctness. It is easy to show that Multisignature Scheme with Public Key Aggregation. In [25], the authors defined a multisignature scheme with public key aggregation, for which the public keys of users in the aggregating set are aggregated into a short aggregate public key in advance through an additional Key Aggregation algorithm. The advantage of this scheme is that the verifier can only take a constant-size of input (multisignature and aggregate public key) to verify the multisignature, which were showed in [25, 43] that this type of scheme can be applied well to the Bitcoin blockchain application. It is clear that our scheme is a multisignature scheme with public key aggregation as defined in [25], since we can add a new Key Aggregation algorithm which computes in advance the pair (, ) as an aggregate public key of the aggregating set . The verifier therefore just needs to take a constant-size of input to verify the validity of the signature. Note that we can use a short length of bits to describe the aggregating set . Remark 9. We also note that, in our scheme, for an aggregate signature, we do not need to require that all messages are different. 3.2. Efficiency Regarding the signature size, as in the construction and detailed in Table 1, the signature in our - scheme just contains four elements, three in the group and one in the group . If we decide to use NIST’s figures [53], then to achieve 80 bits or 128 bits of security (that means the adversary needs at least or operations to break the security of our scheme), each element in the group is about 160 bits or 256 bits and in the group is about 1024 bits or 3072 bits. This leads to the fact that the signature size of our scheme is 1504 bits or 3840 bits corresponding to the security parameter 80 bits or 128 bits, respectively. Similarly, the user’s full secret key size of our scheme is 640 bits or 1024 bits corresponding to the security parameter 80 bits or 128 bits, respectively. Regarding the signing phase, there are two cases:(1) = 1, the signing phase requires five exponentiations in , one exponentiation in , and two hash operations.(2), the signing phase requires exponentiations in , exponentiations in , and hash operations, where is the size of the aggregating set of signers. Regarding the verification phase, there are also two cases:(1) = 1, the verification phase requires two exponentiations in , three Pairings, and two hash operations.(2), the verification phase requires exponentiations in , three Pairings, and hash operations, where is the size of the aggregating set of signers. Overall, for both storage and computational complexity, our scheme can meet the requirements for a lightweight device, that means our scheme is suitable for resource-constrained applications such as Bitcoin blockchain, Healthcare, Multicast Acknowledgment Aggregation, vehicular ad hoc networks, wireless sensor networks, Internet of Things, and so on. 3.3. Security We give in this section two theorems which show that our - scheme is secure. 3.3.1. Secure against Strong Type I Adversary We first prove that our - scheme is secure against strong Type I adversary. Theorem 10. If there exists a strong Type I adversary defined in Game 1 (see Section 2.1.3), who breaks the security of our - scheme with probability , then there exists an adversary who can break the security of the Assumption 2 with the same probability . Proof. Suppose that is an adversary against our Assumption 2; we let act as a challenger in Game 1 (see Section 2.1.3), that means simulates and then uses the output of to break the security of the Assumption 2. At the beginning, has an instance of Assumption 2: , , , , , , , as well as the right to access two oracles and . Note that, for oracle , on input , output the triplet , , . For oracle , on input , choose a random and output , , , . Note that does not know the values , , and . To simulate , first receives from the target identity for which he/she intends to attack. chooses two hash functions whereand then gives , , , , , , to as public parameters. To simulate , must manage to answer oracles as follows. . simply requests oracle on input and directly forwards the result to . Note that, following Game 1 (see Section 2.1.3), cannot make query on . . chooses and gives to . . first checks whether the has been queried before; if it is not the case first make this query on itself, using the above descriptions. In both cases, knows ; thus gives to . . knows and then simply sets . . computes , and , then requests oracle on input to get the tuple:Since knows (even if has been replaced), he/she can easily compute the aggregate multisignature as the algorithm and returns to . We also note here that, in our algorithm, the output of and the outputs of users who are not designated combiner are sent via public channel (or made public), that means can request to know these outputs. Note that the output of isand the output of each user in isfor some . However, since knows and all , can easily answer by choosing and implicitly sets . Finally, outputs a tuple , , for which has never been queried; note that . From , where, is computed as in algorithm, and knows all ; it";"""dc.publisher"",""Hindawi"" ""og:image"",""https://images.hindawi.com/journals/scn/scn.banner.jpg"" ""og:image:width"",""600"" ""twitter:card"",""summary_large_image"" ""citation_journal_title"",""Security and Communication Networks"" ""language"",""en"" ""og:description"",""Aggregate signature scheme allows each signer to sign a different message and then all those signatures are aggregated into a single short signature. In contrast, multisignature scheme allows multisigners to jointly sign only one message. Aggregate multisignature scheme is a combination of both aforementioned signature schemes, where signers can choose to generate either a multisignature or an aggregate signature. This combination scheme has many concrete application scenarios such as Bitcoin blockchain, Healthcare, Multicast Acknowledgment Aggregation, and so on. On the other hand, to deal with the problems of expensive certificates in certified public key cryptography and key escrow in identity-based cryptography, the notion of certificateless public key cryptography has been introduced by Riyami and Paterson at Asiacrypt’03. In this paper, we propose the first certificateless aggregate multisignature scheme that achieves the constant-size of signature and is secure in the standard model under a generalization of the Diffie-Hellman exponent assumption. In our scheme, however, the signature is generated with the help of the authority."" ""prism.issn"",""1939-0114"" ""citation_issn"",""1939-0114"" ""dc:title"",""A Short Server-Aided Certificateless Aggregate Multisignature Scheme in the Standard Model"" ""Content-Encoding"",""UTF-8"" ""citation_pdf_url"",""https://downloads.hindawi.com/journals/scn/2019/3424890.pdf"" ""robots"",""index"" ""google-site-verification"",""AxEuDsL7vXGOxRe53-uFhOk2ODN0bbXMeuBy6Pfq4ww"" ""citation_author"",""Trinh, Viet Cuong"" ""dc.date"",""2019/03/18"" ""prism.volume"",""2019"" ""citation_doi"",""https://doi.org/10.1155/2019/3424890"" ""prism.publicationName"",""Security and Communication Networks"" ""dc.title"",""A Short Server-Aided Certificateless Aggregate Multisignature Scheme in the Standard Model"" ""Author"",""Hindawi"" ""citation_volume"",""2019"" ""dc.language"",""en"" ""Content-Language"",""en"" ""authors"",""Viet Cuong Trinh"" ""citation_title"",""A Short Server-Aided Certificateless Aggregate Multisignature Scheme in the Standard Model"" ""citation_year"",""2019"" ""citation_publisher"",""Hindawi"" ""dc.format"",""text/html"" ""description"",""Aggregate signature scheme allows each signer to sign a different message and then all those signatures are aggregated into a single short signature. In contrast, multisignature scheme allows multisigners to jointly sign only one message. Aggregate multisignature scheme is a combination of both aforementioned signature schemes, where signers can choose to generate either a multisignature or an aggregate signature. This combination scheme has many concrete application scenarios such as Bitcoin blockchain, Healthcare, Multicast Acknowledgment Aggregation, and so on. On the other hand, to deal with the problems of expensive certificates in certified public key cryptography and key escrow in identity-based cryptography, the notion of certificateless public key cryptography has been introduced by Riyami and Paterson at Asiacrypt’03. In this paper, we propose the first certificateless aggregate multisignature scheme that achieves the constant-size of signature and is secure in the standard model under a generalization of the Diffie-Hellman exponent assumption. In our scheme, however, the signature is generated with the help of the authority."" ""og:image:type"",""image/jpeg"" ""citation_date"",""2019/03/18"" ""title"",""A Short Server-Aided Certificateless Aggregate Multisignature Scheme in the Standard Model"",""A Short Server-Aided Certificateless Aggregate Multisignature Scheme in the Standard Model"" ""twitter:image"",""https://images.hindawi.com/journals/scn/scn.banner.jpg"" ""citation_online_date"",""2019/03/18"" ""twitter:site"",""website"" ""dc.type"",""Research Article"" ""dc.source"",""Security and Communication Networks"" ""dc.creator"",""Trinh, Viet Cuong"" ""citation_fulltext_html_url"",""https://www.hindawi.com/journals/scn/2019/3424890/"" ""prism.publicationDate"",""2019/03/18"" ""Content-Length"",""3178083"" ""citation_xml_url"",""https://downloads.hindawi.com/journals/scn/2019/3424890.xml"" ""Content-Type"",""text/html; charset=UTF-8"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""og:type"",""website"" ""twitter:title"",""A Short Server-Aided Certificateless Aggregate Multisignature Scheme in the Standard Model"" ""dc.description"",""Aggregate signature scheme allows each signer to sign a different message and then all those signatures are aggregated into a single short signature. In contrast, multisignature scheme allows multisigners to jointly sign only one message. Aggregate multisignature scheme is a combination of both aforementioned signature schemes, where signers can choose to generate either a multisignature or an aggregate signature. This combination scheme has many concrete application scenarios such as Bitcoin blockchain, Healthcare, Multicast Acknowledgment Aggregation, and so on. On the other hand, to deal with the problems of expensive certificates in certified public key cryptography and key escrow in identity-based cryptography, the notion of certificateless public key cryptography has been introduced by Riyami and Paterson at Asiacrypt’03. In this paper, we propose the first certificateless aggregate multisignature scheme that achieves the constant-size of signature and is secure in the standard model under a generalization of the Diffie-Hellman exponent assumption. In our scheme, however, the signature is generated with the help of the authority."" ""og:title"",""A Short Server-Aided Certificateless Aggregate Multisignature Scheme in the Standard Model"" ""citation_abstract"",""Aggregate signature scheme allows each signer to sign a different message and then all those signatures are aggregated into a single short signature. In contrast, multisignature scheme allows multisigners to jointly sign only one message. Aggregate multisignature scheme is a combination of both aforementioned signature schemes, where signers can choose to generate either a multisignature or an aggregate signature. This combination scheme has many concrete application scenarios such as Bitcoin blockchain, Healthcare, Multicast Acknowledgment Aggregation, and so on. On the other hand, to deal with the problems of expensive certificates in certified public key cryptography and key escrow in identity-based cryptography, the notion of certificateless public key cryptography has been introduced by Riyami and Paterson at Asiacrypt’03. In this paper, we propose the first certificateless aggregate multisignature scheme that achieves the constant-size of signature and is secure in the standard model under a generalization of the Diffie-Hellman exponent assumption. In our scheme, however, the signature is generated with the help of the authority."" ""og:image:height"",""315"" ""prism.doi"",""https://doi.org/10.1155/2019/3424890"" ""dcterms.issued"",""2019/03/18"" ""viewport"",""width=device-width, initial-scale=1"" ""twitter:description"",""Aggregate signature scheme allows each signer to sign a different message and then all those signatures are aggregated into a single short signature. In contrast, multisignature scheme allows multisigners to jointly sign only one message. Aggregate multisignature scheme is a combination of both aforementioned signature schemes, where signers can choose to generate either a multisignature or an aggregate signature. This combination scheme has many concrete application scenarios such as Bitcoin blockchain, Healthcare, Multicast Acknowledgment Aggregation, and so on. On the other hand, to deal with the problems of expensive certificates in certified public key cryptography and key escrow in identity-based cryptography, the notion of certificateless public key cryptography has been introduced by Riyami and Paterson at Asiacrypt’03. In this paper, we propose the first certificateless aggregate multisignature scheme that achieves the constant-size of signature and is secure in the standard model under a generalization of the Diffie-Hellman exponent assumption. In our scheme, however, the signature is generated with the help of the authority."" ""dc.identifier"",""https://doi.org/10.1155/2019/3424890"" ""prism.section"",""Research Article"" ""og:url"",""https://www.hindawi.com/journals/scn/2019/3424890/"" ";https://scholar.google.com/scholar?start=900&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094621-998;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[PDF][PDF] ?????????? ??????-????????? ?? ?????? ?????????: ????????? ????????? ?????-????????? ? ???????????????? ?????;?? ???????? ; ????????????? ?????????: ????. ????. ???? ?? …, 2019 nsuem.ru;;"… We argue in a favour of the following thesis: a concept of a smart- contract is not new and the blockchain is only one variant for smart-contract implementation along with a trusted third party. Key words: smart-contract, blockchain, cryptocurrency, business- process, oracle …";Autres articles;;[PDF] nsuem.ru;https://nsuem.ru/library/resources/sborniki-s-mezhdunarodnym-uchastiem/%D0%9F%D1%80%D0%B0%D0%B2%D0%BE%20%D0%B8%20%D1%8D%D0%BA%D0%BE%D0%BD%D0%BE%D0%BC%D0%B8%D0%BA%D0%B0_%D0%A71_%D0%A1%D0%B0%D0%B2%D1%87%D0%B5%D0%BD%D0%BA%D0%BE_%D1%81%D0%B1.%20%D1%81%D1%82%D0%B0%D1%82%D0%B5%D0%B9_%D1%8E%D1%80%D0%B8%D0%B4_%D1%84%D0%BE%D1%80%D1%83%D0%BC_2019.pdf#page=250;;;https://scholar.google.com/scholar?start=810&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094658-1155;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Knowledge Graph-Enhanced Blockchains by Integrating a Graph-Data Service-Layer;BA Naim, W Klas ; … Sixth International Conference on Internet of …, 2019 ieeexplore.ieee.org;;"… Abstract— No doubt that blockchain technology has revolutionized a decentralized consensus technique allowing for increased security and trust among people and machines … Keywords— Semantic Blockchain, Blockchain reasoning, Data Graphs …";Cité 1 fois;Les 2 versions;[PDF] ieee.org;https://ieeexplore.ieee.org/iel7/8924808/8939160/08939173.pdf?casa_token=37kb0D1KZNEAAAAA:RavOf1w-VUyzyr3Qtvfc27EI6hZy7icFEd19V_As29qTRxmVhq9XTQeLL3ObyQAtlwP_HRbhqCM;" Skip to Main Content IEEE Account Change Username/Password Update Address Purchase Details Payment Options Order History View Purchased Documents Profile Information Communications Preferences Profession and Education Technical Interests Need Help? US & Canada: +1 800 678 4333 Worldwide: +1 732 981 0060 Contact & Support About IEEE Xplore Contact Us Help Accessibility Terms of Use Nondiscrimination Policy Sitemap Privacy & Opting Out of Cookies A not-for-profit organization, IEEE is the world's largest technical professional organization dedicated to advancing technology for the benefit of humanity. Š Copyright 2021 IEEE - All rights reserved. Use of this web site signifies your agreement to the terms and conditions. ";"""og:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""twitter:title"",""Knowledge Graph-Enhanced Blockchains by Integrating a Graph-Data Service-Layer"" ""twitter:card"",""summary"" ""Description"",""No doubt that blockchain technology has revolutionized a decentralized consensus technique allowing for increased security and trust among people and machines. "" ""og:title"",""Knowledge Graph-Enhanced Blockchains by Integrating a Graph-Data Service-Layer"" ""resourceName"",""08939173.pdf"" ""language"",""en"" ""title"",""Knowledge Graph-Enhanced Blockchains by Integrating a Graph-Data Service-Layer | IEEE Conference Publication | IEEE Xplore"" ""og:description"",""No doubt that blockchain technology has revolutionized a decentralized consensus technique allowing for increased security and trust among people and machines. This has paved the way for many and various types of applications to make use of the notions of this promising technology. These applications are concerned with persisting historically attested and tamper resistant datasets. Having these datasets persisted calls for techniques that fulfill the emerging requirements for managing these stored datasets efficiently. This includes providing efficient and direct ways to access, query, interlink, and retrieve those datasets. The absence of such solutions imposes many hindrances to make use of the full extent of the blockchain technology. In this paper, we introduce our approach which aims at adding a data-graph service-layer to the component stack of a blockchain system. This added service-layer employs data graphs such as RDF-encoded data, reasoning, and the underlying inference rules allowing to implement applications with advanced requirements for sophisticated data models that need to be built on top of blockchain infrastructure."" ""twitter:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-UA-Compatible"",""IE=Edge"" ""viewport"",""width=device-width, initial-scale=1.0"" ""dc:title"",""Knowledge Graph-Enhanced Blockchains by Integrating a Graph-Data Service-Layer | IEEE Conference Publication | IEEE Xplore"" ""twitter:description"",""No doubt that blockchain technology has revolutionized a decentralized consensus technique allowing for increased security and trust among people and machines. This has paved the way for many and various types of applications to make use of the notions of this promising technology. These applications are concerned with persisting historically attested and tamper resistant datasets. Having these datasets persisted calls for techniques that fulfill the emerging requirements for managing these stored datasets efficiently. This includes providing efficient and direct ways to access, query, interlink, and retrieve those datasets. The absence of such solutions imposes many hindrances to make use of the full extent of the blockchain technology. In this paper, we introduce our approach which aims at adding a data-graph service-layer to the component stack of a blockchain system. This added service-layer employs data graphs such as RDF-encoded data, reasoning, and the underlying inference rules allowing to implement applications with advanced requirements for sophisticated data models that need to be built on top of blockchain infrastructure."" ""Content-Encoding"",""UTF-8"" ""Content-Type-Hint"",""text/html; charset=utf-8"" ""Content-Length"",""41420"" ""Content-Language"",""en-US"" ""Content-Type"",""text/html; charset=UTF-8"" ";https://scholar.google.com/scholar?start=970&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094621-995;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;A survey on consensus mechanisms and mining strategy management in blockchain networks;W Wang, DT Hoang, P Hu, Z Xiong, D Niyato… ; IEEE …, 2019 ieeexplore.ieee.org;;"… ing immutable ledgers as well as platforms for data-driven autonomous organization. Proposed by the famous grassroot cryptocurrency project “Bitcoin” [1], the blockchain network VOLUME 4, 2016 1 Page 2. 2169-3536 (c) 2018 IEEE …";Cité 386 fois;D Niyato;[PDF] ieee.org;https://ieeexplore.ieee.org/iel7/6287639/6514899/08629877.pdf;" ";"""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""dc:title"",""IEEE Xplore Full-Text PDF:"" ""Content-Encoding"",""UTF-8"" ""resourceName"",""08629877.pdf"" ""language"",""es"" ""Content-Length"",""2565"" ""title"",""IEEE Xplore Full-Text PDF:"" ""Content-Language"",""en-US"" ""Content-Type"",""text/html; charset=UTF-8"" ";https://scholar.google.com/scholar?start=810&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094607-931;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[HTML][HTML] On tight security proofs for Schnorr signatures;N Fleischhacker, T Jager, D Schröder ; Journal of Cryptology, 2019 Springer;United States of America;"… for Schnorr signatures into an algorithm solving the discrete logarithm problem must lose a factor of at least \(q^{1/2}\). Their result is quite strong, as they rule out reductions even for adversaries that do not have access to a signing oracle and receive … At Crypto 2008 Garg et al …";Cité 7 fois;Les 3 versions;[HTML] springer.com;https://link.springer.com/article/10.1007/s00145-019-09311-5;" Advertisement [image: SpringerLink] Search Log in Search SpringerLink Search On Tight Security Proofs for Schnorr Signatures Download PDF Download PDF Published: 06 February 2019 On Tight Security Proofs for Schnorr Signatures Nils Fleischhacker1, Tibor Jager2 & Dominique SchrĂśder3  Journal of Cryptology volume 32, pages566–599(2019)Cite this article 771 Accesses 5 Citations Metrics details Abstract The Schnorr signature scheme is the most efficient signature scheme based on the discrete logarithm problem and a long line of research investigates the existence of a tight security reduction for this scheme in the random oracle model. Almost all recent works present lower tightness bounds and most recently Seurin EUROCRYPT 2012 showed that under certain assumptions the non-tight security proof for Schnorr signatures in the random oracle by Pointcheval and Stern EUROCRYPT’96 is essentially optimal. All previous works in this direction rule out tight reductions from the (one-more) discrete logarithm problem. In this paper, we introduce a new meta-reduction technique, which shows lower bounds for the large and very natural class of generic reductions. A generic reduction is independent of a particular representation of group elements. Most reductions in state-of-the-art security proofs have this property. It is desirable, because then the reduction applies generically to any concrete instantiation of the group. Our approach shows unconditionally that there is no tight generic reduction from any natural non-interactive computational problem \(\Pi \) defined over algebraic groups to breaking Schnorr signatures, unless solving \(\Pi \) is easy. In an additional application of the new meta-reduction technique, we also unconditionally rule out any (even non-tight) generic reduction from natural non-interactive computational problems defined over algebraic groups to breaking Schnorr signatures in the non-programmable random oracle model. Motivation The security of a cryptosystem is nowadays usually confirmed by giving a security proof. Typically, such a proof describes a reduction from some (assumed-to-be-)hard computational problem to breaking a defined security property of the cryptosystem. A reduction is considered as tight, if the reduction solving the hard computational problem has essentially the same running time and success probability as the attacker on the cryptosystem. Essentially, a tight reduction means that a successful attacker can be turned into an efficient algorithm for the hard computational problem without any significant increase in the running time and/or significant loss in the success probability.Footnote 1 The tightness of a reduction thus determines the strength of the security guarantees provided by the security proof: A non-tight reduction gives weaker security guarantees than a tight one. Moreover, tightness of the reduction affects the efficiency of the cryptosystem when instantiated in practice: A tighter reduction allows to securely use smaller parameters (shorter moduli, a smaller group size, etc.). Therefore, it is very desirable for a cryptosystem to have a tight security reduction. In the domain of digital signatures, tight reductions are known for many fundamental schemes, such as Rabin/Williams signatures [5], many strong-RSA-based signatures [28], and RSA Full-Domain Hash [20]. For Schnorr signatures [29, 30], however, the story is a bit different. Schnorr’s scheme is one of the most fundamental public-key cryptosystems and Pointcheval and Stern have shown that it is provably secure, assuming the hardness of the discrete logarithm (DL) problem [25] in the random oracle model (ROM) [3]. However, the reduction in Pointcheval and Stern from the discrete logarithm problem to breaking Schnorr signatures is not tight: It loses a factor of q in the time-to-success ratio, where q is the number of random oracle queries performed by the forger. This has lead to a long line of research investigating the existence of tighter security proofs for Schnorr signatures. At Asiacrypt 2005 Paillier and Vergnaud [24] gave a first lower bound showing that any algebraic reduction (even in the ROM) converting a forger for Schnorr signatures into an algorithm solving the discrete logarithm problem must lose a factor of at least \(q^{1/2}\). Their result is quite strong, as they rule out reductions even for adversaries that do not have access to a signing oracle and receive as input the message for which they must forge (UUF-NMA, see Sect. 3.1 for a formal definition). However, their result also has some limitations: It holds only under the interactive one-more discrete logarithm assumption, they only consider algebraic reductions, and they only rule out tight reductions from the (one-more) discrete logarithm problem. At Crypto 2008 Garg et al. [18] refined this result, by improving the bound from \(q^{1/2}\) to \(q^{2/3}\) with a new analysis and show that this bound is optimal if the meta-reduction follows a particular approach for simulating the forger. At Eurocrypt 2012, Seurin [31] finally closed the gap between the security proof of Pointcheval and Stern [25] and known impossibility results, by describing a novel elaborate simulation strategy for the forger and providing a new analysis. All previous works [18, 24, 31] on the existence of tight security proofs for Schnorr signatures have the following in common: 1. They only rule out the existence of tight reductions from specific strong computational problems, namely the (one-more) discrete logarithm problem [2]. Reduction from weaker problems such as, e.g., the computational or decisional Diffie–Hellman problem (CDH/DDH) are not considered. 2. The impossibility results are not unconditional but instead are themselves only valid under the very strong OMDL hardness assumption. 3. They hold only with respect to a limited (but natural) class of reductions, so-called algebraic reductions. It is not entirely unlikely that first the nonexistence of a tight reduction from strong computational problems is proven, and later a tight reduction from some weaker problem is found. A concrete recent example in the domain of digital signatures where this has happened is RSA Full-Domain Hash (RSA-FDH) [4]. First, at Crypto 2000 Coron [8] described a non-tight reduction from solving the RSA-problem to breaking the security of RSA-FDH, and at Eurocrypt 2002 [9] showed that under certain conditions no tighter reduction from RSA can exist. Later, at Eurocrypt 2012, Kakvi and Kiltz [20] gave a tight reduction from solving a weaker problem, the so-called Phi-Hiding problem. The leverage, used by Kakvi and Kiltz to circumvent the aforementioned impossibility results, was to assume hardness of a weaker computational problem, i.e., making a stronger assumption. As all previous works rule out only tight reductions from strong computational problems such as DL and OMDL, this might happen again with Schnorr signatures and the following question was left open for 25 years: Does a tight security proof for Schnorr signatures exist based on any weaker computational problem? Contribution In this work, we answer this question in the negative for an overwhelming class of weaker problems, ruling out the existence of tight reductions for virtually all natural non-interactive computational problems defined over abstract algebraic groups. Like previous works, we consider universal unforgeability under no-message attacks (UUF-NMA-security). Moreover, our results hold unconditionally. In contrast to previous works, we consider generic reductions instead of algebraic reductions, but we believe that this restriction is marginal: The motivation of considering only algebraic reductions from [24] applies equally to generic reductions. In particular, to the best of our knowledge all known examples of algebraic reductions are also generic. Fig. 1[image: figure1] Procedures implementing the generic group oracle Full size image Our main technical contribution is a new approach for the simulation of a forger in a meta-reduction, i.e., “a reduction against the reduction”, which differs from previous works [18, 24, 31] and which allows us to show the following main result: Theorem 1 (Informal) For almost any natural non-interactive computational problem \(\Pi \), there is no tight generic reduction from solving \(\Pi \) to breaking the universal unforgeability under no-message attacks of Schnorr signatures. Technical approach We begin with the hypothesis that there exists a tight generic reduction \(\mathcal {R}\) from some hard non-interactive problem \(\Pi \) to the UUF-NMA-security of Schnorr signatures. Then we show that under this hypothesis there exists an efficient algorithm \(\mathcal {M}\), a meta-reduction, which efficiently solves \(\Pi \). This implies that the hypothesis is false. The meta-reduction \(\mathcal {M}= \mathcal {M}^\mathcal {R}\) runs \(\mathcal {R}\) as a subroutine, by efficiently simulating the forger \(\mathcal {A}\) for the reduction \(\mathcal {R}\). All previous works in this direction [18, 24, 31] followed essentially the same approach. The difficulty with meta-reductions is that \(\mathcal {M}= \mathcal {M}^\mathcal {R}\) must efficiently simulate the forger \(\mathcal {A}\) for \(\mathcal {R}\). Previous works resolved this by using a discrete logarithm oracle provided by the OMDL assumption, which allows to efficiently compute valid signatures in the simulation of forger \(\mathcal {A}\). This is also the reason why all previous results are only valid under the OMDL assumption and were only able to rule out reductions from the discrete log or the OMDL problem. To overcome these limitations, a new simulation technique is necessary. We revisit the simulation strategy of \(\mathcal {A}\) applied in known meta-reductions and put forward a new technique for proving impossibility results. It turns out that considering generic reductions provides additional leverage for simulating a successful forger efficiently, essentially by suitably re-programming the group representation while computing valid signatures. The technical challenge is to prove that the reduction remains oblivious to these changes to the group representation during the simulation, except for some negligible probability. We show how to prove this by adopting the “low polynomial degree” proof technique of Shoup [32], which was originally introduced to analyze the complexity of certain algorithms for the discrete logarithm problem, to the setting considered in this paper. This new approach turns out to be extremely powerful, as it allows to rule out reductions from any non-interactive representation-invariant computational problem. Since almost all common hardness assumptions in algebraic groups (e.g., DL, CDH, DDH, DLIN, etc.) are based on representation-invariant computational problems, we are able to rule out tight generic reductions from virtually any natural computational problem, without making any additional assumptions. Even though we apply it specifically to Schnorr signatures, the overall approach is general. We expect that it is applicable to other cryptosystems as well. Generic reductions vs. algebraic reductions Similar to algebraic reductions, a generic reduction performs only group operations. The main difference is that the sequence of group operations performed by an algebraic reduction may (but, to our best knowledge, in all known examples does not) depend on the particular representation of group elements. A generic reduction is required to work essentially identical for any representation of group elements. Generic reductions are by definition more restrictive than algebraic ones, we explain below why we do not consider this restriction as very significant. An obvious question arising with our work is the relation between algebraic and generic reductions. Is a lower bound for generic reductions much less meaningful than a bound for algebraic reductions? We argue that the difference is not very significant. The restriction to algebraic reductions was motivated by the fact most reductions in known security proofs treat the group as a black-box, and thus are algebraic [18, 24, 31]. However, the same motivation applies to generic reductions as well, with exactly the same arguments. In particular, virtually all examples of algebraic reductions in the literature are also generic. The vast majority of reductions in common security proofs for group-based cryptosystems treats the underlying group as a black-box (i.e., works for any representation of the group), and thus is generic. This is a very desirable feature, because then the cryptosystem can securely be instantiated with any group in which the underlying computational problem is hard. In contrast, representation-specific security proofs would require to re-prove security for any particular group representation the scheme is used with. Therefore, considering generic reductions seems very reasonable. Generic reductions versus security proofs in the generic group model We stress that we model only the reduction \(\mathcal {R}\) as a generic algorithm. We do not restrict the forger \(\mathcal {A}\) in this way, as commonly done in security proofs in the generic group model. It may not be obvious that this is possible, because \(\mathcal {A}\) expects as input group elements in some specific encoding, while \(\mathcal {R}\) can only specify them in the form of random encodings. However, the reduction only gets access to the adversary as a black-box, which means that the adversary is external to the reduction, and the environment in which the reduction runs can easily translate between the encodings used by reduction and adversary. Further, note that while some reduction from a problem \(\Pi \) may be generic, the actual algorithm solving said problem is not \(\mathcal {R}\) itself, but the composition of \(\mathcal {R}\) and \(\mathcal {A}\) which may very well be non-generic. In particular, this means that any results about equivalence of interesting problems in the generic group model do not apply to the reduction. See Sect. 3.4 and Fig. 2 for further explanation. Generic reductions in the non-programmable random oracle model An orthogonal question to the one answered in our main result is whether security proofs—even non-tight ones—for Schnorr signatures exist in weaker models. Paillier and Vergnaud analyzed the security of Schnorr Signatures in the standard model [24]. In particular, they presented an impossibility result for security proofs based on algebraic reductions and the discrete logarithm problem. In a similar vein, Fischlin and Fleischhacker [14] presented a result about the security of Schnorr signatures in the non-programmable random oracle model. Essentially they prove that in the non-programmable ROM [15] no reduction from the discrete logarithm problem can exist that potentially invokes the adversary several times but always on the same input. This class is limited, but encompasses all forking lemma style reductions used to prove Schnorr signatures secure in the programmable ROM. Both these results suffer from the same shortcomings already discussed earlier. They only show impossibility for the discrete logarithm problem and they are themselves not unconditional, in that they rely on the hardness of the one-more discrete logarithm problem. By applying our new simulation technique to reductions in the non-programmable random oracle model, we continue this line of research and show the following result Theorem 2 (Informal) For almost any natural non-interactive computational problem \(\Pi \), there is no (even non-tight) generic reduction from solving \(\Pi \) to breaking the universal unforgeability under no-message attacks of Schnorr signatures in the non-programmable random oracle model. Comparison to [16] The conference version of this work [16] (published at Asiacrypt 2014) claimed that Theorem 1 holds even for interactive computational problems. This was incorrect, as pointed out by Kiltz et al. [21], who in fact were able to give a tight security proof based on the hardness of an—arguably somewhat artificial—interactive computational problem. The question of the existence of a tight security reduction based on a non-interactive computational problem (which is of course much more desirable) remains open. The present version of this paper corrects the flaw from the conference version, and thus shows the inexistence of such reductions. Moreover, we have extended this version with Theorem 2 that unconditionally rules out any (even non-tight) generic reduction in certain settings. Further related work Dodis et al. [10] showed that it is impossible to reduce any computational problem to breaking the security of RSA-FDH in a model where the RSA-group \({\mathbb {Z}}_N^*\) is modeled as a generic group. This result extends [11]. Coron [9] considered the existence of tight security reductions for RSA-FDH signatures [4]. This result was generalized by Dodis and Reyzin [12] and later refined by Kiltz and Kakvi [20]. In the context of Schnorr signatures, Neven et al. [23] described necessary conditions the hash function must meet in order to provide existential unforgeability under chosen-message attacks (EUF-CMA) and showed that these conditions are sufficient if the forger (not the reduction!) is modeled as a generic group algorithm. Several works studied the security of the Schnorr signature scheme in the multi-user setting, showing essentially that single-user security tightly implies multi-user security [6, 17, 21]. Preliminaries Notation If S is a set, we write \(s {\leftarrow \!\!{\tiny {\$}}}\,S\) to denote the action of sampling a uniformly random element s from S. If A is a probabilistic algorithm, we denote with \(a {\leftarrow \!\!{\tiny {\$}}}\,A\) the action of computing a by running A. We denote with \(\emptyset \) the empty string, the empty set, as well as the empty list, the meaning will always be clear from the context. We write \(\left[ n\right] \) to denote the set of integers from 1 to n, i.e., \(\left[ n\right] := \{1,\ldots ,n\}\). Schnorr Signatures Let \({\mathbb {G}}\) be a group of order p with generator g, and let \(H : {\mathbb {G}}\times \{0,1\}^k\rightarrow {\mathbb {Z}}_p\) be a hash function. The Schnorr signature scheme [29, 30] consists of the following efficient algorithms \((\textsf {KGen},\textsf {Sig},\textsf {Vf})\). \(\textsf {KGen}(g)\):: The key generation algorithm takes as input a generator g of \({\mathbb {G}}\). It chooses \(\mathsf {sk}{\leftarrow \!\!{\tiny {\$}}}\,{\mathbb {Z}}_p\), computes \(\mathsf {pk}:= g^\mathsf {sk}\), and outputs \((\mathsf {pk},\mathsf {sk})\). \(\textsf {Sig}(\mathsf {sk},m)\):: The input of the signing algorithm is a private key \(\mathsf {sk}\) and a message \(m \in \{0,1\}^k\). It chooses a random integer \(r {\leftarrow \!\!{\tiny {\$}}}\,{\mathbb {Z}}_p\), sets \(R := g^r\) as well as \(c := \mathsf {H}(R,m)\), and computes \(y := \mathsf {sk}\cdot c + r \bmod p\). It outputs \(\sigma =(R,y)\). \(\textsf {Vf}(\mathsf {pk},m,(R,y))\):: The verification algorithm outputs the truth value of \(g^y {\mathop {=}\limits ^{\! \tiny ? }}\!\mathsf {pk}^c \cdot R\), where \(c = \mathsf {H}(R,m)\). Remark 3 The above variant of Schnorr signatures is obtained by a straightforward application of the Fiat–Shamir heuristic [13] to Schnorr’s ID scheme. There exists an equivalent, in practice often more efficient variant of Schnorr signatures, where a signature consists of \(\sigma =(c,y)\) (computed exactly as above), and the verification algorithm outputs the truth value of \(c {\mathop {=}\limits ^{\! \tiny ? }}\!\mathsf {H}(\mathsf {pk}^c/g^y,m)\). Both variants are equivalent, as one can efficiently (and tightly) convert a valid signature from one variant into a valid signature of the other. In particular, our tightness bounds cover both variants, but the former is slightly more convenient to use in our proofs. Universal Unforgeability under No-Message Attacks Consider the following security experiment involving a signature scheme \((\textsf {KGen},\textsf {Sig},\textsf {Vf})\), an attacker \(\mathcal {A}\), and a challenger \(\mathcal {C}\). 1. The challenger \(\mathcal {C}\) computes a key-pair \((\mathsf {pk},\mathsf {sk}) {\leftarrow \!\!{\tiny {\$}}}\,\textsf {KGen}(g)\) and chooses a message \(m {\leftarrow \!\!{\tiny {\$}}}\,\{0,1\}^k\) uniformly at random. It invokes \(\mathcal {A}\) on input \((\mathsf {pk},m)\). 2. Eventually, \(\mathcal {A}\) stops, outputting a signature \(\sigma \). Definition 4 We say that \(\mathcal {A}\)\((\epsilon ,t)\)-breaks the UUF-NMA-security of \((\textsf {KGen},\textsf {Sig},\textsf {Vf})\), if \(\mathcal {A}\) runs in time at most t and [image: ] where randomness is taken over the random choice of \(\mathsf {pk}\), m, and \(\mathcal {A}\)’s random coins. Note that UUF-NMA-security is a very weak security goal for digital signatures. Since we are going to prove a negative result, this is not a limitation, but instead, makes our result even stronger. In fact, if we rule out reductions from some problem \(\Pi \) to forging signatures in the sense of UUF-NMA, then the impossibility clearly holds for stronger security notions, such as existential unforgeability under adaptive chosen-message attacks [19], too. Computational Problems Let \({\mathbb {G}}\) be a cyclic group of order p and \(g \in {\mathbb {G}}\) a generator of \({\mathbb {G}}\). We write \(\mathsf {desc}({\mathbb {G}},g)\) to denote the list of group elements \( \mathsf {desc}({\mathbb {G}},g) = (g,g^2,\ldots ,g^p) \in {\mathbb {G}}^p. \) We say that \(\mathsf {desc}({\mathbb {G}},g)\) is the enumerating description of \({\mathbb {G}}\) with respect to g. Definition 5 A non-interactive computational problem\(\Pi \) in \({\mathbb {G}}\) is specified by two (computationally unbounded) procedures \(\Pi = ({\mathcal {G}}_\Pi ,{\mathcal {V}}_\Pi )\), with the following syntax. \({{\mathcal {G}}_\Pi (\mathsf {desc}({\mathbb {G}},g))}\) : takes as input an enumerating description of \({\mathbb {G}}\), and outputs a state st and a problem instance (the challenge) \(C = (C_1,\ldots ,C_u,C') \in {\mathbb {G}}^u\times \{0,1\}^*\). We assume in the sequel that at least \(C_1\) is a generator of \({\mathbb {G}}\). \({\mathcal {V}}_\Pi (\mathsf {desc}({\mathbb {G}},g),st,S,C)\) : takes as input \((\mathsf {desc}({\mathbb {G}},g),st,C)\) as defined above, and \(S = (S_1,\ldots ,S_w,S') \in {\mathbb {G}}^w\times \{0,1\}^*\). It outputs 0 or 1. The exact description and distribution of st, C, S and the concrete values of u and w depend on the considered computational problem. Definition 6 An algorithm \(\mathcal {A}\)\((\epsilon ,t)\)-solves the non-interactive computational problem \(\Pi \) if \(\mathcal {A}\) has running time at most t and wins the following interactive game against a (computationally unbounded) challenger \(\mathcal {C}\)with probability at least \(\epsilon \), where the game is defined as follows: 1. The challenger \(\mathcal {C}\) generates an instance of the problem \((st,C) {\leftarrow \!\!{\tiny {\$}}}\,{\mathcal {G}}_\Pi (\mathsf {desc}({\mathbb {G}},g))\) and invokes \(\mathcal {A}\) on input C. 2. Eventually, algorithm \(\mathcal {A}\) outputs a candidate solution S. The algorithm \(\mathcal {A}\) wins the game (i.e., solves the computational problem correctly) if and only if \({\mathcal {V}}_\Pi (\mathsf {desc}({\mathbb {G}},g),st,C,S) = 1\). Example 7 The discrete logarithm problem in \({\mathbb {G}}\) is specified by the following procedures. \({\mathcal {G}}_\Pi (\mathsf {desc}({\mathbb {G}},g))\) outputs (st, C) with \(st = \emptyset \) and \(C = (g,h)\), where \(h {\leftarrow \!\!{\tiny {\$}}}\,{\mathbb {G}}\) is a random group element. \({\mathcal {V}}_\Pi (\mathsf {desc}({\mathbb {G}},g),st,C,S)\) interprets \(S = S' \in \{0,1\}^*\) canonically as an integer in \({\mathbb {Z}}_p\), and outputs 1 iff \(h = g^{S'}\). Example 8 The UUF-NMA-forgery problem for Schnorr signatures in \({\mathbb {G}}\) with hash function \(\mathsf {H}\) is specified by the following procedures. \({\mathcal {G}}_\Pi (\mathsf {desc}({\mathbb {G}},g))\) outputs (st, C) with \(st=m\) and \(C = (g,\mathsf {pk},m) \in {\mathbb {G}}^2\times \{0,1\}^k\), where \(\mathsf {pk}= g^\mathsf {sk}\) for \(\mathsf {sk}{\leftarrow \!\!{\tiny {\$}}}\,{\mathbb {Z}}_p\) and \(m {\leftarrow \!\!{\tiny {\$}}}\,\{0,1\}^k\). The verification algorithm \({\mathcal {V}}_\Pi (\mathsf {desc}({\mathbb {G}},g),st,C,S)\) parses S as \(S = (R,y) \in {\mathbb {G}}\times {\mathbb {Z}}_p\), sets \(c := \mathsf {H}(R,st)\), and outputs 1 if and only if \(\mathsf {pk}^c\cdot R = g^y\). Representation-Invariant Computational Problems In our impossibility results given below, we want to rule out the existence of a tight reduction from as large a class of computational problems as possible. Ideally, we want to rule out the existence of a tight reduction from any computational problem that meets Definition 5. However, it is easy to see that this is not achievable in this generality: as Example 8 shows, the problem of forging Schnorr signatures itself is a problem that meets Definition 5. But necessarily there exists a trivial tight reduction from the problem of forging Schnorr signatures to the problem of forging Schnorr signatures! Therefore, we need to restrict the class of considered computational problems to exclude such trivial, artificial problems. We introduce the notion of representation-invariant computational problems. This class of problems captures virtually any reasonable computational problem defined over an abstract algebraic group except for a few extremely artificial problems. In particular, the problem of forging Schnorr signatures is not contained in this class (see Example 11 below). Intuitively, a computational problem is representation-invariant, if a valid solution to a given problem instance remains valid even if the representation of group elements in challenges and solutions is converted to a different representation of the same group. More formally we define it as follows: Definition 9 We say that \(\Pi \) is representation-invariant, if and only if for all isomorphic groups \({\mathbb {G}},{{\hat{{\mathbb {G}}}}}\) and for all generators \(g \in {\mathbb {G}}\), all \(C = (C_1,\dots ,C_u,C') {\leftarrow \!\!{\tiny {\$}}}\,{\mathcal {G}}_\Pi (\mathsf {desc}({\mathbb {G}},g))\), all \(st=(st_1,\ldots ,st_t,st') \in {\mathbb {G}}^t \times \{0,1\}^*\), and all \(S=(S_1,\ldots ,S_w,S') \in {\mathbb {G}}^w \times \{0,1\}^*\) holds that \( {\mathcal {V}}_\Pi (\mathsf {desc}({\mathbb {G}},g),st,C,S) = 1 \iff {\mathcal {V}}_\Pi (\mathsf {desc}({{\hat{{\mathbb {G}}}}},{\hat{g}}),\hat{st},{\hat{C}},{\hat{S}}) = 1, \) where \({\hat{g}} = \phi (g) \in {\mathbb {G}}'\), \({\hat{C}} = (\phi (C_1),\dots ,\phi (C_u),C')\), \(\hat{st}=(\phi (st_1),\ldots ,\phi (st_t),st')\), and \({\hat{S}}=(\phi (S_1),\ldots ,\phi (S_w),S')\). Observe that this definition only demands the existence of an isomorphism \(\phi : {\mathbb {G}}\rightarrow {{\hat{{\mathbb {G}}}}}\) and not that it is efficiently computable. Example 10 The discrete logarithm problem is representation-invariant. Let \(C = (g,h) \in {\mathbb {G}}^2\) be a discrete log challenge, with corresponding solution \(S' \in \{0,1\}^*\) such that \(S'\) canonically interpreted as an integer \(S' \in {\mathbb {Z}}_p\) satisfies \(g^{S'} = h \in {\mathbb {G}}\). Let \(\phi : {\mathbb {G}}\rightarrow {{\hat{{\mathbb {G}}}}}\) be an isomorphism, and let \(({\hat{g}},{\hat{h}}) := (\phi (g),\phi (h))\). Then it clearly holds that \({\hat{g}}^{{\hat{S}}'} = {\hat{h}}\), where \(\hat{S'} = S'\). Virtually all common hardness assumptions in algebraic groups are based on representation-invariant computational problems. Popular examples are, for instance, the discrete log problem (DL), computational Diffie–Hellman (CDH), decisional Diffie–Hellman (DDH), decision linear (DLIN), and so on. Example 11 The UUF-NMA-forgery problem for Schnorr signatures with hash function H is not representation-invariant for any hash function H. Let \(C = (g,\mathsf {pk},m) {\leftarrow \!\!{\tiny {\$}}}\, {\mathcal {G}}_\Pi (\mathsf {desc}({\mathbb {G}},g))\) be a challenge with solution \(S = (R,y) \in {\mathbb {G}}\times {\mathbb {Z}}_p\) satisfying \(\mathsf {pk}^c\cdot R = g^y\), where \(c := \mathsf {H}(R,m)\). Let \({{\hat{{\mathbb {G}}}}}\) be a group isomorphic to \({\mat";"""dc.publisher"",""Springer"" ""og:image"",""https://media.springernature.com/w200/springer-static/cover/journal/145.jpg"" ""twitter:card"",""summary"" ""og:site_name"",""Journal of Cryptology"" ""citation_reference"",""M. Abdalla, M. Bellare, P. Rogaway, The oracle Diffie–Hellman assumptions and an analysis of DHIES, in David Naccache, editor, Topics in Cryptology—CT-RSA 2001, Volume 2020 of Lecture Notes in Computer Science, San Francisco, CA, USA (Springer, Heidelberg, 2001), pp. 143–158"",""citation_journal_title=Journal of Cryptology; citation_title=The one-more-RSA-inversion problems and the security of Chaum’s blind signature scheme; citation_author=Mihir Bellare, Chanathip Namprempre, David Pointcheval, Michael Semanko; citation_volume=16; citation_issue=3; citation_publication_date=2003; citation_pages=185-215; citation_doi=10.1007/s00145-002-0120-1; citation_id=CR2"",""M. Bellare, P. Rogaway. Random oracles are practical: a paradigm for designing efficient protocols, in V. Ashby, editor, ACM CCS 93: 1st Conference on Computer and Communications Security, Fairfax, Virginia, USA (ACM Press, London, 1993), pp 62–73"",""M. Bellare, P. Rogaway. The exact security of digital signatures: how to sign with RSA and Rabin, in Ueli M. Maurer, editor, Advances in Cryptology—EUROCRYPT’96, Volume 1070 of Lecture Notes in Computer Science, Saragossa, Spain (Springer, Heidelberg, 1996), pp. 399–416"",""D.J. Bernstein. Proving tight security for Rabin–Williams signatures, in Nigel P. Smart, editor, Advances in Cryptology—EUROCRYPT 2008, Volume 4965 of Lecture Notes in Computer Science, Istanbul, Turkey (Springer, Heidelberg, 2008), pp. 70–87"",""D.J. Bernstein. Multi-user schnorr security, revisited. Cryptology ePrint Archive, Report 2015/996. https://eprint.iacr.org/2015/996 (2015)"",""D. Boneh, X. Boyen, Secure identity based encryption without random oracles, in Matthew Franklin, editor, Advances in Cryptology—CRYPTO 2004, Volume 3152 of Lecture Notes in Computer Science, Santa Barbara, CA, USA (Springer, Heidelberg, 2004), pp. 443–459"",""J.-S. Coron, On the exact security of full domain hash, in Mihir Bellare, editor, Advances in Cryptology—CRYPTO 2000, Volume 1880 of Lecture Notes in Computer Science, Santa Barbara, CA, USA (Springer, Heidelberg, 2000), pp. 229–235"",""J.-S. Coron, Optimal security proofs for PSS and other signature schemes, in Lars R. Knudsen, editor, Advances in Cryptology—EUROCRYPT 2002, Volume 2332 of Lecture Notes in Computer Science, Amsterdam, The Netherlands (Springer, Heidelberg, 2002), pp.272–287"",""Y. Dodis, I. Haitner, A. Tentes, On the instantiability of hash-and-sign RSA signatures, in Ronald Cramer, editor, TCC 2012: 9th Theory of Cryptography Conference, Volume 7194 of Lecture Notes in Computer Science, Taormina, Sicily, Italy (Springer, Heidelberg, 2012), pp. 112–132"",""Y. Dodis, R. Oliveira, K. Pietrzak, On the generic insecurity of the full domain hash, in Victor Shoup, editor, Advances in Cryptology—CRYPTO 2005, Volume 3621 of Lecture Notes in Computer Science, Santa Barbara, CA, USA (Springer, Heidelberg, 2005), pp. 449–466"",""Y. Dodis, L. Reyzin, On the power of claw-free permutations, in Stelvio Cimato, Clemente Galdi, and Giuseppe Persiano, editors, SCN 02: 3rd International Conference on Security in Communication Networks, Volume 2576 of Lecture Notes in Computer Science, Amalfi, Italy (Springer, Heidelberg, 2003), pp. 55–73"",""A. Fiat, A. Shamir, How to prove yourself: practical solutions to identification and signature problems, in Andrew M. Odlyzko, editor, Advances in Cryptology–CRYPTO’86, Volume 263 of Lecture Notes in Computer Science, Santa Barbara, CA, USA (Springer, Heidelberg, 1987), pp. 186–194"",""M. Fischlin, N. Fleischhacker, Limitations of the meta-reduction technique: the case of Schnorr signatures, in Thomas Johansson and Phong Q. Nguyen, editors, Advances in Cryptology—EUROCRYPT 2013, Volume 7881 of Lecture Notes in Computer Science, Athens, Greece (Springer, Heidelberg, 2013), pp. 444–460"",""M. Fischlin, A. Lehmann, T. Ristenpart, T. Shrimpton, M. Stam, S. Tessaro, Random oracles with(out) programmability, in Masayuki Abe, editor, Advances in Cryptology—ASIACRYPT 2010, Volume 6477 of Lecture Notes in Computer Science, Singapore (Springer, Heidelberg, 2010), pp. 303–320"",""N. Fleischhacker, T. Jager, D. SchrĂśder, On tight security proofs for Schnorr signatures, in Palash Sarkar and Tetsu Iwata, editors, Advances in Cryptology—ASIACRYPT 2014, Part I, Volume 8873 of Lecture Notes in Computer Science, Kaoshiung, Taiwan, R.O.C (Springer, Heidelberg, 2014), pp. 512–531"",""citation_journal_title=Inf. Process. Lett.; citation_title=Public key signatures in the multi-user setting; citation_author=Steven D Galbraith, John Malone-Lee, Nigel P Smart; citation_volume=83; citation_issue=5; citation_publication_date=2002; citation_pages=263-266; citation_doi=10.1016/S0020-0190(01)00338-6; citation_id=CR17"",""S. Garg, R. Bhaskar, S.V. Lokam, Improved bounds on security reductions for discrete log based signatures, in David Wagner, editor, Advances in Cryptology—CRYPTO 2008, Volume 5157 of Lecture Notes in Computer Science, Santa Barbara, CA, USA (Springer, Heidelberg, 2008), pp. 93–107"",""citation_journal_title=SIAM Journal on Computing; citation_title=A digital signature scheme secure against adaptive chosen-message attacks; citation_author=Shafi Goldwasser, Silvio Micali, Ronald L Rivest; citation_volume=17; citation_issue=2; citation_publication_date=1988; citation_pages=281-308; citation_doi=10.1137/0217017; citation_id=CR19"",""S. A. Kakvi, E. Kiltz, Optimal security proofs for full domain hash, revisited, in David Pointcheval and Thomas Johansson, editors, Advances in Cryptology—EUROCRYPT 2012, Volume 7237 of Lecture Notes in Computer Science, Cambridge, UK (Springer, Heidelberg, 2012), pp. 537–553"",""E. Kiltz, D. Masny, J. Pan, Optimal security proofs for signatures from identification schemes, in Matthew Robshaw and Jonathan Katz, editors, Advances in Cryptology—CRYPTO 2016, Part II, Volume 9815 of Lecture Notes in Computer Science, Santa Barbara, CA, USA (Springer, Heidelberg, 2016), pp. 33–61"",""U.M. Maurer, Abstract models of computation in cryptography (invited paper), in Nigel P. Smart, editor, 10th IMA International Conference on Cryptography and Coding, Volume 3796 of Lecture Notes in Computer Science, Cirencester, UK (Springer, Heidelberg, 2005), pp. 1–12"",""citation_journal_title=Journal of Mathematical Cryptology; citation_title=Hash function requirements for Schnorr signatures; citation_author=Gregory Neven, Nigel Smart, Bogdan Warinschi; citation_volume=3; citation_issue=1; citation_publication_date=2009; citation_pages=69-87; citation_doi=10.1515/JMC.2009.004; citation_id=CR23"",""P. Paillier, D. Vergnaud, Discrete-log-based signatures may not be equivalent to discrete log, in Bimal K. Roy, editor, Advances in Cryptology—ASIACRYPT 2005, Volume 3788 of Lecture Notes in Computer Science, Chennai, India (Springer, Heidelberg, 2005), pp. 1–20."",""D. Pointcheval, J. Stern, Security proofs for signature schemes, in Ueli M. Maurer, editor, Advances in Cryptology—EUROCRYPT’96, Volume 1070 of Lecture Notes in Computer Science, Saragossa, Spain (Springer, Heidelberg, 1996), pp. 387–398"",""O. Reingold, L. Trevisan, S. P. Vadhan, Notions of reducibility between cryptographic primitives, in Moni Naor, editor, TCC 2004: 1st Theory of Cryptography Conference, Volume 2951 of Lecture Notes in Computer Science, Cambridge, MA, USA (Springer, Heidelberg, 2004), pp. 1–20"",""A. Rupp, G. Leander, E. Bangerter, A.W. Dent, A.-R. Sadeghi, Sufficient conditions for intractability over black-box groups: generic lower bounds for generalized DL and DH problems, in Josef Pieprzyk, editor, Advances in Cryptology—ASIACRYPT 2008, Volume 5350 of Lecture Notes in Computer Science, Melbourne, Australia (Springer, Heidelberg, 2008), pp. 489–505"",""S. Schäge, Tight proofs for signature schemes without random oracles, in Kenneth G. Paterson, editor, Advances in Cryptology—EUROCRYPT 2011, Volume 6632 of Lecture Notes in Computer Science, Tallinn, Estonia (Springer, Heidelberg, 2011), pp. 189–206"",""C.-P. Schnorr, Efficient identification and signatures for smart cards, in Gilles Brassard, editor, Advances in Cryptology—CRYPTO’89, Volume 435 of Lecture Notes in Computer Science, Santa Barbara, CA, USA (Springer, Heidelberg, 1990), pp. 239–252"",""citation_journal_title=Journal of Cryptology; citation_title=Efficient signature generation by smart cards; citation_author=Claus-Peter Schnorr; citation_volume=4; citation_issue=3; citation_publication_date=1991; citation_pages=161-174; citation_doi=10.1007/BF00196725; citation_id=CR30"",""Y. Seurin, On the exact security of Schnorr-type signatures in the random oracle model, in David Pointcheval and Thomas Johansson, editors, Advances in Cryptology—EUROCRYPT 2012, Volume 7237 of Lecture Notes in Computer Science, Cambridge, UK (Springer, Heidelberg, 2012), pp. 554–571"",""V. Shoup, Lower bounds for discrete logarithms and related problems, in Walter Fumy, editor, Advances in Cryptology—EUROCRYPT’97, Volume 1233 of Lecture Notes in Computer Science, Konstanz, Germany (Springer, Heidelberg, 1997), pp. 256–266"",""B.R. Waters, Efficient identity-based encryption without random oracles, in Ronald Cramer, editor, Advances in Cryptology—EUROCRYPT 2005, Volume 3494 of Lecture Notes in Computer Science, Aarhus, Denmark (Springer, Heidelberg, 2005), pp. 114–127"" ""citation_journal_title"",""Journal of Cryptology"" ""language"",""en"" ""citation_cover_date"",""2019/04/01"" ""og:description"",""The Schnorr signature scheme is the most efficient signature scheme based on the discrete logarithm problem and a long line of research investigates the existence of a tight security reduction for this scheme in the random oracle model. Almost all recent works present lower tightness bounds and most recently Seurin EUROCRYPT 2012 showed that under certain assumptions the non-tight security proof for Schnorr signatures in the random oracle by Pointcheval and Stern EUROCRYPT’96 is essentially optimal. All previous works in this direction rule out tight reductions from the (one-more) discrete logarithm problem. In this paper, we introduce a new meta-reduction technique, which shows lower bounds for the large and very natural class of generic reductions. A generic reduction is independent of a particular representation of group elements. Most reductions in state-of-the-art security proofs have this property. It is desirable, because then the reduction applies generically to any concrete instantiation of the group. Our approach shows unconditionally that there is no tight generic reduction from any natural non-interactive computational problem $$\Pi $$ Π defined over algebraic groups to breaking Schnorr signatures, unless solving $$\Pi $$ Π is easy. In an additional application of the new meta-reduction technique, we also unconditionally rule out any (even non-tight) generic reduction from natural non-interactive computational problems defined over algebraic groups to breaking Schnorr signatures in the non-programmable random oracle model."" ""prism.issn"",""1432-1378"" ""citation_author_email"",""mail@nilsfleischhacker.de"" ""twitter:image:alt"",""Content cover image"" ""prism.number"",""2"" ""citation_issn"",""1432-1378"" ""citation_language"",""en"" ""dc:title"",""On Tight Security Proofs for Schnorr Signatures | SpringerLink"" ""Content-Encoding"",""UTF-8"" ""citation_pdf_url"",""https://link.springer.com/content/pdf/10.1007/s00145-019-09311-5.pdf"" ""citation_lastpage"",""599"" ""DOI"",""10.1007/s00145-019-09311-5"" ""citation_fulltext_world_readable"","""" ""citation_journal_abbrev"",""J Cryptol"" ""prism.rightsAgent"",""journalpermissions@springernature.com"" ""citation_author"",""Nils Fleischhacker"",""Tibor Jager"",""Dominique SchrĂśder"" ""resourceName"",""s00145-019-09311-5"" ""dc.date"",""2019-02-06"" ""citation_springer_api_url"",""http://api.springer.com/metadata/pam?q=doi:10.1007/s00145-019-09311-5&api_key="" ""citation_issue"",""2"" ""prism.volume"",""32"" ""prism.publicationName"",""Journal of Cryptology"" ""citation_doi"",""10.1007/s00145-019-09311-5"" ""dc.title"",""On Tight Security Proofs for Schnorr Signatures"" ""prism.url"",""https://link.springer.com/article/10.1007/s00145-019-09311-5"" ""citation_volume"",""32"" ""dc.language"",""En"" ""Content-Language"",""en"" ""format-detection"",""telephone=no"" ""citation_publication_date"",""2019/04"" ""prism.endingPage"",""599"" ""citation_title"",""On Tight Security Proofs for Schnorr Signatures"" ""citation_author_institution"",""Ruhr University Bochum, Bochum, Germany"",""Paderborn University, Paderborn, Germany"",""Friedrich-Alexander-University Erlangen-NĂźrnberg, NĂźrnberg, Germany"" ""access"",""Yes"" ""citation_publisher"",""Springer US"" ""applicable-device"",""pc,mobile"" ""dc.format"",""text/html"" ""description"",""The Schnorr signature scheme is the most efficient signature scheme based on the discrete logarithm problem and a long line of research investigates the ex"" ""title"",""On Tight Security Proofs for Schnorr Signatures | SpringerLink"" ""citation_online_date"",""2019/02/06"" ""twitter:site"",""@SpringerLink"" ""dc.source"",""Journal of Cryptology 2019 32:2"" ""dc.type"",""OriginalPaper"" ""dc.copyright"",""2019 International Association for Cryptologic Research"" ""dc.creator"",""Nils Fleischhacker"",""Tibor Jager"",""Dominique SchrĂśder"" ""citation_fulltext_html_url"",""https://link.springer.com/article/10.1007/s00145-019-09311-5"" ""prism.publicationDate"",""2019-02-06"" ""Content-Type"",""text/html; charset=UTF-8"" ""journal_id"",""145"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""dc.description"",""The Schnorr signature scheme is the most efficient signature scheme based on the discrete logarithm problem and a long line of research investigates the existence of a tight security reduction for this scheme in the random oracle model. Almost all recent works present lower tightness bounds and most recently Seurin EUROCRYPT 2012 showed that under certain assumptions the non-tight security proof for Schnorr signatures in the random oracle by Pointcheval and Stern EUROCRYPT’96 is essentially optimal. All previous works in this direction rule out tight reductions from the (one-more) discrete logarithm problem. In this paper, we introduce a new meta-reduction technique, which shows lower bounds for the large and very natural class of generic reductions. A generic reduction is independent of a particular representation of group elements. Most reductions in state-of-the-art security proofs have this property. It is desirable, because then the reduction applies generically to any concrete instantiation of the group. Our approach shows unconditionally that there is no tight generic reduction from any natural non-interactive computational problem $$\Pi $$ defined over algebraic groups to breaking Schnorr signatures, unless solving $$\Pi $$ is easy. In an additional application of the new meta-reduction technique, we also unconditionally rule out any (even non-tight) generic reduction from natural non-interactive computational problems defined over algebraic groups to breaking Schnorr signatures in the non-programmable random oracle model."" ""og:type"",""article"" ""citation_article_type"",""Article"" ""og:title"",""On Tight Security Proofs for Schnorr Signatures"" ""prism.doi"",""doi:10.1007/s00145-019-09311-5"" ""X-UA-Compatible"",""IE=edge"" ""citation_firstpage"",""566"" ""prism.startingPage"",""566"" ""viewport"",""width=device-width, initial-scale=1"" ""dc.rightsAgent"",""journalpermissions@springernature.com"" ""prism.section"",""OriginalPaper"" ""dc.identifier"",""doi:10.1007/s00145-019-09311-5"" ""dc.subject"",""Coding and Information Theory"",""Computational Mathematics and Numerical Analysis"",""Combinatorics"",""Probability Theory and Stochastic Processes"",""Communications Engineering, Networks"" ""og:url"",""https://link.springer.com/article/10.1007/s00145-019-09311-5"" ""prism.copyright"",""2019 International Association for Cryptologic Research"" ";https://scholar.google.com/scholar?start=750&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094586-841;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[PDF][PDF] Short Paper v1. 0.7 Clément Lesaege, Federico Ast, and William George September 2019;C Lesaege, F Ast ;2019 kleros.io;;"… SchellingCoin mechanisms have been used for decentralized oracles and prediction markets (26) (23) (3). The fundamental insight is that voting … subcourts with a particularly low session time (for example a subcourt solving disputes in a web to blockchain Oracle) this random …";Autres articles;;[PDF] kleros.io;https://kleros.io/whitepaper.pdf;;;https://scholar.google.com/scholar?start=660&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094633-1041;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[PDF][PDF] Threshold Cryptosystems in Asynchronous Networks;A Seši?, V Malbaša ; rcvt.tusofia.bg;;"… to prove yourself: practical solutions to identification and signature problems“, Advances in Cryptology-Crypto '86, Springer … 12] M. Bellare and P. Rogaway, “Random oracles are practical … S. Halevi, and T. Rabin, “Secure hash-and-sign signatures without the random oracle,” Proc …";Autres articles;Version HTML;[PDF] tu-sofia.bg;http://rcvt.tu-sofia.bg/ICEST2005_6.pdf;" 19 Threshold Cryptosystems in Asynchronous Networks Aleksandra SeĹĄić1, Veljko MalbaĹĄa2 Abstract−Threshold cryptography makes it possible to design cryptographic systems in which some operations require the collaboration of several users. As a result, security of the system is increased. This paper aims at guiding readers into this interesting field under the asynchronous message-passing model of distributed computing. Keywords−Threshold cryptosystem, verifiable secret sharing, proactive security, asynchronous system model. I. INTRODUCTION Distributed cryptography, introduced in 1987, is a variant of traditional cryptography intended for distributed services. Several distributed cryptosystems have been proposed until now. Most of them have a threshold structure, which means that both the sets of corrupted servers that must be tolerated by the system and the sets that are qualified to perform some action are determined by their cardinality. Due to this fact, distributed cryptography is called also in general threshold cryptography. The surveys of threshold cryptography can be found in [1,2]. Threshold cryptosystem is a public key cryptosystem in which the secret key is shared among the set of users. Only some qualified subsets of users will be able to perform the operation related to the secret key (decrypting or signing). In this way, security of the system is increased, because the loss or theft of several shares of the secret key does not necessarily break the system’s security. We are especially interested in protocols that require no interaction or synchronization among the servers, and as such can be efficiently run on an asynchronous communications network where messages are delivered with arbitrary delay and in which the speeds of the nodes can get out of synchronism to an arbitrary extent. It is the weakest model (i.e., methods for this model work in other models, too) and the most realistic for distributed computing in today’s large scale wide-area networks such as the Internet. II. THRESHOLD CRYPTOSYSTEMS A threshold public-key cryptosystem [3] looks similar to an ordinary public-key cryptosystem with distributed decryption. Given a ciphertext resulting from encrypting some message and more than t+1 valid decryption shares for that ciphertext, in a system which tolerates up to t faults, it is easy for a client to recover the message; this property is called robustness. 1 Aleksandra SeĹĄić is with Nopal, 21400 Bačka Palanka, Serbia and Montenegro, Email: asesic@nopal.co.yu 2 Veljko MalbaĹĄa is with the School of Engineering, University of Novi Sad, 21000 Novi Sad, Serbia and Montenegro, Email: malbasa@uns.ns.ac.yu This means that corrupted players should not be able to prevent uncorrupted servers from decrypting ciphertexts, i.e., that the decryption service is available even if the adversary can send bad decryption shares. The key to robustness is validity checking, based on a public key system, where one can ignore all incorrect decryption shares without exhaustive searching to find out who sent the wrong decryption share. Notice that the message can be recovered without revealing the secret decryption key. The scheme must also be secure against chosen ciphertext attacks [4] in order to be useful for all conceivable applications. This type of attack is one in which a cryptanalyst attempts to determine the key from knowledge of plaintext that corresponds to ciphertext selected (i.e., chosen) by the analyst. This type of attack is generally most applicable to public-key cryptosystems, for once the (private) key is known, all subsequent messages from the same source can be deciphered. For the threshold case, security means that the adversary cannot obtain any meaningful information from a ciphertext unless she has obtained a corresponding decryption share from at least one honest party. In a threshold signature scheme, each server holds a share of the secret signing key and may generate shares of signatures on individual messages upon request. A signing algorithm takes as inputs a message, the public key and the secret key share. It outputs a signature share on the submitted message. The validity of a signature share can be verified for each server by a share verification algorithm. It takes as inputs a message, a signature share on that message from a server Si along with the public key and local verification key of Si. A share combining algorithm takes as input a message and t+1 valid signature shares on that message, along with public keys and the verification keys and outputs a valid digital signature on that message without knowing the actual secret signing key. This key speaks for the service but is never materialized at individual servers comprising the service. The signature can later be verified using the single, publicly known signature verification key. Notice that in particular, the threshold approach rules out the naĂŻve solution based on traditional secret sharing, where the secret key is shared in a group but reconstructed by a single player each time when a signature is to be produced. Such a protocol would contradict the requirement that no t (or less) players can ever produce a new valid signature. The two basic security requirements are non-forgeability and robustness. Non-forgeability property means that t or less corrupted servers will not be able to forge signatures, i.e., to provide a valid signature on a message for which no honest party generated a signature share. Robust threshold signature scheme can withstand the participation of dishonest signers during the signature computation operation. This is a mechanism that succeeds in constructing a valid signature even if the partial signatures 20 contributed by some of the signers are incorrect. Due to robustness, corrupted servers will not be able to prevent the uncorrupted servers from computing correct signatures, i.e., it is infeasible for a computational bounded adversary to produce t+1 valid signature shares that cannot be combined to a valid signature. Threshold-cryptographic protocols ensure security as long as at most t of servers are broken into. They enhance the security against break-in attacks in many scenarios. However, threshold cryptography is also limited. Given sufficient amount of time, an attacker can break into servers one by one, thus eventually compromise the security of the system. This danger is particularly eminent in systems that must remain secure for long periods of time (such as certification authorities) or where secure recovery may be difficult (such as with secure communication). Proactive security is a mechanism for protecting against such long-term attacks. Proactive cryptosystems operate in phases. They can tolerate the corruption of up to t different servers in every phase [5]. That is, first distribute the cryptographic capabilities among several servers. Next, have the servers periodically engage in a refreshment protocol that proactively reboots all servers at the beginning of every phase and subsequently refreshes the secret key shares. Knowledge of the shares from the previous phases becomes useless to attack the system in the future. This protocol will allow the servers to automatically recover from possible, undetected break-ins, and in particular will provide the servers with new shares of the sensitive data while keeping the sensitive data unmodified. Share refreshing is a distributed protocol and in all proactive cryptosystems it relies on verifiable secret sharing. Verifiable secret sharing is a fundamental primitive in distributed cryptography [6] that has found its application in threshold cryptosystems. A verifiable secret sharing protocol allows each shareholder to verify that the share is consistent with other shares in case the dealer of shares might be faulty. III. CRYPTOGRAPHY VERSUS DISTRIBUTED COMPUTING The field of multi-party cryptographic protocols is where cryptography and distributing computing meet [7]. However, this field is considered as a part of cryptography, which is the consequence of the dominant role of cryptographic notions and techniques in the current research of cryptographic protocols. Most of the cryptographic research is concerned with two-party computations where typically an asynchronous message passing model is assumed (almost always implicitly). For multi-party cryptographic protocols a synchronous model consisting of either point-to-point channels or a single broadcast channel is used most frequently. Results for asynchronous communication and arbitrary networks of point- to-point channels were presented in [8,9,10]. IV. RELATED WORK A major complication for adopting threshold cryptography to asynchronous distributed systems is that many early protocols are not robust and that rely heavily on synchronous broadcast channels. Shoup and Gennaro [4] present the first robust threshold cryptosystem that is also non-interactive, and as such integrates well into asynchronous communication model. Moreover, it is the first practical threshold cryptosystem that is provably secure against chosen ciphertext attack in the random oracle model. In the random oracle model cryptographic hash functions are replaced by a random oracle. This model was used informally by Fiat and Shamir [11] and later was rigorously formalized and more fully exploited in Bellare and Rogaway [12]. In the random oracle model the proof of security is viewed as “strong evidence“ that the scheme is actually secure in the “real world“. Authors presented and analyzed two schemes, which are based on the hardness of the Diffie-Hellman problem. The threshold RSA signature scheme of Shoup [13] is unforgeable and robust in the random oracle model, assuming the RSA problem is hard. Signature share generation and verification is completely non-interactive. First implementations of threshold signatures in asynchronous networks without random oracles are RSA signature schemes by Gennaro, Halevi and Rabin [14] and by Cramer and Shoup [15], which are based on strong RSA assumption. The first practical verifiable secret sharing protocol for asynchronous networks together with a proactive refresh protocol is proposed by Cachin et al. [16]. The authors propose a model of asynchronous proactive network that extends an asynchronous network by an abstract timer that is accessible to every server. The timer defines the phase of a server locally. They assume that the adversary corrupts up to t different servers who are in the same local phase. Uncorrupted servers who are in the same local phase use private authenticated channels for communication. Message delay in such a channel must be no longer than the local phase lasts. Otherwise the message is lost. A proactive cryptosystem refreshes the shares of the secret key at the beginning of every phase. The liveness of the cryptosystem is based on the assumption that the adversary delays messages of the refresh protocol for no longer than the phase lasts. Otherwise the secret key may become inaccessible. This assumption seems reasonable because a phase typically lasts much longer than the maximal delay of a message in the real- world network. The proactive refresh protocol relies on a discrete logarithm-based verifiable secret sharing that is similar to Pedersen’s scheme [17]. The servers exchange two asynchronous rounds of messages to reach agreement on the success of the sharing. Agreement is achieved by using a randomized asynchronous multi-valued Byzantine agreement primitive [18]. Cachin et al. [16] left open the question of how proactive secure message transmission could be implemented. A protocol for proactive secure message transmission over an asynchronous network is presented in [19]. The authors specify proactive secure message transmission in terms of an idealized service that has simple deterministic semantics and hides cryptographic objects from its interfaces. Additionally, a real implementation is proposed and proved to be at least as secure as the ideal service. The solution relies on a hardware 21 assumption, i.e., a secure co-processor that cannot be corrupted by the adversary. The first purely asynchronous group key exchange protocol that tolerates a minority of servers to crash is presented in [20]. A group of servers communicate over an asynchronous network to establish a common session key such that anyone outside the group that can only observe the network traffic cannot learn this key. Such a key can later be used to achieve multicast message confidentiality or data integrity. The protocol consists of the following two stages. In the first stage, the group members exchange keying information using two communication rounds. In the second stage, they execute consensus protocol to select the contributions from the first stage where the session key is computed. The protocol may use randomized asynchronous consensus in the fully asynchronous model or a consensus protocol in the asynchronous model augmented with a failure detector. It is shown that any group exchange protocol among n servers that tolerates t>0 servers to crash can only provide forward secrecy if the adversary occupies less than n-2t servers and the presented protocol achieves this bound. CODEX (COrnell Data Exchange)[21] is a distributed service for storage and dissemination of secret keys that uses an approach to building distributed services that are both fault-tolerant and attack tolerant. This approach includes asynchronous model of execution, which makes the system resistant to denial of service attacks. Byzantine quorum systems are used for storing the state, ensuring consistency among the servers, and proactive secret sharing with threshold cryptography implement confidentiality and authentication of service responses. The storage and transmission of data files in distributed systems gives rise to significant security and reliability problems. Information dispersal algorithms store files by distributing them among a set of servers in a storage efficient way. The authors in [22] introduce the problem of verifiable information dispersal in an asynchronous network, where up to one third of servers as well as an arbitrary number of clients might have Byzantine faults. Consistency of the stored information is ensured by verifiability. The secrecy of the stored data is guaranteed with respect to an adversary that may mount adaptive attacks. V. FUTURE RESEARCH The authors in [23] describe some research subjects that are important in the future development of distributed cryptography. For instance, there exist many situations in which general structures instead of threshold structures are required. Moreover, it is necessary to find new public key cryptosystems for non-threshold structures. The design of distributed cryptosystems with non-threshold access structure is closely related to the problem of performing multiparty computation on general access structures. The main question is how to find efficient linear secret sharing schemes with the multiplicative property and very little is known about that. VI. CONCLUSION We have presented main results in the field of threshold cryptography under the asynchronous model of distributed computing. We started with fundamental definitions, then pointed out the meeting place of cryptography and distributed computing, and finally presented several solutions with concluding remarks concerning future research. REFERENCES [1] Y. Desmedt, “Threshold cryptography,” European Trans. on Telecommunicatons, 5(4), pp. 449-457, July-August 1994, (Invited paper). [2] Y. Desmedt, “Some Recent Research Aspects of Threshold Cryptography,” In Eiji Okamoto, George Davida, and Mashiro Mambo, editors, Information Security, The 1st International Workshop, ISW’97, Tatsunokuchi, Ishikawa Japan, September 17-19, 1997. [3] Y. Desmedt and Y. Frankel, “Threshold cryptosystems,” In G. Brassard, editor, Proc. CRYPTO 89, pages 307-315. Springer- Verlag, 1990, Lecture Notes in Computer Science No. 435. [4] V. Shoup and R. Gennaro, “Securing threshold cryptosystem against chosen ciphertext attack,” Proc. EURO-CRYPT ’98, LNCS 1403, 1998. [5] R. Canneti, R. Gennaro, A.Herzberg, and D. Naor, “Proactive security: Long-term protection against break-ins,“ RSA Laboratories’ CryptoBytes, vol. 3, no.1, 1997. [6] B. Chor, S. Goldwasser, S. Micali, and B. Awerbuch, “Verifiable secret sharing and achieving simultaneity in the presence of faults,” Proc. 26th IEEE Symp. on Found. of Computer Science, pages 383-395, 1985. [7] O. Goldreich, “Cryptography and Cryptographic Protocols,” Distributed Computing, v.16, n.2-3, p.177-199, September 2003. [8] M. Ben-Or, R. Canetti and O. Goldreich, “Asynchronous Secure Computation,” 25th ACM Symposium on the Theory of Computing, pages 52-61, 1993. [9] M. Ben-Or, B. Kelmer and T. Rabin, “Asynchronous Secure Computations with Optimal Resilience,” 13th ACM Symposium on Principles of Distributed Computing, pages 183-192, 1994. [10] D. Dolev, C. Dwork, O. Waarts, and M. Yung, ”Perfectly secure message transmission,” Journal of the ACM, Vol. 40(1), pages 17-47, 1993. [11] A. Fiat and A. Shamir, “How to prove yourself: practical solutions to identification and signature problems“, Advances in Cryptology-Crypto ’86, Springer LNCS 263, pages 186-194, 1987. [12] M. Bellare and P. Rogaway, “Random oracles are practical: a paradigm for designing efficient protocols“, First ACM Conference on Computer and Communications Security, pages 62-73,1993. [13] V. Shoup, “Practical threshold signatures,” Proc. EURO- CRYPT 2000, LNCS 1087, pp.207-220, 2000. [14] R. Gennaro, S. Halevi, and T. Rabin, “Secure hash-and-sign signatures without the random oracle,” Proc. EUROCRYPT ’99, pp. 123-139, Springer, 1999. [15] R. Cramer and V. Shoup, “Signature schemes based on the strong RSA problem,” ACM Transactions on Information and System Security, vol. 3, no. 3, pp. 161-185, 2000. [16] C. Cashin, K. Kursawe, A. Lysyanskaya, and R. Strobl, “Asynchronous Verifiable Secret Sharing and Proactive Cryptosystems,” Proc. 9th ACM Conference on Computer and Communications Security (CCS), pages 88-97, 2002. 22 [17] T. P. Pedersen, “Non-interactive and information-theoretic secure verifiable secret sharing,” In J. Feigenbaum, editor, CRYPTO ’91, volume 576 of LNCS, pages 129-140, Springer, 1992. [18] C. Cashin, K. Kursawe, F. Petzold, and V. Shoup, “Secure and efficient asynchronous broadcast protocols,” Advances in Cryptology-Crypto 2001, 2001. [19] M. Backes, C. Cashin, and R. Strobl, “Proactive Secure Message Transmission in Asynchronous Networks,” Proc. 22nd ACM Symposium on Principles of Distributed Computing (PODC 2003), pages 223-232, July 2003. [20] C. Cashin, and R. Strobl “Asynchronous Group Key Exchange with Failures,” Proc. 23rd ACM Symposium on Principles of Distributed Computing (PODC 2004), pages 357-366, July 2004. [21] M. A. March, F. B. Schneider, “CODEX: A Robust and Secure Secret Distribution System,” IEEE Transactions on Dependable and Secure Computing, January-March 2004 (Vol.1, No.1) pp. 34-47. [22] C. Cashin, S. Tessaro, “Asynchronous Verifiable Information Dispersal,” Research Report RZ 3569, IBM Research, December 2004. [23] Research Group on Mathematics Applied to Cryptography, “Some trends for future research in distributed cryptography,” Stork Cryptography Workshop: Towards a Roadmap for Future Research, November 26-27, 2002. ";"""date"",""2019-12-26T09:29:06Z"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"" ""pdf:PDFVersion"",""2.0"" ""pdf:hasXFA"",""false"" ""access_permission:modify_annotations"",""true"" ""access_permission:can_print_degraded"",""true"" ""dcterms:created"",""2019-12-26T09:29:06Z"" ""language"",""en"" ""Last-Modified"",""2019-12-26T09:29:06Z"" ""dcterms:modified"",""2019-12-26T09:29:06Z"" ""dc:format"",""application/pdf; version=2.0"" ""Last-Save-Date"",""2019-12-26T09:29:06Z"" ""access_permission:fill_in_form"",""true"" ""pdf:docinfo:modified"",""2019-12-26T09:29:06Z"" ""meta:save-date"",""2019-12-26T09:29:06Z"" ""pdf:encrypted"",""false"" ""modified"",""2019-12-26T09:29:06Z"" ""Content-Length"",""116236"" ""pdf:hasMarkedContent"",""false"" ""Content-Type"",""application/pdf"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""meta:creation-date"",""2019-12-26T09:29:06Z"" ""created"",""2019-12-26T09:29:06Z"" ""X-TIKA:EXCEPTION:warn"",""org.xml.sax.SAXParseException; lineNumber: 10; columnNumber: 26; The prefix """"xmp"""" for element """"xmp:CreateDate"""" is not bound. at org.apache.xerces.parsers.DOMParser.parse(Unknown Source) at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source) at javax.xml.parsers.DocumentBuilder.parse(Unknown Source) at org.apache.tika.utils.XMLReaderUtils.buildDOM(XMLReaderUtils.java:421) at org.apache.tika.parser.pdf.PDMetadataExtractor.loadDOM(PDMetadataExtractor.java:329) at org.apache.tika.parser.pdf.PDMetadataExtractor.extract(PDMetadataExtractor.java:66) at org.apache.tika.parser.pdf.PDFParser.extractMetadata(PDFParser.java:281) at org.apache.tika.parser.pdf.PDFParser.parse(PDFParser.java:158) at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:280) at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:280) at org.apache.tika.parser.AutoDetectParser.parse(AutoDetectParser.java:143) at org.apache.tika.server.resource.TikaResource.parse(TikaResource.java:434) at org.apache.tika.server.resource.MetadataResource.parseMetadata(MetadataResource.java:130) at org.apache.tika.server.resource.MetadataResource.getMetadata(MetadataResource.java:62) at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:179) at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96) at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:201) at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:104) at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:59) at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:96) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308) at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121) at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:265) at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:247) at org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:79) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1435) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:190) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1350) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:191) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) at org.eclipse.jetty.server.Server.handle(Server.java:516) at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:388) at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:633) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:380) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:279) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129) at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:383) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:882) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1036) at java.lang.Thread.run(Unknown Source) "" ""access_permission:extract_for_accessibility"",""true"" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""4"" ""Creation-Date"",""2019-12-26T09:29:06Z"" ""resourceName"",""ICEST2005_6.pdf"" ""pdf:hasXMP"",""true"" ""pdf:charsPerPage"",""5763"",""6389"",""6114"",""1278"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2019-12-26T09:29:06Z"" ";https://scholar.google.com/scholar?start=860&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094567-767;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Technische Grundlagen und Begriffe;R Wilkens, R Falk ; Smart Contracts, 2019 Springer;;"… Oracle) erfassen. Soll etwa eine Transaktion ausgeführt werden, wenn eine physische Ware übergeben wurde, benötigt der Smart Contract zunächst diese Information. Mittels eines Oracles für eingehende Daten können Datenfeeds über außerhalb der Blockchain eintretende …";;null;null;;;;https://scholar.google.com/scholar?start=580&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094551-700;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;DLT smart contract platforms for software lifecycle management;B Tsvetkov, H Kostadinov ; AIP Conference Proceedings, 2019 aip.scitation.org;;"… of the dApp is accessible by all participants of the processes, as EOS is a public blockchain. For the purpose of the prototype a couple of oracles are established to test the abilities … First oracle (O1) is responsible to update the catalog of supported software artifacts uploaded by …";Cité 1 fois;Les 2 versions;[PDF] scitation.org;https://aip.scitation.org/doi/pdf/10.1063/1.5130875?casa_token=hYKakJ4xAq4AAAAA:u0OJYTZaIL94bpIWMjLV3BfNV2o1NdDiiBuhxK9wT6oKT-cfZd28jxp8tOUpJM7f9xhJeSqIyg;;;https://scholar.google.com/scholar?start=510&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094637-1062;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[HTML][HTML] ?????????-10 ???: ??????? ????????????? ? ??????????? ??? ???????;?? ??????? ; ??????? ???????? ??????, 2019 cyberleninka.ru;;"… ???????? ?????: ????????, ????????????, ??????-????????, ??????, ??????, ??????????????????? ????????????,. Keywords: blockchain, cryptocurrency, business processes, money, currency, business. ???????? … 1. Buterin, Vitalik Etereum and Oracles. Etereum Blog …";Cité 5 fois;Les 2 versions;[HTML] cyberleninka.ru;https://cyberleninka.ru/article/n/blokcheynu-10-let-illyuzii-razrabotchikov-i-perspektivy-dlya-biznesa;" [image: Научная статья на тему 'Блокчейну - 10 лет: иллюзии разработчиков и перспективы для йиСноса'][image: ] Блокчейну - 10 лет: иллюзии разработчиков и перспективы для йиСноса Текст научной статьи пО специальности ЭкОнОПика и йиСнос [image: ]CC BY [image: ]30 [image: ]5 i Надоели баннеры? Вы всогда можете отключить рекламу. Журнал[image: ] Вестник АкадоПии СнаниК 2019 ВАК Область наук ЭкОнОПика и йиСнос Ключевые сНОва BLOCKCHAIN / CRYPTOCURRENCY / BUSINESS PROCESSES / MONEY / CURRENCY / BUSINESS / БЛОКЧЕЙН / КРИПТОВАЛЮТА / БИЗНЕС-ПРОЦЕССЫ / ДЕНЬГИ / ВАЛЮТА / ПРЕДПРИНИМАТЕЛЬСКАЯ ДЕЯТЕЛЬНОСТЬ Аннотация научной статьи пО экономике и йиСносу, автор научной работы — Полянин А.В. В статье опровергается ОднО иС базовых утверждение разработчиков блокчейн технологий и авторов большинства научных работ Đž том, что каждая учетная запись с переходом состояния является прямой передачей стоимости и информации ПоМду учетными записями. Обосновывается, что криптовалюты необходимо рассматривать как Одну иС форм безналичного расчета, в ОснОво которого лежат реальные деньги, трансформируемые пО средством ПаКнинга в определенный заменитель, пО свОиП свойствам ПаНО отличимый от таких производных как например «полетные ПиНи. На взгляд автора криптовалюта является инструментом привязки пользователя Đş определенной блокчейн технологии хранения и обработки данных. Любые криптовалюты привязывают пользователей Đş определенному распределенному регистру, то есть пользователи выбирают определенную технологию программного обеспечения для ведения хозяйственной деятельности. ТО есть пользователь выбирает только лишь усНугу пО отслеживанию и фиксации необходимых наП действий, нО но передаче стоимости. В тоже время с точки зрения ведения йиСноса очень полезным является то, что блокчейн-платформы могут служить хранилищем имеющих общественную значимость СаписоК, таких как реестры документов, событий, личных данных. Для йиСноса наийОНоо перспективным ПОМнО считать объединение блокчейн технологий и «больших данных», то есть появляется возможность моделировать большое количество йиСнос-процессов. i Надоели баннеры? Вы всогда можете отключить рекламу. Похожие темы научных работ пО экономике и йиСносу , автор научной работы — Полянин А.В. Профессиональный библиограф составит и оформит пО ГОСТ списОк литературы для вашоК работы Подбор литературы Криптовалюты: сущность, эволюция и становление в качестве средства платежа 2018 / Гуляев РОПан Андреевич Трансформация мировой валютной системы: будущее Са криптовалютой? 2018 / ЊогОНова Наталья Геннадьевна, Терентьева Ольга Игоревна Криптовалюты как вектор диджитализации мировой валютной системы: риски и тренды 2019 / ЊогОНова Наталья Геннадьевна, Мальсагова РадиПа Гапуровна Блокчейн: философия, технология, приложения и риски 2019 / Годин В. В., Терехова А. Е. Влияние технологических аспектов функционирования криптовалют на их принятие в качестве ""альтернативных доног"" 2018 / Попов В.Б., Гавриков И.В. iНе можете найти то, что ваП нуМнО? Попробуйте сервис подбора литературы. i Надоели баннеры? Вы всогда можете отключить рекламу. Blockchain - 10 years: developer illusions and business prospects The article refutes one of the basic statements of the developers of blockchain technologies and the authors of most scientific works that each account with the transition of the state is a direct transfer of value and information between accounts. Proves that cryptocurrencies should be seen as a form of cashless payment, which is based on real money that is transformed by hashing into a specific substitute, their properties are indistinguishable from these derived such as ""mileage"". In the author's opinion, the cryptocurrency is a tool for binding the user to a certain blockchain technology of data storage and processing. Any cryptocurrency tie users to a particular distributed case, i.e. users select a specific software technology for business activities. Thanks to a certain blockchain platform or blockchain technology, the user chooses only the service of tracking and recording the actions we need, but not the transfer of cost. At the same time, from the point of view of doing business, it is very useful that blockchain platforms can serve as a repository of records of public importance, such as registers of documents, events, personal data. For business, the most promising can be considered a combination of blockchain technology and"" big data"", that is, there is an opportunity to simulate a large number of business processes Текст научной работы на тему «Блокчейну - 10 лет: иллюзии разработчиков и перспективы для йиСноса ďťż08.00.05. ЭкОнОПика и управление народным хозяйством (пО отраслям и сферам деятельности) А.В. Полянин - профессор кафедры менеджмента и государственного управления, Đ´.э.Đ˝., Среднерусский институт управления - филиал РАНХиГС (Đł. Орел) (polyanin.andrei@yandex.ru); A.V. Polyanin - Professor of the Department of management and public administration, doctor of economics, Central Russian Institute of management - branch of Ranepa (Orel). БЛОКЧЕЙНУ - 10 ЛЕТ: ИЛЛЮЗИИ РАЗРАБОТЧИКОВ И ПЕРСПЕКТИВЫ ДЛЯ БИЗНЕСА BLOCKED - 10 YEARS: DEVELOPERS 'ILLUSIONS AND PROSPECTS FOR BUSINESS Аннотация. В статье опровергается ОднО иС базовых утверждение разработчиков блокчейн технологий и авторов большинства научных работ Đž том, что каждая учетная запись с переходом состояния является прямой передачей стоимости и информации ПоМду учетными записями. Обосновывается, что криптовалюты необходимо рассматривать как Одну иС форм безналичного расчета, в ОснОво которого лежат реальные деньги, трансформируемые пО средством ПаКнинга в определенный заменитель, пО свОиП свойствам ПаНО отличимый от таких производных как например «полетные ПиНи. На взгляд автора криптовалюта является инструментом привязки пользователя Đş определенной блокчейн технологии хранения и обработки данных. Любые криптовалюты привязывают пользователей Đş определенному распределенному регистру, то есть пользователи выбирают определенную технологию программного обеспечения для ведения хозяйственной деятельности. ТО есть пользователь выбирает только лишь усНугу пО отслеживанию и фиксации необходимых наП действий, нО но передаче стоимости. В тоже время с точки зрения ведения йиСноса очень полезным является то, что блокчейн-платформы могут служить хранилищем имеющих общественную значимость СаписоК, таких как реестры документов, событий, личных данных. Для йиСноса наийОНоо перспективным ПОМнО считать объединение блокчейн технологий и «больших данных», то есть появляется возможность моделировать большое количество йиСнос-процессов. Annotation. The article refutes one of the basic statements of the developers of blockchain technologies and the authors of most scientific works that each account with the transition of the state is a direct transfer of value and information between accounts. Proves that cryptocurrencies should be seen as a form of cashless payment, which is based on real money that is transformed by hashing into a specific substitute, their properties are indistinguishable from these derived such as ""mileage"". In the author's opinion, the cryptocurrency is a tool for binding the user to a certain blockchain technology of data storage and processing. Any cryptocurrency tie users to a particular distributed case, i.e. users select a specific software technology for business activities. Thanks to a certain blockchain platform or blockchain technology, the user chooses only the service of tracking and recording the actions we need, but not the transfer of cost. At the same time, from the point of view of doing business, it is very useful that blockchain platforms can serve as a repository of records of public importance, such as registers of documents, events, personal data. For business, the most promising can be considered a combination of blockchain technology and"" big data"", that is, there is an opportunity to simulate a large number of business processes Ключевые сНОва: блокчейн, криптовалюта, йиСнос-процессы, деньги, валюта, предпринимательская деятельность, Keywords: blockchain, cryptocurrency, business processes, money, currency, business. Введение. Прошло уМо 10 лет сО времени выхода знаменитой статьи Сатоши Накамото «Биткоин. Децентрализованная электронная денежная система» [2], гдо Он ОписаН базовую возможность блокчейна пО выполнению функции доверенного лица йоС централизованного вмешательства иНи управления. ИПоннО эта функция на наш взгляд является ключевой с точки зрения пользователя для ведения йиСноса. Ведь интернет мы используем, прежде всогО, как систему обеспечивающую нас информацией и позволяющую наП реализовать нашу функцию «получения информации». Так и блокчейн прежде всогО наП интересен с точки зрения эффективного межличностного взаимодействия «доступ йоС разрешений» пО средством сОгНасОваннОгО платежа [11]. В тоже время существуют ПнОгО неоправданных ОМиданиК заявленных разработчиками, прежде всогО, становится очевидным неправильная трактовка «передачи доног на ОснОвании даннОК технологии. Многие разработчики и пользователи блокчейна но понимают главных отличий категорий «товарная стоимость» и «добавленная стоимость». ТакМо но рассматриваются психологические и социальные аспекты деятельности человека при водонии хозяйственной деятельности, а также но учтено влияние политических и социальных институтов государства. Цель автора раскрыть заблуждения (иллюзии) разработчиков блокчейна и рассмотреть перспективы для йиСноса при использовании даннОК технологии. Заблуждения разработчиков и перспективы для йиСноса применения технологий блокчейн. В современной научной литературе утверждается, что интернет в форме протокола TCP/IP позволяет наП находить и владеть информацией («интернет информационного обеспечения»), а блокчейн позволяет пО свОоК сути напрямую обмениваться ценностями, создается «интернет ценностей». И как говорят большинство авторов, таких как Уильям Могайар [9], Виталик Бутерин [1], Мелани ХвОн [12], Дон и АНокс Тапскотт [15], Пол Винья и Майкл Кейси [3], Артем Генкин и АНоксоК Михеев [4]: блокчейн это новая организационная парадигма для координации различных видОв человеческой деятельности позволяющая децентрализовать ПнОгио сферы нашоК МиСни. Большинство авторов утверждают, что технология «блокчейн» является революционной инновацией, сОСдан «протокол Господа Бога» [3], который создаст «схему нОвОК экономики» [12], на оо ОснОво произойдет «финансовая революция» [15] и т.Đ´. Позволю сойо с ниПи но согласиться. По сути блокчейн совмещает в свОоП технологическом воплощении три элемента: определенное программное обеспечение, методы криптозащиты и несколько математических методов иС теории игр. Заметим, что совмещение последних двух элементов уМо с 30-х гОдОв ĐĽĐĽ вока успошнО используется в технике связи для шифровки и дешифровки информации. Базовые технические элементы йНОк-чейна такие как: криптозащита, одноранговая сеть и децентрализованный кОнсонсус уМо в 1970-80 годах применялись советскими инженерами в технике связи. В настоящий момент Они используются в различных технических устройствах применяемых вО многих отраслях. Перемещение этих известных технических элементов в структуру программного обеспечения позволяет сделать надстройку в интернете, а уМо оо вид может быть очень разнообразным, что и доказывается сейчас тем, что количество блокчейн-платформ и блокчейн-приложений постоянно увеличивается. Описывая блокчейн как взаимосвязь одноранговой сети, алгоритма кОнсонсуса, концепции «виртуальной машины» (явно позаимствованной иС популярного подхода Java Virtual Machine) и распределенного регистра авторы абсолютно правы с технической точки зрения, действительно запись и ОйПон информации осуществляется иПоннО ПоМду двумя пользователями и запись их ОйПона регистрируется и хранится постоянно, создавая «учетные Саписи. А вот дальше утверждается «каждая учетная запись с переходом состояния является прямой передачей стоимости и информации ПоМду учетными записями» [9], это в принципе но верно, так как информация передается, а стоимость нет! Стоимость это оценочный показатель, который НийО отражает количество трудовых затрат, НийО полезность товара, НийО издержки производства и т.Đ´. Подразумевая пОд формой стоимости деньги, авторы заявляют, что блокчейн позволит «напрямую обмениваться ценностями - будь то деньги, активы и конфиденциальные сведения, которые прежде никто но рискнул бы передать с помощью сети» [3], это и является на наш взгляд саПОК большой иллюзией. Главное СайНуМдонио (иллюзия разработчиков) состоит в том, что авторы отождествляют деньги и материальные ценности, то есть рассматривают деньги как материальный ресурс. А деньги пО свОоК природе ресурсом вообще но являются. ИПоннО вызывает нодОуПонио «передача доног. Так в чем причина, что передача доног в блокчейне мы ставим пОд сОПнонио? Да, передача доног в экономическом смысле в помощью блокчейна вОСПОМна, нО это будет операция аналогичная интернет-йанкингу и передачи доног с помощью электронных кошельков. Авторы которые говорят Đž революционности блокчейна пО ОйПону ценностями такими как деньги, прежде всогО забывают, что деньги это но столько экономический инструмент, сколько инструмент социальный! Напомним точку зрения Марселя Мосса изложенную в «Концепции доноМнО-валютной системы» [10], гдо Он объясняет существование доног: ОсОСнаниоП способности добиться общего согласия социума в использовании доног как СакОннОгО выражения стоимости». ТО есть деньги пО свОоК сути это социальные убеждения. Об этом говорят и научные работы таких выдающихся ученых как Франсуа ХиПиан [13] и Георг Земмель [5]. Намерение обладать деньгами, а в последующем МоНанио купить иНи продать происходит на ОснОво восприятия и пОйуМдониК личности, у которой сформированы определенные ценности, навязанные оК обществом иНи спонтанно вОСникшио у ноо в воображении. Люди в первую очередь живут в психологической реальности и ассоциируют деньги как источник удовлетворения своих личных стремлений. ĐĄ точки зрения психологии человека единственное применение доног - это приобретение чего-то МоНаннОгО, нО в тоже время деньги могут выступать в качестве предпочтительной формы богатства, так как являются установленной обществом формой сохранения ценности. Деньги пО свОоК природе происходят но иС экономических иНи технологических процессов, а прежде всогО иС социальных уйоМдониК и психоаналитических способностей личности. iНе можете найти то, что ваП нуМнО? Попробуйте сервис подбора литературы. Следующим СайНуМдониоП является то, что в технологии блокчейн стоимость рассматривается как архаичные понятия «меновая стоимость» иНи «товарной стоимость», так как вся суть построения «учетных СаписоК в ОйПоно ценностями. Но здесь следует отметить, что истории Đž бартере но имеют смысла в современном обществе пО двуП причинам. Во-первых, капиталистическое производство началось с доног, а но с товаров. Капиталисты но производят товар ради ОйПона на другие товары, Они ждут доног, осНи их но получают, то производство даннОгО товара прекращается. Товары производятся на продажу только с целью получения еще большей прибыли, то есть дОйавНоннОК стоимости», а иПоннО доног, Đž чем свидетельствуют и Карл Маркс [8], и АдаП Смит [14], и Джон Кейнс [7]. Во-вторых, деньги создает государство, выбирает в качестве платежного средства определенный нематериальный сиПвОН, закрепляет огО законодательно и на ОснОво ногО формирует налоговую систему, наНОги в свою очередь являются движущей сиНОК доног как социального инструмента. Кажущаяся простота сдоНки на блокчейне обманчива, так как это но йОНоо чем действие которое совершает человек приобретая товар через объявление в газете иНи на сайте, например на Avito иНи Youla. По сути приращения стоимости при такой сдоНко но происходит, ОнО изначально в ноо но СаНОМонО. На наш взгляд также очень спорным является суМдонио, что «криптовалюта» является действительно деньгами и сочетает в сойо Ойо базовые функции доног - платежное средство и расчетная единица. Использование цифровой валюты наийОНоо обсуждаемый элемент блокчейна, ОсОйоннО осНи Она является публичной, такие как Bitcoin, Litecoin, Dogecoin и другие. Как и в случае с традиционной валютой, это тоже определенный сиПвОН и на этом на наш взгляд сходства заканчиваются. Даже такой ярый сторонник блокчейна как Уильям Могайар констатирует: «Криптовалюта очень эффективна в сетях, нО каждый раз кОгда Она сталкивается с реальным миром традиционных валют, возникает трение» [9]. Почему так происходит? Начиная сО времени «золотого стандарта» объединение функций платежного средства и расчетной единицы привело Đş появлению гНавнОК функции доног - сохранения стоимости. Эта позиция сохранилась и пОсНо отмены золотого стандарта и ввОда бумажных доног. Национальные государственные валюты используемые как платежное средство имеют фиксированное отношение Đş расчетной единице и следовательно сохраняют стоимость. Сторонники блокчейна характеризуют криптовалюту как некапиталистическую форму доног, то есть пО их мнению отсутствуют посредники и соответственно сохраняется йаНанс интересов. Стоит отметить, что попытки создания некапиталистических валют уМо предпринимались и ранее. Наиболее ярким является пример «банкора». Выдающийся экономист Джон Кейнс разрабатывал систему в которой нет платежных средств, а деньги являются нематериальной абстрактной расчетной единицей. Для международных транзакций создается международная валюта «банкор», которая генерируется каждый раз кОгда нуМнО профинансировать внешнеторговый дисйаНанс. Это предложение но нашНО свОогО применения на практике. На наш взгляд такая система ведет Đş неопределенности пО обязательствам и ликвидации гарантий пО возращению дОНга. Устраняет неопределенность только сохранение стоимости. И тот Мо самый Джон Кейнс в свОоП гНавнОП научном труде «Теория процентной ставки» констатирует, что «процентная ставка объясняется спросом на деньги как средство сохранения стоимости» [7]. Все остальные активы, а всо криптовалюты ПОМнО отнести иПоннО Đş нематериальным активам, ноĐ";"""citation_keywords"",""BLOCKCHAIN, CRYPTOCURRENCY, BUSINESS PROCESSES, MONEY, CURRENCY, BUSINESS, ""og:image"",""https://cyberleninka.ru/article/n/blokcheynu-10-let-illyuzii-razrabotchikov-i-perspektivy-dlya-biznesa/og"" ""og:image:width"",""1074"" ""twitter:card"",""summary_large_image"" ""eprints.ispublished"",""pub"" ""og:site_name"",""КиберЛенинка"" ""keywords"",""научная статья бесплатно на тему Блокчейну - 10 лет: иллюзии разработчиков и перспективы для йиСноса текст научной работы пО экономике и йиСносу иС научного журнала Вестник АкадоПии СнаниК. BLOCKCHAIN, CRYPTOCURRENCY, BUSINESS PROCESSES, MONEY, CURRENCY, BUSINESS, БЛОКЧЕЙН, КРИПТОВАЛЮТА, БИЗНЕС-ПРОЦЕССЫ, ДЕНЬГИ, ВАЛЮТА, ПРЕДПРИНИМАТЕЛЬСКАЯ ДЕЯТЕЛЬНОСТЬ"" ""eprints.pagerange"",""8-12"" ""citation_journal_title"",""Вестник АкадоПии СнаниК"" ""eprints.publication"",""Вестник АкадоПии СнаниК"" ""language"",""ru"" ""og:description"",""В статье опровергается ОднО иС базовых утверждение разработчиков блокчейн технологий и авторов большинства научных работ Đž том, что каждая учетная запись с переходом состояния является прямой передачей стоимости и информации ПоМду учетными записями. Обосновывается, что криптовалюты необходимо рассматривать как Одну иС форм безналичного расчета, в ОснОво которого лежат реальные деньги, трансформируемые пО средством ПаКнинга в определенный заменитель, пО свОиП свойствам ПаНО отличимый от таких производных как например «полетные ПиНи. На взгляд автора криптовалюта является инструментом привязки пользователя Đş определенной блокчейн технологии хранения и обработки данных. Любые криптовалюты привязывают пользователей Đş определенному распределенному регистру, то есть пользователи выбирают определенную технологию программного обеспечения для ведения хозяйственной деятельности. ТО есть пользователь выбирает только лишь усНугу пО отслеживанию и фиксации необходимых наП действий, нО но передаче стоимости. В тоже время с точки зрения ведения йиСноса очень полезным является то, что блокчейн-платформы могут служить хранилищем имеющих общественную значимость СаписоК, таких как реестры документов, событий, личных данных. Для йиСноса наийОНоо перспективным ПОМнО считать объединение блокчейн технологий и «больших данных», то есть появляется возможность моделировать большое количество йиСнос-процессов."" ""eprints.full_text_status"",""public"" ""citation_issn"",""2304-6139"" ""dc:title"",""Блокчейну - 10 лет: иллюзии разработчиков и перспективы для йиСноса – тема научной статьи пО экономике и йиСносу читайте бесплатно текст научно-исследовательской работы в электронной библиотеке КиберЛенинка"" ""eprints.place_of_pub"",""Россия, Краснодар"" ""Content-Encoding"",""UTF-8"" ""citation_pdf_url"",""https://cyberleninka.ru/article/n/blokcheynu-10-let-illyuzii-razrabotchikov-i-perspektivy-dlya-biznesa/pdf"" ""robots"",""NOODP"",""noyaca"" ""eprints.volume"","""" ""eprints.citation"",""Полянин А.В. Блокчейну - 10 лет: иллюзии разработчиков и перспективы для йиСноса // Вестник АкадоПии СнаниК. 2019. Выпуск номер 1 (30), ĐĄ.8-12"" ""eprints.number"",""1 (30)"" ""citation_author"",""Полянин А.В."" ""resourceName"",""blokcheynu-10-let-illyuzii-razrabotchikov-i-perspektivy-dlya-biznesa"" ""citation_abstract_html_url"",""https://cyberleninka.ru/article/n/blokcheynu-10-let-illyuzii-razrabotchikov-i-perspektivy-dlya-biznesa"" ""citation_issue"",""1 (30)"" ""eprints.abstract"",""The article refutes one of the basic statements of the developers of blockchain technologies and the authors of most scientific works that each account with the transition of the state is a direct transfer of value and information between accounts. Proves that cryptocurrencies should be seen as a form of cashless payment, which is based on real money that is transformed by hashing into a specific substitute, their properties are indistinguishable from these derived such as """"mileage"""". In the author's opinion, the cryptocurrency is a tool for binding the user to a certain blockchain technology of data storage and processing. Any cryptocurrency tie users to a particular distributed case, i.e. users select a specific software technology for business activities. Thanks to a certain blockchain platform or blockchain technology, the user chooses only the service of tracking and recording the actions we need, but not the transfer of cost. At the same time, from the point of view of doing business, it is very useful that blockchain platforms can serve as a repository of records of public importance, such as registers of documents, events, personal data. For business, the most promising can be considered a combination of blockchain technology and"""" big data"""", that is, there is an opportunity to simulate a large number of business processes"",""В статье опровергается ОднО иС базовых утверждение разработчиков блокчейн технологий и авторов большинства научных работ Đž том, что каждая учетная запись с переходом состояния является прямой передачей стоимости и информации ПоМду учетными записями. Обосновывается, что криптовалюты необходимо рассматривать как Одну иС форм безналичного расчета, в ОснОво которого лежат реальные деньги, трансформируемые пО средством ПаКнинга в определенный заменитель, пО свОиП свойствам ПаНО отличимый от таких производных как например «полетные ПиНи. На взгляд автора криптовалюта является инструментом привязки пользователя Đş определенной блокчейн технологии хранения и обработки данных. Любые криптовалюты привязывают пользователей Đş определенному распределенному регистру, то есть пользователи выбирают определенную технологию программного обеспечения для ведения хозяйственной деятельности. ТО есть пользователь выбирает только лишь усНугу пО отслеживанию и фиксации необходимых наП действий, нО но передаче стоимости. В тоже время с точки зрения ведения йиСноса очень полезным является то, что блокчейн-платформы могут служить хранилищем имеющих общественную значимость СаписоК, таких как реестры документов, событий, личных данных. Для йиСноса наийОНоо перспективным ПОМнО считать объединение блокчейн технологий и «больших данных», то есть появляется возможность моделировать большое количество йиСнос-процессов."" ""eprints.eissn"",""2687-0983"" ""citation_volume"","""" ""format-detection"",""telephone=no"" ""citation_publication_date"",""2019"" ""citation_title"",""Блокчейну - 10 лет: иллюзии разработчиков и перспективы для йиСноса"" ""eprints.date"",""2019"" ""citation_publisher"",""Общество с ограниченной ответственностью «Академия СнаниК"" ""eprints.type"",""article"" ""description"",""В статье опровергается ОднО иС базовых утверждение разработчиков блокчейн технологий и авторов большинства научных работ Đž том, что каждая учетная запись с переходом состояния является прямой передачей стоимости и информации ПоМду учетными записями. Обосновывается, что криптовалюты необходимо рассматривать как Одну иС форм безналичного расчета, в ОснОво которого лежат реальные деньги, трансформируемые пО средством ПаКнинга в определенный заменитель, пО свОиП свойствам ПаНО отличимый от таких производных как например «полетные ПиНи. На взгляд автора криптовалюта является инструментом привязки пользователя Đş определенной блокчейн технологии хранения и обработки данных. Любые криптовалюты привязывают пользователей Đş определенному распределенному регистру, то есть пользователи выбирают определенную технологию программного обеспечения для ведения хозяйственной деятельности. ТО есть пользователь выбирает только лишь усНугу пО отслеживанию и фиксации необходимых наП действий, нО но передаче стоимости. В тоже время с точки зрения ведения йиСноса очень полезным является то, что блокчейн-платформы могут служить хранилищем имеющих общественную значимость СаписоК, таких как реестры документов, событий, личных данных. Для йиСноса наийОНоо перспективным ПОМнО считать объединение блокчейн технологий и «больших данных», то есть появляется возможность моделировать большое количество йиСнос-процессов."" ""title"",""Блокчейну - 10 лет: иллюзии разработчиков и перспективы для йиСноса – тема научной статьи пО экономике и йиСносу читайте бесплатно текст научно-исследовательской работы в электронной библиотеке КиберЛенинка"" ""eprints.document_url"",""https://cyberleninka.ru/article/n/blokcheynu-10-let-illyuzii-razrabotchikov-i-perspektivy-dlya-biznesa"" ""twitter:site"",""@CyberLeninka"" ""citation_fulltext_html_url"",""https://cyberleninka.ru/article/n/blokcheynu-10-let-illyuzii-razrabotchikov-i-perspektivy-dlya-biznesa"" ""eprints.keywords"",""BLOCKCHAIN, CRYPTOCURRENCY, BUSINESS PROCESSES, MONEY, CURRENCY, BUSINESS, БЛОКЧЕЙН, КРИПТОВАЛЮТА, БИЗНЕС-ПРОЦЕССЫ, ДЕНЬГИ, ВАЛЮТА, ПРЕДПРИНИМАТЕЛЬСКАЯ ДЕЯТЕЛЬНОСТЬ"" ""Content-Type-Hint"",""text/html; charset=utf-8"" ""eprints.publisher"",""Общество с ограниченной ответственностью «Академия СнаниК"" ""Content-Type"",""text/html; charset=UTF-8"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""og:type"",""article"" ""eprints.title"",""Блокчейну - 10 лет: иллюзии разработчиков и перспективы для йиСноса"" ""og:title"",""Блокчейну - 10 лет: иллюзии разработчиков и перспективы для йиСноса"" ""og:image:height"",""480"" ""eprints.creators_name"",""Полянин А.В."" ""eprints.date_type"",""published"" ""viewport"",""width=device-width, initial-scale=1"" ""apple-mobile-web-app-capable"",""yes"" ""og:url"",""https://cyberleninka.ru/article/n/blokcheynu-10-let-illyuzii-razrabotchikov-i-perspektivy-dlya-biznesa"" ""citation_eissn"",""2687-0983"" ""eprints.metadata_visibility"",""show"" ""eprints.refereed"",""TRUE"" ""eprints.issn"",""2304-6139"" ";https://scholar.google.com/scholar?start=880&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094651-1126;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;White-box implementation of Shamir's identity-based signature scheme;Q Feng, D He, H Wang, N Kumar… ; IEEE Systems …, 2019 ieeexplore.ieee.org;;"… 1) Setup: For a given RSA instance (n, e, y = xe), B initials three empty lists Listh1 , Listh2 , and ListKey and chooses two random oracles as hash functions h1 and h2. Finally, B sends (n, e, h1,h2) as the system parameters params to A. 2) h1-Hash Oracle: For input of identity ID …";Cité 2 fois;Les 2 versions;[PDF] ieee.org;https://ieeexplore.ieee.org/iel7/4267003/4357939/08710266.pdf?casa_token=mi7AHnX5FCYAAAAA:TRIZnh3uEZew_HLllj_ZxJ61QUvvIGkfKB1aXcP7jl2lwLsqMem3QnIzUN3IJUX326oGcAT291E;" Skip to Main Content IEEE Account Change Username/Password Update Address Purchase Details Payment Options Order History View Purchased Documents Profile Information Communications Preferences Profession and Education Technical Interests Need Help? US & Canada: +1 800 678 4333 Worldwide: +1 732 981 0060 Contact & Support About IEEE Xplore Contact Us Help Accessibility Terms of Use Nondiscrimination Policy Sitemap Privacy & Opting Out of Cookies A not-for-profit organization, IEEE is the world's largest technical professional organization dedicated to advancing technology for the benefit of humanity. Š Copyright 2021 IEEE - All rights reserved. Use of this web site signifies your agreement to the terms and conditions. ";"""og:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""twitter:title"",""White-Box Implementation of Shamir’s Identity-Based Signature Scheme"" ""twitter:card"",""summary"" ""Description"",""Digital signature schemes have been extensively studied in the literature, where a large number of such schemes with different properties have been designed for"" ""og:title"",""White-Box Implementation of Shamir’s Identity-Based Signature Scheme"" ""resourceName"",""08710266.pdf"" ""language"",""en"" ""title"",""White-Box Implementation of Shamir’s Identity-Based Signature Scheme | IEEE Journals & Magazine | IEEE Xplore"" ""og:description"",""Digital signature schemes have been extensively studied in the literature, where a large number of such schemes with different properties have been designed for different applications. For example, identity-based signature (IBS) schemes can efficiently map a user's digital public key to his/her real-world identity (e.g., e-mail address). However, existing implementations of IBS schemes are not generally designed for white-box security (WBS), particularly concerning the protection of the private key when special attackers have full access to the execution environment. Therefore, in this paper, we propose the first white-box implementation for the classical Shamir's IBS scheme. The basic idea is to utilize a mathematical transformation for embedding private key into some special tables, such that the original private key could be “invisible” during the execution process. We then analyze the security requirements achieved in our implementation, including the conventional black-box security under the random oracle model and WBS (e.g., key recovery attack resilience). This is the first IBS scheme implementation that satisfies WBS. It is also shown from the simulation that the implementation incurs a constant computational cost, which is realistic in deployments where a high security level is required."" ""twitter:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-UA-Compatible"",""IE=Edge"" ""viewport"",""width=device-width, initial-scale=1.0"" ""dc:title"",""White-Box Implementation of Shamir’s Identity-Based Signature Scheme | IEEE Journals & Magazine | IEEE Xplore"" ""twitter:description"",""Digital signature schemes have been extensively studied in the literature, where a large number of such schemes with different properties have been designed for different applications. For example, identity-based signature (IBS) schemes can efficiently map a user's digital public key to his/her real-world identity (e.g., e-mail address). However, existing implementations of IBS schemes are not generally designed for white-box security (WBS), particularly concerning the protection of the private key when special attackers have full access to the execution environment. Therefore, in this paper, we propose the first white-box implementation for the classical Shamir's IBS scheme. The basic idea is to utilize a mathematical transformation for embedding private key into some special tables, such that the original private key could be “invisible” during the execution process. We then analyze the security requirements achieved in our implementation, including the conventional black-box security under the random oracle model and WBS (e.g., key recovery attack resilience). This is the first IBS scheme implementation that satisfies WBS. It is also shown from the simulation that the implementation incurs a constant computational cost, which is realistic in deployments where a high security level is required."" ""Content-Encoding"",""UTF-8"" ""Content-Type-Hint"",""text/html; charset=utf-8"" ""Content-Length"",""48374"" ""Content-Language"",""en-US"" ""Content-Type"",""text/html; charset=UTF-8"" ";https://scholar.google.com/scholar?start=940&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094579-818;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[HTML][HTML] Controlled secure social cloud data sharing based on a novel identity based proxy re-encryption plus scheme;XA Wang, F Xhafa, J Ma, Z Zheng ; Journal of Parallel and Distributed …, 2019 Elsevier;;"JavaScript is disabled on your browser. Please enable JavaScript to use all the features on this page. Skip to main content Skip to article …";Cité 12 fois;Les 4 versions;[HTML] sciencedirect.com;https://www.sciencedirect.com/science/article/pii/S0743731519302345?casa_token=cEP_Ji0PJ_oAAAAA:1qb_czdaBRCZKR5hSw2692Q3T0oO9mYcot7F5qJaMhQ8w5ciZ6KC-3wGd4Em29G1meD9k9oS;;;https://scholar.google.com/scholar?start=630&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094605-921;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Upper and lower bounds for continuous non-malleable codes;D Dachman;Soled, M Kulkarni  IACR International Workshop on Public …, 2019 Springer;;"… (CRYPTO'18) considered the construction of a relaxed notion of 2-split-state CNMC from minimal assumptions … mathsf {E}, \mathsf {D})\), where \(\mathsf {E}\) is the encoding function and \(\mathsf {D}\) is the decoding function, the adversary interacts with an oracle \(\mathcal {O …";Cité 6 fois;Les 2 versions;[PDF] iacr.org;https://eprint.iacr.org/2018/517.pdf;" Upper and Lower Bounds for Continuous Non-Malleable Codes Dana Dachman-Soled ? and Mukul Kulkarni University of Maryland, College Park, USA danadach@ece.umd.edu, mukul@terpmail.umd.edu Abstract. Recently, Faust et al. (TCC’14) introduced the notion of continuous non-malleable codes (CNMC), which provides stronger security guarantees than standard non-malleable codes, by allowing an adversary to tamper with the codeword in a continuous way instead of one-time tampering. They also showed that CNMC with information theoretic security cannot be constructed in the 2-split-state tampering model, and presented a construction in the common reference string (CRS) model from collision-resistant hash functions and non-interactive zero-knowledge proofs. In this work, we ask if it is possible to construct CNMC from weaker assumptions. We answer this question by presenting lower as well as upper bounds. We show that it is impossible to construct 2- split-state CNMC, with no CRS, for one-bit messages from any falsifiable assumption, thus establishing the lower bound. We additionally provide an upper bound by constructing 2-split-state CNMC for one- bit messages, assuming only the existence of a family of injective one way functions. We note that in a recent work, Ostrovsky et al. (CRYPTO’18) considered the construction of a relaxed notion of 2-split-state CNMC from minimal assumptions. We also present a construction of 4-split-state CNMC for multi-bit messages in CRS model from the same assumptions. Additionally, we present definitions of the following new primitives: 1) One-to-one commitments, and 2) Continuous Non-Malleable Randomness Encoders, which may be of independent interest. Keywords: Continuous non-malleable codes, black-box impossibility, split-state. 1 Introduction Non-malleable codes (NMC). Non-malleable codes were introduced by Dziembowski, Pietrzak and Wichs [36] as a relaxation of error-correcting codes, and are useful in settings where privacy—but not necessarily correctness—is desired. The main application of non-malleable codes proposed in the literature is for pro- tecting a secret key stored on a device against tampering attacks, although non-malleable codes have also found applications in other of areas of cryptography [25, 24, 48] and theoretical computer science [20]. Continuous Non-malleable codes (CNMC). Importantly, standard non-malleable codes achieve security only against one-time tampering. So in applications, the non-malleable encoding of a secret key must be continually decoded and re-encoded, incurring overhead in computation and in generation of randomness for re-encoding. This motivated a stronger notion of non-malleable codes, continuous non-malleable codes (CNMC), intro- duced by Faust et al. [39]. This definition allows many-time tampering–i.e. the adversary can continuously tamper with the codeword and observe the effects of the tampering. Due to known impossibility results, there must also be a “self-destruct” mechanism: If, upon decode, the device detects an error, then a “self-destruct” mechanism, which erases the secret key, is triggered, rendering the device useless. The notion of CNMC with respect to a tampering class F is as follows: Given a coding scheme Π = (E,D), where E is the encoding function and D is the decoding function, the adversary interacts with an oracle OΠ(C), parameterized by Π and an encoding of a message m, C ← E(m). We refer to the encoding C as the ? This work is supported in part by NSF grants #CNS-1840893, #CNS-1453045 (CAREER), by a research partner- ship award from Cisco and by financial assistance award 70NANB15H328 from the U.S. Department of Commerce, National Institute of Standards and Technology. “challenge” encoding. In each round, the adversary submits a tampering function f ∈ F . The oracle evaluates C ′ = f(C). If D(C ′) = ⊥, the oracle outputs ⊥ and a “self-destruct” occurs, aborting the experiment. If C ′ = C, the oracle outputs a special message “same.” Otherwise, the oracle outputs C ′. We emphasize that the entire tampered codeword is returned to the adversary in this case. A CNMC is secure if for every pair of messages m0,m1, the adversary’s view in the above game is computationally indistinguishable when the message is m0 or m1. Recently, Ostrovsky et al. [62] proposed a relaxed definition of CNMC (sufficient for many applications) along with a construction, in which the oracleOΠ(C) returns, if valid, the decoding of the tampered codeword D(C ′) (or “same”) instead of the tampered codeword C ′ as in the standard (original) definition of [39]. In terms of applications, the difference between the original notion (which we consider in this paper) and the notion of [62], is that the notion we consider captures stronger types of side-channel attacks: Our notion provides security against an adversary who tampers and additionally learns information about the modified codeword C ′ through other side-channels. As a concrete example, an interesting research direction is to compose a split-state CNMC (under the original definition) with a leakage-resilient circuit compiler, such as the compiler of Ishai, Sahai and Wagner [50], in order to yield a compiler that simultaneously provides security against tampering with memory and leakage on computation. For more discussion and comparison of this paper with [62] see Section 1.2. Split-state tampering. One of the most well-studied tampering classes for non-malleable codes is split-state tampering. Here, the codeword is split into sections and the adversarial tampering function may tamper each section independently. The case of 2-split-state tampering, where the codeword is split into two sections, is of particular interest. See Section 1.4 for a discussion of prior work on NMC and CNMC against split-state tampering. Information-theoretic impossibility. The original CNMC paper of [39] showed an information-theoretic im- possibility result for 2-split-state CNMC. To aid the subsequent discussion, we present an outline of this result. The impossibility result considers a property of 2-split-state CNMC known as (perfect) “unique- ness.” Informally, perfect uniqueness means that there do not exist triples (x, y, z) such that either (1) y 6= z ∧ D(x, y) 6= ⊥ ∧ D(x, z) 6= ⊥ OR (2) x 6= y ∧ D(x, z) 6= ⊥ ∧ D(y, z) 6= ⊥. First, a perfectly unique CNMC cannot be information-theoretically secure since, given L, the split-state tampering function can find the unique R such that D(L,R) 6= ⊥ and then tamper based on m = D(L,R). On the other hand, if the CNMC is not perfectly unique, then the following is an efficient attack (with non-uniform advice): Given a tuple L′1, L ′ 2, R ′ such that D(L′1, R ′) 6= ⊥ and D(L′2, R ′) 6= ⊥, the adversary can learn L bit-by-bit by using the following tampering function in the i-th round: fL does the following: If the i-th bit of L is equal to 0, replace L with L′1. Otherwise, replace L′ with L′2. fR always replaces R with R′. Now, in the i-th round, if the oracle returns (L′1, R ′), then the adversary learns that the i-th bit of L is equal to 0. If the oracle returns (L′2, R ′), then the adversary learns that the i-th bit of L is equal to 1. Once L is fully recovered, the adversary can tamper based on m = D(L,R). The computational setting. The above shows that the CNMC setting is distinguished from other NMC settings, since information-theoretic (unconditional) security is impossible. Prior work has shown how to construct 2-split-state CNMC in the CRS model under the assumptions of collision-resistant hash functions and NIZK. On the other hand, CNMC’s imply commitment schemes, which in turn imply OWF. It remains to determine where CNMC lies in terms of complexity assumptions and what are the minimal computational assumptions needed to achieve CNMC. As mentioned previously, a very recent work of Ostrovsky et al. [62] addressed minimizing computational assumptions under a relaxed definition of CNMC. See Section 1.2 for more details. Black-box reductions. In general, it is not feasible to unconditionally rule out the construction of a primitive G from a cryptographic assumption H, since unconditionally ruling it out is as hard as proving P 6= NP . Despite this, we can still show that the proof techniques we have at hand cannot be used to construct G from assumption H. In the literature, this is typically done by showing that there is no black-box reduction 2 from primitive G to assumption H. In this work, what we mean by a black-box reduction is a reduction that accesses the adversary in an input/output fashion only. However, we allow non-black-box usage of the assumption H in both the construction and the proof (see Definition 6 for a formal definition tailored to CNMC). While there are some exceptions [12, 14], the vast majority of cryptographic reductions are black-box in the adversary. 1.1 Our Results We present upper and lower bounds for CNMC in the 2-split-state model. First, we show that with no CRS, single-bit CNMC in the 2-split-state model (with a black-box security proof) is impossible to construct from any falsifiable assumption. Theorem 1 (Informal). There is no black-box reduction from a single-bit, 2-split-state, CNMC scheme Π = (E,D) to any falsifiable assumption. On the other hand, in the CRS model, we show how to achieve single-bit CNMC in the 2-split-state model from injective one-way functions. Theorem 2. Assuming the existence of an injective one-way function family, there is a construction of a 2-split-state CNMC for encoding single bit, in the CRS model. Moreover, the corresponding reduction is black-box. Actually, we show a somewhat more general result: First, we define a (to the best of our knowledge) new type of commitment scheme called one-to-one commitment schemes in the CRS model. Informally, these commitment schemes have the additional property that with all but negligible probability over ÎŁ produced by CRS generation, for every string com, there is at most a single string d that will be accepted as a valid decommitment for com (See Definition 9 for a formal definition). We also define the notion of a 2-split-state CNM Randomness Encoder, which is the continuous analogue of the non-malleable randomness encoder recently introduced by [53] (See Definition 5). We then show the following: Theorem 3. Assuming the existence of one-to-one commitment schemes in the CRS model, there is a construction of a 2-split-state CNM Randomness Encoder in the CRS model. Moreover, the corresponding reduction is black-box. One-to-one commitment schemes in the CRS model can be constructed from any injective one-way function family. Furthermore, we show (in Appendix B) that 2-split-state CNM Randomness Encoders in the CRS model imply 2-split-state CNMC for encoding single bit, in the CRS model. We therefore obtain Theorem 2 as a corollary. Moreover, CNMC with perfect uniqueness in the CRS model implies one-to-one commitment schemes in the CRS model in a straightforward way (see Appendix C). We leave open the question of constructing CNMC in the CRS model from (non-injective) one-way func- tions and/or showing a black-box separation between the two primitives. Finally, we extend the techniques from our single-bit construction above to achieve the following: Theorem 4. Assuming the existence of one-to-one commitment schemes in the CRS model, there is a construction of a multi-bit, 4-split-state CNMC in the CRS model. Moreover, the corresponding reduction is black-box. Are prior CNMC reductions “black-box”? Prior CNMC reductions often proceed in a sequence of hybrids, where in the final hybrid, the description of the adversary is incorporated in the definition of a leakage function. It is then shown that the leakage-resilience properties of an underlying encoding imply that the view of the adversary is statistically close when the encoded message is set to m0 or m1. While this may seem like non-black-box usage of the adversary, we note that typically the leakage-resilience of the underlying encoding is information-theoretic. When converting a hybrid-style proof to a reduction, the reduction will choose one of the hybrid steps at random and use the fact that a distinguisher between some pair of consecutive hybrids implies an adversary breaking an underlying assumption. Therefore, reductions of the type discussed above are still black-box in the adversary, pairs of consecutive hybrids whose indistinguishability is implied by a computational assumption yield a reduction in which the adversary is used in a black-box manner. 3 1.2 Comparison with Ostrovsky et al. [62] The CNMC notion considered in this work is the original continuous non-malleable codes notion, first intro- duced in [39] and then further studied in several follow-up works (including [51, 34, 40]). Recently, Ostrovsky et. al. [62] introduced a relaxed notion of CNMC,1 which is sufficient for many applications. In the work of Ostrovsky et. al. [62], they refer to the original notion as “continuous super-non-malleability” (since it is analogous to “super-non-malleability”, a notion that was introduced in the non-continuous setting [41]). They then presented a construction achieving the relaxed definition (which they simply call “continuous non-malleability”), against 2-split-state tampering functions, assuming the existence of injective one-way functions in the plain model (without CRS). The difference between the two CNMC notions is that in the original CNMC notion, the tampering oracle returns the entire modified codeword C ′ if C ′ = f(C) 6= C and D(C) 6= ⊥, whereas the relaxation only requires the oracle to return D(C ′) but not C ′ itself. The original notion captures stronger types of tampering attacks; specifically, it provides security against an adversary who learns arbitrary additional information about the modified codeword C ′ through other side-channels. Our result and the result of [62] are complementary and together give a full picture of the landscape of assumptions required for CNMC. Our work shows that it is necessary to rely on setup assumptions (CRS) in order to achieve the original, stronger security definition of CNMC. Moreover, if one is willing to assume the existence of a CRS, we show that this type of CNMC can be achieved from nearly minimal computational assumptions. In contrast, if one is not willing to assume the existence of a CRS, the work of [62] achieves weaker security guarantees in the plain model (with no setup assumptions) from the same computational assumptions. We also note that the work of Ostrovsky et. al. [62] explicitly lists the question we address in this work as an interesting open problem. They state: Interesting open questions related to our work are, for instance, whether continuous non-malleability can be achieved, under minimal assumptions, together with additional properties, such as strong non-malleability, super-non-malleability, augmented non-malleability, and locality . . . 1.3 Technical Overview Lower bound. Recall that prior work has shown that if a CNMC is not perfectly unique, then there is an efficient attack (with non-uniform advice). Thus, it remains to show that there is no black-box reduction from a single-bit, perfectly unique CNMC scheme to any falsifiable assumption. We use the meta-reduction approach, which is to prove impossibility by showing that given only black-box access to the split-state adversary, A = (AL, AR), the reduction cannot distinguish between the actual adversary and a simulated (efficient) adversary (which is possibly stateful). Since the view of the reduction is indistinguishable in the two cases, the reduction must also break the falsifiable assumption when interacting with the simulated adversary. But this in turn means that there is an efficient adversary (obtained by composing the reduction and the simulated adversary), which contradicts the underlying falsifiable assumption. Consider the following stateless, inefficient, split-state adversary A = (AL, AR), which leverages the uniqueness property of the CNMC scheme: The real adversary, given L (resp. R), recovers the corresponding unique valid codeword (L,R) (if it exists) and decodes to get the bit b. If b = 0, the real adversary encodes a random bit b′ using internal randomness that is tied to (L,R), and outputs the left/right side as appropriate. If b = 1 or there is no corresponding valid codeword, the real adversary outputs the left/right side of a random encoding of a random bit, b′′ (generated using internal randomness that is tied to L or R respectively). The simulated adversary is stateful and keeps a table containing all the L and R values that it has seen. Whenever a L (resp. R) query is made, the simulated adversary first checks the table to see if a matching query to R (resp. L) such that D(L,R) 6= ⊥ was previously made. If not, the simulated adversary chooses a random encoding, (L′, R′), of a random bit b′, stores it in the table along with the L/R query that was made and returns either L′ or R′ as appropriate. If yes, the simulated adversary finds the corresponding R (resp. L) 1 A similar relaxed definition was previously given for a variant of CNMC, known as R- CNMC [37], but in this setting it was shown that it is actually impossible to achieve the stronger notion. 4 along with the pair (L′, R′) stored in the table. The simulated adversary then decodes (L,R) to find out b. If b = 0, the simulated adversary returns either L′ or R′ as appropriate. Otherwise, the simulated adversary returns the left/right side of an encoding of a random bit b′′. The uniqueness property allows us to prove that the input/output behavior of the real adversary is identical to that of the simulated adversary. See Section 3 for additional details. For a discussion on why our impossibility result does not hold for the relaxed CNMC notion considered by [62], see Appendix A. Upper bound. For the upper bound, we construct a new object called a continuous non-malleable randomness encoder (see Definition 5), which is the continuous analogue of the non-malleable randomness encoder recently introduced by [53]. Informally, a continuous non-malleable randomness encoder is just a non-malleable code for randomly chosen messages. It is then straightforward to show that a continuous non-malleable randomness encoder implies a single-bit continuous non-malleable code (see Appendix B). At a high level, the difficulty in proving continuous non-malleability arises from the need of the security reduction to simulate the interactive tampering oracle, without knowing the message underlying the “chal- lenge” encoding. The approach of prior work such as [39] was to include a NIZK Proof of Knowledge in each part of the codeword to allow the simulator to extract the second part of the encoding, given the first. This then allowed the simulator (with some additional leakage) to respond correctly to a tampering query, while knowing only one of the two split-states of the original encoding. In our setting, we cannot use NIZK, since our goal is to reduce the necessary complexity assumptions; therefore, we need a different extraction technique.2 Our main idea is as follows: To respond to the i-th tampering query, we run the adversarial tampering function on random (simulated) codewords (L′, R′) that are consistent with the output seen thus far (denoted Outi−1A ) and keep track of frequent outcomes (occurring with non-negligible probability) of the tampering function, L̂, R̂. I.e. SL (resp. SR) is the set of values of L̂ (resp. R̂) such that with non-negligible probability over choice of L′ (resp. R′), it is the case that L̂ = fL(L′) (resp. R̂ = fR(R′)). We then show that if the outcome of the tampering function applied to the actual “challenge” split-state L or R is not equal to one of these frequent outcomes (i.e. fL(L) /∈ SL or fR(R) /∈ SR), then w.h.p. the decode function D outputs ⊥. This will allow us to simulate the experiment with only a small amount of leakage (to determine which of the values in SL/SR should be outputted). Note that, while the sets SL/SR are small, and so only a few bits are needed to specify the outcome, conditioned on the outcome being in SL/SR, the CNMC experiment runs for an unbounded number of times, and so even outputting a small amount of information in each round can ultimately lead to unbounded leakage. To solve this problem, we also consider the most frequent outcome in the sets SL/SR. This is the value of L̂ (resp. R̂) that occurs with the highest probability when fL(L′) (resp. fR(R′)) is applied to consistent L′ (resp. R′). Note that if a value L̂′ (resp. R̂′) is not the most frequent value, then it occurs with probability at most 1/2. We argue that, for each round i of the CNMC experiment, the probability that a value L̂′ (resp. R̂′) that is not the most frequent value is outputted by fL (resp. fR) and self-destruct does not occur is at most 1/2. This allows us to bound, w.h.p., the number of times in the entire tampering experiment that the value outputted by fL (resp. fR) is not the most frequent value. Thus, when the value outputted by fL (resp. fR) is the most frequent value, the leakage function outputs nothing, since the most frequent value can be reconstructed from the given information. In contrast, if the value outputted by fL (resp. fR) is not the most frequent value, but is in the sets SL/SR, then it has a small description and, moreover, this event occurs a bounded number of times. Therefore, we can afford to leak this information up to some upperbounded number of rounds, while the total amount of leakage remains small relative to the length of the encoding. Looking ahead, our construction will use a two-source extractor, whose properties will guarantee that even given the leakage (which contains all the information needed to simulate the CNMC experiment), the decoded value remains uniform random. To show that if the outcome of the tampering function is not in SL or SR, then decode outputs ⊥ w.h.p., we first use the “uniqueness” property, which says that for every L̂ = fL(L) (resp. R̂ = fR(R)), 2 Note that our extraction technique is inefficient. This is ok, since the goal of the extraction technique is simply to show that the view of the adversary can be simulated given a small amount of leakage on each of the two split-states. Then, information-theoretic properties of the encoding are used to show that the view of the adversary must be independent of the random encoded value. 5 there is at most a single “match”, R̂′ (resp. L̂′), such that DÎŁ(L̂, R̂′) 6= ⊥ (resp. DÎŁ(L̂′, R̂) 6= ⊥). Given the “uniqueness” property, it is sufficient to show that for every setting of L,Outi−1A Pr[fR(R) = R̂′ ∧ R̂′ /∈ SR | L ∧ Outi−1A ] ≤ negl(n) (1) and that for every setting of R ∧ Outi−1A Pr[fL(L) = L̂′ ∧ L̂′ /∈ SL | R ∧ Outi−1A ] ≤ negl(n). (2) To prove the above, we first argue that for the “challenge” codeword, (L,R), the split-states L and R are conditionally independent, given Outi−1A (assuming no ⊥ has been outputted thus far) and an additional simulated part of the codeword. This means that the set of frequent outcomes SL (resp. SR) conditioned on Outi−1A is the same as the set of frequent outcomes SL (resp. SR) conditioned on both Outi−1A and R (resp. L). So for any R̂ /∈ SR, Pr[fR(R) = R̂ | L ∧ Outi−1A ] ≤ negl(n) and for any L̂ /∈ SL, Pr[fL(L) = L̂ | R ∧ Outi−1A ] ≤ negl(n). Since R̂′ (resp. L̂′) is simply a particular setting of R̂ /∈ SR (resp. L̂ /∈ SL), we have that (1) and (2) follow. For the above analysis, we need the encoding scheme to possess the following property: The L,R sides of the “challenge” codeword are conditionally independent given Outi−1A (and an additional simulated part of the codeword), but any tampered split-state fL(L) or fR(R) created by the adversary has at most a single “match,” R̂′ or L̂′. To explain how we achieve this property, we briefly describe our construction. Our construction is based on a non-interactive, equivocal commitment scheme in the CRS model and a two-source (inner product) extractor. Informally, an equivocal commitment scheme is a commitment scheme with the normal binding and hiding properties, but for which there exists a simulator that can output simulated commitments which can be opened to both 0 and 1. In the CRS model, the simulator also gets to sample a simulated CRS. Moreover, the CRS and commitments produced by the simulator are indistinguishable from real ones. To encode a random value m, random vectors cL, cR such that 〈cL, cR〉 = m are chosen. We generate a commitment com to cL||cR. The commitment scheme has the additional property that adversarially produced commitments are statistically binding (even if an equivocal commitment has been released) and have at most a single valid decommitment string. The left (resp. right) split-state L (resp. R) consists of com and an opening of com to the bits of cL (resp. cR). The special properties of the commitment scheme guarantee the “perfect uniqueness” property of the code. In the security proof, we replace the statistically binding commitment com in the “challenge” codeword with an equivocal commitment. Thus, each split-state of the challenge encoding, L (resp. R), contains no information about cR (resp. cL). Moreover, assuming “⊥” is not yet outputted, the output received by the adversary in the experiment at the point that the i-th tampering function is submitted, denoted Outi−1A is of the form (f1L(L) = v1, f 1 R(R) = w1), . . . , (f i−1L (L)) = vi−1, f i−1 R (R) = wi−1), where for j ∈ [i − 1], vj is equal to the left value outputted in response to the j-th query and wj is equal to the right value outputted in response to the j-th query. (note that vj/wj can be set to “same” if the tampering function leaves L/R unchanged). This allows us to argue that the distribution of L | Outi−1A , R (resp. R | Outi−1A , L) is identical to the distribution of L | Outi−1A (resp. R | Outi−1A ) which implies that the left and right hand sides are conditionally independent given Outi−1A and the equivocal commitment, as desired. See Section 4 for additional details. Extension to 4-state CNMC in CRS model from OWF. To encode a message m we now generate random (cL,1, cR,1, cL,2, cR,2) conditioned on 〈cL,1, cR,1〉+〈cL,2, cR,2〉 = m (where addition is over a finite field). Now, we generate a commitment com to cL,1||cR,1||cL,2||cR,2. Each of the four split states now consists of com and an opening of com to the bits of cL,b (resp. cR,b). The analysis is similar to the previous case and requires the property that at each point in the experiment the distribution of 〈cL,1, cR,1〉 (resp. 〈cL,2, cR,2〉) is uniform random, conditioned on the output thus far. Our techniques are somewhat similar to those used in [34] in their construction of 2t-split-state continuously non-malleable codes from t-split-state one-way continuously non-malleable codes. See Section 5 for additional details. 6 1.4 Additional Related Work Non-Malleable Codes. The notion of non-malleable codes (NMC) was formalized in the seminal work of Dziembowski, Pietrzak and Wichs [36]. Split-state classes of tampering functions subsequently received a lot of attention with a long line of works, including [59, 35, 4, 19, 3, 8, 2, 52, 56]. Other works focused on various other classes of tampering functions, including [10, 7, 18, 38, 11, 9]. NMC have also been considered in several other models for various applications such as in [29, 17, 15]. Other works on non-malleable codes include [39, 22, 16, 6, 51, 40, 17, 54, 27, 34, 28]. Continuous Non-Malleable Codes Continuous Non-Malleable codes (CNMC) were introduced by Faust etal. [39]. They gave a construction based on collision resistant hash functions and non-interactive zero knowledge proof systems in the CRS model. They also showed the impossibility of constructing 2-split state CNMC information theoretically. Subsequently, Jafargholi and Wichs [51] presented a general study of CN- MCs and its variants with some existential results. Aggarwal et al. [5] gave the first information theoretic construction in the 8-split-state model. Recently, Damg̊ard et al. [30] gave the first construction of infor- mation theoretic CNMC against permutations. Faonio et al. [37] considered a variant of CNMC against split-state tampering where the codeword is refreshed (to avoid self-destruct) in the CRS model. For a discussion related to the recent work of Ostrovsky et al. [62], see Section 1.2 and Appendix A. Non-Malleable Randomness Encoders (NMRE) NMRE were introduced recently by Kanukurthi et al. [53] as a building block for constructing efficient (constant-rate) split-state NMC. In this work, we present the stronger variant Continuous NMRE which allows continual tampering in split-state model. Bounds on Non-Malleable Codes. Cheragachi and Guruswami [21] studied the “capacity” of non-malleable codes and their work has been instrumental in asserting the claims of efficient constructions for non-malleable codes since then (cf. [2, 7, 8]). A similar study was presented in [27] for locally decodable and updatable NMC. This work studies bounds for continuous non-malleable codes in terms of complexity assumptions. Black-Box Separations. Impagliazzo and Rudich ruled out black-box reductions from key agreement to one-way function in their seminal work [49]. Their oracle separation technique was subsequently used to rule out black-box reductions between various other primitives (cf. [69, 47] and many more). The meta- reduction technique (cf. [26, 63, 45, 42, 64, 46, 1, 68, 13, 44]) has been useful for ruling out larger classes of reductions—where the construction is arbitrary (non-black-box), but the reduction uses the adversary in a black-box manner. The meta-reduction technique is often used to provide evidence that construction of some cryptographic primitive is impossible under “standard assumptions” (e.g. falsifiable assumptions or non-interactive assumptions). 2 Definitions and Preliminaries Let N be the set of all natural numbers, i.e., N = {1, 2, 3, . . .}. For n ∈ N, we write [n] = {1, . . . , n}. For a set S, x ← S denotes, sampling an element x uniformly at random from the set S. For an algorithm A, y ← A(x) is the output obtained on execution of A on input x. If A(¡, ¡) is a randomized algorithm, then y ← A(x, r), is the output random variable for input x and randomness r. We also write, A(x) instead of A(x, r) if it is clear from the context for the brevity. A function δ(¡) is called negligible if for all sufficiently large n and for every polynomial p(¡), it holds that δ(n) < 1/p(n). In this paper, we will denote a negligible function by negl(¡). For a random variable X, we sometimes also denote the corresponding probability distribution by X. An ensemble of probability distributions {Xk}k∈N is a sequence of probability distributions. For two probability ensembles {X}k and {Y }k, defined over a domain S with finite support we say that {X}k and {Y }k are statistically indistinguishable if there exists a negligible function negl(¡) such that for all k ∈ N, 1 2 ∑ s∈S |Pr [Xk = s]− Pr [Yk = s]| ≤ negl(k) 7 We denote statistical indistinguishability by Xk s ≈Yk. Similarly, we say that two probability ensembles {X}k and {Y }k, defined over a domain S with finite support we say that {X}k and {Y }k are computationally indistinguishable if for all probabilistic polynomial time distinguishers D, there exists a negligible function negl(¡) such that for all k ∈ N,∣∣∣∣ Pr x←Xk [D(x) = 1]− Pr y←Yk [D(y) = 1] ∣∣∣∣ ≤ negl(k) We denote computational indistinguishability by Xk c ≈Yk. If S is a set, we denote by US the uniform distribution over S. For k ∈ N, we denote by Uk the uniform distribution over k-bit strings. 2.1 Randomness Extractors The following lemma is from [66]. Lemma 1 (Inner-Product Two-Source Extractor). Let X,Y , Z be correlated variables, where X,Y have their support in {0, 1}` = F ` Îť 2Îť and Îť|`, and are independent conditioned on Z. Let UÎť be uniform and independent on F2Îť . Then ∆((Z, 〈X,Y 〉), (Z,UÎť)) ≤ 2−s for ";"""date"",""2019-01-31T03:08:54Z"" ""pdf:PDFVersion"",""1.5"" ""pdf:docinfo:title"","""" ""xmp:CreatorTool"",""LaTeX with hyperref package"" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""subject"","""" ""language"",""en"" ""dc:format"",""application/pdf; version=1.5"" ""pdf:docinfo:creator_tool"",""LaTeX with hyperref package"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"","""" ""modified"",""2019-01-31T03:08:54Z"" ""cp:subject"","""" ""pdf:docinfo:subject"","""" ""pdf:hasMarkedContent"",""false"" ""pdf:docinfo:creator"","""" ""PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017) kpathsea version 6.2.3"" ""meta:author"","""" ""trapped"",""False"" ""meta:creation-date"",""2019-01-31T03:08:54Z"" ""created"",""2019-01-31T03:08:54Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2019-01-31T03:08:54Z"" ""resourceName"",""517.pdf"" ""Author"","""" ""producer"",""pdfTeX-1.40.18"" ""pdf:docinfo:producer"",""pdfTeX-1.40.18"" ""pdf:unmappedUnicodeCharsPerPage"",""2"",""32"",""0"",""16"",""34"",""44"",""1"",""25"",""8"",""2"",""58"",""26"",""56"",""26"",""102"",""74"",""101"",""93"",""66"",""116"",""98"",""88"",""103"",""118"",""103"",""52"",""5"",""0"",""0"",""36"",""6"" ""Keywords"","""" ""access_permission:modify_annotations"",""true"" ""dc:creator"","""" ""dcterms:created"",""2019-01-31T03:08:54Z"" ""Last-Modified"",""2019-01-31T03:08:54Z"" ""dcterms:modified"",""2019-01-31T03:08:54Z"" ""title"","""" ""Last-Save-Date"",""2019-01-31T03:08:54Z"" ""pdf:docinfo:keywords"","""" ""pdf:docinfo:modified"",""2019-01-31T03:08:54Z"" ""meta:save-date"",""2019-01-31T03:08:54Z"" ""pdf:docinfo:custom:PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017) kpathsea version 6.2.3"" ""Content-Length"",""539118"" ""Content-Type"",""application/pdf"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"","""" ""dc:subject"","""" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""31"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""3177"",""3917"",""3489"",""3968"",""4317"",""3665"",""3506"",""2041"",""1877"",""2158"",""2415"",""3292"",""3532"",""3059"",""2851"",""2032"",""2385"",""2852"",""2521"",""2804"",""2516"",""2089"",""2894"",""2422"",""1784"",""1070"",""2327"",""4133"",""4161"",""3436"",""1575"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""pdf:docinfo:trapped"",""False"" ""meta:keyword"","""" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2019-01-31T03:08:54Z"" ";https://scholar.google.com/scholar?start=740&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094588-859;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Approaching the communication constraints of ethereum-based decentralized applications;M Pustišek, A Umek, A Kos ; Sensors, 2019 mdpi.com;;"… chain”. This shortcoming could be outdone by oracles [16]. These serve as intermediaries, providing data feeds along with an authenticity proof to the blockchain from/to external software (eg, web sites) or hardware entities …";Cité 8 fois;Les 9 versions;[PDF] mdpi.com;https://www.mdpi.com/1424-8220/19/11/2647/pdf;;;https://scholar.google.com/scholar?start=670&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094633-1050;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[PDF][PDF] Chaintegrity: blockchain-enabled large-scale e-voting system with robustness and universal verifiability;S Zhang, L Wang, H Xiong ; International Journal of Information Security, 2019 Springer;;"… 3. We prove that our system fulfills all the requirements that a blockchain-enabled large-scale voting system should achieve … 1.1 Related works Initial attempts on designing e-voting protocols over block- chain spawned cryptocurrency incentive systems …";Cité 10 fois;;[PDF] springer.com;https://idp.springer.com/authorize/casa?redirect_uri=https://link.springer.com/content/pdf/10.1007/s10207-019-00465-8.pdf&casa_token=wTolGPlv-k8AAAAA:WJ7ojE47mEwnOcQEazCx94Slip6xxAx4v-6nGSbyje5Rb4QjuPSexEMIJZn3CEvQnSsh6IFYp6qT7YE;;;https://scholar.google.com/scholar?start=860&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094590-864;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[CITATION][C] 13 Smart Contracts;LDM Tshibende;;;null;;null;null;;;;https://scholar.google.com/scholar?start=680&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094642-1082;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[CITATION][C] Commercializing Blockchain: Strategic Applications in the Real World;A Welfare ;2019 John Wiley & Sons;;null;Cité 5 fois;Les 2 versions;null;;;;https://scholar.google.com/scholar?start=900&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094541-654;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;The Latest from Corda: Cordite, Corda Enterprise, and Settler;D Mohanty ; R3 Corda for Architects and Developers, 2019 Springer;;"… 8. Oracle Sees 10% of Global GDP Stored in Blockchain by 2027 (www.nextbigfuture.com/2017/ 10/oracle-sees-10-of-global-gdp-stored-in-blockchain-by-2027 … Banks Are Trying to Launch Crypto Assets with R3 Tech (www.coindesk.com/banks-trying-launch-crypto-assets-r3 …";Cité 1 fois;;null;;;;https://scholar.google.com/scholar?start=470&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094600-903;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Bitcoin/Blockchain;DW Staat ; A Baseline of Development: Higher Education and …, 2019 books.google.com;;"… They have made five predictions about the future of blockchain technology by the year 2030: • Prediction# 1: Government Crypto By 2030 most governments around the world will create or adopt some form of virtual … wsj. com/oracle/5-ways-blockchain-revolutionizing-higher …";Autres articles;;null;;;;https://scholar.google.com/scholar?start=720&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094541-656;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;APRNET: Achieving Privacy-Preserving Real-Name Authentication over Blockchain for Online Services;Y Xu, B Cao, R Lu, Q Zhang ; 2019 11th International …, 2019 ieeexplore.ieee.org;;"… To achieve the above privacy requirement, any data published by SPs over blockchain can be verified by the cloud server and … adopted, namely the bilinear pairing with composite order, BGN homomorphic encryption [11], BB short signature without random oracle [12], and …";Autres articles;;[PDF] ieee.org;https://ieeexplore.ieee.org/iel7/8914721/8927844/08928072.pdf?casa_token=KLekqWNsGpEAAAAA:Gx5RVQyc1fD-6roRMnfYjFJf7M9BdC-K5AzrNmdY9UfR5yidcbCa1Y-_GCqsHSk6ZmT6aiHE1Ec;" Skip to Main Content IEEE Account Change Username/Password Update Address Purchase Details Payment Options Order History View Purchased Documents Profile Information Communications Preferences Profession and Education Technical Interests Need Help? US & Canada: +1 800 678 4333 Worldwide: +1 732 981 0060 Contact & Support About IEEE Xplore Contact Us Help Accessibility Terms of Use Nondiscrimination Policy Sitemap Privacy & Opting Out of Cookies A not-for-profit organization, IEEE is the world's largest technical professional organization dedicated to advancing technology for the benefit of humanity. Š Copyright 2021 IEEE - All rights reserved. Use of this web site signifies your agreement to the terms and conditions. ";"""og:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""twitter:title"",""APRNET: Achieving Privacy-Preserving Real-Name Authentication over Blockchain for Online Services"" ""twitter:card"",""summary"" ""Description"",""With the proliferation of mobile Internet applications, online services become a double-edge sword to our daily life, wherein security and privacy are notable. "" ""og:title"",""APRNET: Achieving Privacy-Preserving Real-Name Authentication over Blockchain for Online Services"" ""resourceName"",""08928072.pdf"" ""language"",""en"" ""title"",""APRNET: Achieving Privacy-Preserving Real-Name Authentication over Blockchain for Online Services | IEEE Conference Publication | IEEE Xplore"" ""og:description"",""With the proliferation of mobile Internet applications, online services become a double-edge sword to our daily life, wherein security and privacy are notable. To ensure data security, service providers may require users to register using real-name data. Thus, verifying the real-name information without privacy leakage is critical. In this paper, we propose a privacy-preserving real-name authentication scheme based on a classic blockchain paradigm, named APRNET. By taking advantages of cloud-enabled trusted authorities and bilinear pairing, APRNET verifies users' data in an encrypted form, which guarantees data security and user privacy. Detailed security and performance analysis validate the effectiveness of APRNET."" ""twitter:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-UA-Compatible"",""IE=Edge"" ""viewport"",""width=device-width, initial-scale=1.0"" ""dc:title"",""APRNET: Achieving Privacy-Preserving Real-Name Authentication over Blockchain for Online Services | IEEE Conference Publication | IEEE Xplore"" ""twitter:description"",""With the proliferation of mobile Internet applications, online services become a double-edge sword to our daily life, wherein security and privacy are notable. To ensure data security, service providers may require users to register using real-name data. Thus, verifying the real-name information without privacy leakage is critical. In this paper, we propose a privacy-preserving real-name authentication scheme based on a classic blockchain paradigm, named APRNET. By taking advantages of cloud-enabled trusted authorities and bilinear pairing, APRNET verifies users' data in an encrypted form, which guarantees data security and user privacy. Detailed security and performance analysis validate the effectiveness of APRNET."" ""Content-Encoding"",""UTF-8"" ""Content-Type-Hint"",""text/html; charset=utf-8"" ""Content-Length"",""40549"" ""Content-Language"",""en-US"" ""Content-Type"",""text/html; charset=UTF-8"" ";https://scholar.google.com/scholar?start=470&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094539-642;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;… Analyse der Chancen und Risiken einer Zukunftstechnologie sowie der Vereinbarkeit der Systemkreise Technik und Recht (Blockchain Technology, Smart Contracts …;N Bilski ; Available at SSRN 3425805, 2019 papers.ssrn.com;;"… V I. Die Blockchain-Technologie. . . . . 1 … 27 III. Weitere technische Konzepte und Begrifflichkeiten. . . . . 32 1. Oracles – Schnittstellen zur „realen Welt“ . . . . 32 2. TokenundICO …";Autres articles;;[PDF] researchgate.net;https://www.researchgate.net/profile/Nico_Bilski/publication/334883705_Blockchain-Technologie_Smart_Contracts_und_selbstvollziehende_Vertrage_-_Eine_Analyse_der_Chancen_und_Risiken_einer_Zukunftstechnologie_sowie_der_Vereinbarkeit_der_Systemkreise_Technik_und_Recht/links/5d44010b299bf1995b5e7bf5/Blockchain-Technologie-Smart-Contracts-und-selbstvollziehende-Vertraege-Eine-Analyse-der-Chancen-und-Risiken-einer-Zukunftstechnologie-sowie-der-Vereinbarkeit-der-Systemkreise-Technik-und-Recht.pdf;;;https://scholar.google.com/scholar?start=460&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094651-1122;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[PDF][PDF] The formation of smart contracts and beyond: Shaking the fundamentals of contract law;M Durovic, A Janssen ; Smart Contracts and Blockchain …, 2019 researchgate.net;;"… trigger the compensation can be verified reliably by oracles, which means by external sources … It needs an external source, which is an 'oracle'. Oracle is a service called … Once the proposed smart contract is posted on the blockchain and fulfilled the requirements …";Cité 9 fois;Les 2 versions;[PDF] researchgate.net;https://www.researchgate.net/profile/Andre_Janssen/publication/327732779_The_Formation_of_Smart_Contracts_and_Beyond_Shaking_the_Fundamentals_of_Contract_Law/links/5ba16339299bf13e603bbaa7/The-Formation-of-Smart-Contracts-and-Beyond-Shaking-the-Fundamentals-of-Contract-Law.pdf;;;https://scholar.google.com/scholar?start=940&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094656-1147;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;How New Business Models Can Address Human Rights Risks in the Cobalt Supply Chain;S Cremer ; Available at SSRN 3679885, 2019 papers.ssrn.com;;"… 4 'Ford Motor Company, Huayou Cobalt, IBM, LG Chem and RCS Global Launch Blockchain Pilot to Address Concerns in Strategic Mineral Supply Chains', IBM News Room, 16 January 2019, https://newsroom.ibm.com/2019-01-16-Ford-Motor-Company-Huayou-Cobalt-IBM-LG …";Cité 2 fois;;[PDF] gcbhr.org;https://gcbhr.org/backoffice/resources/ssrn-id3679885.pdf;" 1 How New Business Models Can Address Human Rights Risks in the Cobalt Supply Chain DorothĂŠe Baumann-Pauly & Serra Cremer Iyi Introduction In July 2019, 43 miners were killed in a landslide in a cobalt mine in southeastern Katanga Province of the Democratic Republic of the Congo (DRC). A subsidiary of Switzerland-based commodity trading and mining company Glencore operated the mine. The accident occurred in a concession designated exclusively for industrial mining. 1 Investigations of the Glencore accident revealed that the miners who died were not authorized to enter the concession but were among the estimated 2,000 artisanal miners who trespass on the concession on a daily basis to extract high-value metals with basic means.2 The accident showed that unauthorized, informal mining is a business reality in the DRC, which has about half of the world’s cobalt reserves.3 Cobalt is vital for making rechargeable batteries, and its consumption is expected to multiply eightfold by 2026 and 14 times its current levels in the next decade.4 With no alternatives to the DRC’s production capacity, companies that manufacture batteries are dependent on Congolese cobalt. 1 ‘Dozens killed in DRC Glencore copper mine accident’, The Guardian, (27 June 2019), 2 Ibid. 3 Thomas R. Yager, ‘The Mineral Industry of Congo (Kinshasa)’, (US Geological Survey (USGS), 2015). 4 ‘Ford Motor Company, Huayou Cobalt, IBM, LG Chem and RCS Global Launch Blockchain Pilot to Address Concerns in Strategic Mineral Supply Chains’, IBM News Room, 16 January 2019, https://newsroom.ibm.com/2019-01-16-Ford-Motor-Company-Huayou-Cobalt-IBM-LG-Chem-and-RCS- Global-Launch-Blockchain-Pilot-to-Address-Concerns-in-Strategic-Mineral-Supply-Chains (accessed 8 August 2019); World Economic Forum, ‘Global Battery Alliance Value Chain Roadmap’, (5 August 2019). Electronic copy available at: https://ssrn.com/abstract=3679885 2 The so-called artisanal small-scale mining (ASM), a term that refers to mining without heavy machinery, accounts for 20% to 30% of the country’s total cobalt production.5 ASM is common in the DRC, as mining provides the only livelihood other than farming for many communities. While there are several conflicting estimates as to the total number of artisanal miners in the country, the DRC Chamber of Mines and the International Institute for Sustainable Development estimate that in 2015 about 2 million Congolese were involved in ASM, while the global union IndustriALL puts the number at more than 12 million.6 Amnesty International estimates that there are 200,000 artisanal miners in the cobalt-rich Katanga region, with around 1.2 million people dependent on income from this activity.7 In 2012, UNICEF reported that there were 40,000 children working in artisanal mines in southern Katanga, while the U.S. Department of State reported in 2019 that 40% of Katanga’s miners were children who worked under the same dangerous conditions as adults.8 The U.S. Department of Labor 2017 findings on the Worst Forms of Child Labor stated that 36% of Congolese children between the ages of 5 and 14 were employed, often in mining activities.9 Due to the seasonal and price-sensitive nature of ASM, and the lack of oversight at ASM sites, it is very difficult to ascertain the exact number of artisanal miners and child workers and therefore the true extent of ASM-related human rights issues in the DRC. 5 RCS Global, ‘The Emerging Cobalt Challenge’, (October 2016), https://www.rcsglobal.com/wp- content/uploads/rcs/pdfs/RCS-Global-The-Emerging-Cobalt-Challenge.pdf (accessed 30 July 2019); ‘DRC: Miners on hold while government stalls’, The Africa Report, (2 August 2019) https://www.theafricareport.com/15892/drc-miners-on-hold-while-government-stalls/ (accessed 6 August 2019). 6 Chambre des Mines, Federation des Entreprises du Congo, ‘2015 DRC Mining Industry Annual Report’, (February 2016); Intergovernmental Forum on Mining, Minerals, Metals and Sustainable Development (IGF), ‘Global Trends in Artisanal and Small-Scale Mining (ASM): A review of key numbers and issues’, (Winnipeg: IISD, 2017); ‘Calls for sustainable mining after 43 artisanal miners killed in DRC landslide’, IndstriALL, 4 July 2019, http://www.industriall-union.org/calls-for-sustainable-mining-after-43-artisanal-miners-killed-in-drc- landslide (accessed 7 August 2019). 7 Amnesty International, ‘This is What We Die For: Human Rights Abuses in the Democratic Republic of Congo Power the Global Trade in Cobalt’, (London, 2016). 8 UNICEF, ‘In DR Congo, UNICEF supports efforts to help child labourers return to school’, 13 June 2012, https://www.unicef.org/childsurvival/drcongo_62627.html (accessed 13 August 2019); US Department of State, ‘2018 Country Reports on Human Rights Practices: Democratic Republic of the Congo’, 13 March 2019. 9  U.S. Department of Labor, Bureau of International Labor Affairs, Child Labor and Forced Labor Reports, ‘2017 Findings on the Worst Forms of Child Labor’, https://www.dol.gov/agencies/ilab/resources/reports/child- labor/congo-democratic-republic-drc (accessed 19 August 2019).   Electronic copy available at: https://ssrn.com/abstract=3679885 3 What is evident is that working in the Congolese mining sector is dangerous, with particularly high risks related to legal yet largely unregulated ASM. Although the country’s newly amended Mining Code sets age and area limitations for ASM and requires miners to obtain an artisanal miner card,10 human rights issues have been documented in many artisanal mines in the country, including child labor, serious health and safety risks, and fatal accidents.11 Considering the projected rise in cobalt demand, finding collective and permanent solutions to human rights issues in ASM is a timely and urgent quest. Companies sourcing from the DRC are under increasing pressure to address these human rights challenges. Media reports have been highlighting the role of consumer-facing brands in the cobalt supply chain. Apple, for example, designated cobalt as a ‘conflict mineral’ in 2014 and requires its suppliers to adhere to stringent audit requirements. It completed its cobalt supply chain mapping in 2016 and publishes an annual supplier responsibility report, which includes a list of refiners and smelters from which Apple sources its cobalt. Since 2016, Apple has achieved 100% participation by its cobalt suppliers in Apple’s independent third-party audits, which verify the accuracy of data provided by suppliers.12 It has removed two of its cobalt suppliers from its supply chain in 2018. Apple also collaborates with the OECD, several NGOs, and trade chambers on various programs to address the social and environmental risks associated with obtaining cobalt from the DRC.13 Similarly, a multi-industry consortium that 10 The Revised Mining Code of the DRC, art. 26, 27, 109, ‘Loi n°18/001 du 09 mars 2018 modifiant et complĂŠtant la Loi n° 007/2002 du 11 juillet 2002 portant Code minier’, Journal Officiel de la RĂŠpublique DĂŠmocratique du Congo, 28 March 2018. 11 “Between September 2014 and December 2015 alone, the DRC’s UN-run radio station, Radio Okapi, carried reports of fatal accidents involving more than 80 artisanal miners in the former province of Katanga.” ‘This is What We Die For’, note 6, page 6, 28-33. See Annex 2 for a list of mining accidents that took place in the DRC between 2014 and 2019. 12  Apple, ‘Supplier responsibility 2019 Progress Report’, https://www.apple.com/supplier- responsibility/pdf/Apple_SR_2019_Progress_Report.pdf (accessed 19 August 2019). 13 Apple, ‘Supplier responsibility 2018 Progress Report’, https://www.apple.com/supplier- responsibility/pdf/Apple_SR_2018_Progress_Report.pdf (accessed 7 August 2019); Apple, ‘Smelter and Refiner List 2018’, https://www.apple.com/supplier-responsibility/pdf/Apple-Smelter-and-Refiner-List.pdf (accessed 8 August 2019). Electronic copy available at: https://ssrn.com/abstract=3679885 4 consists of BASF, BMW, and Samsung in partnership with the German development agency GIZ, launched a pilot project in late 2018 to identify and address systematic problems at artisanal mines.14 A third example of a project that seeks to ameliorate human rights abuses in cobalt mining is the blockchain project introduced by a consortium that consists of Ford, IBM, Huayou Cobalt, LG Chem, and RCS Global. This pilot seeks to increase transparency in ASM by creating an audit trail from mine to manufacturer, which will enable mine operators to sell their responsibly sourced and validated raw materials in the global market.15 Our paper analyzes the business solutions that Western companies are currently exploring to formalize ASM. Addressing human rights issues in ASM requires companies to reorganize core business processes in a way that systematically integrates respect for human rights in all supply chain links upstream. In our initial case study we are focusing on a Swiss commodity trading company that is driving an innovative project to regulate ASM at a mining site at Kolwezi, in Katanga, DRC. We see this case study as a preliminary research phase into a comparative project of business models of companies sourcing precious metals from the DRC. The goal is to distill the business factors that have a systemic positive impact on the workers and communities involved in ASM. This paper is structured in four parts. The current draft outlines the research focus of this project but it does not yet provide empirical insights. These will be added after a field trip to the DRC in September 2019. In the first part of the paper, we provide data to underpin the relevance of the DRC for the global cobalt supply chain. We also highlight the role of ASM in this supply chain and the impact that cobalt price fluctuations have on ASM. In the second part, we outline the pilot project that the commodity firm Trafigura has set up at the Mutoshi mine in the 14 ‘BMW, BASF and Samsung launch a project for sustainable cobalt mining’, Deutsche Gesellschaft fĂźr Internationale Zusammenarbeit (GIZ) GmbH, 29 November 2018, https://www.giz.de/en/press/72347.html (accessed 7 August 2019). 15 ‘Blockchain Pilot’, note 4. Electronic copy available at: https://ssrn.com/abstract=3679885 5 DRC to control for the human rights risks related to ASM. The case is considered as a model example for formalizing ASM. We describe our research plans to assess this project in the field in order to identify the business factors that need to be in place for such a project to be scalable and replicable by other companies, including companies in other sectors. The third part outlines other companies’ projects that attempt to control for human rights risks related to ASM. We hope to eventually to study them in greater detail in a comparative setting. Finally, in part four, we look at the specific role that commodity-trading companies play in the cobalt supply chain and the current drivers for the described pilot projects. We will also consider how multi-stakeholder initiatives in this industry can facilitate the development of standards for responsible ASM. Part I - The Cobalt Supply Chain and ASM’s Swing Capacity in the DRC Cobalt is an essential component of the lithium-ion batteries that power our phones, laptops, and other portable consumer electronics. The biggest demand for battery metals, however, comes from a growing global interest in switching from petrol and diesel to electric vehicles that can help reduce air pollution and meet climate change targets. Some projections forecast that in 20 years, one-third of cars will be electric and more than 140 million electric vehicles will hit the road by 2030, requiring 260,000 tons of cobalt per year, almost double the global production in 2018.16 Governments are key drivers for this transition to so-called green energy. India, for example, plans to replace 30% of all vehicles in the country with electric 16 ‘The Top Miners Are Split on How to Chase the EV Battery Boom’, Bloomberg, (5 August 2019), https://www.bloomberg.com/news/articles/2019-08-05/the-top-miners-are-split-on-how-to-chase-the-ev- battery-boom (accessed 5 August 2019). See Annex 1 for a list of countries contributing to the global mined cobalt production in 2018. Electronic copy available at: https://ssrn.com/abstract=3679885 6 models by 2030.17 China also created incentive systems for manufacturers and subsidies for consumers to use electric vehicles.18 In 2010, the U.S. federal government introduced a tax credit for plug-in electric vehicle purchases,19 while California has set an official target of reaching 5 million zero-emission electric vehicles on its roads by 2030.20 In Europe, the UK announced in July 2017 it would phase out sales of new petrol- and diesel-run cars by 2040.21 The EU has already tightened its limits for carbon dioxide to incentivize the use of electric vehicles.22 Currently, 64% of the global mined cobalt is produced in the DRC, mainly as a by- product of copper mining.23 Other cobalt-exporting countries are Russia, Cuba, Canada, Australia, the Philippines, and Madagascar, but none of these other nations contributes as much as 5% of the global cobalt production.24 The projected green revolution thus depends on the DRC, a country of 84 million people known for poverty, armed conflict and high levels of corruption. According to Transparency International’s corruption index, the DRC is 161st out of 180 countries in the world. The UN Human Development Index ranks the DRC 176th out of 189 countries, and the UNDP estimates that 90.5% of those employed 17 ‘India Races Forward in Electric Cars’, Bloomberg, (21 December 2018) https://www.bloomberg.com/opinion/articles/2018-12-22/india-gets-policies-on-electric-car-infrastructure-right (accessed 5 August 2019). 18 Jack Perkowski, ‘What China's Shifting Subsidies Could Mean For Its Electric Vehicle Industry’, Forbes, (13 July 2018), https://www.forbes.com/sites/jackperkowski/2018/07/13/china-shifts-subsidies-for-electric- vehicles/#63b71c155703 (accessed 5 August 2019). 19  Office of Energy Efficiency & Renewable Energy, ‘Electric Vehicles: Tax Credits and Other Incentives’, https://www.energy.gov/eere/electricvehicles/electric-vehicles-tax-credits-and-other-incentives (accessed 19 August 2019).   20 California Public Utilities Commission, ‘Zero-Emission Vehicles’, https://www.cpuc.ca.gov/zev/ (accessed 5 August 2019). 21 ‘New diesel and petrol vehicles to be banned from 2040 in UK’, BBC, https://www.bbc.com/news/uk- 40723581 (accessed 5 August 2019). 22 ‘Carmakers Get a Road Map for Tougher EU Limits on Carbon Dioxide’, Bloomberg, (17 December 2018), https://www.bloomberg.com/news/articles/2018-12-17/carmakers-get-road-map-for-tougher-eu-limits-on- carbon-dioxide (accessed 7 August 2019). 23 ‘Congo, child labour and your electric car’, Financial Times, (7 July 2019), https://www.ft.com/content/c6909812-9ce4-11e9-9c06-a4640c9feebb (accessed 5 August 2019). 24 US Geological Survey, National Minerals Information Center, ‘Cobalt Statistics and Information’, https://www.usgs.gov/centers/nmic/cobalt-statistics-and-information (accessed 7 August 2019). See Annex 1 below for exact figures and share of production. Electronic copy available at: https://ssrn.com/abstract=3679885 7 make less than $3.10 per day.25 In February 2019, the DRC made headlines when militia groups attacked international aid stations established to fight an Ebola outbreak in the Northern provinces.26 Health workers were forced to close these facilities, exacerbating the deadly epidemic.27 Clearly there is a governance gap in the enforcement of the Congolese Mining Code, which by its terms would ensure health and safety standards in all mining activities. Given the poverty levels in the DRC, companies sourcing from this country need to acknowledge that ASM is one of the very few options Congolese have for earning a livelihood and hence a business reality in the cobalt supply chain. It’s worth noting that the DRC is not the only country where ASM is a common practice in the extractive sector. Worldwide, ASM produces approximately 80% of all sapphires, 25% of all tin, 20% of all gold, and up to 20% of all diamonds. ASM provides an income to estimated 100 million people globally.28 Understanding how businesses can help to mitigate human rights risks related to ASM in the DRC can thus serve as a model to develop standards for ASM generally that also apply to other commodities and countries. The number of people involved in ASM in the DRC and global cobalt prices are closely connected because of the “swing capacity” of the activity. This term refers to local communities switching back and forth between farming and mining, 25 UNDP, Human Development Reports, ‘Table 1. Human Development Index and its components’, http://hdr.undp.org/en/composite/HDI (accessed 7 August 2019) and ‘Congo: Human Development Indicators’, http://hdr.undp.org/en/countries/profiles/COD (accessed 7 August 2019). 26 ‘‘Crippling’ Attacks Force Doctors Without Borders to Close Ebola Centers in Congo’, The New York Times, 28 February 2019, https://www.nytimes.com/2019/02/28/world/africa/congo-ebola-doctors-without- borders.html (accessed 7 August 2019). 27 ‘How do you reform a country where gunmen torch Ebola clinics?’, The Economist, 3 August 2019, https://www.economist.com/middle-east-and-africa/2019/08/03/how-do-you-reform-a-country-where-gunmen- torch-ebola-clinics (accessed 7 August 2019). 28 ‘What is Artisanal & Small-Scale Mining (ASM)?’, Fair Congo Foundation, (23 August 2017), http://faircongo.com/2017/08/23/artisanal-small-scale-mining-asm/ (accessed 8 August 2019). Electronic copy available at: https://ssrn.com/abstract=3679885 8 depending on which activity produces more income at a given moment.29 The price of cobalt has fluctuated significantly over the past decade. The number of artisanal miners increases with rising cobalt prices and declines with falling prices, as witnessed in the period between 2010 and 2016, when ASM cobalt production was low due to depressed prices. This activity picked up quickly when prices rose dramatically in 2017 and early 2018.30 Despite forecasts of an increase in demand for battery metals, the price of cobalt is currently very low. After quadrupling from $22,000/metric ton in February 2016 to $95,000/metric ton in March 2018, the price of cobalt decreased by 52.7% since the beginning of 2019, and the current price is roughly $28,000/metric ton.31 This sharp decline in the second half of 2018 was caused by a surge in cobalt supply from the DRC, especially from artisanal miners who reacted swiftly to increasing prices in late 2016 and 2017 and entered the supply chain.32 It is estimated that ASM cobalt production in the DRC jumped from 6,500 tons in 2016 to 24,000 tons in 2018,33 which was higher than the combined cobalt production of Russia, Cuba, Australia, the Philippines, and Canada in 2018, making the Congolese swing artisanal supply the second largest source of cobalt globally, after industrial mining in the DRC that year.34 With the ongoing reduction in cobalt prices this year, seasonal artisanal miners are not expected to return to cobalt mines and it is estimated that ASM cobalt production has fallen 70% from last year, to well below 5,000 tons.35 29 Andy Home, ‘Why the cobalt market needs Congo’s ‘illegal’ miners’, Reuters, (12 July 2019), https://www.reuters.com/article/us-congo-cobalt-ahome/why-the-cobalt-market-needs-congos-illegal-miners- andy-home-idUSKCN1U71VS (accessed 8 August 2019). 30 Ibid. 31 London Metal Exchange, ‘LME Cobalt, Historical Prices Graph’, https://www.lme.com/en-GB/Metals/Minor- metals/Cobalt#tabIndex=2 (accessed 8 August 2019). 32 ‘Plummeting cobalt prices takes toll on Democratic Republic of Congo’, Financial Times, 23 June 2019, https://www.ft.com/content/3317dc52-933a-11e9-aea1-2b1d33ac3271 (accessed 8 August 2019). 33 Roskill, ‘Cobalt: Dramatic Price Fall Comes To An End’, (15 April 2019), https://roskill.com/news/cobalt- dramatic-price-fall-comes-to-an-end/ (accessed 8 August 2019). 34 See Table 1 below for exact production figures and share of production of each country. 35 ‘Plummeting cobalt prices’, note 28. Electronic copy available at: https://ssrn.com/abstract=3679885 9 This price decline was further exacerbated by stockpiling, particularly by Chinese buyers who play a pivotal role in the global cobalt market. While China accounts for only 1% of cobalt mine production, it is the world’s leading cobalt refiner and consumer, producing 50% of the world’s refined cobalt.36 In order to produce at this level, China sources 70% of its mined cobalt from the DRC.37 Roughly 80% of the mineral-processing plants in Katanga are operated by Chinese companies, and almost all of their output is exported to China for production of electronic devices and vehicles.38 This close and volatile export relationship between the DRC and China renders the Congolese economy vulnerable to changes in Chinese buying behavior, often directed by government policies such as the 2000 “Going Out Strategy,” which incentivized Chinese companies to expand overseas for mineral resources. As a result of this policy, the Chinese government is able to stockpile natural resources it does not produce domestically, such as cobalt, at the Chinese State Reserve Bureau and reduces the country’s supply risks and dependency on global markets.39 As a consequence, a collective decision by Chinese buyers in the DRC to stockpile cobalt put a strain on the Congolese economy, which heavily depends on exports. In 2017, cobalt accounted for 42.9% of the DRC’s total exports; China is the destination for 45% of all Congolese exports.40 According to Citibank’s cobalt price forecasts, the market will remain in surplus until 2022, following which supply growth is expected to slow and the projected increases in cobalt demand to kick in.41 Cobalt Investing News’ 2019 mid-year 36 Gulley, McCullough, Shedd, ‘China’s domestic and foreign influence in the global cobalt supply chain’, (2019) Resources Policy 62, 317-323, p.320 37 The Centre for Research on Multinational Corporations (SOMO) and PremiCongo, ‘“Go ahead, try to accuse us…”: Human rights violations by Chinese mining companies in the Democratic Republic of Congo’, (Lubumbashi, November 2018). 38 KPMG Global Mining Institute, ‘Democratic Republic of Congo: Country mining guide’, (2014). 39 ‘China’s domestic and foreign influence’, note 31, p.318. 40 The Observatory of Economic Complexity, ‘Democratic Republic of the Congo’, https://oec.world/en/profile/country/cod/ (accessed 8 August 2019). 41 Citi, ‘Cobalt 2019-2025 Outlook’, (4 December 2018). Electronic copy available at: https://ssrn.com/abstract=3679885 10 cobalt market update estimated that excess supplies would continue for the next 12 to 18 months.42 Most recently, Glencore announced its decision to close the world’s largest cobalt mine, the Mutanda mine in Katanga, which will reduce by about 20% of the global cobalt supply, foreshadowing a likely rise in cobalt prices. In light of these projections, the timing of our research project is critical. Developing business models that can effectively address the human rights risks involved in ASM should be an urgent priority before local farmers swing back to ASM. Trafigura’s Mutoshi project in Katanga is one example of a business model that seeks to formalize ASM as a way of sourcing cobalt responsibly. Part II – The Mutoshi ASM Pilot Project Trafigura Group Pte. Ltd., a Swiss-based commodity trading firm, runs a pilot ASM project at the Mutoshi mine, a copper and cobalt mining site at Kolwezi in Katanga. Kolwezi has 450,000 inhabitants and is a four-hour drive from Lubumbashi, the second-largest city in the DRC. The Mutoshi mine is operated by Chemaf SPRL (Chemaf), a local mining company headquartered in Lubumbashi, which is a subsidiary of Dubai-based Shalina Resources Ltd. Last year, the total production at Mutoshi accounted for 5% of the global mined cobalt supply, all of which is purchased by Chemaf and then sold to Trafigura under an off-take agreement executed in 2018.43 Trafigura has agreed to purchase all cobalt sourced at Mutoshi for three years, until the end of 2020. 42 'Cobalt Market Update: Q2 2019 in Review’, Cobalt Investing News, (17 July 2019), https://investingnews.com/daily/resource-investing/battery-metals-investing/cobalt-investing/cobalt-market- update/ (accessed 8 August 2019). 43 ‘Trafigura accelerates battery push with Congo cobalt deal’, Financial Times, (4 April 2018), https://www.ft.com/content/0d7fab08-3816-11e8-8b98-2f31af407cc8 (accessed 13 August 2019). Electronic copy available at: https://ssrn.com/abstract=3679885 11 To develop the Mutoshi mine, Trafigura also entered into a marketing agreement with Chemaf for the pilot project that aims to mitigate the social and environmental risks of ASM.44 The extraction and processing activities at Mutoshi are carried out by Comiakol, a local cooperative representing more than 5,000 artisanal miners.45 The appointment of a single authorized labor contractor enables the proper identification and training of each miner, standardization of working conditions, and uniformity in mining operations. These steps are supposed to minimize the risk of illegal entries, accidents, and human rights violations. Trafigura also engaged PACT, a U.S.-based non-profit organization with operations in the DRC, to ensure the implementation of responsible sourcing policies. PACT also provides training to artisanal miners on workplace safety and to local communities on eradicating child labor.46 The mining conditions at Mutoshi differ significantly from the unmonitored, unfenced mining concessions in Katanga. In place of shafts and tunnels   that miners dig by  hand  with primitive tools,  small teams of artisanal miners in Mutoshi enter shallow pits of 10 square meters each, which are prepared in advance by heavy machinery, and dig only in a straight vertical line, maximum 10 meters deep and no horizontal tunnels.47 According to Trafigura, this method of extraction increases the productivity and thus the income of each miner while ensuring that safety controls are in place. In stark contrast to the pictures of barefoot, miners working with their bare hands and trespassing on industrial mining zones, the project requires miners at Mutoshi to enter the site from a single entry point, present their artisanal miners’ card (as required by the Congolese Mining Code) to verify identity and wear protective equipment: boots, gloves, blue uniforms, and yellow helmets.48 There are also limitations on the age and number of miners that can be present on the site at one time. Mutoshi standards prohibit children and 44 ‘Responsible Sourcing: The Chemaf Case Study’, Trafigura, https://www.trafigura.com/responsibility/responsible-sourcing/ (accessed 9 August 2019) 45 Comiakol, http://comiakol.org/ (accessed 13 August 2019). 46 ‘Chemaf Case Study’, note 41 47 Ibid. 48 Ibid. Electronic copy available at: https://ssrn.com/abstract=3679885 12 pregnant women from entering the premises. Trafigura reports that security at the concession is provided by the armed DRC mining police and an unarmed third- party private security company.49 Following extraction and washing, cobalt is brought to Chemaf’s buying station outside of Mutoshi and analyzed in labs. The pilot project requires that a separate and detailed log of cobalt from Mutoshi be kept to ensure that each mining group working in a specific pit is paid according to the purity and volume of its production.50All of the cobalt production from Mutoshi is purchased by Chemaf and payments are made to Comiakol representatives, not to the workers directly. Chemaf is prohibited from selling its production outside of Mutoshi or to other buyers. The project requires cobalt from Mutoshi to be kept separate from industrially mined cobalt and is processed in a different facility dedicated to ASM production.51 At the end of the first six months of the Mutoshi ASM pilot project, Trafigura reported that there had been no instances of child labor or gross human rights abuses associated with ASM, although smaller accidents remain common.52 The company believes that this innovative multi-stakeholder project will serve as best practice for other players in Katanga, illustrating how companies in the mining industry can integrate human rights responsibilities into their policies and help formalize ASM, thereby transforming artisanal miners’ working and living conditions. Our research project will serve as the first case study in a series of case studies examining innovative business models to formalize ASM. Research into the Mutoshi project so far has been conducted exclusively through sources not independent from Trafigura. Our aim is to provide an independent and 360-degree 49 Ibid. 50 Ibid. 51 Ibid. 52 Ibid. Electronic copy available at: https://ssrn.com/abstract=3679885 13 assessment of the project’s scalability. To accomplish this, we will have to understand the business factors that companies need to have in place to implement responsible sourcing policies. We plan to conduct on-site interviews with key representatives of the businesses involved in the cobalt supply chain in the DRC. This will include carrying out in-depth conversations with the Trafigura project lead at its headquarters in Geneva, international and local PACT staff, Chemaf senior management in Lubumbashi and Kolwezi, Comiakol representatives at Mutoshi, government agents from the state regulator of artisanal mining, SAEMAPE53, officials from mining companies that exclude ASM from their supply chains, and consultancy firms that advise various multinational auto and electronics companies sourcing from the DRC. In addition, we hope to consult other key implementers in the region, such as Impact or GIZ and local NGOs to achieve a balanced overview of the contribution of the Mutoshi project towards the improvement of socioeconomic conditions in mining communities as well as the challenges linked with the project. Part III – Other Projects to Formalize ASM Trafigura is not the only company that has set up a project to address the human rights risks involved in ASM in the DRC. Several companies have established similar pilots, yet neither the business elements of these various projects nor their impact on workers and local communities have ever been systematically compared. Three projects that stand out in this context are the pilots of Huayou, BMW and a blockchain project that involves Ford, Huayou, IBM, LG Chem, Volkswagen and Volvo. 53 SAEMAPE stands for Service d'Assistance et d'Encadrement de l'exploitation artisanal Ă  Petit Echelle or in English, the Service for Assistance and Supervision of Artisanal and Small-Scale Mining. Electronic copy available at: http";"""date"",""2019-08-26T09:15:56Z"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""pdf:PDFVersion"",""1.3"" ""pdf:docinfo:title"",""Microsoft Word - Essex Conference Paper - Aug 21.docx"" ""xmp:CreatorTool"",""Word"" ""Keywords"","""" ""pdf:hasXFA"",""false"" ""access_permission:modify_annotations"",""true"" ""access_permission:can_print_degraded"",""true"" ""subject"","""" ""dcterms:created"",""2019-08-26T09:15:56Z"" ""language"",""en"" ""Last-Modified"",""2019-08-26T09:15:56Z"" ""dcterms:modified"",""2019-08-26T09:15:56Z"" ""dc:format"",""application/pdf; version=1.3"" ""title"",""Microsoft Word - Essex Conference Paper - Aug 21.docx"" ""Last-Save-Date"",""2019-08-26T09:15:56Z"" ""pdf:docinfo:creator_tool"",""Word"" ""access_permission:fill_in_form"",""true"" ""pdf:docinfo:keywords"","""" ""pdf:docinfo:modified"",""2019-08-26T09:15:56Z"" ""meta:save-date"",""2019-08-26T09:15:56Z"" ""pdf:encrypted"",""false"" ""dc:title"",""Microsoft Word - Essex Conference Paper - Aug 21.docx"" ""modified"",""2019-08-26T09:15:56Z"" ""Content-Length"",""402602"" ""pdf:hasMarkedContent"",""false"" ""Content-Type"",""application/pdf"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""dc:subject"","""" ""meta:creation-date"",""2019-08-26T09:15:56Z"" ""created"",""2019-08-26T09:15:56Z"" ""access_permission:extract_for_accessibility"",""true"" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""25"" ""Creation-Date"",""2019-08-26T09:15:56Z"" ""resourceName"",""ssrn-id3679885.pdf"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""1952"",""3307"",""2828"",""2343"",""2129"",""3012"",""2497"",""2619"",""2533"",""2038"",""2413"",""1952"",""1982"",""2290"",""2300"",""2656"",""2455"",""2014"",""2518"",""2466"",""325"",""522"",""1513"",""1805"",""425"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""meta:keyword"","""" ""producer"",""Mac OS X 10.10.5 Quartz PDFContext"" ""access_permission:can_modify"",""true"" ""pdf:docinfo:producer"",""Mac OS X 10.10.5 Quartz PDFContext"" ""pdf:docinfo:created"",""2019-08-26T09:15:56Z"" ";https://scholar.google.com/scholar?start=960&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094656-1143;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Balancing Privacy and Accountability for Industrial Mortgage Management;L Xue, D Liu, J Ni, X Lin, XS Shen ; IEEE Transactions on …, 2019 ieeexplore.ieee.org;;"… and add the identity and the proof of the misbehavior to the mortgage blacklist maintained by the blockchain … The adversary can make queries to oracles that are defined in the games … pkb, pkT ) to A. Query: A can make a polynomial number of queries to the Register oracle …";Cité 2 fois;Les 2 versions;[PDF] ieee.org;https://ieeexplore.ieee.org/iel7/9424/4389054/08894387.pdf?casa_token=nAQXBReKJaAAAAAA:Kttg8bacEG51Ji5IygZuVZhC1hxlrYuK8TSF4tajdi28VJd67qg1SIqwIQe-eHl3qrVdk46MQBY;" Skip to Main Content IEEE Account Change Username/Password Update Address Purchase Details Payment Options Order History View Purchased Documents Profile Information Communications Preferences Profession and Education Technical Interests Need Help? US & Canada: +1 800 678 4333 Worldwide: +1 732 981 0060 Contact & Support About IEEE Xplore Contact Us Help Accessibility Terms of Use Nondiscrimination Policy Sitemap Privacy & Opting Out of Cookies A not-for-profit organization, IEEE is the world's largest technical professional organization dedicated to advancing technology for the benefit of humanity. Š Copyright 2021 IEEE - All rights reserved. Use of this web site signifies your agreement to the terms and conditions. ";"""og:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""twitter:title"",""Balancing Privacy and Accountability for Industrial Mortgage Management"" ""twitter:card"",""summary"" ""Description"",""Industrial mortgage enables companies to acquire loan for business venture or investment purposes by pledging their industrial assets to financial institutions."" ""og:title"",""Balancing Privacy and Accountability for Industrial Mortgage Management"" ""resourceName"",""08894387.pdf"" ""language"",""en"" ""title"",""Balancing Privacy and Accountability for Industrial Mortgage Management | IEEE Journals & Magazine | IEEE Xplore"" ""og:description"",""Industrial mortgage enables companies to acquire loan for business venture or investment purposes by pledging their industrial assets to financial institutions. To prevent double-mortgage fraud of borrowers, information exchange among different financial institutions is necessary. On the other hand, it results in the privacy leakage of borrowers. In this article, we construct a blockchain-based accountable and privacy-preserving industrial mortgage scheme (BAPIM). BAPIM enables financial institutions to share the mortgage data of borrowers in an efficient and secure manner, that achieves the borrower identity privacy and accountability at the same time. Specifically, borrower identity is concealed on the blockchain by anonymous identity credential, while financial institutions can still uncover the identity of a misbehaving borrower if he pledges the same asset for multiple mortgages. We demonstrate that BAPIM achieves the desirable security properties and has high computational efficiency, so as to be suitable for the industrial mortgage management."" ""twitter:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-UA-Compatible"",""IE=Edge"" ""viewport"",""width=device-width, initial-scale=1.0"" ""dc:title"",""Balancing Privacy and Accountability for Industrial Mortgage Management | IEEE Journals & Magazine | IEEE Xplore"" ""twitter:description"",""Industrial mortgage enables companies to acquire loan for business venture or investment purposes by pledging their industrial assets to financial institutions. To prevent double-mortgage fraud of borrowers, information exchange among different financial institutions is necessary. On the other hand, it results in the privacy leakage of borrowers. In this article, we construct a blockchain-based accountable and privacy-preserving industrial mortgage scheme (BAPIM). BAPIM enables financial institutions to share the mortgage data of borrowers in an efficient and secure manner, that achieves the borrower identity privacy and accountability at the same time. Specifically, borrower identity is concealed on the blockchain by anonymous identity credential, while financial institutions can still uncover the identity of a misbehaving borrower if he pledges the same asset for multiple mortgages. We demonstrate that BAPIM achieves the desirable security properties and has high computational efficiency, so as to be suitable for the industrial mortgage management."" ""Content-Encoding"",""UTF-8"" ""Content-Type-Hint"",""text/html; charset=utf-8"" ""Content-Language"",""en-US"" ""Content-Type"",""text/html; charset=UTF-8"" ";https://scholar.google.com/scholar?start=960&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094668-1189;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[CITATION][C] 10 Regulating Smart Contracts and Digital Platforms;J Wang, L Chen;;;null;;null;null;;;;https://scholar.google.com/scholar?start=410&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094668-1190;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Who is Causally Responsible for a Cryptocurrency?;P Řstbye ; Available at SSRN 3339537, 2019 papers.ssrn.com;;"… (2017) for a survey of possible attacks on the Bitcoin blockchain … For many cryptocurrencies, interacting with the outside world is necessary; the cryptocurrency op- erations need … Such information can be provided by oracles, and the information provided by oracles must be …";Autres articles;;null;;;;https://scholar.google.com/scholar?start=410&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094555-713;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Blockchain-basiertes Fundraising als innovative Alternative der Unternehmensfinanzierung;K Himmer ; Springer Books, 2019 Springer;;"Page 1. Klaus Himmer Blockchain-basiertes Fundraising als innovative Alternative der Unternehmensfinanzierung Eine steuer- und … Unternehmensfinanzierung Page 3. Klaus Himmer Blockchain-basiertes Fundraising als innovative Alternative der Unternehmensfinanzierung …";Cité 2 fois;Les 6 versions;null;;;;https://scholar.google.com/scholar?start=530&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094548-681;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Nutzenpotenziale der Blockchain-Technologie für die Assekuranz;F Fuchs, M Reich ; Handbuch Versicherungsmarketing, 2019 Springer;;"… Diese dezentralisierten Datenfeed?Services sind unter dem Begriff Oracle bekannt, was auf … Eine vernetzte Gesundheitsdatenbank auf Basis von Blockchain würde den Gesundheits?Fragekatalog in der … müsste sich in einem solchen Modell aus verschiedenen Oracles speisen …";Cité 2 fois;Les 2 versions;null;;;;https://scholar.google.com/scholar?start=500&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094553-709;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[PDF][PDF] Risks of Blockchain for Data Protection: A European Approach;BS Jiménez;Gómez  Santa Clara High Tech. LJ, 2019 HeinOnline;;"… A Detailed Look at Cryptocurrency 's New Kid on the Block, BITCOIN MAGAZINE (Feb. 26, 2013), https://bitcoinmagazine.com/articles/introducing- ripple. 5 Toshendra K. Sharma, Advantages and disadvantages ofpermissionless blockchain, BLOCKCHAIN COUNCIL (Oct …";Cité 1 fois;Les 6 versions;[PDF] heinonline.org;https://heinonline.org/hol-cgi-bin/get_pdf.cgi?handle=hein.journals/sccj36§ion=15&casa_token=RIaRTL8vGtQAAAAA:zNcQOrlWWfol4oR8FN-c9aVyOaC7P9Vfg7xraDA4NBZ0Gd4AVTNsr_bTp-uFsqZHKn7Npcc;" ";"""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""REFRESH"",""1; url=https://heinonline.org/HOL/Page?handle=hein.journals/sccj36&div=15&g_sent=1&casa_token=RIaRTL8vGtQAAAAA:zNcQOrlWWfol4oR8FN-c9aVyOaC7P9Vfg7xraDA4NBZ0Gd4AVTNsr_bTp-uFsqZHKn7Npcc"" ""Content-Encoding"",""UTF-8"" ""resourceName"",""get_pdf.cgi"" ""language"","""" ""Content-Type"",""text/html; charset=UTF-8"" ";https://scholar.google.com/scholar?start=520&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094630-1038;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Minimizing trust in hardware wallets with two factor signatures;A Marcedone, R Pass, A Shelat ; International Conference on Financial …, 2019 Springer;;"… signatures whose low-order bits leak different bits of c, after sufficiently many transactions that are posted on a blockchain, the adversary could … Token Oracles. In our definitions, we will often model a party/program implementing party \(T\). We say that a Token Oracle is a stateful …";Cité 1 fois;Les 2 versions;[PDF] nsf.gov;https://par.nsf.gov/servlets/purl/10094253;" Minimizing Trust in Hardware Wallets with Two Factor Signatures Antonio Marcedone1, Rafael Pass∗1, and abhi shelat†2 1Cornell Tech, {marcedone,rafael}@cs.cornell.edu 2Northeastern University, abhi@neu.edu January 2, 2019 Abstract We introduce the notion of two-factor signatures (2FS), a generalization of a two-out-of-two threshold signature scheme in which one of the parties is a hardware token which can store a high-entropy secret, and the other party is a human who knows a low-entropy password. The security (unforgeability) property of 2FS requires that an external adversary corrupting either party (the token or the computer the human is using) cannot forge a signature. This primitive is useful in contexts like hardware cryptocurrency wallets in which a signature conveys the authorization of a transaction. By the above security property, a hardware wallet implementing a two-factor signature scheme is secure against attacks mounted by a malicious hardware vendor; in contrast, all currently used wallet systems break under such an attack (and as such are not secure under our definition). We construct efficient provably-secure 2FS schemes which produce either Schnorr signature (assuming the DLOG assumption), or EC-DSA signatures (assuming security of EC-DSA and the CDH assumption) in the Random Oracle Model, and evaluate the performance of implementations of them. Our EC-DSA based 2FS scheme can directly replace currently used hardware wallets for Bitcoin and other major cryptocurrencies to enable security against malicious hardware vendors. 1 Introduction Cryptocurrency hardware wallets are increasingly popular among Bitcoin and Ethereum users as they offer seemingly stronger security guarantees over their software counterparts. A hardware wallet is typically a small electronic device (such as a USB device with an input button) that holds the secret key(s) to one or more cryptocurrency “accounts”. It provides a simple interface that can be used by client software on a computer or smartphone to request a signature on a particular transaction; the wallet returns a signature to the client if the user has authorized it by pressing the physical button1. Typically, the user also has to enter a pin or password, either on the device itself or through the client. Some hardware wallets like the Trezor include a screen that can be used by the user to confirm the details of the transaction before authorizing it. Ideally, a hardware wallet runs a firmware that is smaller and simpler than the software running on a common laptop (and thus may be less vulnerable to bugs and exploits), is built using tamper proof hardware that makes it difficult to directly read its memory, and is designed to prevent the private keys it holds from ever leaving the device. Thus, stealing funds from an address controlled by a hardware wallet is considered to be harder than stealing from a software wallet installed on the user’s laptop. ∗Supported in part by NSF Award CNS-1561209, NSF Award CNS-1217821, NSF Award CNS-1704788, AFOSR Award FA9550-15-1-0262, AFOSR Award FA9550-18-1-0267, a Microsoft Faculty Fellowship, and a Google Faculty Research Award. †Supported in part by NSF grants 1664445 and 1646671. 1The physical button prevents malware from abusing the wallet without cooperation from the user. 1 Can we trust the hardware manufacturer? However, most hardware wallets suffer from a serious issue: since the wallet generates and holds the secret keys for the user’s account, a compromised wallet might be used to steal the entirety of the coins it controls. Consider, for instance, a malicious wallet manufacturer who introduces a backdoored pseudorandom generator (to be used, for example, to generate the signing keys) into a hardware wallet. Because of the tamperproof properties of the hardware, such a backdoor might be extremely hard to detect and go unnoticed even to a scrupulous user, especially if it only affects a small portion of the company’s devices (perhaps those shipped to customers who hold large coin balances). Yet, without the need of ever communicating with the devices again, the manufacturer might suddenly steal all the money controlled by those addresses before anyone has time to react! This is also true in the case where the user picks a password to supplement the entropy generated by the backdoored PRG, since passwords have limited entropy which can be bruteforced and, as we detail later, the wallet can bias the randomness in the signatures to leak information about such password. Even if the company producing the wallet is reputable and trusted, supply chain attacks by single employees or powerful adversaries are still hard to rule out for customers. For example, the NSA reportedly intercepts shipments of laptops purchased online in transit to install malware/backdoors [18]. Indeed, trust in a wallet manufacturer, its supply chain, and the delivery chain are a serious concern. One possible solution is to store the funds in a multi-signature account controlled by a combination of hardware (and possibly software) wallets from different manufacturers. However, the above is inconvenient and limiting. It may also be possible for a single supplier to corrupt multiple manufacturers of hardware wallets. A Formal Treatment of Hardware Wallets In this paper, we initiate a formal study of the security of hardware wallets. As discussed above, completely relying on the token to perform key generation and signing operations requires a strong trust assumption on the hardware manufacturer. To avoid this, we focus on a scenario in which the user has both a single hardware token and a (low-entropy) password, and formally define appropriate an appropriate cryptographic primitive, which we name two factor signature scheme (2FS). Roughly speaking, a 2FS scheme can be thought of a special type of two-out-of-two threshold signature scheme [4] but where one of the parties (the user) only has a (potentially low-entropy) password, whereas the other party (the hardware token) can generate and store high-entropy secrets. Even defining unforgeability properties of such 2FS schemes turns out to be a non-trivial task; we provide the first such definitions. Our notions of unforgeability consider both malicious clients, malicious tokens, and attackers that may have selective access to honestly implemented tokens. As already mentioned, as far as we know, in all currently known/used schemes, unforgeability does not hold when the hardware token can be maliciously designed, and thus no currently known schemes satisfies even a subset of our unforgeability definitions. Our main contribution is next the design of 2FS that satisfy them. In fact, we present a general transformation from any two-out-of-two threshold signature scheme which satisfies some additional technical property—which we refer to as statistical Non-Signalling—into a 2FS in the random oracle model, which produces public keys and signatures of the same form as the underlying threshold signature scheme. We note that it may be possible to generically modify any TS to become Non-Signalling by having the parties perform coin-tossing to generate the randomness, and then prove in zero knowledge that they executed the signing protocol consistently with the pre-determined (and uniform) randomness. Using such a method, however, would result in a (polynomial-time but) practically inefficient scheme. In contrast, in the full version of this work [13], we show how to adapt two existing threshold signature schemes to satisfy this new technical property with very little overhead. Using our transformation, this gives secure 2FS schemes which efficiently generate Schnorr and ECDSA signatures. Theorem (Informal). Assuming the discrete logarithm assumption, there exists a secure 2FS scheme in the Random Oracle model which generates Schnorr Signatures. Theorem (Informal). Assuming the DDH assumption holds and that EC-DSA is unforgeable, there exists a secure 2FS scheme in the Random Oracle model that generates EC-DSA signatures. The first construction is based on the Schnorr TS signature scheme of Nicolosi et al [15], while the second one is a slight modification of an EC-DSA threshold scheme of Lee et al. [5]. As EC-DSA signature are 2 currently used in Bitcoin, Ethereum and most other major crypto currencies, our 2FS for EC-DSA can be directly used for hardware wallets supporting those crypto currencies. To demonstrate its practicality, we evaluate such scheme and estimate its performance on hardware tokens that are much less powerful than the CPUs on which we can benchmark the protocol. We confirm that running the protocol on two server-class CPUs (Intel) requires roughly 3ms to sign a message. When one of the parties is run on a weak computer (e.g., a Raspberry Pi 3b) and the other is run on a server, the protocol requires roughly 50ms. Our estimates confirm that the bottleneck in our scheme will be the processing capacity of the hardware token. Using a very secure, but weak 8-bit 1Mhz ATECC family processor [14], we estimate that ECDSA keys can be produced in under a minute and signatures can be completed in 3s. The entire signing process requires human input to complete (button press), and thus is likely to take seconds overall anyway. 1.1 Technical overview The Definition. At a high level, in a Two Factor Signature scheme the signatures are generated by two parties: a client C who receives a (typically low entropy) password as input from a user, and a token T , which can store and generate secrets of arbitrary length, can produce signatures for multiple public keys and as such keeps a state which can be modified to add the ability to sign for new public keys. It consists of a tuple of algorithms (KeyGenC,KeyGenT,PKC,PKT,SignC,SignT,Ver), where KeyGenT(1Îş, sT ) and KeyGenC(pwd) are an interactive protocol used by the token and client respectively to produce a public key and to accordingly update the token state sT by “adding a share of the corresponding secret key”; PKC(pwd) and PKT(sT ) are two algorithms used by the client and the token (on input the password and the current token state sT respectively) interacting with each other to retrieve a public key pk which was previously generated using the first two algorithms; SignC(pwd,m) and SignT(sT ,m) are similarly used to produce signatures; Ver(pk,m, σ) is used to verify the signatures. We proceed to outline the unforgeability properties we require from such Two Factor Signature scheme. We consider 4 different attack scenarios, and define “best-possible” unforgeability properties for each of them. The first two are simply analogs of the standard unforgeability (for “party 1” and “party 2”) properties of two-out-of-two threshold signatures. 1. For the Client : The simplest and most natural attack scenario is when the user’s laptop is compromised (i.e. by malware), even before the key generation phase. We require that, except with negligible probability, such an adversary cannot forge signatures on a message m with respect to a public key which the token outputs (and would typically show to the user on its local screen) unless it asked the token to sign m. This notion mirrors the classic one of unforgeability (for party 1) of threshold signature schemes. 2. For the Token: We next consider an attack scenario in which the adversary can fully control the token T . We let it interact arbitrarily with an honest client, and receive the signatures and public keys output by such client during these interactions. We require that the probability that such an adversary can produce a forgery on a message m that would verify with respect to one of the public keys output by the client (during a KeyGen execution) without asking the client to sign m, is bounded by the min-entropy of the user’s password. Again, this notion mirrors the classic notion of unforgeability of threshold signatures (for party 2), except that since the user only has a low-entropy password, we cannot require the probability of forging to be negligible; instead, we bound it by q/2m where q is the number of random oracle queries performed by the adversary, and m is the min-entropy of the password distribution. Note that the unforgeability for the token security bound is rather weak (when the password has low entropy), but is necessarily so because the only secret held by the client is the password, and thus an attacker that “fully controls the token” (i.e., controls its input/outputs while at the same time participating in other outside interaction) and gets to see public keys, can simply emulate the client algorithm with a guessed password and attempt to create a forgery. Yet, note that to carry out this type of attack (which leads to the “unavoidable” security loss) and profit from it is quite non-trivial in practice as it requires the token to be able to somehow communicate with an attacker in the outside world (which is challenging given that a hardware wallet is a physically separate entity without a direct network connection). 3 Consequently, we consider two alternative attack scenarios that leverage the fact that often the token cannot communicate with the adversary and capture more plausible (i.e weaker) attack models. Yet, in these weaker attack models, we can now require the forging probability bounds to be significantly stronger. 3. For the Token Manufacturer : We consider an adversary who cannot fully control the T party, but can specify ahead of time a program Π which the T party runs. For example, this models the case of a malicious token manufacturer who embeds a PRG with a backdoor. Program Π can behave arbitrarily, but its answers to the interactions with any client have to satisfy the correctness properties of the scheme with overwhelming probability (if the token aborted or caused the client to return signatures which do not verify w.r.t. the expected public keys, the user could easily identify such token as faulty or malicious). The adversary can then have an honest client interact arbitrarily with Π (A is given the resulting public keys and signatures), and should not be able to produce a forgery on a message m that would verify with respect to one of the public keys output by the client (during a KeyGen execution) unless it received a signature on m as a result of such an interaction. We require the forging probability to be negligible (as opposed to bounded by q/2m). 4. With Access to the Token: An alternative scenario is one where the token is not corrupted, but the attacker can get access to it (for example, in the case of a lost/stolen token, or a token shared between multiple users). More precisely, the adversary can interact with an honest T and may also interact with an honest client C (which itself interacts with T ) and has to produce forgeries on a message m (which C did not sign, but on which T can be queried) w.r.t. a public key which C output during an interaction with T . Whereas unforgeability for the token implies that the above-mentioned adversary’s forging probability is bounded by q/2m where q is the number of random oracle queries, we here sharpen the bound to q′/2m where q′ is the number of invocations of T . (As T could rate-limit its answers by e.g., 1 sec, q′ will be significantly smaller than q in practice.) As far as we know, no previously known scheme satisfies all of the the above properties; in fact, none satisfy even just (1) and (2), or (1) and (3).2 The Construction The high-level idea behind our construction is natural (although the approach is very different from Trezor and other currently used hardware wallets). We would like to employ a two-out-of-two threshold signature (TS) scheme where the token is one of the parties and the client is the other. The problem is that the client only has a low-entropy password and cannot keep any persistent state. In fact, even if it had a high-entropy password, it wouldn’t be clear how to directly use the threshold schemes as in general (and in particular for EC-DSA), secret key shares for threshold schemes are generated in a correlated way. To overcome this issue, the key generation algorithm begins by running the key generation procedure for the TS: the token and the client each get a secret key share (which we denote skT and skC respectively), as well as the public key pk. Next, since the client cannot remember pk, skC , it encrypts pk, skC using a key that is derived—by using a random oracle (RO)—from its password; additionally, the client generates (deterministically) a random “handle” as a function of its password, again by applying the RO to the password. It then sends both the handle and the (password-encrypted) ciphertext to the token for storage. Later on, when a client wants to get a signature on a message m, it first asks the token to retrieve its password-encrypted ciphertext: the token will only provide it if the client provides the correct handle (which the honest client having the actual password can provide). Next, the client decrypts the ciphertext (again using the password), and can recover its public and secret key. Finally, using its secret key, and interacting with the token the client can engage in the threshold signing process to obtain the desired signature on m. The Analysis: Exploiting Non-Signalling and Exponential-time Simulation While we can show that the above construction satisfies properties 1,2 and 4 assuming the underlying threshold scheme is secure, demonstrating property 3—that is, security against malicious token manufacturers, which in our opinion is the most cruicial property—turns out to be non-trivial. 2Although we are not aware of any formal analysis of Trezor, it would seem that it satisfies (1) and (4), but there are concrete attacks against the other properties. 4 The issue is the following: as already mentioned, if the token is fully controlled by the attacker (which participates in outside interactions), then we can never hope to show that unforgeability happens with negligible probability as the attacker can always perform a brute-force attack on the password. In particular, in our scheme, the attacker can simply brute-force password guesses against the ciphertext c to recover the client’s threshold secret key share. However, a malicious manufacturer which generates a malicious token but cannot directly communicate with it, would have more trouble doing so. Even if the malicious token program can perform a brute-force attack, it cannot directly communicate the correct password (or the client key share) to the manufacturer! If the token could somehow signal these information to the manufacturer, then the manufacturer could again break the scheme. And in principle, with general threshold signatures, there is nothing that prevents such signalling. For example, if the token could cause the threshold signing algorithm to output signatures whose low-order bits leak different bits of c, after sufficiently many transactions that are posted on a blockchain, the adversary could recover c and brute force the password himself. Towards addressing this issue, we define a notion of Non-Signalling for TS: roughly speaking, this notion says that even if one of the parties (the token) is malicious, as long as they produce accepting signatures (with overwhelming probability), they cannot bias the distribution of the signatures generated—i.e., such signatures will be indistinguishable from honestly generated ones. In fact, to enable our proof of security—which proceeds using a rather complex sequence of hybrid arguments relying on exponential-time simulation—we will require the TS scheme to satisfy a statistical notion of Non-Signalling which requires that the distribution of signatures generated interacting with the malicious party is statistically close to the honest distribution. We next show that if the underlying TS indeed satisfies statistical Non-Signalling, then our 2FS also satisfies property 3. Towards doing this, we actually first show that our 2FS satisfies an analogous notion of Non-Signalling, and then show how to leverage this property to prove unforgeability for the token manu- facturer. We mention that the notion of Non-Signalling for 2FS is interesting in its own right: it guarantees that a maliciously implemented token Π (whose answers are restricted to satisfy the correctness properties of the scheme with overwhelming probability) cannot leak (through the public keys and the signatures which it helps computing) to an attacker any information which an honestly implemented token would not leak. In particular, if the honest token algorithm generates independent public keys and uses stateless signing (as the ones we consider do), even a malicious token cannot leak correlations between which public keys it has been used to create, or what messages it has signed. 1.2 Additional Properties Unlinkability Other than the Non-Signalling property, our scheme satisfies an additional desirable privacy property, Unlinkability, which roughly speaking guarantees that multiple public keys (and signatures with respect to different public keys) generated with the help of the same honest token (or with different tokens on input the same password) look independent from each other as if they were generated by both different tokens and passwords. This property holds even an adversary who can interact arbitrarily with such tokens, as long as it cannot guess the passwords. This allows a user to have different public keys using the same hardware token with the guarantee that such public keys will look unrelated to each other to any external observer. Further, even if a token is lost or such user has to go through customs and her hardware wallet is inspected, a public key cannot be linked to such token unless the corresponding password is known. Backing up the token state If the token is lost, stolen or otherwise malfunctioning (due to hardware failures, or even “ransom attacks” where the manufacturer might set up the token to stop working unless a ransom is paid), the user might not be able to produce signatures any more, which would result in a loss of money. Most current hardware wallet solutions derive all the secret keys for the addresses they sign for from a single short seed (say 256 bits), and offer the possibility to backup the seed at initialization time, by encoding it as a list of a few words that are displayed directly on the token’s secure display for the user to write down [16]. This ensures that the seed is never stored on the user’s laptop and thus is out of reach from malware. In our case, the token’s state is much larger (as it includes randomness generated from the client and a ciphertext encrypted under the user’s password), and therefore this method cannot be applied directly. 5 As an alternative solution, the token might encrypt its whole state at initialization time with a fresh key, transfer the ciphertext to the client’s computer (so that it can be backed up), and give the key to the user directly (again, in the form of a few words shown on the token’s screen for the user to write down). In this case, extra care should be taken to ensure that a malicious token cannot leak information through the ciphertext in the case where such ciphertext is later compromised (for example by choosing a key known to the manufacturer or using biased randomness in the encryption). For this reason, the client should also re-encrypt the ciphertext under a fresh key of its own choice (which the user should again write down and store securely). We stress that both in this case and in existing hardware wallet solutions, correctness of the backup is not guaranteed. As such, these backups should be verified using independent devices. Handling multiple addresses efficiently Another important feature for hardware wallet users is to be able to control multiple independent looking key pairs (addresses). Briefly, using several addresses rather than a single one to store one’s currency makes tracking multiple transactions made by the same user more difficult. For example in Bitcoin, when a transaction is performed, the “change” generated by the transaction is often moved to a fresh address (controlled by the sender) rather than being sent back to the address which is funding the transaction. While it is feasible to use more than one public key with the same hardware wallet with our proposed Two Factor Signature scheme, by just running the KeyGen algorithm every time a new address is needed, this is inconvenient because each such new “change” address generation requires a separate backup step. Indeed, most commercial hardware wallets offer the possibility to derive more than one signing key pair from the same seed. One first approach to overcome this limitation would be to extend the scheme by generating more than one independent key pair for the underlying threshold signature scheme every time the key generation algorithm of the Two Factor Signature scheme is run. These different addresses could be distinguished by a counter (which the user would provide as an additional parameter to the Sign and PK algorithms to identify which of the key pairs to use). Moreover, they would all be encrypted and backed up together with a single encryption key (using the mechanism of the previous paragraph) so that the number of words the user has to write down doesn’t increase. As an additional optimization, in our EC-DSA based instantiation, the most computationally expensive output of the key generation algorithm (namely the precomputed OT extensions) could be reused accross multiple key pairs for increased efficiency. Another possibility is to pick a threshold signature scheme that allows to efficiently sign w.r.t. multiple independent looking public keys given a single pair of secret key shares (whose size does not depend on the number of public keys). The EC-DSA based threshold scheme we describe can be modified in this sense by applying a technique detailed in section 4.4 of [8] (this idea can be adapted to the Schnorr case as well). Briefly speaking, in the original scheme, at the end of the KeyGen algorithm each party holds a multiplicative share of the secret signing key. It is therefore easy to modify such algorithm so that the client and the token can agree on an additional random string c (which is stored by the token and included by the client in the ciphertext it sends to the token). Then, as an additional input to the Sign algorithm, the client can pick any identifier i to distinguish each of the many public keys required (for example, a simple counter): the public key associated with identifier i would be computed by both parties as pki = pkH(c,pk,i) (where pk is the original public key and H is a hash function), and signatures could be computed by having the client use skC,i = skC ¡H(c, pk, i) instead of skC as the secret key in the threshold signature algorithm (the token would keep using the same secret key). See [8] for more details. Note that these modifications to the signature scheme would require adapting the security definitions to fit this scenario, which we leave to future work. For example, the Non-Signalling definition would also have to require that the many public keys generated by different values of i look independent to an outside observer or to the token manufacturer. Similarly, the unforgeability definitions and proofs would need to be adapted to ensure that a corrupted client cannot use an execution of the signature algorithm where the token intends to produce a signature for the key associated with counter i to produce a signature for a different identifier i′ (we conjecture that this is the case for the EC-DSA signature scheme we propose). 6 1.3 Related Work Threshold Signatures Threshold signatures [4, 7, 17, 2, 1] are signature schemes distributing the ability to generate a signature among a set of parties, so that cooperation among at least a threshold of them is required to produce a signature. Nicolosi et al. [15] present a threshold signature scheme for the Schnorr signature scheme. Particularly relevant to the cryptocurrency application are the works of Goldfeder et al. [8, 6], Lindell [9, 10], and Lee et al. [5] which propose a threshold signature scheme to produce ECDSA signatures, which is already compatible with Bitcoin and Ethereum. Passwords + Threshold signatures MacKenzie and Reiter [11, 12] and Camenish et al. [3] consider notions somewhat similar to the one of a password-based threshold signature scheme: as in our setting, signing requires knowledge of a password and access to an external party (in their case a server rather than a hardware token), but in contrast to our setting the signer may additionally hold some high-entropy secret state (and indeed, the schemes considered in those papers require such secret state). This rules out the usage of such schemes in our scenario, as we want the user to be able to operate his wallet from any client without relying on any external state beyond its password. 1.4 Organization of the paper Section 2 introduces some notations, recalls the security definitions for encryption schemes and presents some auxiliary lemmas. In Section 3 we recall the definition of Threshold Signature scheme and introduce the Non-Signalling property. Section 4 defines Two Factor Signature schemes and Section 5 presents our main construction and proofs of security. Section 6 presents the two modified TS schemes (based on Schnorr and EC-DSA) which can be used to instantiate our construction, and Section 7 discusses the Unlinkability property. 2 Preliminaries and Notation If X is a probability distribution, we denote with x← X the process of sampling x according to X. When, in a probabilistic experiment, we say that an adversary outputs a probability distribution, we mean that such a distribution is given as a poly-time randomized program such that running the program with no input (and uniform randomness) samples from such distribution. For two party (randomized) algorithms we denote with 〈α;β〉 ← 〈A(a);B(b)〉 the process of running the algorithm A on input a (and uniform randomness as needed) interacting with algorithm B on input b (and uniform randomness), where Îą is the local output of A and β is the local output of B. Whenever an algorithm has more than one output, but we are interested in only a subset of such outputs, we will use ¡ as a placeholder for the other outputs (for example we could write (¡, pk) ← KeyGen(1Îş) to denote that pk is a public key output by the KeyGen algorithm of a signature scheme in a context where we are not interested in the corresponding secret key). Token Oracles. In our definitions, we will often model a party/program implementing party T . We say that a Token Oracle is a stateful oracle which can answer KeyGen, PK, Sign queries. Initially, its state is set to ⊥. To answer such queries, the oracle interacts with its caller by running the KeyGenT, PKT, SignT algorithms respectively using its own inner state (and a message m supplied by the caller for Sign queries). As a result of KeyGenT queries, its state is also updated. Moreover, when explicitly specified, the oracle could also return to the caller the public keys pk which are part of its local output during KeyGenT and SignT queries. 2.1 Symmetric encryption Our construction requires indistinguishability under a chosen ciphertext attack: no adversary, given an encryption oracle that, each time it is queried, takes as input two messages and always encrypts the first or the second one, and a decryption oracle which cannot be queried on outputs of the first oracle, should 7 be able to tell which of the two messages the encryption oracle is encrypting. We also require integrity of ciphertexts: no adversary, given an encryption oracle, should be able to create a new ciphertext which successfully decrypts. Definition 1 (Symmetric Encryption). A Symmetric Encryption scheme is a triple of PPT algorithms SE = (SE.G,SE.E,SE.D) such that: • SE.G(1Îş) → ek is the “Key Generation algorithm”, which on input the security parameter Îş outputs a secret key ek. In this work, we assume without loss of generality that SE.G simply samples3 ek ←R {0, 1}Îş. • SE.E(ek,m)→ c is the “Encryption algorithm”, which on input a secret key ek and a message m outputs a ciphertext c. • SE.D(ek, c)→ m is the “Decryption algorithm”, which on input a secret key ek and a ciph";"""date"",""2019-05-15T03:16:30Z"" ""pdf:PDFVersion"",""1.5"" ""xmp:CreatorTool"",""LaTeX with hyperref package"" ""pdf:docinfo:title"","""" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""subject"","""" ""pdfa:PDFVersion"",""A-2b"" ""xmpMM:History:Action"",""converted"" ""language"",""en"" ""dc:format"",""application/pdf; version=""""A-2b"""""",""application/pdf; version=1.5"" ""pdf:docinfo:creator_tool"",""LaTeX with hyperref package"" ""access_permission:fill_in_form"",""true"" ""xmpMM:History:When"",""2019-05-14T23:16:30Z"" ""pdf:encrypted"",""false"" ""dc:title"","""" ""xmp:CreateDate"",""2019-01-02T16:26:46Z"" ""modified"",""2019-05-15T03:16:30Z"" ""cp:subject"","""" ""xmpMM:History:SoftwareAgent"",""Preflight"" ""pdf:docinfo:subject"","""" ""pdf:hasMarkedContent"",""false"" ""xmpMM:History:InstanceID"",""uuid:6108a866-6f29-ba4d-88d4-d2e217d025dc"" ""xmp:ModifyDate"",""2019-05-14T23:16:30Z"" ""pdf:docinfo:creator"","""" ""meta:author"","""" ""trapped"",""False"" ""meta:creation-date"",""2019-01-02T15:26:46Z"" ""created"",""2019-01-02T15:26:46Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2019-01-02T15:26:46Z"" ""resourceName"",""10094253"" ""pdfaid:part"",""2"" ""Author"","""" ""producer"",""pdfTeX-1.40.16"" ""pdf:docinfo:producer"",""pdfTeX-1.40.16"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""3"",""0"",""1"",""4"",""2"",""3"",""10"",""23"",""15"",""0"",""10"",""11"",""1"",""3"",""2"",""0"",""4"",""13"",""8"",""6"",""4"",""10"",""1"",""1"",""5"",""11"",""7"",""1"",""9"",""10"",""0"",""5"",""11"",""11"",""18"",""8"" ""Keywords"","""" ""access_permission:modify_annotations"",""true"" ""dc:creator"","""" ""dcterms:created"",""2019-01-02T15:26:46Z"" ""Last-Modified"",""2019-05-15T03:16:30Z"" ""dcterms:modified"",""2019-05-15T03:16:30Z"" ""title"","""" ""xmpMM:DocumentID"",""uuid:24098e48-8b31-a949-82f0-0168d67f637c"" ""Last-Save-Date"",""2019-05-15T03:16:30Z"" ""pdf:docinfo:keywords"","""" ""pdf:docinfo:modified"",""2019-05-15T03:16:30Z"" ""meta:save-date"",""2019-05-15T03:16:30Z"" ""Content-Length"",""388756"" ""Content-Type"",""application/pdf"" ""xmp:MetadataDate"",""2019-05-14T23:16:30Z"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"","""" ""pdfaid:conformance"",""B"" ""pdf:producer"",""pdfTeX-1.40.16"" ""dc:subject"","""" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""39"" ""pdf:hasXMP"",""true"" ""pdf:charsPerPage"",""2810"",""4175"",""3995"",""3947"",""4206"",""4103"",""3266"",""2565"",""2340"",""2972"",""2870"",""3414"",""3030"",""3027"",""3550"",""2787"",""2940"",""2482"",""3499"",""798"",""3120"",""1312"",""2157"",""3478"",""3002"",""2603"",""3703"",""2483"",""3089"",""3380"",""2914"",""2926"",""2847"",""3639"",""2936"",""2597"",""3194"",""2573"",""3813"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""pdf:docinfo:trapped"",""False"" ""meta:keyword"","""" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2019-01-02T15:26:46Z"" ";https://scholar.google.com/scholar?start=850&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094654-1138;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[PDF][PDF] A Review on Secure Data Transmission Using Identity based Encryption & Visual Cryptography;PS Ghatode, PD Bangade ;2019 academia.edu;;"… Berlin,Germany: Springer, 2004, vol. 3027, pp. 223–238. [13]. D. Boneh and X. Boyen, “Secure identity based encryption without random oracles,” in Advances in Cryptology (CRYPTO?04), M. Franklin, Ed. Berlin, Germany: Springer, 2004, vol. 3152, pp. 197–206. [14] …";;;[PDF] academia.edu;https://www.academia.edu/download/65381665/5629.pdf;;;https://scholar.google.com/scholar?start=950&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094534-628;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;An Overview of Blockchain-based Applications for Consumer Electronics;V Gatteschi, F Lamberti… ; 2019 IEEE 23rd …, 2019 ieeexplore.ieee.org;;"… During the mining process, nodes verify if a person is entitled to spend a given amount of cryptocurrency (by inspecting previous … To gather data from the real world, smart contracts exploit oracles, services which read data from outside and inject them in the blockchain …";Cité 1 fois;;[PDF] ieee.org;https://ieeexplore.ieee.org/iel7/8892348/8900973/08900981.pdf?casa_token=jx-qMJFK4AUAAAAA:gO7KhsSyjPF2blfzf7-uuwGEdizUjqUkXJNummUJNrYBxPpm_Olf2SntGAQDVNBJxndlScgrR1Q;;"""og:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""twitter:title"",""An Overview of Blockchain-based Applications for Consumer Electronics"" ""twitter:card"",""summary"" ""Description"",""A high number of research initiatives investigated the advantages of blockchain technology in different sectors. The objective of this work is to present an ove"" ""og:title"",""An Overview of Blockchain-based Applications for Consumer Electronics"" ""resourceName"",""08900981.pdf"" ""language"",""en"" ""title"",""An Overview of Blockchain-based Applications for Consumer Electronics | IEEE Conference Publication | IEEE Xplore"" ""og:description"",""A high number of research initiatives investigated the advantages of blockchain technology in different sectors. The objective of this work is to present an overview of blockchain-based applications in the consumer electronics field. In particular this work reports around fifty blockchain initiatives in the contexts of healthcare, smart homes, smart cities, automotive and smart devices, and discusses advantages/limitations of this technology."" ""twitter:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-UA-Compatible"",""IE=Edge"" ""viewport"",""width=device-width, initial-scale=1.0"" ""dc:title"",""An Overview of Blockchain-based Applications for Consumer Electronics | IEEE Conference Publication | IEEE Xplore"" ""twitter:description"",""A high number of research initiatives investigated the advantages of blockchain technology in different sectors. The objective of this work is to present an overview of blockchain-based applications in the consumer electronics field. In particular this work reports around fifty blockchain initiatives in the contexts of healthcare, smart homes, smart cities, automotive and smart devices, and discusses advantages/limitations of this technology."" ""Content-Encoding"",""UTF-8"" ""Content-Type-Hint"",""text/html; charset=utf-8"" ""Content-Length"",""39196"" ""Content-Language"",""en-US"" ""Content-Type"",""text/html; charset=UTF-8"" ";https://scholar.google.com/scholar?start=440&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094562-746;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Blockchain-From Cryptocurrency to Vertical Industries-A Deep Shift;MI Sarwar, K Nisar, A Khan ; 2019 IEEE International …, 2019 ieeexplore.ieee.org;;"… C. Payments & Remittances With the use of Crypto / Digital currencies, international payments and … has gained the attention of many remarkable development companies like Oracle and SAP. Data in Blockchain ledger is secure and immutable; therefore, this is the technology …";Autres articles;;[PDF] ieee.org;https://ieeexplore.ieee.org/iel7/8949349/8960683/08960795.pdf?casa_token=trBTU-z_socAAAAA:H5me4DH_9AJqUQe12_COnlYtXHk8uycCC_Aj6RJOyJN5igEHTULROQcNRKZWgzrRs1Y3mO6inEo;;"""og:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""twitter:title"",""Blockchain - From Cryptocurrency to Vertical Industries - A Deep Shift"" ""twitter:card"",""summary"" ""Description"",""A technology that has shifted the entire paradigm of computer applications during the last decade is undoubtedly, the Blockchain technology. The purpose of inve"" ""og:title"",""Blockchain - From Cryptocurrency to Vertical Industries - A Deep Shift"" ""resourceName"",""08960795.pdf"" ""language"",""en"" ""title"",""Blockchain - From Cryptocurrency to Vertical Industries - A Deep Shift | IEEE Conference Publication | IEEE Xplore"" ""og:description"",""A technology that has shifted the entire paradigm of computer applications during the last decade is undoubtedly, the Blockchain technology. The purpose of inventing Blockchain was to develop a technology in which data is immutable, confidential and located on a de-centralized network. This technology was first used to build a cryptocurrency application, which is just one of many applications developed using Blockchain technology. Since, most of the emphasis has been on the money and finance related services, now the vertical industries have also started to implement Blockchain. This study contributes to review the opportunities of using Blockchain technology in vertical industries."" ""twitter:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-UA-Compatible"",""IE=Edge"" ""viewport"",""width=device-width, initial-scale=1.0"" ""dc:title"",""Blockchain - From Cryptocurrency to Vertical Industries - A Deep Shift | IEEE Conference Publication | IEEE Xplore"" ""twitter:description"",""A technology that has shifted the entire paradigm of computer applications during the last decade is undoubtedly, the Blockchain technology. The purpose of inventing Blockchain was to develop a technology in which data is immutable, confidential and located on a de-centralized network. This technology was first used to build a cryptocurrency application, which is just one of many applications developed using Blockchain technology. Since, most of the emphasis has been on the money and finance related services, now the vertical industries have also started to implement Blockchain. This study contributes to review the opportunities of using Blockchain technology in vertical industries."" ""Content-Encoding"",""UTF-8"" ""Content-Type-Hint"",""text/html; charset=utf-8"" ""Content-Length"",""39688"" ""Content-Language"",""en-US"" ""Content-Type"",""text/html; charset=UTF-8"" ";https://scholar.google.com/scholar?start=560&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094623-1001;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[PDF][PDF] Toward a Stable Tokenized Medium of Exchange;A Lipton ; Cryptoassets. Legal, Regulatory and Monetary …, 2019 numerairefinancial.com;;"… the price of a crypto coin in terms of a fiat currency requires an oracle and automatically … Such oracles are prone to manipulation, and more importantly at odds with the claimed decentralized nature … Ideally, one should be able to directly observe this price from the blockchain in a …";Cité 5 fois;;[PDF] numerairefinancial.com;http://www.numerairefinancial.com/s/20-2019-Lipton-Toward-a-Stable-Tokenized-Medium-of-Exchange-Brummer_Legal__Regulatory__and_Monetary_.pdf;;;https://scholar.google.com/scholar?start=820&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094590-868;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Data sharing and privacy for patient iot devices using blockchain;G Srivastava, RM Parizi, A Dehghantanha… ; … Conference on Smart …, 2019 Springer;;"… https://media.consensys.net/a-visit-to-the-oracle-de9097d38b2f. 7. Dwivedi, AD, Malina, L., Dzurenda, P., Srivastava, G.: Optimized blockchain model for … Srivastava, G., Dwivedi, AD, Singh, R.: Crypto-democracy: a decentralized voting scheme using blockchain technology …";Cité 19 fois;Les 3 versions;[PDF] researchgate.net;https://www.researchgate.net/profile/Reza_Parizi/publication/336672026_Data_Sharing_and_Privacy_for_Patient_IoT_Devices_Using_Blockchain/links/5dab4f43299bf111d4bee117/Data-Sharing-and-Privacy-for-Patient-IoT-Devices-Using-Blockchain.pdf;;;https://scholar.google.com/scholar?start=680&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094623-1003;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;How blockchain technology can be used for trade finance process in Nigeria;O Oye;Bamgbose 2019 esource.dbs.ie;;"… people believe the it would replace other centralized databases such as the Oracle, however, this is an exaggerated view of the blockchain's potential. Blockchain is mainly based on cryptography and consensus algorithms which …";Cité 2 fois;;[PDF] dbs.ie;https://esource.dbs.ie/bitstream/handle/10788/3659/mba_oye-bamgbose_o_2019.pdf?isAllowed=y&sequence=1;;"""date"",""2019-01-06T23:01:10Z"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""pdf:PDFVersion"",""1.5"" ""xmp:CreatorTool"",""MicrosoftÂŽ Word 2016"" ""pdf:hasXFA"",""false"" ""access_permission:modify_annotations"",""true"" ""access_permission:can_print_degraded"",""true"" ""dc:creator"",""fikayo oye"" ""language"",""en"" ""dcterms:created"",""2019-01-06T23:01:10Z"" ""Last-Modified"",""2019-01-06T23:01:10Z"" ""dcterms:modified"",""2019-01-06T23:01:10Z"" ""dc:format"",""application/pdf; version=1.5"" ""Last-Save-Date"",""2019-01-06T23:01:10Z"" ""pdf:docinfo:creator_tool"",""MicrosoftÂŽ Word 2016"" ""access_permission:fill_in_form"",""true"" ""pdf:docinfo:modified"",""2019-01-06T23:01:10Z"" ""meta:save-date"",""2019-01-06T23:01:10Z"" ""pdf:encrypted"",""false"" ""modified"",""2019-01-06T23:01:10Z"" ""Content-Length"",""2246516"" ""pdf:hasMarkedContent"",""true"" ""Content-Type"",""application/pdf"" ""pdf:docinfo:creator"",""fikayo oye"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"",""fikayo oye"" ""dc:language"",""en-GB"" ""meta:author"",""fikayo oye"" ""meta:creation-date"",""2019-01-06T23:01:10Z"" ""created"",""2019-01-06T23:01:10Z"" ""access_permission:extract_for_accessibility"",""true"" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""130"" ""Creation-Date"",""2019-01-06T23:01:10Z"" ""resourceName"",""mba_oye-bamgbose_o_2019.pdf"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""389"",""424"",""2641"",""2556"",""685"",""1361"",""798"",""2314"",""1985"",""1305"",""1724"",""1158"",""1587"",""1690"",""1463"",""1154"",""1642"",""1968"",""1849"",""1422"",""584"",""55"",""52"",""320"",""788"",""1715"",""1297"",""1638"",""1810"",""1971"",""2015"",""1968"",""1717"",""2008"",""1270"",""1135"",""1661"",""956"",""1343"",""613"",""939"",""1155"",""2046"",""1297"",""1987"",""1155"",""619"",""1644"",""1343"",""1488"",""1984"",""1763"",""1844"",""1162"",""1617"",""1785"",""1095"",""1945"",""1817"",""1731"",""1377"",""2199"",""1847"",""2095"",""2127"",""2175"",""2176"",""2110"",""2291"",""1474"",""2146"",""2008"",""1988"",""2079"",""2036"",""1438"",""2158"",""1813"",""1945"",""2123"",""311"",""1898"",""2226"",""1770"",""666"",""967"",""1397"",""2061"",""2329"",""2246"",""2631"",""2617"",""1889"",""2908"",""2280"",""2440"",""2186"",""1906"",""1925"",""2241"",""1041"",""3044"",""3377"",""3300"",""3401"",""3282"",""3201"",""3307"",""3034"",""2857"",""1040"",""2876"",""2976"",""2055"",""2200"",""786"",""2333"",""2234"",""2644"",""2580"",""2380"",""2767"",""288"",""2578"",""2140"",""737"",""71"",""7"",""11"",""8"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""Author"",""fikayo oye"" ""producer"",""MicrosoftÂŽ Word 2016"" ""access_permission:can_modify"",""true"" ""pdf:docinfo:producer"",""MicrosoftÂŽ Word 2016"" ""pdf:docinfo:created"",""2019-01-06T23:01:10Z"" ";https://scholar.google.com/scholar?start=820&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094649-1120;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;On Value Preservation with Distributed Ledger Technologies, Intelligent Agents, and Digital Preservation;JL De La Rosa ; International Congress on Blockchain and Applications, 2019 Springer;;"… Agents Digital preservation Blockchain DLT Virtual currencies. Download conference paper PDF … First topic, there is need to find out whether preservation is provided as a service (eg by currently existing DP solutions providers) that can be called remotely through oracles or as …";Autres articles;;[PDF] easychair.org;https://easychair.org/publications/preprint_download/L7zn;;"""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""pdf:PDFVersion"",""1.5"" ""xmp:CreatorTool"",""PScript5.dll Version 5.2.2"" ""pdf:hasXFA"",""false"" ""access_permission:modify_annotations"",""true"" ""access_permission:can_print_degraded"",""true"" ""dc:creator"",""PeplluĂ­s"" ""language"",""en"" ""dc:format"",""application/pdf; version=1.5"" ""title"",""Microsoft Word - 1904 Agents and DLT for Value Preservation, position paper, v04"" ""xmpMM:DocumentID"",""uuid:d6be97e6-4709-4379-a584-256f47779eb8"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"",""Microsoft Word - 1904 Agents and DLT for Value Preservation, position paper, v04"" ""xmp:CreateDate"",""2019-04-04T16:13:55Z"" ""Content-Length"",""254948"" ""pdf:hasMarkedContent"",""false"" ""Content-Type"",""application/pdf"" ""xmp:ModifyDate"",""2019-04-04T16:13:55Z"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"",""PeplluĂ­s"" ""meta:author"",""PeplluĂ­s"" ""pdf:producer"",""Acrobat Distiller 10.1.16 (Windows)"" ""access_permission:extract_for_accessibility"",""true"" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""9"" ""resourceName"",""L7zn"" ""pdf:hasXMP"",""true"" ""pdf:charsPerPage"",""250"",""2771"",""3337"",""3644"",""3406"",""2051"",""4046"",""3385"",""3712"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""Author"",""PeplluĂ­s"" ""access_permission:can_modify"",""true"" ";https://scholar.google.com/scholar?start=930&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094602-918;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[PDF][PDF] FROM CLAUSE TO CODE: TRANSFORMING CONTRACTS INTO SMART CONTRACTS;J Joos ;2019 lib.ugent.be;;"… Quantification through oracle input 77 … of oracles, as they bridge the gap between the online environment of smart contracts and the physical … https://blockchainreview.io/crypto-assets- cryptocurrencies-digital-blockchain-stablecoin-sto-bitcoin-altcoin/ (Consulted on 27 November …";Autres articles;Version HTML;[PDF] ugent.be;https://lib.ugent.be/fulltxt/RUG01/002/782/568/RUG01-002782568_2019_0001_AC.pdf;;"""date"",""2019-05-15T01:13:26Z"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""pdf:PDFVersion"",""1.3"" ""pdf:docinfo:title"",""Microsoft Word - Thesis final Word.docx"" ""xmp:CreatorTool"",""Word"" ""Keywords"","""" ""pdf:hasXFA"",""false"" ""access_permission:modify_annotations"",""true"" ""access_permission:can_print_degraded"",""true"" ""subject"","""" ""dcterms:created"",""2019-05-15T01:13:26Z"" ""language"",""en"" ""Last-Modified"",""2019-05-15T01:13:26Z"" ""dcterms:modified"",""2019-05-15T01:13:26Z"" ""dc:format"",""application/pdf; version=1.3"" ""title"",""Microsoft Word - Thesis final Word.docx"" ""Last-Save-Date"",""2019-05-15T01:13:26Z"" ""pdf:docinfo:creator_tool"",""Word"" ""access_permission:fill_in_form"",""true"" ""pdf:docinfo:keywords"","""" ""pdf:docinfo:modified"",""2019-05-15T01:13:26Z"" ""meta:save-date"",""2019-05-15T01:13:26Z"" ""pdf:encrypted"",""false"" ""dc:title"",""Microsoft Word - Thesis final Word.docx"" ""modified"",""2019-05-15T01:13:26Z"" ""Content-Length"",""1808908"" ""pdf:hasMarkedContent"",""false"" ""Content-Type"",""application/pdf"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""dc:subject"","""" ""meta:creation-date"",""2019-05-15T01:13:26Z"" ""created"",""2019-05-15T01:13:26Z"" ""access_permission:extract_for_accessibility"",""true"" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""122"" ""Creation-Date"",""2019-05-15T01:13:26Z"" ""resourceName"",""RUG01-002782568_2019_0001_AC.pdf"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""417"",""1600"",""8"",""2829"",""768"",""7"",""910"",""1170"",""1038"",""644"",""8"",""2398"",""3717"",""2967"",""2791"",""2935"",""3326"",""206"",""2915"",""3397"",""3399"",""2136"",""3365"",""3158"",""2615"",""2882"",""3043"",""3166"",""3200"",""3621"",""2367"",""3147"",""2076"",""1999"",""2825"",""3648"",""3466"",""2567"",""2912"",""2714"",""3489"",""3423"",""2927"",""3730"",""3308"",""2976"",""3191"",""3106"",""2427"",""2130"",""2937"",""1120"",""2745"",""3289"",""3296"",""3559"",""3356"",""3306"",""3679"",""3343"",""2969"",""3333"",""3315"",""3518"",""2876"",""1558"",""1978"",""3105"",""3029"",""2576"",""3037"",""2987"",""2845"",""3255"",""2753"",""3156"",""3384"",""2841"",""3718"",""2155"",""3368"",""2340"",""1841"",""3896"",""2970"",""2471"",""2209"",""1745"",""2178"",""3104"",""3163"",""2143"",""3137"",""3189"",""3305"",""1817"",""1940"",""2853"",""2160"",""2989"",""2356"",""1439"",""2093"",""3088"",""9"",""2077"",""3096"",""846"",""2347"",""1087"",""2117"",""2190"",""2354"",""2491"",""2545"",""2300"",""2195"",""2226"",""2157"",""2638"",""2334"",""371"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""meta:keyword"","""" ""producer"",""macOS Version 10.14.4 (Build 18E226) Quartz PDFContext"" ""access_permission:can_modify"",""true"" ""pdf:docinfo:producer"",""macOS Version 10.14.4 (Build 18E226) Quartz PDFContext"" ""pdf:docinfo:created"",""2019-05-15T01:13:26Z"" ";https://scholar.google.com/scholar?start=730&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094548-685;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Enforcing trustworthy cloud SLA with witnesses: A game theory–based model using smart contracts;H Zhou, X Ouyang, J Su, C de Laat… ; … Practice and Experience, 2019 Wiley Online Library;;"… Oraclize‡ is a third trusted company currently offering the service as an oracle. Nevertheless, a third trusted party exists single-point failure and deviates from the decentralization idea of blockchain. Hence, ChainLink24 works on distributed oracles …";Cité 7 fois;;[PDF] wiley.com;https://onlinelibrary.wiley.com/doi/pdf/10.1002/cpe.5511;;;https://scholar.google.com/scholar?start=500&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094553-705;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Introduction: The Context of Time and Space;ER Onyejekwe ; Portable Health Records in a Mobile Society, 2019 Springer;;"… society! Come join the group! References. Blockchain in healthcare: a data-centric perspective. 2018. https://medium.com/crypto-oracle/blockchain-in-healthcare-a-data- centric-perspective-109e898d73f3. Accessed 6 Sept 2018 …";Autres articles;;null;;;;https://scholar.google.com/scholar?start=520&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094553-702;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Toward a sustainable circular economy powered by community-based incentive systems;MM Dapp ; Business Transformation through Blockchain, 2019 Springer;;"… pm/) and Augur (http://www.augur.net/) are decentralized, peer-to-peer oracle and prediction … outcome of any future event, or viewed differently, to establish decentralized oracles powered by … built into its core design by using cryptoeconomics based on blockchain technology to …";Cité 7 fois;Les 5 versions;[PDF] researchgate.net;https://www.researchgate.net/profile/Marcus_Dapp/publication/330023807_Toward_a_Sustainable_Circular_Economy_Powered_by_Community-Based_Incentive_Systems_Volume_II/links/5d85e91c299bf1996f83ea37/Toward-a-Sustainable-Circular-Economy-Powered-by-Community-Based-Incentive-Systems-Volume-II.pdf;;;https://scholar.google.com/scholar?start=520&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094626-1011;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Cryptographic Reverse Firewalls for Identity-Based Encryption;Y Zhou, Y Guan, Z Zhang, F Li ; … Conference on Frontiers in Cyber Security, 2019 Springer;;"… At the same time, many of the encryption schemes that are proven to be secure in Random Oracle Model (ROM) may present undetectable vulnerabilities when implemented, and these vulnerabilities may reveal a users' secrets, eg, the machine hides some backdoors without …";Cité 1 fois;Les 3 versions;null;;;;https://scholar.google.com/scholar?start=830&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094569-774;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;??????????? ?????????? ??????? ?????????? ?? ????????? ?????????? ??????? ????????????? ????? ???????? MS SQL server ?? Oracle;?? ?????, ?? ????????, ?? ???????, ?? ??? ;2019 biblio.umsf.dp.ua;;"… DBMS Oracle and MS SQL Server have standard built-in crypto data protection packets. The purpose of this article is to consider merits and demerits of using these packages and analyze possibility of their using in customs departments of fiscal service of Ukraine …";Autres articles;;[PDF] umsf.dp.ua;http://biblio.umsf.dp.ua/jspui/bitstream/123456789/3557/1/7%20%D0%9A%D0%B0%D0%B1%D0%B0%D0%BA%20%D0%9B.%20%D0%92..pdf;" ISSN 2521-6643 Системи та технології, № 1 (57), 2019 212 107 DOI: УДК 004.056.55 Л. В. Кабак, кандидат технічних наук, доцент кафедри програмного забезпечення комп’ютерних систем Національного технічного університету “Дніпровська політехніка” О. Н. Молотков, кандидат технічних наук, доцент кафедри інформаційних систем та технологій Університету митної справи та фінансів О. П. Буланий, кандидат фізико- математичних наук, доцент кафедри інформаційних систем та технологій Університету митної справи та фінансів В. В. Куц, студент Університету митної справи та фінансів ДОСЛІДЖЕННЯ МОЖЛИВОСТІ ЗАХИСТУ ІНФОРМАЦІЇ ЗА ДОПОМОГОЮ ВБУДОВАНИХ ПАКЕТІВ КРИПТОЗАХИСТУ ДАНИХ СЕРВЕРІВ MS SQL SERVER ТА ORACLE Проведено дослідження, розглянуто можливості впровадження вйу- дованих у сервер Oracle та MS SQL Server алгоритмів криптозахисту даних у спеціалізовані інформаційні системи на прикладі інформаційної системи Державної фіскальної сНуМйи України. Досліджено швидкодію роботи аН- горитмів, оцінено зростання завантаження серверів і навантаження на комп’ютерну мережу через збільшення обсягу даних, що передаються. На- йув подальшого розвитку метод оцінювання роботи вбудованих симетричних алгоритмів шифрування даних. Запропоновано алгоритм універсальної функ- ції, яка дає можливість шифрувати дані завдяки вводонОПу ключеві та обра- нОПу алгоритму. Ключові сНОва: криптоалгоритми; захист даних; шифрування даних; йаСи даних; спеціалізовані інформаційні системи. Проведено иссНодОванио и рассмотрены возможности внедрения встроен- ных в сервер Oracle и MS SQL Server алгоритмов криптозащиты данных в специализированные информационные системы на примере информационной Š Л. В. Кабак, О. Н. Молотков, О. П. Буланий, В. В. Куц, 2019 Л. В. Кабак, О. Н. Молотков, О. П. Буланий, В. В. Куц ISSN 2521-6643 Системи та технології, № 1 (57), 2019 212 108 системы Государственной фискальной службы Украины. ТакМо иссНодОва- нО быстродействие работы алгоритмов и проведена оценка роста загрузки серверов и нагрузка на компьютерную сеть Са счет увеличения объемов пере- даваемых данных. Получил дальнейшее развитие метод оценки работы встроенных симметричных алгоритмов шифрования данных. Предложен аН- горитм универсальной функции, которая позволяет проводить шифрованые данных благодаря вводоннОПу ключу и выбранному алгоритму. Ключевые сНОва: криптоалгоритмы; защита данных; шифрование данных; базы данных; специализированные информационные системы. At the present time Oracle and MS SQL Servers are used for datastorage in the information system of department of customs control organization and for processing of State Fiscal Service of Ukraine. Data cumulated during customs clearance which requires access from all users are spread among many databases located between various physical storages. Data is passed between servers using different types of computer networks. With development of ramified informational systems and networks become a topical issue of ensuring sustaina- bility, confidentiality and authenticity of data in customs departments of fiscal service of Ukraine, which are transmitted through open data line, through usage of modern cryptography methods. It's important to know that there are different methods that help to choose such set of security tools that will provide maximum data security. To protect data from unauthorized access are used modern data encryption algorithms. At the present time data is transmitted over the computer network without usage of any crypt protection system which may give attacker opportunity to capture data. DBMS Oracle and MS SQL Server have standard built-in crypto data protection packets. The purpose of this article is to consider merits and demerits of using these packages and analyze possibility of their using in customs departments of fiscal service of Ukraine. According to research tech- nique in this article following tasks were solved: analyzing of built-in crypto data protection packets, as in their cryptostability, speed and volume increase of transmitted data, developing of plug-in for speed test of existing methods for crypt protection, considering possibility of implementation built-in packets into infor- mational system of fiscal service of Ukraine. In this article, the speed of algo- rithms work was investigated and an estimation of the growth of server loading and loading on the computer network was made due to the increase of data vo- lumes being transmitted. In the article, the method for evaluating the work of em- bedded symmetric data encryption algorithms has been further developed. Key words: grid system; partitioning; data consolidation; data bases; specialized information systems. ISSN 2521-6643 Системи та технології, № 1 (57), 2019 212 109 Постановка проблеми. Нині в інформаційній системі департаменту організації митного контролю та оформлення Державної фіскальної сНуМйи України для збереження даних використовують сервери Oracle та MS SQL Server. Дані, що накопичуються під час митного оформлення, Đ´Đž яких ноОй- хідний доступ усім користувачам, розкидані серед безлічі йаС даних, розта- шованих у різних фізичних місцях зберігання. Дані передаються між серве- рами через різні типи комп’ютерних мереж. Із розвитком розгалужених ін- формаційних систем і мереж стало актуальним питання забезпечення ціліс- ності, конфіденційності та достовірності даних в митних підрозділах Дер- жавної фіскальної сНуМйи України, які передаються через відкриті канаНи зв’язку, шляхом використання сучасних методів криптографії. Важливо Сна- ти, що існують різні методи, котрі допомагають обрати таку сукупність Са- собів захисту, яка забезпечить максимальну йоСпоку даних. Для захисту да- них від несанкціонованого доступу використовують сучасні алгоритми шиф- рування даних. Деякі стандартні алгоритми у вигляді пакетів постачаються разом із СКБД Oracle та MS SQL Server. Для організації роботи сучасної Єдиної інформаційної системи фіскальної сНуМйи використовуються СасОйи ОrасlĐľ, які називаються розподіленою базою даних і тиражуванням даних. Кожна йаСа даних керується власною локальною системою керування базою даних (далі – СКБД). Усі сервери йаС даних у розподіленій базі даних спів- працюють, щоб підтримувати погодженість глобальної йаСи даних. Однак нині дані передаються через комп’ютерну мережу йоС використання будь- яких систем криптозахисту, це уможливлює перехоплення даних СНОвПис- никаПи. СКБД Oracle має утиліту Oracle Advanced Security, яку потрібно ку- пувати Са окремі кошти, аНо вОна но придатна для роботи гетерогенних роз- поділених йаС даних. СКБД Oracle та MS SQL Server мають стандартні вйу- довані пакети криптозахисту даних. Мета дослідження – розглянути перева- ги та недоліки використання цих пакетів, а також можливість їх викорис- тання в митних підрозділах фіскальної сНуМйи України. Відповідно Đ´Đž мети наукОвОгО дослідження слід виконати такі завдання: – вивчити вбудовані пакети криптозахисту даних, а саПо: їхню крипто- стійкість, швидкодію та збільшення обсягу даних, що передаються; – розробити алгоритм тестування швидкодії наявних методів криптозахисту; – розглянути можливість втілення убудованих пакетів в інформаційну систему Державної фіскальної сНуМйи України. Аналіз останніх досліджень і публікацій. ĐŁ СКБД Oracle та MS SQL Server наявні такі алгоритми шифрування даних: DES, DES3, AES. DES (ангН. Data Encryption Standard) – це симетричний алгоритм шифрування певних даних, стандарт шифрування прийнятий урядом ХША С 1976 р. Đ´Đž кінця 1990-х рр., із часом найув міжнародного застосування. ĐŠĐľ ISSN 2521-6643 Системи та технології, № 1 (57), 2019 212 110 після розроблення алгоритм викНикав неоднозначні відгуки. Оскільки DES містив засекречені елементи своєї структури, то виникаНи побоювання щодо можливості контролю С йОку Національного Агентства Безпеки ХША (ангН. National Security Agency). Алгоритм піддавався критиці через ПаНу дОвМину ключа, що, зрештою, після бурхливих обговорень і контролю академічної громадськості но СавадиНО КОПу стати загальноприйнятим стандартом. DES дав поштовх сучасним уявленням про блокові алгоритми шифрування та криптоаналіз [1–3]. Нині DES вважається ненадійним, адМо він має ПаНу дОвМину ключа (56 біт) і розмір йНОку (64 біти). ĐŁ праці M. Mitsuru [4] пОданО методику криптоаналізу, завдяки якій у 1999 р. ключ DES йуНО публічно дешифрова- нО. Процес дешифрування тривав 22 гОд 15 хв. Нині цей алгоритм викорис- товується в модифікації 3-DES, вважається, що в цій модифікації алгоритм досить надійний для застосування. DES поступово витісняється алгоритмом AES, що С 2002 р. є стандартом ХША [2; 4]. Робота над розробкою алгоритму шифрування AES почалась 1997 р. у NIST (National Institute of Standards and Technology). Співробітники цього інституту співпрацювали С промисловцями та вченою спільнотою, котра Са- ймалась криптозахистом інформації, Đš досліджували новітні методи для роз- робки сучасного більш надійного, вдОскОнаНонОгО стандартного стандарту шифрування. Мета полягала в тому, щоб розробити алгоритм шифрування, який ПОМна використовувати як стандартний алгоритм шифрування. І цей алгоритм йуНО зараховано Đ´Đž Федерального стандарту обробки інформації (далі – FIPS). Вважається, що він має достатню криптостійкість і СПОМо дОй- ре захистити інформацію уряду та інших організацій упродовж досить три- ваНОгО проміжку часу. Нині цей алгоритм використовує уряд ХША та на Đ´Đž- бровільних засадах будь-які підприємства. Крім того, цей алгоритм реалізо- вує симетричну криптографію ключів як йНОкОвиК шифр, він підтримує ро- зміри блоків 128 біт і розмір ключів 128, 192, 256 біт [5–8]. Мета статті – дослідження можливості використання вбудованих у СКБД Oracle та MS SQL Server криптографічних алгоримів захисту інформації на швидкодію, розмір даних, які отримуються після шифрування даних, і криптостійкість. Для тестування вбудованих алгоритмів розроблено спеціальний програмний додаток, Са допомогою якого проводились окспо- рименти. Виклад ОснОвнОгО матеріалу. В сучасній Єдиній автоматизованій ін- формаційній системі митних підрозділів Державної фіскальної сНуМйи України використовуються СКБД ORACLE та MS SQL Server. ĐŁ СКБД Oracle та MS SQL Server наявні такі алгоритми шифрування даних: DES, DES3, AES. Для реалізації цих алгоритмів використовується ISSN 2521-6643 Системи та технології, № 1 (57), 2019 212 111 пакет DBMS_CRYPTO. Опис функцій, що зараховуються Đ´Đž пакета, пОданО в табл. 1. Пакет DBMS_CRYPTO надає тільки Одну функцію для шифруван- ня даних, саПо тому тип шифрування зазначається в параметрі. Алгоритми шифрування, що підтримуються, та відповідні їм функції пОданО в табл. 1. Необхідна константа задається у форматі ім’я_пакета.ім’я_функції. Наприк- Над, щоб обрати алгоритм Triple DES, слід використовувати функцію DBMS_CRYPTO.ENCRYPT_3DES. Таблиця 1 Алгоритми шифрування пакета DBMS_CRYPTO Ім’я_функції Опис Довжина ключа, Bit ENCRYPT_DES Data Encryption Standard (DES) 56 ENCRYPT_3DES_2KEY Modified Triple Data Encryption Standard обробляє кОМон йНОк тричі, використовуючи 2 ключі 112 ENCRYPT_3DES Triple Data Encryption Standard (3DES); обробляє кОМон йНОк тричі 156 ENCRYPT_AES128 Advanced Encryption Standard 128 NCRYPT_AES192 Advanced Encryption Standard 192 ENCRYPT_AES256 Advanced Encryption Standard 256 ENCRYPT_RC4 Потокове шифрування Під час застосування пакета слід обрати алгоритм шифрування, Садав- ши відповідне значення параметра typ. Під час шифрування даних кОМон йНОк, який зашифровується, ПОМо бути зашифрований ноСаНоМнО від інших айО зчеплений С іншими для створення більш надійної (С погляду крипто- графії) системи. В останньому випадку зашифроване значення краще захи- щено. ЊОй обрати метод зчеплення, слід зазначити відповідну константу С табл. 2 у значенні параметра typ, наприклад DBMS_CRYPTO.CHAIN_OFB. Під час використання алгоритмів шифрування слід явно доповнити дані так, щоб їхня дОвМина йуНа кратна розміру йНОку. Однак цей підхід но є криптографічно надійним. DBMS_CRYPTO дає СПОгу вказати необхідний тип доповнення. Більшість компаній використовує метод PKCS # 5 [9]. ЊОй обрати метод доповнень, слід зазначити відповідну константу С табл. 3 у значенні параметра typ, DBMS_CRYP TO.PAD_PKCS5. ISSN 2521-6643 Системи та технології, № 1 (57), 2019 212 112 Таблиця 2 Типи зчеплень DBMS_CRYPTO Константа Опис CHAIN_CBC Зчеплення блоків шифротексту – Cipher Block Chaining CHAIN_ECB Електронна книга кодів – Electronic Code Book CHAIN_CFB Шифрування зі зворотним зв’язком від шифротексту – Cipher Feedback CHAIN_OFB Шифрування зі зворотним зв’язком Са виходом – Output Feedback Таблиця 3 Типи доповнення DBMS_CRYPTO Константа Опис PAD_PKCS5 Доповнення СасОйаПи криптографічної системи із загальним ключем (Public Key Cryptography System # 5) PAD_ZERO Доповнення нулями PAD_NONE Відсутність доповнення. Використовується в разі впевненості в тому, що дОвМина даних уМо кратна розміру йНОку, що зашифровується (кратно 8) Нині на митних постах для митного оформлення використовується ПІК “Інспектор 2006”, тому дані зберігаються у СКБД MS SQL Server. ĐŁ СКБД MS SQL Server для шифрування даних використовуються вбудовані процедури PL/SQL, які послуговуються такими Đś алгоритмами, що Đš у СКБД Oracle (рис. 1). Проаналізувавши інформаційну систему митних підрозділів, йуНО ви- явлено, що ноСакОнниК доступ Đ´Đž даних ПОМо отримати СНОвПисник під час передання інформації Đ´Đž ЦБД, а також адміністратор БД, який має доступ Đ´Đž незашифрованих даних, що зберігаються в БД. Для захисту даних слід Са- стосувати шифрування. Шифрування даних но розв’язує проблему контро- лю доступу, Однак значно підвищує йоСпоку збереження даних, адМо Đ´Đž них но матимуть доступу всі рівні адміністраторів (рис. 3). Наприклад, якщо сервер центральної йаСи даних йуНО неправильно налаштовано, і хакер зміг отримати доступ Đ´Đž даних, то вкрадені дані но матимуть ніякої цінності, як- що вОни зашифровані. ISSN 2521-6643 Системи та технології, № 1 (57), 2019 212 113 Зловмисник БД Інспектор 2006 БД Обласна митниця БД Центральна БД Адміністратор БД митниці Адміністратор ЦБД Рис. 1. Перехоплення секретної інформації СНОвПисникОП Хоча шифрування – надійний засіб захисту даних, КОгО но слід засто- совувати щодо всіх даних, тому що під час шифрування суттєво збільшу- ються обсяг даних і навантаження на процесор сервера. Коли вирішується, чи потрібно шифрувати дані, слід оцінити, чи можуть отримати доступ Đ´Đž комп’ютерної мережі СНОвПисники. Якщо користувачі отримують доступ Đ´Đž даних через загальнодоступну мережу, для збільшення йоСпоки ПОМо СнадО- битися шифрування даних. Однак, якщо для доступу передбачено безпечну конфігурацію інтрамережі, шифрування ПОМо но знадобитися. Будь-яке ви- користання шифрування також має містити стратегію обслуговування паро- лів, ключів і сертифікатів. MS SQL Server дає СПОгу адміністраторам і розробникам обирати С Đ´Đľ- кількох алгоритмів, зокрема DES, Triple DES, TRIPLE_DES_3KEY, RC2, RC4, RC4 зі 128-розрядним ключем, DESX, AES зі 128-розрядним ключем, AES зі 192-розрядним ключем і AES із 256-розрядним ключем [9]. Якщо для шифрування даних на митних постах використовується MS SQL Server, а в ЦБД Oracle 11g, то потрібно, щоб алгоритми шифрування збігалися. В Oracle 11g асиметричних алгоритмів шифрування немає, їх ПОМ- на використовувати, якщо придбати утиліту Oracle Advanced Security. В табл. 4 відображено алгоритми шифрування, наявні в Oracle та в MS SQL Server. Адміністратор БД митниці Зловмисник Адміністратор ЦБД Інспектор 2006 Обласна митниця Центральна БД ISSN 2521-6643 Системи та технології, № 1 (57), 2019 212 114 Таблиця 4 Алгоритми шифрування, що збігаються Алгоритм Oracle Алгоритм MS SQL Server Довжина ключа, Byte DES DES 4 Triple DES Triple DES 20 3DES_2KEY 3DES_2KEY 14 AES 128 AES 128 8 AES 192 AES 192 12 AES 256 AES 256 16 ЊОй виокремити алгоритми, які найдоцільніше використовувати в Єдиній інформаційній системі митної сНуМйи, маємо дослідити, як ці аНгО- ритми працюють. Для проведення порівняльного аналізу запропонованих шифрів розгля- ноПО їхні основні параметри: дОвМина ключа, кількість раундів шифрування, дОвМина оброблюваного йНОку, який зашифрується, криптостійкість. Тепер визначимо, скільки часу забере спроба дібрати ключа Đ´Đž алгори- тму. Спроба добору ключа розраховується Са формулою: , Đ´Đľ P – потужність алфавіту ключа, P = 2 (0 айО 1); L – дОвМина ключа; V – швидкість перенабору на комп’ютері Pentium I 5 із 4 ядрами і тактовою частотою 2,7 GHz – приблизно 2 700 000 000 операцій Са сокунду, якщо будуть задіяні всі чотири ядра, то швидкість перенабору йудо в 4 рази більшою; n – коефіцієнт переведення, сокунд Са дні, n = 3 156 000; Значення розрахованих параметрів для криптоалгоритмів DES, AES пО- данО в табл. 5. ISSN 2521-6643 Системи та технології, № 1 (57), 2019 212 115 Таблиця 5 Параметри криптостійкості алгоритмів Алгоритм Довжина ключа, Bit Кількість перенаборів для розшифрування Кількість років для добору ключа DES 56 256 2,11 Triple DES 168 2168 1,1*1034 AES 128 128 2128 1*1022 AES 192 192 2192 1,8*1041 AES 256 256 2256 3,4*1064 ĐŻĐş бачимо С табл. 5, МОдон із алгоритмів ноПОМНивО зламати шляхом добору ключа, Однак найбільш незахищеними алгоритмами є DES та AES 128. АНо Đš для цих алгоритмів спроба зламати алгоритм шляхом добору ключа забере дуМо багато часу. Для оцінювання швидкодії роботи алгоритмів йуНО розроблено про- грамний додаток, що працює Са повниП алгоритмом (рис. 2). вибір таблиці яка підлягає шифруванню шифрування даних Збереження даних Вихід * * -Дослідник * -Система * введення ключа вибір алгоритму шифрування час початку шифрування фіксація операції час закінчення процесу шифрування Вхід Рис. 2. Алгоритм роботи програмного додатка вибір таблиці, яка підлягає шифруванню ISSN 2521-6643 Системи та технології, № 1 (57), 2019 212 116 Дослідник обирає таблицю, тип алгоритму, який застосовуватиметься для шифрування, потім генерується ключ, далі обирається для шифрування зазначений стовпець із повниП типом даних, який потрібно зашифрувати. Під час роботи додатка запам’ятовується ts – час початку шифрування, tf – час закінчення шифрування. Різницю між часом початку та закінченням шифру- вання називаємо швидкодією обраного алгоритму: Tcr = ts – tf. Коли дані йудо зашифровано Са допомогою вбудованих алгоритмів, експортуємо таблицю, в якій шифрували дані, Đš оцінюємо, наскільки збільшився розмір таблиці після шифрування. Для генерації ключів використовується така процедура над вхідними даниПи, що є довжиною ключа шифрування. CREATE OR REPLACE procedure genkey (pl IN PLS_INTEGER, key out raw) IS BEGIN key := dbms_crypto.randombytes (pl); END genkey; Для генерації ключа застосовується функція RANDOMBYTES із пакета DBMS_CRYPTO. Для шифрування даних у СКБД Oracle використовується пакет DBMS_CRYPTO С функціями для шифрування даних. Для зручності в роботі С цим пакетом розробляємо функцію шифрування, алгоритм якої зображено на рис. 3. Вхідні дані у функцію – це наСва алгоритму шифрування і стов- пець із таблиці, який підлягає шифруванню. Оскільки вбудовані в пакет функ- ції шифрування працюють тільки С даниПи у форматі RAW, то спочатку фу- нкція дані зі стовпця перетворює на формат RAW, потім шифрує, після чого перетворює на формат CHAR і перезаписує вМо зашифровані дані в табли- цю. Функція для розшифрування даних працює аналогічно, тільки замість функції DBMS_CRYPTO.encrypt викликається функція DBMS_CRYPTO.dencrypt для розшифрування даних (рис. 3). Для дослідження роботи системи створюємо програмний додаток на мові C#. ĐŁ проведенні дослідження використовуватимемо таблицю, яка є в доПО БД Oracle 11, – це ";"""date"",""2019-06-26T07:32:54Z"" ""pdf:PDFVersion"",""1.5"" ""xmp:CreatorTool"",""Acrobat PDFMaker 11 для Word"" ""pdf:docinfo:title"",""В"" ""Company"","""" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""subject"","""" ""language"",""uk"" ""dc:format"",""application/pdf; version=1.5"" ""pdf:docinfo:creator_tool"",""Acrobat PDFMaker 11 для Word"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"",""В"" ""xmp:CreateDate"",""2019-06-26T10:32:52Z"" ""modified"",""2019-06-26T07:32:54Z"" ""pdf:docinfo:custom:SourceModified"",""D:20190624090347"" ""cp:subject"","""" ""pdf:docinfo:subject"","""" ""pdf:hasMarkedContent"",""true"" ""xmp:ModifyDate"",""2019-06-26T10:32:54Z"" ""pdf:docinfo:creator"","" "" ""meta:author"","" "" ""meta:creation-date"",""2019-06-26T07:32:52Z"" ""created"",""2019-06-26T07:32:52Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2019-06-26T07:32:52Z"" ""resourceName"",""7%20%D0%9A%D0%B0%D0%B1%D0%B0%D0%BA%20%D0%9B.%20%D0%92..pdf"" ""pdf:docinfo:custom:Comments"","""" ""Author"","" "" ""producer"",""Adobe PDF Library 11.0"" ""pdf:docinfo:producer"",""Adobe PDF Library 11.0"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""Keywords"","""" ""access_permission:modify_annotations"",""true"" ""dc:creator"","" "" ""dcterms:created"",""2019-06-26T07:32:52Z"" ""Last-Modified"",""2019-06-26T07:32:54Z"" ""dcterms:modified"",""2019-06-26T07:32:54Z"" ""title"",""В"" ""xmpMM:DocumentID"",""uuid:395428ee-deb3-4438-8ade-9e8c25f9f52b"" ""Last-Save-Date"",""2019-06-26T07:32:54Z"" ""pdf:docinfo:keywords"","""" ""pdf:docinfo:modified"",""2019-06-26T07:32:54Z"" ""meta:save-date"",""2019-06-26T07:32:54Z"" ""Content-Length"",""443735"" ""Content-Type"",""application/pdf"" ""xmp:MetadataDate"",""2019-06-26T10:32:54Z"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"","" "" ""dc:language"",""UK"" ""pdf:producer"",""Adobe PDF Library 11.0"" ""dc:subject"","""" ""Comments"","""" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""17"" ""pdf:hasXMP"",""true"" ""pdf:charsPerPage"",""1826"",""2920"",""2864"",""2737"",""1935"",""1710"",""1635"",""1233"",""1023"",""2171"",""334"",""694"",""716"",""593"",""2123"",""2518"",""2137"" ""access_permission:extract_content"",""true"" ""pdf:docinfo:custom:Company"","""" ""access_permission:can_print"",""true"" ""SourceModified"",""D:20190624090347"" ""meta:keyword"","""" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2019-06-26T07:32:52Z"" ";https://scholar.google.com/scholar?start=590&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094668-1187;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[CITATION][C] (Draft) A Taxonomic Approach to Understanding Emerging Blockchain Identity Management Systems;L Lesavre ;2019;;null;Autres articles;;null;;;;https://scholar.google.com/scholar?start=410&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094640-1080;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Trusted D2D-based IoT resource access using smart contracts;VA Siris, D Dimopoulos, N Fotiou… ; 2019 IEEE 20th …, 2019 ieeexplore.ieee.org;;"… We describe two approaches for utilizing blockchains and smart contracts in the authorization process: in the first approach, only hashes of the authorization information are recorded on the blockchain … However, it does not interact directly with the blockchain …";Cité 4 fois;Les 10 versions;[PDF] ieee.org;https://ieeexplore.ieee.org/iel7/8785898/8792923/08793041.pdf?casa_token=xFundQyHuPYAAAAA:8iEvdEus9xcSsZcUvVo639xGSREBWGjO0FxeWX-Ngs65Hw7_8My56ho5jNRAKJbaUzK7AJFtkmE;" Skip to Main Content IEEE Account Change Username/Password Update Address Purchase Details Payment Options Order History View Purchased Documents Profile Information Communications Preferences Profession and Education Technical Interests Need Help? US & Canada: +1 800 678 4333 Worldwide: +1 732 981 0060 Contact & Support About IEEE Xplore Contact Us Help Accessibility Terms of Use Nondiscrimination Policy Sitemap Privacy & Opting Out of Cookies A not-for-profit organization, IEEE is the world's largest technical professional organization dedicated to advancing technology for the benefit of humanity. Š Copyright 2021 IEEE - All rights reserved. Use of this web site signifies your agreement to the terms and conditions. ";"""og:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""twitter:title"",""Trusted D2D-Based IoT Resource Access Using Smart Contracts"" ""twitter:card"",""summary"" ""Description"",""We present and evaluate models that allow clients to access IoT resources using secure and trusted device-to-device (D2D) communication, while utilizing smart c"" ""og:title"",""Trusted D2D-Based IoT Resource Access Using Smart Contracts"" ""resourceName"",""08793041.pdf"" ""language"",""en"" ""title"",""Trusted D2D-Based IoT Resource Access Using Smart Contracts | IEEE Conference Publication | IEEE Xplore"" ""og:description"",""We present and evaluate models that allow clients to access IoT resources using secure and trusted device-to-device (D2D) communication, while utilizing smart contracts to obtain the benefits of blockchain technology. These benefits include decentralized trust, immutability, transparency, and high availability. The models consider different network connection capabilities of the clients and the IoT resources, namely continuous network connectivity and D2D-only connectivity. We describe two approaches for utilizing blockchains and smart contracts in the authorization process: in the first approach, only hashes of the authorization information are recorded on the blockchain. In the second approach, a smart contract handles authorization requests. We implement the approaches using the OAuth 2.0 delegated authorization framework and evaluate the implementations on the public Ethereum testnet Rinkeby, in terms of execution cost, contract creation cost, and delay. Our evaluation quantifies the tradeoffs of blockchain cost and smart contract functionality, such as blocking and non-blocking operation, and the reduction of the transaction cost that can be achieved when multiple authorization requests are concatenated in a single transaction."" ""twitter:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-UA-Compatible"",""IE=Edge"" ""viewport"",""width=device-width, initial-scale=1.0"" ""dc:title"",""Trusted D2D-Based IoT Resource Access Using Smart Contracts | IEEE Conference Publication | IEEE Xplore"" ""twitter:description"",""We present and evaluate models that allow clients to access IoT resources using secure and trusted device-to-device (D2D) communication, while utilizing smart contracts to obtain the benefits of blockchain technology. These benefits include decentralized trust, immutability, transparency, and high availability. The models consider different network connection capabilities of the clients and the IoT resources, namely continuous network connectivity and D2D-only connectivity. We describe two approaches for utilizing blockchains and smart contracts in the authorization process: in the first approach, only hashes of the authorization information are recorded on the blockchain. In the second approach, a smart contract handles authorization requests. We implement the approaches using the OAuth 2.0 delegated authorization framework and evaluate the implementations on the public Ethereum testnet Rinkeby, in terms of execution cost, contract creation cost, and delay. Our evaluation quantifies the tradeoffs of blockchain cost and smart contract functionality, such as blocking and non-blocking operation, and the reduction of the transaction cost that can be achieved when multiple authorization requests are concatenated in a single transaction."" ""Content-Encoding"",""UTF-8"" ""Content-Type-Hint"",""text/html; charset=utf-8"" ""Content-Length"",""42179"" ""Content-Language"",""en-US"" ""Content-Type"",""text/html; charset=UTF-8"" ";https://scholar.google.com/scholar?start=890&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094567-769;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[PDF][PDF] Problems of World Agriculture volume 18 (XXXIII), number 4, 2018: 146–151;I Glazkova, D Kozio?;Kaczorek, S Shmatko sj.wne.sggw.pl;;"… Risk 2. Compromising the oracles Oracle programs are specialized services designed to bind the digital world … In this case, the Oracle will constantly assume that it is dark and, as a … Cryptocurrency and blockchain technology in digital economy: development genesis (in Russian …";Autres articles;;[PDF] sggw.pl;http://sj.wne.sggw.pl/pdf/PRS_2018_T18(33)_n4_s146.pdf;" Scientific Journal Warsaw University of Life Sciences – SGGW Problems of World Agriculture volume 18 (XXXIII), number 4, 2018: 146–151 DOI: 10.22630/PRS.2018.18.4.105 Irina Glazkova1, Dorota Kozio -Kaczorek2, Sergey Shmatko3 1,3 North-Caucasus Federal University, Russian Federation 2 Warsaw University of Life Sciences – SGGW, Poland Smart Contracts as a New Technology in the Digital Economy Abstract. Digital technologies have a number of advantages that contribute to the development of the economy and make it more transparent. Some of the main features of modern digital technologies are speeding up business processes, reducing costs, eliminating the possibility of fraud, ensuring the transparency of the system and the ability to check and analyze the system. Regardless of whether a commercial or government organization uses the technology, in any case, there is a wide range of possibilities of its application. One of these technologies is blockchain. A blockchain is a distributed database in which storage devices are not connected to a shared server. This database stores an ever-growing list of ordered records called blocks. Each block contains a timestamp and a link to the previous block. The article defines a smart contract, describes the main areas of its application and provides processes similar to smart contracts, but working outside the blockchain. We also consider some of the risks that arise when working with smart contracts. Key words: smart contract, cryptocurrency, blockchain JEL Classification: D86, G23, O16, O31 Introduction Technological progress does not stand still and over the past 20 years we have witnessed the rapid development of the Internet, which undoubtedly influenced both our daily lives and ways of doing business. Mentioned technological progress include also the emergence of e-Commerce. According to the Decree of the President of the Russian Federation dated 09.05.2017 203 “On the Strategy of development of the information society in the Russian Federation for 2017 – 2030” the current system of management should be transformed into a digital economy. The digitalization is, for example, the key factor of production because processing of large volumes data in digital form and the use of such analysis results can significantly improve the efficiency of production, technology, equipment, storage, sale, delivery of goods and services. The Decree of President of The Russian Federation marked the beginning of intensive use of information and communication technologies by state bodies, business and citizens (Babkin et al., 2017). As part of this trend, the main way to ensure the efficiency of economic activity of the subject should be the introduction of data processing technologies that will reduce costs in the production of goods and services. This 1 PhD; Department of Business Informatics, North-Caucasus Federal University, Brusneva 13-52 St., Stavropol, Russian Federation, e-mail: iu.glazkova@gmail.com; https://orcid.org/0000-0001-5721-9300 2 PhD; Department of Agricultural Economics and International Economic Relations, Faculty of Economic Sciences WULS-SGGW, Nowoursynowska 166 St., 02-787 Warszawa, e-mail: dorota_koziol@sggw.pl; https://orcid.org/0000-0001-7582-0810 3 PhD; Department of Business Informatics, North-Caucasus Federal University, Brusneva 13-52 St., Stavropol, Russian Federation, e-mail: sshmatko@yandex.ru Smart Contracts as a New Technology in the Digital Economy 147 requirement has determined the relevance of this paper, the purpose of which is the economic justification of the effectiveness of the use of distributed registers and smart contracts in the course of economic activities of entities. Today we are witnessing the development and implementation of completely new technologies that can change the world, as the Internet did in its time. One such technology is the technology of the blockchain. In this paper we present only a basic characteristic of blockchain and smart contracts. The blockchain For the first time, the term blockchain appeared as the name of a fully replicated distributed database implemented in the Bitcoin system. This explain why the blockchain is often referred to transactions in various cryptocurrencies, but the technology of block chains can be extended to any interconnected information blocks (Genkin et al., 2017). Bitcoin was the first application of blockchain technology in October 2008 (Iansiti et al., 2017). Blockchain technology ensures that data will not be changed during transmission. Therefore, it can find application not only in the field of Finance, but also in other areas, including real estate and health. However, the financial sector is, if not the most promising, then the most solvent source of demand for smart contracts. Many business processes in the industry are still accompanied by piles of related securities, which complicate doing business, and make up a significant share of the revenue of intermediaries. Blockchain offers special features that are called smart contracts. The introduction of smart contracts can simplify these processes, so the major players themselves have started to develop in this area. Smart contracts are automatically created in the system, copied to different stores, and executed using distributed computing. Therefore, after the execution of the smart contract it cannot be corrected, even if later it is found vulnerabilities. A smart contract is an automatically used process that provides all possible options for the development of events and there is no possibility of making amendments. This term appeared in the article of the American cryptographer Nick Szabo, which was published in 1994. According to Nick Szabo's idea, self-executing smart contracts, first of all, must fulfill the specified conditions of the ""contract"", reducing the number of costs and errors associated with the human factor. At the same time, smart contracts should save the world from intermediaries who are now involved in the performance and enforcement of the obligation in one way or another. In addition, Nick Szabo believed that with the advent of smart contracts virtually disappear all sorts of fraudulent transactions. Like any other contract, a smart contract has its own objects. Signatories. Signatories are parties to a smart contract that accept or waive the terms using electronic signatures. A direct analogue is the signature of the sender of funds in the Bitcoin network, which confirms the transaction in the chain of blocks (Babkin et al., 2017). Subject of contract. The subject of the contract can only be an object within the environment of the smartest contract, or it must be ensured unhindered, direct access of the smart contract to the subject of the contract without human intervention. This is the most difficult issue that could not be solved before the advent of cryptocurrencies in 2009. 148 I. Glazkova, D. Kozio -Kaczorek, S. Shmatko Conditions. The terms of the smart contract must have a full mathematical description, which can be programmed in the environment of the smart contract. It is in the conditions described the logic of execution of the points of the subject of the contract. A prerequisite for such contracts is the existence of a specific execution environment. Certain conditions are required: The use of widespread electronic signature methods based on public and private keys (asymmetric encryption). Existence of open, decentralized and trusting databases for executed transactions, the operation of which completely excludes the human factor. As an example: blockchain in Bitcoin. Decentralization of the smart contract execution environment. As an example: Ethereum, Codius, Counterparty. Reliability of the digital data source. As an example: root SSL certification authorities in databases of modern Internet browsers. A smart contract can update the data in the blockchain in accordance with the initially set rules — for example, transfer digital assets from one participant to another. As soon as the new technology gains momentum, smart contracts will make a real digital revolution, which will be comparable to the invention of HTML, which radically changed the Internet, and later the entire world economy. Proponents of smart contracts argue that many of their types can be made partially or completely self-executing and self-sufficient. Smart contracts based on cryptography can provide better security than traditional contracts based on the law, and reduce other transaction costs associated with the conclusion of contracts and possible legal costs. According to the British magazine The Economist, smart contracts have the prospect of becoming the most important application of blockchain technology (Genkin et al., 2017). The use of smart contracts in their activities helps various companies in many areas of life to simplify their activities. For example, the R3 consortium, which includes 45 large financial institutions, is developing in the field of blockchain application in the financial industry. More than 15 participating banks have developed prototypes of smart contracts for factoring operations, providing participants with the opportunity to see the data on transactions in real time. At the same time, in parallel, banks are also conducting their internal development: Barclays uses smart contracts to automate the payment and the change of right to possession during the transaction. HSBC and Bank of America replaced letters of credit with smart contracts (written guarantee from the payer's Bank to the payee's Bank) (Golikova et al., 2017). In Russian Federation, the technology has also been developed. Last year, Alfa-Bank and S7 conducted the first financial transaction using blockchain in Russia. Two smart contracts were used at once-for opening and execution (closing) of the letter of credit. Interacting with each other smart contracts are designed to reduce the negative consequences of a potential error in the code of one of them. Smart contracts are quite seriously considered as an alternative to existing exchanges for transactions with securities. Given the fact that securities are currently virtually all virtualized and exist only in the form of electronic registers, the transfer of securities trading to the blockchain is only a matter of time. Smart Contracts as a New Technology in the Digital Economy 149 As an example, we will give the first transaction with securities in Russia with the use of smart contracts in the blockchain, held on September 29, 2017. This transaction was carried out by ÂŤNational settlement DepositoryÂť and consisted of execution of Raiffeisenbank's order to purchase MegaFon bonds (Butenko, 2014). The use of smart contracts is now possible in theory even in the election system. According to experts, it is almost impossible to falsify the election results, but thanks to smart contracts, it is possible to completely exclude the possibility of external interference in the voting system. In such a case, the votes would be placed in a distributed register and would require exceptional computing power to decode them. There are no such computers, so it will be impossible to hack this system. The full implementation of smart contracts in the election system is not yet a prospect for the nearest future. However, public services are already working hard on the most obvious advantage of the blockchain – reliable storage of documents. Thus, the Swedish cadastral service (Lantmäteriet), together with ChromaWay blockchain startup, Kairos Future consulting firm and Telia mobile provider, is working on its own blockchain solution. It is designed to eliminate errors related to manual data entry and improve the reliability of document transmission. At the same time, digital documentation of the transfer of real estate to the property is carried out with the help of the developed ChromaWay system of smart contracts. Since 2017, Moscow has been testing a blockchain platform for voting on urban governance issues in the Active citizen system. Russian Prime Minister Dmitry Medvedev believes that the emergence of distributed Ledger technology can have long – term consequences: ÂŤin a few years, cryptocurrencies may disappear, and the technology on the basis of which they develop – the blockchain will become part of everyday realityÂť. Smart contracts certainly have their advantages. The advantages of this type of contract are as follows: The safety. The smart contract is encrypted and stored in a distributed manner, which guarantees protection against loss or unauthorized modification. The cheapness and speed. Most processes are automated, and most intermediaries are eliminated from the process. The standardization. Today, there are many options for smart contracts, and you can choose the right one for a specific task. The risk of smart contracts However, despite its power and attractiveness, smart contracts are a source of risks. An only few types of risk is considered bellow. Risk 1. Errors in the development of smart contracts The rules of writing smart contracts are not formalized at the moment, but the main thing is that the rules of their verification are not described. However, it is not possible to make changes to the smart contract because it is by definition immutable. The simplest example: a smart contract is concluded, under the terms of which the buyer reserves the amount to transfer money when the goods arrive at the warehouse. But the program code of the smart contract was written with an error — the procedure for checking the receipt of goods to the warehouse was not implemented. As a result, the 150 I. Glazkova, D. Kozio -Kaczorek, S. Shmatko money paid by the buyer, but the seller will never get, regardless of whether he delivered the goods or not delivered. Money for the seller lost. Especially carefully should be developed and smart contracts should be tested at ICO (Biswas et al., 2016). Risk 2. Compromising the oracles Oracle programs are specialized services designed to bind the digital world to the real world and provide smart contracts with input data for their execution. The question of the immutability and authenticity of the data received from these services. For example, an attacker could attack an Oracle that provides currency exchange rate data for currency exchange contracts. After changing its code, it will produce incorrect data, which entails quite specific financial risks for smart contracts that use this data. You can also replace the information or modify the physical information that comes to the entrance of the Oracle. The simplest example is to cover with a light-proof object the sensor of the Oracle transmitting information about the illumination to the smart contract of the ""Smart city"". In this case, the Oracle will constantly assume that it is dark and, as a result, the smart contract will not extinguish street lights. Risk 3. The loss of access All work with the blockchain is based on the fact that you can authorize yourself in the system only using the private part of the cryptographic key. If, in the case of ordinary contracts, transactions, etc., it is possible to authorize with the help of third parties (court, authorities issuing documents, notary, recommendations, etc.), in the case of blockchain and smart contracts, such a possibility is not provided. If the private part of the key is lost, you will never be able to recover it. Risk 4. Lack of legal framework Non-performance of a normal contract in the real world may be subject to legal proceedings. The world of blockchain is currently not an object of the legal field. All transactions conducted within the framework of smart contracts are provided only by the good will of the participants. Risk 5. No possibility of risk insurance Due to the fact that at the moment the legal field when working with the blockchain is not defined, there is no risk insurance in this market. In the event of any risk events with a smart contract, all financial consequences are entirely borne only by its participants. Summary Blockchain systems, as well as smart contracts, are good for ensuring interaction of subjects without using intermediaries, but their life is limited by the appearance of artificial intelligence. After the birth of a developed, devoid of feelings and interest in artificial intelligence, a place as an arbitrator and Trustee will be occupied by him. Thus, as a result of the analysis of the use of smart contracts by business entities and evaluation of its result, it can be concluded that this mechanism has a positive impact on the competitiveness of any business entity, as cost reduction increases the potential and sustainability of the organization. In other words, as a result of reducing costs on the above grounds, the organization will be able to effectively use the available funds for the expansion of economic activities, which will lead to an increase in profits. Smart Contracts as a New Technology in the Digital Economy 151 In this paper we present only a basic characteristic of blockchain and smart contracts. More detailed and comprehensive analyzes are in preparation. References Babkin, A.V., Burkaltseva, D.D., Pshenichnikov, W.W., Tyulin, A.S. (2017). Cryptocurrency and blockchain technology in digital economy: development genesis (in Russian). St. Petersburg State Polytechnical University Journal. Economics, 10(5), 9-22. DOI:10.18721/JE.10501. Biswas, K., Muthukkumarasamy, V. (2017). Securing Smart Cities Using Blockchain Technology. IEEE 18th International Conference on High Performance Computing and Communications; IEEE 14th International Conferenceon Smart City; IEEE 2nd International Conference on Data Science and Systems (HPCC/SmartCity/DSS), Sydney, NSW, 1392-1393. Butenko, E.D. (2014). Bitcoin. State and prospects of cryptocurrency development (in Russian). Finance and Credit, 20(23), 44-47. Christidis, K., Devetsikiotis, M. (2016). Blockchains and Smart Contracts for the Internet of Things. IEEE Access, 4, 2292-2303. Genkin, A., Mikheev, A. (2017). Blockchain. How it works and what awaits us tomorrow. Alpina Publisher, Moscow. Golikova, O.M., Fedotova, A.I. (2017). Is it possible for cryptocurrency based on the technology of blockchain to solve the problem of information security in the financial sector? (in Russian). ITportal, 3, 3. Iansiti, M., Lakhani, K.R. (2017). The Truth About Blockchain. Harvard Business Review. January–February, 118-127. For citation: Glazkova I., Kozio -Kaczorek D., Shmatko S. (2018). Smart Contracts as a New Technology in the Digital Economy. Problems of World Agriculture, 18(4), 146–151; DOI: 10.22630/PRS.2018.18.4.105 ";"""pdf:unmappedUnicodeCharsPerPage"",""2"",""2"",""8"",""3"",""1"",""1"" ""pdf:PDFVersion"",""1.4"" ""pdf:hasXFA"",""false"" ""access_permission:modify_annotations"",""true"" ""access_permission:can_print_degraded"",""true"" ""dcterms:created"",""2019-01-28T18:23:06Z"" ""language"",""en"" ""dc:format"",""application/pdf; version=1.4"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""Content-Length"",""430426"" ""pdf:hasMarkedContent"",""false"" ""Content-Type"",""application/pdf"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""meta:creation-date"",""2019-01-28T18:23:06Z"" ""created"",""2019-01-28T18:23:06Z"" ""access_permission:extract_for_accessibility"",""true"" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""6"" ""Creation-Date"",""2019-01-28T18:23:06Z"" ""resourceName"",""PRS_2018_T18(33)_n4_s146.pdf"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""3460"",""3514"",""3455"",""3342"",""3323"",""1735"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""producer"",""FPDF 1.81"" ""access_permission:can_modify"",""true"" ""pdf:docinfo:producer"",""FPDF 1.81"" ""pdf:docinfo:created"",""2019-01-28T18:23:06Z"" ";https://scholar.google.com/scholar?start=580&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094612-960;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[PDF][PDF] Public Administration in the Age of Globalization and Emerging Technologies: From Theories to;SCB Law, B Smart Contracts, B Jeff ; UMKC LAW REVIEW, 2019 HeinOnline;;"… Oracles can enable this injection, but require a strong reputation system or governance … See Nihat Yuva & ismail Kirba§, Directed Acyclic Graph Based on Crypto Currency Application … MICHAEL J. CASEY & PAUL VIGNA, THE TRUTH MACHINE: THE BLOCKCHAIN AND THE …";Autres articles;;[PDF] heinonline.org;https://heinonline.org/hol-cgi-bin/get_pdf.cgi?handle=hein.journals/umkc88§ion=12&casa_token=edwkPk5xPggAAAAA:kJKfQeTpRQ6Hl-xmiqfS__nMNeUom5nlYs55MS9kGbcbEz_ra0GS6dadWX5dwVYm3WTG8_c;" ";"""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""REFRESH"",""1; url=https://heinonline.org/HOL/Page?handle=hein.journals/umkc88&div=12&g_sent=1&casa_token=edwkPk5xPggAAAAA:kJKfQeTpRQ6Hl-xmiqfS__nMNeUom5nlYs55MS9kGbcbEz_ra0GS6dadWX5dwVYm3WTG8_c"" ""Content-Encoding"",""UTF-8"" ""resourceName"",""get_pdf.cgi"" ""language"","""" ""Content-Type"",""text/html; charset=UTF-8"" ";https://scholar.google.com/scholar?start=770&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094541-658;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Trusted and Flexible Electronic Certificate Catalog Sharing System Based on Consortium Blockchain;C Xu, H Yang, Q Yu, Z Li ; 2019 IEEE 5th International …, 2019 ieeexplore.ieee.org;;"… D. Blockchain Method BlocNchain is a breaNthrough in distributed ledger technology and the ledger is created, with … attacN, the signing algorithm is made available, without any restriction, hence the oracle notation sk S … [17] Bellare M, Rogaway p. Random Oracles are practical …";Cité 1 fois;;[PDF] ieee.org;https://ieeexplore.ieee.org/iel7/9048180/9064028/09064284.pdf?casa_token=dD1W2ExGuhEAAAAA:wzigXxhe961MI0OpKVArRZ2S4VxAcpKbwZH0Z4ZOywGDjFBu1CjdOXybN7Y3SxonvQCw7lzrza8;" Skip to Main Content IEEE Account Change Username/Password Update Address Purchase Details Payment Options Order History View Purchased Documents Profile Information Communications Preferences Profession and Education Technical Interests Need Help? US & Canada: +1 800 678 4333 Worldwide: +1 732 981 0060 Contact & Support About IEEE Xplore Contact Us Help Accessibility Terms of Use Nondiscrimination Policy Sitemap Privacy & Opting Out of Cookies A not-for-profit organization, IEEE is the world's largest technical professional organization dedicated to advancing technology for the benefit of humanity. Š Copyright 2021 IEEE - All rights reserved. Use of this web site signifies your agreement to the terms and conditions. ";"""og:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""twitter:title"",""Trusted and Flexible Electronic Certificate Catalog Sharing System Based on Consortium Blockchain"" ""twitter:card"",""summary"" ""Description"",""The development of information and communication technology has influenced every dimension of society, including the way government interacts with citizens. Gov"" ""og:title"",""Trusted and Flexible Electronic Certificate Catalog Sharing System Based on Consortium Blockchain"" ""resourceName"",""09064284.pdf"" ""language"",""en"" ""title"",""Trusted and Flexible Electronic Certificate Catalog Sharing System Based on Consortium Blockchain | IEEE Conference Publication | IEEE Xplore"" ""og:description"",""The development of information and communication technology has influenced every dimension of society, including the way government interacts with citizens. Government bodies at all levels across the country issued a serial of guidelines to promote e-government services' quality and efficiency which include six national standards for electronic certificates. The legal validity of electronic certificates is equal to that of paper certificates issued by authorities at provincial, autonomous regional, municipal levels and related departments. This fact will accelerate the construction of e-government to further benefit people and motivate the market. In this paper, we propose a trusted and flexible electronic certificates catalog sharing (ECCS) system based on consortium blockchain to promote the accessibility and efficiency of e-government services which take advantage of immutability and time-stamping of transaction data in blockchain. Security analysis indicates that ECCS can achieve privacy-preservation of electronic certificates and catalog against unauthorized users, integrity of electronic data and authentication of data source. In comparison with other existing schemes which also achieve electronic certificates sharing services, ECCS has better efficiency in terms of traffic loads, and can fit for all scenarios related to electronic certificates sharing."" ""twitter:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-UA-Compatible"",""IE=Edge"" ""viewport"",""width=device-width, initial-scale=1.0"" ""dc:title"",""Trusted and Flexible Electronic Certificate Catalog Sharing System Based on Consortium Blockchain | IEEE Conference Publication | IEEE Xplore"" ""twitter:description"",""The development of information and communication technology has influenced every dimension of society, including the way government interacts with citizens. Government bodies at all levels across the country issued a serial of guidelines to promote e-government services' quality and efficiency which include six national standards for electronic certificates. The legal validity of electronic certificates is equal to that of paper certificates issued by authorities at provincial, autonomous regional, municipal levels and related departments. This fact will accelerate the construction of e-government to further benefit people and motivate the market. In this paper, we propose a trusted and flexible electronic certificates catalog sharing (ECCS) system based on consortium blockchain to promote the accessibility and efficiency of e-government services which take advantage of immutability and time-stamping of transaction data in blockchain. Security analysis indicates that ECCS can achieve privacy-preservation of electronic certificates and catalog against unauthorized users, integrity of electronic data and authentication of data source. In comparison with other existing schemes which also achieve electronic certificates sharing services, ECCS has better efficiency in terms of traffic loads, and can fit for all scenarios related to electronic certificates sharing."" ""Content-Encoding"",""UTF-8"" ""Content-Type-Hint"",""text/html; charset=utf-8"" ""Content-Length"",""42492"" ""Content-Language"",""en-US"" ""Content-Type"",""text/html; charset=UTF-8"" ";https://scholar.google.com/scholar?start=470&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094651-1130;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;APLICACIÓN DE CADENAS DE BLOQUES Y CONTRATOS INTELIGENTES EN INDUSTRIAS DEL ÁMBITO NACIONAL;GJ FLORES CASTRO ;2019 repositorio.usm.cl;;"… En el presente trabajo se intenta hacer un primer acercamiento investigativo de la población universitaria chilena con respecto a las tecnologías de cadenas de bloques, también nombrada en lo sucesivo como blockchain, ya las aplicaciones derivadas más conocidas de ésta …";;;[PDF] usm.cl;https://repositorio.usm.cl/bitstream/handle/11673/49507/3560903501219UTFSM.pdf?sequence=1;" UNIVERSIDAD TÉCNICA FEDERICO SANTA MARÍA DEPARTAMENTO DE INGENIERÍA COMERCIAL VALPARAÍSO-CHILE APLICACIÓN DE CADENAS DE BLOQUES Y CONTRATOS INTELIGENTES EN INDUSTRIAS DEL ÁMBITO NACIONAL GONZALO JAVIER FLORES CASTRO MEMORIA PARA OPTAR AL TÍTULO DE: INGENIERO COMERCIAL PROFESOR GUÍA: SR. JUAN TAPIA PROFESOR CORREFERENTE: SR. LUIS ACOSTA NOVIEMBRE 2019 1 RESUMEN En el presente trabajo se intenta hacer un primer acercamiento investigativo de la poblaciĂłn universitaria chilena con respecto a las tecnologĂ­as de cadenas de bloques, tambiĂŠn nombrada en lo sucesivo como blockchain, y a las aplicaciones derivadas mĂĄs conocidas de ĂŠsta, como son las criptomonedas y los contratos inteligentes. AdemĂĄs se describirĂĄn dos sectores especĂ­ficos, como son la industria aseguradora y el sector gubernamental, puesto que ĂŠstos poseen a juicio de los expertos un enorme potencial para ser transformados por esta tecnologĂ­a. Para esto se realizarĂĄ un anĂĄlisis exploratorio que tenga en cuenta las opiniones de la poblaciĂłn estudiada, y bibliogrĂĄfico para describir y estudiar los casos en los que blockchain ya estĂĄ transformando muchos paĂ­ses en el mundo. Se finalizarĂĄ con conclusiones y recomendaciones asociadas a los resultados hallados. 2 ÍNDICE 1. Problema de InvestigaciĂłn 4 2. Objetivos 6 2.1 Objetivo General 6 2.2 Objetivos EspecĂ­ficos 6 3. Marco TeĂłrico 7 3.1 Algunos antecedentes 7 3.1.1 Bitcoin 7 3.1.2 Ethereum 8 3.1.3 Ether 8 3.2 El funcionamiento y las MatemĂĄticas del Blockchain 9 3.3. Los contratos inteligentes 11 3.4. La mĂĄquina virtual de Ethereum (EVM) 12 3.5. OrĂĄculo 13 3.6. Raiden Network (RDN) 14 4. MetodologĂ­a 15 4.1. La Encuesta 16 4.1.1 Formato Encuesta 17 4.1.2 Beneficios y Problemas de aplicar la encuesta 21 3 5. Resultados 23 5.1 PoblaciĂłn y Blockchain 23 5.2 Áreas de InterĂŠs y Posibles Desarrollos 25 5.3 Sector Seguros 25 5.4 Sector Gubernamental 27 5.4.1 Estonia 27 5.4.2 DubĂĄi 28 5.4.3 Otros PaĂ­ses 29 6. Conclusiones y Recomendaciones 30 7. Referencias 32 4 1 PROBLEMA DE INVESTIGACIÓN Desde el nacimiento de la world wide web (www) en el aĂąo 1991 internet se ha masificado exponencialmente, las personas tienen acceso a esta a travĂŠs de smartphones, tablets, computadores, en prĂĄcticamente todos los rincones del planeta, dando lugar a una transformaciĂłn en casi la totalidad de los sectores industriales de la economĂ­a: retail, financiero, inmobiliario, educacional, instituciones gubernamentales, etc. Dada la facilidad de acceso a Internet, a crear una pĂĄgina web, o a iniciar un negocio a travĂŠs de esta, serĂ­a lĂłgico pensar que Internet iba a ser un espacio democrĂĄtico, con muchos competidores y negocios, donde individuos y empresas transaran eficazmente y todo fluyera a travĂŠs de la libre competencia, pero con el pasar de los aĂąos nos encontramos con que unas pocas empresas dominan el mercado, Google, Apple, Amazon, Facebook y Microsoft, se han transformado en un oligopolio contra el que es prĂĄcticamente imposible entrar a competir dada la cantidad de recursos que estas empresas tecnolĂłgicas poseen (El PaĂ­s, 2018), ademĂĄs de los ecosistemas integrados de aplicaciones que tienen cada una de ellas, siendo Internet cada dĂ­a mas parecido a un espacio cerrado y centralizado. Por otro lado los sistemas de aplicaciones a travĂŠs de nodos, sistemas y servidores cerrados y unidireccionales, esto es un equipo informĂĄtico que brinda servicio a otros equipos (Pandorafms, 2019) en donde toda persona que desee entrar a una pĂĄgina web debe conectarse desde de su dispositivo a un servidor central, como por ejemplo para conectarse a bancos, instituciones financieras, educacionales, e informaciĂłn etc, han dado lugar a errores informĂĄticos por parte de estas organizaciones proveedoras del servicio en cuestiĂłn, por ejemplo hackeos, filtraciĂłn de datos personales, filtraciones de tarjetas de crĂŠdito, pĂŠrdidas de informaciĂłn sensible, o derechamente estafas, algunas recordadas como la filtraciĂłn de 41 mil tarjetas de crĂŠdito y 13 instituciones afectadas en 2018 (Emol, 2019). Otra clase de problemas de confiar en una instituciĂłn y servidor central es que toda la confianza recae en los controladores. Digamos que dejamos nuestros ahorros en manos de 5 terceros, esto ha llevado a apropiaciones indebidas, posibles robos, malas elecciones de inversiĂłn e incluso estafas piramidales en la industria financiera. Recordados casos como el de 182 mil millones de Pesos y mĂĄs de 10 mil clientes afectados (Tele13, 2019), demandas e imputados varios por la justicia chilena con el destape del caso AC Inversions, a los que luego se sumarĂ­an otros similares como Arcano, Investing Capital, RodrĂ­guez & Asociados y una serie de empresas mĂĄs. Hechos varios que provocan una irremediable falta de confianza en el sector, siendo actualmente vender productos financieros, especialmente administrar capitales de terceros, considerado por muchas empresas del rubro como vender “arena en el desierto” debido a la poca credibilidad y desconfianza por parte de los clientes y consumidores (Capitaria, 2019). Otros temas como los ahorros previsionales y la desconfianza de los trabajadores en como estos son invertidos, la gran movilizaciĂłn nacional que se ha producido en los Ăşltimos aĂąos por parte una parte importante de la poblaciĂłn con el movimiento de No + AFP, iniciativa popular en reclamo a las bajas pensiones acumuladas por las personas en Chile a lo largo de su vida (NomasAFP, 2019), y las comisiones cobradas por las AFPs correspondiente a un tramo entre el 10% y 15% aproximadamente por sobre el capital neto recaudado mensualmente de los trabajadores, tambiĂŠn conocido como imposiciones obligatorias, porcentaje informado como “porcentaje de la remuneraciĂłn o renta imponible” en promedio de 1,255% por la superintendencia de pensiones (superintendencia de pensiones, 2019). Todos estos tipos de problemas observados por parte del consumidor en la industria que provee los bienes y servicios requeridos, y que podemos plantearlos como falta de confianza en la contraparte, ademĂĄs los encontramos en contratos de trabajo, compra venta y arriendos inmobiliarios, derechos de autor, industria agrĂ­cola y un largo etc. En otras palabras donde quiera que exista un acto mercantil entre partes desconocidas, existe la falta de confianza inherente dado los diferentes niveles de reputaciĂłn de los individuos e instituciones. AsĂ­ todas las industrias a dĂ­a de hoy tienen en comĂşn que requieren la intervenciĂłn humana, la cual provoca fraudes, ambiciĂłn, conflictos de interĂŠs, luchas de ego, y mĂĄs importante aĂşn, 6 derechamente robos y estafas, afectando la confianza de los consumidores como las anteriormente vistas. AcĂĄ nos encontramos con una posible soluciĂłn, la tecnologĂ­a de cadena de bloques (en adelante tambiĂŠn llamada blockchain), una tecnologĂ­a capaz de descentralizar aplicaciones y hacer la internet democrĂĄtica, sin que las aplicaciones dependan de un organismo o servidor central, sino que cada uno de los usuarios es participante tanto como parte usuario como parte controladora, a travĂŠs de donde este conectado, ya sea un ordenador, tablet, smartphone etc. Blockchain tiene la capacidad de bajar al mĂ­nimo las comisiones transaccionales, eliminar todo tipo de intermediarios, ademĂĄs de brindar seguridad a las inversiones y ahorros de las personas. Lo mismo corre para contratos de trabajo, de arriendo, inmobiliarios, contratos industriales etc., los cuales deben ser fidedignos, confiables y supervisados. Este trabajo abordarĂĄ y darĂĄ una descripciĂłn detallada de cĂłmo se pueden minimizar las altas comisiones monetarias, costos burocrĂĄticos y ademĂĄs quĂŠ industrias de servicios podrĂ­an ser transformadas, en distintos sectores del paĂ­s, aumentando la transparencia, productividad, bajando los costos, reduciendo las tasas de espera, como por ejemplo en: altas tasas de interĂŠs financiero para la poblaciĂłn, burocracia de contratos, de notarios pĂşblicos, de conservadores de bienes raĂ­ces, industrias con muchos intermediarios, acceso al crĂŠdito, corredores de propiedades, seguridad general etc. AdemĂĄs mediremos cuantitativamente cuĂĄl es el nivel de conocimiento de la poblaciĂłn respecto a tecnologĂ­as de cadena de bloques y sus aplicaciones derivadas, como contratos inteligentes, criptomonedas, etc, a fin de hacer un diagnĂłstico de quĂŠ tan preparados estĂĄn los profesionales del paĂ­s respecto a las tecnologĂ­as que se empiezan a usar con mayor fuerza en el planeta. En general se referirĂĄ a los sectores de bienes y servicios que podrĂ­an quedar obsoletos en el futuro bajo el supuesto de implementar tecnologĂ­a blockchain y contratos inteligentes, y como los costos de estas industrias podrĂ­an en teorĂ­a ser prĂĄcticamente cero, con nula burocracia, sin comisiones de por medio y con total autonomĂ­a desde el instante inicial. 7 2 OBJETIVOS 2.1 Objetivo General Explorar nivel de familiarizaciĂłn de la poblaciĂłn respecto a tecnologĂ­a de cadenas de bloques y describir sus utilizaciĂłn en industrias y paĂ­ses, a travĂŠs de una investigaciĂłn exploratoria con informaciĂłn disponible y recopilada, para reseĂąar industrias que podrĂ­an ser transformadas o creadas a nivel paĂ­s. . 2.2 Objetivos EspecĂ­ficos 1. Describir el nivel de conocimiento del segmento universitario y profesional de la poblaciĂłn Chilena respecto al blockchain, a travĂŠs de encuestas, para reseĂąar el nivel educativo de las personas respecto a esta tecnologĂ­a en su posible implementaciĂłn . 2. Explorar y describir el interĂŠs y atracciĂłn de la poblaciĂłn encuestada, en tecnologĂ­a blockchain y criptomonedas a travĂŠs de la encuesta, para seĂąalar posibles nuevas ĂĄreas de interĂŠs en este mercado en la actualidad. 3. Analizar percepciones actuales del sector industrial de aseguradoras y sector gubernamental en Chile, a travĂŠs de encuestas y bibliografĂ­a, para describir cĂłmo se benefician estos sectores con tecnologĂ­a de cadenas de bloques. 8 3 Marco TeĂłrico 3.1 Algunos antecedentes 3.1.1 Bitcoin Hace 10 aĂąos atrĂĄs, aĂąo 2009 nace el proyecto llamado bitcoin, una moneda o activo digital que usa dĂŠcadas de estudios referentes a criptografĂ­a y se sustenta en la tecnologĂ­a de blockchain o cadena de bloques, difĂ­cilmente falsificable y semejante a un gran libro contable, pĂşblico y distribuido en el que queda reflejado el histĂłrico de todas las transacciones (Investopedia, 2019). Siendo la cadena de bloques, una estructura de datos en la que la informaciĂłn contenida se agrupa en conjuntos o bloques, a los que se les aĂąade informaciones relativas a otro bloque de la cadena anterior en una lĂ­nea temporal, de manera que gracias a tĂŠcnicas criptogrĂĄficas, la informaciĂłn contenida en un bloque solo puede ser repudiada o editada modificando todos los bloques posteriores. Esta propiedad permite su aplicaciĂłn en entorno distribuido de manera que la estructura de datos blockchain puede ejercer de base de datos pĂşblica no relacional que contenga un histĂłrico irrefutable de informaciĂłn (Economist, 2011). AdemĂĄs, el bitcoin se caracteriza por ser descentralizado, es decir, no estar respaldado por ningĂşn gobierno o entidad centralizada, como un banco central por ejemplo. Y utiliza un sistema de prueba de trabajo para impedir el doble gasto, esto es, que la moneda sea utilizada varias veces. A modo de ejemplo en un acto de mala fe, un usuario trata de enviar bitcoins a 2 direcciones destinatarias (billeteras) distintas con el fin de gastar la misma moneda 2 veces (Queesbitcoin, 2016), esto serĂ­a impedido por la prueba de trabajo que imposibilita esta prĂĄctica. 9 Bitcoin estĂĄ concebida desde sus orĂ­genes como una moneda digital, que permite realizar transacciones entre usuarios de nivel global a mĂ­nimos costos, por ejemplo la comisiĂłn de una transacciĂłn de envĂ­o de dinero, o de compra venta a travĂŠs de bitcoin puede costar tan sĂłlo 0,5 USD (bitcoinfees, 2019), a diferencia del 1,49% + IVA, valor mĂĄximo que cobra transbank por utilizar su servicio de compras con tarjeta de dĂŠbito bancarias a la mayorĂ­a de PYMES del paĂ­s (Transbank, 2019). 3.1.2 ETHEREUM Por otro lado, Ethereum, organizaciĂłn fundada el aĂąo 2014, pretende ser una plataforma de desarrollo en sĂ­ misma, ĂŠsta representa una plataforma descentralizada que corre contratos inteligentes, los cuales son describidos como aplicaciones que funcionan y corren bajo un entorno computacional exactamente como fueron programadas, sin ninguna posibilidad de fraude, censura, o interferencia de terceras partes. AdemĂĄs Ethereum posee su propia criptomoneda en sĂ­ llamada Ether, la cual funciona como un Token, similar a un combustible, para recompensar a las partes que firman un contrato inteligente (Bitcoinist, 2019). Ethereum fue concebida inicialmente por Vitalik Buterin, durante el aĂąo 2013, el cual definiĂł a Ethereum como una “combinaciĂłn de una red descentralizada de minerĂ­a digital y una plataforma de desarrollo de software”, que facilita la creaciĂłn de nuevos sistemas criptomonetarios que comparten una sola cadena de bloques (un registro pĂşblico criptogrĂĄfico de transacciones). (Futurethinkers, 2015) Ethereum siguiĂł los pasos de la tecnologĂ­a previamente utilizada por Bitcoin y mejorĂł considerablemente sus capacidades. Se trata de una red que posee navegador de Internet, sistema de pago y lenguaje codificado, permitiendo a los usuarios la creaciĂłn de sus propias aplicaciones descentralizadas de Ethereum en Blockchain. 10 AdemĂĄs, Ethereum se rige bajo un cĂłdigo de programaciĂłn abierto, esto es el software de cĂłdigo abierto que es producto de la colaboraciĂłn de infinidad de personas, es compartido libremente, se publica de manera transparente y se desarrolla para ser una comunidad en lugar de ser propiedad o negocio de una sola compaùía o ente (bitcoin.es, 2019). 3.1.3 ETHER El Ether consiste en un token cuya cadena de bloques es generada bajo la plataforma de Ethereum, el Ether puede ser transferido entre cuentas y usado para compensar a los nodos mineros participantes para los cĂĄlculos realizados, ademĂĄs es un sĂ­mbolo fundamental para el funcionamiento de Ethereum, que por lo tanto proporciona un libro mayor pĂşblico distribuido para las transacciones. El Ether es una unidad de cĂłmputo utilizada en transacciones y otras transiciones de estado, y por error entre el pĂşblico muchas veces se confunde el Ether con la misma red Ethereum,, siendo que esta Ăşltima es la plataforma bajo la que corre el Ether (Tapscott, 2016) . Algunas diferencias con Bitcoin es que el nĂşmero mĂĄximo de ĂŠstos se sitĂşa en 21 millones de unidades de Bitcoins, que serĂĄ alcanzado en un determinado momento y que bajo complejos algoritmos basados en criptografĂ­a controlan la oferta disponible (Investopedia, 2019), mientras que el suministro de Ether podrĂ­a ser infinito. En materia de minerĂ­a, los bloques de Bitcoin duran aproximadamente 10 minutos en ser minados y Ethereum ha marcado como objetivo mĂĄximo unos 12 segundos. Esto se traduce en que Ethereum tendrĂĄ validaciones mĂĄs veloces que las de Bitcoin. Ethereum es de momento, la segunda moneda criptogrĂĄfica mĂĄs grande del mundo detrĂĄs de Bitcoin, ha sufrido un crecimiento mayor y mucho mĂĄs rĂĄpido que ĂŠste, y se estĂĄ utilizando cada vez mĂĄs en el planeta (myethereum, 2019) 3.2 El funcionamiento y las MatemĂĄticas del Blockchain 11 El primer elemento del blockchain son los llamados bloques y luego el hash. Los bloques son ficheros, normalmente de texto que contienen la informaciĂłn que se requiera guardar, forman una cadena ya que cada bloque tiene informaciĂłn sobre el bloque anterior, ĂŠste a su vez sobre el bloque anterior y asĂ­ sucesivamente hasta el primer bloque, de ahĂ­ yace su nombre de “blockchain” o lo que en castellano es “cadena de bloques”. El hash es la informaciĂłn que cada bloque tiene sobre el bloque anterior y es un cĂłdigo o nĂşmero de serie matemĂĄtico, y que ademĂĄs posee toda la informaciĂłn encriptada. El segundo elemento del blockchain es la red de ordenadores, todos los ordenadores de la red guardan una copia exacta de la cadena de bloques, lo que quiere decir que no existe un solo servidor u ordenador que guarde por si solo toda la informaciĂłn como sucede con los servidores de bases de datos tradicionales. En este sentido, todo aquel que funcione como un nodo, es decir personas que ocupan sus ordenadores, tablets o telĂŠfonos inteligentes, tienen una copia exacta de la informaciĂłn, lo que hace imposible que esta se pierda y hacen de la blockchain una red descentralizada, lo cual hasta ahora ha marcado su gran ĂŠxito. Veamos como ejemplo el funcionamiento del bitcoin, criptomoneda pionera que usa la cadena de bloques desde su comienzo. El software de bitcoin es la red de ordenadores, tablets, smartphones etc que tienen este propio software instalado y por lo tanto descentralizado. AdemĂĄs es software libre, de cĂłdigo abierto, y la cadena de ficheros de bitcoin contiene todas y cada una de las transacciones de bitcoin de la historia. AsĂ­ por ejemplo, leyendo esta cadena de bloques se puede saber cuĂĄntos bitcoin tiene cada usuario y de dĂłnde han salido. Y cada bloque o fichero de la cadena de bitcoin contiene el hash de su bloque anterior seguido de una lista de transacciones. El tercer elemento del blockchain es la prueba de trabajo, es una incĂłgnita (se denominarĂĄ “X”) y los llamados mineros. Como la informaciĂłn de los bloques estĂĄ encriptada y sĂłlo el que la creĂł la puede ver, a travĂŠs de criptografĂ­a de clave pĂşblica y clave privada (eso es lo que hace que la informaciĂłn sea segura y anĂłnima) serĂ­a lĂłgico preguntarse cĂłmo se aĂąaden bloques y cĂłmo se hace para que todos los nodos de la red tengan una copia exactamente igual 12 a los de la otra. AcĂĄ es donde entran unos nodos especiales de la red de bloques que son los mineros y la incĂłgnita “X”. Cada vez que surge un nuevo bloque para aĂąadir a la cadena, por ejemplo nuevas transacciones con bitcoin que aĂąadir al historial, los mineros reciben un aviso. Para aĂąadir el bloque a la red hace falta que alguien calcule una variable “X” y la aĂąada al bloque. El primer minero que lo consiga avisa a todo el resto de mineros, luego todos los demĂĄs mineros comprueban que la “X” calculada sea correcta, y el minero que consiguiĂł calcular la incĂłgnita “X” se lleva un premio. Hallar esta variable X es extremadamente difĂ­cil y esta tiene que ver con los hash (cĂłdigo, nĂşmero de serie) de cada bloque. Como se ha explicado, un hash es un cĂłdigo o nĂşmero de serie matemĂĄtico. Y una funciĂłn de hacer hashes es una funciĂłn matemĂĄtica convertida en algoritmo que recibe un fichero de texto, letras, nĂşmeros, o caracteres en general y le asigna un nĂşmero Ăşnico, de tal forma que el nĂşmero Ăşnico depende del texto. Si cambiĂĄramos cualquier caracter el resultado ya no serĂ­a el mismo, ademĂĄs la forma de asignar el nĂşmero es extremadamente complicada, o sea que si hipotĂŠticamente se nos entregara el nĂşmero final es imposible saber el texto del que proviene, y esto es lo que hacen en el blockchain los mineros, buscan la variable “X” del problema. Para resumir los puntos anteriores, surge un bloque nuevo que aĂąadir a la cadena, o sea por ejemplo nuevas transacciones con bitcoins que aĂąadir al historial etc. Luego, se debe buscar una variable X para unirla a la informaciĂłn del bloque y que en el hash (nĂşmero de serie) aparezca un nĂşmero que comienza por 30 ceros usando el algoritmo de generaciĂłn de hash, SHA 256. Calcular este nĂşmero en la prĂĄctica es imposible, incluso si se conoce el algoritmo. La Ăşnica forma es probando al azar billones de combinaciones posibles hasta que salga lo que se requiere, y esto es lo que hacen los mineros de bitcoin. Lo de los 30 ceros se llama dificultad de la prueba de trabajo y el protocolo bitcoin lo va ajustando para que cada bloque se tarda en minar mĂĄs o menos 10 minutos. El algoritmo SHA 256 es extremadamente seguro, imposible de revertir, y se usa desde verificaciĂłn de paquetes Linux, protocolos de seguridad en internet, y hasta en tribunales internacionales. 13 Al minero que consigue minar ese bloque se le dan 12,5 bitcoins (al momento de escribir estas palabras) y esta recompensa se reduce a la mitad por cada 210 mil bloques que se minan en la red. AdemĂĄs como todos los mineros tienen el mismo bloque para aĂąadir a la cadena, esto hace que nadie pueda falsificar un bloque, y que ademĂĄs cuando alguien consigue la “X” del algoritmo todos los demĂĄs mineros la comprueban y la mayorĂ­a tiene que estar de acuerdo en que es correcto, sino no se aĂąade. Imagine por un momento que alguien intenta falsificar un bloque y cambia tan solo un caracter del fichero, un nĂşmero o una letra. Como todos los mineros estĂĄn tratando con el mismo problema matemĂĄtico la incĂłgnita X del falsificador no serĂĄ verificada por los demĂĄs mineros y no funcionarĂĄ a nadie mĂĄs, por lo tanto no se aĂąadirĂĄ el bloque y el falsificador no obtendrĂĄ su recompensa. Minar consiste en probar billones de combinaciones al azar, por lo que obviamente al tener mĂĄs capacidad de cĂłmputo aumentan las posibilidades de conseguir el nĂşmero y la recompensa, esto ha dado pie para que en paĂ­ses como China, Venezuela o Islandia, donde la electricidad es subvencionada por el estado o poseen un clima helado muy favorable (para evitar el sobrecalentamiento de los ordenadores), se hayan instalado las llamadas granjas de minado, lugares de cientos de metros cuadrados industrializados con ordenadores tratando de descifrar los algoritmos las 24 horas del dĂ­a y asĂ­ obtener la recompensa. Por Ăşltimo, se puede hacer la analogĂ­a de que la gran mayorĂ­a de criptomonedas y aplicaciones funcionando bajo blockchain poseen una lĂłgica y forma de funcionar similar a la descrita anteriormente. Para concluir este punto 3.2, quisiera agradecer a don Eduardo SĂĄenz de CabezĂłn, Doctor en MatemĂĄticas de la Universidad de la Rioja, EspaĂąa, por ser el autor intelectual de gran parte de las ideas en que se basĂł este capĂ­tulo. 14 3.3 Los contratos inteligentes La mejor analogĂ­a para definir un contrato inteligente es pensar en un clĂĄsico contrato de toda la vida, por ejemplo de arrendamiento, inmobiliario, de trabajo, de prestaciĂłn de servicio etc, y llevarlo al ĂĄmbito digital. La diferencia es que acĂĄ el contrato debe ser codificado y programado por una persona que se maneje en lenguaje de programaciĂłn y contarĂĄ con ciertas reglas y algoritmos donde se liberan los pagos involucrados automĂĄticamente a medida que las condiciones del contrato se van cumpliendo. Por ejemplo imagine un contrato de trabajo, donde el empleador y empleado firman un clĂĄsico contrato de trabajo, la diferencia es que acĂĄ utilizan la tecnologĂ­a de contrato inteligente y lo codifican. En este caso el contrato inteligente liberarĂĄ los pagos desde la cuenta del empleador al empleado en el dĂ­a pactado, pagarĂĄ las imposiciones correspondientes y realizarĂĄ otros trĂĄmites, y si no existe dinero disponible en la cuenta del empleador el dĂ­a correspondiente, puede dar aviso automĂĄticamente a la inspecciĂłn del trabajo, e incluso iniciar un juicio en caso de ser necesario, bajo la internet de las cosas (IoT), tecnologĂ­a posiblemente ya totalmente desarrollada durante la prĂłxima dĂŠcada bajo el umbral 5G, velocidades inalĂĄmbricas de internet prĂĄcticamente instantĂĄneas y que precisamente este aĂąo 2019 harĂĄ su debut en EEUU (Verizon, 2018). Para nombrar otros ejemplos prĂĄcticos de los contratos inteligentes y la desburocratizaciĂłn de actividades en potencia que poseen podemos imaginar el reemplazo de corredores de bolsa, de propiedades, notarios pĂşblicos, conservadores de bienes raĂ­ces, corredores de apuestas, etc. Actividades que pueden ser codificadas secuencialmente y que ayudarĂ­an a reducir enormes costos y sobre todo tiempo. Muchos servicios que hoy en dĂ­a funcionan de forma manual, teniendo el potencial para poder funcionar de forma automĂĄtica. 3.4 La mĂĄquina virtual de Ethereum (EVM) 15 La MĂĄquina Virtual de Ethereum (o EVM, Ethereum Virtual Machine) es considerada la principal creaciĂłn de Ethereum. Se trata de un software completo de Turing con el que se puede resolver casi cualquier problema computacional y que es ejecutado dentro de la misma red de Ethereum. Su diseĂąo tiene como principal objetivo poner en marcha cĂłdigos algorĂ­tmicos complejos y facilitar el proceso de creaciĂłn de aplicaciones a travĂŠs de lenguajes de programaciĂłn mucho mĂĄs amigables, como es el caso de JavaScript, evitando la construcciĂłn de una cadena de bloques completamente nueva para cada una de las aplicaciones. Ethereum permite que cada una de las aplicaciones se desarrollen dentro de una misma plataforma. A su vez, Ethereum Virtual Machine se encuentra separada del resto de la red, lo que permite que cualquier persona o empresa pueda aprender a crear un contrato inteligente mĂĄs grande y con mayor fuerza usando la EVM, sin necesidad de afectar a otras transacciones que tengan lugar en la cadena de bloques (Libertex, 2019). La mĂĄquina virtual Ethereum se enfoca en brindar seguridad y ejecutar cĂłdigo no confiable en computadoras de todo el mundo. Para ser mĂĄs especĂ­fico, este proyecto se enfoca en prevenir los ataques de denegaciĂłn de servicio, que se han vuelto comunes en el mundo de las criptomonedas. AdemĂĄs, EVM garantiza que los programas no tengan acceso al estado del otro, lo que garantiza que la comunicaciĂłn se puede establecer sin ninguna interferencia potencial. Para poner esto en un lenguaje que todos puedan entender, Ethereum Virtual Machine estĂĄ diseĂąada para servir como un entorno de ejecuciĂłn para contratos inteligentes basados en Ethereum. Dado que la MĂĄquina Virtual Ethereum estĂĄ completamente aislada del resto de la red principal, es un entorno de prueba perfecto, cualquier empresa que busque crear un contrato inteligente puede hacerlo utilizando la EVM, sin que esto afecte las operaciones principales de la cadena de bloques. La prueba de esta tecnologĂ­a es de suma importancia, ya que un cĂłdigo defectuoso puede significar la desapariciĂłn de incluso los contratos inteligentes mĂĄs grandes. AdemĂĄs, se podrĂ­a considerar al EVM como un ""entorno de aprendizaje"" para construir contratos inteligentes mĂĄs grandes, mejores y mĂĄs robustos. 16 TambiĂŠn vale la pena mencionar que cada nodo Ethereum en la red ejecuta su propia implementaciĂłn de EVM y es capaz de ejecutar las mismas instrucciones, ademĂĄs es una puerta de entrada para construir contratos inteligentes adecuados, tanto para los principiantes como para los programadores experimentados que buscan obtener un enfoque prĂĄctico con Solidity, un lenguaje de alto nivel orientado a objetos para implementar contratos inteligentes (Solidity, 2019). AdemĂĄs, el EVM se ha implementado en lenguajes de programaciĂłn mĂĄs tradicionales, tales como Python, Ruby, C ++ y algunos otros lenguajes de codificaciĂłn. (Themerkle, 2019) 3.5 OrĂĄculo Suenan como algo de la mitologĂ­a griega y de alguna manera funcionan de forma similar, cuenta la leyenda que en el mundo antiguo las personas no tenĂ­an suficiente informaciĂłn para tomar decisiones y recurrieron a orĂĄculos para indagar mĂĄs allĂĄ de los lĂ­mites de su propia comprensiĂłn. De la misma manera, las cadenas de bloques como las de Bitcoin y Ethereum, no tienen acceso fĂĄcil a la informaciĂłn fuera de la cadena, por lo que no existe una forma directa de validar las condiciones en que se basan los contratos inteligentes. Un orĂĄculo es, simplemente, un traductor para la informaciĂłn proporcionada por una plataforma externa. Los orĂĄculos dentro del blockchain son fuentes de informaciĂłn externas y que permiten a los contratos inteligentes ejecutar Ăłrdenes con informaciĂłn imparcial, pĂşblica y no manipulada. Los orĂĄculos proporcionan los datos necesarios para que se ejecuten contratos inteligentes cuando se cumplan los tĂŠrminos originales del contrato. Estas condiciones podrĂ­an ser cualquier cosa asociada con el contrato inteligente: temperatura, finalizaciĂłn del pago, cambios de precio, etc. Estos orĂĄculos son la Ăşnica forma de que los contratos inteligentes interactĂşen con datos fuera del entorno de Blockchain. (Cointelegraph, 2019). 17 Es importante entender que los contratos inteligentes no pueden funcionar sin una fuente externa de datos fiable, si esto no pasara perderĂ­an su potencial enormemente. 3.6 Raiden Network (RDN) Raiden network es una red para transacciones instantĂĄneas, opera bajo la plataforma de Ethereum y es anĂĄloga a Lightning Network de bitcoin, siendo ĂŠsta un protocolo en capas de la parte superior de la cadena de bloques de bitcoin (Bitcoinlightning, 2019) que permite transacciones rĂĄpidas entre nodos participantes y se ha promocionado como una soluciĂłn al problema de escalabilidad del bitcoin. Cuenta con un sistema de igual a igual para realizar micro pagos de criptomoneda a travĂŠs de una red de canales de pago bidireccionales sin ";"""date"",""2020-08-20T17:01:06Z"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""pdf:PDFVersion"",""1.5"" ""xmp:CreatorTool"",""MicrosoftÂŽ Word 2016"" ""pdf:hasXFA"",""false"" ""access_permission:modify_annotations"",""true"" ""access_permission:can_print_degraded"",""true"" ""dc:creator"",""JFlores"" ""language"",""es"" ""dcterms:created"",""2020-08-20T17:01:06Z"" ""Last-Modified"",""2020-08-20T17:01:06Z"" ""dcterms:modified"",""2020-08-20T17:01:06Z"" ""dc:format"",""application/pdf; version=1.5"" ""Last-Save-Date"",""2020-08-20T17:01:06Z"" ""pdf:docinfo:creator_tool"",""MicrosoftÂŽ Word 2016"" ""access_permission:fill_in_form"",""true"" ""pdf:docinfo:modified"",""2020-08-20T17:01:06Z"" ""meta:save-date"",""2020-08-20T17:01:06Z"" ""pdf:encrypted"",""false"" ""modified"",""2020-08-20T17:01:06Z"" ""Content-Length"",""1115840"" ""pdf:hasMarkedContent"",""true"" ""Content-Type"",""application/pdf"" ""pdf:docinfo:creator"",""JFlores"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"",""JFlores"" ""dc:language"",""es-ES"" ""meta:author"",""JFlores"" ""meta:creation-date"",""2020-08-20T17:01:06Z"" ""created"",""2020-08-20T17:01:06Z"" ""access_permission:extract_for_accessibility"",""true"" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""48"" ""Creation-Date"",""2020-08-20T17:01:06Z"" ""resourceName"",""3560903501219UTFSM.pdf"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""388"",""924"",""1124"",""1289"",""2244"",""2366"",""2268"",""1115"",""1671"",""1881"",""1891"",""2398"",""2389"",""1959"",""2060"",""2314"",""1984"",""1730"",""1958"",""1747"",""1797"",""1022"",""1109"",""780"",""1985"",""228"",""2247"",""2317"",""1866"",""1665"",""1558"",""1871"",""2175"",""1859"",""1834"",""2132"",""44"",""1149"",""1394"",""1145"",""305"",""302"",""239"",""424"",""474"",""171"",""633"",""8"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""Author"",""JFlores"" ""producer"",""MicrosoftÂŽ Word 2016"" ""access_permission:can_modify"",""true"" ""pdf:docinfo:producer"",""MicrosoftÂŽ Word 2016"" ""pdf:docinfo:created"",""2020-08-20T17:01:06Z"" ";https://scholar.google.com/scholar?start=940&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094534-625;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Reversible proofs of sequential work;H Abusalah, C Kamath, K Klein, K Pietrzak… ; … Conference on the …, 2019 Springer;;"… discussion in [BBBF18]), blockchain designs like chia.net or proofs of replication [Fis19] … Ideal permutations can be constructed from random oracles [CPS08, HKT11, DSKT16] (formally, the ideal permutation model is indifferentiable from the random oracle model), so we …";Cité 4 fois;Les 3 versions;[PDF] iacr.org;https://eprint.iacr.org/2019/252.pdf;" Reversible Proofs of Sequential Work Hamza Abusalah1?, Chethan Kamath2??, Karen Klein2??, Krzysztof Pietrzak2??, and Michael Walter2?? 1 SBA Research habusalah@sba-research.org 2 IST Austria, Am Campus 1, 3400 Klosterneuburg, Austria {ckamath,kklein,pietrzak,mwalter}@ist.ac.at Abstract. Proofs of sequential work (PoSW) are proof systems where a prover, upon receiving a statement χ and a time parameter T computes a proof φ(χ, T ) which is efficiently and publicly verifiable. The proof can be computed in T sequential steps, but not much less, even by a malicious party having large parallelism. A PoSW thus serves as a proof that T units of time have passed since χ was received. PoSW were introduced by Mahmoody, Moran and Vadhan [MMV11], a simple and practical construction was only recently proposed by Cohen and Pietrzak [CP18]. In this work we construct a new simple PoSW in the random permutation model which is almost as simple and efficient as [CP18] but conceptually very different. Whereas the structure underlying [CP18] is a hash tree, our construction is based on skip lists and has the interesting property that computing the PoSW is a reversible computation. The fact that the construction is reversible can potentially be used for new applications like constructing proofs of replication. We also show how to “embed” the sloth function of Lenstra and Weselowski [LW17] into our PoSW to get a PoSW where one additionally can verify correct- ness of the output much more efficiently than recomputing it (though recent constructions of “verifiable delay functions” subsume most of the applications this construction was aiming at). 1 Introduction Timed-release cryptography was envisioned by May [May93] and realised by Rivest, Shamir and Wagner [RSW00] in the form of a “time-lock puzzle”. For a time parameter T , such a puzzle can be efficiently sampled together with a solution. However, solving it requires T sequential computational steps, and this holds even for parties aided with massive parallelism. In other words, there are no “shortcuts” to the solution. The application envisioned in [RSW00] was “sending a message to the future”: generate a puzzle, derive a symmetric key from the ? Partially supported by FFG COMET under SBA-K1 grant ?? Supported by the European Research Council, ERC consolidator grant (682815 - TOCNeT). solution, encrypt your message using that key, then release the ciphertext and the puzzle. Now everyone can decrypt by solving the puzzle which requires T sequential steps. The construction put forward in [RSW00] is in the RSA setting: the puzzle is a tuple (N, x, T ), where N = p ¡ q is an RSA modulus and x ∈ Z∗N a group element, and the solution to the puzzle is x2 T mod N . Although the solution can be computed efficiently if the factorisation of N is known, it is conjectured to require T sequential squarings given only N . The assumption that underlies the soundness of the [RSW00] time-lock puzzle is rather non-standard (which is basically that the puzzle is sound, i.e., there’s no shortcut in computing the solution) and it’s an open problem to come up with constructions under more standard assumptions. In a negative result, Mah- moody, Moran and Vadhan [MMV11] show that there’s no black-box construc- tion of a time-lock puzzle in the random oracle model. In subsequent work the same authors [MMV13] propose and construct proofs of sequential work (PoSW). This is a proof system wherein a prover P can convince a verifier V that it spent T sequential time steps upon receiving some challenge χ. Even though PoSW seem related to time-lock puzzles, they are not directly comparable. In particu- lar, a PoSW does not require that one can sample the solution together with an instance. On the other hand, a PoSW must be publicly verifiable3 and sampling a challenge must be public-coin4 so it can be made non-interactive by the Fiat- Shamir heuristic. [MMV13] construct a PoSW in the random oracle model (or under a standard model assumption on hash functions called “sequentiality”). As possible applications for PoSW [MMV13] suggest universally verifiable CPU benchmarks and non-interactive time-stamping. The construction given in [MMV13] is not practical as a prover needs not only T sequential time steps but also linear in T space to compute a proof. Cohen and Pietrzak [CP18] resolved this issue by constructing a PoSW where the prover requires just log(T ) space. More recently there has been renewed interest in time-delayed cryptography as it found applications in decentralized systems, including public randomness beacons (cf. discussion in [BBBF18]), blockchain designs like chia.net or proofs of replication [Fis19]. For the first two applications the PoSW need to be unique, which means it should not be possible (or at least computationally hard) to compute more than one accepting proof for the same challenge. This notion was introduced in [CP18] but constructing such a PoSW was left as an open problem. Our Contribution. Constructions of hash-based PoSW start with some un- derlying graph structure, which in [MMV13] is a depth-robust graph and in 3 So everybody, not just the party who generated the challenge, can efficiently verify correctness. Note that in the RSW time-lock puzzle only the party who generated the challenge (which is called a puzzle in this context) and thus knows the factorization can verify the proof efficiently. 4 This basically means that the challenge is just a uniformly random string. Note that the RSW time-lock puzzle is not public-coin as the coins used to sample the RSA modulus N must remain secret. chia.net [CP18] a binary tree with some extra edges. In this paper we construct a new PoSW which is as simple and almost as efficient as [CP18] with the underlying graph being a skip list. Our construction can be instantiated with permutations – instead of hash functions – and is “reversible”. Until recently the sloth hash function [LW17] was the closest we had to a unique PoSW. It’s not a PoSW because the computation required for verification is linear in the time parameter T (albeit around a 1000 times faster). The fact that our PoSW is reversible allows us to “embed” sloth into our PoSW, this way we get a PoSW where verification (of the claim that T sequential time steps were spent) is very efficient (logarithmic in T ), while verifying correctness can be done as efficiently as in sloth (in time O(T ) with a very small hidden constant). We outline this construction in more detail in Section 1.1 below. For applications of unique PoSW our construction is by now mostly subsumed by very recent constructions of verifiable delay functions [BBBF18] (VDF). A VDF is defined almost like a PoSW, but the (non-interactive) proof does not only certify that T sequential time has been used to compute some value, but the stronger property that this value is actually the correct value. A VDF is thus basically a unique PoSW (the only reason it’s not exactly a unique PoSW is that the proof itself could be malleable, but this doesn’t matter for any of the appli- cations). The notion of a VDF has been introduced by Boneh et al. in [BBBF18] who also construct a VDF using rather heavy machinery like incrementally veri- fiable computation. Subsequently two extremely simple and efficient VDFs have been proposed [Wes19, Pie19b], both papers basically show how to make the RSW time-lock puzzle [RSW00] publicly verifiable, that is, they give proof sys- tems for showing that a given tuple (x, y, T ) satisfies x2 T = y in a group of unknown order (e.g. Z∗N as used in [RSW00]). These constructions are clearly favourable to ours as correctness (which here means that the output is correctly computed) can be verified much more efficiently, though as they are not post- quantum secure, ours is arguably still the best option in a post-quantum setting for some applications. This hopefully will change in the near future as research on post-quantum VDFs is ongoing [FMPS19]. The fact that our PoSW is reversible seems also useful in the context of proofs of replication [Fis19, Fis18, Pie19a] for similar reasons that “decodable” VDFs are useful in this context as discussed in [BBBF18], we are currently working towards constructing simple proofs of replication based on the skip list based PoSW presented in this paper. 1.1 Hash chains and the Sloth function. A simple construction which is not quite a PoSW is a hash chain, where on input x = x0 one outputs as proof xT which is recursively computed as xi = hash(xi−1). If hash is a bijection and can be efficiently evaluated in both di- rections (i.e., a permutation), then from a given state xi, one can compute the previous state xi−1, we call such a construction reversible. Verifying that xT has been correctly computed requires T hashes (so it’s no a PoSW), but at least one can parallelize verification by additionally outputting some q intermediate values x0, xT/q, x2T/q, . . . , xT (then the proof can be verified in T/q time assuming one can evaluate q instantiations of hash in parallel: for every i ∈ [q], verify that T/q times hashing x(i−1)T/q gives xiT/q). Lenstra and Wesolowski [LW17] suggest a construction called “sloth”, which basically is a hash chain but with the additional property that it can be verified with a few hundred times less computation than what is required to compute it. The construction is based on the assumption that computing square roots in a field Fp of size p is around log(p) times slower than the inverse operation, which is just squaring. A typical value would be log(p) ≈ 1000, going much higher is problematic as then fast multiplication methods (e.g., Karatsuba, Schönhage- Strassen) can be applied. Their idea is to simply use a hash chain where the hash function is some permutation π : Fp → Fp, where Fp is a finite field of size p, followed by taking a square root: that is xi = √ π(xi−1). Verification goes as for a standard hash chain, but one computes backwards, checking xi−1 = π−1(x2i ), which – assuming computing π, π−1 is cheap compared to squaring, and squaring is log(p) times faster than taking square roots – gives the claimed speedup of ≈ log(p) compared to a simple hash chain. In Section 4 we show how sloth can be embedded into our skip list based PoSW to get a construction such that it remains a good PoSW, while correctness of the output can be verified as efficiently as in sloth, the constructions discussed are summarized in the table below. 2 Construction 2.1 Notation Throughout we denote the time parameter of our construction by N = 2n with n ∈ N and assume it’s a power of 2. We reserve w, t ∈ N to denote two statistical security parameters, w is the block size (say w = 256) and t denotes the number of challenges: a cheating prover who only makes N(1−ε) sequential steps (instead N) will pass verification with probability (1− Îľ)t. For integers m,m′ we denote with [m,m′] = {m,m+ 1, . . . ,m′}, [m], [m]0 are short for [1,m] and [0,m]. We define 0̃ = n + 1 and for i ≥ 1 we denote with ĩ the number of trailing zeros in the binary representation of i, plus 1 0̃, 1̃, 2̃, 3̃, 4̃, 5̃, 6̃, 7̃, 8̃, 9̃, . . . = n+ 1, 1, 2, 1, 3, 1, 2, 1, 4, 1, . . . For σ ∈ {0, 1}w¡i we denote with σ(j) the jth w-bit block of σ, so that σ = σ(1)‖ . . . ‖σ(i). σ(i...j) is short for σ(i)‖ . . . ‖σ(j). For a permutation π over ` bit strings, we denote with π̇ the function over bit stings of length ≥ ` which simply applies π to the ` bit prefix of the input, and leaves the rest untouched. construction (using # of stepsd # of stepsd to assumption step post reversible time parameter T to verify verify if output quantum and statistical sequential is correct security parameter computation (uniqueness) Îť) O(¡) of O(¡) of hash chain T T random oraclea RO call yes yesb sloth [LW17] T/ log(p) T/ log(p) log(p) gap computing x→ √ x yes yes√ x vs x2 and & RP call random permutationa,c PoSW [CP18] Îť ¡ log(T ) T random oraclea RO call yes no PoSW Sec. 2 Îť ¡ log2(T )f T random permutationa,c RP call yes yes Combined Sec. 4 Îť ¡ log2(T )f T/ log(p) like sloth x→ √ x yes yes & RP call [Pie19b] VDF Îť ¡ log(T ) Îť ¡ log(T ) (x, T )→ x2 T requires x→ x2 no no T sequential squaringse [Wes19] VDF Îť Îť as above plus x→ x2 no no “root assumption” aOr a standard model assumption called “sequential hash function”. bIf the function used is an efficiently invertible permutation. cThe random permutation model is equivalent to the random oracle model. dWhat a step is depends on the construction, but evaluating the function is always assumed to require T sequential steps. eThis assumption can only hold in groups of unknown order. fStrictly speaking, the number of oracle calls required to verify is just Îť ¡ log T (as in [CP18]), but in our constructions the input, on an average, consists of log T/2 blocks (unlike [CP18], where it is 2 blocks) and therefore to make a fairer comparison, we count the cost of an oracle call on an input of length k blocks as k calls. 0w 0w 0w 0w π0 π1 π2 π3 π4 π5 π6 π7 π8 φ1 φ2 φ3 φ4 σ0 σ1 σ2 σ3 σ4 σ5 σ6 σ7 σ8 Fig. 1: Illustration of the computation of σΠ = (σ0, . . . , σN ) with n = 3, N = 2n = 8. The blocks represent the permutations, whereas the dashed vertical lines represent the states. Note that the structure of the graph is the same as a skip list with four layers, where a pointer in layer i, i ∈ {0, 1, 2, 3}, points to the 2i-th element to its right on the list. 2.2 The sequence σΠ At the core of our construction is a mapping based on the skip list data structure (see Figure 1). It is built from a set of permutations Π = {πi}i∈[N ]0 , where each πi is over {0, 1}w¡̃i, and defines a sequence of states σΠ = σ0, . . . , σN , σi ∈ {0, 1}(n+1)¡w, recursively as σ0 = π̇0(0w¡(n+1)) and for i > 0 : σi = π̇i(σi−1) ( = πi(σ (1...̃i) i−1 )‖σ((̃i+1)...(n+1)) i−1 ) . 2.3 The DAG GN 0 1 2 3 4 5 6 7 8 Fig. 2: The graph G8 that corresponds to the computation of σΠ with n = 3. It will be convenient to consider the directed acyclic graph (DAG) GN = (V,E) , V = [N ]0 , E = {(i, j) ∈ V 2 : ∃k ≥ 0 : j − i = 2k, 2k|i} that is derived from the computation of σΠ as follows: identify the permutation πi with the node i and add a directed edge (i, j) if in the computation of σΠ part of the output of πi is piped through directly to πj (see Figure 2). For i ∈ [N − 1] we denote with path(i) ⊆ V the subgraph of V induced by the nodes on the shortest path in GN which starts at 0, ends at N and passes through node i. For example, in Figure 1, path(5) = ({0, 4, 5, 6, 8}, {(0, 4), (0, 8), (4, 5), (4, 6), (4, 8), (5, 6), (6, 8)}). It’s not hard to check that the number of vertices in path(i) is n+ 3− ĩ, and in particular is never more than n+ 2. 2.4 Consistent States/Paths By construction, the σi ∈ σΠ satisfy σi = π̇−1i+1(σi+1), and more generally, for every edge (i, j) ∈ E and d = min(̃i, j̃) σ (d...n+1) i = (π̇−1j (σj)) (d...n+1). We say two strings are consistent for (i, j) if they satisfy this condition. Definition 1 (Consistent States/Path). Îąi, Îąj ∈ {0, 1}(n+1)¡w are consis- tent for edge (i, j) ∈ E if with d = min(̃i, j̃) Îą (d...n+1) i = (π̇−1j (Îąj)) (d...n+1) . We say α′i ∈ {0, 1}ĩ¡w, α′j ∈ {0, 1}j̃¡w are consistent if they can be “padded” to consistent Îąi, Îąj as above, which is the case if α′ (d) i = π−1(α′j) (d). We say {Îąi}i∈path(k) are consistent with path(k) if Îąi, Îąj are consistent for every edge (i, j) ∈ path(k). Note that if Îąj is computed from Îąi by applying π̇i+1, . . . , π̇j to Îąi, then those Îąi, Îąj will be consistent with (i, j), but the converse is not true (except if j = i+ 1). 2.5 PoSW Construction The protocol between P,V on common input T = N = 2n, w, t goes as follows 1. V samples χ ← {0, 1}w¡n and sends it to P. This χ defines a fresh set of random permutations Π (cf. Remark 1 below). 2. P computes σ0, . . . , σN and sends φ = σN to V. 3. V samples t challenges Îł = (Îł1, . . . , Îłt)← [N − 1]t and sends them to P. 4. P sends {σi}i∈path(j),j∈γ to V (cf. Remark 2 below). 5. V verifies for every j ∈ Îł that {σi}i∈path(j) is consistent as in Definition 1. If any check fails output reject, output accept otherwise. Remark 1 (Seeding Random Oracles/Permutations). Ideal permutations can be constructed from random oracles [CPS08, HKT11, DSKT16] (formally, the ideal permutation model is indifferentiable from the random oracle model), so we can realize Π in the standard random oracle model.5 Consider a fixed random oracle H(¡) about which a potential adversary has some auxiliary input (i.e., it has queried it on many inputs before, and stored some information aux). If one samples a random seed χ and uses it as a prefix to define the function Hχ(x) = H(χ‖x), thisHχ – from the adversaries’ perspective – is a fresh random oracle as long as this seed is just a bit longer that log(|aux|) [DGK17]. Thus, we can also sample a fresh Π by just sending a seed χ. Remark 2 (P’s Space Requirement). To avoid any extra computation in step 4., P would need to store the entire σΠ = {σi}i∈[N ]0 . By using a bit of extra computation, one can reduce the space requirement (we remark that a similar trade off comes up in [CP18]). Concretely, for some K = 2k, we let P only store σi where 2k|i, thus storing only N/K states. From this, every state σi can be computed making at most K/2 invocations to Π (and K/2 not K as we can also compute backwards). 5 In practice, one could e.g. use χ to sample N + 1 AES keys k0, . . . , kN , and then use AES(ki, ¡) : {0, 1}256 → {0, 1}256 – i.e., AES with a fixed public key – to construct πi, where for ĩ > 1 one would use domain extension for random permutations to extend the domain to 256 ¡ ĩ bits. 3 Security Proof Theorem 1. Consider a malicious prover P̃ which 1. makes at most N−∆ sequential queries to permutations in Π before sending φ = σN (in step 3 of the protocol); and 2. queries the permutations in Π on at most q inputs in total during execution of the protocol. Then P̃ will win (i.e., make V output accept) with probability at most Pr ( P̃ wins ) ≤ 2q2(n+ 3)2 2w + ( N −∆ N )t . (1) The proof of Theorem 1 mainly follows the intuition that sending φ “com- mits” the prover to a set of challenges it can respond to. We prove this fact formally in Lemma 7. If this set is a large fraction of the possible challenges, it implies the existence of a long sequence (as defined below) that necessarily requires many sequential steps. To aid the proof we begin with a couple of definitions. The first one is merely for notational convenience. Definition 2. We use ∟ to denote that two strings (composed of w-bit blocks) contain an identical block Îą ∟ α′ ⇐⇒ ∃i, j : Îą(i) = α′ (j) . We then say that Îą and α′ collide. The next definition characterizes the property that paths through our skiplist construction satisfy and that we rely on for the proof. Definition 3 (Π-Sequence). For a family of N permutations Π = {πi}i a Π- sequence of length N ′ < N is an N ′-tuple of pairs of strings ((xj , yj))j together with an N ′-tuple of strictly increasing integers (ij)j such that for all j πij (xj) = yj and yj ∟ xj+1. Below we show that Π-sequences are inherently sequential (cf. Lemma 6 and Corollary 1), but that requires a few technical lemmas, so we defer the details and proceed to the main proof. We now show how Lemma 7 and Corollary 1 imply Theorem 1. Proof (of Theorem 1). Consider a malicious prover P̃ that convinces the verifier on a random challenge with probability ≥ N−∆ N . Since the correct response to any challenge is a distinct Π-sequence from 0 to φ, Lemma 7 implies that P̃ must be able to respond to a fraction ≥ N−∆ N of the challenges. This is because the set of Π-sequences from 0 to φ that P̃ can compute is essentially fixed after sending φ and thus independent of the choice of challenges. This means there must exist a set of N−∆ responses which can be pieced together to a Π-sequence of length N −∆ from 0 to φ (details below). Note that all responses can be obtained by sending all the challenges using rewinding (which does not increase the number of queries). Then the result follows from Corollary 1. It remains to establish the fact that the responses can be merged to a long sequence. To see this, first assume that whenever two paths contain the same node, the corresponding responses have the same state at this node. If this is the case then merging the responses to k distinct challenges is easy: simply take the “union” of the responses, which will be a Π-sequence of length at least k. Finally, we show that different verifying reponses must have the same state at intersecting nodes. The proof of this fact is recursive: consider the node N/2 and assume for contradiction that there are two paths that both verify and each contains a state σN/2 and σ′N/2, respectively, with σN/2 6= σ′N/2. First note that the states σ0 and σ′0 must both be equal to π0(0), so they are equal to each other. Similarly, σN and σ′N must both be equal to φ in order to both verify. Furthermore, verification ensures that σN/2 ∟ σ′N/2. Specifically, they are equal in block n − 1, where they must both be equal to π−1N (σN )(n−1), since verifi- cation checks the edge (N/2, N) for consistency (cf. Definition 1). Analogously, verification ensures that π−1N/2(σN/2) ∟ π−1N/2(σ′N/2), since this corresponds to the edge (0, N/2). Note that the latter pair of values could be extracted from the prover by sending the appropriate challenges. By Lemma 5 (proved below) this can only happen with probability ≤ 2q2(n+3)2 2w . We conclude that σN/2 is equal among all valid responses with overwhelming probability. This allows to recurse on the node N/4 and 3N/4, etc. ut We now establish the remaining lemmas used in the main proof. Throughout the rest of this section, w.l.o.g. we only consider algorithms that do not make re- dundant queries. In all results in this section pertaining to random permutations the probabilities are taken over the choice of the permutations. First, we need a version of a PRP/PRF switching lemma that allows the adversary oracle access to the permutation and its inverse. We have not seen such a version in the literature so we prove it in the appendix. Lemma 1. Let π : {0, 1}w 7→ {0, 1}w be a random permutation and consider an algorithm Aπ,π −1 with oracle access to π and π−1 that makes exactly q queries in total. Assume that A does not repeat any queries to π nor any queries to π−1, and that if it queries π at x, it does not query π−1 at π(x) and vice versa. Let F1, F2 : {0, 1}w 7→ {0, 1}w be independent random functions. Then for any event E over the output of A, we have Pr ( Aπ,π −1 ∈ E ) ≤ Pr ( AF1,F2 ∈ E ) + q(q−1) 2w , where the first probability is over the choice of π and the second over the choice of F1, F2. The Lemma shows that in the analysis we can replace the random permuta- tion and its inverse oracle with random functions. Note that by a simple hybrid argument, Lemma 1 also holds for families of permutations, where q is the sum over all queries and w is the minimal input/output length over all permutations. We now show that Lemma 1 implies a few restrictions on what an algorithm can achieve when querying random permutations. Namely, we first show that input/output pairs are hard to guess (cf., Lemma 2), that preimages are hard to find without using the inverse oracle (cf., Lemma 3), and that it is hard to find queries that result in collisions with earlier queries (cf., Lemma 4). Lemma 2. Let Π = {πi}i be a family of random permutations. For any oracle algorithm outputting a pair (x, y) and an integer i and making q queries to Π except x in forward or y in backward direction, the probability that πi(x) = y is ≤ q2 2w . Proof. We are trying to bound the probability that the algorithm is able to guess the input/output pair of one of the permutations in Π (after making at most q queries). If the πi were random functions, this probability would be ≤ 1 2w . By Lemma 1 the bound follows. ut Lemma 3. Let Π = {πi}i be a family of random permutations. For any algo- rithm taking y as input and making q queries to Π except querying π−1i for y and outputting some x and i, the probability that πi(x) = y is ≤ q2 2w . Proof. If πi and π−1i were random function, the probability of finding such an x would be 1 2w . Lemma 1 completes the proof. ut Lemma 4. Let Π = {πi}i be a family of random permutations. For any algo- rithm making q queries to Π the probability of a query to Π either in forward or backward direction resulting in a response z that collides (in the sense of ∟) with any of the previous queries (in either input or output) is ≤ 2q2(n+2)2 2w . Proof. Assume we replace the permutations with random functions. The prob- ability that the response to any query collides with a specific string is at most (n+1)2/2w, since there are at most n+1 blocks in each string. By union bound, the probability that a query collides with any of the previous queries is thus at most 2q(n+1)2/2w, since there are two strings in each query (input and output). Applying a final union bound to all queries shows that the probability of this event is 2q2(n+ 1)2/2w. Lemma 1 now proves the result. ut Using the basic lemmas above, we can make statements about certain cyclic structures that are hard to find in random permutations and about the sequen- tiality of random permutations. Lemma 5. Let Π = {πi}i be a family of random permutations. For any algo- rithm making q queries to Π and outputting two distinct values, x and x′, and an integer i, the probability that x ∟ x′ and πi(x) ∟ πi(x′) is ≤ 2q2(n+3)2 2w . Proof. Obtaining two such pairs requires to guess one of the two input/output pairs or find a colliding query. Union bound over the two events (which are bounded by Lemma 2 and 4, respectively) yields the bound. ut Lemma 6 (Π-Sequentiality of Random Permutations). Let Π = {πi}i be a family of random permutations. For any algorithm A taking as input x and making a sequence Q of q queries to Π, and any Π-sequence s starting at x, the probability of A outputting s and Q not containing the pairs in s in order and in forward direction is ≤ 2q2(n+3)2 2w . Proof. Producing a Π-sequence starting at a specific value without querying the pairs in order and in forward direction, requires to either guess some in- put/output pair (for some specific πi) or find a colliding query, similarly to Lemma 5. ut Corollary 1. Let Π = {πi}i be a family of random permutations. For any algorithm taking as input x and making q sequential queries to Π, the probability of outputting a Π-sequence of length longer than q is ≤ 2q2(n+3)2 2w . ut We use the above observations to show that nothing the prover does after sending its commitment φ will help responding to challenges. Lemma 7. Let (PΠ1 ,PΠ2 ) be a pair of algorithms such that – P1, on input x, makes q1 queries to Π, and outputs a state s1 and some y – P2, on input s1, x, y, makes q2 queries to Π and outputs a Π-sequence s. Let Q be the set of queries (including responses) made by P1, and let S be the set of Π-Sequences between x and y computable6 from Q without any further queries to Π. Then s ∈ S except with probability ≤ 2q2(n+3)2 2w , where q = q1 + q2. Proof. Assume s /∈ S. Let (x′, y) be the last pair in s. First consider the case that the query (x′, y) ∈ Q. Since s is a new sequence not computable from S it must contain a pair (xi, yi) /∈ Q, so the queries in s were not made in order and thus by Lemma 6 the probability of P2 outputting s is ≤ 2q2(n+3)2 2w . Now consider the case (x′, y) /∈ Q. If P2 did not query x′ in forward direction, by Lemma 6 the probability of P2 outputting s is ≤ 2q2(n+3)2 2w . Finally, if P2 queried x′ in forward direction, it did not submit an equivalent query in the reverse direction by assumption. (Recall that we consider only algorithms that do not make redundant queries.) It follow from Lemma 3 that the probability of this event is ≤ q2 2w . ut This completes the proof. 4 Embedding Sloth As discussed in the introduction, we propose a reversible PoSW that is almost as efficient as the construction from [CP18] but achieves a larger time gap between 6 By “computable” we mean here that there exists an algorithm for which the output is correct with non-negligible probability. the computation of the proof and the verification of correctness. To this aim, we embed the sloth hash function from [LW17] into construction 2.5. The idea underlying sloth is to use the fact that the best known algorithms for computing modular square roots in a field Fp takes ≈ log(p) sequential squarings, whereas verification of the result only takes a single modular squaring. Thus, this gives a good candidate to build the slow-t imed hash function sloth. Let p ≡ 3 mod 4 be a prime. We identify x ∈ F×p with its canonical repre- sentant in [0, p− 1]. If x ∈ F×p is a quadratic residue, then there are two square roots y, y′ ∈ F×p , where y′ = p − y, one of them being even, the other one odd. Let + √ x, − √ x denote the (unique) even and odd square root of x, respectively. If x ∈ F×p is not a quadratic residue, then −x is a quadratic residue, so it makes sense to define a permutation ρ : F×p → F×p as ρ(x) = { + √ x, if x is a quadratic residue, − √ −x, otherwise. Its inverse is defined by ρ−1(x) = { x2, if x is even, −x2, otherwise. Unfortunately, one cannot directly build a hash chain by iterating ρ since reducing modulo p − 1 in the exponent would yield a much faster computation than sequentially computing ρ. Lenstra and Wesolowski [LW17] solve this prob- lem by prepending an easily computable (in both directions) permutation π on F×p to each iteration of the square rooting function ρ. Setting τ = ρ◦π, the sloth function is hence defined as τN for some appropriate chain length N . Verification can be done backwards by the computation (τN )−1 = (σ−1 ◦ ρ−1)N , which is by a factor log p faster. We now combine the ideas from [LW17] with our construction to achieve an efficient PoSW while preserving the fast verification of correctness obtained by the sloth construction. Let Π = {πi}i∈[N ]0 be a set of permutations where, for each i ∈ [N ]0, πi : F×p × {0, 1}w¡(̃i−1). We define the sequence σ̄Π = σ̄0, . . . , σ̄N with σ̄i ∈ F×p × {0, 1}n¡w recursively as σ̄0 = ρ̇ ◦ π0((0, 0w¡n)) ( = ρ ( π0((0, 0w¡n))(1) ) ‖π0((0, 0w¡n))(2...n+1) ) and for i > 0 : σ̄i = ρ̇ ◦ π̇i(σ̄i−1) ( = ρ ( πi(σ̄ (1...̃i) i−1 )(1) ) ‖πi(σ̄(1...̃i) i−1 )(2...̃i)‖σ̄(̃i+1...n+1) i−1 ) . See Figure 3 for an illustration of the computation of σ̄Π . Defining Π ′ = {π′i}i∈[N ]0 by π′i = ρ̇ ◦ πi, it holds σ̄Π = σΠ′ . Thus, using σ̄Π in our protocol results in a PoSW that is secure in the random permutation model, almost as efficient as the construction from [CP18], and at the same time achieves verifi- cation of correctness as efficient as in sloth. More formally, the efficiency of the Fp 3 0 0w 0w 0w π0 ρ π1 ρ π2 ρ π3 ρ π4 ρ π5 ρ π6 ρ π7 ρ π8 ρ φ1 φ2 φ3 φ4 σ̄0 σ̄1 σ̄2 σ̄3 σ̄4 σ̄5 σ̄6 σ̄7 σ̄8 Fig. 3: Illustration of the computation of σ̄Π = (σ̄0, . . . , σ̄N ) with n = 3, N = 2n = 8. combined scheme can be analysed as follows: First, consider the proof size: |χ| = w ¡ n, |φ| = log(p) + w ¡ n, |Îł| = t ¡ n, |{σi}i,j | ≤ t ¡ n(log(p) + w ¡ n). Hence, compared to [CP18], the proofs are by a factor n = log(N) = log(T ) larger. Next, consider the prover efficiency. To compute φ, the prover needs to sequentially evaluate N + 1 permutations π′i = ρ̇ ◦ πi, i = 0, . . . , N . Storing only the N/K states σi with K|i for some K = 2k, the prover can answer the c";"""date"",""2019-02-28T19:00:42Z"" ""pdf:PDFVersion"",""1.5"" ""pdf:docinfo:title"","""" ""xmp:CreatorTool"",""LaTeX with hyperref package"" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""subject"","""" ""language"",""en"" ""dc:format"",""application/pdf; version=1.5"" ""pdf:docinfo:creator_tool"",""LaTeX with hyperref package"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"","""" ""modified"",""2019-02-28T19:00:42Z"" ""cp:subject"","""" ""pdf:docinfo:subject"","""" ""pdf:hasMarkedContent"",""false"" ""pdf:docinfo:creator"","""" ""PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018) kpathsea version 6.3.0"" ""meta:author"","""" ""trapped"",""False"" ""meta:creation-date"",""2019-02-28T19:00:42Z"" ""created"",""2019-02-28T19:00:42Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2019-02-28T19:00:42Z"" ""resourceName"",""252.pdf"" ""Author"","""" ""producer"",""pdfTeX-1.40.19"" ""pdf:docinfo:producer"",""pdfTeX-1.40.19"" ""pdf:unmappedUnicodeCharsPerPage"",""12"",""0"",""0"",""13"",""0"",""3"",""5"",""10"",""15"",""11"",""11"",""19"",""7"",""0"",""8"" ""Keywords"","""" ""access_permission:modify_annotations"",""true"" ""dc:creator"","""" ""dcterms:created"",""2019-02-28T19:00:42Z"" ""Last-Modified"",""2019-02-28T19:00:42Z"" ""dcterms:modified"",""2019-02-28T19:00:42Z"" ""title"","""" ""Last-Save-Date"",""2019-02-28T19:00:42Z"" ""pdf:docinfo:keywords"","""" ""pdf:docinfo:modified"",""2019-02-28T19:00:42Z"" ""meta:save-date"",""2019-02-28T19:00:42Z"" ""pdf:docinfo:custom:PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018) kpathsea version 6.3.0"" ""Content-Length"",""376765"" ""Content-Type"",""application/pdf"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"","""" ""dc:subject"","""" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""15"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""1978"",""2718"",""2700"",""2104"",""1533"",""1205"",""2128"",""1732"",""2640"",""2205"",""1986"",""2067"",""1951"",""2518"",""712"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""pdf:docinfo:trapped"",""False"" ""meta:keyword"","""" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2019-02-28T19:00:42Z"" ";https://scholar.google.com/scholar?start=440&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094663-1172;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Smart Contracts;R Wilkens, R Falk ; Smart Contracts, 2019 Springer;;"… Page 22. 14 3 Technische Grundlagen und Begriffe 3.2.2.3 Beschränkung auf Leistungen in der Blockchain Smart Contracts können nur Leistungen erbringen, die sich digital in der Blockchain abbilden lassen … „Oracles“ – Schnittstellen zur realen Welt";Cité 2 fois;Les 2 versions;null;;;;https://scholar.google.com/scholar?start=990&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094565-757;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[PDF][PDF] Smart contracts y Blockchain: calificación jurídica de los Smart contracts en el ecosistema de las Tecnologías de Registro Distribuido.;IO Pérez, IM Menéndez ; core.ac.uk;;"… de bloques. Por último, se debe ańadir que existe la posibilidad de introducir datos en los Smart contracts a partir de fuentes de información externas a Blockchain. Los denominados oracles (u oráculos) son tales fuentes externas que permiten a los Smart contracts ampliar …";Autres articles;Version HTML;[PDF] core.ac.uk;https://core.ac.uk/download/pdf/290001035.pdf;" Trabajo Fin de Grado Smart contracts y Blockchain: calificaciĂłn jurĂ­dica de los Smart contracts en el ecosistema de las TecnologĂ­as de Registro Distribuido. Smart contracts and Blockchain: legal qualification of Smart contracts in the DLT ecosystem. Autora Irene Ortega PĂŠrez Director Ignacio Moralejo MenĂŠndez Facultad de EconomĂ­a y Empresa, Universidad de Zaragoza 2018-2019 CORE Metadata, citation and similar papers at core.ac.uk Provided by Repositorio Universidad de Zaragoza https://core.ac.uk/display/290001035?utm_source=pdf&utm_medium=banner&utm_campaign=pdf-decoration-v1 Autora: Irene Ortega PĂŠrez. Director: Ignacio Moralejo MenĂŠndez. TĂ­tulo: Smart contracts y Blockchain: calificaciĂłn jurĂ­dica de los Smart contracts en el ecosistema de las TecnologĂ­as de Registro Distribuido. Title: Smart contracts and Blockchain: legal qualification of Smart contracts in the DLT ecosystem. TitulaciĂłn: Derecho y AdministraciĂłn y DirecciĂłn de Empresas. RESUMEN El objetivo de este trabajo es el anĂĄlisis jurĂ­dico de los Smart contracts en el nuevo ecosistema de las TecnologĂ­as de Registro Distribuido (DLT, por sus siglas en inglĂŠs). Estos Smart contracts, que se hallan en un estadio incipiente, consisten en secuencias de cĂłdigos capaces de ejecutar autĂłnomamente las prestaciones a las que las partes se obliguen. Con este fin y dada la todavĂ­a escasa literatura cientĂ­fica-legal al respecto, se ha abordado un doble enfoque con fuentes teĂłrico-acadĂŠmicas, acudiendo a doctrina reconocida para analizar la base contractual de esta tecnologĂ­a, y con fuentes alternativas de comunicaciĂłn del conocimiento propias de este ĂĄmbito, como foros, blogs o White papers donde los precursores de estas tecnologĂ­as se han manifestado. Mediante este estudio, se pretende determinar cuĂĄl debe ser la calificaciĂłn jurĂ­dica de los Smart contracs, asĂ­ como cuales son los principales retos jurĂ­dicos que plantea esta realidad. Asimismo, se analizarĂĄ el impacto de estos Smart contracts en el pago, respecto al notariado y en sede judicial. Por Ăşltimo, se pretende mostrar la iniciativa de ciertos paĂ­ses en incorporar a sus marcos legales esta nueva herramienta de ÂŤcontrataciĂłnÂť. ABSTRACT The aim of the current dissertation is to study from a legal point of view the Smart contracts in the new Distributed Ledger Technology (DLT) ecosystem. These Smart contracts, a technology in the early stages, consist of code sequences that are able to autonomous execute already agreed contractual benefits. In order to achieve this purpose and being aware of the scarce legal literature, a double approach has been taken, using legal doctrine to examine the contractual basis of this technology, as well as other alternative sources of knowledge commonly used in the technology field, such as Internet forums, blogs or White papers in which the precursors of the Smart contracts have spoken out. Through this study I intend to establish the legal qualification of the Smart contracts and the main legal challenges that this reality poses. Additionally, I examine the impact of the Smart contracts on the fulfilment of the agreement, on the public notaries role and on the courts. Finally, I present the endeavours of certain countries that are including this new “contractual” tool on their legal frameworks. ÍNDICE RESUMEN ....................................................................................................................... 1 ABSTRACT ..................................................................................................................... 1 I. INTRODUCCIÓN ........................................................................................................ 1 II. BLOCKCHAIN ........................................................................................................... 3 1. QUÉ ES ..................................................................................................................... 3 2. FUNCIONAMIENTO .............................................................................................. 4 III. SMART CONTRACTS .............................................................................................. 7 1. CONCEPTO Y TIPOLOGÍA ................................................................................... 8 2. CALIFICACIÓN JURÍDICA ................................................................................... 8 2.1. CASO 1: EL CÓDIGO NO COEXISTE CON OTRO DOCUMENTO EN LENGUAJE NATURAL. ......................................................................................... 9 2.2. CASO 2: SMART CONTRACT COMO EXIGENCIA DE FORMA CONSTITUTIVA.................................................................................................... 10 2.3. CASO 3: LA DOCUMENTACIÓN EN SMART CONTRACT COMO PRESUPUESTO DE ÂŤEFICACIAÂť. ...................................................................... 11 2.4. CASO 4: LA INTRODUCCIÓN DE UN TERCERO DE CONFIANZA....... 15 3. UN EJEMPLO DE APLICACIÓN: THE DAO ...................................................... 18 4. EL PAGO ................................................................................................................ 20 5. EJECUCIÓN: ÂżTÍTULOS EJECUTIVOS? ............................................................ 21 6. EL NOTARIADO Y LA FUERZA PROBATORIA ............................................. 24 7. CONFLICTOS JURÍDICOS .................................................................................. 27 III. REGULACIÓN EN LA ACTUALIDAD: DERECHO COMPARADO ................. 33 1. ESTADOS UNIDOS .............................................................................................. 33 2. EUROPA ................................................................................................................ 34 IV. CONCLUSIONES ................................................................................................... 36 BIBLIOGRAFÍA ............................................................................................................... i 1 I. INTRODUCCIÓN El mundo hoy se enfrenta a una nueva revoluciĂłn tecnolĂłgica. DetrĂĄs de las numerosas noticias sobre Bitcoin y el resto de las criptomonedas, que tanta expectaciĂłn e inversiĂłn estĂĄn generando, se encuentra la tecnologĂ­a Blockchain. Cada vez mĂĄs agentes comienzan a estudiar y experimentar con las posibilidades que ofrece la tecnologĂ­a de la cadena de bloques. Algunos precursores de esta disruptiva tecnologĂ­a prevĂŠn transformaciones tan trascendentales como la desapariciĂłn del intermediario bancario tal y como se conoce hoy, el cambio del papel que desempeĂąan los Estados, el modo en que se realizan las transacciones o incluso la funciĂłn de los jueces. Si bien es cierto que la potencialidad de esta tecnologĂ­a, sobre todo, en sede empresarial y legal es inmensa, la burbuja del ÂŤ.comÂť fue una lecciĂłn de prudencia ante el impacto de las nuevas tecnologĂ­as. En este sentido, Internet supuso una nueva forma de hacer negocios y un punto de inflexiĂłn para la comercializaciĂłn de productos mĂĄs allĂĄ de las fronteras. Ahora bien, estas nuevas realidades de contrataciĂłn electrĂłnica se encontraron con un cuerpo jurĂ­dico capaz de asemejar las instituciones existentes a estos nuevos fenĂłmenos, adaptĂĄndose a las nuevas circunstancias y resolviendo los conflictos que surgĂ­an. La regulaciĂłn de la contrataciĂłn mercantil y civil incorporĂł al rĂŠgimen negocial las nuevas exigencias de la contrataciĂłn electrĂłnica, de defensa de consumidores y usuarios que contrataban electrĂłnicamente y la regulaciĂłn sobre firma electrĂłnica, entre otras. AsĂ­ las cosas, es necesario un estudio concienzudo de la tecnologĂ­a Blockchain y, especialmente, de los Smart contracts en el ĂĄmbito jurĂ­dico, en aras de aprovechar todas las oportunidades que pueden ofrecer (eficiencia, reducciĂłn de costes, objetivaciĂłn de la ejecuciĂłn de las prestaciones…) sin tropezar con la especulaciĂłn que ya se sufriĂł a finales del siglo pasado. Comprender jurĂ­dicamente la figura de los Smart contracts, entendiendo las ventajas y los inconvenientes que plantean para ciertos negocios, asĂ­ como los retos legales que suponen las notas caracterĂ­sticas de estos acuerdos deviene primordial en este momento. La concreciĂłn de los marcos legales adecuados a los efectos de conseguir seguridad jurĂ­dica es fundamental para que se pueda extraer el mayor potencial de esta nueva 2 tecnologĂ­a sin descuidar los intereses de todas las partes involucradas: consumidores, instituciones pĂşblicas y empresa privada. Por ello, el estudio de la cuestiĂłn de los Smart contracts desde una perspectiva legal es imprescindible para generar seguridad y fomentar el emprendimiento en una tecnologĂ­a que se asemeja en impacto a la revoluciĂłn que supuso Internet. En este momento en el que la tecnologĂ­a se encuentra en un estadio incipiente, este estudio tiene por objetivos el anĂĄlisis de la figura del Smart contract, planteando si responde realmente a un contrato en sentido jurĂ­dico y las cuestiones que ello conlleva en tĂŠrminos de lenguaje, documentaciĂłn, cumplimiento de obligaciones, funciĂłn contractual y prueba, entre otros. El trabajo queda dividido en los siguientes capĂ­tulos: − Un primer capĂ­tulo introductorio de la tecnologĂ­a Blockchain, explicando su funcionamiento y sus fundamentos. − Un segundo capĂ­tulo donde se profundiza en el anĂĄlisis legal de los Smart contracts estudiando su carĂĄcter contractual, las cuestiones de forma y documentaciĂłn, la construcciĂłn de la figura del tercero de confianza y lo relativo al pago como cumplimiento de las prestaciones. Asimismo, se presenta un ejemplo de aplicaciĂłn real, el caso The DAO. − Un tercer capĂ­tulo en el que se examinan otras cuestiones jurĂ­dicas que se verĂĄn afectadas por los Smart contracts como son la cuestiĂłn de la funciĂłn del notariado, la fuerza probatoria y los nuevos motivos de litigiosidad entre contratantes. − Un cuarto capĂ­tulo en el que se recorre sucintamente las propuestas de ciertos paĂ­ses que estĂĄn regulando sobre la materia, como Estados Unidos o Malta. − Finalmente, se presentan las conclusiones del anĂĄlisis, donde se resumen los aspectos mĂĄs relevantes de los Smart contracts en el marco jurĂ­dico actual. 3 II. BLOCKCHAIN 1. QUÉ ES Blockchain es un controlador distribuido (en inglĂŠs, Distributed Ledger Technology o DLT), esto es, un registro o una base de datos que se comparte y se replica en una red de nodos (miembros) descentralizada (NAKAMOTO, 2008; BRAKEVILLE y PEREPA, 2018). En otras palabras, Blockchain se ha entendido como un libro contable que se duplica tantas veces como nodos tenga la red y que se actualiza continuamente para que la informaciĂłn sea consistente en todo momento. En este libro, las transacciones se introducen por bloques de informaciĂłn que, una vez validados, se incorporan a la cadena replicada en toda la red. Cada bloque cuenta con: i) un cĂłdigo alfanumĂŠrico que identifica al bloque predecesor (hash); ii) las transacciones; iii) un cĂłdigo alfanumĂŠrico para identificar al bloque siguiente. AsĂ­ todos los registros cuentan con una firma criptogrĂĄfica Ăşnica y una marca temporal (MORA, 2018). La cadena de bloques es, por tanto, un historial de transacciones de activos organizadas en bloques encadenados para generar una Ăşnica fuente de verdad. De este modo, si alguno de los nodos quisiera modificar una entrada previa, tambiĂŠn tendrĂ­a que alterar toda la cadena de bloques posterior para que fuera consistente. El nodo malicioso deberĂ­a cumplir esta tarea antes de que el resto de los nodos acabasen con el bloque en que ya se estĂĄ trabajando, o el proceso volverĂ­a a empezar. La capacidad computacional para ello es prĂĄcticamente inabarcable, lo que garantiza la autenticidad de la informaciĂłn. Esta configuraciĂłn estĂĄ basada en lo que se conoce como proof of work. En este sentido, el uso mĂĄs conocido de Blockchain es el de las criptomonedas, mĂĄs concretamente Bitcoin. Estas criptomonedas se apoyan en el registro contable distribuido de Blockchain para recoger sus transacciones. Ahora bien, las monedas no dejan de ser unidades de valor (los denominados tokens) o activos. Por lo tanto, las posibilidades de la cadena de bloques son numerosas, sobre todo en aquellos ĂĄmbitos donde concurra una red (empresarial), transacciones y un registro consensuado a prueba de manipulaciĂłn. ÂżCuĂĄl es la novedad de esta tecnologĂ­a? En relaciĂłn con las comunicaciones tradicionales a travĂŠs de Internet, un rasgo inherente a ellas ha sido desarticulado en estos primeros pĂĄrrafos sin que el lector haya sido expresamente avisado: ha desaparecido el principio 4 doble gasto. La disrupciĂłn que trae consigo esta tecnologĂ­a es la posibilidad de transmitir ÂŤverdaderamenteÂť un activo, de modo que una vez usado no se puede volver a disponer de ĂŠl. Internet ha permitido la transmisiĂłn de archivos e informaciĂłn en todo el mundo conectado. No obstante, hasta ahora lo que se ha transmitido de un lugar a otro de la red son copias, puesto que nada impedĂ­a el doble gasto. Si A envĂ­a un archivo de mĂşsica a B a cambio de un precio, B no puede confiar en que A no se haya quedado una copia de ese archivo de mĂşsica con la canciĂłn en su dispositivo. Frente a este paradigma, Blockchain se configura como el libro contable donde registrar activos a nivel global. AsĂ­, la propiedad de A, la transmisiĂłn de A a B y la nueva titularidad de B son recogidas de forma pĂşblica y verificable en toda esa red. A no puede volver a transmitir tal activo porque al reflejar su previa titularidad y la transmisiĂłn en el registro, ya no dispone de ĂŠl frente a ningĂşn tercero; informaciĂłn que es accesible para todos los miembros. AdemĂĄs, no serĂĄ un tercer intermediario el que mantenga una relaciĂłn con A y verifique su titularidad, registre la transmisiĂłn y dĂŠ prueba de la nueva situaciĂłn de B. Es el sistema el que, construido a partir de la desconfianza entre sus miembros, garantiza las titularidades. Todos los nodos cuentan con una copia consistente del historial de A que actualizan con las nuevas transacciones, es decir, es la propia comunidad la que autentifica su titularidad y la transmisiĂłn. La verdad registrada se consigue por consenso, por la aprobaciĂłn de ese registro por la mayorĂ­a de los nodos o miembros de la red. AsĂ­, no existe un intermediario privilegiado en el que reside el poder de decisiĂłn sobre la verdad -tĂ­picamente, un banco que registre en sus libros contables el dinero del que dispone A, y la transmisiĂłn a la cuenta de B, informaciĂłn en la que ambas partes confĂ­an. En contra de lo que era habitual hasta ahora, no rige el principio de centralizaciĂłn y, por tanto, dado que nadie controla la informaciĂłn centralizadamente, nadie concentra el poder. En conclusiĂłn, Blockchain es la tecnologĂ­a que permite la transmisiĂłn de activos entre iguales sin la necesidad del intermediario tradicional. 2. FUNCIONAMIENTO Sin ĂĄnimo de desarrollar tĂŠcnicamente el funcionamiento de Blockchain, se presenta un ejemplo simplificado de una transacciĂłn registrada en la cadena de bloques (PÉREZ- 5 SOLÀ y HERRERA-JOANCOMARTÍ, 2014). El objetivo es mostrar los procesos de validaciĂłn, afianzamiento, transmisiĂłn y almacenamiento de forma accesible. En el ejemplo Ana (A) desea enviar a Benito (B) 25 BITCOIN (aunque podrĂ­a ser cualquier otro activo, 25 tokens). Para ello, tanto Ana como Benito cuentan con una clave pĂşblica y una privada: {PKA, SKA}, {PKB, SKB}. La funciĂłn Addr{PK) permite obtener la direcciĂłn de la clave pĂşblica PK, H es una funciĂłn Hash (vinculaciĂłn con el bloque anterior) y Sigsk(m) representa la firma de m con la clave privada. Ana ha recibido inicialmente 25 BTC: To = {inputo, outputo} Inputo = {…} Outputo = {Addr(PKA), 25} Ana ha recibido a travĂŠs de su clave pĂşblica la cantidad de 25 BTC a los que va a acceder mediante su clave privada para enviĂĄrselos a Benito. Por ello: T1 = {input1, output1} Input1 = {H(To), SigskA(To + output1), PKA} Output1 = {Addr(PKB), 25} El protocolo estĂĄ diseĂąado para que Ana seĂąale su “situaciĂłn contable” previa con el Hash, decida disponer de ello mediante su clave privada aludiendo a la transacciĂłn previa por la que tiene los 25 BTC que quiere transmitir y su clave pĂşblica. Ahora bien, esa situaciĂłn contable previa no es tanto un balance total asociado a Ana, sino un conjunto de transacciones previas a las que ella puede referirse para futuros movimientos, en el ejemplo sĂłlo ha habido una To. Asimismo, Ana transfiere a Benito solicitando su clave pĂşblica y determinando la cantidad a transmitir. En futuras transacciones Benito se referirĂĄ a esta T1 para una potencial T2, disponiendo con su clave privada y conociendo su clave pĂşblica por la que ha recibido T1. En tĂŠrminos de validaciĂłn, no hay doble gasto ya que T1 se remite a To y eso sĂłlo es posible una vez. AdemĂĄs, Ana es propietaria de los 25 BTC dado que existe una posiciĂłn/transacciĂłn previa To. En cuanto al afianzamiento, la prueba de trabajo (proof of work) garantiza el registro comĂşn Ăşnico de la informaciĂłn que sĂłlo podrĂĄ ser alterada si 6 se consigue un poder de cĂłmputo mayor del 50%. La transmisiĂłn de la transacciĂłn se propaga por toda la red y el almacenaje supone que todos los nodos contienen una copia completa de la cadena de bloque por lo que todos validan cada transacciĂłn nueva. En caso de que Ana quisiera transferir a Benito una cantidad diferente y necesariamente menor a la recibida en To (por ejemplo, 20 BTC) el modelo varĂ­a, pero se consigue mantener las mismas virtudes. Grosso modo, Ana envĂ­a 25 BTC, recibiendo una transferencia por valor de 5 BTC que es el sobrante. Esta nueva transacciĂłn (T1’) de valor 5 BTC permite a Ana disponer de lo que le queda; puesto que To ya ha sido gastada. Por su parte, Benito recibe los 20 BTC y cuenta con una transacciĂłn (T1’’) a la que referirse para futuras transacciones (COINEST.CO, 2017). Cabe seĂąalar que la cadena de bloques, en principio, no se preocupa del contrato subyacente por el cual Ana envĂ­a 25 BTC a Benito, ni siquiera de si la cantidad debida era mayor o inferior. Blockchain permite y registra la transacciĂłn. De igual manera que una entidad bancaria transmite lo que su cliente ordena a otra cuenta, independientemente del contrato subyacente; la cadena de bloques recoge la transacciĂłn y da prueba de ella. Por tanto, serĂĄ la justicia, en su caso, la que posteriormente decida si se ha cumplido el contrato; si bien, el juez podrĂĄ acudir a Blockchain para confirmar que efectivamente 25 BTC ya han sido transferidos. Todo ello serĂĄ discutido en los siguientes capĂ­tulos. En conclusiĂłn, se obtiene un sistema de transmisiĂłn que es secuencial (garantiza un orden cronolĂłgico), consistente, resistente, distribuido, que evita el doble gasto y que no requiere de un intermediario, sino de una red de miembros. 7 III. SMART CONTRACTS Un Smart contract es un cĂłdigo de programaciĂłn informĂĄtico que permite, por operaciĂłn del propio ordenador, monitorizar y/o ejecutar un contrato, sin necesidad de intervenciĂłn humana (SZABO, 1994; STOKES y FREIRE RAMOS, 2017). En lĂ­nea con lo seĂąalado en el apartado anterior, un Smart contract permite transacciones mĂĄs complejas que la que concurrĂ­a entre los protagonistas del ejemplo mostrado. El cĂłdigo genera una cuenta ajena y controlada que ejecuta transacciones ante ciertas condiciones codificadas. En general, los Smart contracts cuentan con tres atributos a destacar respecto de los negocios habituales; son acuerdos autoejecutables, digitales y descentralizados. Ser autoejecutable implica que, si las condiciones predefinidas en el programa se cumplen, la consecuencia contractual se ejecuta de manera autĂłnoma. Esto es, las partes registran las condiciones y los hechos que deben estar configurados siguiendo el modelo: ÂŤsi X, entonces YÂť. De esta forma, una vez concurre el hecho desencadenante, el cumplimiento de la consecuencia escapa de la voluntad de las partes, es un hecho que tambiĂŠn ocurrirĂĄ. Por su parte, su conformaciĂłn digital permite que se halle en Blockchain y que pueda ser interpretado tanto por humanos como por mĂĄquinas. Esta interpretaciĂłn consiste en que las mĂĄquinas pueden leerlo y ejecutarlo, sin que sea posible (todavĂ­a) atribuirles una comprensiĂłn real de lo establecido. Finalmente, la descentralizaciĂłn evita al intermediario y proporciona veracidad y seguridad, gracias a la tecnologĂ­a de la cadena de bloques. Por Ăşltimo, se debe aĂąadir que existe la posibilidad de introducir datos en los Smart contracts a partir de fuentes de informaciĂłn externas a Blockchain. Los denominados oracles (u orĂĄculos) son tales fuentes externas que permiten a los Smart contracts ampliar su ĂĄmbito de aplicaciĂłn. PiĂŠnsese en una orden de compra de acciones cuando la cotizaciĂłn alcance un determinado nivel. El Smart contract se configura para que confirme la informaciĂłn con una determinada fuente (por ejemplo, la web oficial bolsa de Madrid) que las partes consideran fiable. AdemĂĄs, ya se estĂĄn planteando orĂĄculos en que la informaciĂłn responde a mĂĄs de una fuente, introduciendo el consenso y mayor fiabilidad a la informaciĂłn. A partir de todo lo expuesto, deviene necesario identificar la realidad jurĂ­dica que representan los Smart contracts, asĂ­ como alguno de los retos que plantean. 8 1. CONCEPTO Y TIPOLOGÍA Una vez mostradas las ideas fundamentales de un Smart contract, se debe tener en cuenta que este concepto nace del ĂĄmbito tecnolĂłgico y no del jurĂ­dico. AsĂ­ las cosas, el tĂŠrmino recoge una amplia gama de posibilidades, desde meros cĂłdigos de ordenador que ejecutan Ăłrdenes hasta cĂłdigos complejos que representan y acogen un ÂŤcontratoÂť. Con el objetivo de centrar el objeto de estudio resultan prĂĄcticas e interesantes las clasificaciones que realizan dos autores. STARK (2016) diferencia entre lo que ĂŠl denomina ÂŤSmart Contract CodeÂť y ÂŤSmart Legal ContractÂť. El primero hace referencia a un programa complejo, almacenado y ejecutado en Blockchain que gobierna algo valioso. Mientras, el segundo, utiliza el cĂłdigo para articular, verificar y hacer cumplir un acuerdo, combinando lenguaje mĂĄquina y natural. El valor de distinguir ambos conceptos reside en apartar del estudio aquellos cĂłdigos que no recogen un contenido jurĂ­dico relevante. Tomando los Smart Legal Contracts como punto de partida, se utilizarĂĄ la clasificaciĂłn material de FELIU REY (2018) para mostrar las realidades que abarca este concepto. En primer lugar, el cĂłdigo puede recoger por entero un previo contrato para su cumplimiento. En segundo lugar, el cĂłdigo puede ser el acuerdo, sin que coexista un soporte alternativo. En tercer lugar, el cĂłdigo puede recoger sĂłlo ciertas obligaciones de un negocio concluido previamente. En cuarto lugar, siendo una variante de los anteriores, el cĂłdigo puede responder a un contrato acordado en otro soporte en el que se ha decidido que ciertas obligaciones se establezcan directamente como Smart Legal Contract, por lo que ellas no cuentan con rĂŠplica en el negocio en lenguaje natural. Estas realidades merecen una calificaciĂłn jurĂ­dica distinta. Es por ello que, en los subsiguientes apartados, se valorarĂĄ cada uno de estos modelos de Smart Legal Contract y se plantearĂĄn las cuestiones legales mĂĄs relevantes. 2. CALIFICACIÓN JURÍDICA En primer lugar, conviene realizar una introducciĂłn a la distinciĂłn entre forma y documentaciĂłn del contrato. Si bien esta diferenciaciĂłn no es nueva en materia de contrataciĂłn, resulta imprescindible recordarla en lo relativo a los Smart contracts. DÍEZ-PICAZO (2007) define la forma como ÂŤel vehĂ­culo o medio de expresiĂłn del cual las partes se sirven para emitir sus declaraciones de voluntad y para hacerlas llegar o 9 darlas a conocer a sus destinatariosÂť, mientras que documentaciĂłn es ÂŤla operaciĂłn necesaria para plasmar y recoger documentalmente las declaraciones de voluntad que forman la esencia del contratoÂť. AsĂ­ las cosas, el autor recalca la importancia de no confundir ambos conceptos. Es necesario distinguir que el documento puede no ser la forma, es decir, el medio de manifestar la voluntad, sino un documento posterior al contrato ya perfeccionado con el objetivo principal de conservarlo. El anĂĄlisis del autor sobre las situaciones entre acuerdo no documentado y documentaciĂłn constitutiva, acuerdo no documentado y documentaciĂłn como presupuesto de eficacia, asĂ­ como la de documentaciĂłn privada y necesidad de Escritura PĂşblica se pueden utilizar de soporte para analizar los diferentes supuestos de Smart contracts. 2.1. CASO 1: EL CÓDIGO NO COEXISTE CON OTRO DOCUMENTO EN LENGUAJE NATURAL. En este primer caso, el Smart contract es la forma. El cĂłdigo es el vehĂ­culo mediante el cual las partes emiten sus declaraciones y manifiestan sus voluntades. Asimismo, el Smart contract tambiĂŠn es el documento escogido por las partes. Esto es, se concentran en el Smart contract la representaciĂłn de un contrato y la funciĂłn de recogerlo, fijarlo y conservarlo. Siendo el cĂłdigo el Ăşnico soporte en el que se plasma el contrato el reto principal de este caso es la comprensibilidad del lenguaje. PiĂŠnsese en un supuesto de DAO, donde las condiciones son pĂşblicas para cualquier miembro de la red, quien se puede adherir a las mismas, pero sĂłlo son legibles en formato cĂłdigo. AsĂ­, es necesario cuestionar si las partes emiten conscientemente el consentimiento cuando no hay “traducciĂłn” al lenguaje natural. SURDEN (2012), junto con otros autores, plantea algunas soluciones. Por un lado, la coexistencia de un contrato en lenguaje natural que sirva de sustrato y que incorpore el cĂłdigo, asĂ­ como la interpretaciĂłn de ĂŠste. Por otro, propone que las partes se suscriban a un estĂĄndar de datos preexistente que garantice una cierta interpretaciĂłn de los datos y las fĂłrmulas utilizadas. AdemĂĄs, se propone el uso de interfaces que traduzcan lo introducido en lenguaje natural a lenguaje mĂĄquina de una determinada manera. AsĂ­, las partes estĂĄn acordando implĂ­citamente que los criterios de la interfaz sean entendidos como los tĂŠrminos de interpretaciĂłn y traducciĂłn del acuerdo. Por Ăşltimo, los contratantes tambiĂŠn 10 pueden suscribir un acuerdo marco donde se determinan estas condiciones para aplicarlas a un conjunto de Smart contracts. En todo caso, las cuestiones de comprensibilidad son parecidas a las que concurren en sede de contrataciĂłn mercantil internacional, donde convergen diferentes ordenamientos y lenguajes. La funciĂłn que venĂ­a desarrollando el traductor e intĂŠrprete colaborando con el abogado o jurista para diseĂąar el contrato, corresponderĂĄ ahora al programador. En conclusiĂłn, el cĂłdigo puede ser una forma vĂĄlida, un medio de expresiĂłn reconocible por el derecho. En este sentido, conforme aumente la prĂĄctica contractual y dado que estos Smart contract tienen vocaciĂłn internacional, es fĂĄcil que los problemas de comprensibilidad vayan resolviĂŠndose. La elaboraciĂłn de cĂłdigos que uniformicen las fĂłrmulas, las interfaces o los acuerdos marco que se pueden tomar de referencia harĂĄn posible que ciertas transcripciones/traducciones sean aceptadas y sirvan de base para las subsiguientes. Con todo, si se tratara de un contrato que incorpora condiciones generales, hay que recordar que el art. 7.b) de la Ley 7/1998, de 13 de abril, sobre condiciones generales de la contrataciĂłn determina la no incorporaciĂłn de las condiciones generales que sean ÂŤilegibles, ambiguas, oscuras e incomprensiblesÂť. Por consecuencia, resultarĂĄ difĂ­cil aceptar que en estos casos sea posible la adhesiĂłn sin un previo acuerdo en lenguaje natural que muestre claramente las obligaciones. Asimismo, el Real Decreto Legislativo 1/2007, de 16 de noviembre, por el que se aprueba el texto refundido de la Ley General para la Defensa de los Consumidores y Usuarios, en concreto respecto a los contratos con consumidores y usuarios que utilizan clĂĄusulas no negociadas individualmente, exige claridad en su redacciĂłn, accesibilidad y legibilidad (artĂ­culo 80). Estos principios, a mi juicio, no se cumplirĂ­an cuando el acuerdo sĂłlo sea accesible en formato cĂłdigo. 2.2. CASO 2: SMART CONTRACT COMO EXIGENCIA DE FORMA CONSTITUTIVA. En principio, la regulaciĂłn ampara la libertad de forma a la luz de los artĂ­culos 1.278 de CĂłdigo Civil (en adelante, Cc) y 51 del CĂłdigo de Comercio (en adelante, CCom). AdemĂĄs, los Principios UNIDROIT sobre los contratos comerciales internacionales (2016) consagran la libertad de forma en su artĂ­culo 1.2. A ello se aĂąade el reconocimiento de la forma electrĂłnica en las mismas condiciones que el soporte papel, art. 24 LSSI. Por 11 lo que, a priori, el hecho de que el contrato se documente en cĂłdigo no es requisito constitutivo. En este sentido, FELIU REY (2018) seĂąala la posibilidad de que las partes pueden otorgar a la documentaciĂłn el mencionado carĂĄcter constitutivo, al amparo del art. 1.255 Cc. Esta posibilidad tambiĂŠn ha sido confirmada a nivel internacional en el artĂ­culo 2.1.13 de los mencionados Principios UNIDROIT (2016). De este modo, hasta que las obligaciones no queden plasmadas en un Smart contract, no hay contrato perfecto. El desarrollo de las negociaciones previas responde en el iter contractual a tratos preliminares, a la negociaciĂłn. AsĂ­, las partes podrĂĄn acudir a los Ăłrganos jurisdiccionales competentes en tĂŠrminos de responsabilidad precontractual (DÍEZ-PICAZO, 2007; MARTÍNEZ DE AGUIRRE, 2000). En conclusiĂłn, se estĂĄ ante un contrato formal en el que las partes acuerdan que el cĂłdigo sea la forma elegida. Al otorgarle carĂĄcter constitutivo a la documentaciĂłn en Smart contract, el documento privado o acuerdo verbal precedente no se instituye en fuente de obligaciones convencional y queda en el ĂĄmbito de los tratos preliminares. 2.3. CASO 3: LA DOCUMENTACIÓN EN SMART CONTRACT COMO PRESUPUESTO DE ÂŤEFICACIAÂť. Este supuesto no plantea duda sobre la calificaciĂłn jurĂ­dica de contrato celebrado con anterioridad al cĂłdigo. En la medida en que existe este acuerdo en lenguaje natural, si en ĂŠl concurren los requisitos de consentimiento, objeto y causa que exige el CĂłdigo Civil en su artĂ­culo 1.261, deberĂĄ calificarse de contrato vĂĄlido. En cuanto al consentimiento, conforme al art. 1.262 Cc, se manifiesta por el concurso de la oferta y la aceptaciĂłn; y desde que las partes consienten a obligarse el contrato existe, al amparo del artĂ­culo 1.254 Cc. En este sentido, puede ser aplicable lo relativo a la contrataciĂłn entre ausentes y/o a distancia, pero no necesariamente. AsĂ­, con OBREGÓN SIEGMUND (2012), la contrataciĂłn a distancia implica una separaciĂłn geogrĂĄfica entre las partes contratantes mientras que la contrataciĂłn entre ausentes exige un lapso temporal entre oferta y aceptaciĂłn. Esto es relevante por cuanto un contrato como el analizado puede existir tanto entre presentes, ya sea fĂ­sicamente acordando el negocio y la forma de Smart contract, ya sea virtualmente por medios tĂŠcnicos como la videoconferencia; como entre ausentes, pensando en una oferta reflejada 12 en la Web que posteriormente acepta un sujeto. Igualmente, puede tratarse de un contrato a distancia o no, si las partes se reĂşnen a negociar este acuerdo y la aplicaciĂłn de un Smart contract. Todo ello permite afirmar que, aunque el contrato quede recogido en un Smart contract, no necesariamente se tratarĂĄ de un contrato cele";"""date"",""2019-01-16T15:36:39Z"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""pdf:PDFVersion"",""1.7"" ""xmp:CreatorTool"",""MicrosoftÂŽ Word 2016"" ""pdf:hasXFA"",""false"" ""access_permission:modify_annotations"",""true"" ""access_permission:can_print_degraded"",""true"" ""dc:creator"",""Irene Ortega"" ""language"",""es"" ""dcterms:created"",""2019-01-16T15:36:39Z"" ""Last-Modified"",""2019-01-16T15:36:39Z"" ""dcterms:modified"",""2019-01-16T15:36:39Z"" ""dc:format"",""application/pdf; version=1.7"" ""xmpMM:DocumentID"",""uuid:EEF678E9-2ABE-4520-9EDF-B138F116E68F"" ""Last-Save-Date"",""2019-01-16T15:36:39Z"" ""pdf:docinfo:creator_tool"",""MicrosoftÂŽ Word 2016"" ""access_permission:fill_in_form"",""true"" ""pdf:docinfo:modified"",""2019-01-16T15:36:39Z"" ""meta:save-date"",""2019-01-16T15:36:39Z"" ""pdf:encrypted"",""false"" ""xmp:CreateDate"",""2019-01-16T16:36:39Z"" ""modified"",""2019-01-16T15:36:39Z"" ""Content-Length"",""1020762"" ""pdf:hasMarkedContent"",""true"" ""Content-Type"",""application/pdf"" ""xmp:ModifyDate"",""2019-01-16T16:36:39Z"" ""pdf:docinfo:creator"",""Irene Ortega"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"",""Irene Ortega"" ""dc:language"",""es-ES"" ""meta:author"",""Irene Ortega"" ""pdf:producer"",""MicrosoftÂŽ Word 2016"" ""meta:creation-date"",""2019-01-16T15:36:39Z"" ""created"",""2019-01-16T15:36:39Z"" ""access_permission:extract_for_accessibility"",""true"" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""48"" ""Creation-Date"",""2019-01-16T15:36:39Z"" ""resourceName"",""290001035.pdf"" ""pdf:hasXMP"",""true"" ""pdf:charsPerPage"",""496"",""2092"",""628"",""2737"",""2357"",""1828"",""2391"",""2440"",""2000"",""1754"",""2455"",""2410"",""2422"",""2456"",""2403"",""2533"",""2635"",""2561"",""2537"",""2663"",""2605"",""2381"",""2624"",""2430"",""2422"",""2523"",""2640"",""2428"",""2461"",""2423"",""1931"",""2609"",""2718"",""2462"",""2679"",""1501"",""2259"",""2366"",""1136"",""2283"",""2545"",""1777"",""1737"",""1760"",""2033"",""1998"",""1985"",""1254"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""Author"",""Irene Ortega"" ""producer"",""MicrosoftÂŽ Word 2016"" ""access_permission:can_modify"",""true"" ""pdf:docinfo:producer"",""MicrosoftÂŽ Word 2016"" ""pdf:docinfo:created"",""2019-01-16T15:36:39Z"" ";https://scholar.google.com/scholar?start=570&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094560-739;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Bidirectional asynchronous ratcheted key agreement with linear complexity;FB Durak, S Vaudenay ; International Workshop on Security, 2019 Springer;;"… At CRYPTO 2018, Poettering and Rösler (PR) [15] studied bidirectional asynchronous ratcheted key … and presented a protocol which is secure in the random oracle model … and a signature scheme and achieve strong security, without key-update primitives or random oracles …";Cité 20 fois;Les 3 versions;[PDF] epfl.ch;https://infoscience.epfl.ch/record/270821/files/sec_comm.pdf;" Bidirectional Asynchronous Ratcheted Key Agreement with Linear Complexity⋆ F. Betül Durak1,2 and Serge Vaudenay1 1 Ecole Polytechnique Fédérale de Lausanne (EPFL) Lausanne, Switzerland 2 Robert Bosch LLC — Research and Technology Center Pittsburgh PA, USA Abstract. Following up mass surveillance and privacy issues, modern secure communica- tion protocols now seek more security such as forward secrecy and post-compromise security. They cannot rely on an assumption such as synchronization, predictable sender/receiver roles, or online availability. Ratcheting was introduced to address forward secrecy and post- compromise security in real-world messaging protocols. At CSF 2016 and CRYPTO 2017, ratcheting was studied either without zero round-trip time (0-RTT) or without bidirectional communication. At CRYPTO 2018, ratcheting with bidirectional communication was done using heavy key-update primitives. At EUROCRYPT 2019, another protocol was proposed. All those protocols use random oracles. Furthermore, exchanging n messages has complexity O(n2) in general. In this work, we define the bidirectional asynchronous ratcheted key agreement (BARK) with formal security notions. We provide a simple security model and design a secure BARK scheme using no key-update primitives, no random oracle, and with O(n) complexity. It is based on a public-key cryptosystem, a signature scheme, one-time symmetric encryption, and a collision-resistant hash function family. We further show that BARK (even unidirec- tional) implies public-key cryptography, meaning that it cannot solely rely on symmetric cryptography. 1 Introduction In standard communication systems, protocols are designed to provide messaging services with end-to-end encryption. Essentially, secure communication reduces to continuously exchanging keys, because each message requires a new key. In bidirectional two-party secure communication, partic- ipants alternate their role as senders and receivers. The modern instant messaging protocols are substantially asynchronous. In other words, for a two-party communication, the messages should be transmitted (or the key exchange should be done) even though the counterpart is not online. Moreover, to be able to send the payload data without requiring online exchanges is a major design goal called zero round trip time (0-RTT). Finally, the moment when a participant wants to send a message is undefined, meaning that participants use random roles (sender or receiver) without any synchronization. They could send messages at the same time. Even though many systems were designed for the privacy of their users, they rapidly faced security vulnerabilities caused by the compromises of the participants’ states. In this work, com- promising a participant means to obtain some information about its internal state. We will call it exposure. The desired security notion is that compromised information should not uncover more than possible by trivial attacks. For instance, the compromised state of participants should not allow decryption of messages exchanged in the past. This is called forward secrecy. Typically, for- ward secrecy is obtained by updating states with a one-way function x → H(x) → H(H(x)) → ... and deleting old entries. It is used, for instance, in RFID protocols [14, 15]. A popular technique in mechanics, that allows forward movement but prevents moving backward is the use of a de- vice called ratchet. In the context of secure communication, a ratchet-like action is achieved by ⋆ A short version of this paper appeared at IWSEC 2019 [9]. using randomness in every state update so that a compromised state is not sufficient for the de- cryption of any future communication either. This is called future secrecy or backward secrecy or post-compromise security or even self-healing. One thesis of the present work is that healing after an active attack involving a forgery is not a nice property. We show that it implies insecurity. After one participant is compromised and impersonated, if communication self-heals, it means that some adversary can make a trivial attack which is not detected. We also demonstrate other events leading to breach of security. Hence, we recommend that communication is totally cut after active attacks. Previous work. The security of key exchange was studied by many authors. The prominent models are the CK and eCK models [4, 13]. Techniques for ratcheting first appeared in real life protocols. It appeared in the Off-the- Record (OTR) communication system by Borisov et al. [3]. The Signal protocol designed by Open Whisper Systems [17] later gained a lot of interest from message communication companies. Today, the WhatsApp messaging application has reached billions of users worldwide [20]. It uses the Signal protocol. A broad survey about various techniques and terminologies was made at S&P 2015 by Unger et al. [18]. At CSF 2016, Cohn-Gordon et al. [6] studied bidirectional ratcheted communication and proposed a protocol. However, their protocol does not offer 0-RTT and requires synchronized roles. At EuroS&P 2017, Cohn-Gordon et al. [5] formally studied Signal. 0-RTT communication with forward secrecy was achieved using puncturable encryption by Günther et al. at EUROCRYPT 2017 [10]. Later on, at EUROCRYPT 2018, Derler et al. made it reasonably practical by using Bloom filters [7]. At CRYPTO 2017, Bellare et al. [2] gave a secure ratcheting key exchange protocol. Their protocol is unidirectional and does not allow receiver exposure. At CRYPTO 2018, Poettering and Rösler (PR) [16] studied bidirectional asynchronous ratch- eted key agreement and presented a protocol which is secure in the random oracle model. Their solution further relies on hierarchical identity-based encryption (HIBE) but offers stronger security than required for practical usage, leaving ample room for improving the protocol. At the same conference, Jaeger and Stepanovs (JS) [11] had similar results but focused on secure communica- tion rather than key agreement. They proposed another protocol relying on HIBE. In both results, HIBE is used to construct encryption/signature schemes with key-update security. This is a rather new notion allowing forward secrecy but is expensive to achieve. In both cases, it was claimed that the depth of HIBE is really small. However, when participants are disconnected and continue sending several messages, the depth increases quite rapidly. Consequently, HIBE needs unbounded depth. Two papers appeared after the first version of the current paper was released. At EUROCRYPT 2019, Jost, Maurer, and Mularczyk (JMM) [12] designed another ratcheting protocol which has “near-optimal” security and does not use HIBE. Nevertheless, it still has a huge complexity: When messages alternate well (i.e., no participant sends two messages without receiving one in between), processing n messages requires O(n) operations in total. However, when messages accumulate before alternating (for instance, because the participants are disconnected by the network), the complexity becomes O(n2). This is also the case for PR [16] and JS [11].3 One advantage of the JMM protocol [12] comes with the resilience with random coin leakage as discussed below. At EUROCRYPT 2019, Alwen, Coretti, and Dodis (ACD) [1] designed two other ratcheting protocols aiming at immediate decryption, i.e. the ability to decrypt even though some previous messages have not been received yet. This is closer to real-life protocols but this comes with a potential threat: keys to decrypt un-delivered messages are stored until the messages are delivered. Hence, the adversary could choose to hold messages and decrypt them with future state exposure. This prevents forward secrecy. Furthermore, unless the direction of communication changes (or 3 For JS, this is only visible in the corrected version of the paper on eprint [11]. Our complexity analysis is based on how those protocols have been implemented (https://github.com/qantik/ratcheted). It was presented at the WSM 2019 workshop. 2 more precisely, if the epoch increases), their protocols do not strictly adhere to the definition of ratcheting as no random coins are used to update the state. This weakens post-compromise se- curity as well. In Table 1, we call this weaker security “id-optimal” (not to say “insecure” in the model we are interested in) because it is the best we can obtain with immediate decryption. The lighter of the two protocols is not competing in the same category because it mostly uses sym- metric cryptography. It is more efficient but with lower security. Namely, corrupting the state of a participant A implies impersonating B to A, and also decrypting the messages that A sends. Other protocols do not have this weakness. The second ACD [1] (in the full version) uses asymmetric cryptography. Some authors address the corruption of random coins in different ways. Bellare et al. [2] and JMM [12] allow leaking the random coins just after use. JS [11] allow leaking it just before usage only. ACD [1] allow adversarially chosen random coins. In most of the protocols, revealing (or choosing) the random coins imply revealing some part of the new state which allows decrypting incoming messages. It is comparable to state exposure. JMM [12] offers better security as revealing the random coins reveals the new state (and allows to decrypt) only when the previous state was already known. Table 1: Comparison of Protocols: complexity for exchanging n messages in alternating or accumu- lating mode, with timing (in seconds) for n = 900 of comparable implementations and asymptotic; and types of coin-leakage security (⇒ state exposure means coins leakage implies a state exposure). Security Complexity Coins leakage resilience Model alternating accumulating Poettering-Rösler [16] optimal 86.3 , O(n) 5897 , O(n2) no ROM Jaeger-Stepanovs [11] optimal 58.1 , O(n) 9087 , O(n2) pre-send leakage, ⇒ state exposure ROM Jost-Maurer-Mularczyk [12] near-optimal 2.08 , O(n) 11.4 , O(n2) post-send leakage ROM BARK [this paper] sub-optimal 1.46 , O(n) 1.09 , O(n) no plain Alwen-Coretti-Dodis [1] id-optimal 1.18 , O(n) 0.92 , O(n) chosen coins, ⇒ state exposure plain Our contributions. We give a definition for a bidirectional asynchronous key agreement (BARK) along with security properties. We start setting the stage with some definitions (such as matching status) then identify all cases leading to trivial attacks. We split them into direct and indirect leakages. Then, we define security with a KIND game (privacy). We also consider the resistance to forgery (impersonation) and the resistance to attacks which would heal after active attacks (RECOVER security). We use these two notions as building blocks to prove KIND-security. We finally construct a secure protocol. Our design choices are detailed below and compared to other papers. More comprehensive and technical comparisons between BARK and Bellare et al. [2], JS [11], and PR [16] protocols are given in Appendix C. 1. Simplicity. Contrary to previous work, we define KIND security in a very comprehensive way by bringing all notions under the umbrella of a cleanness predicate which identifies and captures all trivial ways of attacking. 2. Strong security. In the same line as previous works, the adversary in our model can see the entire communication between participants and control the delivery. Of course, he can replace messages with anything. Scheduling communications is under the control of the adversary. This means that the time when a participant sends or receives messages is decided by the adversary. Moreover, the adversary is capable of corrupting participants by making exposures of their internal data. We separate two types of exposures: the exposure of the state (that is kept in internal machinery of a participant) and the exposure of the key (which is produced by the key agreement and given to an external protocol). This is because states are (normally) kept secure in our protocol 3 while the generated key is transferred to other applications which may leak for different reasons. We do not consider exposure of the random coins. 3. Slightly sub-optimal security. Using the result from exposure allows the adversary to be active, e.g. by impersonating the exposed participant. However, the adversary is not allowed to use exposures to make a trivial attack. Identifying such trivial attacks is not easy. As a design goal, we adopt not to forbid more than what the intuitive notion of ratcheting captures. We do forbid a bit more than PR [16] and JS [11] which are considered of having optimal security and than JMM [12] (which has near-optimal security)4, though, allowing lighter building blocks. Namely, we need no key-update primitives and have linear-time complexity in terms of the number of exchanged messages, even when the network is occasionally down. This translates to an important speedup factor, as shown on Table 1. We argue that this is a reasonable choice enabling ratchet security as we define it: unless trivial leakage, a message is private as long as it is acknowledged for reception in a subsequent message from the receiver. 4. Sequence integrity. We believe that duplex communication is reliably enforced by a lower level protocol. This is assumed to solve non-malicious packet losses e.g. by resend requests and also to reconstruct the correct sequence order. What we only have to care of is when an adversary prevents the delivery of a message consistently. We make the choice to make the transmission of the next messages impossible under such an attack. Contrarily, ACD [1] advocates for immediate decryption, even though one message is missing. This lowers the security and we chose not to have it. In the BARK protocol, the correctness implies that both participants generate the same keys. We define the stages matching status, direct leakage, indirect leakage. We aim to separate trivial attacks and trivial forgeries from non-trivial cases with our definitions. Direct and indirect leak- ages define when the adversary can trivially deduce the key generated due to the exposure of a participant who can either be the same participant (direct) or their counterpart (indirect). We construct a secure BARK protocol. We build our constructions on top of a public-key cryptosystem and a signature scheme and achieve strong security, without key-update primitives or random oracles. We further show that a weakly secure unidirectional BARK implies public-key cryptography. Notations. We have two characters: Alice (A) and Bob (B). When P designates a participant, P refers to P’s counterpart. We use the roles send and rec for sender and receiver respectively. We define send = rec and rec = send. When participants A and B have exclusive roles (like in unidirectional cases), we call them sender S and receiver R. Structure of the paper. In Section 2, we define our BARK protocol along with correctness definition and KIND security. Section 3 proves that a simple unidirectional scheme implies public-key encryp- tion. In Section 4 we define the security notions unforgeability and unrecoverability. In Section 5, we give our BARK construction. Appendix A recalls definitions for underlying primitives. Using plaintext-aware security, Appendix B shows that “optimally secure” protocols may still eliminate attacks which are of no harm, hence eliminate more than necessary. In Appendix C, we make some comments and comparison with the results of Bellare et al. [2], Poettering-Rösler [16], and Jaeger-Stepanovs [11]. 2 Bidirectional Asynchronous Ratcheted Communication 2.1 BARK Definition and Correctness Definition 1 (BARK). A bidirectional asynchronous ratcheted key agreement (BARK) consists of the following polynomially bounded algorithms: – Setup(1Îť) $ −→ pp: This defines the common public parameters pp. 4 Those terms are more formally explained on p. 11. 4 – Gen(1Îť, pp) $ −→ (sk, pk): This generates the secret key sk and the public key pk of a participant. – Init(1Îť, pp, skP, pkP,P) → stP: This sets up the initial state stP of P given his secret key and the public key of his counterpart. – Send(stP) $ −→ (st ′P, upd,k): The algorithm inputs a current state stP for P ∈ {A,B}. It outputs a tuple (st ′P, upd,k) with an updated state st ′P, a message upd, and a key k. – Receive(stP, upd) → (acc, st ′P,k): The algorithm inputs (stP, upd) where P ∈ {A,B}. It outputs a triple consisting of a flag acc ∈ {true, false} to indicate an accept or reject of upd information, an updated state st ′P, and a key k i.e. (acc, st ′P,k). For convenience, we define the following initialization procedure for all games. It returns the initial states as well as some publicly available information z. Initall(1Îť, pp): 1: Gen(1Îť, pp)→ (skA, pkA) 2: Gen(1Îť, pp)→ (skB, pkB) 3: stA ← Init(1Îť, pp, skA, pkB,A) 4: stB ← Init(1Îť, pp, skB, pkA,B) 5: z← (pp, pkA, pkB) 6: return (stA, stB, z) Initialization is splittable in the sense that private keys can be generated by their holders with no need to rely on an authority (except maybe for authentication of pkA and pkB). Other protocols from the literature assume a trusted initialization. We consider bidirectional asynchronous communications. We can see, in Fig. 1, Alice and Bob running some sequences of Send and Receive operations without any prior agreement. Their time scale is different. This means that Alice and Bob run algorithms in an asynchronous way. We consider a notion of time relative to a participant P. Formally, the time t for P is the number of elementary steps that P executed since the beginning of the game. We assume no common clock. However, events occur in a game and we may have to compare the time of two different participants by reference to the scheduling of the game. E.g., we could say that time tA for A happens before time tB for B. Normally, scheduling is under the control of the adversary except in the CORRECT game in which there is no adversary. There, we define the scheduling by a sequence of actions. Reading the sequence tells who executes a new step of the protocol. The protocol also uses random roles. Alice and Bob can both send and receive messages. They take their role (sender or receiver) in a sequence, but the sequences of roles of Alice and Bob are not necessarily synchronized. Sending/receiving is refined by the RATCH(P, role, [upd]) call in Fig. 2. Correctness. We say that a ratcheted communication protocol functions correctly if the receiver accepts the update information upd and generates the same key as its counterpart. Correctness implies that the received keys for participant P have been generated in the same order as sent keys of participant P. We formally define the CORRECT game in Fig. 2. We define variables. receivedPkey (respectively sentPkey) keeps a list of secret keys that are generated by P when running Receive (respectively, Send). Similarly, receivedPmsg (respectively sentPmsg) keeps a list of upd information that are received (respectively sent) by P and accepted by Receive. The received sequences only keep values for which acc = true. Each variable v such as receivedPmsg, kP, or stP is relative to a participant P. We denote by v(t) the value of v at time t for P. For instance, receivedAmsg(t) is the sequence of upd which were received by A at time t for A. We initialize the two participants in the CORRECT game in Fig. 2. The scheduling is defined by a sequence sched of tuples of form either (P, send) (saying that P must send) or (P, rec) (saying that P must receive). In this game, communication between the participants uses a waiting queue for messages in each direction. Each participant has a queue of incoming messages and is pulling them in the order they have been pushed in. Sent messages from P are buffered in the queue of P. 5 (TInit)Alice BobreceivedAlicekeysentAlicekey receivedBobkey sentBobkey Send (T0) Send (T1) Receive (T2) Send (T3) Receive (T4) ... Send (T5) Send (T6) Send (T7) Receive (T8) Send (T9) Receive (T10) Receive (T11) k0 k1 k2 k4 k3 k2 k3 k5 k0 k6 k1 k4 Fig. 1: The message exchange between Alice and Bob. Definition 2 (Correctness of BARK). We say that BARK is correct if for all sequence sched, the CORRECT game of Fig. 2 never returns 1. Namely, for each P, receivedPkey is always prefix of sentPkey 5 and each RATCH(., rec, .) call accepts. Security. We model our security notion with an active adversary who can have access to some of the states of Alice or Bob along with access to their secret keys enabling them to act both as a sender and as a receiver. For simplicity, we have only Alice and Bob as participants. (Models with more participants would be asymptotically equivalent.) We focus on three main security notions which are key indistinguishability (denoted as KIND) under the compromise of states or keys, unforgeability of upd information (FORGE) by the adversary which will be accepted, and recovery from impersonation (RECOVER) which will make the two participants restore secure communication without noticing a (trivial) impersonation resulting from a state exposure. A challenge in these notions is to eliminate the trivial attacks. FORGE and RECOVER security will be useful to prove KIND security. 2.2 KIND Security The adversary can access four oracles called RATCH, EXPst, EXPkey, and TEST. RATCH. This is essentially the message exchange procedure. It is defined in Fig. 2. The adversary can call it with three inputs, a participant P, where P ∈ {A,B}; a role of P; and an upd information if the role is rec. The adversary gets upd (for role = send) or acc (for role = rec) in return. EXPst. The adversary can expose the state of Alice or Bob. It inputs P ∈ {A,B} to the EXPst oracle and it receives the full state stP of P. EXPkey. The adversary can expose the generated key by calling this oracle. Upon inputting P, it gets the last key kP generated by P. If no key was generated, ⊥ is returned. 5 By saying that receivedPkey is prefix of sentPkey, we mean that when n is the number of keys generated by P running Receive, then these keys are the first n keys generated by P running Send. 6 Oracle RATCH(P, rec, upd) 1: (acc, st ′P, k)← Receive(stP, upd) 2: if acc then 3: updP ← upd 4: kP ← k 5: stP ← st ′P 6: append kP to receivedPkey 7: append updP to receivedPmsg 8: end if 9: return acc Oracle RATCH(P, send) 10: (st ′P, updP,kP)← Send(stP) 11: stP ← st ′P 12: append kP to sentPkey 13: append updP to sentPmsg 14: return updP Game CORRECT(1Îť, sched) 1: set all sent∗∗ and received∗∗ variables to ∅ 2: Setup(1Îť) $ −→ pp 3: Initall(1Îť, pp) $ −→ (stA, stB, z) 4: initialize two FIFO lists incomingA and incomingB to empty 5: i← 1 6: while schedi exists do 7: (P, role)← schedi 8: if role = rec then 9: if incomingP is empty then return 0 10: pull upd from incomingP 11: acc← RATCH(P, rec, upd) 12: if acc = false then return 1 13: else 14: upd← RATCH(P, send) 15: push upd to incomingP 16: end if 17: if receivedAkey not prefix of sentBkey then return 1 18: if receivedBkey not prefix of sentAkey then return 1 19: i← i+ 1 20: end while 21: return 0 Fig. 2: The CORRECT game. TEST. This oracle can be called only once to receive a challenge key which is generated either uniformly at random (if the challenge bit is b = 0) or given as the last generated key of a participant P specified as input (if the challenge bit is b = 1). The oracle cannot be queried if no key was generated yet. We specifically separate EXPkey from EXPst because the key k generated by BARK will be used by an external process which may leak the key. Thus, EXPkey can be more frequent than EXPst, however it harms security less. To define security, we avoid trivial attacks. Capturing the trivial cases in a broad sense requires a new set of definitions. All of them are intuitive. Intuitively, P is in a matching status at a given time if his state is not dependent on an “active” attack (i.e. could result from a CORRECT game). Definition 3 (Matching status). We say that P is in a matching status at time t for P if 1. at any moment of the game before time t for P, receivedPmsg is a prefix of sentPmsg — this defines the time t for P when P sent the last message in receivedPmsg(t); 2. at any moment of the game before time t for P, receivedPmsg is a prefix of sentPmsg. We further say that time t for P originates from time t for P. The first condition clearly states that each of the received (and accepted) upd message was sent before by the counterpart of P, in the same order, without any loss in between. The second condition similarly verifies that those messages from P only depend on information coming from P. In Fig. 1, Bob is in a matching status with Alice because he receives the upd information in the exact order as they have sent by Alice (i.e. Bob generates k2 after k1 and k4 after k2 same as it has sent by Alice). In general, as long as no adversary switches the order of messages or creates fake messages successfully for either party, the participants are always in a matching status. 7 The key exchange literature often defines a notion of partnering which is simpler. Asynchronous random roles makes it more complicated. Here is an easy property of the notion of matching status. Lemma 4. If P is in a matching status at time t, then P is also in a matching status at any time t0 6 t. Similarly, if P is in a matching status at time t and t for P originates from t for P, then P is in a matching status at time t. Proof. In Def. 3, it is clear that if the first property holds with time t for P, then it holds for any time t0 < t for P. Similarly, if the second property holds with time t for P, then it holds for any time t0 < t for P. Hence, if P is in a matching status at time t, then he is in a matching status at any time t0 < t. Furthermore, if P is in a matching status at time t and time t for P originates from time t for t, we can exchange the roles of P and P, obtain the first property with time t instead of t, and deduce the second property for some time which is even before. Hence, P is in a matching status at time t. ⊓⊔ Definition 5 (Forgery). Given a participant P in a game, we say that upd ∈ receivedPmsg is a forgery if at the moment of the game just before P received upd, P was in a matching status, but no longer after receiving upd. In a matching status, any upd received by P must correspond to an upd sent by P and the sequences must match. This implies the following notion. Definition 6 (Corresponding RATCH calls). Let P be a participant. We consider only the RATCH(P, rec, .) calls by P returning true. We say that the ith receiving call corresponds to the jth sending RATCH(P, send) call by P if i = j and P is in matching status at the time of this ith accepting RATCH(P, rec, .) call. Lemma 7. In a correct BARK protocol, two corresponding RATCH(P, rec, upd) and RATCH(P, send) calls generate the same key kP = kP. Proof. We let t be the time of the RATCH(P, rec, upd) call and t be the time of the RATCH(P, send). If RATCH(P, rec, upd) and RATCH(P, send) correspond to each other, then P is in matching status and t originates from t. We follow the sequence of RATCH calls made by the game until time t for P and time t for P (i.e., we ignore what happens to P after time t and to P after time t). Due to the properties of the matching status, we can model them as a sequence sched as in the CORRECT game, where the upd messages are buffered. Using the same random coins, this game produces the same keys. Due to correctness, we have receivedPkey = sentPkey. The ith element of receivedPkey is kP(t). The jth element of sentPkey is kP(t). Since i = j, we have kP(t) = kP(t). ⊓⊔ Definition 8 (Ratcheting period of P). A maximal time interval during which there is no RATCH(P, send) call is called a ratcheting period of P. Consequently, a RATCH(P, send) call ends a ratcheting period for P and starts a new one. In Fig. 1, the time between T1 and T3 or the interval T5 − T6 are called ratcheting period of Alice and Bob respectively. We now define when the adversary can trivially obtain a key generated by P due to an exposure. We distinguish the case when the exposure was done on P (direct leakage) and on P (indirect leakage). Definition 9 (Direct leakage). Let t be a time and P be a participant. We say that kP(t) has a direct leakage if one of the following conditions is satisfied: – There is an EXPkey(P) at a time te such that the last RATCH call which is executed by P before time t and the last RATCH call which is executed by P before time te are the same. 8 – P is in a matching status and there exists t0 6 te 6 tRATCH 6 t and t such that time t originates from time t; time t originates from time t0; there is one EXPst(P) at time te; there is one RATCH(P, rec, .) at time tRATCH; and there is no RATCH(P, ., .) between time tRATCH and time t. In the first case, it is clear that EXPkey(P) gives kP(te) = kP(t). In the second case (in Fig. 3)6, the state which leaks from EXPst(P) at time te allows to simulate all deterministic Receive (by skipping all Send) and to compute the key kP(tRATCH) = kP(t). The reason why we can allow the adversary to skip all Send is that they make messages which are supposed to be delivered to P after time t, so they have no impact on kP(t). Consider Fig. 1. Suppose t is in between time T3 and T4. According to our definition P = A and the last RATCH call is at time T3. It is a Send, thus the second case cannot apply. The next RATCH call is at time T4. In this case, kA(t) has a direct leakage if there is a key exposure of Alice between T3 and T4. Suppose now that T8 < t < T9. We have P = B, the last RATCH call is a Receive, it is at time tRATCH = T8, and t originates from time t = T0 which itself originates from the origin time t0 = TInit for B. We say that t has a direct leakage if there is a key exposure between T8 − T9 or a state exposure of Bob before time T8. Indeed, with this last state exposure, the adversary can ignore all Send and simulate all Receive to derive k0. P P t0 (EXPst) te tRATCH t tReceive no RATCH P P t ′ tRATCH t t te (EXPst) Send no RATCH Fig. 3: Direct (left) and indirect (right) leakage Definition 10 (Indirect leakage). We consider a time t and a participant P. Let tRATCH be the time of the last successful RATCH call and role be its input role. (We have kP(tRATCH) = kP(t).) We say that kP(t) has an indirect leakage if P is in matching status at time t and one of the following conditions is satisfied – There exists a RATCH(P, role, .) corresponding to that RATCH(P, role, .) and making a kP which has a direct leakage for P. – There exists t ′ 6 tRATCH 6 t and t 6 te such that P is in a matching status at time te, t originates from t, te originates from t ′, there is one EXPst(P) at time te, and role = send. In the first case, kP(t) = kP(tRATCH) is also computed by P and leaks from there. The second case (in Fig. 3) is more complicated: it corresponds to an adversary who can get the internal state of P by EXPst(P) then simulate all Receive with messages from P until the one sent at time tRATCH, ignoring all Send by P, to recover kP(t). 6 Origin of dotted arrows indicate when a time originates from. 9 For example, let t be a time between T1 and T2 in Fig. 1. We take P = A. The last RATCH call is at time tRATCH = T1, it is a Send and corresponds to a Receive at time T10, but t originates from time t = TInit. We say that t has an indirect leakage for A if there exists a direct leakage for P = B at a time between T10 and T11 (first condition) or there exists a EXPst(B) call at a time te (after time t = TInit), originating from a time t ′ before time T1, so te < T10 (second condition). In the latter case, the adversary can simulate Receive with the updates sent at time T0 and T1 to derive the key k1. Exposing the state of a participant gives certain advantages to the attacker and make trivial attacks possible. In our security game, we avoid those attack scenarios. In the following lemma, we show that direct and indirect leakage capture the times when the adversary can trivially win. The proof is straightforward. Lemma 11 (Trivial attacks). Assume that BARK is correct. For any t and P, if kP(t) has a direct or indirect leakage, the adversary can compute kP(t). Proof. We use correctness, Lemm";"""date"",""2019-09-09T09:36:34Z"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""1"",""6"",""0"",""9"",""1"",""6"",""2"",""12"",""21"",""5"",""40"",""7"",""4"",""0"",""3"",""11"",""3"",""4"",""1"",""2"",""1"",""0"",""5"",""9"",""0"" ""pdf:PDFVersion"",""1.7"" ""xmp:CreatorTool"",""dvips(k) 5.997 Copyright 2017 Radical Eye Software"" ""pdf:docinfo:title"",""sec_comm.dvi"" ""pdf:hasXFA"",""false"" ""access_permission:modify_annotations"",""true"" ""access_permission:can_print_degraded"",""true"" ""dcterms:created"",""2019-09-09T09:36:34Z"" ""language"",""en"" ""Last-Modified"",""2019-09-09T09:36:34Z"" ""dcterms:modified"",""2019-09-09T09:36:34Z"" ""dc:format"",""application/pdf; version=1.7"" ""title"",""sec_comm.dvi"" ""xmpMM:DocumentID"",""uuid:dc953fd9-0b01-11f5-0000-4da6ff9df796"" ""Last-Save-Date"",""2019-09-09T09:36:34Z"" ""pdf:docinfo:creator_tool"",""dvips(k) 5.997 Copyright 2017 Radical Eye Software"" ""access_permission:fill_in_form"",""true"" ""pdf:docinfo:modified"",""2019-09-09T09:36:34Z"" ""meta:save-date"",""2019-09-09T09:36:34Z"" ""pdf:encrypted"",""false"" ""dc:title"",""sec_comm.dvi"" ""xmp:CreateDate"",""2019-09-09T11:36:34Z"" ""modified"",""2019-09-09T09:36:34Z"" ""Content-Length"",""446202"" ""pdf:hasMarkedContent"",""false"" ""Content-Type"",""application/pdf"" ""xmp:ModifyDate"",""2019-09-09T11:36:34Z"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""pdf:producer"",""GPL Ghostscript 9.26"" ""meta:creation-date"",""2019-09-09T09:36:34Z"" ""created"",""2019-09-09T09:36:34Z"" ""xmp:About"",""uuid:dc953fd9-0b01-11f5-0000-4da6ff9df796"" ""access_permission:extract_for_accessibility"",""true"" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""32"" ""Creation-Date"",""2019-09-09T09:36:34Z"" ""resourceName"",""sec_comm.pdf"" ""pdf:hasXMP"",""true"" ""pdf:charsPerPage"",""3059"",""3793"",""3323"",""3285"",""3213"",""1906"",""2333"",""2812"",""2096"",""3337"",""2482"",""2559"",""2696"",""2583"",""3046"",""2887"",""2934"",""3016"",""2740"",""2378"",""2524"",""3376"",""1236"",""2118"",""2965"",""3280"",""2086"",""2066"",""2355"",""3342"",""3288"",""476"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""producer"",""GPL Ghostscript 9.26"" ""access_permission:can_modify"",""true"" ""pdf:docinfo:producer"",""GPL Ghostscript 9.26"" ""pdf:docinfo:created"",""2019-09-09T09:36:34Z"" ";https://scholar.google.com/scholar?start=550&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094656-1144;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Environmental Risks in Supply Chain: Recommendations and Directions for Future Research;A Mukhtar, A Romli, M Abdullateef… ; IOP Conference Series …, 2019 iopscience.iop.org;;"… In addition it helps to ensure that products are sold in an environmental friendly manner. Nowadays, leading-edge firms such as Oracle, SAP, Walmart and IBM are already developing Blockchain based cloud management solutions for the supply chain …";Autres articles;;[PDF] iop.org;https://iopscience.iop.org/article/10.1088/1757-899X/551/1/012034/pdf;" [image: Captcha Page] We apologize for the inconvenience... ...but your activity and behavior on this site made us think that you are a bot. Note: A number of things could be going on here. If you are attempting to access this site using an anonymous Private/Proxy network, please disable that and try accessing site again. Due to previously detected malicious behavior which originated from the network you're using, please request unblock to site. Please solve this CAPTCHA to request unblock to the website You reached this page when trying to access https://iopscience.iop.org/article/10.1088/1757-899X/551/1/012034/pdf from 83.76.85.89 on April 28 2021, 12:17:16 UTC ";"""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""viewport"",""width=device-width, initial-scale=1"" ""dc:title"",""ShieldSquare Captcha"" ""Content-Encoding"",""UTF-8"" ""resourceName"",""pdf"" ""language"",""en"" ""Content-Length"",""2753"" ""title"",""ShieldSquare Captcha"" ""Content-Language"",""en"" ""Content-Type"",""text/html; charset=UTF-8"" ";https://scholar.google.com/scholar?start=960&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094546-679;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[CITATION][C] Beyond the hype: A study of the applicability of blockchain-based smart contracts in the industry-Towards a proof of concept;C Gonzalez ;2019 matheo.uliege.be;;"… Oracle, Alibaba, Facebook, IBM, Amazon, Ford, Siemens, Toyota, Nestlé, Walmart, Carrefour, ABInBev, all these giants have already invested millions of dollars … And yet… More than one year after the celebration of its tenth birthday, blockchain technology has still not given birth …";;;null;;;;https://scholar.google.com/scholar?start=490&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094668-1192;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Opportunities and Challenges of DLT (Blockchain) in Mobility and Logistics;G Fridgen, N Guggenberger, T Hoeren, W Prinz… ;2019 orbilu.uni.lu;;"… application for DLT debuted in 2009 in the form of a blockchain for the Bitcoin cryptocurrency … In the EU, 21 member states have joined in the European Blockchain Partnership to promote the … into the DLT system, or pro- vide smart contracts for this process (so-called ""oracles"") …";Autres articles;;[PDF] uni.lu;https://orbilu.uni.lu/bitstream/10993/44503/1/Opportunities%20and%20Challenges.pdf;" Opportunities and Challenges of DLT (Blockchain) in Mobility and Logistics Translation Prof. Dr. Gilbert Fridgen Prof. Dr. Nikolas Guggenberger Prof. Dr. Thomas Hoeren Prof. Wolfgang Prinz (PhD) Prof. Dr. Nils Urbach Johannes Baur, Henning Brockmeyer, Wolfgang Gräther, Elisaweta Rabovskaja, Vincent Schlatt, AndrĂŠ Schweizer, Johannes Sedlmeir, Lars Wederhake Also with the participation of: Matthias Babel, Martin Brennecke, Patrick Camus, Benedict Drasch, Tobias Guggenberger, Luis Lämmermann, Jannik Lockl, Sven Radszuwill, Alexander Rieger, Nicolas Ruhland, Marco Schmidt, Nico Thanner, Patrick Troglauer, Malte Weißert, Felix WĂźrmseher OPPORTUNITIES AND CHALLENGES OF DLT (BLOCKCHAIN) IN MOBILITY AND LOGISTICS FRAUNHOFER INSTITUTE FOR APPLIED INFORMATION TECHNOLOGY FIT Contents 1 Management Summary ............................................................................................................ 6 1.1 Purpose of This Report ..................................................................................................................... 6 1.2 General Analysis ............................................................................................................................... 7 Technical aspects ................................................................................................................................................ 7 1.2.1 Socioeconomic aspects ...................................................................................................................................... 8 1.2.2 1.2.2.1 Current situation ............................................................................................................................................. 8 1.2.2.2 Generic roles and application patterns .......................................................................................................... 9 1.2.2.3 Policy on promoting the spread of DLT ....................................................................................................... 10 1.2.2.4 DLT in the mobility sector ............................................................................................................................ 11 Legal considerations ......................................................................................................................................... 11 1.2.3 1.2.3.1 Civil law ......................................................................................................................................................... 11 1.2.3.2 Data protection law ...................................................................................................................................... 11 1.3 Case Studies .................................................................................................................................... 12 Shipping documents ............................................................................................................................................. 12 1.3.1 Charging of electric vehicles ............................................................................................................................. 13 1.3.2 Ridesharing ........................................................................................................................................................... 14 1.3.3 Platooning ........................................................................................................................................................ 15 1.3.4 1.4 Conclusions ..................................................................................................................................... 16 2 Introduction ........................................................................................................................... 18 2.1 Basic Concepts ................................................................................................................................ 18 2.2 Organization of the Study .............................................................................................................. 19 3 Technical Basics ..................................................................................................................... 21 3.1 Basic Concepts ................................................................................................................................ 22 Blockchain networks ............................................................................................................................................ 22 3.1.1 Transaction, distributed ledger, digital signature ............................................................................................ 23 3.1.2 How transactions flow through the blockchain ................................................................................................... 23 3.1.3 Hash values ....................................................................................................................................................... 23 3.1.4 Blocks ................................................................................................................................................................ 24 3.1.5 Consensus mechanisms .................................................................................................................................... 24 3.1.6 Attributes of a blockchain .................................................................................................................................... 25 3.1.7 3.2 Other Concepts ............................................................................................................................... 25 Smart contracts ................................................................................................................................................ 26 3.2.1 Other consensus mechanisms .......................................................................................................................... 27 3.2.2 Sharding ............................................................................................................................................................ 28 3.2.3 Integration of external data .............................................................................................................................. 28 3.2.4 Oracles .............................................................................................................................................................. 28 3.2.5 3.3 Blockchain and DLT Infrastructures ................................................................................................ 29 Classification schemes .......................................................................................................................................... 29 3.3.1 Bitcoin ............................................................................................................................................................... 30 3.3.2 Ethereum .............................................................................................................................................................. 31 3.3.3 Quorum ............................................................................................................................................................. 31 3.3.4 Hyperledger Fabric ........................................................................................................................................... 31 3.3.5 Corda ................................................................................................................................................................. 32 3.3.6 Sovrin .................................................................................................................................................................... 32 3.3.7 IOTA .................................................................................................................................................................. 33 3.3.8 Hedera Hashgraph ............................................................................................................................................ 34 3.3.9 1 Overview of DLT infrastructures ...................................................................................................................... 35 3.3.10 3.4 Governance of DLT Networks ........................................................................................................ 35 Blockchain networks ........................................................................................................................................ 35 3.4.1 Technological governance ............................................................................................................................... 36 3.4.2 Forks ................................................................................................................................................................. 36 3.4.3 3.5 Interoperability and Standardization ............................................................................................. 37 Blockchain-to-Blockchain Communication ..................................................................................................... 37 3.5.1 ISO standards ................................................................................................................................................... 39 3.5.2 Sidechains ........................................................................................................................................................ 39 3.5.3 3.6 Trends ............................................................................................................................................. 39 Certification ...................................................................................................................................................... 39 3.6.1 Quantum computing and blockchains ............................................................................................................. 40 3.6.2 Identification of DLT-appropriate business processes .................................................................................... 41 3.6.3 4 Socioeconomic Foundations .................................................................................................... 42 4.1 Characterization of DLT Within the Scope of Digitalization .......................................................... 42 DLT and the Internet of Things ........................................................................................................................ 43 4.1.1 4.1.1.1 The Internet of Things is changing business and society ............................................................................ 43 4.1.1.2 The Internet of Things requires an integrated technology architecture ..................................................... 44 4.1.1.3 The Internet of Things is the basis for using DLT in the physical world ...................................................... 44 DLT and Artificial Intelligence.......................................................................................................................... 45 4.1.2 4.1.2.1 The future-oriented technologies of DLT and AI are converging ............................................................... 45 4.1.2.2 DLT as the database for AI ........................................................................................................................... 46 4.1.2.3 DLT as a recording platform for AI .............................................................................................................. 46 DLT and privacy-preserving computational methods ..................................................................................... 47 4.1.3 4.2 The Potential of DLT ...................................................................................................................... 49 Status quo ........................................................................................................................................................ 49 4.2.1 4.2.1.1 Startups ........................................................................................................................................................ 53 4.2.1.2 Consortia ...................................................................................................................................................... 53 4.2.1.3 Established companies ................................................................................................................................ 54 4.2.1.4 Public initiatives ........................................................................................................................................... 55 4.2.1.5 Summary ...................................................................................................................................................... 55 The blockchain value proposition: trust .......................................................................................................... 56 4.2.2 Generic roles of DLT ......................................................................................................................................... 60 4.2.3 4.2.3.1 Improvers ..................................................................................................................................................... 61 4.2.3.2 Transformers ................................................................................................................................................ 61 4.2.3.3 Enablers ........................................................................................................................................................ 61 Developmental stages of the Internet ............................................................................................................. 62 4.2.4 Application categories ..................................................................................................................................... 63 4.2.5 4.2.5.1 Neutral platforms ......................................................................................................................................... 63 4.2.5.2 Forgery-proof documentation ..................................................................................................................... 64 4.2.5.3 Payments ..................................................................................................................................................... 64 4.2.5.4 Management of cross-organizational processes ......................................................................................... 64 4.2.5.5 Digital identities ........................................................................................................................................... 65 4.2.5.6 Digital documents ........................................................................................................................................ 66 4.2.5.7 Providerless services .................................................................................................................................... 69 4.2.5.8 Economically autonomous machines .......................................................................................................... 70 Decision-making criteria for the use of blockchain ......................................................................................... 70 4.2.6 Blockchain as a digital infrastructure ............................................................................................................... 71 4.2.7 Informational self-determination and digital sovereignty .............................................................................. 73 4.2.8 4.3 Aspects of Implementation ............................................................................................................ 76 Diffusion of DLT-based innovations ................................................................................................................ 76 4.3.1 2 4.3.1.1 The economic perspective ............................................................................................................................ 76 4.3.1.2 The Business perspective ............................................................................................................................. 80 Obstacles .......................................................................................................................................................... 84 4.3.2 4.3.2.1 Energy consumption and transaction speed ................................................................................................ 84 4.3.2.2 Security, misuse and crime ........................................................................................................................... 86 4.3.2.3 Data protection and the GDPR ..................................................................................................................... 89 DLT and governance......................................................................................................................................... 91 4.3.3 4.3.3.1 Governance mechanisms for operating DLT systems ................................................................................. 91 4.3.3.2 DLT as a governance mechanism ................................................................................................................. 93 Implications for competition policy .................................................................................................................. 95 4.3.4 4.4 DLT in the Mobility Sector .............................................................................................................. 97 Fields of application .......................................................................................................................................... 98 4.4.1 Preview of the special part of the study ......................................................................................................... 101 4.4.2 5 Legal Foundations ................................................................................................................ 103 5.1 Civil Law Considerations ............................................................................................................... 103 Smart contracts and automated contract execution ..................................................................................... 103 5.1.1 Limitations on use .......................................................................................................................................... 103 5.1.2 Conclusion of contracts .................................................................................................................................. 104 5.1.3 5.1.3.1 Smart contracts as objects of agreements................................................................................................. 104 5.1.3.2 Conclusion of a contract using a smart contract ........................................................................................ 105 Contractual content and mandatory law ....................................................................................................... 106 5.1.4 5.1.4.1 Content review, Sections 307-309 of the German Civil Code .................................................................... 107 5.1.4.2 Consumer contracts and special types of distribution ............................................................................... 109 Treatment of performance problems and reversal issues ............................................................................. 111 5.1.5 5.1.5.1 Performance problems ............................................................................................................................... 111 5.1.5.2 Reversal of transactions ............................................................................................................................. 111 5.1.5.3 Access to arbitration bodies/creation of judicial interfaces ....................................................................... 113 Digressions ..................................................................................................................................................... 114 5.1.6 5.1.6.1 Supervisory issues ...................................................................................................................................... 114 5.1.6.2 Liability for smart contracts ....................................................................................................................... 115 Summary ............................................................................................................................................................ 116 5.1.7 5.2 Assessment from the Standpoint of Data Protection Law ........................................................... 116 Applicability of the GDPR ............................................................................................................................... 116 5.2.1 Processing of personal data ........................................................................................................................... 117 5.2.2 5.2.2.1 Relevant data processing activities ............................................................................................................ 117 5.2.2.2 Personal data .............................................................................................................................................. 118 5.2.2.3 Intermediate findings ................................................................................................................................. 124 Responsibility for data processing ................................................................................................................. 124 5.2.3 5.2.3.1 Definition of responsibility ......................................................................................................................... 124 5.2.3.2 Responsibility for entering data ................................................................................................................. 125 5.2.3.3 Responsibility for reading data .................................................................................................................. 125 5.2.3.4 Responsibility for storing data in the DLT layer ......................................................................................... 125 5.2.3.5 Intermediate findings ................................................................................................................................. 132 Legal basis for data processing ...................................................................................................................... 132 5.2.4 5.2.4.1 Justifications for storing and reading data ................................................................................................. 132 5.2.4.2 Justification of on-chain processing ........................................................................................................... 134 Implementation of the right to rectification and erasure .............................................................................. 135 5.2.5 5.2.5.1 Erasure in an “anonymization solution” ..................................................................................................... 135 5.2.5.2 Erasure in “open solutions” and “centralized solutions” ............................................................................ 136 Summary ........................................................................................................................................................ 138 5.2.6 5.2.6.1 Exclusively B2B DLT applications ............................................................................................................... 138 5.2.6.2 Other cases ................................................................................................................................................. 138 3 Outlook for future legal reforms .................................................................................................................... 139 5.2.7 5.3 Existing Regulatory Approaches .................................................................................................. 141 International ................................................................................................................................................... 141 5.3.1 5.3.1.1 USA ............................................................................................................................................................. 141 5.3.1.2 Switzerland ................................................................................................................................................ 141 5.3.1.3 Malta, Liechtenstein .................................................................................................................................. 142 5.3.1.4 Japan .......................................................................................................................................................... 142 Germany and Europe ..................................................................................................................................... 142 5.3.2 6 Shipping Documents ............................................................................................................. 144 6.1 Economic and Technical Aspects .................................................................................................. 144 Definition and description of an example application ................................................................................... 144 6.1.1 Status quo and challenges ............................................................................................................................. 147 6.1.2 Possible solutions and the role of DLT........................................................................................................... 150 6.1.3 Process description ........................................................................................................................................ 151 6.1.4 Conclusions and recommendations for action .............................................................................................. 155 6.1.5 6.2 Legal Discussion ........................................................................................................................... 156 Trading documents ........................................................................................................................................ 156 6.2.1 6.2.1.1 International applications of German maritime trading law ..................................................................... 157 6.2.1.2 Credit transactions in foreign trade ........................................................................................................... 157 6.2.1.3 DLT-based trading documents .................................................................................................................. 158 6.2.1.4 Use of DLT for data protection in the context of digital trading documents ............................................ 162 Conclusions and recommendations for action .............................................................................................. 164 6.2.2 7 Electric Vehicle Charging ...................................................................................................... 166 7.1 Economic and Technical Aspects: Technical Part ......................................................................... 166 Definition and description of the application .................................................................................................... 166 7.1.1 Status quo and challenges ............................................................................................................................. 176 7.1.2 Possible solutions and roles of DLT ................................................................................................................... 177 7.1.3 Process description ........................................................................................................................................ 179 7.1.4 Conclusions and recommendations for action .................................................................................................. 181 7.1.5 7.2 Legal Discussion ........................................................................................................................... 181 Contractual relationships ............................................................................................................................... 182 7.2.1 Blockchain-based data protection for electric vehicle charging infrastructure ............................................ 183 7.2.2 7.2.2.1 Data protection in connection with eRoaming when no information can be obtained about natural persons behind the eMSP and CPO ........................................................................................................................... 183 7.2.2.2 Data protection with direct payment and eRoaming if information can be obtained on natural persons behind the eMSP and CPO ........................................................................................................................................ 183 Conclusions and recommendations for action .............................................................................................. 185 7.2.3 8 Ridesharing ........................................................................................................................... 186 8.1 Economic and Technical Aspects: Technical Part ......................................................................... 186 Definition and description of the application ................................................................................................ 186 8.1.1 Status quo and challenges ............................................................................................................................. 187 8.1.2 Possible solutions involving DLT ................................................................................................................... 189 8.1.3 Process description ........................................................................................................................................ 192 8.1.4 Conclusions and recommendations for action .............................................................................................. 194 8.1.5 8.2 Legal Discussion ........................................................................................................................... 195 Passenger transportation law ........................................................................................................................ 195 8.2.1 Data protection .............................................................................................................................................. 196 8.2.2 Conclusions and recommendations for action .............................................................................................. 197 8.2.3 4 9 Platooning ............................................................................................................................ 198 9.1 Economic and Technical Aspects .................................................................................................. 198 Definition and description of the application ................................................................................................... 198 9.1.1 Status quo and challenges .........................................................................................................";"""date"",""2020-04-08T10:03:26Z"" ""pdf:PDFVersion"",""1.6"" ""xmp:CreatorTool"",""Adobe InDesign CS5 (7.0.4)"" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""xmpMM:History:Action"",""created"",""saved"",""saved"",""saved"",""saved"",""saved"",""saved"",""saved"",""saved"",""saved"",""saved"",""saved"",""saved"",""saved"" ""language"",""en"" ""dc:format"",""application/pdf; version=1.6"" ""pdf:docinfo:creator_tool"",""Adobe InDesign CS5 (7.0.4)"" ""access_permission:fill_in_form"",""true"" ""xmpMM:History:When"",""2019-05-14T11:25:01Z"",""2019-05-14T11:25:40Z"",""2019-05-14T11:25:40Z"",""2019-05-14T11:26:36Z"",""2019-05-14T11:28:01Z"",""2019-05-14T11:28:58Z"",""2019-05-14T11:29:45Z"",""2019-05-14T11:30:59Z"",""2020-03-06T14:57:34Z"",""2020-03-06T14:57:34Z"",""2020-03-06T15:15:34Z"",""2020-03-06T15:21:11Z"",""2020-03-06T15:26:41Z"",""2020-04-08T12:02:28Z"" ""pdf:encrypted"",""false"" ""xmp:CreateDate"",""2020-04-08T12:02:43Z"" ""modified"",""2020-04-08T10:03:26Z"" ""xmpMM:History:SoftwareAgent"",""Adobe InDesign 7.0"",""Adobe InDesign 7.0"",""Adobe InDesign 7.0"",""Adobe InDesign 7.0"",""Adobe InDesign 7.0"",""Adobe InDesign 7.0"",""Adobe InDesign 7.0"",""Adobe InDesign 7.0"",""Adobe InDesign 7.0"",""Adobe InDesign 7.0"",""Adobe InDesign 7.0"",""Adobe InDesign 7.0"",""Adobe InDesign 7.0"",""Adobe InDesign 7.0"" ""pdf:hasMarkedContent"",""true"" ""xmpMM:History:InstanceID"",""xmp.iid:FFE1AF672676E9118E77BFBE344FB3F9"",""xmp.iid:00E2AF672676E9118E77BFBE344FB3F9"",""xmp.iid:01E2AF672676E9118E77BFBE344FB3F9"",""xmp.iid:21A0FD5C2A76E91187E3EB093D99E7D4"",""xmp.iid:22A0FD5C2A76E91187E3EB093D99E7D4"",""xmp.iid:25A0FD5C2A76E91187E3EB093D99E7D4"",""xmp.iid:AB45D2CF2A76E91187E3EB093D99E7D4"",""xmp.iid:AE45D2CF2A76E91187E3EB093D99E7D4"",""xmp.iid:B9CB4B9AB05FEA119FD7C3FE0073FCC0"",""xmp.iid:BCCB4B9AB05FEA119FD7C3FE0073FCC0"",""xmp.iid:BFCB4B9AB05FEA119FD7C3FE0073FCC0"",""xmp.iid:2EF67BBAB55FEA119FD7C3FE0073FCC0"",""xmp.iid:31F67BBAB55FEA119FD7C3FE0073FCC0"",""xmp.iid:12FE92717F79EA119F4EE8DC2119EAEB"" ""xmp:ModifyDate"",""2020-04-08T12:03:26Z"" ""trapped"",""False"" ""meta:creation-date"",""2020-04-08T10:02:43Z"" ""created"",""2020-04-08T10:02:43Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2020-04-08T10:02:43Z"" ""resourceName"",""Opportunities%20and%20Challenges.pdf"" ""xmpMM:DerivedFrom:DocumentID"",""xmp.did:FFE1AF672676E9118E77BFBE344FB3F9"" ""producer"",""Adobe PDF Library 9.9"" ""pdf:docinfo:producer"",""Adobe PDF Library 9.9"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""access_permission:modify_annotations"",""true"" ""dcterms:created"",""2020-04-08T10:02:43Z"" ""Last-Modified"",""2020-04-08T10:03:26Z"" ""dcterms:modified"",""2020-04-08T10:03:26Z"" ""xmpMM:DocumentID"",""xmp.did:BCCB4B9AB05FEA119FD7C3FE0073FCC0"" ""Last-Save-Date"",""2020-04-08T10:03:26Z"" ""pdf:docinfo:modified"",""2020-04-08T10:03:26Z"" ""meta:save-date"",""2020-04-08T10:03:26Z"" ""Content-Length"",""5618881"" ""Content-Type"",""application/pdf"" ""xmp:MetadataDate"",""2020-04-08T12:03:26Z"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""pdf:producer"",""Adobe PDF Library 9.9"" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""244"" ""pdf:hasXMP"",""true"" ""pdf:charsPerPage"",""74"",""0"",""732"",""0"",""7512"",""8042"",""8152"",""7294"",""2958"",""3592"",""3771"",""3455"",""3687"",""3815"",""3237"",""3459"",""3767"",""4066"",""3669"",""3519"",""2176"",""3472"",""3867"",""3835"",""2295"",""1989"",""2644"",""2387"",""3087"",""3469"",""2258"",""3280"",""2579"",""2652"",""3275"",""3584"",""2398"",""1551"",""2536"",""2827"",""2564"",""2825"",""2701"",""3594"",""900"",""2200"",""3809"",""3163"",""3575"",""3704"",""3787"",""3697"",""2685"",""2579"",""2547"",""2562"",""3390"",""2132"",""3393"",""3366"",""3426"",""3594"",""2246"",""2173"",""2908"",""2116"",""3435"",""3540"",""3647"",""3584"",""3560"",""2688"",""2571"",""3495"",""3649"",""3468"",""2877"",""3534"",""3721"",""3354"",""2110"",""3595"",""3853"",""2637"",""2980"",""1455"",""3258"",""2414"",""3453"",""2518"",""3282"",""3250"",""3018"",""3497"",""3182"",""2821"",""3212"",""2519"",""3692"",""2282"",""237"",""2181"",""3873"",""3787"",""2696"",""2978"",""2896"",""3365"",""3549"",""3992"",""3612"",""3468"",""3548"",""3684"",""3397"",""3623"",""3996"",""4089"",""3576"",""3313"",""3185"",""2854"",""3277"",""3273"",""3233"",""3345"",""3473"",""3164"",""2889"",""3400"",""3566"",""3665"",""3347"",""3403"",""3226"",""3205"",""3375"",""3343"",""3311"",""3689"",""3409"",""3364"",""3444"",""3710"",""3563"",""3464"",""1884"",""2912"",""1555"",""2249"",""3565"",""3621"",""3531"",""3625"",""3354"",""1735"",""2766"",""2588"",""3505"",""3241"",""3536"",""3419"",""3258"",""2987"",""3153"",""3063"",""3423"",""3146"",""1387"",""2812"",""2440"",""3152"",""2418"",""2728"",""3615"",""2741"",""2284"",""1295"",""3370"",""2537"",""3031"",""2911"",""1726"",""2320"",""2457"",""3695"",""3170"",""3177"",""1395"",""3373"",""3375"",""3086"",""2223"",""3376"",""3432"",""3115"",""2846"",""3461"",""2495"",""3318"",""797"",""2839"",""2439"",""3600"",""3481"",""3536"",""3519"",""2571"",""3050"",""3163"",""2532"",""3204"",""3233"",""2897"",""3276"",""3525"",""2894"",""3126"",""3421"",""1687"",""3789"",""3926"",""1453"",""2018"",""2469"",""2357"",""2450"",""2484"",""2362"",""2442"",""2405"",""2199"",""2334"",""2334"",""2405"",""2367"",""2458"",""2550"",""2401"",""2312"",""2036"",""7"",""429"",""11"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""pdf:docinfo:trapped"",""False"" ""xmpMM:DerivedFrom:InstanceID"",""xmp.iid:B9CB4B9AB05FEA119FD7C3FE0073FCC0"" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2020-04-08T10:02:43Z"" ";https://scholar.google.com/scholar?start=410&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094548-690;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[HTML][HTML] Les plateformes: assureurs du XXIe sičcle?;A Trescases ; Revue internationale de droit économique, 2019 cairn.info;;"… Dans ce cadre, une technologie retient particuličrement l'attention, la méta-technologie blockchain (ou chaîne de blocs) [34 … conférer une indispensable confiance aux utilisateurs de ce systčme dont l'une des principales critiques est qu'il est déshumanisé, l'Oracle pourrait ainsi …";Autres articles;;[HTML] cairn.info;https://www.cairn.info/revue-internationale-de-droit-economique-2019-3-page-291.htm;;;https://scholar.google.com/scholar?start=500&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094574-791;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[PDF][PDF] Projektbericht für die QS Qualität und Sicherheit GmbH, Bonn;K Schnitker, S Kemper ;2019 qs.de;;"… Ermittlung der Potenziale von ausgewählten Distributed Ledger Technologien (Blockchain) in der Agri-Food-Chain am Beispiel des QS-Systems … 1.1 Blockchain – Ein erster Überblick ..... 6 …";Autres articles;;[PDF] q-s.de;https://www.q-s.de/services/files/qs-wissenschaftsfonds/Forschungsbericht-Ermittlung-Potenziale-ausgew%C3%A4hlte-Distri.pdf;" __________________________________________________________ Projektbericht fĂźr die QS Qualität und Sicherheit GmbH, Bonn Ermittlung der Potenziale von ausgewählten Distributed Ledger Technologien (Blockchain) in der Agri-Food-Chain am Beispiel des QS-Systems __________________________________________________________ Prof. Dr. Karin Schnitker | Simone Kemper M.Sc. Fakultät Agrarwissenschaften & Landschaftsarchitektur Fachbereich UnternehmensfĂźhrung Oldenburger Landstraße 62 | 49090 OsnabrĂźck __________________________________________________________ 31. Oktober 2019 2 Inhaltsverzeichnis Abbildungsverzeichnis ....................................................................................................... 4 Tabellenverzeichnis ............................................................................................................ 5 1 Blockchain-Technologie .............................................................................................. 6 1.1 Blockchain – Ein erster Überblick ................................................................................. 6 1.1.1 Definition und Charakteristika der Blockchain-Technologie .............................. 6 1.1.2 Abgrenzung verschiedener Blockchain-Arten ................................................... 9 1.1.3 UrsprĂźnge der Blockchain-Technologie ...........................................................11 1.2 Funktionsweisen von BCT ...........................................................................................12 1.2.1 Kryptographische Hash-Funktionen ................................................................12 1.2.2 Digitale Signatur ..............................................................................................13 1.2.3 Blockchain-Datenstruktur ................................................................................15 1.2.4 Blockaufbau ....................................................................................................16 1.2.5 Netztopologie ..................................................................................................17 1.2.6 Distribuierte Konsensverfahren .......................................................................18 1.2.7 Smart Contracts und Oracles ..........................................................................24 1.2.8 Decentralized Applications (DApps) ................................................................28 1.3 Technische Bewertung ................................................................................................29 1.3.1 Technische Grenzen und Herausforderungen von Blockchain ........................29 1.3.2 Heutige Grenzen und Herausforderungen von Blockchain-Technologie ..........32 1.3.3 Technische Chancen und Potenziale ..............................................................34 1.3.4 Technische Weiterentwicklungen von Blockchain ...........................................35 2 Entwicklungen von BCT im Agri-Food-Sektor und Anwendungsfelder ..................37 2.1 MarktĂźbersicht von Blockchain-Projekten im Agri-Food-Sektor ...................................37 2.2 Clusterung bisheriger Anwendungsfälle mit Relevanz fĂźr Lebensmittellieferketten ......43 2.2.1 Supply Chain Management .............................................................................43 2.2.1.1 Aktuelle Problemstellungen ......................................................................44 2.2.1.2 LĂśsungspotenziale und Anwendungsbeispiele .........................................44 2.2.1.3 Herausforderungen von Blockchain im Supply Chain Management .........50 2.2.2 Auditierung und Zertifizierung ..........................................................................50 2.2.2.1 Aktuelle Problemstellungen ......................................................................50 2.2.2.2 LĂśsungspotenziale und Anwendungsbeispiele .........................................52 2.2.2.3 Herausforderungen von Blockchain in der Auditierung und Zertifizierung .53 2.2.3 Internet der Dinge (IoT) ...................................................................................53 2.2.3.1 Aktuelle Problemstellungen ......................................................................53 2.2.3.2 LĂśsungspotenziale und Anwendungsbeispiele .........................................54 2.2.3.3 Herausforderungen von Blockchain in Verbindung mit IoT-LĂśsungen ......56 3 3 Hypothesen zur Relevanz von Blockchain fĂźr Lieferkette-Akteure .........................57 3.1 H1: Form des Vertrauens in abgespeicherte Daten verändert sich durch Blockchain- LĂśsung ........................................................................................................................57 3.2 H2: Manipulationssicherheit der BCT kann besonders fĂźr Echtheitsnachweise im asiatischen Markt interessant werden/sein ..................................................................59 3.3 H3: Hype um Blockchain unter Lebensmittelhändlern liegt im Interesse an maximaler Transparenz der ZulieferstrĂśme ..................................................................................60 3.4 H4: Blockchain dient in diversen Projekten eher als Marketinginstrument ...................61 3.5 H5: Eigenschaften der Blockchain kann Unternehmen / Branchen vor Reputationsschäden besser schĂźtzen .........................................................................62 4 Hypothesen zur Relevanz von Blockchain fĂźr QS als Standardgeber.....................63 4.1 H1: Zentrale, unabhängige Kontrollinstanzen wird es auch in einer „Blockchain- Lieferkette“ bedĂźrfen ...................................................................................................63 4.2 H2: Blockchain kĂśnnte zu einem Paradigmenwechsel hinsichtlich des Eigentums an Daten im QS-System fĂźhren ........................................................................................65 4.3 H3: Blockchain-Technologie als Katalysator fĂźr IoT und Big Data kĂśnnte kĂźnftig die Art und Weise von Audits verändern .................................................................................65 4.4 H4: Derzeitige Blockchain-Entwicklungen im Handel kĂśnnten u. U. zu einer stärkeren Verhandlungsmacht des LEHs ggĂź. Zulieferern und auch dem QS-System fĂźhren .....66 5 Kritische WĂźrdigung der Methoden und Ergebnisse, Fazit und Ausblick ..............68 5.1 Kritische WĂźrdigung der Methoden und Ergebnisse ....................................................68 5.2 Fazit und Handlungsempfehlungen .............................................................................69 Anhang ................................................................................................................................73 Literaturverzeichnis ...........................................................................................................78 4 Abbildungsverzeichnis Ausprägungen der Blockchain-Technologie (i. A. an Meinel et al. 2018) .............11 Technische Elemente der Blockchain-Technologie (eigene Darstellung) ............12 Verwendung asymmetrischer SchlĂźsselpaare (Hinckeldeyn 2019) .....................14 Blockaufbau und -struktur (eigene Darstellung) ..................................................15 Merkle Tree (Antonopoulos 2017) .......................................................................16 Unterschiede de-/zentraler und verteilter Netzwerktopologie (Swanson 2015) ....18 Komplexitätsgrad von Smart Contracts (Morrison 2016) .....................................26 Agri-Food-Akteure mit Blockchain-Pilotprojekten (eigene Darstellung) ...............38 Bereits relevante Akteure fĂźr den Ag/Food-Bereich im Blockchain-Ecosystem ...40 Agri-Food-Blockchainprojekte von 2016 bis 2019 (i.A. an Anhang 1) ..................42 Sawtooth fĂźr Seafood Supply Chain Traceability (Hyperledger Sawtooth 2018) .56 Ebenen der Vertrauensbildung (DĂźring et al. 2017, S. 452) ................................58 Entscheidungsbaum fĂźr Verwendung von Blockchain (i. A. an Peck 2017; KĂźckelhaus et al. 2018; Meunier 2018) ..............................................................71 5 Tabellenverzeichnis Tab. 1: Differenzierung des Blockchain-Begriffes (Burgwinkel 2016; Swan 2015) ........... 7 Tab. 2: Merkmale verschiedener Blockchain-Ausprägungen (i. A. an Drescher 2017) ....11 Tab. 3: Abgrenzung mĂśglicher Netzwerkstrukturen (Swanson 2015; Burgwinkel 2016) ..18 Tab. 4: GegenĂźberstellung vorgestellter Konsensmodelle (Bogensperger et al. 2018) ...24 Tab. 5: Ausprägungen von Smart Contract Oracles ........................................................27 Tab. 6: Vor- und Nachteile von Smart Contracts fĂźr BCT ................................................27 Tab. 7: Module des IBM Food Trust Systems (IBM Food Trust 2019) .............................48 Tab. 8: Stärken, Schwächen, Chancen und Risiken der Blockchain-Technologie ...........69 6 1 Blockchain-Technologie 1.1 Blockchain – Ein erster Überblick Im folgenden Abschnitt wird ein Überblick der wesentlichen Funktionsweisen sowie technischen Grundlagen von Blockchain-Technologie (BCT) gegeben. Neben einer Begriffsdefinition und -abgrenzung werden unterschiedliche Ausprägungen der BCT dargestellt. Das Kapitel schließt mit einer Darstellung der UrsprĂźnge dieser Enabler- Technologie ab. 1.1.1 Definition und Charakteristika der Blockchain-Technologie Nach (Mattila 2016) oder (Swan 2015) lässt sich der Terminus Blockchain heute noch nicht einheitlich definieren. Die Betrachtung diverser Publikationen, die sich mit der Definition von BCT auseinandersetzen, zeigt aber dennoch wesentliche Gemeinsamkeiten, mit denen die Technologie beschrieben werden kann. So kann eine Blockchain als digitales Protokoll oder Register verstanden werden, indem Transaktionen, Ereignisinformationen oder sonstige Daten in einem dezentralen Netzwerk durch die Netzwerkteilnehmer verwaltet werden (Condos et al. 2016). Dabei werden Informationen „blockweise“ verarbeitet und chronologisch mittels kryptographischer Signaturen miteinander zu einer „Kette“ verknĂźpft (Walport 2015). Aus den Definitionen der zitierten Autoren wird deutlich, dass sich die Blockchain als elektronisches Kontenbuch oder Register von der dahinterstehenden Verwaltungssystematik der BCT unterscheidet. Glaser und Bezzenberger (2015) definieren die Blockchain-Technologie als einen dezentralen Konsensmechanismus, der auf Elementen der Kryptographie und Peer-to-Peer-Logik (P2P) aufbaut und so ein digitales Verwaltungssystem fĂźr manipulationssichere Daten ermĂśglicht. Anstelle einer einzigen zentralen, autoritären Kontrollinstanz werden neue Informationen im Netzwerk durch einen Konsens der Netzwerkteilnehmer selbst verifiziert (Schlatt et al. 2016). Hosp (2018) gibt folgende zusammenfassende Definition: „Eine Blockchain ist eine digitale Datei, in der dieselbe Information von allen Mitgliedern einer Gesellschaft abgespeichert und Updates in regelmäßigen ZeitblĂścken an die bereits bestehende Information gehängt werden, sodass jeder Teilnehmer die gesamte Information besitzt und sich nicht auf andere verlassen muss.“ Die wesentlichen Elemente der BCT – Kryptographie und Dezentralität – in Form von P2P- Netzwerken werden nachfolgend näher erläutert: Nach Mullender (1995) lassen sich dezentrale Datenbanksysteme nicht eindeutig definieren und lediglich anhand diverser Charaktereigenschaften identifizieren. Entscheidend ist nach Schlatt et al. (2016) die Vernetzung räumlich verteilter, voneinander unabhängiger Rechner bzw. Netzwerkknoten zur Kommunikation und kontinuierlichen Synchronisation des aktuellen, replizierten 7 Informationsstatus. Bei einem Ausfall eines Rechners bzw. Knotenpunktes arbeitet das Ăźbrige Netzwerk ohne Beeinträchtigung weiter, sobald der ausgefallene Knotenpunkt wieder online im Netzwerk ist, aktualisiert sich seine gespeicherte Version der Blockchain auf den aktuellen Informationsstatus. Bezeichnend fĂźr ein Peer-to-Peer-Netzwerk ist zudem die bereits erwähnte, direkte Interaktion von Teilnehmern bzw. Knotenpunkten beim Austausch von Daten, ohne dass es einer zentralen Koordinations- / Kontrollinstanz bedarf (Schoder und Fischbach 2002; Glaser und Bezzenberger 2015). Bei der ersten Blockchain-Anwendung ‚Bitcoin‘ werden alle Transaktionsdaten aus einem Zeitfenster von zehn Minuten erfasst und als Block der bestehenden Blockchain angehangen. Auf diese Weise entsteht eine chronologische und lineare Aneinanderreihung von DatenblĂścken. Jeder neu angefĂźgte Block beinhaltet einen Referenzwert zu seinem Vorgängerblock, wodurch die Verkettung der einzelnen BlĂścke entsteht. Als Full Nodes bezeichnete Rechner im Netzwerk, realisieren dank ihrer ausreichenden Rechenleistung das sog. Mining. Neben der gesamten Blockchain haben diese Rechner bzw. ihrer Betreiber eine zusätzliche Mining-Applikation lokal installiert, um die Generierung neuer BlĂścke und die Verifizierung eingehender Transaktionen sicherzustellen (Swan 2015; Burgwinkel 2016). In der bestehenden Fachliteratur werden verschiedene Blockchain-Begriffe teilweise unter dem Oberbegriff „Blockchain“ angefĂźhrt. In der nachfolgende Tabellen 1 werden BCT-Begriffe differenziert, die oftmals fälschlicherweise unter dem identischen Oberbegriff gemeint sind: Tab. 1: Differenzierung des Blockchain-Begriffes (Burgwinkel 2016; Swan 2015) Begriff Definition Blockchain als Architektur Gemeint ist die Kombination verschiedener Disziplinen der Informationstechnologie: VerschlĂźsselung mittels Hash-Algorithmus – z. B. SHA256 und der Nutzung einer digitalen Signatur bzw. asymmetrischer SchlĂźsselpaare. Blockchain- Plattformen Gemeint ist das verteilte Netzwerk – bestehend aus Ăźber das Internet miteinander verbundenen, voneinander unabhängigen Rechnern – in denen die Blockchain-Software genutzt wird. Blockchain- Software Gemeint ist der Programmcode, der notwendig ist, um im Netzwerk auch tatsächlich agieren zu kĂśnnen. Bereits 2016 sind nach (Burgwinkel) Ăźber 20 Software-LĂśsungen (Open-Source und Kommerziell) vorhanden. Als Beispiele sind hier die Software von ‚Bitcoin‘ oder ‚Ethereum‘ zu nennen. Blockchain- Applikation Applikationen werden auf Basis der Software auf einer Blockchain Plattform angeboten. Bsp.: Auf der Ethereum-Software kĂśnnen mehrere Applikationen realisiert werden (IDEX oder EtherDelta). Blockchain 1.0 Die Anwendung von Blockchain in der ersten Generation bezog sich ausschließlich auf Kryptowährungen und den digitalen Zahlungsverkehr Blockchain 2.0 In der zweiten Generation von Blockchain-Anwendungen wurden mittels der Realisierung von Smart Contracts Geschäftsprozesse, die Ăźber eine Finanztransaktion hinausgehen, auf Basis einer Blockchain-Software abbildbar. 8 Blockchain 3.0 In der dritten Generation dehnt sich die Anwendung von Blockchain auf sämtliche Wirtschaftsbereiche (BehĂśrden, Gesundheitssystem etc.) aus. Blockchain-as- a-Service (BaaS) Blockchain als Service auf Basis einer Cloud-LĂśsung, wobei aber alle beschriebenen Ebenen berĂźcksichtigt sind. Zusammenfassend lassen sich an dieser Stelle bereits die wesentlichen Charaktereigenschaften von Blockchain Technologie festhalten. Neben den Grundprinzipien der Technologie, die bereits im ersten White Paper zu Blockchain bei Nakamoto (2009) inbegriffen waren, sind im Laufe der Entwicklung noch weitere Eigenschaften hinzugekommen. Heute finden sich diese Grundprinzipien jeweils unterschiedlich ausgeprägt immer wieder. Nachfolgend werden diese in KĂźrze dargestellt (Tanenbaum und van Steen 2016; Mougayar und Buterin 2016; Tapscott und Tapscott 2018). Blockchain als verteiltes Netzwerk, das offen zugänglich ist und einen direkten Austausch zwischen den Netzwerkteilnehmern erlaubt: 1. Es bedarf keines Vertrauensintermediärs, da das System ohne Vertrauen zwischen den Teilnehmern funktioniert. 2. Einmal abgespeicherte Informationen in der „Blockkette“ sind nachträglich unveränderbar. 3. Die Blockchain Technologie kennzeichnet sich durch ihre Sicherheit, die auf den Grundsätzen der Kryptographie basiert. Auf diese Weise ist zudem die anonyme Interaktion im Netzwerk abbildbar. Bedingt durch die Entwicklung hin zur zweiten Generation der Blockchain Technologie und die Umsetzung von Smart Contracts sind weitere Chrakteristika hinzugekommen (Swan 2015): 4. Automatisierung von Geschäftsbedingungen / -prozessen. 5. Interaktion im Rahmen einer Transaktion auf beliebige Prozessschritte ausdehnbar. Des Weiteren ist die Technologie in Bezug auf den Kontext unterschiedlich zu betrachten. Mougayar und Buterin (2016) grenzen hier drei Dimensionen voneinander ab: 1. Technische Sichtweise = Blockchain als Datenbank-System im Backend, auf dessen Basis die Verwaltung eines digitalen, offenen Ledgers abbildbar ist. 2. Wirtschaftliche Sichtweise = Blockchain als Netzwerk, das den digitalen und direkten Austausch von Werten zwischen seinen Systemteilnehmern ermĂśglicht. 9 3. Rechtliche Sichtweise = Blockchain als Prinzip bzw. Verfahren um vertrauensbedĂźrftige Transaktionsprozesse digital ohne einen Intermediär abzubilden. 1.1.2 Abgrenzung verschiedener Blockchain-Arten Eine Blockchain kann in verschiedenen Ausprägungen genutzt werden. Je nach Anforderungen der Netzwerkteilnehmer lässt sich das Protokoll der zu nutzenden Blockchain- LĂśsung entsprechend formulieren. Grundsätzlich lassen sich die unterschiedlichen Blockchain-Arten anhand von zwei Eigenschaften voneinander abgrenzen: (1) den Zugriffsrechten und (2) der Konsenslogik (Drescher 2017). Bei den Zugriffsrechten unterscheidet man zwischen sog. Private und Public Blockchains: Bei einer Ăśffentlichen (public) Blockchain kann jeder durch den Download des Codes am Netzwerk teilnehmen und einen Knotenpunkt betreiben. Handelt es sich dabei um eine sog. Permissionless Blockchain in Bezug auf die angewandte Konsenslogik, kann außerdem jeder Teilnehmer des Netzwerkes am Validierungsprozess neuer Transaktionen mitwirken. Eine solche Blockchain steht also grundsätzlich jedermann fĂźr weltweite Transaktionen offen. Transaktionen sind damit vollkommen transparent, aber dennoch anonym, da jeder Teilnehmer unter einem „Pseudonym“ – in Form seines Ăśffentlichen SchlĂźssels – im Netzwerk agiert. Beispiele fĂźr diese Blockchain-Form sind die ‚Bitcoin‘-Blockchain, ‚Ethereum‘, ‚Litecoin‘ oder ‚Dash‘. Die wesentliche Motivation bei einer solchen Ausprägung liegt in dem Misstrauen ggĂź. zentralen Kontrollinstanzen. Den größten Einfluss kann diese Form von Blockchain daher auf die Disruption bestehender Geschäftsmodelle nehmen, die als Intermediäre zwischen den eigentlichen Geschäftspartnern agieren. Durch die absolute Dezentralität des Netzwerkes, verteilt auf die Rechner der Teilnehmer, minimieren sich zudem die Infrastrukturkosten, da kein großer Hauptserver gewartet und betrieben werden muss bzw. vor einem Ausfall oder Hacker-Angriffen aufwendig geschĂźtzt werden muss (Drescher 2017; Meinel et al. 2018). Konsortiale, Federated Blockchains: Im Gegensatz zu Ăśffentlichen, permissonless Blockchains, wie z. B. der ‚Bitcoin‘-Blockchain, werden konsortiale Blockchains von einer Gruppe von Unternehmen oder anderen Institutionen gefĂźhrt bzw. betrieben. Diese Form der Blockchain kann hinsichtlich der Lese- und Schreibrechte fĂźr jedermann frei zugänglich sein oder den Mitgliedern des Konsortiums vorbehalten sein. Die Validierung neuer Transaktionen obliegt aber vorab definierten Knotenpunkten, die i. d. R. verteilt bei den Mitgliedern des Konsortiums liegen. Durch die geringere Anzahl an Knotenpunkten, die am Konsensprozess teilnehmen, liegt bei dieser Blockchain-Form eine hĂśhere Skalierbarkeit vor. Transaktionen kĂśnnen somit schneller durchgefĂźhrt werden (Hosp 2018). Beispiele fĂźr konsortiale Blockchain-LĂśsungen finden sich im Bankensektor, der Energie- oder Logistikbranche: 20 10 Institutionen schließen sich zusammen, um eine branchenfähige Blockchain-LĂśsung zu realisieren und betreiben dazu jeweils einen Knotenpunkt fĂźr die Validierung von Transaktionen. Als Beispiele fĂźr diese Form der Blockchain-Technologie sind ‚r3‘, ‚Corda‘, ‚EWF‘ (Energie) oder ‚B3i‘ (Versicherungen) zu nennen. Den größten Einfluss hat diese Ausprägung der BCT auf das Potenzial der Transaktionskostenreduktion, indem Dokumentations- und Compliance-Aufwand minimiert werden kĂśnnen (Meinel et al. 2018). Diese Form der BCT kann damit grundsätzlich als weniger disruptiv eingestuft werden, als die Public Blockchains. Die mĂśglichen Kosten- und Effizienzvorteile im Business-Kontext sind aber nichtsdestotrotz zu bedenken (Meinel et al. 2018; Hosp 2018) Private Blockchains umfassen Anwendungen der Blockchain-Technologie in einem einander bekannten Teilnehmerkreis, zwar mit verteilten Speichermedium, aber bspw. innerhalb eines Unternehmens oder einer Institution. Bei dieser Ausprägung der BCT geht der eigentliche Mehrwert der Disintermediation verloren. So obliegen die Schreibrechte und der Konsensprozess zur Validierung neuer Transaktionsinformationen einer klar definierten Gruppe an Teilnehmern, die i. d. R. einer einzigen Organisation angehĂśren. Leserechte kĂśnnen in einem solchen Fall Ăśffentlich oder zumindest einer breiteren Anzahl an Nutzern erteilt werden. Während Skalierbarkeit und Datenschutz in solchen Blockchain-LĂśsungen ggĂź. Ăśffentlichen BCs optimiert sind, liegt das Problem in der VertrauenswĂźrdigkeit der prĂźfenden Teilnehmer, die eher zentralen Charakter haben. Denkbar sind solche Anwendungen fĂźr Datenmanagement oder Auditprozesse innerhalb eines Unternehmens oder einer Organisation. Ein Beispiel fĂźr diese Ausprägung von BCT ist ‚MultiChain‘ (Meinel et al. 2018). 11 Ausprägungen der Blockchain-Technologie (i. A. an Meinel et al. 2018) Der Unterschied bzw. die Vorteile zwischen privaten und Ăśffentlichen Blockchains lässt sich anhand der folgenden Merkmale verdeutlichen: Tab. 2: Merkmale verschiedener Blockchain-Ausprägungen (i. A. an Drescher 2017) 1.1.3 UrsprĂźnge der Blockchain-Technologie Um Blockchain zu begreifen, hilft es einen Blick auf die Entstehung der ersten Blockchain- Anwendung ‚Bitcoin‘ zu werfen: Zu unterscheiden sind die beiden Begriffe relativ leicht. So ist ‚Bitcoin‘ eine Anwendung der Blockchain-Technologie. Man kann sich vorstellen, dass Blockchain wie ein Betriebssystem vorhanden sein muss, um diverse Anwendungen nutzen zu kĂśnnen. Bitcoin ist dabei nur eine von vielen Anwendungen, die auf Basis von Blockchain realisierbar ist. Die Entwicklung der Blockchain-Technologie geht dabei in der Geschichte der Informatik weit zurĂźck. Als ersten Ansatzpunkt kann die Erfindung von Ralph Merkle im Jahr 1979 mit dem Merkle-Tree-Prinzip genannt werden. Die erste elektronische Währung wurde 1983 von David Chaum in einem White Paper diskutiert. In den 1990er-Jahre wurde erstmalig die kryptographische Verkettung einzelner Datensätze mittels Hash-BlĂścken entwickelt (Bayer et al. 1993). Adam Back stellte 1997 die Basis eines Algorithmus vor, der das Proof-of-Work- Prinzip1 von Bitcoin darstellte und damit die Grundvoraussetzung digitaler Währungen darstellt. UrsprĂźnglich wurde Proof-of-Work entwickelt, um E-Mail-Spams entgegenzuwirken. Aus einer Kombination all dieser Ansätze ist Blockchain entstanden. Die ursprĂźngliche Idee dieser Technologie wird im Whitepaper von Bitcoin (2008) beschrieben: AuslĂśser waren Vertrauensverluste in zentrale Institutionen, die mit ihnen anvertrauten monetären Werten risikoreiche Geschäfte tätigten. Vertrauensmissbrauch und damit einhergehender Datenmissbrauch hatten globale Auswirkungen auf Wirtschaftssysteme. Die Idee hinter der Blockchain-Technologie war eine Veränderung auf systemischer Ebene, um Veruntreuung / 1 Proof-of-Work ist das derzeit bekannteste Konsensverfahren in der Blockchain-Technologie und dient dazu, in einem dezentralen System ohne „die eine“ Kontrollinstanz Einigkeit unter den Teilnehmern Ăźber Wahrheitszustände zu definieren. Nähere Erläuterung in Kapitel 1.2.6 12 Betrug digital zu erschweren und zentrale Kontrolleinheiten mit einer ungleichen Machtverteilung in einem System ĂźberflĂźssig zu machen (Antonopoulos 2018; Rosenberger 2018). 1.2 Funktionsweisen von BCT Um die Funktionsweisen der Blockchain Technologie zu verstehen und nachzuvollziehen, warum die o. g. Charaktereigenschaften der Technologie Ăźberhaupt mĂśglich sind, hilft ein grundsätzliches Verständnis der Einzelelemente, die innerhalb der BCT ihre Anwendung finden. Aus technischer Sicht liegt die Innovation der BCT in der einzigartigen Kombination aus Elementen der Informatik zu einem kohärenten Ansatz, wie es ihn vorher eben nicht gab. Die nachfolgende Abbildung fasst diese Elemente zusammen, auf die im Nachgang jeweils in KĂźrze eingegangen wird. Technische Elemente der Blockchain-Technologie (eigene Darstellung) 1.2.1 Kryptographische Hash-Funktionen Eine Hash-Funktion ermĂśglicht die VerschlĂźsselung eines beliebig langen Inputwertes zu einer immer einheitlich langen Abfolge von hexadezimalen Zeichen, die als Hashwert bezeichnet wird. Verändert man die ursprĂźngliche Zeichenfolge nur minimal, so ändert sich der daraus resultierende Hash-Wert gravierend (Condos et al. 2016; Franco 2014). Hashfunktionen reduzieren damit große Datenmengen in eine kleinere Zeichenfolge und kĂśnnen als der digitale Fingerabdruck eines Datensatzes verstanden werden, Ăźber den ein Datensatz eindeutig identifiziert werden kann (Gupta 2017; Hinckeldeyn 2019). In der Blockchain- Technologie wird derzeit der Secure Hash Algorithm SHA-256 verwendet. Die Zahl 256 gibt dabei an, dass ein Hash-Wert immer eine Größe von 256 Bit besitzt. Diese Hash-Funktion gilt bis heute als extrem sicher hinsichtlich der VerschlĂźsselung von Datensätzen (Narayanan et al. 2016). Grundsätzlich lassen sich fĂźnf Eigenschaften der kryptographischen Hashfunktionen zusammenfassen (Drescher 2017): 13 Zuerst sind kryptographische Hashfunktionen kollisionsresistent. Mit einer Kollision ist gemeint, dass aus zwei unterschiedlichen, voneinander unabhängigen Inputgrößen der gleiche Hashwert resultiert. Kollisionsresistenz besteht demnach, wenn kein identischer Hashwert fĂźr zwei voneinander abweichende Inputdaten generiert wird (Hinckeldeyn 2019). Aus mathematischer Sicht kann es zwar theoretisch zu einer solchen Kollision kommen, praktisch benĂśtigt ein Rechner, der 10.000 Hash-Werte/Sek. berechnen kann, bei einer SHA256-Hashfunktion Ăźber 1027 Jahre, um lediglich die Hälfte aller KombinationsmĂśglichkeiten auf eine Hash-Kollision zu prĂźfen (Paar et al. 2010). Dennoch sind die Hashwerte dabei deterministisch, d. h. eine Hashfunktion generiert bei identischem Dateninput immer wieder exakt den gleichen Hashwert. Die dritte Eigenschaft liegt in der Pseudozufälligkeit der generierten Hashwerte. Dies bedeutet, dass eine minimale Änderung bei der Dateneingabe zu einem vĂśllig anderen Hashwert fĂźhrt. Bei kryptographischen Hashfunktionen handelt es sich zudem um sog. Einwegfunktionen (Hinckeldeyn 2019). Bekannt unter dem Begriff Nonce (Number only used once), wird dem Inputdatensatz eine beliebige, geheime Zahl beigefĂźgt. Mittels dieses Nonce lässt sich ein Inputwert nachträglich nicht mehr einfach so ermitteln (Bogensperger et al. 2018). Die fĂźnfte Eigenschaft von Hash-Funktionen ist die sog. Puzzle Friendliness. Mathematisch beschrieben liegt hierin die Tatsache, dass ein Nonce-Wert in einer Hash-Funktion fĂźr jede OutputmĂśglichkeit n der Funktion nicht unterhalb der Zeit 2n gefunden werden kann. Diese Eigenschaft fĂźhrt dazu, dass sich keine LĂśsungsstrategie besser empfiehlt als das schiere Durchprobieren von mĂśglichen Nonce-Werten, bis der richtige Nonce-Wert gefunden wurde (Adolph et al. 2019). FĂźr die Blockchain-Technologie stellen kryptographische Hashfunktionen ein wesentliches Element dar. So lassen sich auf diese Weise Transaktionsdaten verschlĂźsseln, eindeutig identifizieren und verifizieren sowie signieren. Nach Wang et al. (2019) lassen sich generell sechs Anwendungen von Hashfunktionen in der Blockchain-Technologie kategorisieren:  Hiding-Prozess: Transaktionsdaten mit Zufallszahlen versehen  Verteilte Konsensmechanismen (siehe Kap. 1.2.6)  Signaturen bei TransaktionsdurchfĂźhrung (siehe Kap. 1.2.2)  Identitätsnachweise  Blockgenerierung (siehe 1.2.3)  Adresserstellung fĂźr Blockchain-Anwendungen 1.2.2 Digitale Signatur Das Prinzip der Digitalen Signaturen ist in der Kryptographie schon in den 1970er Jahren diskutiert worden und auf Diffie und Hellman (1976) zurĂźckzufĂźhren (Schlatt et al. 2016). Mit 14 der Generierung eines asymmetrischen, mathematisch miteinander verbundenen SchlĂźsselpaares (je ein privater und ein Ăśffentlicher SchlĂźssel) kĂśnnen digitale Signaturen erstellt werden (Franco 2014). Hierbei werden Hashwerte auf Basis von Sicherheitswerten erzeugt. Jeder Netzwerkteilnehmer erhält ein asymmetrisches SchlĂźsselpaar: der private SchlĂźssel muss dabei geheim bleiben, der Ăśffentliche SchlĂźssel wird dem Netzwerk vorgestellt (Hinckeldeyn 2019). Während der Ersteller einer Nachricht mit seinem privaten SchlĂźssel „unterschreibt“, sendet er die signierte Botschaft an den Ăśffentlichen SchlĂźssel des Empfängers. Der Empfänger wiederrum kann die Nachricht nun mit dem Ăśffentlichen SchlĂźssel des Absenders abgleichen und so auf Authentizität ĂźberprĂźfen (Diffie und Hellman 1976). EntschlĂźsselt wird die Nachricht wiederrum mit dem privaten SchlĂźssel des Empfängers. Auf diese Weise liefert die digitale Signatur fĂźr jeden Teilnehmer im Netzwerk eine Identität. So lassen sich Aktionen im Netzwerk personalisieren und Signaturen nicht replizieren (Narayanan et al. 2016). Mit dieser Funktionsweise erfĂźllt die sog. Public-Key-Krypotgraphie zwei wesentliche Anforderungen an die Blockchain-Technologie: die sichere DatenĂźbertragung im Netzwerk und die eindeutige Identifikation von Netzwerkteilnehmern – zwar unter Pseudonym, aber unverfälschbar und sicher (Schlatt et al. 2016). Die nachfolgende Abbildung von Hinckeldeyn (2019) veranschaulicht die Verwendung in der Blockchain-Technologie: Verwendung asymmetrischer SchlĂźsselpaare (Hinckeldeyn 2019) 15 1.2.3 Blockchain-Datenstruktur Die mittels Hash-Funktion verschlĂźsselten Datensätze gilt es in einem strukturierten Verfahren abzulegen. Dabei ist nicht nur der Dateninhalt selbst, sondern auch die Signatur und die VerknĂźpfung der einzelnen BlĂścke zueinander berĂźcksichtigt. Zur VerknĂźpfung der BlĂścke dient der sog. Hash-Pointer, welcher eine Referenz zu seinem Vorgänger-Block umfasst und damit die im Vorgängerblock berechneten Datensätze berĂźcksichtigt. Verändert sich ein Wert in einem Vorgängerblock, passt der Hash-Pointer des Folgeblocks nicht mehr und ab dieser Stelle ist die gesamte Kette in ihren Hash-Pointern nicht mehr in sich stringent. Ziel der Hash- Pointer ist damit in erster Linie, die Manipulationssicherheit einer Blockchain zu realisieren. Die nachfolgende Abbildung 4 veranschaulicht die Struktur der BlĂścke. Im der unteren Kette werden dabei die Folgen eines Manipulationsversuchs veranschaulicht: Ändert sich ein Hashwert einer Transaktion in Block 2, ändert sich der Hash-Pointer dieses Blocks, sodass dieser nicht mehr mit den Daten in Block 3 Ăźbereinstimmt. Blockaufbau und -struktur (eigene Darstellung) Neben den essentiellen Angaben in der Abbildung 4, die fĂźr die Verkettung der einzelnen BlĂścke wichtig sind, werden noch weitere Angaben in einem jeden Block hinterlegt. Auf diese wird im nachfolgenden Kapitel 1.2.4 noch weiter eingegangen. Zuvor wird in KĂźrze die Datenstruktur zur VerknĂźpfung einzelner BlĂścke in einer";"""date"",""2019-11-05T11:26:27Z"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""pdf:PDFVersion"",""1.5"" ""xmp:CreatorTool"",""MicrosoftÂŽ Word 2016"" ""pdf:hasXFA"",""false"" ""access_permission:modify_annotations"",""true"" ""access_permission:can_print_degraded"",""true"" ""dc:creator"",""Simone Kemper"" ""language"",""de"" ""dcterms:created"",""2019-11-05T11:26:27Z"" ""Last-Modified"",""2019-11-05T11:26:27Z"" ""dcterms:modified"",""2019-11-05T11:26:27Z"" ""dc:format"",""application/pdf; version=1.5"" ""Last-Save-Date"",""2019-11-05T11:26:27Z"" ""pdf:docinfo:creator_tool"",""MicrosoftÂŽ Word 2016"" ""access_permission:fill_in_form"",""true"" ""pdf:docinfo:modified"",""2019-11-05T11:26:27Z"" ""meta:save-date"",""2019-11-05T11:26:27Z"" ""pdf:encrypted"",""false"" ""modified"",""2019-11-05T11:26:27Z"" ""Content-Length"",""3468808"" ""pdf:hasMarkedContent"",""true"" ""Content-Type"",""application/pdf"" ""pdf:docinfo:creator"",""Simone Kemper"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"",""Simone Kemper"" ""dc:language"",""de-DE"" ""meta:author"",""Simone Kemper"" ""meta:creation-date"",""2019-11-05T11:26:27Z"" ""created"",""2019-11-05T11:26:27Z"" ""access_permission:extract_for_accessibility"",""true"" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""85"" ""Creation-Date"",""2019-11-05T11:26:27Z"" ""resourceName"",""Forschungsbericht-Ermittlung-Potenziale-ausgew%C3%A4hlte-Distri.pdf"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""585"",""3837"",""2434"",""1272"",""775"",""2712"",""3066"",""2184"",""2887"",""1798"",""2345"",""1876"",""2655"",""1563"",""1837"",""2143"",""2523"",""1752"",""2931"",""2891"",""3049"",""3038"",""2879"",""2222"",""2834"",""2069"",""2795"",""2533"",""2742"",""2688"",""2961"",""2525"",""2547"",""2696"",""2694"",""1770"",""2751"",""1675"",""3097"",""1996"",""2823"",""353"",""2816"",""2765"",""2960"",""2828"",""2801"",""2723"",""2879"",""2521"",""2928"",""2774"",""2672"",""2924"",""1915"",""1471"",""2286"",""1863"",""3086"",""2969"",""2930"",""3072"",""2934"",""2996"",""3021"",""3105"",""644"",""2795"",""2295"",""2080"",""167"",""2877"",""12"",""6"",""6"",""7"",""9"",""3027"",""3244"",""2927"",""2820"",""3126"",""2875"",""2960"",""2044"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""Author"",""Simone Kemper"" ""producer"",""MicrosoftÂŽ Word 2016"" ""access_permission:can_modify"",""true"" ""pdf:docinfo:producer"",""MicrosoftÂŽ Word 2016"" ""pdf:docinfo:created"",""2019-11-05T11:26:27Z"" ";https://scholar.google.com/scholar?start=610&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094581-826;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Tighter Security Proofs for Post-quantum Key Encapsulation Mechanism in the Multi-challenge Setting;Z Zhang, P Wei, H Xue ; … Conference on Cryptology and Network Security, 2019 Springer;;"… We consider quantum adversaries which are given quantum access to the random oracles. For a oracle function \(H:\{0,1\}^n \rightarrow \{0,1\}^m\), the quantum access to H is modeled by \(O_H:|x\rangle |y\rangle \rightarrow |x\rangle |y\oplus H(x)\rangle ,\) where \(x\in \{0,1\}^n …";Cité 1 fois;Les 3 versions;null;;;;https://scholar.google.com/scholar?start=640&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094583-837;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[CITATION][C] Traceable and linkable ring signatures, traceable range proofs and applications on regulatable privacy-preserving blockchains.;W Li, L Chen, X Lai, X Zhang, J Xin ; IACR Cryptol. ePrint Arch., 2019;;null;Cité 2 fois;;null;;;;https://scholar.google.com/scholar?start=650&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094628-1030;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Are These Pairing Elements Correct? Automated Verification and Applications;S Hohenberger, S Vusirikala ; Proceedings of the 2019 ACM SIGSAC …, 2019 dl.acm.org;;"Page 1. Are These Pairing Elements Correct? Automated Verification and Applications Susan Hohenberger susan@cs.jhu.edu Johns Hopkins University Satyanarayana Vusirikala satya@cs.utexas.edu University of Texas at Austin ABSTRACT …";Cité 1 fois;Les 2 versions;[PDF] acm.org;https://dl.acm.org/doi/pdf/10.1145/3319535.3339808?casa_token=JOlzsuiJm-sAAAAA:mWmReVUqnaVXMUe-XKNgFOBbe13V-48IO-GwaFFknUWbeyp4Fy-r75O89BWTU14otmRr5Dq7iG8;;;https://scholar.google.com/scholar?start=840&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094616-971;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Edge computing, iot and social computing in smart energy scenarios;I Sittón;Candanedo, RS Alonso, Ó García, L Muńoz…  Sensors, 2019 mdpi.com;;"… The oracles are responsible for verifying and sending data to the blockchain and work as intermediaries between the blockchain and the devices … Thanks to the Crypto-IoT boards developed by the BISITE Research Group of the University of Salamanca (Spain), this layer …";Cité 36 fois;Les 8 versions;[PDF] mdpi.com;https://www.mdpi.com/1424-8220/19/15/3353/pdf;;;https://scholar.google.com/scholar?start=790&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094579-816;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Direct CCA-secure KEM and deterministic PKE from plain LWE;X Boyen, Q Li ; International Conference on PostQuantum …, 2019 Springer;;"… security, these heuristic security arguments need to be made in quantum random-oracle models [6] which are not very well understood. For these reasons, designing an efficient and practical post-quantum KEM in the standard model (without random oracles) is already …";Cité 2 fois;Les 2 versions;[PDF] griffith.edu.au;https://research-repository.griffith.edu.au/bitstream/handle/10072/392997/Li301788-Accepted.pdf?sequence=2;" Direct CCA-Secure KEM and Deterministic PKE from Plain LWE Xavier Boyen1 ?, Qinyi Li2 ?? 1 QUT, Brisbane, Australia 2 Griffith University, Brisbane, Australia qinyi.li@griffith.edu.au Abstract. We present a particularly simple and efficient CCA-secure public-key encapsulation scheme without random oracles or costly sam- pling. The construction is direct in the sense that it eschews generic trans- formations via one-time signatures or MACs typically found in standard- model constructions. This gives us a compact, conceptually simpler, and computationally efficient operation, that in particular does not require any Gaussian sampling. Nevertheless, security is based on the hardness of the plain learning-with-errors (LWE) problem with polynomial modulus- to-noise ratio. Of further interest, we also show how to obtain CCA-secure deterministic public-key encryption (for high-entropy messages), that is more compact and efficient than existing constructions. 1 Introduction Public-key encryption (PKE) is a central cryptographic primitive to provide se- cure communication over insecure networks without prior secret-key agreement. In practice, due to its relative inefficiency, it is almost always used in conjunc- tion with a secret-key cipher, where the former encrypts a random session key for the latter, which then encrypts the actual data. This flow is the motiva- tion for “hybrid encryption” [8], which consists of a (public-)key encapsulation mechanism (KEM) and a data encapsulation mechanism (DEM). In terms of security, it is well known [8] that if both KEM and DEM are CCA-secure, then the hybrid encryption scheme is CCA-secure, which is the standard notion for security of PKE against active attacks. While DEMs are readily obtained from suitable symmetric-key modes of operation, in the case of KEMs substantial op- timisations are to be gained by specialising them to work with random plaintexts only. Constructing CCA-secure KEMs is easy in principle. Applying the Fujisaki- Okamoto transformations [10] to PKE/KEM schemes with weaker security guar- antees (e.g., chosen-plaintext security) results in CCA-secure PKE/KEM schemes ? Research supported in part by ARC Discovery Project grant number DP140103885 and ARC Future Fellowship FT140101145 from the Australian Research Council. ?? Corresponding author 2 in the random oracle model. While this approach often leads to practical con- structions, one can only make heuristic security arguments for them. Moreover, when it comes to post-quantum security, these heuristic security arguments need to be made in quantum random-oracle models [6] which are not very well un- derstood. For these reasons, designing an efficient and practical post-quantum KEM in the standard model (without random oracles) is already desirable and well motivated. There are two somewhat generic ways to construct CCA-secure PKE/KEM from lattices in the standard model. The first one is via lossy trapdoor functions [19] (e.g., the constructions from [19,21,16]) and the second one is via the BCHK trasformation [5] from tag-based or identity-based encryption (IBE) (e.g. the constructions from [15]). Both of them require strongly unforgeable one-time signatures or message authentication codes (MACs) as building blocks. This introduces noticeable extra overheads, making the schemes less efficient and less compact. In this paper, we primarily focus on constructing a KEM that is both con- ceptually very simple and computationally efficient, but without compromising its provable security. Specifically, we rely on a standard lattice problem (plain learning with errors, a.k.a. LWE [20,17]) in the standard model. 3 1.1 Our Contributions Our main contribution is a simple, compact, computationally efficient KEM scheme without random oracles. The construction makes use of identity-based/tag- based lattice trapdoor techniques [1,15]. The public key of our scheme includes two matrices A ∈ Zn×mq and A1 ∈ Zn×wq , where w = ndlog qe, and a target- collision-resistant compression or hash function f : Znq → {0, 1}Îť, where Îť is the security parameter. The private key is a low norm matrix R ∈ Zm×w such that A1 = AR (mod q). The ciphertext of our scheme contains two parts. The first part is t = f(s) where s ∈ Znq is the randomness of the encapsulation al- gorithm. The second part is a vector c> = b(p/q) ¡ s> ¡ [A|A1 + ϕ(t)G]c where ϕ : Znq → Zn×nq is a full-rank difference encoding [1] (here t is encoded as a vec- tor in Znq ) and G ∈ Zn×wq is the gadget matrix [15]. The session key is obtained by applying a randomness extractor to s. When t is non-zero (which happens with overwhelming probability), the lattice trapdoor (R,G) allows recovering s and, thus, reproducing the session key. The key idea of our construction is to make the identity/tag the hash value of the secret random vector s rather than a verification key or a commitment in the BCHK transformation. In terms of security, by using the LWE problem to (computationally) switch the rounding function b(p/q) ¡ s> ¡ [A|A1 +ϕ(t)G]c to the so-called “lossy mode” [2], the ran- 3 We note that our approach here departs significantly from the recent NIST Post- Quantum KEM competition, wherein most submitters chose to embrace random oracles and stronger hardness assumptions (e.g., many variants of ring-LWE), to address its rather idiosyncratic rules and success criteria. 3 dom vector s retains sufficient min-entropy (even conditioned on c and t) that the session key would be random. Our construction can be seen as a “direct” CCA-secure PKE/KEM con- struction from identity-based/tag-based encryption in the sense that it does not employ generic transformations. Such kind of direct constructions from pairing- based IBE are known, e.g., [7,13,14]. From a high level idea, our KEM construc- tion also has similarities to the CCA-secure PKE scheme from a lossy trapdoor function (LTF) and all-but-one lossy trapdoor function (ABO-LTF) from [19]. In [19], the encryption is roughly done by evaluating a LTF and an ABO-LTF (both are invertible) on the randomness. The well-formness of the ciphertext is guaranteed by signing theses two evaluations with a one-time signature scheme (the verification key also serves as the tag for the ABO-LTF). Our construction “shrinks” this further by using only one (ABO) LTF plus a compression hash function. For our KEM construction, the hash function, which is much lighter than an LTF, is already lossy and enough to ensure that the ciphertext is well- formed. One should also note that our construction is for CCA-secure KEM which is a more specialised primitive than CCA-secure PKE studied in certain earlier constructions. Our KEM construction is of good computational efficiency. First, the en- cryption process essentially involves a vector-matrix multiplication, a rounding operation and a target-collision-resistant hash function. In particular, discrete Gaussian sampling is avoided. Second, the decryption can be done efficiently in a parallel fashion by using the so-called “gadget” trapdoor inversion first proposed in [15]. In terms of space efficiency, since our KEM scheme is based on a relatively stronger LWE assumption (but still with polynomial modulus-to-noise ratio), compared to the most efficient existing CCA-secure lattice PKE/KEM construc- tions in the standard model, e.g., [15], our construction would need relatively larger matrix dimensions (to provide sufficient hardness for the LWE problem). However, since our KEM ciphertext only consists of a single vector over a small field and a small hash value (whose bit-size is the security parameter, e.g., 128), and since our KEM private key is a low-norm matrix with very small entries (−1 and 1), the impact of requiring larger dimensions is rather limited. As a by-product of our KEM scheme and its structure, we also give a CCA- secure deterministic lattice PKE system. Deterministic PKE has useful direct and indirect applications such as efficient searchable encryption and de-duplication of encrypted databases. Our construction is efficient and compact than what one would get through generic transformations (e.g., [4]). One drawback of our deterministic PKE is that it requires an LWE hardness assumption here with super-polynomial modulus-to-noise ratio, which is stronger than what we need in the (randomised) KEM scheme. 4 2 Preliminaries Notation. We denote the security parameter by Îť. We use bold lowercase letters (e.g. a) to denote vectors and bold capital letters (e.g. A) to denote matrices. For a positive integer q ≥ 2, let Zq be the ring of integers modulo q. We denote the group of n×m matrices in Zq by Zn×mq . Vectors are treated as column vectors. The transpose of a vector a is denoted by a>. For A ∈ Zn×mq and B ∈ Zn×m′ q , let [A|B] ∈ Zn×(m+m′) q be the concatenation of A and B. We denote by x← X the process of sampling x according to the distribution X. We denote s ←$ S the process that of sampling element x uniformly from the set S. For x ∈ Zp, define Transformq(x) = d(q/p)¡xe. For x ∈ Zq, define the rounding function bxcp = b(p/q)¡xc. The functions Transformq(¡) and b¡cp naturally extend to vectors by applying them component-wise. For a security parameter Îť, a function negl(Îť) is negligible in Îť if it is smaller than all polynomial fractions for a sufficiently large Îť. Definition 1 (Bounded Distribution, [2]). For a distribution χ over the reals, and a bound β, we say that χ is β-bounded if the average absolute value of x← χ is less than β, i.e., if E[|x|] ≤ β. Lemma 1. Let χ be a B-bounded distribution over Z. Let q ≥ p ¡ (2B+1) ¡nω(1) be a prime. For e ← χ, u ←$ Zq, we have bu + ecp 6= bucp with probability ≤ (2B + 1) ¡ p/q which is negligible in n. We recall the notion of full-rank-difference encodings (FRD). Agrawal et al. [1] gave an explicit construction of FRD, which we adapt in our construction. Definition 2. Let n ≥ 1 be an integer and q be a prime. We say that a function ϕ : Znq → Zn×nq is an encoding with full-rank differences (FRD) if: 1. ϕ is computable in polynomial time; 2. for all distinct u,v ∈ Znq , ϕ(u)− ϕ(v) ∈ Zn×nq is full rank (or invertible). Definition 3. Let Îť be a security parameter, n = n(Îť), ` = `(Îť) and S be a distribution over D. A set of functions F = {f : D → R} is a family of compression hash functions if (1) There exists a p.p.t algorithm that takes as input a security parameter 1Îť and uniformly samples a function f from F ; (2) Given f , x ∈ D, the computation of f(x) can be done in p.p.t; (3) log |R| < log |D|. We say F is second pre-image resistant if for all p.p.t algorithm A, the advantage AdvtcrF,A(Îť) = [ x 6= x∗ and f(x∗) = f(x) : f ←$ F ; x∗ ← S x← A(1Îť, f, x∗) ] ≤ negl(Îť) We say F is Îľ-hard-to-invert w.r.t S if for all p.p.t algorithm A, Pr[A(f(x), f) = x) : f ←$ F , x← S] ≤ Îľ. A collection of compression hash functions is collision-resistant if it is second pre-image resistant and negl(Îť)-hard-to-invert. 5 2.1 Public-Key Encapsulation A public-key encapsulation (KEM) scheme Π = (KeyGen,Encap,Decap) with key space KÎť consists of three polynomial-time algorithms. The key generation algorithm KeyGen(1Îť) generates a public key Pk and private key Sk. The ran- domised key encapsulation algorithm Encap(Pk) generates a session key K ∈ KÎť and a ciphertext Ct. The decapsulation algorithm Decap(Pk,Sk,Ct) returns the session key K or the error symbol ⊥. The correctness of a KEM scheme requires that for all Îť ∈ N, and all (K,Ct)← Encap(Pk), Pr[Decap(Pk,Sk,Ct) = K] ≥ 1− negl(Îť) where the probability is taken over the choice of (Pk,Sk)← KeyGen(1Îť) and the random coins of Encap and Decap. We recall the chosen-ciphertext security of KEM. The IND-CCA security of a KEM scheme Π with session key space KÎť is defined by the following security game. The challenger C runs (Pk,Sk) ← KeyGen(1Îť), chooses a random coin µ←$ {0, 1}, samples K∗0 ←$ KÎť, and computes (K∗1 ,Ct ∗)← Encap(Pk). Then C passes (Pk,K∗µ,Ct ∗) to the adversary. The adversary launches adaptive chosen- ciphertext attacks: It repeatedly chooses any Ct 6= Ct∗ and sends it over to C, to which C returns Decap(Pk,Sk,Ct). Finally, A outputs µ′ and wins if µ′ = Âľ. We define A’s advantage in the above security game as Advind-ccaA,Π (Îť) = |Pr[µ′ = Âľ]− 1/2|. We say Π is IND-CCA-secure if Advind-ccaA,Π (Îť) is negligible in Îť. 2.2 Randomness Extraction The statistical distance between two random variables X and Y over a finite set S is SD(X,Y ) = 1 2 ∑ s∈S |Pr[X = s]− Pr[Y = s]|. For any Îľ > 0, we say X and Y are Îľ-close if SD(X,Y ) ≤ Îľ. The min-entropy of a random variable X is H∞(X) = − log(maxs∈S Pr[X = s]). The average-case conditional min- entropy of X given Y is H̃∞(X|Y ) = − log (Ey←Y [maxx Pr[X = x|Y = y]]). A distribution (or a random variable) X is called k-source if H∞(X) ≥ k. Lemma 2 ([9], Lemma 2.2). Let X, Y and Z be random variables where Z has at most 2Îť positive-probability values. Then H̃∞(X|Y,Z) ≥ H̃∞(X|Y ) − Îť, and in particular H̃∞(X|Z) ≥ H∞(X)− Îť. Definition 4. A collection of functions H = {h : D → R} is universal if for any x1, x2 ∈ D such that x1 6= x2 it holds that PrH←H[H(x1) = H(x2)] = 1/|R|. Lemma 3. Let X, Y be random variables such that X ∈ {0, 1}n, and H̃∞(X|Y ) ≥ k. Let H be a collection of universal hash functions from {0, 1}n to {0, 1}` where ` ≤ k − 2 log(1/Îľ). It holds that for h←$ H, and r ←$ {0, 1}`, SD ((h, h(X), Y ), (h, r, Y )) ≤ Îľ 6 Lemma 4 ([1], Lemma 4). Suppose that m > (n+ 1) log q+ω(log n) and that q > 2 is prime. Let R be an m×k matrix chosen uniformly in {1,−1}m×k mod q where k = k(n) is polynomial in n. Let A and B be matrices chosen uniformly in Zn×mq and Zn×kq respectively. Then the distribution (A,AR) is statistically close to the distribution (A,B). 2.3 Computational Assumptions We recall the LWE problem that was introduced by Regev [20]. Definition 5. Let Îť be the security parameter, n = n(Îť), m = m(Îť), q = q(Îť) be integers and χ = χ(Îť) be a distribution over Zq. The LWEn,m,q,χ problem asks for distinguishing the following two distributions: Real = (A, s>A + e>) and Rand = (A, c>) where A ←$ Zn×mq , s ←$ Znq , e ← χm, and c ←$ Znq . We define the advantage that an adversary A has in solving the LWE problem by Adv LWEn,m,q,χ A (Îť) = |Pr[A(1Îť,Real) = 1]− Pr[A(1Îť,Rand)]|. We say the LWE assumption holds if for every p.p.t. algorithm A, Adv LWEn,m,q,χ A (Îť) is negligible in Îť. Usually, the distribution χ is the discrete Gaussian distribution DZ,Îąq where the parameter Îą ∈ (0, 1) and Îąq ≥ √ n. We refer to [11] for details on discrete Gaussian distributions and [17] for the recent result on the hardness of LWE. In our construction, we consider the amortised LWE problem that asks to distinguish between distributions (B,CB + F) and (B,A) where B ←$ Z`×mq , C←$ Zn×`q , F← χn×m and A← Zn×mq . It was shown, e.g., in [18] (Lemma 7.3), that a p.p.t. algorithm that distinguishes the two distributions of the amortised LWE problem with probability Îľ can be efficiently turned into a p.p.t. algorithm that breaks the LWE`,m,q,χ problem (per Definition 5) with advantage Îľ/n. We recall the following Lemma, first proven by Goldwasser et al. [12], and used by Xie et al. [22]. It says that, for certain parameters, the LWE problem remains hard even if the secret is chosen from an arbitrary distribution with sufficient min-entropy in the presence of hard-to-invert auxiliary input. Lemma 5. Let k ≥ log q and F = {f : {0, 1}n → {0, 1}∗} be a family of one-way functions that are 2−k hard to invert with respect to distribution S over {0, 1}n. For any super-polynomial q = q(Îť) and any m = poly(n), any β, Îł ∈ (0, 1) such that Îł/β = negl(n), the distributions( A, s>A + e>, f(s) ) and ( A, c>, f(s) ) are computationally indistinguishable where A ←$ Zn×mq , s ← S, c ←$ Zmq , e← Dm Z,βq, assuming the LWE`.m,q,DZ,Îłq assumption holds where ` ≥ k−ω(logn) log q . 7 2.4 Lattice Trapdoors Let n ≥ 1, q ≥ 2 and p ≤ q. Set k = dlog qe and w = nk, and define the n-by-w gadget matrix G = In⊗ [1, 2, 4, ..., 2k−1] ∈ Zn×wq . We recall the following lemma that applies the gadget trapdoor [15] to invert the LWE and LWR functions. The lemma stems from Lemma 7.2 of [2] (the algorithm BigInvert). Here we use the fact that the gadget matrix G has a (publicly known) trapdoor matrix T ∈ Zw×w s.t. GT = 0 mod q and ‖T‖ ≤ √ 5. (See [15], Proposition 4.2 for details). Lemma 6 ([3] Lemma 7.2). Let n ≥ 1, q ≥ 2, w = ndlog qe and m = m̄ + w. Set , m̄ > (n + 1) log q + ω(log n). Let F = [A|AR + HG] where A ∈ Zn×m̄q , R ←$ {−1, 1}m̄×w and H ∈ Zn×nq be an invertible matrix. We have for c> = bs>Fcp where s ∈ Znq , p ≥ O(m̄ √ n log q), there is a p.p.t algorithm Invert(Transformq(c),F,H,R) that outputs s. The following lemma is derived from Lemma 3.3 and Theorem 7.3 of [3]. Lemma 7. Let Îť be the security parameter. Let n,m, `, p, Îł be positive integers, χ be a β-bounded distribution, w = ndlog qe, and q ≥ m̄βγn(m̄+w)p be a prime. Then it holds that for s←$ Znq , A = CB + F ∈ Zn×m̄q , R←$ {−1, 1}m̄×w H̃∞(s| ⌊ s>[A|AR] ⌋ p ) ≥ n log(2Îł)− (`+ Îť) log q where B←$ Z`×m̄q , C←$ Zn×`q and F← χn×m̄. 3 The KEM Scheme Let Îť be the security parameter. The scheme uses a full-rank difference encoding function ϕ : Znq → Zn×nq which can be instatiated by the construction given by Agrawal et al. [1]. The scheme also employs a family of hash functions F = {f : Znq → {0, 1}Îť} that is second pre-image resistant, and a family of universal hash functions H = {h : Znq → {0, 1}Îť} for which efficient constructions are known. Let χ be a β-bounded distribution over Zq. Given the lattice dimension ` ≥ Îť for LWE problem, we set the parameters for our KEM scheme as follows. – Let δ > 0 be a constant. Set the matrix dimension n large enough such that n−4Îť nδ ≥ ` for Lemma 7 (ensuing that s sufficient leftover min-entropy). – Set the matrix dimension m̄ = n1+δ to ensure that Lemma 4 applies. Here we assume nδ = 2 log q. – The rounding parameter p = 3m̄1.5 for Lemma 6. – The parameter Îł = 1 for Lemma 7 – Set β = √ ` as required by the hardness of LWE problem. – The LWE modulus q = 12m̄5 that satisfies Lemma 7. KeyGen(1Îť): On input the security parameter Îť, the key generation algorithm does: 8 1. Choose A←$ Zn×m̄q , R←$ {−1, 1}m̄×w; Set A1 = AR mod q. 2. Randomly sample a hash function f ←$ F and a universal hash function h←$ H. 3. Set Pk = (A,A1, f, h) and Sk = R. Encap(Pk): On input the public key Pk, the encapsulation algorithm does: 1. Select s←$ Znq and compute t← f(s). 2. Encode t as a vector in Znq and compute c> = ⌊ s> ¡ [A|A1 + ϕ(t)G] ⌋ p 3. Set K ← h(s) and Ct = (c, t). Decap(Pk,Sk,Ct): On input the private key Sk and a ciphertext Ct = (c, t), the decapsulation algorithm does: 1. Runs Invert(Transformq(c), [A|A1 + ϕ(t)G],R) to get s′ ∈ Znq . 2. Compute t′ = f(s′) and return ⊥ if t′ 6= t. 3. Return K ← h(s′). The decryption correctness can be checked by the correctness of Invert as stated in Lemma 6. Theorem 1. If the family of hash functions F is second pre-image resistant and the LWE`,m̄,q,χ assumption holds, then the KEM scheme is IND-CCA-secure. More specifically, let Îť be the security parameter. Given a p.p.t adversary A that breaks the KEM scheme Π with advantage Advind-ccaΠ,A (Îť), there exist a p.p.t algorithm B1 that breaks the second pre-image resistance of F with advantage AdvtcrF,B1 (Îť) and a p.p.t algorithm B2 that breaks LWE`,m̄,q,χ with advantage Adv LWE`,m̄,q,χ B2 (Îť), such that Advind-ccaΠ,A (Îť) ≤ AdvtcrF,B1 (Îť)+Adv LWE`,m̄,q,χ B2 (Îť)+negl(Îť) where negl(Îť) is negligible in Îť. Proof. We proceed with the proof as a sequence of games. For i = {0, 1, 2, 3, 4}, we denote the i-th game by Gamei. We denote by Gamei ⇒ 1 the event that the adversary wins the security game, i.e., it outputs µ′ such that µ′ = Âľ. The first game Game0 is the same as the IND-CCA security game. That is, the adversary A receives a public key Pk = (A,A1, f, h) and a challenge ciphertext Ct∗ = (c∗, t∗), where t∗ = f(s∗) ; c∗> = ⌊ s∗> ¡ [A|A1 + ϕ(t∗)G] ⌋ p for some s∗ ←$ Znq , and a session key K∗µ, which is either a random value from {0, 1}Îť or h(s∗), from the challenger B. Then A adaptively issues decryption queries Ct = (c, t) 6= Ct∗ and B runs the real decryption algorithm to return the answers. Finally, A outputs a bit value µ′ indicating that Ct∗ encapsulates a real session key or a random session key. According to the definition, we have Pr[Game0 ⇒ 1] = Pr[µ′ = Âľ] = Advind-ccaΠ,A (Îť) + 1/2 In Game1, we make a change in the way of answering decryption queries: ⊥ is returned if for the given decryption query Ct = (c, t), t = t∗; otherwise, Ct is processed with the real decapsulation algorithm as in Game0. We argue that 9 unless the adversary breaks the second pre-image resistant property of the hash function f , this change is not noticeable. First of all, we must have c 6= c∗ (otherwise the decryption query is invalid as it is the challenge ciphertext itself). To make the decryption oracle not to output ⊥, there must be a unique s 6= s∗ such that c> = ⌊ s> ¡ [A|A1 + ϕ(t∗)G] ⌋ p (and such an s can be found by the algorithm Invert since the private key R is known). Therefore we must have f(s) = f(s∗) = t∗ which makes s a valid second pre- image for t∗. So, we have |Pr[Game1 ⇒ 1]− Pr[Game0 ⇒ 1]| ≤ AdvtcrF,B1 (Îť) for some proper adversary B1. In Game2, we make the following changes on generating the matrix A1 from the public key Pk. Firstly, we pick s∗ ←$ Znq and set t∗ = f(s∗). Then we sample R ←$ {−1, 1}m̄×w and set A1 ← AR − ϕ(t∗)G mod q. s∗ is also used to construct the challenge ciphertext: t∗ ← f(s∗) ; c∗> ← ⌊ s∗> ¡ [A|A1 + ϕ(t∗)G] ⌋ p The decryption oracle is implemented as in Game1. We argue that the adversary’s views in Game2 and Game1 are statistically close. First, by Lemma 4, the distributions of A1 in these two games are statis- tically close. This means that Pk generated in these two games are statistically indistinguishable for A. Then we note that the decryption queries will be an- swered properly. This is because by the standard technique of Agrawal et al. [1], knowledge of the binary matrix R lets us transform the trapdoor for G into a trapdoor for the whole matrix, as long as H is invertible. The simulator can thus answer in the same way as the previous games, except for the ciphertexts Ct = (c, t∗), which however, are already excluded: [A|A1 + ϕ(t)G] = [A|AR + (ϕ(t)− ϕ(t∗))G] = [A|AR + HG] where, by the property of FRD, H ∈ Zn×nq is invertible. So we have |Pr[Game2 ⇒ 1]− Pr[Game1 ⇒ 1]| ≤ negl1(Îť) for some negligible statistical error negl1(Îť). In Game3 we change the way that the matrix A is constructed. In particular, we obtain A ← CB + F where B ←$ Z`×m̄q , C ←$ Zn×`q and F ← χn×m̄. By the LWE assumption (amortised version) we immediately have Pr[Game3 ⇒ 1]− Pr[Game2 ⇒ 1] ≤ Adv LWE`,m̄,q,χ B2 (Îť) for some proper adversary B2. In Game4, we change the way of generating the challenge session key. In par- ticular, K∗1 is chosen randomly from {0, 1}Îť (recall that K∗0 is chosen uniformly 10 random from {0, 1}Îť in all previous games). We argue that Game3 and Game4 are statistically indistinguishable. First of all, t∗ in the challenge ciphertext has at most 2Îť values. Second, by the construction of the matrix A and c∗, we have c∗> = ⌊ s∗> ¡ [A|A1 + ϕ(t∗)G] ⌋ p = ⌊ s∗> ¡ [A|AR + (ϕ(t∗)− ϕ(t∗))G] ⌋ p = ⌊ s∗> ¡ [A|AR] ⌋ p By Lemma 2, H̃∞ (s∗|c∗, t∗) ≥ H̃∞ (s∗|c∗)− Îť ≥ n log(2Îł)− (Îť+ `) log q − Îť ≥ n− 2` log q − Îť = n− ` ¡ nδ − Îť ≥ 4λ− Îť = 3Îť Let Îľ = 2−λ. So, we have H̃∞ (s∗|c∗, t∗) ≥ 2 log(1/Îľ) + Îť. Applying Lemma 3 results in SD ((c∗, t∗, h, h(s∗), (c∗, t∗, h,K∗1 )) ≤ Îľ = 2−λ where K∗1 ← {0, 1}Îť. We therefore obtain |Pr[Game4 ⇒ 1]− Pr[Game3 ⇒ 1]| ≤ 2−λ Additionally, In Game4, K∗0 and K∗1 are all random strings chosen from {0, 1}Îť. So the adversary A has exactly probability 1/2 of correctly guessing Âľ, i.e., Pr[Game4 ⇒ 1] = 1/2 Combining the above steps gives us Advind-ccaΠ,A (Îť) ≤ AdvtcrF,B1 (Îť) + Adv LWE`,m̄,q,χ B2 (Îť) + negl(Îť) where negl(Îť) = negl1(Îť) + 2−λ is negligible. This completes the proof. ut 4 CCA-Secure Deterministic Public-Key Encryption In this section, we show a construction of CCA-secure deterministic public-key encryption (D-PKE) in the standard model. Deterministic public-key encryption only makes sense for high-min-entropy plaintexts, to preclude the obvious guess- and-encrypt attack, but for such messages it has practical applications ranging from encrypted keyword search to encrypted cloud storage with deduplication. Our CCA-secure D-PKE has a similar structure as our KEM. We consider the so-called PRIV-CCA security notion for single hard-to-guess message as in 11 [4]. 4 The security of our construction is again based on the hardness of the LWE problem with high-min-entropy secret in the presence of hard-to-invert auxiliary inputs, which is as hard as the standard form of LWE with certain parameters [12]. Our construction is more efficient than the generic constructions by Boldyreva et al. [4] which requires double encryption (e.g., using two lossy trapdoor functions when instantiated with lattice-based primitives). A D-PKE scheme consists of three algorithms. On input a security parameter 1Îť, the randomised key generation algorithm KeyGen(1Îť) outputs a pair of public and private keys (Pk,Sk). The deterministic encryption algorithm Enc(Pk,m) re- turns a ciphertext Ct. The decryption algorithm Dec(Pk,Sk,Ct) returns the mes- sage m or ⊥. The correctness is required that for all m, (Pk,Sk)← KeyGen(1Îť), Pr[Dec(Pk,Sk,Enc(Pk,m)) = m] ≥ 1− negl(Îť). We recall the indistinguishability-based security definition of D-PKE for sin- gle high-min-entropy messages. Here we consider a stronger version where we require ciphertext pseudorandomness, i.e., that ciphertexts be computationally indistinguishable from random stings. The security game with a D-PKE scheme Π is defined as follows. The adversary A outputs a distribution M over the message space. where H∞(M) ≥ k (i.e., M is a k-source). The challenger B runs (Pk,Sk) ← KeyGen(1Îť). It flips a coin Âľ ←$ {0, 1}. If Âľ = 0 it computes Ct∗ ← Enc(Pk,m∗) where m∗ ← M . Otherwise it chooses Ct∗ uniformly at random from the ciphertext space. B returns (Pk,Ct∗) to A. A then launches adaptive decryption queries Ct 6= Ct∗ to which B returns Dec(Pk,Sk,Ct). Finally, A outputs µ′ and wins if µ′ = Âľ. We define A’s advantage in the security game as Advpriv1-ccaΠ,A (Îť) = |Pr[µ′ = Âľ]− 1/2|. We say a D-PKE scheme Π is PRIV-CCA-secure w.r.t. a k-source single message if for every p.p.t. adversary A, the advantage is negligible in Îť. Construction. Our construction uses a full-rank difference encoding function ϕ : Znq → Zn×nq as in our construction of KEM. The construction also uses a family of second pre-image resistant functions F = {f : {0, 1}n → {0, 1}2Îť} that is universal and 2−k-hard-to-invert with respect to a k-source M over {0, 1}n. Such a family of functions can be built from the standard Short Integer Solution (SIS) problem. The security of the construction is based on the hardness of LWE`,q,m̄,DZ,Îłq where we need, for Lemma 5, ` ≥ k−ω(logn) log q , Îł ∈ (0, 1) such that Îł/β = negl(n). We set the parameters for decryption correctness and security as follows. – Set the LWE modulus q = nω(1) and parameter β = √ `/q for the LWE hardness results of, e.g. [20,17]. – Set the dimension m̄ = n1+δ where nδ = O(log q) for Lemma 4. 4 It was shown in [4] that such a security notion is equevalent to the PRIV-CCA security notion for multiple messages that form a block source. See [4] for details. 12 – The rounding parameter p = 3m̄1.5, to ensure that Lemma 6 applies. – Finally, β = 1/(2p √ nm̄) ¡ n−ω(1) for applying Lemma 1. KeyGen(1Îť): On input the security parameter Îť, the algorithm does: 1. Choose A←$ Zn×m̄q , R←$ {−1, 1}m̄×w; Set A1 = AR mod q. 2. Sample a universal, second pre-image resistant, 2k-hard-to-invert hash function f ←$ F . 3. Set Pk = (A,A1, f) and Sk = R. Enc(Pk,m): On input the public key Pk and message m ∈ {0, 1}n which comes from some k-source, the algorithm does: 1. Compute t← f(m) and encode t as a vector in Znq . 2. Compute c> = ⌊ m> ¡ [A|A1 + ϕ(t)G] ⌋ p 3. Set Ct = (c, t). Dec(Sk,Ct): On input the private key Sk and a ciphertext Ct = (c, t), the decryption algorithm does: 1. Runs Invert(Transformq(c), [A|A1 + ϕ(t)G],R) to get m′ ∈ {0, 1}n. 2. Compute t′ = f(m′). Return m′ if t′ = t or return ⊥ otherwise. Security Proof. Now we give the security proof. Theorem 2. Let k ≥ 2 log(1/n−ω(1)) + Îť. If the family of functions F is uni- versal, 2−k-hard-to-invert, second pre-image resistant, and Lemma 5 holds, the above construction of D-PKE scheme is PRIV-CCA-secure for k-source single message. Proof. We proceed the proof by a sequence of games. For i = {0, 1, 2, 3, 4}, we denote the i-th game by Gamei. We denote by Gamei ⇒ 1 the event that the adversary wins the security game, i.e., it outputs µ′ such that µ′ = Âľ. The first game Game0 is the original PRIV-CCA security game. That is, the adversary A generates a k-source distribution M . The challenger samples a challenge message m∗ ←M and a fair coin µ←$ {0, 1}. It then returns the public key (A,A1, f) and the challnege ciphertext Ct∗µ to A, where Ct∗0 ← Enc(Pk,m∗) and Ct∗1 is uniformly chosen from the ciphertext space. A then launches adaptive chosen-ciphertext queries Ct subject to the condition that Ct 6= Ct∗. Finally, A outputs µ′ and it wins if µ′ = Âľ. By definition we have |Pr[Game0 ⇒ 1]− 1/2| = Advpriv1-ccaΠ,A (Îť). In the second game Game1, we slightly change the way of answering the decryption query: Let the challenge ciphertext Ct∗µ = (c∗, t∗). A decryption query Ct = (c, t) is rejected if t = t∗. First, we must have Ct 6= Ct∗µ by se- curity definition. Second, if c 6= c∗, there is a m′ ∈ {0, 1}n such that c> =⌊ m′>[A|A1 + ϕ(t∗)] ⌋ p . (In the case that Ct∗0 was returned, we must have m′ 6= m∗.) Therefore, m′ is a valid second pre-image of t∗ on f , and m′ can be re- covered efficiently through the decryption procedure. So a p.p.t distinguisher 13 between Game0 and Game1 leads to a second-pre-image inversion algorithm for F and we have |Pr[Game1 ⇒ 1]− Pr[Game0 ⇒ 1]| ≤ negl1(Îť). In Game2 we set A1 ← AR − ϕ(t∗)G. By making this change we have challenge ciphertext Ct∗0 = (t∗ = f(m∗), c∗T = bm∗>[A|AR]cp). By Lemma 4, A1 is distributed properly except for a negligible statistical error negl1Îť. So we have |Pr[Game2 ⇒ 1]− Pr[Game1 ⇒ 1]| ≤ negl2(Îť). In Game3, we make changes on computing the challenge ciphertext Ct∗0. Specifically, given the challenge message m∗ ← M , we sample e ← Dm̄ Z,βq and compute c∗> = ⌊ m∗>[A|A1 + ϕ(t∗)G] + [e>|e>R] ⌋ p = ⌊ m∗>[A|AR] + [e>|e>R] ⌋ p where R is chosen as in the key generation phase. Since m∗ is a sample from the distribution M which is chosen independent of A and AR, so m∗>[A|AR] is a random sample from the uniform distribution over Zm̄+w q (Recall A is randomly chosen and AR statistically close to uniform as per Lemma 4). By Lemma 1 and the fact that ‖e>R‖∞ ≤ βq √ nm̄, with all but negligible probability negl3(Îť), c∗> = ⌊ m∗>[A|AR] ⌋ p as produced in Game2. This shows that |Pr[Game3 ⇒ 1]− Pr[Game2 ⇒ 1]| ≤ negl3(Îť). In Game4, we set Ct∗0 = (t∗ = f(m∗), c∗ = b[b>|b>R]cp where b ←$ Zm̄q and m∗ ← M . by Lemma 5, the distributions (A";"""date"",""2020-04-14T04:02:06Z"" ""pdf:PDFVersion"",""1.5"" ""xmp:CreatorTool"",""LaTeX with hyperref package"" ""pdf:docinfo:title"","""" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""subject"","""" ""language"",""en"" ""dc:format"",""application/pdf; version=1.5"" ""pdf:docinfo:creator_tool"",""LaTeX with hyperref package"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"","""" ""xmp:CreateDate"",""2020-04-07T10:29:14Z"" ""modified"",""2020-04-14T04:02:06Z"" ""cp:subject"","""" ""pdf:docinfo:subject"","""" ""pdf:hasMarkedContent"",""false"" ""xmp:ModifyDate"",""2020-04-14T14:02:06Z"" ""pdf:docinfo:creator"","""" ""PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.16 (TeX Live 2015) kpathsea version 6.2.1"" ""meta:author"","""" ""trapped"",""False"" ""meta:creation-date"",""2020-04-07T00:29:14Z"" ""created"",""2020-04-07T00:29:14Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2020-04-07T00:29:14Z"" ""resourceName"",""Li301788-Accepted.pdf"" ""Author"","""" ""producer"",""pdfTeX-1.40.16"" ""pdf:docinfo:producer"",""pdfTeX-1.40.16"" ""pdf:unmappedUnicodeCharsPerPage"",""6"",""9"",""0"",""23"",""14"",""17"",""22"",""23"",""13"",""19"",""7"",""26"",""53"",""7"",""0"" ""Keywords"","""" ""access_permission:modify_annotations"",""true"" ""dc:creator"","""" ""dcterms:created"",""2020-04-07T00:29:14Z"" ""Last-Modified"",""2020-04-14T04:02:06Z"" ""dcterms:modified"",""2020-04-14T04:02:06Z"" ""title"","""" ""xmpMM:DocumentID"",""uuid:f482e0a7-9ecb-4c04-993c-6c0edb7c93dd"" ""Last-Save-Date"",""2020-04-14T04:02:06Z"" ""pdf:docinfo:keywords"","""" ""pdf:docinfo:modified"",""2020-04-14T04:02:06Z"" ""meta:save-date"",""2020-04-14T04:02:06Z"" ""pdf:docinfo:custom:PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.16 (TeX Live 2015) kpathsea version 6.2.1"" ""Content-Length"",""372233"" ""Content-Type"",""application/pdf"" ""xmp:MetadataDate"",""2020-04-14T14:02:06Z"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"","""" ""pdf:producer"",""pdfTeX-1.40.16"" ""dc:subject"","""" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""15"" ""pdf:hasXMP"",""true"" ""pdf:charsPerPage"",""1987"",""2551"",""2504"",""2062"",""1976"",""1981"",""1813"",""1988"",""1880"",""1323"",""2402"",""1988"",""1468"",""2335"",""2263"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""pdf:docinfo:trapped"",""False"" ""meta:keyword"","""" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2020-04-07T00:29:14Z"" ";https://scholar.google.com/scholar?start=630&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094586-850;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Public-key cryptography in the fine-grained setting;R LaVigne, A Lincoln, VV Williams ; Annual International Cryptology …, 2019 Springer;;"… CRYPTO 2019: Advances in Cryptology – CRYPTO 2019 pp 605-635 | Cite as … Where previous works had to assume random oracles or the existence of strong one-way functions to get a … Merkle puzzles by making an assumption of the existence of either a random oracle or an …";Cité 8 fois;Les 3 versions;[PDF] nsf.gov;https://par.nsf.gov/servlets/purl/10178933;" Public-Key Cryptography in the Fine-Grained Setting Rio LaVigne(B), Andrea Lincoln(B), and Virginia Vassilevska Williams MIT CSAIL and EECS, Cambridge, USA {rio,andreali,virgi}@mit.edu Abstract. Cryptography is largely based on unproven assumptions, which, while believable, might fail. Notably if P = NP , or if we live in Pessiland, then all current cryptographic assumptions will be broken. A compelling question is if any interesting cryptography might exist in Pessiland. A natural approach to tackle this question is to base cryptography on an assumption from fine-grained complexity. Ball, Rosen, Sabin, and Vasudevan [BRSV’17] attempted this, starting from popular hardness assumptions, such as the Orthogonal Vectors (OV) Conjecture. They obtained problems that are hard on average, assuming that OV and other problems are hard in the worst case. They obtained proofs of work, and hoped to use their average-case hard problems to build a fine-grained one-way function. Unfortunately, they proved that constructing one using their approach would violate a popular hardness hypothesis. This moti- vates the search for other fine-grained average-case hard problems. The main goal of this paper is to identify sufficient properties for a fine-grained average-case assumption that imply cryptographic prim- itives such as fine-grained public key cryptography (PKC). Our main contribution is a novel construction of a cryptographic key exchange, together with the definition of a small number of relatively weak struc- tural properties, such that if a computational problem satisfies them, our key exchange has provable fine-grained security guarantees, based on the hardness of this problem. We then show that a natural and plausible average-case assumption for the key problem Zero-k-Clique from fine- grained complexity satisfies our properties. We also develop fine-grained one-way functions and hardcore bits even under these weaker assump- tions. R. LaVigne—This material is based upon work supported by the National Science Foundation Graduate Research Fellowship under Grant No. 1122374. Any opinion, findings, and conclusions or recommendations expressed in this material are those of the authors(s) and do not necessarily reflect the views of the National Science Foundation. Research also supported in part by NSF Grants CNS-1350619 and CNS-1414119, and by the Defense Advanced Research Projects Agency (DARPA) and the U.S. Army Research Office under contracts W911NF-15-C-0226 and W911NF-15-C-0236. A. Lincoln—This work supported in part by NSF Grants CCF-1417238, CCF-1528078 and CCF-1514339, and BSF Grant BSF:2012338. V. Williams—Partially supported by an NSF Career Award, a Sloan Fellowship, NSF Grants CCF-1417238, CCF-1528078 and CCF-1514339, and BSF Grant BSF:2012338. cŠ International Association for Cryptologic Research 2019 A. Boldyreva and D. Micciancio (Eds.): CRYPTO 2019, LNCS 11694, pp. 605–635, 2019. https://doi.org/10.1007/978-3-030-26954-8_20 http://crossmark.crossref.org/dialog/?doi=10.1007/978-3-030-26954-8_20&domain=pdf https://doi.org/10.1007/978-3-030-26954-8_20 606 R. LaVigne et al. Where previous works had to assume random oracles or the existence of strong one-way functions to get a key-exchange computable in O(n) time secure against O(n2) adversaries (see [Merkle’78] and [BGI’08]), our assumptions seem much weaker. Our key exchange has a similar gap between the computation of the honest party and the adversary as prior work, while being non-interactive, implying fine-grained PKC. 1 Introduction Modern cryptography has developed a variety of important cryptographic prim- itives, from One-Way Functions (OWFs) to Public-Key Cryptography to Obfus- cation. Except for a few more limited information theoretic results [20,50,51], cryptography has so far required making a computational assumption, P ďż˝= NP being a baseline requirement. Barring unprecedented progress in computational complexity, such hardness hypotheses seem necessary in order to obtain most useful primitives. To alleviate this reliance on unproven assumptions, it is good to build cryptography from a variety of extremely different, believable assump- tions: if a technique disproves one hypothesis, the unrelated ones might still hold. Due to this, there are many different cryptographic assumptions: on factoring, discrete logarithm, shortest vector in lattices and many more. Unfortunately, almost all hardness assumptions used so far have the same quite stringent requirements: not only that NP is not in BPP, but that we must be able to efficiently sample polynomially-hard instances whose solution we know. Impagliazzo [31,47] defined five worlds, which capture the state of cryptography, depending on which assumptions happen to fail. The three worlds worst for cryptography are Algorithmica (NP in BPP), Heuristica (NP is not in BPP but NP problems are easy on average) and Pessiland (there are NP problems that are hard on average but solved hard instances are hard to sample, and OWFs do not exist). This brings us to our main question. Can we have a meaningful notion of cryptography even if we live in Pessiland (or Algorithmica or Heuristica)? This question motivates a weaker notion of cryptography: cryptography that is secure against nk-time bounded adversaries, for a constant k. Let us see why such cryptography might exist even if P = NP. In complexity, for most interesting computational models, we have time hierarchy theorems that say that there are problems solvable in O(n2) time (say) that cannot be solved in O(n2−ε) time for any Îľ > 0 [28,30,53]. In fact, such theorems exist also for the average case time complexity of problems [39]. Thus, even if P = NP, there are problems that are hard on average for specific runtimes, i.e. fine-grained hard on average. Can we use such hard problems to build useful cryptographic primitives? Unfortunately, the problems from the time hierarchy theorems are difficult to work with, a common problem in the search for unconditional results. Thus, let us relax our requirements and consider hardness assumptions, but this time on the exact running time of our problems of interest. One simple approach is Public-Key Cryptography in the Fine-Grained Setting 607 to consider all known constructions of Public Key Cryptography (PKC) to date and see what they imply if the hardness of the underlying problem is relaxed to be nk−o(1) for a fixed k (as it would be in Pessiland). Some of the known schemes are extremely efficient. For instance, the RSA and Diffie-Hellman cryptosystems immediately imply weak PKC if one changes their assumptions to be about poly- nomial hardness [23,49]. However, these cryptosystems have other weaknesses – for instance, they are completely broken in a postquantum world as Shor’s algorithm breaks their assumptions in essentially quadratic time [52]. Thus, it makes sense to look at the cryptosystems based on other assumptions. Unfor- tunately, largely because cryptography has mostly focused on the gap between polynomial and superpolynomial time, most reductions building PKC have a significant (though polynomial) overhead; many require, for example, multiple rounds of Gaussian elimination. As a simple example, the Goldreich-Levin con- struction for hard-core bits uses nω (where ω ∈ [2, 2.373) is the exponent of square matrix multiplication [26,55]) time and n calls to the hard-core-bit dis- tinguisher [27]. The polynomial overhead of such reductions means that if the relevant problem is only n2−o(1) hard, instead of super-polynomially hard, the reduction will not work anymore and won’t produce a meaningful cryptographic primitive. Moreover, reductions with fixed polynomial overheads are no longer composable in the same way when we consider weaker, polynomial gap cryptog- raphy. Thus, new, more careful cryptographic reductions are needed. Ball et al. [6,7] began to address this issue through the lens of the recently blossoming field of fine-grained complexity. Fine-grained complexity is built upon “fine-grained” hypotheses on the (worst-case) hardness of a small number of key problems. Each of these key problems K, has a simple algorithm using a combination of textbook techniques, running in time T (n) on instances of size n, in, say, the RAM model of computation. However, despite decades of research, no Õ(T (n)1−ε) algorithm is known for any Îľ > 0 (note that the tilde ∟ suppresses sub-polynomial factors). The fine-grained hypothesis for K is then that K requires T (n)1−o(1) time in the RAM model of computation. Some of the main hypotheses in fine-grained complexity (see [54]) set K to be CNF-SAT (with T (n) = 2n, where n is the number of variables), or the k-Sum problem (with T (n) = nďż˝k/2ďż˝), or the All-Pairs Shortest Paths problem (with T (n) = n3 where n is the number of vertices), or one of several versions of the k-Clique problem in weighted graphs. Fine-grained complexity uses fine-grained reductions between problems in a very tight way (see [54]): if problem A has requires running time a(n)1−o(1), and one obtains an (a(n), b(n))-fine-grained reduction from A to B, then problem B needs runtime b(n)1−o(1). Using such reductions, one can obtain strong lower bounds for many problems, conditioned on one of the few key hypotheses. The main question that Ball et al. set out to answer is: Can one use fine- grained reductions from the hard problems from fine-grained complexity to build useful cryptographic primitives? Their work produced worst-case to average-case fine-grained reductions from key problems to new algebraic average case prob- lems. From these new problems, Ball et al. were able to construct fine-grained 608 R. LaVigne et al. proofs of work, but they were not able to obtain stronger cryptographic prim- itives such as fine-grained one-way-functions or public key encryption. In fact, they gave a barrier for their approach: extending their approach would falsify the Nondeterministic Strong Exponential Time Hypothesis (NSETH) of Carmosino et al. [18]. Because of this barrier, one would either need to develop brand new techniques, or use a different hardness assumption. What kind of hardness assumptions can be used to obtain public-key cryptography (PKC) even in Pessiland? A great type of theorem to address this would be: for every problem P that requires nk−o(1) time on average, one can construct a public-key exchange (say), for which Alice and Bob can exchange a lg(n) bit key in time O(nak), whereas Eve must take n(a+g)k−o(1) time to learn Alice and Bob’s key, where g is large, and a is small. As a byproduct of such a theorem, one can obtain not just OWFs, but even PKC in Pessiland under fine-grained assumptions via the results of Ball et al. Of course, due to the limitations given by Ball et al. such an ideal theorem would have to refute NSETH, and hence would be at the very least difficult to prove. Thus, let us relax our goal, and ask What properties are sufficient for a fine-grained average-case assumption so that it implies fine-grained PKC? If we could at least resolve this question, then we could focus our search for worst-case to average-case reductions in a useful way. 1.1 Our Contributions Our main result is a fine-grained key-exchange that can be formed from any problem that meets three structural conditions in the word-RAM model of com- putation. This addresses the question of what properties are sufficient to produce fine-grained Public Key Encryption schemes (PKEs). For our key exchange, we describe a set of properties, and any problem that has those properties implies a polynomial gap PKE. An informal statement of our main theorem is as follows. Theorem [Fine-Grained Key-Exchange (informal)]. Let P be a computational problem for which a random instance can be generated in O(ng) time for some g, and that requires nk−o(1) time to be solved on average for some fixed k > g. Addi- tionally, let P have three key structural properties of interest: (1) “plantable”: we can generate a random-looking instance, choosing either to have or not to have a solution in the instance, and if there is a solution, we know what/where it is; (2) “average-case list-hard”: given a list of n random instances of the problem, returning which one of the instances has a solution requires essentially solving all instances; (3) “splittable”: when given an instance with a solution, we can split it in O(ng) time into two slightly smaller instances that both have solutions. Then a public key-exchange can be built such that Alice and Bob exchange a lg(n) bit key in time n2k−g, where as Eve must take Ί̃(n3k−2g) time to learn Alice and Bob’s key. Public-Key Cryptography in the Fine-Grained Setting 609 Notice that as long as there is a gap between the time to generate a random instance and the time to solve an instance on average, there is a gap between N = n2k−g and n3k−2g = N3/2−1/(4(k/g)−2) and the latter goes to N3/2, as k/g grows. The key exchange requires no interaction, and we get a fine-grained public key cryptosystem. While our key exchange construction provides a relatively small gap between the adversary and the honest parties (O(N1.5) vs O(N)), the techniques required to prove security of this scheme are novel and the result is generic as long as the three assumptions are satisfied. In fact, we will show an alternate method to achieve a gap approaching O(N2) in the full version of this paper. Our main result above is stated formally and in more generality in Theorem5. We will explain the formal meaning of our structural properties plantable, average- case list-hard, and splittable later. We also investigate what plausible average-case assumptions one might be able to make about the key problems from fine-grained complexity so that the three properties from our theorem would be satisfied. We consider the Zero-k- Clique problem as it is one of the hardest worst-case problems in fine-grained complexity. For instance, it is known that if Zero-3-Clique is in O(n3−ε) time for some Îľ > 0, then both the 3-Sum and the APSP hypotheses are violated [54,57]. It is important to note that while fine-grained problems like Zero-k-Clique and k-Sum are suspected to take a certain amount of time in the worst case, when making these assumptions for any constant k does not seem to imply P ďż˝= NP since all of these problems are still solvable in polynomial time.1 An instance of Zero-k-Clique is a complete k-partite graph G, where each edge is given a weight in the range [0, R − 1] for some integer R. The problem asks whether there is a k-clique in G whose edge weights sum to 0, modulo R. A standard fine-grained assumption (see e.g. [54]) is that in the worst case, for large enough R, say R ≥ 10n4k, Zero-k-Clique requires nk−o(1) time to solve. Zero-k-Clique has no non-trivial average-case algorithms for natural distribu- tions (uniform for a range of parameters, similar to k-Sum and Subset Sum). Thus, Zero-k-Clique is a natural candidate for an average-case fine-grained hard problem. Our other contribution addresses an open question from Ball et al.: can a fine- grained one-way function be constructed from worst case assumptions? While we do not fully achieve this, we generate new plausible average-case assumptions from fine-grained problems that imply fine-grained one-way functions. 1.2 Previous Works There has been much prior work leading up to our results. First, there are a few results using assumptions from fine-grained complexity and applying them to cryptography. Second, there has been work with the kind of assumptions that we will be using. 1 Assuming the hardness of these problems for more general k will imply P ďż˝= NP , but that is not the focus of our work. 610 R. LaVigne et al. Fine-Grained Cryptography. Ball et al. [6,7] produce fine-grained wost-case to average-case reductions. Ball et al. leave an open problem of producing a one- way-function from a worst case assumption. They prove that from some fine- grained assumptions building a one-way-function would falsify NSETH [6,18]. We avoid their barrier in this paper by producing a construction of both fine- grained OWFs and fine-grained PKE from an average-case assumption. Fine-Grained Key Exchanges. Fine-grained cryptography is a relatively unex- plored area, even though it had its start in the 1970’s with Merkle puzzles: the gap between honestly participating in the protocol versus breaking the security guarantee was only quadratic [43]. Merkle originally did not describe a plausi- ble hardness assumption under which the security of the key exchange can be based. 30 years later, Biham, Goren, and Ishai showed how to implement Merkle puzzles by making an assumption of the existence of either a random oracle or an exponential gap one way function [16]. That is, Merkle puzzles were built under the assumption that a one-way function exists which takes time 2n(1/2+δ) to invert for some δ > 0. So while prior work indeed succeeded in building a fine- grained key-exchange, it needed a very strong variant of OWFs to exist. It is thus very interesting to obtain fine-grained public key encryption schemes based on a fine-grained assumption (that might even work in Pessiland and below). Another Notion of Fine-Grained Cryptography. In 2016, work by Degwekar, Vaikuntanathan, and Vasudevan [22] discussed fine-grained complexity with respect to both honest parties and adversaries restricted to certain circuit classes. They obtained constructions for some cryptographic primitives (including PKE) when restricting an adversary to a certain circuit class. From the assumption NC1 ďż˝= ⊕L/poly they show Alice and Bob can be in AC0[2] while being secure against NC1 adversaries. While [22] obtains some unconditional constructions, their security relies on the circuit complexity of the adversary, and does not apply to arbitrary time-bounded adversaries as is usually the case in cryptogra- phy. That is, this restricts the types of algorithms an adversary is allowed to use beyond just how much runtime these algorithms can have. It would be interest- ing to get similar results in the low-polynomial time regime, without restricting an adversary to a certain circuit class. Our results achieve this, though not unconditionally. Tight Security Reductions and Fine-Grained Crypto. Another area the world of fine-grained cryptography collides with is that of tight security reductions in cryptography. Bellare et.al. coined the term “concrete” security reductions in [12,14]. Concrete security reductions are parametrized by time (t), queries (q), size (s), and success probability (Îľ). This line of work tracks how a reduction from a problem to a construction of some cryptographic primitive effects the four parameters of interest. This started a rich field of study connecting theory to practical cryptographic primitives (such as PRFs, different instantiations of symmetric encryption, and even IBE for example [10,11,15,36]). In fine-grained reductions we also need to track exactly how our adversary’s advantage changes Public-Key Cryptography in the Fine-Grained Setting 611 throughout our reductions, however, we also track the running time of the honest parties. So, unlike in the concrete security literature, when the hard problems are polynomially hard (perhaps because P = NP ), we can track the gap in running times between the honest and dishonest parties. This allows us to build one way functions and public key cryptosystems when the hard problems we are given are only polynomially hard (Fig. 1). Fig. 1. A table of previous works’ results in this area. There have been several results characterizing different aspects of fine-grained cryptography. *It was [16] who showed that Merkle’s construction could be realized with a random oracle. However, Merkle presented the construction. Similar Assumptions. This paper uses hypotheses on the running times of problems that, while solvable in polynomial time, are variants of natural NP- hard problems, in which the size of the solution is a fixed constant. For instance, k-Sum is the variant of Subset Sum, where we are given n numbers and we need to find exactly k elements that sum to a given target, and Zero-k-Clique is the variant of Zero-Clique, in which we are given a graph and we need to find exactly k nodes that form a clique whose edge weights sum to zero. With respect to Subset Sum, Impagliazzo and Naor showed how to directly obtain OWFs and PRGs assuming that Subset Sum is hard on average [32]. The OWF is f(a, s) = (a,a ¡ s), where a is the list of elements (chosen uniformly at random from the range R) and s ∈ {0, 1}n represents the set of elements we add together. In addition to Subset Sum, OWFs have also been constructed from planted Clique, SAT, and Learning-Parity with Noise [34,41]. The constructions 612 R. LaVigne et al. from the book of Lindell and the chapter written by Barak [41] come from a definition of a “plantable” NP-hard problem that is assumed to be hard on average. Although our OWFs are equivalent to scaled-down, polynomial-time solvable characterizations of these problems, we also formalize the property that allows us to get these fine-grained OWFs (plantability). We combine these NP construc- tions and formalizations to lay the groundwork for fine-grained cryptography. In the public-key setting, there has been relatively recent work taking NP- hard problems and directly constructing public-key cryptosystems [4]. They take a problem that is NP-hard in its worst case and come up with an average-case assumption that works well for their constructions. Our approach is similar, and we also provide evidence for why our assumptions are correct. In recent work, Subset Sum was also shown to directly imply public-key cryp- tography [42]. The construction takes ideas from Regev’s LWE construction [48], turning a vector of subset sum elements into a matrix by writing each element out base q in a column. The subset is still represented by a 0–1 matrix, and error is handled by the lack of carrying digits. It is not clear how to directly translate this construction into the fine-grained world. First, directly converting from Sub- set Sum to k-Sum just significantly weakens the security without added benefit. More importantly, the security reduction has significant polynomial overhead, and would not apply in a very pessimistic Pessiland where random planted Sub- set Sum instances can be solved in quadratic time, say. While it would be interesting to reanalyze the time-complexity of this con- struction (and others) in a fine-grained way, this is not the focus of our work. Our goal is to obtain novel cryptographic approaches exploiting the fine-grained nature of the problems, going beyond just recasting normal cryptography in the fine-grained world, and obtaining somewhat generic constructions. 1.3 Technical Overview Here we will go into a bit more technical detail in describing our results. First, we need to describe our hardness assumptions. Then, we will show how to use them for our fine-grained key exchange, and finally, we will talk briefly about fine-grained OWFs and hardcore bits. Our Hardness Assumption. We generate a series of properties where if a problem has these properties then a fine-grained public key-exchange can be built. One property we require is that the problem is hard on average, in a fine- grained sense. Intuitively, a problem is average case indistinguishably hard if given an instance that is drawn with probability 1/2 from instances with no solutions and with probability 1/2 from instances with one solution, it is com- putationally hard on average to distinguish whether the instance has 0 or 1 solutions. The rest of the properties are structural; we need a problem that is plantable, average-case list-hard, and splittable. Informally, Public-Key Cryptography in the Fine-Grained Setting 613 – The plantable property roughly says that one can efficiently choose to gen- erate either an instance without a solution or one with a solution, knowing where the solution is; – The average case list-hard property says that if one is given a list of instances where all but one of them are drawn uniformly over instances with no solu- tions, and a random one of them is actually drawn uniformly from instances with one solution, then it is computationally hard to find the instance with a solution; – Finally, the splittable property says that one can generate from one average case instance, two new average case instances that have the same number of solutions as the original one. These are natural properties for problems and hypotheses to have. We will demonstrate in the full version Zero-k-Clique has all of these properties. We need our problem to have all three of these qualities for the key exchange. For our one-way function constructions we only need the problem to be plantable. The structural properties are quite generic, and in principle, there could be many problems that satisfy them. We exhibit one: the Zero-k-Clique problem. Because no known algorithmic techniques seem to solve Zero-k-Clique even when the weights are selected independently uniformly at random from [0, cnk] for a constant c, folklore intuition dictates that the problem might be hard on average for this distribution: here, the expected number of k-Cliques is Θ(1), and solving the decision problem correctly on a large enough fraction of the random instances seems difficult. This intuition was formally proposed by Pettie [46] for the very related k-Sum problem which we also consider. We show that the Zero-k-Clique problem, together with the assumption that it is fine-grained hard to solve on average, satisfies all of our structural properties, and thus, using our main theorem, one can obtain a fine-grained key exchange based on Zero-k-Clique. Key Exchange Assumption. We assume that when given a complete k-partite graph with kn nodes and random weights [0, R − 1], R = Ί(nk), any adversary running in time nk−Ω(1) time cannot distinguish an instance with a zero-k- clique solution from one without with more than 2/3 chance of success. In more detail, consider a distribution where with probability 1/2 one generates a ran- dom instance of size n with no solutions, and with probability 1/2 one generates a random instance of size n with exactly one solution. (We later tie in this dis- tribution to our original uniform distribution.) Then, consider an algorithm that can determine with probability 2/3 (over the distribution of instances) whether the problem has a solution or not. We make the conjecture that such a 2/3- probability distinguishing algorithm for Zero-k-Clique, which can also exhibit the unique zero clique whenever a solution exists, requires time nk−o(1). Public Key Exchange. So, what does the existence of a problem with our three properties, plantable, average-case list-hard, and splittable, imply? 614 R. LaVigne et al. The intuitive statement of our main theorem is that, if a problem has the three properties, and is nk hard to solve on average and can be generated in ng time (for Zero-k-Clique g = 2), then a key exchange exists that takes O(N) time for Alice and Bob to execute, and requires an eavesdropper Eve Ί̃(N (3k−2g)/(2k−g)) time to break. When k > g Eve takes super linear time in terms of N . When k = 3 and g = 2, an important case for the Zero-k-Clique prob- lem, Eve requires Ί̃(N5/4) time. For the rest of this overview we will describe our construction with the prob- lem Zero-k-Clique. To describe how we get our key exchange, it is first helpful to consider Merkle Puzzles [8,16,43]. The idea is simple: let f be a one way permutation over n bits (so a range of 2n values) requires 2n( 1 2+Îľ) time to invert for some constant Îľ > 0. Then, Alice and Bob could exchange a key by each computing f(v) on 10 ¡ 2n/2 random element v ∈ [2n] and sending those values f(v) to each other. With .9 probability, Alice and Bob would agree on at least one pre-image, v. It would take an eavesdropper Eve Ί(2n( 1 2+Îľ)) time before she would be able to find the v agreed upon by Alice and Bob. So, while Alice and Bob must take O(2n/2) time, Eve must take O(2n( 1 2+Îľ)) time to break it. Our construction will take on a similar form: Alice and Bob will send sev- eral problems to each other, and some of them will have planted solutions. By matching up where they both put solutions, they get a key exchange. Concretely, Alice and Bob will exchange m instances of the Zero-k- Clique problem and in √ m of them (chosen at random), plant solutions. The other m−√ m will not have solutions (except with some small probability). These m problems will be indexed, and we expect Alice and Bob to have both planted a solution in the same index. Alice can check her √ m indices against Bob’s, while Bob checks his, and by the end, with constant probability, they will agree on a single index as a key. In the end, Alice and Bob require O(mng + √ mnk) time to exchange this index. Eve must take time Ί̃(nkm). When m = n2k−2g, Alice and Bob take O(n2k−g) time and Eve takes Ί̃(n3k−2g). We therefore get some gap between the running time of Alice and Bob as compared to Eve for any value of k ≥ g. Furthermore, for all δ > 0 there exists some large enough k such that the difference in running time is at least O(T (n)) time for Alice and Bob and Ί̃(T (n)1.5−δ) time for Eve. Theorem 5 is the formal theorem statement. To show hardness for this construction we combine techniques from both fine- grained complexity and cryptography (see Fig. 2). We take a single instance and use a self-reduction to produce a list of ďż˝ instances where one has a solution whp if the original instance has a solution. In our reductions ďż˝ will be polynomial in the input size. Then, we take this list and produce two lists that have a solution in the same location with high probability if the original instance has a solution. Finally, we plant √ ďż˝ solutions into the list, to simulate Alice and Bob’s random solution planting. One Way Functions. First, and informally, a fine-grained OWF is a function on n bits that requires Õ(T (n)1−δ) time to evaluate for some constant δ > 0, and if any adversary attempts to invert f in time Õ(T (n)1−δ′ ) for any constant Public-Key Cryptography in the Fine-Grained Setting 615 Fig. 2. A depiction of our reduction showing hardness for our fine-grained key exchange. δ′ > 0, she only succeeds with probability at most Îľ(n), where Îľ is considered “insignificant.” Ball et al. [6] defined fine-grained OWFs, keeping track of the time required to invert and the probability of inversion in two separate parameters. We streamline this definition by fixing the probability an adversary inverts to an insignificant function of input size, which we define in Sect. 2. For this overview, we will focus on the intuition of using specific problems k-Sum-R (k-Sum modulo R) or Zero-k-Clique-R (Zero-k-Clique modulo R) to get fine-grained OWFs, though in the full version, we construct fine-grained OWFs from a general class of problems. Let N be the size of the input to these problems. Note that if R is too small (e.g. constant), then these problems are solvable quickly and the assumptions we are using are false. So, we will assume R = Ί(nk). OWF Assumptions. Much like for our key exchange, our assumptions are about the difficulty of distinguishing an instance of k-Sum or Zero-k-Clique with prob- ability more than 2/3 in time faster than nk/2 or nk respectively. Formally, randomly generating a k-Sum-R instance is creating a k lists of size n with val- ues randomly chosen from [0, R−1]. Recall that a random Zero-k-Clique instance is a complete k-partite graph where weights are randomly chosen from [0, R−1]. Our ‘weak’ k-Sum-R and Zero-k-Clique-R assumptions state that for any algo- rithm running in O(n) time, it cannot distinguish between a randomly generated instance with a planted solution and one without with probability greater than 2/3. Note that these assumptions are much weaker than the previously described key-exchange assumption, where we allowed the adversary O(nk−Ω(1)) time instead of sub-linear. Theorem 1 (Fine-Grained OWFs (informal)). If for some constant δ > 0 and range R = Ί(nk) either k-Sum-R requires Ί(N1+δ) time to solve with 616 R. LaVigne et al. probability >2/3 or Zero-k-Clique-R requires Ί(N (1+δ)) time to sol";"""date"",""2020-07-31T19:55:45Z"" ""pdf:PDFVersion"",""1.6"" ""xmp:CreatorTool"",""Springer"" ""pdf:docinfo:title"",""Public-Key Cryptography in the Fine-Grained Setting"" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""subject"",""Advances in Cryptology – CRYPTO 2019, doi:10.1007/978-3-030-26954-8_20"" ""pdfa:PDFVersion"",""A-2b"" ""xmpMM:History:Action"",""converted"",""converted"",""converted"" ""language"",""en"" ""dc:format"",""application/pdf; version=""""A-2b"""""",""application/pdf; version=1.6"" ""pdf:docinfo:creator_tool"",""Springer"" ""access_permission:fill_in_form"",""true"" ""xmpMM:History:When"",""2019-07-17T11:40:14Z"",""2019-07-17T11:41:13Z"",""2020-07-31T15:55:45Z"" ""pdf:encrypted"",""false"" ""dc:title"",""Public-Key Cryptography in the Fine-Grained Setting"" ""xmp:CreateDate"",""2019-07-17T11:38:46Z"" ""modified"",""2020-07-31T19:55:45Z"" ""cp:subject"",""Advances in Cryptology – CRYPTO 2019, doi:10.1007/978-3-030-26954-8_20"" ""xmpMM:History:SoftwareAgent"",""pdfToolbox"",""pdfToolbox"",""Preflight"" ""pdf:docinfo:subject"",""Advances in Cryptology – CRYPTO 2019, doi:10.1007/978-3-030-26954-8_20"" ""pdf:hasMarkedContent"",""false"" ""xmpMM:History:InstanceID"",""uuid:f8f8b852-1c63-404c-b1c2-8145c0ddf666"",""uuid:c774bb94-e671-4000-b30e-c8f4f253cacb"",""uuid:3a8b800b-5d1c-4104-8cc6-ac4979a32ff1"" ""xmp:ModifyDate"",""2020-07-31T15:55:45Z"" ""pdf:docinfo:creator"",""Rio LaVigne "" ""meta:author"",""Rio LaVigne "",""Andrea Lincoln "",""Virginia Vassilevska Williams "" ""meta:creation-date"",""2019-07-17T06:08:46Z"" ""created"",""2019-07-17T06:08:46Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2019-07-17T06:08:46Z"" ""resourceName"",""10178933"" ""pdfaid:part"",""2"" ""Author"",""Rio LaVigne "",""Andrea Lincoln "",""Virginia Vassilevska Williams "" ""pdf:unmappedUnicodeCharsPerPage"",""1"",""3"",""4"",""0"",""2"",""1"",""0"",""0"",""0"",""8"",""3"",""0"",""0"",""16"",""4"",""0"",""9"",""18"",""11"",""6"",""0"",""2"",""2"",""33"",""16"",""32"",""12"",""0"",""0"",""0"",""0"" ""dc:description"",""Advances in Cryptology – CRYPTO 2019, doi:10.1007/978-3-030-26954-8_20"" ""access_permission:modify_annotations"",""true"" ""dc:creator"",""Rio LaVigne "",""Andrea Lincoln "",""Virginia Vassilevska Williams "" ""description"",""Advances in Cryptology – CRYPTO 2019, doi:10.1007/978-3-030-26954-8_20"" ""dcterms:created"",""2019-07-17T06:08:46Z"" ""Last-Modified"",""2020-07-31T19:55:45Z"" ""dcterms:modified"",""2020-07-31T19:55:45Z"" ""title"",""Public-Key Cryptography in the Fine-Grained Setting"" ""xmpMM:DocumentID"",""uuid:e23557a3-a1bf-4a85-a057-84625f2278ea"" ""Last-Save-Date"",""2020-07-31T19:55:45Z"" ""pdf:docinfo:modified"",""2020-07-31T19:55:45Z"" ""meta:save-date"",""2020-07-31T19:55:45Z"" ""Content-Length"",""702582"" ""Content-Type"",""application/pdf"" ""xmp:MetadataDate"",""2020-07-31T15:55:45Z"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"",""Rio LaVigne "",""Andrea Lincoln "",""Virginia Vassilevska Williams "" ""pdfaid:conformance"",""B"" ""dc:language"",""EN"" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""31"" ""pdf:hasXMP"",""true"" ""pdf:charsPerPage"",""2542"",""2593"",""2927"",""2460"",""2542"",""2816"",""1462"",""2520"",""2577"",""2708"",""1694"",""2359"",""2030"",""2157"",""1662"",""2076"",""2164"",""2209"",""2394"",""2234"",""2147"",""2535"",""2376"",""2336"",""2238"",""2379"",""2245"",""2998"",""2706"",""2861"",""548"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2019-07-17T06:08:46Z"" ";https://scholar.google.com/scholar?start=660&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094626-1016;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Revelio: A MimbleWimble proof of reserves protocol;A Dutta, S Vijayakumaran ; … Valley Conference on Blockchain …, 2019 ieeexplore.ieee.org;;"… 7 2019 Crypto Valley Conference on Blockchain Technology (CVCBT) 978-1-7281-3669- 1/19/$31.00 Š2019 IEEE DOI 10.1109/CVCBT.2019.000-5 Page 2 … Let H : {0,1} ? ?? Zn be a cryptographic hash function which is modelled as a random oracle …";Cité 3 fois;Les 4 versions;[PDF] ieee.org;https://ieeexplore.ieee.org/iel7/8782665/8787545/08787552.pdf?casa_token=CDngmngmyl8AAAAA:lJmoNYpN0lF7SkBXv2S4LHYykpB1icLqx0pF-wcjm-TrXDepB1j-S4UKtN6x1J0eo2o5iTFs2d0;" Skip to Main Content IEEE Account Change Username/Password Update Address Purchase Details Payment Options Order History View Purchased Documents Profile Information Communications Preferences Profession and Education Technical Interests Need Help? US & Canada: +1 800 678 4333 Worldwide: +1 732 981 0060 Contact & Support About IEEE Xplore Contact Us Help Accessibility Terms of Use Nondiscrimination Policy Sitemap Privacy & Opting Out of Cookies A not-for-profit organization, IEEE is the world's largest technical professional organization dedicated to advancing technology for the benefit of humanity. Š Copyright 2021 IEEE - All rights reserved. Use of this web site signifies your agreement to the terms and conditions. ";"""og:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""twitter:title"",""Revelio: A MimbleWimble Proof of Reserves Protocol"" ""twitter:card"",""summary"" ""Description"",""We reveal Revelio, a new privacy-preserving proof of reserves protocol for Grin exchanges. By design, Revelio allows the detection of collusion between exchange"" ""og:title"",""Revelio: A MimbleWimble Proof of Reserves Protocol"" ""resourceName"",""08787552.pdf"" ""language"",""en"" ""title"",""Revelio: A MimbleWimble Proof of Reserves Protocol | IEEE Conference Publication | IEEE Xplore"" ""og:description"",""We reveal Revelio, a new privacy-preserving proof of reserves protocol for Grin exchanges. By design, Revelio allows the detection of collusion between exchanges while hiding the identities of the outputs owned by the exchange in a larger anonymity set of outputs."" ""twitter:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-UA-Compatible"",""IE=Edge"" ""viewport"",""width=device-width, initial-scale=1.0"" ""dc:title"",""Revelio: A MimbleWimble Proof of Reserves Protocol | IEEE Conference Publication | IEEE Xplore"" ""twitter:description"",""We reveal Revelio, a new privacy-preserving proof of reserves protocol for Grin exchanges. By design, Revelio allows the detection of collusion between exchanges while hiding the identities of the outputs owned by the exchange in a larger anonymity set of outputs."" ""Content-Encoding"",""UTF-8"" ""Content-Type-Hint"",""text/html; charset=utf-8"" ""Content-Length"",""38049"" ""Content-Language"",""en-US"" ""Content-Type"",""text/html; charset=UTF-8"" ";https://scholar.google.com/scholar?start=830&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094621-997;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[PDF][PDF] CRED WORKING PAPER N o 2019-24;L Morhaim ;2019 cred.uparis2.fr;;"… react to information coming from external sources (sensors, human interfaces, other applications), often called oracles in the … from the instrumental variable approach on the marginal cost of mining, Metcalfe's law and crypto- currency value … 3.3.1 Blockchain cryptography …";Autres articles;Version HTML;[PDF] u-paris2.fr;http://cred.u-paris2.fr/sites/default/files/working_papers/WP%20CRED%202019-24.pdf;" CRED WORKING PAPER N o 2019-24 Blockchain and cryptocurrencies technologies and network structures: applications, implications and beyond 4 September 2019 Lisa Morhaim∗ ∗CRED - UniversitĂŠ Paris II. Chaire finance digitale. Email : lisa.morhaim@u-paris2.fr 1 Abstract x Blockchain technology is bringing together concepts and operations from several fields, including computing, communications networks, cryptography, and has broad implications and consequences thus encompassing a wide variety of domains and issues, including Network Science, computer sci- ence, economics, law, geography, etc. The aim of the paper is to provide a synthetic sketch of issues raised by the development of Blockchains and Cryptocurrencies, these issues are mainly presented through the link between on one hand the technological aspects, i.e. involved technologies and net- works structures, and on the other hand the issues raised from applications to implications. We believe the link is a two-sided one. The goal is that it may contribute facilitating bridges between research areas. Keywords: Blockchain, Cryptocurrency, Technologies, Network structures, Applications, Implic- ations, Economics, Law, Geography, Humanities, Interdisciplinary research. 1. Introduction Blockchain technology is bringing together concepts and operations from several fields, including computing, communications networks, cryptography, and artificial intelligence (Swan[454]). Addi- tionnally, the separation between economics’ analysis, law analysis, etc can not be quite pertinent as they often mix. The Blockchain technology has broad implications and consequences thus encom- passing a wide variety of domains and issues. Network Science is a deeply interdisciplinary rooted field. Keeping in that tradition, this paper proposes some paths to think about the Blockchain revolution and analyze its technologies and structures, applications and implications in a deeply interdisciplinary way. The objective is mainly twice: to give a most possible synthetic panorama of issues raised by the Blockchain technologies and network structures both for researchers working on a specific Blockchain research area and for researchers working and thinking on the tools in one or some of the specific domain(s) that are in the scope of the paper (which includes besides Network Science, economics, but also computer science, law, geography, political science, etc) and we hope it will easy and enhance interdisciplinary researches. As the paper is intended to easy bridges between area researches, it has been conceived somehow self-contained and synthetic as possible. The aim of the paper is to provide a synthetic sketch of issues raised by the development of Block- chains and Cryptocurrencies. These issues are mainly presented through the link between on one hand the technological aspects (involved technologies and networks structures) and on the other hand the issues raised in Economics, Law, etc, from applications to implications and beyond. We believe the link is a two-sided one. The goal is to contribute facilitating bridges between research areas and to give a first introduction to these links and issues. It refers to many existing good surveys and on-going research. The panorama have been thought from the issues they raise and discuss. Given the fast rythm at which new articles and analysis are provided, it is becoming impossible to cover exhaustively the literature on Blockchain, cryptocurrencies and related fields. Choices have been made in order to provide a quite wide range of questions and issues that are being currently discussed while easying 2 interdisciplinary research. Network Science is rooted as an interdisciplinary field using and providing mathematical, physical, statistical as well as biological, engineering and computer science tools. As the Blockchain technology field is spreading, it is becoming clearer and clearer that Network Science can deeply fruitfully provide and develop tools at the interaction with some other various disciplines, as Economics, Law, Geography, History, Anthropology, Sociology, Political Science, etc....The aim of this paper is to give insights on what such an experience is already being done while providing some motivation and will for future research, mainly through a few chosen examples and studies. The main remarkable feature of blockchain technology is that it has been thought so that the users trust the system without no longer having to trust the partner or an intermediary and so that it solves the double-spending1 issue. Cryptocurrency2. As reported by the ECB-European Central Bank[44, 45], Virtual Currency Schemes (VCS) are diverse, ECB distinguishing closed, unidirectional, and bi-directional VCS while underlying that the most common approach distinguishes centralised and decentralised VCS. De- centralised bi-directional VCS (the vast majority of all VCS) can differ from various standpoints.4 The virtual currency ecosystem involves new categories of actors not before present in the payments environment.5 Since Nakamoto’s seminal paper[341] on Bitcoin, the Blockchain technology is cur- rently intensively studied in the scientific community. As Swan[454] underlines: Bitcoin terminology can be confusing because the word Bitcoin is used to simultaneously denote three different things. First, Bitcoin refers to the underlying blockchain technology platform. Second, Bitcoin is used to mean the protocol that runs over the underlying blockchain technology to describe how assets are transferred on the blockchain. Third, Bitcoin denotes a digital currency, Bitcoin, the first and largest of the cryptocurrencies. Blockchain and cryptocurrencies: definitions, technologies and specificities A block- chain is the combination of several technologies and characteristics: distributed database over a P2P network, public-key cryptography (including eventually digital signature) and eventually con- sensus mechanisms (see Narayanan Clark[344]). Narayanan Clark[344] show that, in 2008 when Nakamoto[341]’s paper on Bitcoin was published, nearly all of the technical components of bitcoin originated in the academic literature of the 1980s and ‘90s.6. For a discussion on public blockchain versus private (and semi-private) blockchain see Guegan[210]. A cryptographic hash function h is firstly a hash function i.e. one that maps a bit string x (of 1i.e. spending the same unit more than once. 2Cryptocurrencies date from Chaum 1983[118] and many developments have followed (see [412]). Haber Stor- netta 1990[217], refering to Diffie Hellman[153]’s asymmetric (i.e. public-key) cryptography3 (see also RSA[407], Merckle[323], Bayer Haber Stornetta[55]), first described the concept of a blockchain. 4ECB[44, 45]. They can differ from their validating systems (i.e. the methods used for validating the transactions made and securing the network), the algorithms involved (i.e. the mathematical procedure for calculating and processing data), their (total) supply of coins, a functional perspective (i.e. extra features available on the network). 5These are (ECB[44, 45]): inventors (known or unknown individuals or organisations that create a virtual currency and develop the technical part of its network, issuers (that are able to generate units of the virtual currency), miners (persons, sometimes working as a group, who voluntarily make computer processing available in order to validate a set of transactions (a “block”) made with a decentralised VCS and add this to the payment ledger (a “blockchain”)), processing service providers (facilitating the transfer of units from one user to another, these services being part of the activity performed by the miners in decentralised VCS), users, wallet providers (offering a digital wallet to users for storing their virtual currency cryptographic keys and transaction authentication codes, online or offline wallets, although users can also set up and maintain a wallet themselves without making use of a wallet provider), exchanges offer trading services (quoting exchange rates by which the exchange will buy/sell virtual currency against the main currencies), trading platforms (that function as marketplaces) and various other actors not specific to the VCS environment (merchants, payment facilitators, software developers, computer hardware manufacturers (building specific equipment for mining) and ATM-Automated Teller Machine manufacturers). 6See also Sherman[436] 3 arbitrary length) to a short unique value h(x) (a short bit string of fixed length) such that computing h(x) knowing x is easy. Given a hash function h, a collision is a couple (x, x′) such that x 6= x′ and h(x) = h(x′). A cryptographic hash function h is collision resistant, i.e. it is infeasible7 to find a collision. It is a one-way function: finding x from its hash value h(x) is infeasible. It is expected to satisfy the avalanche effect: a small change in x must lead to a large change in h(x).8 Public-key (or asymmetric) cryptography is a cryptographic system that involves the use of two keys, a public-key that may be disseminated widely9 by the owner and a private key known only to the owner (and that must remain private to achieve efffective security). The key used to encrypt the message cannot be used to decrypt it, and the message encrypted using one key can only be decrypted with the other key. It can ensure confidentiality, the message (data) being encrypted by the sender with the recipient’s public key and decrypted by the recipient with the recipient’s private key. It can ensure authentication and data integrity through digital signatures, the message being encrypted by the sender with her/his own private key and decrypted by anyone with the sender’s public key. Combining public-key cryptography and hash functions allows to ensure both authentication and confidentiality efficiently. A blockchain is a distributed ledger (i.e. a distributed database allowing to record and share data across multiple data stores, the ledgers) with a linked list of blocks using hash pointers (i.e. pointers to where some information is stored, together with a cryptographic hash of the information), such that additions to the database are done through the procedure • transactions are grouped with other transactions to form a block • the network nodes determine collectively if the block is valide through a validation algorithm called a consensus mechanism • as an example, in the PoW consensus mechanism, a puzzle that needs time and computing power has to be solved. The miner who first solves the puzzle sends the solution to the other nodes of the network (who can easily check it and validate the transactions in the block), and is rewarded for his contribution to the network by finding the puzzle solution. • once a block (each block containing the transactions, a hash of its own, a hash of the previous block, timestamp) is validated, it is added to the database and the blockchain is updated accross the network. Do you need a blockchain? Blockchain is not advantageous for every situation. On the way to construct indicators for comparing Blockchains. A decision-model. A vademecum on Blockchain for identifying when, which and how. Framework propositions for practitioners and decision-tree. On DLT characteristics. On misconceptions. Insights to select a protocol.. As noted in Swan[454]: the Blockchain is not for every situation despite the many interesting potential uses of blockchain technology, one of the most important skills in the developing industry is to see where it is and is not appropriate to use cryptocurrency and blockchain models (Swan[454]). So, firstly, do you need a Blockchain ? (see Wust[493]) or what blockchain alternative do you need 7meaning here that no process, not even one subject to arbitrary faults, can find a collision (Cachin Guerraoui Rodrigues[99]). In particular, it does not mean that no collision exists. This can also be expressed in terms of “easy/not easy” and is clearly related to algorithmic complexity issues (see Katz et al.[264, 263], Stallings[448]). 8h being clearly not continuous nor invertible. 9Each user will thus have a collection of public keys of the other users 4 ? (see Koens[273]). Criteria are being developed. Guegan Henot[213] analyse from different aspects why a company (in banking or insurance system, and industry) interested to develop its business with a public blockchain decides that a blockchain protocol is more legitimate than another one for the business it wants to develop looking at the legal (in case of dispute) points of view and introduce the notion of probative or evidential value associated to a blockchain in order to provide to the entrepreneurs an intrinsic value characterizing the blockchain he/she wants to use to develop his/her business. By quantifying the revenues a 51% attack can create for the miners, a corresponding cost is provided for each blockchain. Betzwieser 2019[70] propose a decision model for the implementation of Blockchain solutions. Belotti et al.[59] provide a vademecum on Blockchain technologies, drawing a picture to answer to when (when there are actual advantages in using blockchain instead of any other traditional solution, such as centralized databases), which (which kind of blockchain better meets use-case requirements) and how (how to use it). De 2019[148] propose a framework of blockchain models to help practitioners understanding and potentially implement Blockchain- based solutions based. Mulligan[337] propose a framework for practitioners (including a decision- tree). Kannengiesser et al.[260] present a comprehensive set of 49 DLT characteristics synthesized from the literature on DLT, which have been found relevant to consider when developing viable applications on DLT. Conte[134]’s purpose is to clarify current and widespread misconceptions about the properties of blockchain technologies. Shahaab[430] have listed consensus protocols against basic features and sector preference in a tabular format to facilitate selection. They argue that no protocol is a silver bullet, therefore should be selected carefully, considering the sector requirements and environment. Applicability. An applicability framework. A taxonomy of Blockchain applications. Risius and Sohrer[406] provide a framework to understand where and how blockchain technology is effectively applicable and where it has mentionable practical effects. Labazova[284] gives a taxonomy of blockchain applications. Layers Some analysis of Blockchain through layers. A blockchain can be analyzed through its layers (see Singhal et al.[439]): application layer (i.e. the layer where the desired functionalities are coded and made an application out of it for the end users), execution layer (i.e. the layer where the executions of instructions ordered by the application layer take place on all the nodes in a blockchain network, the instructions being simple instructions or a set of multiple instructions in the form of a smart contract), semantic layer (the rules of the system can be defined in this layer, such as data models and structures and how the blocks are linked with each other), propagation layer (i.e. the peer-to-peer communication layer that allows the nodes to discover each other), consensus layer (i.e. the layer getting all the nodes to agree on one consistent state of the ledger). See also Casino[108]. Glaser Hawlitschek Notheisen in [162] (volume 1 chapter 4) investigate the blockchain as a platform and present technical layers of the system as well as institutional characteristics and governance implications, followed by a discussion of the role of trust in blockchain systems. Digital disruption Thinking the Blockchain revolution within innovations (and digital) disruption Theories of disruptive innovations and managerial implications have been explored and developed since the 1990’s. Moller[333] on characterizing digital disruption in the theory of disruptive innov- ation. See also Lessig[290, 291], Wu[492], De Filippi Hassan[144], De Filippi Wright[147], Olleros [359]. On previous and existing surveys BooksMany books on Blockchain have been published. See Narayanan et al. 2016[343], Tapscott[460], Casey[107], Burniske[96], Swan[454], Ammous 2018[20],Campbell-Verduyn [104], Treiblmaier Beck[162], 5 etc. On Blockchain economics: see Tasca 2016[462], Swan[456] and the references herein, and Block- chain and the law: see De Filippi Wright[147]. Surveys General and technical on Blockchain. Cryptocurrencies. Bitcoin. Bitcoin research across disciplines. Consensus and mining strategy. Architecture. Merkle tree. Security. Privacy. Applic- ations. Platforms. Financial sector. ICO. FinTech. RegTech. Governance. Intellectual property. Economics. Game theory. Law. For a technical survey, see Tschorsch[474]. Refer to see Tasca et al.[463] and Casino Dasaklis Patsakis[109] for general surveys. See also [303, 498, 495, 11]. Sejfuli 2018[428] provide a synthetic and general overview of the Architecture, Security and Reliability of blockchain. Belotti et al.[58] provide a vademecum on Blockchain technologies. Bonneau et al.[128] provide a systematic ex- position of the second generation of cryptocurrencies, including Bitcoin and “altcoins.” Hardle[222] provide some insights into the mechanics of cryptocurrencies, describing summary statistics and focusing on potential future research avenues in financial economics. See also Kumar Smith[442]. Singh[438] perform a literature review on Bitcoin and its upsides, downside and divergent views from previous studies. Holub 2018[235] surveys on Bitcoin research across discplines. Wang et al.2019[483] survey on consensus mechanisms and mining strategy management. Yang 2019[500] provides a survey on Blockchain-based internet service architecture (requirements, challenges, trends and future). Bosamia[88] discusses the Merkle tree concept with its advantages and disadvantages and its implementations. Dasgupta et al.[141] and Kolokotronis[275] survey on blockchain from security perspective. See also Taylor[464]. Conti[135] on privacy. On Blockchain applications, see Schedlbauer Wagner[422] for a literature review, Joude[252] for a recent survey on applications us- age in different domains survey. For an overview Platforms based on Distributed Ledger Technology see Schoenhals et al.[424]. Collomb[131] survey on implications on the financial sector. See also Zhao Meng[508]. Li[293] for a recent discussion on ICO current research and future directions. On Fintech see Kavuri 2019[265]. On RegTech see Johansson et al.[257]. For a literature review on use of Blockchain in governance: Razzaq et al.[400]. Wang[481] for a recent summary of research on Blockchain in the field of Intellectual property. On Blockchain economics, see among many Catalini Gans[112] Davidson et al.[143], Abadi Brunnermeier[1], Davidson et al.[143], Halaburda[218] and Qin[390] on economic issues in bitcoin mining and blockchain research. Liu[301] provides a survey on applications of game theory in Blockchain. Benson[61] on implications of adopting Blockchain technology on international sales transactions. For a survey on Blockchain issues and the law, we refer to Filippi Wright[147] and Marmoz[312], Berg et al.[63], see also Ostbye[364] on liability issue if a public cryptocurrency protocol fails. De Filippi Wright[491] on the widespread deployment of Blockchains will lead to expansion of a new subset of law, which they term Lex Cryptographia. Organization of the paper. Section 1 introduces the aims, definitions, literature and frameworks. Section 2 provides a brief sketch of some of the many Blockchain applications. Section 3 describes the technologies, specificities, network structures, implications and related issues of Blockchains and Cryptocurrencies. Section 4 provides some insights on a broader scope. Section 5 concludes. 2. Applications a brief sketch For a systematic literature review of Blockchain-based applications refer to Casino[109]. . In the economic areas, one can insist on Fintech (see Kavuri 2019[265], Anand 2019[25]), Business (see Viriyasitavat et al.[476] investigate the characteristics of Blockchain and business processe), Tourism (see Horst et al. (volume 2 chapter 1 in Treiblmaier Beck 2019[162]), Intellectual property, 6 Industries (see Al-Jaroodi[9]), Payments industry (see Holotiuk et al. (volume 1 chapter 7 in [162]), including a discussion agenda based on pain points and opportunities), Music industry, ICO Crowd- funding and Microfinance (see Boreiko[85] describes all important aspects of Blockchain financing and provide a comparative study of token sales versus crowdfunding and conventional financing methods, provide a review of literature on token sale financing and challenges and provide empirical related studies, Li 2019[293] for a recent discussion on ICO current research and future directions, Fridgen[187] for a taxonomy blockchain and crowdfunding, Arnold et al.(volume 1 chapter 8 in Treiblmaier Beck 2019[162]) on identifying industries and use cases that may benefit from adopting blockchain when it comes to crowdfunding and showing how crowdfunding and initial coin offer- ings differ and how the latter is reshaping the former, Cervhiello[114] for statistical approach to detect characteristics of ICO significantly related to fraudulent behaviors, Holoweiko 2018[234] on ico security, Garratt garratt2019entrepreneurial examines how financing a start-up through an ICO changes the incentives of an entrepreneur relative to debt and venture capital financing: depending on market characteristics, an ICO can result in a better or worse alignment of the interests of the entrepreneur and the investors compared with conventional modes of financing), Humanitarian aid, Shared Economy (see Huckle[245] (volume 1 chapter 3 in[162]) providing a technology adoption per- spective on the Blockchain-Based decentralized business models in the sharing economy and apply agent-based modeling to explore the circumstances under which a decentralized sharing economy business model might achieve widespread adoption), Management and governance (DAO, dApps, Howell 2019[241], Young 2018[502]), Supply Chain (see [478]), Supply Chain Finance (see [233]), Marketing and Adertising uses. In Law areas (see references in Bolotaeva[82], Filippi Hassan[147], De Filippi[147], one can insist on Smart Contracts (SCs) (see Bakos Halaburda 2019[43], Howell 2019[241], see Alharby Moorsel[10], see also[78, 225, 152], Meneghetti[322], senopra[285], [353], see Dargaye[140]10, Tonelli[469], Casino[108], Marchesi Tonnelli[381], Krishnan [277] on smart contract and interoperability, O’Shields[361] and Westerkamp[485]), Multisignature: Smart Complex Contracts, LegalTech (see Corrales Fenwick Haapio[136]), Regulation (see Smith[441] for a framework, Melo[319], Baidoo[42]), Dispute resolu- tion (Raymond 2014[398]), Crowdsourcing and Court system (Ast[34], Li 2018[295]). Beside Economics and Law, many other applications are being developed: Archives (on decent- ralized scientific publications, see Tenorio 2019[466] and on medical see Coghill[130]), Health (see Burniske 2016[490], Sachin et al. (volume 2 chapter 5 in [162]) presenting a mobile healthcare system for personal health data collection, sharing, and collaboration between individuals and healthcare providers, as well as insurance companies, Genestier[193], review[281, 202, 159, 510, 266, 247, 276]), Agriculture, Food traceability, Energy (see Strucker et al.(volume 2 chapter 2 in Treiblmaier Beck 2019[162]) having a close look at the energy sector and present some ideas on how blockchain might potentially impact this sector in the not-so-far-off future, Peter[376]), Politics (see De Fil- ippi Loveluck[146], Berg[69], Martinez[314] argues on Blockchain solution in eDemocracy platforms, Grontas[203] on electronic voting, Dhillon Grammateia Riley[151] on voting questions for econom- ists, Elsden[168]), Education (see Chen [120], Sommer[444], Palavinel[370]), Post-Disaster Recov- ery (see Nawari Ravindran[345], Demir[150]), Smart cities (see Kitchin[270], Speed[446], Ramos 2019[394]), Prediction markets, Blockchain gaming (see Min[330], and Min[329] on security of block- 10Dargaye[140] presents a formal logical framework able to extend the execution of blockchain transactions to events coming from external oracles: in many industrial applications smart contracts react to information coming from external sources (sensors, human interfaces, other applications), often called oracles in the blockchain jargon, which amplifies their vulnerability, these events being by essence non-reliable, since transaction execution can be triggered by information whose veracity cannot be established by the blockchain 7 chain games). 3. Technologies, network structures and specificities Technical aspects and specificities and related issues involved in applications and implications reveal that advantages of Blockchain can sometimes also be their main limitations. 3.1 Distributed system, peer-to-peer (P2P) network, decentralization and immutability 3.1.1 Distributed system, peer-to-peer (P2P) network and Blockchain Distributed system. Processes cooperate? Distributed computing community. Theoretical aspects of Blockchains. Blockchain protocols are solving a classical distributed computing problem. When a program en- compasses multiple processes (a process representing a computer, a processor in a computer, etc), the fundamental problem is having all the processes cooperate on a common task. Important issues then arise as the tolerance to uncertainty and adversarial influence in a distributed system, which may arise from network delays, faults, or even malicious attacks (Cachin Guerraoui Rodrigues[99]). There is growing work on the line of recent distributed computing11 community efforts dedicated to the theoretical aspects of blockchains (see [28, 387, 214]). Anceaume et al.[26] is the first pa- per specifying blockchains as a composition of abstract data types all together with a hierarchy of consistency criteria that formally characterizes the histories admissible for distributed programs that use them. Anceaume et al.[27] introduce the Distributed Register, a register that mimics the behaviour of the Bitcoin ledger, the aim being to provide formal guarantees on the coherent evolu- tion of Bitcoin.12 Rauchs et al.[396] establish a conceptual framework and terminology that can be applied across DLT systems and to distinguish these newer technologies from ‘traditional’ databases and other systems, providing a multidimensional tool for examining and comparing existing DLT systems and their traits and features, it also can serve when examining new DLT systems proposals. Siris et al.[440] discusses on the interledger approach: blockchains and more generally distributed ledger technologies(DLTs)’ shortcomings becoming more apparent, a relatively recent approach to address their performance, scalability, privacy, and other problems are to use multiple different DLTs instead of relying on just one. Daniel Burkhardt et al. (volume 2 chapter 4 in [162]) argue that distributed ledgers will enable new opportunities to replace existing components on all layers of industrial IT architecture. The main examples of distributed systems without blockchains are distributed systems based on Directed Acyclic Graph (DAG). Instead of a chain, such distributed systems use a Directed Acyc- lic Graph (DAG)13 as decentralized structure. Examples of such cryptocurrencies are Iota (based on the DAG called Tangle), Hashgraph, and Nano. There are other distributed systems without blockchains, for example Corda[227, 93, 92] used to treat financial legal agreements could look like 11see Cachin et al.[99], Fokkink[184, 183] 12Anceaume et al.[27] underlines that even though the behaviour of distributed ledgers is similar to abstractions that have been deeply studied for decades in distributed systems no abstraction is sufficiently powerful to capture the distributed ledger behaviour. 13i.e. une chaine avec des ramifications 8 a firms’ consortium blockchain but uses of a concept of change of states and transactions in place of chain of blocks. 3.1.2 Decentralization Distributed system and organization. New forms of organization. Institutional cryptoeconomics. Dynamics. Organizational economics Resnick[405] discusses how computer-modeling activities can help people move beyond the central- ized mindset, helping them gain new insights into (and appreciation for) the workings of decent- ralized systems. Blockchain can be thought of as an institutional innovation. Berg[68] introduces the V-form organisation, a new form of firm organisation where vertical integration is outsourced to a decentralised distributed ledger (a blockchain), and rely on the coordination of a (trusted) third party. Allen[12] apply institutional cryptoeconomics to the information problems in global trade, model incentives under which blockchain-based supply chain infrastructure will be built, and make predictions about the future of supply chains, arguing blockchain will change the patterns and dy- namics of how, where and what we trade through four main reasons. Berg[66] study the institutional economic dynamics of a wide-spread blockchain technology adoption, examining the structural eco- nomic effects of this institutional innovation as disintermediation in markets, dehierarchicalisation of organisations, and growing private provision of economic infrastructure for exchange, contracting and coordination. Schneider[423] discusses the very concept of decentralization, arguing that to be a reliable concept, it should come with high standards of specificity. Takagi[459] study the economic mechanisms behind blockchain-enabled decentralisation from the viewpoint of organizational eco- nomics. Decentralization analysis and networks. Consensus Network Topology. How to quantify decentraliz- ation. Decentralization metrics. Decentralization function. Mining pools and endogenous fees. See Tasca et al.[463]: Consensus Network Topology describes the type of interconnection between the nodes and the type of information flow between them for transaction and/or for the purpose of validation. Consensus Network Topology is linked to the level of (de)centralisation in the valid- ation process, lthough it is not the only determinant as other factors influence it (like the reward mechanism) (see Bonneau et al.[84]). Gencer et al.[192] study decentralization metrics in Bit- coin and Ethereum networks, adapting Internet measurement techniques. Kwon et al.[282] define (m, Îľ, δ)-decentralization, a state satisfying that there are at least m participants running a node, and the ratio between the total resource power of nodes run by the richest and the δ-th percent- ile participants is less than or equal to 1 + Îľ. So that when δ = Îľ = 0 and m is large enough, (m, Îľ, δ)-decentralization is full decentralization. Kwon et al.[282] study decentralization in PoW- based, proof-of-stake (PoS)-based and delegated proof-of-stake (DPoS)-based coins by the means of studying (m, Îľ, δ)-decentralization. Stifter[450] shows an example of data mining applied to the analysis of the blockchain network. Bodo[81] analyzes decentralization related to distributed ledger technologies (DLTs), its extent, its mode, the systems which it can refer to as the products of particular economic, political, social dynamics around and within these techno-social systems. Chu Wang[127] explore the trade-off decentralization-scalability, decentralization being quantified by the decentralization level they define within the paper. Cong et al.[132] study the centralization and decentralization forces in the creation and competition of mining pools. Dapps (decentralized applications), DAOs (decentralized autonomous organizations), DACs (decent- ralized autonomous corporations) and DASs (decentralized autonomous societies) 9 See Raval[397] for more details on Decentralized Applications. Hsieh[242] analyse Bitcoin as an example to shed light on how a DAO works in the cryptocurrency industry. Some limitations about decentralization. Centralization-decentralization tension. Is decentralization always positive. On the role of the Law. Swan[454] already notes that “There is a mix of forces both toward centralization and decentraliz- ation operating in the blockchain industry”. Hsieh et al.[243] provide a statistical analysis whose results may s";"""date"",""2019-09-05T02:41:59Z"" ""pdf:PDFVersion"",""1.5"" ""pdf:docinfo:title"","""" ""xmp:CreatorTool"",""LaTeX with hyperref package"" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""subject"","""" ""language"",""en"" ""dc:format"",""application/pdf; version=1.5"" ""pdf:docinfo:creator_tool"",""LaTeX with hyperref package"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"","""" ""modified"",""2019-09-05T02:41:59Z"" ""cp:subject"","""" ""pdf:docinfo:subject"","""" ""pdf:hasMarkedContent"",""false"" ""pdf:docinfo:creator"","""" ""PTEX.Fullbanner"",""This is pdfTeX, Version 3.1415926-2.5-1.40.14 (TeX Live 2013) kpathsea version 6.1.1"" ""meta:author"","""" ""trapped"",""False"" ""meta:creation-date"",""2019-09-05T02:41:59Z"" ""created"",""2019-09-05T02:41:59Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2019-09-05T02:41:59Z"" ""resourceName"",""WP%20CRED%202019-24.pdf"" ""Author"","""" ""producer"",""pdfTeX-1.40.14"" ""pdf:docinfo:producer"",""pdfTeX-1.40.14"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""4"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""Keywords"","""" ""access_permission:modify_annotations"",""true"" ""dc:creator"","""" ""dcterms:created"",""2019-09-05T02:41:59Z"" ""Last-Modified"",""2019-09-05T02:41:59Z"" ""dcterms:modified"",""2019-09-05T02:41:59Z"" ""title"","""" ""Last-Save-Date"",""2019-09-05T02:41:59Z"" ""pdf:docinfo:keywords"","""" ""pdf:docinfo:modified"",""2019-09-05T02:41:59Z"" ""meta:save-date"",""2019-09-05T02:41:59Z"" ""pdf:docinfo:custom:PTEX.Fullbanner"",""This is pdfTeX, Version 3.1415926-2.5-1.40.14 (TeX Live 2013) kpathsea version 6.1.1"" ""Content-Length"",""669225"" ""Content-Type"",""application/pdf"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"","""" ""dc:subject"","""" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""56"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""223"",""2879"",""4148"",""3131"",""3523"",""3453"",""3866"",""2859"",""3335"",""2622"",""3624"",""3474"",""2949"",""3074"",""3515"",""3825"",""3441"",""3087"",""3715"",""2769"",""3402"",""3070"",""3460"",""3074"",""2597"",""2535"",""2585"",""2432"",""2153"",""2680"",""2328"",""2494"",""2546"",""2462"",""2168"",""2373"",""2293"",""2264"",""2213"",""2436"",""2268"",""2436"",""2328"",""2604"",""2322"",""2387"",""2332"",""2582"",""2341"",""2221"",""2269"",""2604"",""2370"",""2301"",""2286"",""2044"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""pdf:docinfo:trapped"",""False"" ""meta:keyword"","""" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2019-09-05T02:41:59Z"" ";https://scholar.google.com/scholar?start=810&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094583-835;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[HTML][HTML] A generic construction of integrated secure-channel free PEKS and PKE and its application to EMRs in cloud storage;T Suzuki, K Emura, T Ohigashi ; Journal of medical systems, 2019 Springer;United States of America;"… For example, the challenge ciphertext \(C^{\ast }_{\textsf {PEKS}}||C^{\ast }_{\textsf {PKE}}\) can be modified such as \(C_{\textsf {PEKS}}||C^{\ast }_{\textsf {PKE}}\) where \(C_{\textsf {PEKS}}\neq C^{\ast }_{\textsf {PEKS}}\), and one can send it to the decryption oracle …";Cité 6 fois;Les 7 versions;[HTML] springer.com;https://idp.springer.com/authorize/casa?redirect_uri=https://link.springer.com/article/10.1007/s10916-019-1244-2&casa_token=So6LT_mCHYsAAAAA:L68uVDEVz_ouXmnRvQIiU1v4FrlNsV3SUWTSJYTLxi6n_2x7egvJLleu4uJyUiQga4D3fYqH3SeXzpk;" Advertisement [image: SpringerLink] Search Log in Search SpringerLink Search Associated Content Part of a collection: Systems-Level Quality Improvement Systems-Level Quality Improvement Published: 28 March 2019 A Generic Construction of Integrated Secure-Channel Free PEKS and PKE and its Application to EMRs in Cloud Storage Tatsuya Suzuki1,2, Keita Emura  ORCID: orcid.org/0000-0002-8969-35812 & Toshihiro Ohigashi1,2  Journal of Medical Systems volume 43, Article number: 128 (2019) Cite this article 133 Accesses 3 Citations 1 Altmetric Metrics details Abstract To provide a search functionality for encrypted data, public key encryption with keyword search (PEKS) has been widely recognized. In actual usage, a PEKS scheme should be employed with a PKE scheme since PEKS itself does not support the decryption of data. Since a naive composition of a PEKS ciphertext and a PKE ciphertext does not provide CCA security, several attempts have been made to integrate PEKS and PKE in a joint CCA manner (PEKS/PKE for short). In this paper, we further extend these works by integrating secure-channel free PEKS (SCF-PEKS) and PKE, which we call SCF-PEKS/PKE, where no secure channel is required to send trapdoors. We give a formal security definition of SCF-PEKS/PKE in a joint CCA manner, and propose a generic construction of SCF-PEKS/PKE based on anonymous identity-based encryption, tag-based encryption, and one-time signature. We also strengthen the current consistency definition according to the secure-channel free property, and show that our construction is strongly consistent if the underlying IBE provides unrestricted strong collision-freeness which is defined in this paper. We also show that such an IBE scheme can be constructed by employing the Abdalla et al. transformations (TCC 2010/J. Cryptology 2018). Finally, as an application of SCF-PEKS/PKE, we strengthen the security of encrypted Electronic Medical Record (EMR) system proposed by Guo and Yau (J. Medical Sys. 2015). This is a preview of subscription content, access via your institution. Access options Buy single article Instant access to the full article PDF. CHF 34,95 Tax calculation will be finalised during checkout. Rent this article via DeepDyve. Learn more about Institutional subscriptions Notes 1.As a similar primitive, decryptable searchable encryption has been proposed [20, 23] where keywords can be recovered from ciphertexts via the decryption procedure. One main difference from PEKS/PKE is that no plaintext space is defined. 2.Remark that we do not consider security against keyword guessing attacks which is considered by Fang et al. [18], and leave it as a future work of this paper. 3.This assumption is also natural since we do not consider keyword guessing attacks [18]. 4.Remark that, in our construction, the IBE-part is independent to the plaintext M. Thus, \(\mathcal {B}\) can choose the challenge plaintexts \((R_{0}^{\ast },R_{1}^{\ast })\) regardless of M∗. 5.Remark that \(K^{\ast }_{v}\) can be chosen in the setup phase. Thus, TCR is enough rather than CR. 6.Farshim et al. [19] showed that a transformation proposed by Mohassel [29] is also powerful enough to construct completely robust IBE,al though the transformation requires the random oracle. 7.Although other anonymous IBE schemes without random oracles based on simple assumptions have been proposed, we cannot employ them. For example, the Chen et al. IBE scheme [13] and the Jutla-Roy IBE scheme [24, 25] are IBE-ANO-CPA secure. Although Jutla and Roy gave a CCA version, the scheme is not anonymous due to its public verifiability where one can check whether or not a ciphertext is valid for an identity. References 1.Abdalla, M., Bellare, M., Catalano, D., Kiltz, E., Kohno, T., Lange, T., Malone-Lee, J., Neven, G., Paillier, P., and Shi, H., Searchable encryption revisited: Consistency properties, relation to anonymous IBE, and extensions. J. Cryptol. 21(3):350–391, 2008. Article  Google Scholar  2.Abdalla, M., Bellare, M., and Neven, G.: Robust encryption. In: TCC, pp. 480–497, 2010 Google Scholar  3.Abdalla, M., Bellare, M., and Neven, G., Robust encryption. J. Cryptol. 31(2):307–350, 2018. Article  Google Scholar  4.Baek, J., Safavi-Naini, R., and Susilo, W.: On the integration of public key data encryption and public key encryption with keyword search. In: ISC, pp. 217–232, 2006 5.Bellare, M., and Rogaway, P.: Random oracles are practical: A paradigm for designing efficient protocols. In: ACM Conference on Computer and Communications Security, pp. 62–73, 1993 6.Bellare, M., and Shoup, S.: Two-tier signatures, strongly unforgeable signatures, and fiat-shamir without random oracles. In: Public Key Cryptography, pp. 201–216, 2007 7.Boneh, D., Crescenzo, G. D., Ostrovsky, R., and Persiano, G.: Public key encryption with keyword search. In: EUROCRYPT, pp. 506–522, 2004 8.Boneh, D., and Franklin, M. K.: Identity-based encryption from the weil pairing. In: CRYPTO, pp. 213–229, 2001 9.Boyen, X., and Waters, B.: Anonymous hierarchical identity-based encryption (without random oracles). In: CRYPTO, pp. 290–307, 2006 10.Buccafurri, F., Lax, G., Sahu, R. A., and Saraswat, V.: Practical and secure integrated PKE+PEKS with keyword privacy. In: SECRYPT, pp. 448–453, 2015 11.Canetti, R., Goldreich, O., and Halevi, S., The random oracle methodology, revisited. J. ACM 51(4): 557–594, 2004. Article  Google Scholar  12.Canetti, R., Halevi, S., and Katz, J.: Chosen-ciphertext security from identity-based encryption. In: EUROCRYPT, pp. 207–222, 2004 13.Chen, J., Lim, H. W., Ling, S., Wang, H., and Wee, H.: Shorter IBE and signatures via asymmetric pairings. In: Pairing-Based Cryptography, pp. 122–140, 2012 Google Scholar  14.Chen, Y., Zhang, J., Lin, D., and Zhang, Z., Generic constructions of integrated PKE and PEKS. Des. Codes Cryptography 78(2):493–526, 2016. Article  Google Scholar  15.Emura, K.: A generic construction of secure-channel free searchable encryption with multiple keywords. In: NSS, pp. 3–18, 2017 16.Emura, K., Miyaji, A., Rahman, M. S., and Omote, K., Generic constructions of secure-channel free searchable encryption with adaptive security. Secur. Commun. Netw. 8(8):1547–1560, 2015. Article  Google Scholar  17.Fang, L., Susilo, W., Ge, C., and Wang, J.: A secure channel free public key encryption with keyword search scheme without random oracle. In: CANS, pp. 248–258, 2009 18.Fang, L., Susilo, W., Ge, C., and Wang, J., Public key encryption with keyword search secure against keyword guessing attacks without random oracle. Inf. Sci. 238:221–241, 2013. Article  Google Scholar  19.Farshim, P., Libert, B., Paterson, K. G., and Quaglia, E. A.: Robust encryption, revisited. In: Public-Key Cryptography, pp. 352–368, 2013 Google Scholar  20.Fuhr, T., and Paillier, P.: Decryptable searchable encryption. In: ProvSec, pp. 228–236, 2007 21.Gentry, C.: Practical identity-based encryption without random oracles. In: EUROCRYPT, pp. 445–464, 2006 Google Scholar  22.Guo, L., and Yau, W., Efficient secure-channel free public key encryption with keyword search for EMRs in cloud storage. J. Med. Syst. 39(2):11, 2015. Article  Google Scholar  23.Hofheinz, D., and Weinreb, E., Searchable encryption with decryption in the standard model. IACR Cryptology ePrint Archive 2008:423, 2008. Google Scholar  24.Jutla, C. S., and Roy, A.: Shorter quasi-adaptive NIZK proofs for linear subspaces. In: ASIACRYPT, pp. 1–20, 2013 Google Scholar  25.Jutla, C. S., and Roy, A., Shorter quasi-adaptive NIZK proofs for linear subspaces. J. Cryptology 30(4): 1116–1156, 2017. Article  Google Scholar  26.Kiah, M. L. M., Nabi, M. S., Zaidan, B. B., and Zaidan, A. A., An enhanced security solution for electronic medical records based on AES hybrid technique with SOAP/XML and SHA-1. J. Med. Syst. 37(5):9971, 2013. Article  Google Scholar  27.Kiltz, E.: Chosen-ciphertext security from tag-based encryption. In: TCC, pp. 581–600, 2006 Google Scholar  28.Lu, C., Wu, Z., Liu, M., Chen, W., and Guo, J., A patient privacy protection scheme for medical information system. J. Med. Syst. 37(6):9982, 2013. Article  Google Scholar  29.Mohassel, P.: A closer look at anonymity and robustness in encryption schemes. In: ASIACRYPT, pp. 501–518, 2010 30.Pedersen, T. P.: Non-interactive and information-theoretic secure verifiable secret sharing. In: CRYPTO, pp. 129–140, 1991 31.Rhee, H. S., Park, J. H., and Lee, D. H., Generic construction of designated tester public-key encryption with keyword search. Inf. Sci. 205:93–109, 2012. Article  Google Scholar  32.Saraswat, V., and Sahu, R. A.: Short integrated PKE+PEKS in standard model. In: SPACE, pp. 226–246, 2017 33.Suzuki, T., Emura, K., and Ohigashi, T.: A generic construction of integrated secure-channel free PEKS and PKE. In: ISPEC, pp. 69–86, 2018 Google Scholar  34.Wang, T., Au, M. H., and Wu, W.: An efficient secure channel free searchable encryption scheme with multiple keywords. In: NSS, pp. 251–265, 2016 Google Scholar  35.Wee, H.: Public key encryption against related key attacks. In: Public Key Cryptography, pp. 262–279, 2012 Google Scholar  36.Zhang, R., and Imai, H., Combining public key encryption with keyword search and public key encryption. IEICE Trans. 92-D(5):888–896, 2009. Article  Google Scholar  Download references Acknowledgements We thank Dr. Yohei Watanabe for helpful discussion. Funding This work was supported in part by the JSPS KAKENHI Grant Number JP16H02808 and the MIC/SCOPE #162108102. Author information Affiliations Tokai University, 2-3-23, Takanawa, Minato-ku, Tokyo, 108-8619, Japan Tatsuya Suzuki & Toshihiro Ohigashi National Institute of Information and Communications Technology (NICT), 4-2-1, Nukui-kitamachi, Koganei, Tokyo, 184-8795, Japan Tatsuya Suzuki, Keita Emura & Toshihiro Ohigashi Authors Tatsuya SuzukiView author publications You can also search for this author in PubMed Google Scholar Keita EmuraView author publications You can also search for this author in PubMed Google Scholar Toshihiro OhigashiView author publications You can also search for this author in PubMed Google Scholar Corresponding author Correspondence to Tatsuya Suzuki. Ethics declarations Conflict of interests We declare that we have no conflict of interest. Ethical approval This article does not contain any studies with human participants or animals performed by any of the authors. Additional information Publisher’s Note Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations. An extended abstract appears in the 14th International Conference on Information Security Practice and Experience (ISPEC 2018) [33]. This is the full version. In this version, we consider encrypted Electronic Medical Records (EMRs) proposed by Guo and Yau [22] as an application of SCF-PEKS/PKE. We can strengthen the security of the system by integrating SCF-PEKS and PKE. Moreover, we add all security proofs that were omitted in the proceedings version. See Section 2 Differences from the Proceedings Version. This article is part of the Topical Collection on Systems-Level Quality Improvement Rights and permissions Reprints and Permissions About this article [image: Verify currency and authenticity via CrossMark] Cite this article Suzuki, T., Emura, K. & Ohigashi, T. A Generic Construction of Integrated Secure-Channel Free PEKS and PKE and its Application to EMRs in Cloud Storage. J Med Syst 43, 128 (2019). https://doi.org/10.1007/s10916-019-1244-2 Download citation Received: 17 September 2018 Accepted: 24 February 2019 Published: 28 March 2019 DOI: https://doi.org/10.1007/s10916-019-1244-2 Keywords PEKS Integration of PEKS and PKE Secure-channel free Joint CCA security Encrypted EMR Associated Content Part of a collection: Systems-Level Quality Improvement Access options Buy single article Instant access to the full article PDF. CHF 34,95 Tax calculation will be finalised during checkout. Rent this article via DeepDyve. Learn more about Institutional subscriptions Advertisement Over 10 million scientific documents at your fingertips Switch Edition Academic Edition Corporate Edition Home Impressum Legal information Privacy statement California Privacy Statement How we use cookies Manage cookies/Do not sell my data Accessibility Contact us Not logged in - 83.76.85.89 Not affiliated Springer Nature Š 2021 Springer Nature Switzerland AG. Part of Springer Nature. \ ";"""dc.publisher"",""Springer"" ""og:image"",""https://media.springernature.com/w200/springer-static/cover/journal/10916.jpg"" ""twitter:card"",""summary"" ""og:site_name"",""Journal of Medical Systems"" ""citation_reference"",""citation_journal_title=J. Cryptol.; citation_title=Searchable encryption revisited: Consistency properties, relation to anonymous IBE, and extensions; citation_author=M Abdalla, M Bellare, D Catalano, E Kiltz, T Kohno, T Lange, J Malone-Lee, G Neven, P Paillier, H Shi; citation_volume=21; citation_issue=3; citation_publication_date=2008; citation_pages=350-391; citation_doi=10.1007/s00145-007-9006-6; citation_id=CR1"",""citation_title=Robust Encryption; citation_inbook_title=Theory of Cryptography; citation_publication_date=2010; citation_pages=480-497; citation_id=CR2; citation_author=Michel Abdalla; citation_author=Mihir Bellare; citation_author=Gregory Neven; citation_publisher=Springer Berlin Heidelberg"",""citation_journal_title=J. Cryptol.; citation_title=Robust encryption; citation_author=M Abdalla, M Bellare, G Neven; citation_volume=31; citation_issue=2; citation_publication_date=2018; citation_pages=307-350; citation_doi=10.1007/s00145-017-9258-8; citation_id=CR3"",""Baek, J., Safavi-Naini, R., and Susilo, W.: On the integration of public key data encryption and public key encryption with keyword search. In: ISC, pp. 217–232, 2006"",""Bellare, M., and Rogaway, P.: Random oracles are practical: A paradigm for designing efficient protocols. In: ACM Conference on Computer and Communications Security, pp. 62–73, 1993"",""Bellare, M., and Shoup, S.: Two-tier signatures, strongly unforgeable signatures, and fiat-shamir without random oracles. In: Public Key Cryptography, pp. 201–216, 2007"",""Boneh, D., Crescenzo, G. D., Ostrovsky, R., and Persiano, G.: Public key encryption with keyword search. In: EUROCRYPT, pp. 506–522, 2004"",""Boneh, D., and Franklin, M. K.: Identity-based encryption from the weil pairing. In: CRYPTO, pp. 213–229, 2001"",""Boyen, X., and Waters, B.: Anonymous hierarchical identity-based encryption (without random oracles). In: CRYPTO, pp. 290–307, 2006"",""Buccafurri, F., Lax, G., Sahu, R. A., and Saraswat, V.: Practical and secure integrated PKE+PEKS with keyword privacy. In: SECRYPT, pp. 448–453, 2015"",""citation_journal_title=J. ACM; citation_title=The random oracle methodology, revisited; citation_author=R Canetti, O Goldreich, S Halevi; citation_volume=51; citation_issue=4; citation_publication_date=2004; citation_pages=557-594; citation_doi=10.1145/1008731.1008734; citation_id=CR11"",""Canetti, R., Halevi, S., and Katz, J.: Chosen-ciphertext security from identity-based encryption. In: EUROCRYPT, pp. 207–222, 2004"",""citation_title=Shorter IBE and Signatures via Asymmetric Pairings; citation_inbook_title=Pairing-Based Cryptography – Pairing 2012; citation_publication_date=2013; citation_pages=122-140; citation_id=CR13; citation_author=Jie Chen; citation_author=Hoon Wei Lim; citation_author=San Ling; citation_author=Huaxiong Wang; citation_author=Hoeteck Wee; citation_publisher=Springer Berlin Heidelberg"",""citation_journal_title=Des. Codes Cryptography; citation_title=Generic constructions of integrated PKE and PEKS; citation_author=Y Chen, J Zhang, D Lin, Z Zhang; citation_volume=78; citation_issue=2; citation_publication_date=2016; citation_pages=493-526; citation_doi=10.1007/s10623-014-0014-x; citation_id=CR14"",""Emura, K.: A generic construction of secure-channel free searchable encryption with multiple keywords. In: NSS, pp. 3–18, 2017"",""citation_journal_title=Secur. Commun. Netw.; citation_title=Generic constructions of secure-channel free searchable encryption with adaptive security; citation_author=K Emura, A Miyaji, MS Rahman, K Omote; citation_volume=8; citation_issue=8; citation_publication_date=2015; citation_pages=1547-1560; citation_doi=10.1002/sec.1103; citation_id=CR16"",""Fang, L., Susilo, W., Ge, C., and Wang, J.: A secure channel free public key encryption with keyword search scheme without random oracle. In: CANS, pp. 248–258, 2009"",""citation_journal_title=Inf. Sci.; citation_title=Public key encryption with keyword search secure against keyword guessing attacks without random oracle; citation_author=L Fang, W Susilo, C Ge, J Wang; citation_volume=238; citation_publication_date=2013; citation_pages=221-241; citation_doi=10.1016/j.ins.2013.03.008; citation_id=CR18"",""citation_title=Robust Encryption, Revisited; citation_inbook_title=Public-Key Cryptography – PKC 2013; citation_publication_date=2013; citation_pages=352-368; citation_id=CR19; citation_author=Pooya Farshim; citation_author=BenoĂŽt Libert; citation_author=Kenneth G. Paterson; citation_author=Elizabeth A. Quaglia; citation_publisher=Springer Berlin Heidelberg"",""Fuhr, T., and Paillier, P.: Decryptable searchable encryption. In: ProvSec, pp. 228–236, 2007"",""citation_title=Practical Identity-Based Encryption Without Random Oracles; citation_inbook_title=Advances in Cryptology - EUROCRYPT 2006; citation_publication_date=2006; citation_pages=445-464; citation_id=CR21; citation_author=Craig Gentry; citation_publisher=Springer Berlin Heidelberg"",""citation_journal_title=J. Med. Syst.; citation_title=Efficient secure-channel free public key encryption with keyword search for EMRs in cloud storage; citation_author=L Guo, W Yau; citation_volume=39; citation_issue=2; citation_publication_date=2015; citation_pages=11; citation_doi=10.1007/s10916-014-0178-y; citation_id=CR22"",""citation_journal_title=IACR Cryptology ePrint Archive; citation_title=Searchable encryption with decryption in the standard model; citation_author=D Hofheinz, E Weinreb; citation_volume=2008; citation_publication_date=2008; citation_pages=423; citation_id=CR23"",""citation_title=Shorter Quasi-Adaptive NIZK Proofs for Linear Subspaces; citation_inbook_title=Advances in Cryptology - ASIACRYPT 2013; citation_publication_date=2013; citation_pages=1-20; citation_id=CR24; citation_author=Charanjit S. Jutla; citation_author=Arnab Roy; citation_publisher=Springer Berlin Heidelberg"",""citation_journal_title=J. Cryptology; citation_title=Shorter quasi-adaptive NIZK proofs for linear subspaces; citation_author=CS Jutla, A Roy; citation_volume=30; citation_issue=4; citation_publication_date=2017; citation_pages=1116-1156; citation_doi=10.1007/s00145-016-9243-7; citation_id=CR25"",""citation_journal_title=J. Med. Syst.; citation_title=An enhanced security solution for electronic medical records based on AES hybrid technique with SOAP/XML and SHA-1; citation_author=MLM Kiah, MS Nabi, BB Zaidan, AA Zaidan; citation_volume=37; citation_issue=5; citation_publication_date=2013; citation_pages=9971; citation_doi=10.1007/s10916-013-9971-2; citation_id=CR26"",""citation_title=Chosen-Ciphertext Security from Tag-Based Encryption; citation_inbook_title=Theory of Cryptography; citation_publication_date=2006; citation_pages=581-600; citation_id=CR27; citation_author=Eike Kiltz; citation_publisher=Springer Berlin Heidelberg"",""citation_journal_title=J. Med. Syst.; citation_title=A patient privacy protection scheme for medical information system; citation_author=C Lu, Z Wu, M Liu, W Chen, J Guo; citation_volume=37; citation_issue=6; citation_publication_date=2013; citation_pages=9982; citation_doi=10.1007/s10916-013-9982-z; citation_id=CR28"",""Mohassel, P.: A closer look at anonymity and robustness in encryption schemes. In: ASIACRYPT, pp. 501–518, 2010"",""Pedersen, T. P.: Non-interactive and information-theoretic secure verifiable secret sharing. In: CRYPTO, pp. 129–140, 1991"",""citation_journal_title=Inf. Sci.; citation_title=Generic construction of designated tester public-key encryption with keyword search; citation_author=HS Rhee, JH Park, DH Lee; citation_volume=205; citation_publication_date=2012; citation_pages=93-109; citation_doi=10.1016/j.ins.2012.03.020; citation_id=CR31"",""Saraswat, V., and Sahu, R. A.: Short integrated PKE+PEKS in standard model. In: SPACE, pp. 226–246, 2017"",""citation_title=A Generic Construction of Integrated Secure-Channel Free PEKS and PKE; citation_inbook_title=Information Security Practice and Experience; citation_publication_date=2018; citation_pages=69-86; citation_id=CR33; citation_author=Tatsuya Suzuki; citation_author=Keita Emura; citation_author=Toshihiro Ohigashi; citation_publisher=Springer International Publishing"",""citation_title=An Efficient Secure Channel Free Searchable Encryption Scheme with Multiple Keywords; citation_inbook_title=Network and System Security; citation_publication_date=2016; citation_pages=251-265; citation_id=CR34; citation_author=Tingting Wang; citation_author=Man Ho Au; citation_author=Wei Wu; citation_publisher=Springer International Publishing"",""citation_title=Public Key Encryption against Related Key Attacks; citation_inbook_title=Public Key Cryptography – PKC 2012; citation_publication_date=2012; citation_pages=262-279; citation_id=CR35; citation_author=Hoeteck Wee; citation_publisher=Springer Berlin Heidelberg"",""citation_journal_title=IEICE Trans.; citation_title=Combining public key encryption with keyword search and public key encryption; citation_author=R Zhang, H Imai; citation_volume=92-D; citation_issue=5; citation_publication_date=2009; citation_pages=888-896; citation_doi=10.1587/transinf.E92.D.888; citation_id=CR36"" ""citation_journal_title"",""Journal of Medical Systems"" ""language"",""en"" ""citation_cover_date"",""2019/05/01"" ""og:description"",""To provide a search functionality for encrypted data, public key encryption with keyword search (PEKS) has been widely recognized. In actual usage, a PEKS scheme should be employed with a PKE scheme since PEKS itself does not support the decryption of data. Since a naive composition of a PEKS ciphertext and a PKE ciphertext does not provide CCA security, several attempts have been made to integrate PEKS and PKE in a joint CCA manner (PEKS/PKE for short). In this paper, we further extend these works by integrating secure-channel free PEKS (SCF-PEKS) and PKE, which we call SCF-PEKS/PKE, where no secure channel is required to send trapdoors. We give a formal security definition of SCF-PEKS/PKE in a joint CCA manner, and propose a generic construction of SCF-PEKS/PKE based on anonymous identity-based encryption, tag-based encryption, and one-time signature. We also strengthen the current consistency definition according to the secure-channel free property, and show that our construction is strongly consistent if the underlying IBE provides unrestricted strong collision-freeness which is defined in this paper. We also show that such an IBE scheme can be constructed by employing the Abdalla et al. transformations (TCC 2010/J. Cryptology 2018). Finally, as an application of SCF-PEKS/PKE, we strengthen the security of encrypted Electronic Medical Record (EMR) system proposed by Guo and Yau (J. Medical Sys. 2015)."" ""prism.issn"",""1573-689X"" ""citation_author_email"",""t-suzuki@star.tokai-u.jp"",""k-emura@nict.go.jp"",""ohigashi@tsc.u-tokai.ac.jp"" ""twitter:image:alt"",""Content cover image"" ""prism.number"",""5"" ""citation_issn"",""1573-689X"" ""citation_language"",""en"" ""dc:title"",""A Generic Construction of Integrated Secure-Channel Free PEKS and PKE and its Application to EMRs in Cloud Storage | SpringerLink"" ""Content-Encoding"",""UTF-8"" ""citation_pdf_url"",""https://link.springer.com/content/pdf/10.1007/s10916-019-1244-2.pdf"" ""citation_lastpage"",""15"" ""DOI"",""10.1007/s10916-019-1244-2"" ""citation_journal_abbrev"",""J Med Syst"" ""prism.rightsAgent"",""journalpermissions@springernature.com"" ""citation_author"",""Tatsuya Suzuki"",""Keita Emura"",""Toshihiro Ohigashi"" ""resourceName"",""casa"" ""dc.date"",""2019-03-28"" ""citation_springer_api_url"",""http://api.springer.com/metadata/pam?q=doi:10.1007/s10916-019-1244-2&api_key="" ""citation_issue"",""5"" ""prism.volume"",""43"" ""prism.publicationName"",""Journal of Medical Systems"" ""citation_doi"",""10.1007/s10916-019-1244-2"" ""dc.title"",""A Generic Construction of Integrated Secure-Channel Free PEKS and PKE and its Application to EMRs in Cloud Storage"" ""prism.url"",""https://link.springer.com/article/10.1007/s10916-019-1244-2"" ""citation_volume"",""43"" ""dc.language"",""En"" ""Content-Language"",""en"" ""format-detection"",""telephone=no"" ""citation_publication_date"",""2019/05"" ""prism.endingPage"",""15"" ""citation_title"",""A Generic Construction of Integrated Secure-Channel Free PEKS and PKE and its Application to EMRs in Cloud Storage"" ""citation_author_institution"",""Tokai University, Tokyo, Japan"",""National Institute of Information and Communications Technology (NICT), Tokyo, Japan"",""National Institute of Information and Communications Technology (NICT), Tokyo, Japan"",""Tokai University, Tokyo, Japan"",""National Institute of Information and Communications Technology (NICT), Tokyo, Japan"" ""access"",""No"" ""citation_publisher"",""Springer US"" ""applicable-device"",""pc,mobile"" ""dc.format"",""text/html"" ""description"",""To provide a search functionality for encrypted data, public key encryption with keyword search (PEKS) has been widely recognized. In actual usage, a PEKS "" ""title"",""A Generic Construction of Integrated Secure-Channel Free PEKS and PKE and its Application to EMRs in Cloud Storage | SpringerLink"" ""citation_online_date"",""2019/03/28"" ""twitter:site"",""@SpringerLink"" ""dc.source"",""Journal of Medical Systems 2019 43:5"" ""dc.type"",""OriginalPaper"" ""dc.copyright"",""2019 Springer Science+Business Media, LLC, part of Springer Nature"" ""dc.creator"",""Tatsuya Suzuki"",""Keita Emura"",""Toshihiro Ohigashi"" ""citation_fulltext_html_url"",""https://link.springer.com/article/10.1007/s10916-019-1244-2"" ""prism.publicationDate"",""2019-03-28"" ""Content-Type"",""text/html; charset=UTF-8"" ""journal_id"",""10916"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""dc.description"",""To provide a search functionality for encrypted data, public key encryption with keyword search (PEKS) has been widely recognized. In actual usage, a PEKS scheme should be employed with a PKE scheme since PEKS itself does not support the decryption of data. Since a naive composition of a PEKS ciphertext and a PKE ciphertext does not provide CCA security, several attempts have been made to integrate PEKS and PKE in a joint CCA manner (PEKS/PKE for short). In this paper, we further extend these works by integrating secure-channel free PEKS (SCF-PEKS) and PKE, which we call SCF-PEKS/PKE, where no secure channel is required to send trapdoors. We give a formal security definition of SCF-PEKS/PKE in a joint CCA manner, and propose a generic construction of SCF-PEKS/PKE based on anonymous identity-based encryption, tag-based encryption, and one-time signature. We also strengthen the current consistency definition according to the secure-channel free property, and show that our construction is strongly consistent if the underlying IBE provides unrestricted strong collision-freeness which is defined in this paper. We also show that such an IBE scheme can be constructed by employing the Abdalla et al. transformations (TCC 2010/J. Cryptology 2018). Finally, as an application of SCF-PEKS/PKE, we strengthen the security of encrypted Electronic Medical Record (EMR) system proposed by Guo and Yau (J. Medical Sys. 2015)."" ""og:type"",""article"" ""citation_article_type"",""Systems-Level Quality Improvement"" ""og:title"",""A Generic Construction of Integrated Secure-Channel Free PEKS and PKE and its Application to EMRs in Cloud Storage"" ""prism.doi"",""doi:10.1007/s10916-019-1244-2"" ""X-UA-Compatible"",""IE=edge"" ""citation_firstpage"",""1"" ""prism.startingPage"",""1"" ""viewport"",""width=device-width, initial-scale=1"" ""dc.rightsAgent"",""journalpermissions@springernature.com"" ""prism.section"",""OriginalPaper"" ""dc.identifier"",""doi:10.1007/s10916-019-1244-2"" ""dc.subject"",""Health Informatics"",""Health Informatics"",""Statistics for Life Sciences, Medicine, Health Sciences"" ""og:url"",""https://link.springer.com/article/10.1007/s10916-019-1244-2"" ""prism.copyright"",""2019 Springer Science+Business Media, LLC, part of Springer Nature"" ";https://scholar.google.com/scholar?start=650&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094644-1100;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Omniring: Scaling private payments without trusted setup;RWF Lai, V Ronge, T Ruffing, D Schröder… ; Proceedings of the …, 2019 dl.acm.org;;"… Jiafan Wang Chinese University of Hong Kong ABSTRACT Monero is the largest cryptocurrency with built-in crypto- graphic privacy features … A cryptocurrency typically consists of two components: (1) a public ledger, eg, realized by a blockchain protocol, to publish …";Cité 13 fois;Les 3 versions;[PDF] acm.org;https://dl.acm.org/doi/pdf/10.1145/3319535.3345655?casa_token=W6O7q21Pi1UAAAAA:u5zXL8f_KU1c6FQhKAMEgl5E-iEAB0Gtb_FSIfIXWTJ0_OCyrFKo9KV8x691tDXXmmqxWnnRCcY;;;https://scholar.google.com/scholar?start=910&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094635-1053;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[PDF][PDF] The Rush Dilemma: Attacking and Repairing Smart Contracts on Forking Blockchains.;V Botta, D Friolo, D Venturi, I Visconti ; IACR Cryptol. ePrint Arch., 2019 media.voog.com;;"… where ZKSim1(?,x,w) = ZKSim1(?,x) if R(x, w) = 1, and both oracles ZKSim1 and Prove output ? if R(x, w) = 0. Sometimes we call a non-interactive proof … where Q is the list of all queries to oracle ZKSim1(? … In this section we focus on blockchain-aided MPC for parallel coin tossing …";Cité 2 fois;Les 3 versions;[PDF] voog.com;https://media.voog.com/0000/0042/1115/files/rush%20dilemma.pdf;" The Rush Dilemma: Attacking and Repairing Smart Contracts on Forking Blockchains Vincenzo Botta1, Daniele Friolo2, Daniele Venturi2, and Ivan Visconti1 1Department of Computer Science, Sapienza University of Rome, Italy 2DIEM, University of Salerno, Italy August 2, 2019 Abstract We investigate the security of smart contracts within a blockchain that can fork (as Bit- coin and Ethereum). In particular, we focus on multi-party computation (MPC) protocols run on-chain with the aid of smart contracts, and observe that honest players face the fol- lowing dilemma: Should I rush sending protocol’s messages based on the current view of the blockchain, or rather wait that a message is confirmed on the chain before sending the next one? To the best of our knowledge, the (implicit) default option used in previous work is the second one, and thus known on-chain MPC protocols take long time to be executed on those blockchains with a long confirmation time (e.g., 1 hour per transaction in Bitcoin). While the first option would clearly be preferable for efficiency, we show that this is not necessarily the case for security, as there are natural examples of on-chain MPC protocols that simply become insecure in presence of rushing players. Our contributions are twofold: • For the concrete case of fairly tossing multiple coins with penalties, we show that the lottery protocol of Andrychowicz et al. (S&P ’14) becomes insecure in the presence of rushing players. In addition, we present a new protocol that instead retains security even if the players are rushing. • We design a compiler that takes any on-chain MPC protocol and transforms it into another one (for the same task) that remains secure even in the presence of rushing players. The only (unavoidable) requirement is that honest players start to be rush- ing after the first round of the protocol (by all players) has been confirmed on the blockchain. Our techniques are inspired by ideas on resettably secure computation (Goyal and Sahai, EUROCRYPT ’09). We also provide a prototype implementation of our coin tossing protocol using Ethereum smart contracts, and instantiate our generic compiler in a concrete setting, showing that both our constructions yield considerable improvements in terms of efficiency. Keywords: blockchain, forks, smart contracts, secure computation, resettability. Contents 1 Introduction 1 1.1 Forks and the Double-Spending Problem . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Subtle Attacks to Smart Contracts: Efficiency vs Security . . . . . . . . . . . . . 1 1.3 Our Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.4 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2 Preliminaries 5 2.1 Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2 Standard Primitives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3 Parallel Coin Tossing 7 3.1 The Protocol of Andrychowicz et al. . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.2 A Simple Attack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.3 Our New Lottery Protocol: An Ethereum Smart Contract . . . . . . . . . . . . . 9 4 A Generic Compiler Exploiting Finality 13 4.1 ABC Resettability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4.2 Compiler Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.3 Security Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 5 Efficiency Considerations 19 5.1 Setting the Stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 5.2 Time to Completion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 5.3 Communication Complexity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 6 Conclusions 21 Appendix A Instantiating the Compiler 24 A.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 A.2 Security Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 1 Introduction The rise of blockchains1 is progressively changing the way transactions are executed over the Internet. Indeed, the traditional client-server paradigm turns out to be insufficient when many parties want to perform a joint computation, especially in cases where features like public verifiability and automatic punishment are desired. Instead, blockchains through the execution of smart contracts naturally allow many players to perform a joint computation, even when they are not simultaneously online; moreover they allow to publicly check the actions of all players2 and enforce a proper behavior through financial punishments. 1.1 Forks and the Double-Spending Problem Typical blockchains experience some delays before a transaction can be considered confirmed. Indeed, a large part of the most used blockchains consists of a list of blocks that can temporary fork. In such cases, fork-resolution mechanisms decide which branch is eventually part of the list of blocks and which one is discarded, at the price of cutting off some transactions that for some time have appeared on the blockchain. The existence of transactions that appear and then disappear from a blockchain is the source of the famous double spending attack. In such attack, the adversary performs a payment thorough a transaction on the blockchain in order to receive a service off-chain. If later on the transaction related to the payment disappears from the blockchain, due to the presence of forks, then the attacker gets the money back and can spend it for something else. Therefore, at the end of the day, the service was received for free. The crucial point of the double spending attack is that, while the payment transaction disappears, the obtained service is not canceled since it is not linked to the payment transaction happening on chain. The solution to the double spending problem is pretty harsh: the receiver of a payment will have to wait long time—essentially until the transaction is confirmed and somehow becomes irreversible—before taking future actions. Obviously, this can be problematic when an entire process consists of many sequential transactions and the confirmation time is long. Interestingly, the double spending problem seems to disappear when instead the service consists of another on-chain transaction that is connected to the payment transaction. Indeed, in this case, if as consequence of a fork the payment transaction disappears, then the service transaction disappears too. This chaining of transactions related to the same process can be easily implemented through smart contracts. Indeed, a smart contract can have an initial state s1 that is updated transaction by transaction obtaining s2, s3, and so on. Let ti be the transaction that changes the state from si to si+1. If because of a fork the state goes back to si from a state sj , only ti is again applicable to si, while instead all transactions ti+1, . . . , tj−1 are not applicable to state si. Therefore, by invalidating ti (similarly to the double spending problem where money is used in a new transaction making ti invalid), then ti+1, . . . , tj−1 will be invalidated too. This motivates the possibility of running smart contracts efficiently, without waiting that every single transaction is confirmed before broadcasting the next one. We have therefore the following rush dilemma: to rush or not to rush? 1.2 Subtle Attacks to Smart Contracts: Efficiency vs Security Since transactions take long time to be confirmed in a forking blockchain, the full execution of a smart contract with multiple sequential transactions might take too long. It would thus 1Throughout the paper, we use the terms “blockchain” and “distributed ledger” interchangeably. 2We will often use the two terms “party” and “player” as synonyms. 1 be natural to speed up the execution of smart contracts by rushing and playing messages immediately. Indeed, as mentioned above, by appropriately chaining the transactions of a smart contract, attacks consisting in exploiting the cancellation of a transaction like the double- spending attack are not effective, and therefore rushing could be a valid option. However, we notice that forks can help an adversary to mount more subtle attacks. For example, a player could answer to some transaction A by sending another transaction B as soon as A appears on the blockchain. Obviously, in case of forks, the transaction A could appear on the blockchain in different branches, and then multiple copies of B would follow A. While at first sight this seems to be fine, an adversary computing A can exploit his view of B in a branch of a fork to play adaptively a message different than A in another branch, invalidating some security property of the smart contract. Indeed, different transactions A1 and A2 could be played in the two branches of a fork, and (potentially different) transactions B1 and B2 might be required and played as answers. Notice that the honest player could become aware of the fork only after the fact, i.e., after A1 and B1 have been played already. Indeed, because of a fork, transactions A1 and B1 would just disappear, and transaction A2 might appear instead. The honest player therefore will have to compute B2 to continue the execution of the smart contract. The fact that the adversary can play A2 adaptively after having seen B1 can produce a deviation from the expected behavior of the smart contract, therefore compromising the appealing transparency and robustness guarantees of this technology. In addition, when the transactions represent an on-chain execution of an MPC protocol, the above scenario can be a serious threat for confidential data of honest players. 1.3 Our Contributions Motivated by the dilemma of rushing risking security or waiting paying on efficiency, we investi- gate the security of smart contracts that leverage a forking blockchain. Our main contributions are outlined below. Insecurity of smart contracts with rushing players. Consider a simple smart contract executed by two players, Alice and Bob, willing to establish jointly a random string: 1. Alice starts the protocol by sending to the smart contract a commitment to a random string r1; 2. Bob sends a random string r2 to the smart contract; 3. Alice then opens the commitment, and if the opening is valid the common string is defined to be r = r1 ⊕ r2. For concreteness, say that Alice is honest and Bob is corrupted, and assume that a fork happens after Alice already sent the commitment. If Bob runs the protocol honestly on the first branch, he gets to see Alice’s opening, and thus he can completely bias the output on the other branch by just sending r′2 = r′⊕r1 to the smart contract, for any value r′ of his choice. This motivating example clearly shows that, unless one has proven some kind of resilience to forks, it is certainly preferable to always wait that transactions are confirmed, at the price of having very slow executions of the smart contract. Such slowness could be unacceptable in some applications. As our first result, we analyze a variant of the above attack to the well-known smart con- tract3 of Andrychowicz et al. [ADMM16], for securely realizing multi-party lotteries. The main difference with the toy example from above is that each player commits to a random value ri between 1 and n (where n is the total number of participants to the lottery), and then, after all the commitments have been opened, the winner of the lottery is defined to be the player 3The protocol of [ADMM16] is actually based on Bitcoin, but this makes no difference for our attack. 2 w = r1 + . . .+rn (mod n)+1. An appealing feature of this protocol is that it achieves so-called fairness with penalties: If a malicious player aborts the protocol (e.g., it does not open the commitment before a certain time bound), then a previously deposited amount of coins is auto- matically transferred to the honest players (i.e., to those that correctly opened the commitment on time). Such a feature is particularly important in light of the negative result by Cleve [Cle86] on achieving fairness without honest majority. We note that in the protocol of Andrychowicz et al. it is vital that players are non-rushing, and therefore post new transactions only after the previous transactions in the protocol are already confirmed on the blockchain. Indeed, in the presence of rushing players, a simple variant of the attack described above would allow a malicious party to commit to a value ri such that ∑ i ri (mod n) + 1 = i, assuming that all players already opened the commitments on a minor branch of a fork. On-chain parallel coin tossing. As our second contribution, we go beyond the limits of the protocol of [ADMM16], and present a smart contract that implements such functionality and remains secure even if the players are rushing. In fact, the smart contract we design is more general in that it allows the players to establish a common, uniformly random, string (which in turn allows to run a lottery). Similar to [ADMM16], our protocol also achieves fairness with penalties. The main idea in our construction consists of using verifiable unpredictable functions (VUF) [MRV99] in order to implement a commitment scheme that simultaneously: (i) has an unpre- dictable opening for the receiver even in case of multiple openings of the commitment through multiple evaluations of the VUF with the same key but with different inputs, and (ii) achieves binding for the sender through the uniqueness of the VUF. We put together all the openings into a long string that remains unpredictable as long as there is a single honest player. This long string is then given in input to a random oracle to complete the generation of a random string that can be used in various applications (e.g., to run a multi-party lottery). Notice that this result makes no use of finality of transactions on a blockchain (i.e., we do not need to know after how many blocks a transaction can be considered permanent). We stress that we consider the adversary as a player that tries to exploit the existence of forks in order to bias the output of the smart contract. We are not modelling the adversary of the smart contract as a player that has control over forks, deciding which branch will eventually be discarded and which one will become permanently part of the blockchain. Obviously, a powerful adversary that has control over the forks can always play the protocol on each fork to then select the one that produced the output that she likes the most. This is unavoidable when there is no use of finality of transactions, and we tackle this in our next result that instead takes finality of transactions into account. On-chain MPC with rushing players. As final contribution, we show a general transform to design smart contracts that retain security in the presence of forks (and thus, when properly instantiated, can be more efficient since players are allowed to rush). Our transform is inspired by previous works that show how to make MPC protocols secure against reset attacks [GS09, GM11]. The main idea consists of asking each player to first commit to its input and randomness, and then to run the underlying MPC protocol by additionally proving in zero knowledge4 that each message has been computed correctly w.r.t. the initial commitment. 4Technically, the zero-knowledge proof must also be secure w.r.t. reset attacks. Moreover, the fact that such proofs come from different players requires to protect them w.r.t. man-in-the-middle attacks. To fulfill both requirements we use proofs that are non-interactive and non-malleable. Moreover, for simplicity, we will use the term “proof” rather than “argument” even when computational soundness is sufficient. 3 In addition to connecting the problems of security w.r.t. fork attacks with previous work on resettable security, we actually consider a slightly different setting that remained so far unexplored in the literature. Indeed, in order to model forks we notice that: (i) honest rushing players would use the same input on both branches of a fork, but the randomness would be fresh (since it would be sampled multiple times and the random tape does not move back); (ii) while reset attacks are generically allowed to any previous point of the computation, we can leverage on the properties of a blockchain in order to make sure that there is a bound beyond which one can consider a transaction finalized (e.g., 6 is the commonly recommended number of blocks after which a transaction is considered irreversible in then Bitcoin blockchain), and therefore a transaction can be considered confirmed at some point. Our transform takes advantage of the above two simplifications by requiring honest players to wait for the confirmation of the first transaction of each other player, and by avoiding the use of a pseudo-random function that is traditionally used to change randomness after a reset [GS09]. Note that here we make a minimal use of the finality guarantee of a blockchain, since we ask to wait for the confirmation of only the first message of each player. Waiting for a single confirmation is optimal in light of known impossibility results for several interesting functionalities5 in the presence of arbitrary reset attacks (for us, honest players that because of forks end up playing multiple times the same step of a smart contract or of an MPC protocol). We also discuss a concrete instantiation of our transform on a natural smart contract that would be insecure in the presence of rushing players. Besides achieving security in case of forks, the final protocol features an improved efficiency w.r.t. time to completion, at the price of a small overhead in the communication complexity. 1.4 Related Work Following [ADMM16], several other works focus on achieving fairness with penalties for different applications of interest, including lotteries [BK14, BZ17], decentralized poker [KMB15, BKM17], and general-purpose computation [BK14, KMS+16, KB16, KVV16]. In particular, the line of works by Kumaresan et al. relies on an elegant paradigm working in two phases: During the first phase, the players run an MPC protocol to obtain the output in hidden form (e.g., a secret sharing of the output); since the output is hidden, such a protocol can be executed off chain, as malicious aborts do not violate fairness. During the second phase, the output is then reconstructed in a fair manner on chain. Unfortunately, the security of this paradigm in the presence of rushing players is difficult to assess, as it relies on intermediate ideal functionalities (such as the “claim-or-refund” and “multi-lock” functionality [BK14, KB14]) that, while they can be implemented using Bitcoin or Ethereum, offer a-priori no security guarantee in the presence of reset attacks due to blockchain forks. Moreover, known results about designing protocols in a hybrid model that allows to make calls to a functionality are applicable only to the classical setting where resets are not possible. Also note that performing a large part of the computation off chain hinders one of the main advantages of blockchain-aided MPC (i.e., public verifiability of the entire process). Our results, in contrast, consider MPC protocols run completely on-chain through smart contracts. A different line of works, shows how to perform MPC in the presence of an abstract transac- tion ledger [KZZ16, GG17, BMTZ17, BGM+18, SSV19, CGJ19], of which Bitcoin and Ethereum are possible implementations. However, such an idealized ledger does not account for the pos- sibility of forks, thus (implicitly) meaning that the players using it are modeled as non-rushing. 5E.g., in oblivious transfer a malicious receiver by playing again his very first message would be allowed to obtain both inputs of the sender. 4 2 Preliminaries 2.1 Notation Given an integer n, we let [n] = {1, . . . , n}. If x is a string, we denote its length by |x|; if X is a set, |X | is the number of elements in X . When x is chosen randomly in X , we write x←$ X . When A is an algorithm, we write y←$ A(x) to denote a run of A on input x and output y; if A is randomized, then y is a random variable and A(x;ω) denotes a run of A on input x and random coins ω ∈ {0, 1}∗. Throughout the paper, we denote the security parameter by Îť ∈ N. A function ν(Îť) is negligible in Îť (or just negligible) if it decreases faster than the inverse of every polynomial in Îť, i.e. ν(Îť) ∈ O(1/p(Îť)) for every positive polynomial p(¡). A machine is said to be probabilistic polynomial time (PPT) if it is randomized, and its number of steps is polynomial in the security parameter. For a random variable X, we write P [X = x] for the probability that X takes a particular value x in its domain. A distribution ensemble X = {X(Îť)}Ν∈N is an infinite sequence of random variables indexed security parameter Îť ∈ N. Two distribution ensembles X = {X(Îť)}Ν∈N and Y = {Y(Îť)}Ν∈N are said to be computationally indistinguishable, denoted X ≈c Y if for every non-uniform PPT algorithm D there exists a negligible function ν(¡) such that: |P [D(X(Îť)) = 1]− P [D(Y(Îť)) = 1]| ≤ ν(Îť). When the above equation holds for all (even unbounded) distinguishers D, we say that X and Y are statistically close, denoted X ≈s Y. 2.2 Standard Primitives Verifiable unpredictable functions. A verifiable unpredictable function (VUF) [MRV99] is a tuple of polynomial-time algorithms (Gen,Eval,Prove,Ver) specified as follows. (i) The randomized algorithm Gen takes as input the security parameter and outputs a secret key sk together with a public verification key vk ; (ii) The deterministic algorithm Eval takes as input the secret key sk and an input x within domain D, and outputs a value y belonging to some range R; (iii) The deterministic algorithm Prove takes as input the secret key sk and an input x ∈ D, and outputs a proof φ ∈ {0, 1}∗; (iv) The randomized algorithm Ver takes as an input the verification key vk , an input/output pair (x, y), and a proof φ, and outputs a decision bit. Correctness says that for sufficiently large Îť ∈ N, with overwhelming probability over the choice of (sk , vk)←$ Gen(1Îť), for all x ∈ {0, 1}` it holds that Ver(vk , x,Eval(sk , x),Prove(sk , x)) = 1. As for security, we require two properties known as unique provability and unpredictability. Definition 1 (Unique provability). We say that (Gen,Eval,Prove,Ver) satisfies unique prov- ability if no values (vk , x, y0, y1, φ0, φ1) with y0 6= y1, even maliciously generated, can satisfy Ver(vk , x, y0, φ0) = Ver(vk , x, y1, φ1). In words, for every string vk and every x ∈ D, there exists at most one value y ∈ R for which there is an accepting proof. Definition 2 (Unpredictability). We say that (Gen,Eval,Prove,Ver) satisfies computational unpredictability if for all non-uniform valid PPT attackers A the following quantity is negligible: P [ Eval(sk , x) = y : (vk , sk)←$ Gen(1Îť) (x, y)←$ AO(sk ,¡)(vk) ] , where O(sk , ¡) ≡ {Eval(sk , ¡),Prove(sk , ¡)}, and attacker A is called valid if it never queries x to its oracles. 5 Verifiable unpredictable functions (a.k.a. unique signatures) exist based on a variety of as- sumptions [BR96, MRV99, Lys02, Dod03, DY05, Jag15, HJ16, Bit17]. Commitment schemes. A non-interactive commitment Commit is a PPT algorithm taking as input a message m ∈ {0, 1}`, and outputting a commitment Îł = Commit(m; δ), where δ ∈ {0, 1}∗ is the randomness used to generate the commitment. The pair (m, δ) is called the opening. Intuitively, a secure commitment satisfies two properties called binding and hiding. The first property says that it is hard to open a commitment in two different ways. The second property says that a commitment hides the underlying message. Definition 3 (Binding). We say that a non-interactive commitment Commit is perfectly binding if pairs (m0, δ0), (m1, δ1) such that m0 6= m1 and Commit(m0; δ0) = Commit(m1; δ1) do not exist. Definition 4 (Hiding). We say that a non-interactive commitment Commit is computationally hiding if for all non-uniform PPT adversaries A the following quantity is negligible∣∣∣P [ALR(0,¡,¡)(1Îť) = 1 ] − P [ ALR(1,¡,¡)(1Îť) = 1 ]∣∣∣ , where the oracle LR(b, ¡, ¡) with hard-wired b ∈ {0, 1} takes as input pairs of messages m0,m1 ∈ {0, 1}`, and outputs Commit(mb). Non-interactive commitments satisfying the above properties can be obtained under the assumption of injective one-way functions [GMW91]. Non-interactive zero knowledge. Let R be a relation, corresponding to an NP language L. A non-interactive proof system for R is a tuple of efficient algorithms (Setup,Prove,Ver) specified as follows. (i) The randomized algorithm Setup takes as input the security parameter and outputs a common reference string σ; (ii) The randomized algorithm Prove(σ, (x,w)), given a pair (x,w) s.t. R(x,w) = 1 outputs a proof φ; (iii) The deterministic algorithm Ver(σ, (x, φ)), given an instance x and a proof φ outputs either 0 (for “reject”) or 1 (for “accept”). We say that a NIZK for relation R is correct if for every Îť ∈ N, all σ as output by Setup(1Îť), and any (x,w) s.t. R(x,w) = 1, we have that Ver(σ, (x,Prove(σ, (x,w)))) = 1. We define two properties of a non-interactive proof system. The first property says that honest proofs do not reveal anything beyond the fact that x ∈ L. Definition 5 (Adaptive multi-theorem zero-knowledge [Gro06]). A non-interactive proof sys- tem (Setup,Prove,Ver) for a relation R satisfies adaptive multi-theorem zero-knowledge if there exists a PPT simulator ZKSim := (ZKSim0,ZKSim1) such that for all PPT non-uniform adver- saries A the following quantity is negligible:∣∣∣P [AProve′(σ,¡,¡)(σ) = 1 : σ←$ Setup(1Îť) ] − P [ AZKSim′1(Îś,¡,¡)(σ) = 1 : (σ, Îś)←$ ZKSim0(1 Îť) ] ∣∣∣, where ZKSim′1(Îś, x, w) = ZKSim1(Îś, x) if R(x,w) = 1, and both oracles ZKSim′1 and Prove′ output ⊥ if R(x,w) = 0. Sometimes we call a non-interactive proof system satisfying adaptive multi-theorem zero knowledge a NIZK proof system. The second property states that knowledge soundness holds even if the adversary can see simulated proofs for possibly false statements of its choice. 6 Definition 6 (Simulation extractability [Gro06]). A NIZK proof system (Setup,Prove,Ver) with zero-knowledge simulator (ZKSim0,ZKSim1) for a relation R satisfies simulation extractability if there exists a PPT algorithm KExt = (KExt0,KExt1) such that the output of KExt0 is identical to that of ZKSim0 when restricted to the first two components, and moreover for every non-uniform PPT adversary A the following quantity is negligible: P  Ver(σ, x∗, φ∗) = 1 ∧ (x∗, φ∗) 6∈ Q ∧ R(x∗, w∗) = 0 : (σ, Îś, Ξ)←$ KExt0(1 Îť) (x∗, φ∗)←$ AZKSim1(Îś,¡,¡)(σ) w∗←$ KExt1(Ξ, x ∗, φ∗)  , where Q is the list of all queries to oracle ZKSim1(Îś, ¡, ¡). 3 Parallel Coin Tossing In this section we focus on blockchain-aided MPC for parallel coin tossing. Roughly, such protocols allows a set of players to agree on a uniformly random string, and have many important applications. (For instance, they trivially imply a fair lottery.) After recalling the lottery protocol by Andrychowicz et al. [ADMM16], we show that this construction is not secure in the presence of rushing players. We then propose a new protocol which achieves security in the presence of rushing players, leveraging the power of smart contracts. 3.1 The Protocol of Andrychowicz et al. Background on Bitcoin. In the Bitcoin ledger, each account is associated to a pair of keys (pk , sk), where pk is the verification key of a signature scheme—representing the address of an account—while sk is the corresponding secret key used to sign (the body of) the transactions. Each block on the ledger contains a list of transactions, and new blocks are issued by an entity called miner. The blockchain is maintained via a consensus mechanism based on the proof of work (PoW) [DN92]; users willing to add a transaction to the ledger forward it to all the miners, which will try to include it in the next minted block. Due to the PoW consensus mechanism, each miner could have a different view of the ledger. The common-prefix property [GKL15] roughly states that all the miners have the same view of the blockchain up to a certain number k of blocks (before the last block); this guarantees long-term consistency of the transactions in the ledger. Each view of the blockchain is called a fork ; after k blocks, with high probability, one of these forks will be part of the common prefix. We say that a transaction is valid if it is computed correctly (i.e., the signature is valid, the coins have not been spent already, and so on) and that it is confirmed if it appears in the common-prefix of all the miners (i.e., at least k blocks have passed). Each transaction Tx contains the following information: • A set of input transactions Tx1,Tx2, ¡ ¡ ¡ from which the coins needed for the actual trans- action Tx are taken; • A set of input scripts containing the input for the output scripts of Tx1,Tx2, ¡ ¡ ¡ ; • An output script defining in which condition Tx can be claimed; • The number of coins taken from the redeemed transactions; • A time lock t specifying when Tx becomes valid (i.e., a time-locked transaction won’t be accepted by the miners before time t has passed). A transaction is called standard if its output script contains only the signature of the account’s owner (i.e., it can be redeemed by the owner by simply signing it). 7 The protocol. The construction by [ADMM16] relies on a primitive called time-locked com- mitment. Let n denote the number of parties. Each party Pj creates n− 1 Commitji 6=j transac- tions containing a commitment to its lottery value. In particular, the output script of such a transaction ensures that it can be claimed either by Pj via an Openji transaction exhibiting a valid opening for the commitment, or by another transaction that is signed by both Pj and Pi. Before posting these transactions on the ledger, Pj creates a time-locked transaction PayDepositji redeeming Commitji , sends it off-chain to each Pi 6=j , and finally posts all the Commitji transac- tions on the ledger. In case Pj does not open the commitment before time t, then each recipient of a PayDepositji transaction can sign it and post it on the ledger; since time t has passed, the miners will now accept the transaction as a valid transaction redeeming Commitji . More in details, the protocol works as follows. Deposit phase: Each player Pj computes a commitment yj = Hash(xj ||δj), where δj is some randomness, sends off-chain the PayDepositji transactions (with time-lock t) to each Pi 6=j , and posts the Commitji transactions on the ledger. Betting phase: Pj bets one coin in the form of a standard transaction PutMoneyj (redeeming a previous transaction held by Pj , and with Pj ’s signature as output script). All the players agree and sign off-chain a Compute transaction taking as input all the (PutMoneyj)j∈[n] transactions, and then the last player that receives the Compute transaction posts it on the ledger. In order to claim this transaction, a player Pw′ must exhibit the openings of the commitments of all participants: The script checks that the openings are valid, computes the index of the winner w (as a function of the values x1, . . . , xn), and checks that w′ = w (i.e., the only participant that can claim the Compute transaction is the winner of the lottery). Compensation phase: After time t, in case some player Pj did not send all of its {Openji}i∈[n],i 6=j transactions, all the other players Pi 6=j can post the PayDepositji transaction on the ledger, thus obtaining at least a certain number of coins as compensation. 3.2 A Simple Attack The main idea behind our attack is that, in the presence of rushing players, the protocol’s messages can end-up on unconfirmed blocks. By looking at different forks, an attacker can try to change an old unconfirmed transaction by re-posting it, with the hope that it will end-up on a different fork and become part of the common prefix. This essentially corresponds to a reset attack on the protocol. The con";"""date"",""2019-08-02T12:29:14Z"" ""pdf:PDFVersion"",""1.5"" ""pdf:docinfo:title"","""" ""xmp:CreatorTool"",""LaTeX with hyperref package"" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""subject"","""" ""language"",""en"" ""dc:format"",""application/pdf; version=1.5"" ""pdf:docinfo:creator_tool"",""LaTeX with hyperref package"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"","""" ""modified"",""2019-08-02T12:29:14Z"" ""cp:subject"","""" ""pdf:docinfo:subject"","""" ""pdf:hasMarkedContent"",""false"" ""pdf:docinfo:creator"","""" ""PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018) kpathsea version 6.3.0"" ""meta:author"","""" ""trapped"",""False"" ""meta:creation-date"",""2019-08-02T12:29:14Z"" ""created"",""2019-08-02T12:29:14Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2019-08-02T12:29:14Z"" ""resourceName"",""rush%20dilemma.pdf"" ""Author"","""" ""producer"",""pdfTeX-1.40.19"" ""pdf:docinfo:producer"",""pdfTeX-1.40.19"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""3"",""1"",""0"",""4"",""28"",""1"",""8"",""4"",""6"",""2"",""11"",""7"",""4"",""2"",""9"",""7"",""4"",""2"",""0"",""0"",""0"",""0"",""0"",""23"",""0"",""0"",""0"" ""Keywords"","""" ""access_permission:modify_annotations"",""true"" ""dc:creator"","""" ""dcterms:created"",""2019-08-02T12:29:14Z"" ""Last-Modified"",""2019-08-02T12:29:14Z"" ""dcterms:modified"",""2019-08-02T12:29:14Z"" ""title"","""" ""Last-Save-Date"",""2019-08-02T12:29:14Z"" ""pdf:docinfo:keywords"","""" ""pdf:docinfo:modified"",""2019-08-02T12:29:14Z"" ""meta:save-date"",""2019-08-02T12:29:14Z"" ""pdf:docinfo:custom:PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018) kpathsea version 6.3.0"" ""Content-Length"",""545305"" ""Content-Type"",""application/pdf"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"","""" ""dc:subject"","""" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""30"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""1981"",""1137"",""3193"",""3147"",""3460"",""3404"",""2631"",""2535"",""2706"",""3021"",""2972"",""3345"",""2480"",""3148"",""2655"",""3577"",""2576"",""2642"",""2702"",""2809"",""2702"",""2233"",""2856"",""2425"",""2060"",""2225"",""3035"",""2333"",""1883"",""2318"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""pdf:docinfo:trapped"",""False"" ""meta:keyword"","""" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2019-08-02T12:29:14Z"" ";https://scholar.google.com/scholar?start=870&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094537-637;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;A decentralized social networking architecture enhanced by blockchain;S Zeng, Y Yuan, FY Wang ; 2019 IEEE International …, 2019 ieeexplore.ieee.org;;"… It is the underlying technology of Bitcoin, the first implementation of cryptocurrency … data from the database, the correlative hash values can be gained from the blockchain to verify … by Micali, Rabin, and Vadhan, are used to generator verifiable pseudo-random oracles for miners …";Autres articles;;[PDF] ieee.org;https://ieeexplore.ieee.org/iel7/8945268/8954999/08955104.pdf?casa_token=19RbnbdniaYAAAAA:r6QIWoCUA6W7VPoZhbP_TdlqbzchyCh14kr1APwCnKRZuYtaYUaNPRfd5mIi4wk62fSLY6lJnhI;" Skip to Main Content IEEE Account Change Username/Password Update Address Purchase Details Payment Options Order History View Purchased Documents Profile Information Communications Preferences Profession and Education Technical Interests Need Help? US & Canada: +1 800 678 4333 Worldwide: +1 732 981 0060 Contact & Support About IEEE Xplore Contact Us Help Accessibility Terms of Use Nondiscrimination Policy Sitemap Privacy & Opting Out of Cookies A not-for-profit organization, IEEE is the world's largest technical professional organization dedicated to advancing technology for the benefit of humanity. Š Copyright 2021 IEEE - All rights reserved. Use of this web site signifies your agreement to the terms and conditions. ";"""og:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""twitter:title"",""A decentralized social networking architecture enhanced by blockchain"" ""twitter:card"",""summary"" ""Description"",""The privacy issues become a major problem that should be resolved for the existing centralized online social networks, which have prompted researchers to consid"" ""og:title"",""A decentralized social networking architecture enhanced by blockchain"" ""resourceName"",""08955104.pdf"" ""language"",""en"" ""title"",""A decentralized social networking architecture enhanced by blockchain | IEEE Conference Publication | IEEE Xplore"" ""og:description"",""The privacy issues become a major problem that should be resolved for the existing centralized online social networks, which have prompted researchers to consider the decentralization framework for online social networks. In this paper, we propose a novel decentralized social networking architecture enhanced by blockchain technology. We use a sharding framework to increase the system scalability, a blockchain system to ensure the data integrity and consistency, a reputation-based authority control method to improve the system security."" ""twitter:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-UA-Compatible"",""IE=Edge"" ""viewport"",""width=device-width, initial-scale=1.0"" ""dc:title"",""A decentralized social networking architecture enhanced by blockchain | IEEE Conference Publication | IEEE Xplore"" ""twitter:description"",""The privacy issues become a major problem that should be resolved for the existing centralized online social networks, which have prompted researchers to consider the decentralization framework for online social networks. In this paper, we propose a novel decentralized social networking architecture enhanced by blockchain technology. We use a sharding framework to increase the system scalability, a blockchain system to ensure the data integrity and consistency, a reputation-based authority control method to improve the system security."" ""Content-Encoding"",""UTF-8"" ""Content-Type-Hint"",""text/html; charset=utf-8"" ""Content-Language"",""en-US"" ""Content-Type"",""text/html; charset=UTF-8"" ";https://scholar.google.com/scholar?start=450&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094644-1092;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Continuous space-bounded non-malleable codes from stronger proofs-of-space;B Chen, Y Chen, K Hostáková, P Mukherjee ; Annual International …, 2019 Springer;;"… In addition, we show that the graph construction used as a building block for the proof-of-space by Dziembowski et al. (CRYPTO 2015) satisfies challenge-hardness as well … Oracles. Next we define space-bounded tampering oracle with self-destruct …";Cité 4 fois;Les 2 versions;[PDF] iacr.org;https://eprint.iacr.org/2019/552.pdf;" An abridged version of this paper appears in the proceedings of the 39th International Cryptology Conference—CRYPTO 2019. This is the full version. Continuous Space-Bounded Non-Malleable Codes from Stronger Proofs-of-Space Binyi Chen∗1, Yilei Chen2, Kristina HostĂĄková†3, and Pratyay Mukherjee4 1University of California, Santa Barbara, binyichen@cs.ucsb.edu 2Visa Research, yilchen@visa.com 3TU Darmstadt, kristina.hostakova@cs.tu-darmstadt.de 4Visa Research, pratmukh@visa.com Abstract Non-malleable codes are encoding schemes that provide protections against various classes of tampering attacks. Recently Faust et al. (CRYPTO 2017) initiated the study of space- bounded non-malleable codes that provide such protections against tampering within small- space devices. They put forward a construction based on any non-interactive proof-of-space (NIPoS). However, the scheme only protects against an a priori bounded number of tam- pering attacks. We construct non-malleable codes that are resilient to an unbounded polynomial number of space-bounded tamperings. Towards that we introduce a stronger variant of NIPoS called proof-extractable NIPoS (PExt-NIPoS), and propose two approaches of constructing such a primitive. Using a new proof strategy we show that the generic encoding scheme of Faust et al. achieves unbounded tamper-resilience when instantiated with a PExt-NIPoS. We show two methods to construct PExt-NIPoS: 1. The first method uses a special family of “memory-hard” graphs, called challenge-hard graphs (CHG), a notion we introduce here. We instantiate such family of graphs based on an extension of stack of localized expanders (first used by Ren and Devadas in the context of proof-of-space). In addition, we show that the graph construction used as a building block for the proof-of-space by Dziembowski et al. (CRYPTO 2015) satisfies challenge-hardness as well. These two CHG-instantiations lead to continuous space-bounded NMC with different features in the random oracle model. 2. Our second instantiation relies on a new measurable property, called uniqueness of NIPoS. We show that standard extractability can be upgraded to proof-extractability if the NIPoS also has uniqueness. We propose a simple heuristic construction of NIPoS, that achieves (partial) uniqueness, based on a candidate memory-hard function in the standard model and a publicly verifiable computation with small-space verification. In- stantiating the encoding scheme of Faust et al. with this NIPoS, we obtain a continuous space-bounded NMC that supports the “most practical” parameters, complementing the provably secure but “relatively impractical” CHG-based constructions. Addition- ally, we revisit the construction of Faust et al. and observe that due to the lack of uniqueness of their NIPoS, the resulting encoding schemes yield “highly impractical” parameters in the continuous setting. We conclude the paper with a comparative study of all our non-malleable code construc- tions with an estimation of concrete parameters. ∗Research conducted at Visa Research. †Research conducted at Visa Research. Contents 1 Introduction 1 1.1 Our Work . . . . . . . . . . . . . 2 1.2 Summary of our Contributions . 4 1.3 Technical Overview . . . . . . . . 5 2 Related Works 7 3 Preliminaries 8 3.1 Notation . . . . . . . . . . . . . . 8 3.2 Basic Definitions . . . . . . . . . 8 3.3 Bounded Algorithms . . . . . . . 9 3.4 Random Oracles . . . . . . . . . 10 4 Continuous Space-bounded Tam- pering 10 5 Non-Interactive Proof of Space (NIPoS) 12 6 Space-bounded NMC from Proof- Extractable NIPoS 15 7 Constructing Proof-Extractable NIPoS from CHG 19 7.1 Merkle Commitments . . . . . . 19 7.2 Graph Pebbling and Labeling . . 19 7.3 Challenge-Hard Graphs (CHG) . 22 7.4 Construction of PExt-NIPoS from CHG . . . . . . . . . . . . . 24 7.5 Instantiating CHG . . . . . . . . 27 7.6 A comparison of the two CHG constructions . . . . . . . . . . . 30 7.7 Instantiations of PExt-NIPoS from CHGs . . . . . . . . . . . . 30 8 PExt-NIPoS from Memory-Hard Functions 32 8.1 Memory-hard Functions . . . . . 32 8.2 Publicly verifiable computation . 32 8.3 Partially-unique Ext-NIPoS from MHF and VC . . . . . . . . 33 8.4 Instantiating MHF . . . . . . . . 35 8.5 Instantiating VC . . . . . . . . . 37 8.6 Instantiating partially unique NIPoS and PExt-NIPoS . . . . . 38 9 Instantiating and comparing our NMC constructions 39 9.1 Instantiations from different PExt-NIPoS . . . . . . . . . . . . 39 9.2 Comparing concrete parameters . 40 A Proof of Theorem 1 47 B Proof of Theorem 2 49 1 Introduction Non-malleable codes and tamper-resilience. The notion of non-malleable codes (NMC) was put forward by Dziembowski, Pietrzak and Wichs [DPW10] as an abstract tool for protect- ing cryptographic devices against tampering attacks (e.g. [BDL01]). Intuitively, an encoding scheme (Encode,Decode) is called non-malleable with respect to a class of tampering adversaries (modeled as functions or algorithms) A if for any adversary A ∈ A and any message x, the output Decode◦A◦Encode(x) is independent of x, unless it is equal to x. It is straightforward to see that A can not contain all efficiently computable functions because in that case it is always possible to just decode a codeword c to x, modify (for example add 1) and re-encode x + 1; hence one must consider a restricted class A which excludes functions able to encode or decode. Therefore, the NMC literature (for example [LL12, FMNV14, AAG+16, DLSZ15, FMNV15, JW15, ADL14, CG14]) focuses on constructing encoding schemes that are non-malleable against a meaningful, broad class of tampering functions; notice that non-malleability against a broader A translates to protection against stronger tampering attacks. Leaky NMC for space-bounded tampering. One such interesting tampering class is space- bounded tampering, in that the only restriction on A is that any (efficient) tampering algorithm in this class can only use a limited amount of memory. Space-bounded tampering captures the essence of mauling attacks performed by malware that infect small-space devices like mobile phones. However, as noticed by Faust et al. [FHMV17a] (henceforth FHMV), for such tamper- ing class it is unreasonable to assume that a tampering algorithm can not decode. For example, if decoding requires more space than what is available for the attacker, then the encoded se- cret becomes unusable inside the device. The encoding algorithm, on the other hand, can be reasonably space-intense and performed outside the device. Therefore, it is possible to assume the space-bounded adversary cannot perform encoding, therefore avoiding the aforementioned impossibility. Moreover, even if A includes only Decode, “full-fledged” non-malleability is still not achiev- able. To see this, consider an attacker that decodes c, learns the message x and based on the first bit of x overwrites the memory of the device with a precomputed encoding — leaking the first bit (this can be easily extended to an attack that leaks any log(|x|) bits by tampering once). However, Faust et al. [FHMV17a] observed that all hope may not be lost if it is possi- ble to guarantee that the leakage is “not too much”. Formally FHMV defines a weaker notion called leaky non-malleability, which guarantees that an encoding scheme satisfying the notion would leak only a limited amount of information about x. FHMV also showed that this is suf- ficient for many applications. For example, they showed how one can use such leaky NMC by trading-off tampering with leakage when x comes from a high-entropy distribution (see Section 7 of [FHMV17b] for more details). Continuous space-bounded tampering. Traditional NMC (as defined in [DPW10]) guar- antees non-malleability when the attacker tampers only once. To use such NMC for tamper- resilience (see [DPW10] for more details), one needs to refresh the encoding after each tamper- ing. To combat this issue, in 2014, Faust et al. [FMNV14] proposes the notion of continuous non-malleable codes that tolerates an unbounded number of tampering attempts, which conse- quently removes the necessity of re-encoding in the tampering application. Though FHMV’s definition of (leaky) non-malleability allows continuous tampering, their construction (see The- orem 3 of [FHMV17b]) only allows an a priori bounded number of tampering attempts (say θ) because their parameters are related in a way that the leakage (say, `) is directly proportional to θ. Hence, after a few tampering attempts, the leakage becomes as large as |x|. Coming up 1 with a construction that tolerates an unbounded (polynomially large) θ was left open in FHMV (see Remark 2 of [FHMV17b]). 1.1 Our Work Leaky NMC for continuous space-bounded tampering. In this work we address the open problem by proposing various constructions of non-malleable codes, in all of which the leakage ` is proportional to the logarithm of the number of tamperings, i.e. log(θ).1 No prior bound is required for θ in this case. However, we do not claim that our solutions are strictly stronger than that provided in FHMV, because we assume a “self-destruct” mechanism similar to the prior works on continuous non-malleability (e.g. [FMNV14]). Roughly speaking, the “self-destruct” mechanism requires the small-space device to erase its entire state (or make it non-functional) once a tampering is detected. As already shown by FHMV, this is a necessary requirement for achieving unbounded continuous space-bounded tampering. Our approach: Stronger non-interactive proof-of-space. FHMV’s encoding scheme re- lies on any extractable non-interactive proof of space (simply called NIPoS)2. In contrast, we introduce a new and stronger property of NIPoS called proof-extractability and prove that when FHMV’s encoding scheme is instantiated with a proof-extractable NIPoS (PExt-NIPoS), then we obtain a continuous space-bounded NMC (CSNMC). We take two different approaches to construct PExt-NIPoS — in the following few paragraphs we choose to outline them through the natural flow of our attempts, instead of dividing strictly into two distinct approaches. Proof-extractability from any NIPoS with uniqueness. Our starting point is the con- struction of FHMV [FHMV17a] which is based on any NIPoS. We show that any NIPoS can be upgraded to a PExt-NIPoS if it has a special property called uniqueness, which we define as a quantitative measure of a NIPoS. We notice that the parameters of the resulting PExt-NIPoS (and consequently the CSNMC scheme yielded via FHMV’s generic construction) is directly re- lated to the uniqueness parameter of the starting NIPoS. For example, if a NIPoS has “maximal uniqueness”, then the resulting CSNMC incurs “minimal leakage”, which is equal to p− |c| bits, where p is the available (persistent) space.3 Unfortunately, we do not know of a provably secure NIPoS construction with maximal, or even a “reasonably good measure” of uniqueness (later we propose a construction that satisfies partial uniqueness based on heuristic assumptions). In fact, we show that the NIPoS used in FHMV (which is in turn based on the PoS proposed by Ren and Devadas in [RD16]) has poor uniqueness parameters and thus, when adapted to our proof-extractability technique, yields a CSNMC which suffers from a leakage that is as large as ≈ p− |x|. Modeling space-bounded adversary with bounded description. The lack of a NIPoS with “good uniqueness” drives us to revisit the adversarial model of FHMV, in particular, how 1In the rest of the paper whenever we say that an encoding scheme satisfies continuous space-bounded non- malleability or is a CSNMC, we mean that the encoding scheme is a leaky NMC for space-bounded tampering with ` ∝ log(θ). 2In this section by NIPoS we informally refer to a (non-interactive) proof-of-space with extractability. Later while treating formally we also say phrases like “extractable NIPoS” or “NIPoS has extractability” explicitly and sometimes also use the abbreviation like Ext-NIPoS for that — but in general a NIPoS is assumed to have implicit extractability. 3We assume that the entire space in the device is split into two parts, the persistent space which is reusable, and the transient space which is refreshed after each tampering. An impossibility shown in FHMV (see Theorem 1 of [FHMV17b]) restricts the persistent space to remain relatively small when θ is unbounded. 2 they formalize the notion of space. In FHMV, which in turn follows the notion introduced by Dziembowski et al. [DKW11b], the adversary is separated into two parts: a “big adversary” which is a PPT adversary with no space-bound, and a “small adversary” that is a space-bounded poly-time adversary. In a security game, the big adversary starts interacting with the challenger, and then outputs small adversaries which will then have access to the target codeword (or the proof, in case of NIPoS) and execute tampering in a space-bounded manner. We notice that FHMV assumes that the small adversary can have arbitrary amount of auxiliary information hardcoded in its description (see Page-5 of [FHMV17b]). In reality this seems to be an overkill, because if the small adversary (e.g. malware) has a huge description, it might not even fit into a small-space device (e.g. a mobile device), let alone executing tampering. So, it is reasonable to assume that such adversary has a bounded size description. In particular, we define a class of space-bounded adversaries as As,fspace containing all poly-time adversaries that have a description of size at most f -bit and which require at most s-bit to execute. PExt-NIPoS from Challenge-hard Graphs (CHG). We define a new family of “memory- hard graphs” called challenge-hard-graphs and construct PExt-NIPoS for the class of space- bounded adversaries As,fspace from that. We provide two instantiations of CHG: (i) The first one extends the stack of local expanders (SoLEG), used by Ren and Devadas [RD16] in the context of proof-of-space. We uses a novel technique to connect a gadget with a standard SoLEG in order to amplify crucial challenge-hardness parameters. This technique may be of independent interest. (ii) The second one uses the graph designed by Paul et al. [PTC76] and used by Dziembowski et al. [DFKP15], who use the notion of challenge-hardness implicitly to construct proof-of-space. Both of the constructions use standard graph-pebbling techniques to ensure memory-hardness (and challenge-hardness) and work in the random oracle model. Plugging-in these PExt-NIPoS constructions into FHMV’s encoding scheme, we obtain CSNMC schemes with “almost minimal leakage” ` ≈ p− |c|. A NIPoS with partial uniqueness based on heuristics. The constructions mentioned above all come with rigorous security proofs (in the random oracle model). However, it turns out that in order to achieve reasonable security, the concrete parameters of these constructions are fairly impractical (see Section 9 for a detail analysis). For example, for a message of size 1 MB, the size of a codeword is almost 800 MB for the CHG-based NMC constructions (see Ta- ble 2). To complement this, we take a step back on our initial idea of constructing NIPoS with “good uniqueness”, and propose a simple and practical instantiation of NIPoS based on heuristic assumptions. The construction uses a concrete instantiation of a memory-hard-function (MHF), and applies a (non-interactive) publicly verifiable computation where the verification requires small space. When the MHF is instantiated with the SoLEG-based construction of Ren and Devadas [RD16], the resulting NIPoS has extractability and a “good measure of uniqueness”. This yields a PExt-NIPoS with very good parameters and, consequently, plugging-in that to FHMV’s encoding scheme we obtain a CSNMC with very small proof size (in killobytes), that also allows a leakage, as small as p− 0.99|c|, in certain settings. While the above scheme is practical, it is not provably secure, since we can not assume that the hash-functions within the MHF are random oracles, as the prover needs to access the circuit of the MHF to produce a proof of computation.4 Note that any MHF, while used in practice with concrete hash functions (for example SHA3) for important practical applications [Tar], provides provable guarantees only in the random oracle model (see, e.g. [ACP+17]). Instead, we 4This is similar in spirit to the works (e.g., [CGM16b, DFKP16]) that use zero-knowledge proofs of full- domain-hash signatures — security of such signatures only holds in the random oracle model, while one needs to have a concrete instantiation before applying zero-knowledge proofs. 3 Approach PExt-NIPoS type Assumptions Leakage Size of A CHG SoLEG-based RO ≈ p− |c| Bounded PTC-based RO ≈ p− |c| Bounded Uniqueness FHMV-based RO ≈ p− |x| Unbounded poly MHF-based Heuristic ≈ p− 0.99|c| Unbounded poly Table 1: Among the above constructions, the MHF-based one is the most practical one whereas the SoLEG-based one has the best concrete parameters among the provably-secure constructions. For a detail comparison of the concrete parameters please see Table 2 in Section 9. rely on heuristic assumptions that intuitively state that the MHF remains memory-hard when the random oracle is instantiated with a standard hash function like SHA3. Roadmap. We summarize our contributions below in Section 1.2. In Section 1.3 we provide an elaborative technical overview. Then, after providing preliminaries in Section 3 and basic definitions of Continuous Space-bounded Tampering in Section 4, we define the new NIPoS properties (uniqueness and proof-extractability) in Section 5 where we also discuss their relations. In Section 6, we show that the FHMV’s encoding scheme satisfies continuous space-bounded non- malleability when instantiated with PExt-NIPoS. Section 7 introduces the notion of challenge- hard-graphs and shows how to use them to construct PExt-NIPoS. We provide a heuristic construction of NIPoS with (partial) uniqueness relying on memory-hard functions in Section 8 and finally in Section 9, we conclude with a instantiations and comparison of the important concrete parameters of different encoding schemes we constructed. 1.2 Summary of our Contributions Our overall contributions can be summarized as follows: • We propose the first constructions of continuous space-bounded (leaky) non-malleable codes (with a necessary “self-destruct” mechanism) and thus resolve an open problem posed by FHMV [FHMV17a]. Overall we propose four different constructions of different merits; we provide a comparison in Table 1: • We introduce various abstract notions of NIPoS, like proof-extractability and uniqueness, and show relations among them. The abstractions are targeted towards constructing CSNMC as the main end goal, but may be of independent interests. We prove that the FHMV encoding scheme is a CSNMC when instantiated with any PExt-NIPoS. • We propose different techniques to construct a PExt-NIPoS. We introduce the notion of challenge-hard graphs and show how to build PExt-NIPoS from that. We propose a novel technique to bootstrap the important challenge-hardness parameters of a CHG by carefully connecting a gadget to a special type of memory-hard graphs (SoLEG). Further- more, we provide a simple construction of partially unique NIPoS that yields “reasonably practical” parameters for the resulting PExt-NIPoS and CSNMC. It is based on heuristic assumptions on memory-hard functions and complements the provably secure but “rela- tively impractical” CHG-based constructions. • Finally we provide a comparative study of the most important parameters of all our CSNMC constructions with respect to concrete instantiations. This helps us to under- stand the practical impacts of different techniques and constructions proposed in this work. 4 1.3 Technical Overview Revisiting FHMV’s construction. We start by briefly revisiting the construction of FHMV [FHMV17a]. Recall that FHMV’s generic encoding scheme is based on any extractable (non- interactive) proof-of-space (NIPoS). First let us briefly recall the notion of proof-of-space introduced in [ABFG14, DFKP15]. In an interactive proof-of-space (PoS) protocol, a prover P interactively proves that she has “sufficient amount of space/memory” to a space-bounded verifier V. One can use Fiat-Shamir transformation [FS87] to make it non-interactive, in that the entire proof can be represented as one single string, say πid , with respect to an identity id . The verifier is able to verify the pair (id , πid ) within bounded space. Extractability of NIPoS guarantees that: given an honestly generated pair (id , πid ), if a space-bounded “small adversary” A is able to compute another valid (i.e. correctly verified) pair (id ′, πid ′) such that id 6= id ′, then id ′ can be efficiently extracted from the RO queries made by the “big adversary” B (that has no space-restriction and may be represented by a PPT algorithm) given a “small hint”5. Given a NIPoS, FHMV’s encoding scheme works as follows. On input a message x, the space-intense encoding algorithm runs the prover of NIPoS on an identity x to generate a proof πx. The codeword c is simply the pair (x, πx). The space-bounded decoding algorithm, on receiving c = (x, πx), runs the (space-bounded) verifier. If the verification passes, it returns x, otherwise it returns ⊥ denoting the invalidity of c. Intuitively, non-malleability follows from the guarantee provided by NIPoS; namely, whenever the small adversary tampers to a valid codeword (x′, πx′), the new message x′ must be independent of the input message x. To be slightly more formal, to show that this encoding scheme is non-malleable against space- bounded attacker, one needs to simulate the tampering experiment with “a small leakage” on x. Given the extractability, the simulator can be constructed as follows: the leakage is obtained using the “small hint”. As guaranteed by the extractability of NIPoS, since the “small hint” (of length Ρ, say) is sufficient to extract id ′, each tampering can be simulated by first obtaining the hint as a leakage and then running the NIPoS-extractor to obtain id ′. Clearly, this strategy runs into problem for unbounded continuous tampering as the overall leakage ` becomes proportional to θ ¡ Ρ (where θ denotes the number of tampering queries). Proof-extractability to the recovery. The above discussion shows that we possibly need a stronger guarantee from the underlying NIPoS to make FHMV’s encoding scheme a CSNMC. To- wards that, we introduce a stronger property of a NIPoS called proof-extractability (PExt-NIPoS). It guarantees that, given a “small hint” (of length η′, say), it is possible to construct a stronger extractor that extracts not only the changed identity, but also the changed proof: (id ′, πid ′). Intuitively, this means that if a small adversary computes a valid pair (id ′, πid ′), then the “big adversary” must have computed the entire proof πid ′ (as opposed to a part of the proof as for NIPoS) outside the small-space device; hence, enabling extracting the entire proof from the RO queries made by B only. Given the proof-extractor, the new NMC simulator works as follows: it uses the hint to get a “small leakage” and then runs the proof-extractor to obtain (id ′, πid ′). Furthermore, the simula- tor also needs an extra leakage, which consists of the “extra persistent space” (of size p− n)6 — now the simulator reconstructs the entire persistent tampered state and can continue the rest of 5Note that we made some syntactical change to FHMV’s definition of extractability by introducing an explicit hint-producing function. We introduce the length of the hint as a new extractability parameter which must be small for making the definition meaningful. For example, if the leakage function leaks the entire pair (id ′, π′id), then the definition would be trivially satisfied. Looking ahead, in the proof of CSNMC this hint will be used by the NMC simulator as a leakage to simulate the tampering experiment. For more details we refer to Section 5. 6As discussed in Remark 3, this leakage is necessary in most of the natural settings. 5 the tampering experiment without having to make any further leakage query. However, to avoid any leakage before the first tampering takes place (for example, if the first 100 tampering func- tions are identities), the simulator needs to know the index when the target codeword changes for the first time in the sequence of tampering and for that the leakage becomes proportional to log(θ). Overall, the simulator only needs to make a constant number of leakage queries (two, to be precise) to simulate any (polynomial) number of tampering, as opposed to making one leakage query for each tampering. The overall leakage becomes ` ∝ log(θ) + η′+ (p−n) thereby achieving CSNMC. Therefore, the main question that remains is how to construct PExt-NIPoS, which will be described in the next few paragraphs. Uniqueness and Proof-extractability. We observe that, if a NIPoS has a special property, called uniqueness, then it satisfies proof-extractability. Intuitively, uniqueness means for a fixed identity id , there exists exactly one string πid such that πid verifies correctly with respect to id . Unfortunately, we do not know how to construct a NIPoS with such property (even under heuristic assumptions). Therefore, to have a more relaxed and fine-grained notion, we define uniqueness as a quantitative measure: a NIPoS has upos-uniqueness means that, for any identity id , the first upos bits of any valid πid are fixed and can be computed efficiently with overwhelming probability. We then show (in Lemma 2) that any upos-unique NIPoS satisfies proof-extractability, where the size η′ of the hint required for PExt-NIPoS depends on upos as: η′ = Ρ + npos − upos, where Ρ denotes the size of the hint of the starting NIPoS and npos denotes the size of the proof. This follows naturally from the construction of the hint-producing function of PExt-NIPoS, as the hint for the proof extractor needs to contain enough information to extract both id ′ and πid ′ . Now id ′ can be extracted from the hint produced via the starting NIPoS (by standard extractability); given id ′ the proof-extractor can compute the first upos bits of πid ′ ; but the remaining part, which has length npos − upos, must be separately output by the hint-producing function of PExt-NIPoS. Notice that, maximal uniqueness means upos = npos which in turn implies η′ = Ρ. Hence, if FHMV’s encoding scheme is instantiated with a maximally unique NIPoS, part of the leakage of the resulting CSNMC would be determined by only Ρ and hence would be minimal. We leave the task of constructing a maximally unique NIPoS as an interesting open problem. On the other hand, we observe that the NIPoS considered by FHMV has upos ≈ 0 and hence the leakage is largely dominated by Ρ + npos, resulting in much worse parameters. Partially unique-NIPoS from memory-hard functions. We are able to construct an NIPoS with reasonably large upos from heuristic assumptions on memory-hard functions. The construction is very simple: let M be a concrete instantiation of a memory-hard function, which guarantees that any space-bounded adversary can not compute the function on a randomly chosen input in polynomial time. Let us assume a verifiable computation scheme (VC) where the verification can be done in small-space. Then the NIPoS prover works as follows: given an identity id , first compute a hash (that is assumed to be a random oracle) to generate a random value x := H(id), then compute y := M(x) and finally run the VC prover to produce a proof πvc to prove that y is indeed obtained by computing M(x). The proof-of-space is then defined to be the pair (M(x), πvc). The NIPoS verifier works naturally by first computing x = H(id) and then verifying the proof πvc in small-space. To see that the construction above yields a NIPoS with good uniqueness, first note that the extractability follows from the fact that the functionM is memory-hard and can not be computed on a random input by a space-bounded “small adversary”; hence, the “big adversary” must have queried on id ′ beforehand enabling extraction of id ′ from B’s RO queries. Note that here we also need to rely on the soundness of VC as otherwise the small adversary could just compute 6 a different “memory-easy” function and “fake” the proof of computation to fool the verifier. Moreover, note that, the first part of the NIPoS proof is indeed uniquely determined (with overwhelming probability any other string would fail to verify as guaranteed by the soundness of the VC scheme), whereas the second part, i.e. the proof πvc, is not. So, overall we have a NIPoS with upos = |y|. Since the VC produces a short proof to enable small-space verification (we use Pinocchio [PHGR13] to instantiate), we are able to have a NIPoS with fairly large upos, which in turn leads to a CSNMC with very good parameters. PExt-NIPoS from Challenge-hard graphs (CHG). In addition to the heuristic construc- tion above, we also construct a provably secure PExt-NIPoS in the random oracle model, albeit with an additional restriction on the class of space-bounded adversaries, namely assuming that the description size of a small-space adversary is also bounded (as discussed in Section 1.1). To do so, we define a new notion of memory-hard graphs, called challenge-hard graphs (CHG). Recall that, special types of DAGs are used for memory-hardness and for constructing proof-of-space via graph-labeling games. Usually, labels are the output of the hash functions modeled as random oracles (therefore are not “compressible”). In a graph-based proof of space constructions (e.g. [RD16]), an honest prover computes the labeling of the entire graph ensuring the usage of significant amount of space. Small-space verification is done by checking the labels of a few randomly selected nodes (or challenge nodes) of the graph — this guarantees that the “small adversary” cannot put too many fake labelings (a.k.a. faults) without storing them and thereby ending up using less memory. However, such verification leaves room for computing a small part of the proof inside the small-space device — for example, consider a multi-layered DAG (e.g. a stack of bipartite graphs), for which a “big adversary” computes the labeling of the entire graph except for a single node in the last layer, and the “small adversary” easily computes the label of the node inside the small-space device. As a result the entire proof can not be extracted only from B’s RO queries, making proof-extractability impossible. To remedy this issue, we replace the traditional memory hard graphs with CHG, which contains another carefully chosen set of challenges and guarantees that, even if a “big adversary” computes the labeling of the entire graph except for a few nodes and send a bounded hint to the “small adversary”, it is still infeasible to compute the labels of the new challenge nodes with a small-space device. Let us remark that such a guarantee is only possible when the small adversary has a small description size (i.e., the hint from the “big adversary” is small), as otherwise the small adversary, for example, can hard-code the entire labeling for whole graph including all possible challenges, making challenge hardness impossible. As discussed in Section 1.1, we propose two instantiations of CHGs with different merits with respect to their parameters. 2 Related Works Our work can be categorized among the work on non-malleable codes against global tampering, where the entire codeword is subject to tampering, as opposed to granular tampering, where the codeword is split into independently tamperable parts. In the NMC literature, majority of work, e.g. [LL12, GPR16, ADL14, AAG+16, CG14, KOS18, KOS17, CGM+16a] falls into the the later category; among them [CGM+16a] considers, a weaker notion (non-malleability with replacement) of NMC like us (leaky-NMC). A few other works, e.g. [FMVW14, AGM+15, BDKM16, BDKM18] consider global tampering. Moreover, most of these work consider one-time tampering. Continuous tampering, first proposed in [FMNV14], is addressed also in [FNSV18, ADN+1";"""date"",""2019-05-23T21:23:27Z"" ""pdf:PDFVersion"",""1.5"" ""pdf:docinfo:title"","""" ""xmp:CreatorTool"",""LaTeX with hyperref package"" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""subject"","""" ""language"",""en"" ""dc:format"",""application/pdf; version=1.5"" ""pdf:docinfo:creator_tool"",""LaTeX with hyperref package"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"","""" ""modified"",""2019-05-23T21:23:27Z"" ""cp:subject"","""" ""pdf:docinfo:subject"","""" ""pdf:hasMarkedContent"",""false"" ""pdf:docinfo:creator"","""" ""PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018) kpathsea version 6.3.0"" ""meta:author"","""" ""trapped"",""False"" ""meta:creation-date"",""2019-05-23T21:23:27Z"" ""created"",""2019-05-23T21:23:27Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2019-05-23T21:23:27Z"" ""resourceName"",""552.pdf"" ""Author"","""" ""producer"",""pdfTeX-1.40.19"" ""pdf:docinfo:producer"",""pdfTeX-1.40.19"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""1"",""2"",""1"",""0"",""21"",""12"",""0"",""0"",""4"",""0"",""14"",""14"",""4"",""2"",""27"",""10"",""20"",""32"",""4"",""11"",""3"",""2"",""2"",""2"",""16"",""6"",""3"",""3"",""6"",""0"",""2"",""0"",""8"",""2"",""3"",""4"",""10"",""10"",""3"",""12"",""4"",""0"",""0"",""0"",""0"",""0"",""35"",""26"",""39"",""16"",""17"",""14"",""38"",""34"",""22"",""0"" ""Keywords"","""" ""access_permission:modify_annotations"",""true"" ""dc:creator"","""" ""dcterms:created"",""2019-05-23T21:23:27Z"" ""Last-Modified"",""2019-05-23T21:23:27Z"" ""dcterms:modified"",""2019-05-23T21:23:27Z"" ""title"","""" ""Last-Save-Date"",""2019-05-23T21:23:27Z"" ""pdf:docinfo:keywords"","""" ""pdf:docinfo:modified"",""2019-05-23T21:23:27Z"" ""meta:save-date"",""2019-05-23T21:23:27Z"" ""pdf:docinfo:custom:PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018) kpathsea version 6.3.0"" ""Content-Length"",""970637"" ""Content-Type"",""application/pdf"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"","""" ""dc:subject"","""" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""58"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""2668"",""1109"",""3368"",""3232"",""3582"",""2697"",""3611"",""3477"",""3396"",""2610"",""2866"",""3001"",""2257"",""2924"",""1759"",""2587"",""2534"",""2577"",""3432"",""2133"",""2668"",""1741"",""2706"",""2741"",""2631"",""2373"",""1867"",""2213"",""2679"",""1591"",""2209"",""2714"",""1891"",""2599"",""2198"",""2266"",""2444"",""2879"",""2867"",""2739"",""2494"",""2606"",""2532"",""2644"",""2530"",""2728"",""2562"",""1129"",""1622"",""1870"",""2298"",""2642"",""2315"",""2264"",""2309"",""1798"",""2199"",""764"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""pdf:docinfo:trapped"",""False"" ""meta:keyword"","""" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2019-05-23T21:23:27Z"" ";https://scholar.google.com/scholar?start=910&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094574-800;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Ring signatures based on middle-product learning with errors problems;D Das, MH Au, Z Zhang ; International Conference on Cryptology in Africa, 2019 Springer;;"… Looking ahead, we will require H to behave as a random oracle; and \(\mathcal {H}\) to be collision resistant … Those parameters can be obtained from random oracles/hash functions, with a “nothing-up-my-sleeve"" type of seed, for instance, the first 256 bits of \(\pi \) or e, etc …";Cité 2 fois;Les 2 versions;null;;;;https://scholar.google.com/scholar?start=610&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094597-893;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Blockchain-based healthcare: Three successful proof-of-Concept pilots worth considering;R Angeles ; Journal of International Technology and …, 2019 scholarworks.lib.csusb.edu;;"… Oracle Services are used to allow the Virtual Machine to interact with the Internet (McFarlane et al., 2017) … 2017 61 ISSN: 1941-6679-On-line Copy The MEDRec network uses Ethereum's cryptocurrency, Ether, to incentivize work on the blockchain network and secure itself …";Cité 4 fois;Les 4 versions;[PDF] csusb.edu;https://scholarworks.lib.csusb.edu/cgi/viewcontent.cgi?article=1390&context=jitim;" Journal of International Technology and Information Management Journal of International Technology and Information Management Volume 27 Issue 3 Article 4 1-1-2019 Blockchain-Based Healthcare: Three Successful Proof-of-Concept Blockchain-Based Healthcare: Three Successful Proof-of-Concept Pilots Worth Considering Pilots Worth Considering Rebecca Angeles Univ of New Brunswick Fredericton, angeles.rebecca@gmail.com Follow this and additional works at: https://scholarworks.lib.csusb.edu/jitim Part of the Computer and Systems Architecture Commons, Management Information Systems Commons, and the Technology and Innovation Commons Recommended Citation Recommended Citation Angeles, Rebecca (2019) ""Blockchain-Based Healthcare: Three Successful Proof-of-Concept Pilots Worth Considering,"" Journal of International Technology and Information Management: Vol. 27 : Iss. 3 , Article 4. Available at: https://scholarworks.lib.csusb.edu/jitim/vol27/iss3/4 This Article is brought to you for free and open access by CSUSB ScholarWorks. It has been accepted for inclusion in Journal of International Technology and Information Management by an authorized editor of CSUSB ScholarWorks. For more information, please contact scholarworks@csusb.edu. https://scholarworks.lib.csusb.edu/jitim https://scholarworks.lib.csusb.edu/jitim/vol27 https://scholarworks.lib.csusb.edu/jitim/vol27/iss3 https://scholarworks.lib.csusb.edu/jitim/vol27/iss3/4 https://scholarworks.lib.csusb.edu/jitim?utm_source=scholarworks.lib.csusb.edu%2Fjitim%2Fvol27%2Fiss3%2F4&utm_medium=PDF&utm_campaign=PDFCoverPages http://network.bepress.com/hgg/discipline/259?utm_source=scholarworks.lib.csusb.edu%2Fjitim%2Fvol27%2Fiss3%2F4&utm_medium=PDF&utm_campaign=PDFCoverPages http://network.bepress.com/hgg/discipline/636?utm_source=scholarworks.lib.csusb.edu%2Fjitim%2Fvol27%2Fiss3%2F4&utm_medium=PDF&utm_campaign=PDFCoverPages http://network.bepress.com/hgg/discipline/636?utm_source=scholarworks.lib.csusb.edu%2Fjitim%2Fvol27%2Fiss3%2F4&utm_medium=PDF&utm_campaign=PDFCoverPages http://network.bepress.com/hgg/discipline/644?utm_source=scholarworks.lib.csusb.edu%2Fjitim%2Fvol27%2Fiss3%2F4&utm_medium=PDF&utm_campaign=PDFCoverPages https://scholarworks.lib.csusb.edu/jitim/vol27/iss3/4?utm_source=scholarworks.lib.csusb.edu%2Fjitim%2Fvol27%2Fiss3%2F4&utm_medium=PDF&utm_campaign=PDFCoverPages mailto:scholarworks@csusb.edu Journal of International Technology and Information Management Volume 27, Number 3 2018 ŠInternational Information Management Association, Inc. 2017 47 ISSN: 1941-6679-On-line Copy Blockchain-Based Healthcare: Three Successful Proof-of-Concept Pilots Worth Considering Rebecca Angeles University of New Brunswick Fredericton, Canada rangeles@unb.ca ABSTRACT This paper features the use of blockchain technology in the healthcare industry, with special focus on healthcare data exchange and interoperability; drug supply chain integrity and remote auditing; and clinical trials and population health research. This study uses the research method of analyzing the published case studies, academic articles, trade articles, and videos on MEDRec, Patientory, and the AmerisourceBergen/Merck alliance with SAP/CryptoWerk. The “blockchain” concept was introduced around October 2008 when a proposal for the virtual currency, bitcoin, was offered. Blockchain is a much broader concept than bitcoin and has the following key attributes: distributed database; peer-to-peer transmission; transparency with pseudonymity; irreversibility of records; and use of computational logic. The following three healthcare use cases have been taken up for proof-of-concept pilots by MEDRec, Patientory, and the AmerisourceBergen/Merck collaboration with SAP/CryptoWerk. While blockchain technology has a promising potential for specific use cases in the healthcare industry, there are major challenges to deal with as well. KEYWORDS: Blockchain, Healthcare, Smart contract, Technology innovation, Distributed peer-to-peer networks INTRODUCTION This paper features the use of blockchain technology in the healthcare industry, with special focus on the following use cases: healthcare data exchange and interoperability; drug supply chain integrity and remote auditing; and clinical trials and population health research. Frost & Sullivan, a research organization specializing in information technology research, identified these promising use cases to pursue in the healthcare industry at this time (Frost & Sullivan (2017, June). This paper uses the proof-of-concept experiences of MEDRec, Patientory, and mailto:rangeles@unb.ca Blockchain-Based Healthcare: Three Successful Proof of Concept Pilots Worth Considering Rebecca Angeles ŠInternational Information Management Association, Inc. 2017 48 ISSN: 1941-6679-On-line Copy AmerisourceBergen in cooperation with Merck Co. to describe how blockchain technology might be successfully exploited in the healthcare industry at this time, with the current state of the technology. This study intends to understand the state-of-the-art blockchain technology application in the healthcare industry, a very important domain in society. The initial deployment of the technology in the financial industry gave us a first glimpse into the possibilities with this technology for societal use. It is not the intention of this paper to describe basic blockchain technology in great detail, but rather to describe its accompanying components used in the first publicized proof-of-concept deployments in the healthcare industry. This paper also intends to drill down into the lessons we can learn from its most current organizational implementations. The paper is organized accordingly. It opens with an introduction and literature review covering basic blockchain technology and use cases in the healthcare industry identified as most promising by Frost & Sullivan. The qualitative case study and content analysis methods are described in the research method section. Detailed studies of three use cases are presented in the findings section of the paper. The last section of the paper is the “Conclusions” section consisting of three parts: the first part features a table comparing Patientory and MEDRec, highlighting differences and similarities; the second part shows detailed lessons learned specific to the three organizations; and the last part discusses lessons of a more general nature that would apply to a wider range of healthcare blockchain implementations. LITERATURE REVIEW Blockchain Technology Transactions in society between individuals and organizations are governed by contracts and records that describe the participation of certain stakeholders and details of the transactions that transpired. Entire economies depend on the tools that enable the capture, storage, distribution, and protection of these instruments. But there are issues to contend with in the presence of centralized entities that control these instruments involving trustworthiness, security, reliability of the information. While there is mistrust of intermediaries or centralized entities controlling these assets, there is also the paradoxical situation of separate siloed information systems that store this important information that have great difficulty exchanging data/information. Journal of International Technology and Information Management Volume 27, Number 3 2018 ŠInternational Information Management Association, Inc. 2017 49 ISSN: 1941-6679-On-line Copy The “blockchain” concept was introduced around October 2008 when a proposal for the virtual currency, bitcoin, was offered (Gupta, 2017). The bitcoin platform would eliminate a central authority for issuing currency, confirming transactions, and transferring ownership of the currency. Blockchain is not synonymous with bitcoin; it has many more business use applications besides digital currency and is the peer-to-peer network that is a layer above the Internet (Gupta, 2017). Table 1 explains the five basic principles underlying blockchain technology. Table 1: Basic Principles of Blockchain Technology Basic Principle Explanation 1. Distributed Database Each party on a blockchain has access to the entire database and its complete history. No single party controls the data or the information. Every party can verify the records of its transaction partners directly, without an intermediary. 2. Peer-to-Peer Transmission Communication occurs directly between peers instead of through a central node. Each node stores and forwards information to all other nodes. 3. Transparency with Pseudonymity Every transaction and its associated value are visible to anyone with access to the system. Each node, or user, on a blockchain has a unique 30-plus- character alphanumeric address that identifies it. Users can choose to remain anonymous or provide proof of their identity to others. Transactions occur between blockchain addresses. 4. Irreversibility of Records Once a transaction is entered in the database and the accounts are updated, the records cannot be altered, because they’re linked to every transaction record that came before them (hence the term “chain”). Various Blockchain-Based Healthcare: Three Successful Proof of Concept Pilots Worth Considering Rebecca Angeles ŠInternational Information Management Association, Inc. 2017 50 ISSN: 1941-6679-On-line Copy computational algorithms and approaches are deployed to ensure that the recording on the database is permanent, chronologically ordered, and available to all others on the network. 5. Computational Logic The digital nature of the ledger means that blockchain transactions can be tied to computational logic and in essence programmed. So users can set up algorithms and rules that automatically trigger transactions between nodes.” Sources: (Gupta, 2017; Halamka, Lippman, & Ekblaw, 2017; Iansiti & Lakhani, 2017; Mainelli, 2017). Three Promising Healthcare Use Cases Frost & Sullivan (Frost & Sullivan, 2018, April 18; 2018, January; 2017, August 4; 2017, June; 2016, November) established the relevance, timeliness, and urgency of experimenting with blockchain in the healthcare industry due to the urgent need to cut costs, service a growing aging population with underserved needs, and increasing pressures from government to justify exponential healthcare costs in the years ahead. Use Case 1: Healthcare Data Exchange and Interoperability The first use case with maximum benefit potential is to use blockchain technology to enable healthcare data exchange and interoperability among different electronic healthcare record (EHR) or electronic record management (ERM) systems to serve the interests of the individual patient (Frost & Sullivan, 2017, June). Blockchain technology can address major dysfunctions currently experienced in the healthcare industry in the context of information exchange and system interoperability. Looking at relevant statistics in the U.S., about 46 percent of US clinicians have no access to the complete picture of their patients’ records; conversely, US patients find it impossible to have a centralized and integrated view of their records and thus, are unable to share relevant information with care providers. With today’s broken EHR and EMR systems, error rates for identifying records or integrating electronic files are as high as 25 percent for hospital and healthcare organizations, and higher even --- 50 to 60 percent --- outside of these systems. All these problems Journal of International Technology and Information Management Volume 27, Number 3 2018 ŠInternational Information Management Association, Inc. 2017 51 ISSN: 1941-6679-On-line Copy cost US society about 150,000 lives and US$18.6 billion annually (Frost & Sullivan, 2017, June). Blockchain technology can open up solutions to these challenges. First, patients can become more engaged with their health if they can gain access to cryptographically secure, irrevocable, and immutable historical and real-time data covering their in-patient, ambulatory, and remote patient monitoring (RPM) data. Just as importantly, care provider quick access to this data can significantly improve care coordination and manage emergency care situations. Second, the use of identity management using predefined user access rules in peer-to-peer networks can give patients the ability to share their anonymized healthcare data to support medical research and medical innovations. Third, important genomic and user- generated data, especially data generated by new technologies like mobile health apps and Internet of Things-supported healthcare devices and wearable computers can be captured and stored securely. Fourth, the blockchain network would override the previous siloed systems that prevented data/information exchange among different HER and EMR systems, and at the same time, reducing the costs and difficulty of data reconciliation among these systems (Frost & Sullivan, 2017, June). Use Case 2: Drug Supply Chain Integrity and Remote Auditing The pharmaceutical industry is beset with challenges in assuring its customers of the authenticity and non-tampering of its products. An estimated US$200 billion is lost annually in the global market due to fake drugs (Frost & Sullivan, 2017, June). In the European Union drug market, an average of US$33.5 million worth of drugs are stolen in cargo theft yearly. And about 30 percent of drugs sold in developing countries are counterfeit products. In a related vein, outsourcing pharmaceutical contract research and manufacturing services globally spawns a wide range of administrative, legal, ethical, financial, and staff-related concerns. In outsourcing the manufacturing drug products, greater risks are incurred in offloading production in a foreign country where controls may be more likely to be nonexistent. It is more important to use tools to enable supply chain provenance and chain of custody from the time raw materials are acquired from suppliers through to production, distribution by the wholesaler, pharmacist (i.e., retailer), and final consumption point with end customers. Using blockchain technology, an immutable hash is used to automate the serialization and geo-tagging process throughout all the steps involved --- R&D tasks, testing, and production in manufacturing facilities. The process of serialization uses a system to track and trace the movement of prescription drugs through the supply chain, identifying each product using the following information --- unique serial number, product origin, shelf life, and batch number (Chatterjee, 2015, January 20). Blockchain-Based Healthcare: Three Successful Proof of Concept Pilots Worth Considering Rebecca Angeles ŠInternational Information Management Association, Inc. 2017 52 ISSN: 1941-6679-On-line Copy Blockchain “smart contracts” can also be used to automate the auditing of outsourced contract manufacturing of drug products and quality compliance by the manufacturer. Smart contracts can also be used for autonomous applications for due diligence, inventory management, and product recalls. Blockchain also enable the creation of proof of identity (or license) of drug products and immutable records which regulatory agencies could use to cut back the inflow into the country of counterfeit drugs and identify sources of compromised products. A reporting system can also be established in order to inform citizens of adverse drug reactions associated with drug products. Blockchain can improve the pharmaceutical supply chain financial transactions by facilitating the authenticity of transactions involving drug products, lowering credit risk, and speeding up payment cycles (Frost & Sullivan, 2017, June). Use Case 3: Clinical Trials and Population Health Research The current IT infrastructure undergirding the healthcare industry makes it difficult to report and share clinical trial results. An estimated 50 percent of all clinical trials are unreported and as a rule, healthcare researchers/investigators are unable to disseminate their study results (Frost & Sullivan, 2017, June). In the specific case of ClinicalTrials.gov, about 90 percent of the trials even lack results. This creates an impoverished situation where the growth of healthcare knowledge capital is hindered, leading to serious health risks to society as a whole. Blockchain technology can be used for a number of scenarios to benefit clinical trials and population health research. First, clinical trial protocols and results could be time stamped and render them immutable. Second, patients can grant access to their personal health records securely to researchers and pharma clinical trials through the use of eConsenting and smart contracts. Third, the clinical trial patient recruitment process could be more targeted using the eConsenting feature and gaining access to anonymized universal health records. Fourth, new models like the use of research commons and renumerative models can be used to encourage data sharing and allowing access to anonymized medical metadata in the form of transaction fees for research use cases. Fifth, blockchain technology can address the issue of “fraud” in medical research resulting in outcome switching, data snooping, and selective reporting --- all nefarious activities --- by assuring clinical trial integrity and enabling provenance of medical data trails (Frost & Sullivan, 2017, June). Journal of International Technology and Information Management Volume 27, Number 3 2018 ŠInternational Information Management Association, Inc. 2017 53 ISSN: 1941-6679-On-line Copy RESEARCH METHOD While there are numerous articles on the potential of blockchain technology in the healthcare industry, there are fewer papers on the successful pilots conducted thus far. Therefore, it is the main objective of this paper to provide a descriptive reporting and understanding of three prominent case studies that have reached successful proof-of-concept stage in the experimentation with blockchain technology. The three use cases were identified by Frost & Sullivan Research (Frost & Sullivan, 2017, June) as the most promising areas to be exploited at this time in the healthcare industry. Published case studies and related academic journal articles and trade articles were content analyzed, along with videos on MEDRec, Patientory, and SAP/CryptoWerk collaboration for blockchain in the pharmaceutical industry. FINDINGS Patientory As a Software as a Service firm, Patientory, offers a blockchain-based distributed application that enables patients, clinicians, and health organizations to access, store, and transfer information to meet patient needs and improve healthcare coordination among various institutions (McFarlane et al., 2017; Patientory, 2017a, June 20; Patientory, 2017b, July 24; Gaskell, 2017, May 3). Patientory provides a platform for these entities to interact and communicate easily as it interconnects electronic medical record (EMR) systems such as Epic, Cerner, Allscripts and Meditech and other health related database systems. The SaaS firm also offers patients a mobile app they can use to capture health-related data from both traditional and non-traditional sources (i.e., FitBit, etc.) and create their personal profiles, stored in secure HIPAA-compliant servers. Encouraging greater patient engagement with their health, the app can also be used by patients to contact their care providers and other patients with similar health issues. Patientory was designed to address the major limitations of the healthcare system as it currently operates in the U.S. The patient-centered enterprise software solution acts as an intermediary to the many siloed, fragmented, and centralized electronic medical record (EMR) keeping systems (Becker’s Health IT & CIO Report, 2017, January 19; Bitcoin Magazine (n.d.); Cohen, 2017, August 31; Health Transformer, 2017, August 29; Ribitzky et al., 2018). Blockchain-Based Healthcare: Three Successful Proof of Concept Pilots Worth Considering Rebecca Angeles ŠInternational Information Management Association, Inc. 2017 54 ISSN: 1941-6679-On-line Copy In order to do this, Patientory uses: (1) encrypted middleware to meet high-volume transaction exchanges in the healthcare industry; (2) application programming interfaces (APIs) to facilitate speedy information exchange and transfer; and (3) HIPAA-compliant health information storage assets that observe geography- specific regulations (McFarlane et al., 2017). Patientory uses the Patientory token (PTOY) to support its operations (McFarlane et al., 2017; Patientory, 2017a, June 20; Patientory, 2017b, July 24). Once patients subscribe for the service, they are given an allotted amount of space to store their personal health information for free. They may purchase additional PTOYs using the platform or an exchange to enable them to purchase additional storage space in the nodes set up in hospital systems. The PTOY also used by healthcare organizations which sign up for the SaaS via service contracts. Healthcare organizations use the PTOY to pay for the creation and execution of smart contracts and transactions. Patientory also incentivizes large healthcare organizations that possess large server storage space to trade PTOY tokens with small- and medium- sized healthcare organizations interested in gaining access to the blockchain healthcare network without incurring the costs of implement nodes themselves. Overall, the PTOY regulates Patientory’s network storage allocation, healthcare quality measures, and revenue payment cycles. Other sources of revenue for Patientory include fees from providing technical support and population health management services as a result of using machine learning and aggregating data on the blockchain platform that provide physician diagnosis support, patient-care provider care coordination, and patient engagement. Patientory uses the Ethereum Blockchain platform that applies a Turing complete programming language executed on the Ethereum Virtual Machine. Oracle Services are used to allow the Virtual Machine to interact with the Internet (McFarlane et al., 2017). Patientory uses a private implementation of the Ethereum blockchain which is a permissioned blockchain. It consists of a network of blockchain nodes that can interact only with other blockchain nodes, a key authoring entity, the HIPAA compliant storage facility, and the remote procedure call (RPC) server. Public and private key pairs to be used in the blockchain are generated by the key authoring entity. The electronic private health information (ePHI) is stored by the HIPAA compliant data storage facility (McFarlane et al., 2017). The Patientory system contains three class level objects: the institution, the institution’s employees, and customers (i.e., patients). The “individual class contract” embodies information that indicates that every user maps to a private Journal of International Technology and Information Management Volume 27, Number 3 2018 ŠInternational Information Management Association, Inc. 2017 55 ISSN: 1941-6679-On-line Copy address on the private blockchain. Also, each private address is authorized to speak to one contract in the blockchain. The “institution contract” lists the customers (i.e., patients) who have granted permissions for viewing privileges to select institutions. This institution contract also lists its authorized employees. The “customer contract” lists all the institutions patients have granted viewing permissions to. The steps involved are (McFarlane et al., 2017): 1) A requesting entity issues a request for information; this request is a cryptographically signed transaction which is sent to the remote procedure call (RPC) server. This RPC server verifies the identity of the requesting entity using the signature in the login request. 2) The database of permission login public keys receives the signature from the RPC server and checks if there is a matching entry in the database. If there is a match, this database sends a message to accept the request. 3) The RPC server also sends a copy of the incoming request to the data aggregation server, which, then, forwards this request to miners based on a load sharing mechanism. 4) The miners sends the request to the requesting party’s controlling contract, which contains information on the permissions to access specific pieces of data that the requesting part is authorized to access. If the controlling contract indicates the permission to access the information requested, then, the incoming request is deemed valid. 5) The controlling contract has a system of hashed pointers that lead to requested information. The controlling contract sends an event message to the HIPAA storage server, which contains the data and resolves the system of hash pointers. The controlling contract executes as valid request transaction which, in effect, activates the blockchain event messaging system, which contacts the HIPAA forwarder. 6) The HIPAA forwarder recognizes the valid request and creates an encrypted request against the HIPAA storage server based on the hashes of the event message, which contains the public key of the requesting party. 7) Also, the data aggregation server sends the request to the private blockchain verifiers, which compare the information request against a “target contract.” If the information request is deemed valid, then, the transaction is entered in the next block of the block chain via the mining process. An event message in the blockchain is also generated. Blockchain-Based Healthcare: Three Successful Proof of Concept Pilots Worth Considering Rebecca Angeles ŠInternational Information Management Association, Inc. 2017 56 ISSN: 1941-6679-On-line Copy MEDRec MEDRec is the product of the collaboration of the MIT Media Lab and the Beth Israel Deaconess Medical Center, along with the individuals, John Halamka, Ariel Ekblaw, Andrew Lippman, and Asaph Azaria, to pilot a blockchain-based record management system to process electronic healthcare records (Ekblaw, 2017, 2016; Halamka et al., 2017; Azaria et al., 2016). MEDRec was not designed to store patients’ health records; instead, it stores the signatures of the patients’ records on the blockchain network and alerts them when transactions are initiated (Halamka et al., 2017). The system is also designed to empower the patient as the locus of control in managing the flow of transactions on the blockchain. The MEDRec system uses three types of contracts: the registrar contract (RC), the patient-provider relationship contract (PPR), and the summary contract (SC) (Figure 1). Figure 1: Three Contract Types in MEDRec System Sources: (Azaria et al., 2016; Ekblaw et al., 2017; 2016) Journal of International Technology and Information Management Volume 27, Number 3 2018 ŠInternational Information Management Association, Inc. 2017 57 ISSN: 1941-6679-On-line Copy The Registrar Contract The registrar contract is also the global contract used to map participant identity strings to their Ethereum address identity, which is equivalent to a public key. This contract contains policies that manage the registration of new identities or modification of the mapping of existing identities. Only certified institutions can be processed via identity registration (Azaria et al., 2016; Ekblaw et al., 2017; 2016). The Patient-Provider Relationship Contract (PPR) The patient-provider relationship contract can be implemented in any pairwise data stewardship interaction and is issued between two nodes in the system where one node manages medical records for the other node. The following is a description of how the PPR behaves in the context of a healthcare provider’s database. The PPR defines the data pointers and associated access permissions that identify the records in the healthcare provider’s database. Every time a query string is executed in the provider’s database, the pointer associated with the query returns a subset of a patient’s data. The system is designed to assure that no alterations to the data at the source have taken place through the use of a hash affixed to the query string. Using the hostname and port information, the location of the provider’s database in the network is given to enable access to it. The healthcare provider designs the data queries and modifications to these queries whenever new records are added to the database (Azaria et al., 2016; Ekblaw et al., 2017; 2016). To enable patients to share their data with others, a hash table has been designed that maps third parties’ addresses to a list of additional query strings, which indicates the portion of the patient’s data a specific third party is allowed to view (Azaria et al., 2016; Ekblaw et al., 2017; 2016). The Summary Contract (SC) The SC holds a log of all interactions between a patient and care providers and other third-party institutions authorized by patients to access their data. Likewise, the SC holds a log of transactions between care providers and patents and all third parties allowed by patients to access their information. The SC blockchain log, therefore, contains histories of the participation of patients, care providers, and healthcare organizations in various past and current interactions involving nodes in the blockchain network. The system is designed to ensure that the SC blockchain logs are maintained, backed up, and restored in cases of system crashes (Azaria et al., 2016; Ekblaw et al., 2017; 2016). Blockchain-Based Healthcare: Three Successful Proof of Concept Pilots Worth Considering Rebecca Angeles ŠInternational Information Management Association, Inc. 2017 58 ISSN: 1941-6679-On-line Copy The SC also enables notifications to be sent to patients regarding the status of transactions. As a rule, care providers update patients’ records and could add new relationships in these records. Patients, therefore, could consult their SCs and find notifications about new relationships being suggested to them or updates to their SC logs. Patients have control in the sense that only they can accept new relationships being presented to them, and reject or delete these relationships --- deciding which records in their SC log they would like to acknowledge. Patients may also leave the blockchain network many times and later, rejoin it. They may gain access to their history with the blockchain network by downloading the latest blockchain in the network (Azaria et al., 2016; Ekblaw et al., 2017; 2016). The MEDRec system also works with four software components stored in servers: backend library, Ethereum client, database gatekeeper, and EHR manager (Azaria et al., 2016; Ekblaw et al., 2017; 2016). The Backend API Library MEDRec was designed to facilitate the interactions between external health record management applications and the blockchain network using a “backend API [application program interface] library.” This library is a bundle of various utilities written to handle “hurdles” in interacting with the blockchain network such as verifying transactions so that they are accepted with high confidence by the network. Examples of other “hurdles” include handling uncertainties associated with transactions that are mined and managing transactions that are ";"""date"",""2020-06-03T19:23:49Z"" ""pdf:PDFVersion"",""1.7"" ""xmp:CreatorTool"",""Appligent AppendPDF Pro 6.3"" ""pdf:docinfo:title"",""Blockchain-Based Healthcare: Three Successful Proof-of-Concept Pilots Worth Considering"" ""Appligent"",""AppendPDF Pro 6.3 Linux 64 bit Aug 30 2019 Library 15.0.4"" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""language"",""en"" ""dc:format"",""application/pdf; version=1.7"" ""pdf:docinfo:creator_tool"",""Appligent AppendPDF Pro 6.3"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"",""Blockchain-Based Healthcare: Three Successful Proof-of-Concept Pilots Worth Considering"" ""xmp:CreateDate"",""2020-06-03T12:23:49Z"" ""modified"",""2020-06-03T19:23:49Z"" ""pdf:hasMarkedContent"",""true"" ""xmp:ModifyDate"",""2020-06-03T12:23:49Z"" ""pdf:docinfo:creator"",""Rebecca Angeles"" ""meta:author"",""Rebecca Angeles"" ""meta:creation-date"",""2020-06-03T19:23:49Z"" ""created"",""2020-06-03T19:23:49Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2020-06-03T19:23:49Z"" ""resourceName"",""viewcontent.cgi"" ""Author"",""Rebecca Angeles"" ""producer"",""Prince 12.5 (www.princexml.com)"" ""pdf:docinfo:producer"",""Prince 12.5 (www.princexml.com)"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""access_permission:modify_annotations"",""true"" ""dc:creator"",""Rebecca Angeles"" ""dcterms:created"",""2020-06-03T19:23:49Z"" ""Last-Modified"",""2020-06-03T19:23:49Z"" ""dcterms:modified"",""2020-06-03T19:23:49Z"" ""pdf:docinfo:custom:Appligent"",""AppendPDF Pro 6.3 Linux 64 bit Aug 30 2019 Library 15.0.4"" ""title"",""Blockchain-Based Healthcare: Three Successful Proof-of-Concept Pilots Worth Considering"" ""xmpMM:DocumentID"",""uuid:5f7971ea-ae8a-11b2-0a00-a07e2d010000"" ""Last-Save-Date"",""2020-06-03T19:23:49Z"" ""pdf:docinfo:modified"",""2020-06-03T19:23:49Z"" ""meta:save-date"",""2020-06-03T19:23:49Z"" ""Content-Length"",""720631"" ""Content-Type"",""application/pdf"" ""xmp:MetadataDate"",""2020-06-03T12:23:49Z"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"",""Rebecca Angeles"" ""dc:language"",""en"" ""pdf:producer"",""Prince 12.5 (www.princexml.com)"" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""38"" ""pdf:hasXMP"",""true"" ""pdf:charsPerPage"",""1238"",""2205"",""2731"",""1881"",""2348"",""3147"",""2854"",""2545"",""3039"",""2665"",""1227"",""2778"",""2745"",""1493"",""3017"",""3002"",""3001"",""1646"",""2149"",""2369"",""2061"",""3084"",""3189"",""2815"",""2946"",""3057"",""2954"",""3036"",""3249"",""2738"",""3040"",""2318"",""2129"",""2071"",""2045"",""2089"",""2134"",""1446"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2020-06-03T19:23:49Z"" ";https://scholar.google.com/scholar?start=710&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094581-824;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;ArchContract: using smart contracts for disposition;DA Batista, T Weingaertner ; … Conference on Big Data (Big Data …, 2019 ieeexplore.ieee.org;;"… II. APPRAISAL AND DISPOSITION ON BLOCKCHAIN SYSTEMS The need to select records for destruction became evident in the middle of the 20th century, as organizational … The smart contract will call the EDRMS by the usage of an oracle service to start the transfer process …";Cité 2 fois;Les 2 versions;[PDF] ieee.org;https://ieeexplore.ieee.org/iel7/8986695/9005444/09006221.pdf?casa_token=pMS377RnhssAAAAA:dqI2iSKbdSBhXRIuyoee6fbVfNfWNfrepfdLmafr6w6Xvk5nN_fLE2XI7hX5sObPv3ipnDalJXQ;" Skip to Main Content IEEE Account Change Username/Password Update Address Purchase Details Payment Options Order History View Purchased Documents Profile Information Communications Preferences Profession and Education Technical Interests Need Help? US & Canada: +1 800 678 4333 Worldwide: +1 732 981 0060 Contact & Support About IEEE Xplore Contact Us Help Accessibility Terms of Use Nondiscrimination Policy Sitemap Privacy & Opting Out of Cookies A not-for-profit organization, IEEE is the world's largest technical professional organization dedicated to advancing technology for the benefit of humanity. Š Copyright 2021 IEEE - All rights reserved. Use of this web site signifies your agreement to the terms and conditions. ";"""og:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""twitter:title"",""ArchContract: using smart contracts for disposition"" ""twitter:card"",""summary"" ""Description"",""Disposition is one of the consequences of the appraisal archival function. Although appraisal writ large is a function that no technology could execute, disposi"" ""og:title"",""ArchContract: using smart contracts for disposition"" ""resourceName"",""09006221.pdf"" ""language"",""en"" ""title"",""ArchContract: using smart contracts for disposition | IEEE Conference Publication | IEEE Xplore"" ""og:description"",""Disposition is one of the consequences of the appraisal archival function. Although appraisal writ large is a function that no technology could execute, disposition has been already supported by different tools. In this paper, we propose a blockchain-based application for disposition, a smart contract called ArchContract, using two different repositories. We discuss appraisal and disposition on blockchain systems, the use of smart contracts as a disposition tool and present the model of ArchContract. We conclude that blockchain and smart contracts have the potential to support some of the records management functions such as disposition."" ""twitter:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-UA-Compatible"",""IE=Edge"" ""viewport"",""width=device-width, initial-scale=1.0"" ""dc:title"",""ArchContract: using smart contracts for disposition | IEEE Conference Publication | IEEE Xplore"" ""twitter:description"",""Disposition is one of the consequences of the appraisal archival function. Although appraisal writ large is a function that no technology could execute, disposition has been already supported by different tools. In this paper, we propose a blockchain-based application for disposition, a smart contract called ArchContract, using two different repositories. We discuss appraisal and disposition on blockchain systems, the use of smart contracts as a disposition tool and present the model of ArchContract. We conclude that blockchain and smart contracts have the potential to support some of the records management functions such as disposition."" ""Content-Encoding"",""UTF-8"" ""Content-Type-Hint"",""text/html; charset=utf-8"" ""Content-Length"",""39382"" ""Content-Language"",""en-US"" ""Content-Type"",""text/html; charset=UTF-8"" ";https://scholar.google.com/scholar?start=640&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094600-910;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Aurora: Transparent succinct arguments for R1CS;E Ben;Sasson, A Chiesa, M Riabzev…  … conference on the …, 2019 Springer;;"… in Bitcoin [65] users broadcast their private payment details in the clear on the public blockchain (so other … 1, the IOP underlying Ligero achieves the same oracle proof length, prover time, and verifier time … Stark's prover uses an IOP with oracles of size \(O(N\log N)\), leading to an …";Cité 121 fois;Les 3 versions;[PDF] iacr.org;https://eprint.iacr.org/2018/828.pdf;" Aurora: Transparent Succinct Arguments for R1CS Eli Ben-Sasson eli@cs.technion.ac.il Technion Alessandro Chiesa alexch@berkeley.edu UC Berkeley Michael Riabzev mriabzev@cs.technion.ac.il Technion Nicholas Spooner nick.spooner@berkeley.edu UC Berkeley Madars Virza madars@mit.edu MIT Media Lab Nicholas P. Ward npward@berkeley.edu UC Berkeley May 8, 2019 Abstract We design, implement, and evaluate a zkSNARK for Rank-1 Constraint Satisfaction (R1CS), a widely- deployed NP-complete language that is undergoing standardization. Our construction uses a transparent setup, is plausibly post-quantum secure, and uses lightweight cryptography. A proof attesting to the satisfiability of n constraints has size O(log2 n); it can be produced with O(n log n) field operations and verified with O(n). At 128 bits of security, proofs are less than 130 kB even for several million constraints, more than 20× shorter than prior zkSNARK with similar features. A key ingredient of our construction is a new Interactive Oracle Proof (IOP) for solving a univariate analogue of the classical sumcheck problem [LFKN92], originally studied for multivariate polynomials. Our protocol verifies the sum of entries of a Reed–Solomon codeword over any subgroup of a field. We also provide libiop, an open-source library for writing IOP-based arguments, in which a toolchain of transformations enables programmers to write new arguments by writing simple IOP sub- components. We have used this library to specify our construction and prior ones. Keywords: zero knowledge; interactive oracle proofs; succinct arguments; sumcheck protocol 1 Contents 1 Introduction 3 1.1 The need for a transparent setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Our goal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.3 Our contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.4 Prior implementations of transparent succinct non-interactive arguments . . . . . . . . . . . . . . . . . . . . . . . 6 2 Techniques 9 2.1 Our interactive oracle proof for R1CS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2 A sumcheck protocol for univariate polynomials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.3 Efficient zero knowledge from algebraic techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.4 Perspective on our techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3 Roadmap 14 4 Preliminaries 15 4.1 Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.2 Representations of polynomials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.3 The fast Fourier transform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.4 Subspace polynomials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.5 Interactive oracle proofs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 4.6 Zero knowledge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 4.7 Reed–Solomon encoded IOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.8 Univariate rowcheck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 5 Univariate sumcheck 21 5.1 Zero knowledge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 5.2 Amortization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 6 Univariate lincheck 26 7 An RS-encoded IOP for rank-one constraint satisfaction 28 7.1 Zero knowledge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 7.2 Amortization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 8 From RS-encoded provers to arbitrary provers 34 8.1 Zero knowledge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 9 Aurora: an IOP for rank-one constraint satisfaction (R1CS) 40 10 libiop: a library for IOP-based non-interactive arguments 43 10.1 Library for IOP protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 10.2 BCS transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 10.3 Portfolio of IOP protocols and sub-components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 11 Evaluation 45 11.1 Performance of Aurora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 11.2 Comparison of Ligero, Stark, and Aurora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 A Proof of Lemma 5.4 48 B Adaptation of Ligero to the R1CS relation 49 B.1 Interleaved lincheck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 B.2 Interleaved rowcheck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 B.3 Interleaved ZKIPCP for R1CS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 B.4 From encoded IPCP to regular IPCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 C Additional comparisons 57 C.1 Comparison of the LDTs in Ligero, Stark, and Aurora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 C.2 Comparison of the IOPs in Ligero, Stark, and Aurora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Acknowledgments 59 References 59 2 1 Introduction A zero knowledge proof is a protocol that enables one party (the prover) to convince another (the verifier) that a statement is true without revealing any information beyond the fact that the statement is true. Since their introduction [GMR89], zero knowledge proofs have become fundamental tools not only in the theory of cryptography but also, more recently, in the design of real-world systems with strong privacy properties. For example, zero knowledge proofs are the core technology in Zcash [BCGGMTV14; Zca], a popular cryptocurrency that preserves a user’s payment privacy. While in Bitcoin [Nak09] users broadcast their private payment details in the clear on the public blockchain (so other participants can check the validity of the payment), users in Zcash broadcast encrypted transaction details and prove, in zero knowledge, the validity of the payments without disclosing what the payments are. Many applications, including the aforementioned, require that proofs are succinct, namely, that proofs scale sublinearly in the size of the witness for the statement, or perhaps even in the size of the computation performed to check the statement. This strong efficiency requirement cannot be achieved with statistical soundness (under standard complexity assumptions) [GH98], and thus one must consider proof systems that are merely computationally sound, known as argument systems [BCC88]. Many applications further require that a proof consists of a single non-interactive message that can be verified by anyone; such proofs are cheap to communicate and can be stored for later use (e.g., on a public ledger). Constructions that satisfy these properties are known as (publicly verifiable) succinct non-interactive arguments (SNARGs) [GW11]. In this work we present Aurora, a zero knowledge SNARG of knowledge (zkSNARK) for (an extension of) arithmetic circuit satisfiability whose argument size is polylogarithmic in the circuit size. Aurora also has attractive features: it uses a transparent setup, is plausibly post-quantum secure, and only makes black-box use of fast symmetric cryptography (any cryptographic hash function modeled as a random oracle). Our work makes an exponential asymptotic improvement in argument size over Ligero [AHIV17], a recent zero knowledge non-interactive argument with similar features but where proofs scale as the square root of the circuit size. For example, Aurora’s proofs are 30× smaller than Ligero’s for circuits with a million gates (which already suffices for representative applications such as Zcash). Our work also complements and improves on Stark [BBHR18a], a recent zkSNARK that targets compu- tations expressed as bounded halting problems on random access machines. While Stark was designed for a different computation model, we can still study its efficiency when applied to arithmetic circuits. In this case Aurora’s prover is faster by a logarithmic factor (in the circuit size) and Aurora’s proofs are concretely much shorter, e.g., 20× smaller for circuits with a million gates. The efficiency features of Aurora stem from a new Interactive Oracle Proof (IOP) that solves a univariate analogue of the celebrated sumcheck problem [LFKN92], in which query complexity is logarithmic in the degree of the polynomial being summed. This is an exponential improvement over the original multi-variate protocol, where communication complexity is (at least) linear in the degree of the polynomial. We believe this protocol and its analysis are of independent interest. 1.1 The need for a transparent setup The first succinct argument is due to Kilian [Kil92], who showed how to use collision-resistant hashing to compile any Probabilistically Checkable Proof (PCP) [BFLS91; FGLSS96; AS98; ALMSS98] into a corresponding interactive argument. Micali showed how a similar construction, in the random oracle model, yields succinct non-interactive arguments (SNARGs) [Mic00]. Subsequent work showed that Micali’s construction preserves a PCP’s zero knowledge [IMSX15] and proof of knowledge [Val08] properties. However PCPs remain expensive, and this approach has not led to SNARGs with good concrete efficiency. 3 In light of this, a different approach was initially used to achieve SNARG implementations with good concrete efficiency [PGHR13; BCGTV13]. This approach, pioneered in [Gro10; GGPR13; Lip13; BCIOP13], relied on combining certain linearly homomorphic encodings with lightweight information-theoretic tools known as linear PCPs [IKO07; BCIOP13; SBVBPW13]; this approach was refined and optimized in several works [BCTV14b; BCTV14a; CFHKKNPZ15; Gro16; BISW17; GM17]. These constructions underlie widely-used open-source libraries [SCI] and deployed systems [Zca], and their main feature is that proofs are very short (a few hundred bytes) and very cheap to verify (a few milliseconds). Unfortunately, the foregoing approach suffers from a severe limitation, namely, the need for a central party to generate system parameters for the argument system. Essentially, this party must run a probabilistic algorithm, publish its output, and “forget” the secret randomness used to generate it. This party must be trustworthy because knowing these secrets allows forging proofs for false assertions. While this may sound like an inconvenience, it is a colossal challenge to real-world deployments. When using cryptographic proofs in distributed systems, relying on a central party negates the benefits of distributed trust and, even though it is invoked only once in a system’s life, a party trusted by all users typically does not exist! The responsibility for generating parameters can in principle be shared across multiple parties via techniques that leverage secure multi-party computation [BCGTV15; BGG17; BGM17]. This was the approach taken for the launch of Zcash [The], but it also demonstrated how unwieldy such an approach is, involving a costly and logistically difficult real-world multi-party “ceremony”. Successfully running such a multi-party protocol was a singular feat, and systems without such expensive setup are decidedly preferable. Some setup is unavoidable because if SNARGs without any setup existed then so would sub-exponential algorithms for SAT [Wee05]. Nevertheless, one could still aim for a “transparent setup”, namely one that consists of public randomness, because in practice it is cheaper to realize. Recent efforts have thus focused on designing SNARGs with transparent setup (see discussion in Section 1.4). 1.2 Our goal The goal of this paper is to obtain transparent zkSNARKs that satisfy the following desiderata. • Post-quantum security. Practitioners, and even standards bodies [NIS16], have a strong interest in crypto- graphic primitives that are plausibly secure against efficient quantum adversaries. This is motivated by the desire to ensure long-term security of deployed systems and protocols. • Concrete efficiency. We seek argument systems that not only exhibit good asymptotics (in argument size and prover/verifier time) but also demonstrably offer good efficiency via a prototype. The second bullet warrants additional context. Most argument systems support an NP-complete problem, so they are in principle equivalent under polynomial-time reductions. Yet, whether such protocols can be efficiently used in practice actually depends on: (a) the particular NP-complete problem “supported” by the protocol; (b) the concrete efficiency of the protocol relative to this problem. This creates a complex tradeoff. Simple NP-complete problems, like boolean circuit satisfaction, facilitate simple argument systems; but reducing the statements we wish to prove to boolean circuits is often expensive. On the other hand, one can design argument systems for rich problems (e.g., an abstract computer) for which it is cheap to express the desired statements; but such argument systems may use expensive tools to support these rich problems. Our goal is concretely-efficient argument systems for rank-1 constraint satisfaction (R1CS), which is the following natural NP-complete problem: given a vector v ∈ Fk and three matrices A,B,C ∈ Fm×n, can one augment v to z ∈ Fn such that Az ◦Bz = Cz? (We use “◦” to denote the entry-wise product.) We choose R1CS because it strikes an attractive balance: it generalizes circuits by allowing “native” field arithmetic and having no fan-in/fan-out restrictions, but it is simple enough that one can design efficient 4 argument systems for it. Moreover, R1CS has demonstrated strong empirical value: it underlies real-world systems [Zca] and there are compilers that reduce program executions to it (see [WB15] and references therein). This has led to efforts to standardize R1CS formats across academia and industry [Zks]. 1.3 Our contributions In this work we study Interactive Oracle Proofs (IOPs) [BCS16; RRR16], a notion of “multi-round PCPs” that has recently received much attention [BCGV16; BCFGRS17; BBCGGHPRSTV17; BBHR18b; BBHR18a; BKS18]. These types of interactive proofs can be compiled into non-interactive arguments in the random oracle model [BCS16], and in particular can be used to construct transparent SNARGs. The properties of zero knowledge and proof of knowledge are inherited from the IOP, leading to transparent zkSNARKs. Building on this approach, we present several contributions: (1) an IOP protocol for R1CS with attractive efficiency features; (2) design, implementation, and evaluation of a transparent zkSNARK for R1CS, based on this IOP; (3) a library for writing IOP-based non-interactive arguments. We now describe each contribution. (1) IOP for R1CS. We construct a zero knowledge IOP protocol for rank-1 constraint satisfaction (R1CS) with linear proof length and logarithmic query complexity. Given an R1CS instance C = (A,B,C) with A,B,C ∈ Fm×n, we denote by N = Ω(m+ n) the total number of non-zero entries in the three matrices and by |C| the number of bits required to represent these; note that |C| = Θ(N log |F|). One can view N as the number of “arithmetic gates” in the R1CS instance. Theorem 1.1 (informal). There is an O(logN)-round IOP protocol for R1CS with proof length O(N) over alphabet F and query complexity O(logN). The prover uses O(N logN) field operations, while the verifier uses O(N) field operations. The IOP protocol is public coin and is a zero knowledge proof of knowledge. The core of our result is a solution to a univariate analogue of the classical sumcheck problem [LFKN92]. Our protocol (including zero knowledge and soundness error reduction) is relatively simple: it is specified in a single page (see Fig. 5 in Section 9), given a low-degree test as a subroutine. The low degree test that we use is a recent highly-efficient IOP for testing proximity to the Reed–Solomon code [BBHR18b]. (2) zkSNARK for R1CS. We design, implement, and evaluate Aurora, a zero knowledge SNARG of knowledge (zkSNARK) for R1CS with several notable features: (a) it only makes black-box use of fast symmetric cryptography (any cryptographic hash function modeled as a random oracle); (b) it has a transparent setup (users merely need to “agree” on which cryptographic hash function to use); (c) it is plausibly post- quantum secure (there are no known efficient quantum attacks against this construction). These features follow from the fact that Aurora is obtained by applying the transformation of [BCS16] to our IOP for R1CS. This transformation preserves both zero knowledge and proof of knowledge of the underlying IOP. The following theorem is obtained straightforwardly by combining Theorem 1.1 with [BCS16, Theorem 7.1]. Theorem 1.2 (informal). There exists a zkSNARK for R1CS that is unconditionally secure in the random oracle model with proof length OÎť(log2N). The prover runs in time OÎť(N logN) and the verifier in time OÎť(N). (Here for simplicity we take the field F to have size 2Θ(Îť) where Îť is the security parameter.) For example, setting our implementation to a security level of 128 bits over a 192-bit finite field, proofs range from 40 kB to 130 kB for instances of up to millions of gates; producing proofs takes on the order of several minutes and checking proofs on the order of several seconds. (See Section 11 for details.) Overall, as indicated in Fig. 2, we achieve the smallest argument size among (plausibly) post-quantum non-interactive arguments for circuits, by more than an order of magnitude. Other approaches achieve smaller argument sizes by relying on (public-key) cryptography that is insecure against quantum adversaries. 5 (3) libiop: a library for non-interactive arguments. We provide libiop, a codebase that enables the design and implementation of non-interactive arguments based on IOPs. The codebase uses the C++ language and has three main components: (1) a library for writing IOP protocols; (2) a realization of [BCS16]’s transformation, mapping any IOP written with our library to a corresponding non-interactive argument; (3) a portfolio of IOP protocols. We have released libiop under a permissive software license for the community (see https://github.com/scipr-lab/libiop). We believe that our library will serve as a useful tool in meeting the increasing demand by practitioners for transparent non-interactive arguments. 1.4 Prior implementations of transparent succinct non-interactive arguments We summarize prior work that has designed and implemented transparent SNARGs; see Fig. 2.1 Based on asymmetric cryptography. Bulletproofs [BCCGP16; BBBPWM18] proves the satisfaction of an N -gate arithmetic circuit via a recursive use of a low-communication protocol for inner products, achieving a proof with O(logN) group elements. Hyrax [WTSTW17] proves the satisfaction of a layered arithmetic circuit of depth D and width W via proofs of O(D logW ) group elements; the construction applies the Cramer–Damgård transformation [CD98] to doubly-efficient Interactive Proofs [GKR15; CMT12]. Both approaches use Pedersen commitments, and so are vulnerable to quantum attacks. Also, in both approaches the verifier performs many expensive cryptographic operations: in the former, the verifier uses O(N) group exponentiations; in the latter, the verifier’s group exponentiations are linear in the circuit’s witness size. (Hyrax allows fewer group exponentiations but with longer proofs; see [WTSTW17].) Based on symmetric cryptography. The “original” SNARG construction of Micali [Mic00; IMSX15] has advantages beyond transparency. First, it is unconditionally secure given a random oracle, which can be instantiated with fast symmetric cryptography.2 Second, it is plausibly post-quantum secure, in that there are no known efficient quantum attacks. But the construction relies on PCPs, which remain expensive. IOPs are “multi-round PCPs” that can also be compiled into non-interactive arguments in the random oracle model [BCS16]. This compilation retains the foregoing advantages (transparency, lightweight cryp- tography, and plausible post-quantum security) and, in addition, facilitates greater efficiency, as IOPs have superior efficiency compared to PCPs [BCGV16; BCFGRS17; BBCGGHPRSTV17; BBHR18b; BBHR18a]. In this work we follow the above approach, by constructing a zkSNARK based on a new IOP protocol. Two recent works have also taken the same approach, but with different underlying IOP protocols, which have led to different features. We provide both of these works as part of our library (Section 10), and experimentally compare them with our protocol (Section 11). The discussion below is a qualitative comparison. • Ligero [AHIV17] is a non-interactive argument that proves the satisfiability of an N -gate circuit via proofs of size O( √ N) that can be verified in O(N) cryptographic operations. As summarized in Fig. 1, the IOP underlying Ligero achieves the same oracle proof length, prover time, and verifier time as our IOP. However, we reduce query complexity from O( √ N) to O(logN), which is an exponential improvement, at the expense of increasing round complexity from 2 to O(logN). The arguments that we obtain are still non-interactive, but our smaller query complexity translates into shorter proofs (see Fig. 2). • Stark [BBHR18a] is a non-interactive argument for bounded halting problems on a random access machine. Given a program P and a time bound T , it proves that P accepts within T steps on a certain abstract 1We omit a discussion of prior works without implementations, or that study non-transparent succinct non-interactive arguments; we refer the reader to the survey of Walfish and Blumberg [WB15] for an overview of sublinear argument systems. We also note that recent work [BBCPGL18] has used lattice cryptography to achieve sublinear zero knowledge arguments that are plausibly post-quantum secure, which raises the exciting question of whether these recent protocols can lead to efficient implementations. 2Some cryptographic hash functions, such as BLAKE2, can process almost 1 gibibyte per second [ANWOW13]. 6 https://github.com/scipr-lab/libiop computer (when given suitable nondeterministic advice) via succinct proofs of size polylog(T ). Moreover, verification is also succinct: checking a proof takes time only |P |+ polylog(T ), which is polynomial in the size of the statement and much better than “naive verification” which takes time Ω(|P |+ T ). The main difference between Stark and Aurora is the computational models that they support. While Stark supports uniform computations specified by a program and a time bound, Aurora supports non-uniform computations specified by an explicit circuit (or constraint system). Despite this difference, we can compare the cost of Stark and Aurora with respect to the explicit circuit model, since one can reduce a given N -gate circuit (or N -constraint system) to a corresponding bounded halting problem with |P |, T = Θ(N). In this case, Stark’s verification time is the same as Aurora’s, O(N); this is best possible because just reading an N -gate circuit takes time Ω(N). But Stark’s prover is a logarithmic factor more expensive because it uses a switching network to verify a program’s accesses to memory. Stark’s prover uses an IOP with oracles of size O(N logN), leading to an arithmetic complexity of O(N log2N). (See Figs. 1 and 2.) Both Stark and Aurora have argument size O(log2N), but additional costs in Stark (e.g., due to switching networks) result in Stark proofs being one order of magnitude larger than Aurora proofs. That said, we view Stark and Aurora as complementing each other: Stark offers savings in verification time for succinctly represented programs, while Aurora offers savings in argument size for explicitly represented circuits. 7 protocol round proof length query prover time verifier time type complexity (field elts) complexity (field ops) (field ops) Ligero IPCP † 2 O(N) O( √ N) O(N logN) O(N) Stark IOP O(logN) O(N logN) O(logN) O(N log2N) O(N) Aurora IOP O(logN) O(N) O(logN) O(N logN) O(N) Figure 1: Asymptotic comparison of the information-theoretic proof systems underlying Ligero, Stark, and Aurora, when applied to an N -gate arithmetic circuit. † An IPCP [KR08] is a PCP oracle that is checked via an Interactive Proof; it is a special case of an IOP. post argument size verifier non-interactivity name setup quantum? asymptotic N = 106 time technology [Gro10][GGPR13] [Lip13][BCIOP13]... various private no OÎť(1) 128B OÎť(k) † linear PCP + linear encoding [ZGKPP17a] ZK-vSQL private no OÎť(d logN) N/A OÎť(N) apply [CD98]-transform to doubly- efficient IP [GKR15; CMT12] [WTSTW17] Hyrax public no OÎť(d logN) ‡ 50 kB OÎť(N) as above (but using a different polynomial commitment) [BCCGP16] [BBBPWM18] Bulletproofs public no OÎť(logN) 1.5 kB OÎť(N) recursive inner product argument [AHIV17] Ligero public yes OÎť( √ N) 4.0MB OÎť(N) apply [BCS16]-transform to IPCP [BBHR18a] Stark public yes OÎť(log 2N) 3.2MB OÎť(N) apply [BCS16]-transform to IOP this work Aurora public yes OÎť(log 2N) 130 kB OÎť(N) apply [BCS16]-transform to IOP Figure 2: Comparison of some non-interactive zero knowledge arguments for proving statements of the form “there exists a secret w such that C(x,w) = 1” for a given arithmetic circuit C ofN gates (and depth d) and public input x of size k. The table is grouped by “technology”, and for simplicity assumes that the circuit’s underlying field has size 2O(Îť) where Îť is the security parameter. Approximate argument sizes are given for N = 106 gates over a cryptographically-large field, and a security level of 128 bits; some argument sizes may differ from those reported in the cited works because size had to be re-computed for the security level and N used here; also, [ZGKPP17a] reports no implementation. † Given a per-circuit preprocessing step. ‡ A tradeoff between argument size and verifier time is possible; see [WTSTW17]. 8 2 Techniques Our main technical contribution is a linear-length logarithmic-query IOP for R1CS (Theorem 1.1), which we use to design, implement, and evaluate a transparent zkSNARK for R1CS. Below we summarize the main ideas behind our protocol, and postpone to Sections 10 and 11 discussions of our system. In Section 2.1, we describe our approach to obtain the IOP for R1CS; this approach leads us to solve the univariate sumcheck problem, as discussed in Section 2.2; finally, in Section 2.3, we explain how we achieve zero knowledge. In Section 2.4 we conclude with a wider perspective on the techniques used in this paper. 2.1 Our interactive oracle proof for R1CS The R1CS relation consists of instance-witness pairs ((A,B,C, v), w), where A,B,C are matrices and v, w are vectors over a finite field F, such that (Az)◦ (Bz) = Cz for z := (1, v, w) and “◦” denotes the entry-wise product.3 For example, R1CS captures arithmetic circuit satisfaction: A,B,C represent the circuit’s gates, v the circuit’s public input, and w the circuit’s private input and wire values.4 We describe the high-level structure of our IOP protocol for R1CS, which has linear proof length and logarithmic query complexity. The protocol tests satisfaction by relying on two building blocks, one for testing the entry-wise vector product and the other for testing the linear transformations induced by the matrices A,B,C. Informally, we thus consider protocols for the following two problems. • Rowcheck: given vectors x, y, z ∈ Fm, test whether x ◦ y = z, where “◦” denotes entry-wise product. • Lincheck: given vectors x ∈ Fm, y ∈ Fn and a matrix M ∈ Fm×n, test whether x = My. One can immediately obtain an IOP for R1CS when given IOPs for the rowcheck and lincheck problems. The prover first sends four oracles to the verifier: the satisfying assignment z and its linear transformations yA := Az, yB := Bz, yC := Cz. Then the prover and verifier engage in four IOPs in parallel: – An IOP for the lincheck problem to check that “yA = Az”. Likewise for yB and yC . – An IOP for the rowcheck problem to check that “yA ◦ yB = yC”. Finally, the verifier checks that z is consistent with the public input v. Clearly, there exist z, yA, yB, yC that yield valid rowcheck and lincheck instances if and only if (A,B,C, v) is a satisfiable R1CS instance. The foregoing reduces the goal to designing IOPs for the rowcheck and lincheck problems. As stated, however, the rowcheck and lincheck problems only admit “trivial” protocols in which the verifier queries all entries of the vectors in order to check the required properties. In order to allow for sublinear query complexity, we need the vectors x, y, z to be encoded via some error-correcting code. We use the Reed–Solomon (RS) code because it ensures constant distance with constant rate while at the same time it enjoys efficient IOPs of Proximity [BBHR18b]. Given an evaluation domain L ⊆ F and rate parameter ρ ∈ [0, 1], RS [L, ρ] is the set of all codewords f : L → F that are evaluations of polynomials of degree less than ρ|L|. Then, the encoding of a vector v ∈ FS with S ⊆ F and |S| < ρ|L| is v̂|L ∈ FL where v̂ is the unique polynomial of degree |S| − 1 such that v̂|S = v. Given this encoding, we consider “encoded” variants of the rowcheck and lincheck problems. 3Throughout, we assume that F is “friendly” to FFT algorithms, i.e., F is a binary field or its multiplicative group is smooth. 4The reader may be familiar with a standard arithmetization of circuit satisfaction (used, e.g., in the inner PCP of [ALMSS98]). Given an arithmetic circuit with m gates and n wires, each addition gate xi ← xj + xk is mapped to the linear constraint xi = xj + xk and each product gate xi ← xj ¡ xk is mapped to the quadratic constraint xi = xj ¡ xk. The resulting system of equations can be written as A ¡ ((1, x)⊗ (1, x)) = b for suitable A ∈ Fm×(n+1)2 and b ∈ Fm. However, this reduction results in a quadratic blowup in the instance size. There is an alternative reduction due to [Mei12; GGPR13] that avoids this. 9 • Univariate rowcheck (Definition 4.9): given a subset H ⊆ F and codewords f, g, h ∈ RS [L, ρ], check that f̂(a) ¡ ĝ(a)− ĥ(a) = 0 for all a ∈ H . (This is a special case of the definition that we use later.) • Univariate lincheck (Definition 6.1): given subsets H1, H2 ⊆ F, codewords f, g ∈ RS [L, ρ], and a matrix M ∈ FH1×H2 , check that f̂(a) = ∑ b∈H2 Ma,b ¡ ĝ(b) for all a ∈ H1. Given IOPs for the above problems, we can now get an IOP protocol for R1CS roughly as before. Rather than sending z,Az,Bz,Cz, the prover sends their encodings fz, fAz, fBz, fCz . The prover and verifier then engage in rowcheck and lincheck protocols as before, but with respect to these encodings. For these encoded variants, we achieve IOP protocols with linear proof length and logarithmic query complexity, as required. We obtain a protocol for rowcheck via standard techniques from the probabilistic checking literature [BS08]. As for lincheck, we do not use any routing and instead use a technique (dating back at least to [BFLS91]) to reduce the given testing problem to a sumcheck instance. However, since we are not working with multivariate polynomials, we cannot rely on the usual (multivariate) sumcheck protocol. Instead, we present a novel protoco";"""date"",""2019-05-08T19:49:26Z"" ""pdf:PDFVersion"",""1.5"" ""pdf:docinfo:title"","" Aurora: Transparent Succinct Arguments for R1CS "" ""xmp:CreatorTool"",""LaTeX with hyperref package"" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""subject"","""" ""language"",""en"" ""dc:format"",""application/pdf; version=1.5"" ""pdf:docinfo:creator_tool"",""LaTeX with hyperref package"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"","" Aurora: Transparent Succinct Arguments for R1CS "" ""modified"",""2019-05-08T19:49:26Z"" ""cp:subject"","""" ""pdf:docinfo:subject"","""" ""pdf:hasMarkedContent"",""false"" ""pdf:docinfo:creator"","""" ""PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) kpathsea version 6.2.2"" ""meta:author"","""" ""trapped"",""False"" ""meta:creation-date"",""2019-05-08T19:49:26Z"" ""created"",""2019-05-08T19:49:26Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2019-05-08T19:49:26Z"" ""resourceName"",""828.pdf"" ""Author"","""" ""producer"",""pdfTeX-1.40.17"" ""pdf:docinfo:producer"",""pdfTeX-1.40.17"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""5"",""3"",""3"",""0"",""0"",""9"",""25"",""34"",""40"",""35"",""3"",""43"",""18"",""57"",""67"",""48"",""70"",""35"",""58"",""29"",""32"",""51"",""26"",""52"",""5"",""84"",""52"",""36"",""65"",""9"",""95"",""9"",""28"",""0"",""0"",""0"",""0"",""0"",""43"",""6"",""61"",""51"",""20"",""28"",""32"",""55"",""20"",""13"",""20"",""0"",""0"",""0"",""0"",""0"",""0"" ""Keywords"","""" ""access_permission:modify_annotations"",""true"" ""dc:creator"","""" ""dcterms:created"",""2019-05-08T19:49:26Z"" ""Last-Modified"",""2019-05-08T19:49:26Z"" ""dcterms:modified"",""2019-05-08T19:49:26Z"" ""title"","" Aurora: Transparent Succinct Arguments for R1CS "" ""Last-Save-Date"",""2019-05-08T19:49:26Z"" ""pdf:docinfo:keywords"","""" ""pdf:docinfo:modified"",""2019-05-08T19:49:26Z"" ""meta:save-date"",""2019-05-08T19:49:26Z"" ""pdf:docinfo:custom:PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) kpathsea version 6.2.2"" ""Content-Length"",""1215146"" ""Content-Type"",""application/pdf"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"","""" ""dc:subject"","""" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""64"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""1383"",""2823"",""3552"",""3643"",""3437"",""3782"",""1395"",""1778"",""3311"",""3325"",""3226"",""3790"",""144"",""1427"",""2663"",""3270"",""2710"",""3130"",""2815"",""2369"",""2477"",""1914"",""2265"",""2374"",""914"",""2652"",""1922"",""2701"",""2604"",""2817"",""2412"",""2595"",""358"",""3650"",""2476"",""2573"",""2718"",""2448"",""1240"",""2677"",""1214"",""930"",""3162"",""2398"",""3079"",""1614"",""1149"",""1673"",""2759"",""2212"",""2521"",""2021"",""2849"",""2799"",""2588"",""1249"",""3199"",""2592"",""2879"",""3282"",""2914"",""2976"",""2870"",""2050"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""pdf:docinfo:trapped"",""False"" ""meta:keyword"","""" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2019-05-08T19:49:26Z"" ";https://scholar.google.com/scholar?start=720&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094532-614;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Devid: Blockchain-based portfolios for software developers;M de Vos, M Olsthoorn… ; 2019 IEEE International …, 2019 ieeexplore.ieee.org;;"… authority or an (Ethereum) smart contract that interacts with the dAppCoder application through oracles … de Vos, and J. Pouwelse, “Trustchain: A sybil-resistant scalable blockchain,” Future Generation … [11] C. LeMahieu, “Nano: A feeless distributed cryptocurrency network,” URL …";Cité 2 fois;Les 6 versions;[PDF] tudelft.nl;http://pure.tudelft.nl/ws/files/55377155/paper_camera_ready.pdf;" Delft University of Technology DevID: Blockchain-based Portfolios for Software Developers de Vos, Martijn; Olsthoorn, Mitchell; Pouwelse, Johan DOI 10.1109/DAPPCON.2019.00030 Publication date 2019 Document Version Accepted author manuscript Published in Proceedings - 2019 IEEE International Conference on Decentralized Applications and Infrastructures, DAPPCON 2019 Citation (APA) de Vos, M., Olsthoorn, M., & Pouwelse, J. (2019). DevID: Blockchain-based Portfolios for Software Developers. In P. Ruppel, S. Schulte, J. Xu, Y. Park, & A. Kupper (Eds.), Proceedings - 2019 IEEE International Conference on Decentralized Applications and Infrastructures, DAPPCON 2019: Blockchain and beyond (pp. 158-163). [8783158] https://doi.org/10.1109/DAPPCON.2019.00030 Important note To cite this publication, please use the final published version (if applicable). Please check the document version above. Copyright Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons. Takedown policy Please contact us and provide details if you believe this document breaches copyrights. We will remove access to the work immediately and investigate your claim. This work is downloaded from Delft University of Technology. For technical reasons the number of authors shown on this cover page is limited to a maximum of 10. https://doi.org/10.1109/DAPPCON.2019.00030 https://doi.org/10.1109/DAPPCON.2019.00030 DevID: Blockchain-based Portfolios for Software Developers Martijn de Vos, Mitchell Olsthoorn, and Johan Pouwelse (j.a.pouwelse@tudelft.nl) Distributed Systems group, Delft University of Technology, The Netherlands Abstract—Decentralized applications, also known as dApps, are the new paradigm for writing business-critical software. Recruiting developers with appropriate qualifications and skills for this activity is key, yet challenging. The main problem is that the portfolio of developers is usually scattered across centralized platforms like GitHub and LinkedIn, and vendor locked. This can result in an incomplete impression of their capabilities. We address this problem and introduce DevID, a blockchain- based portfolio for developers. Over time, this portfolio enables developers to build up a trustworthy collection of records that showcase their capabilities and expertise. They can import data assets from third parties into a unified DevID portfolio, add projects and skills, and receive endorsements. All portfolio records are stored on a scalable distributed ledger and owned by developers themselves. The essential idea is to exploit the tamper- proof property of the blockchain while providing durable storage. To demonstrate the practical value of DevID, we build the competition-based platform, dAppCoder, for the development of decentralized applications. On dAppCoder clients are able to submit their ideas and developers can find work. dAppCoder utilizes DevID portfolios to match these clients and developers. We fully implement our ideas and conduct a deployment trial. Our trial demonstrates that DevID is efficient at storing portfolio records. Index Terms—Unified Portfolio, Decentralized Applications Development, dApp Development Platform, Developer Reputa- tion and Identity, Distributed Ledger Technology I. INTRODUCTION Decentralized applications, also known as dApps, allow for contractual logic that runs without the need for trusted inter- mediaries. Finding the right talent to develop these business- critical applications is becoming a real problem [1]. Yet, many software developers are looking for work. Matching clients and reputable developers is at the core of profit-driven companies such as Upwork. However, each platform only provides access to a subset of all available work and developers. The main problem is that centralized approaches lead to fragmentation and lock-in effects [2]. Many software devel- opers have their data fragmented across multiple platforms, like GitHub and LinkedIn. Each platform only yields a partial impression on the capabilities and background of a developer. Moreover, data assets are usually locked to one platform and cannot easily be reused across different services. Another issue with centralized approaches is data authority. It raises much discussion in our society, mainly controlled by data-driven corporates. By agreeing to the terms of service of a company, one essentially gives them authority over most of the personal data being shared. This work was funded by NWO/TKI grant 439.16.614. There currently is no independent platform for developer portfolios without fragmentation, lock-in, and autonomy over all data. Availability of such a platform would increase effi- ciency and effectiveness when matching reputable developers looking for work and clients that are in need of talent. We address this deficiency and present DevID, a unified portfolio specifically made for dApp developers. An impres- sion of such a portfolio is given in Figure 1. DevID portfolios are powered by a scalable blockchain ledger, used for durable storage of records. Developers can add tamper-proof records to their portfolio. These records are fully managed and owned by developers themselves. To show the practicality of DevID, we build a competition- based platform for crowdsourcing the development of decen- tralized applications, named dAppCoder. Crowdsourcing is a relatively new model for software development, where an open call is made for the documentation, design, coding, and testing of software [3]. We believe that a single, public, and open market is preferable compared to a centralized solution with fragmentation and lock-in effects. The main contributions of this work are tri-fold: • DevID: a unified portfolio specifically for dApp develop- ers, powered by a pairwise distributed ledger (Section III). • dAppCoder: our application to crowdsource the develop- ment of decentralized applications (Section IV). • A deployment trial of DevID and dAppCoder, which demonstrates the practicality of our work (Section V). II. PROBLEM DESCRIPTION The main challenge is to create a digital portfolio that gives an accurate impression of the capabilities and expertise of a developer. We now elaborate on two requirements for this portfolio and clarify the problems we have to address. Fig. 1: An impression of a DevID portfolio. Wallet Code Execution Environment DAppCoder Client Submission Validator WalletWallets TransactionsFraud Management Scalable Blockchain Fabric Distributed Storage Tamper-proof Developer Portfolio Trusted Notary Service DevID DApp- Coder Fig. 2: The architecture of DevID and dAppCoder. First, we require that developers are able to import existing data from other platforms into their portfolio. This streamlines the bootstrapping process of a portfolio with relevant records. The problem, however, is to ensure that data being imported actually belongs to the user importing it. This is an essential requirement to ensure trustworthy portfolios. Second, we require our developer portfolio to be indepen- dent of any trusted intermediary. Blockchain technology is increasingly being used as middleware for building powerful decentralized applications without centralized authority. For example, platforms like Ethereum and EOS enable developers to write and deploy smart contracts, self-executing code that enforces agreements between two or more parties [4]. How- ever, most blockchain fabrics are not suitable for large-scale storage of portfolio records, or for data storage in general. Given these two requirements, the research question of this work is as follows: How can we provide software engineers with a unified developer portfolio, efficient at storing tamper- proof and accurate data records they control themselves? III. DEVID: BLOCKCHAIN-BASED PORTFOLIOS FOR SOFTWARE DEVELOPERS We now present our unified portfolio, named DevID. The architecture is given in Figure 2. This figure also includes the architecture of dAppCoder, our platform to crowdsource the development of decentralized applications. dAppCoder itself is discussed in Section IV. A. Supporting Generic Storage We show how DevID portfolios support generic storage of records and elaborate on different record types. Statistics: The first record type we consider is statistics, quantifiable and verifiable numbers that represent a specific developer metric. For example, these records could represent developer statistics like the number of years of programming experience, or the total number of code reviews given. A visualization of these records is shown in Figure 1 under the section “Developer in Numbers”. Projects: Developers can add projects that they worked on to their DevID portfolio. In Figure 1, this information is displayed under the section “Top Projects”. Optionally, references to projects can be added to a DevID portfolio, like a link to a GitHub repository or to the hash of a specific commit. Skills: Developers can add skills to their DevID portfolio. We consider the ability to highlight proficiency in specific programming languages and familiarity with blockchain plat- forms an essential feature of a developer portfolio. It aids programmers in finding projects that match their expertise, and it enables clients to find developers that fit their projects best. For instance, applications that have access to DevID portfolios can filter available developers on one or multiple skills. Endorsements: The final record type we define is en- dorsements. Developers can endorse other developers (e.g., by writing a letter of recommendation) or endorse specific skills of others. Skills and endorsements can also be imported from other platforms like LinkedIn. How we achieve this, is discussed in the next section. B. Unifying Developer Data We now discuss how to import developer data from multiple platforms and how to verify it for correctness. Importing developer data: DevID allows developers to import relevant information from different platforms into their portfolio. For example, they can import data from LinkedIn (e.g., skills or past projects) or from GitHub (e.g., the number of followers and code contributions). Importing can be done by querying their public interfaces (APIs) and request the relevant data. To store the data in the portfolio, one can either add a reference to the (external) data or copy the data assets into the portfolio. To reduce dependency on third-party services, we choose to copy the data and store it within a portfolio record. Verifying developer data: As discussed in Section II, it is essential to ensure that imported data actually belongs to the developer importing it. We propose two solutions to achieve trustworthy importation of data: challenges and TLS auditing. The first solution is to pose a challenge where the developer importing the data, proves that they have control over this data. For example, when importing data from GitHub, we can require a public identifier (e.g., a public key) of the developer to be part of the “bio” profile field. This information can then be verified for correctness by other users who query the public GitHub API. We call users who verify data witnesses. While this is a basic mechanism to ensure the accuracy of imported data, it heavily depends on the availability of a public API. The second solution is TLS auditing [5]. The key idea is to proxy a TLS connection through a random witness, which then verifies and signs the data after the TLS connection terminates. When the TLS session finishes, the client gives the witness the private key used to decrypt HTTPS responses from the web service. Note that this way the witness is not able to decrypt the request made to the web service, which likely includes credentials or access tokens. The role of a witness can either be fulfilled by other entities in the network, or by a trusted (a) Linear ledger (Ethereum). (b) DAG ledger (IOTA). (c) Pairwise ledger (Nano). Fig. 3: Three different structures of distributed blockchain ledgers. Each arrow points to the subsequent block in the chain. notary service. Depending on the significance of data being imported, multiple witnesses can be used for this. Compared to challenges, TLS auditing works when access to a public API is absent but is more advanced. Our lab has implemented an advanced TLS auditing mechanism, which is currently under a security audit. C. Verified Identities To further improve trustworthiness of DevID portfolios, de- velopers can optionally verify their digital identity. A verified identity is uniquely linked to a real-world entity. Software built on DevID can give preferential treatment to developers that have verified their identity. For example, an application can ignore endorsements that are given by unverified developers. Identity verification can be done with an attestation given by a trusted third party like the government or a notary. Enforcing strong, long-lived identities in DevID is comparable with account validation that many centralized platforms use (e.g., the verification of a phone number). The requirement for verified identities addresses the Sybil Attack, where an adversary assumes multiple fake identities to influence or subvert the network [6]. D. Efficient Blockchain Storage DevID requires a blockchain fabric that can store tamper- proof and accurate data records. We now explore three com- mon blockchain structures, displayed in Figure 3. Linear ledger: Figure 3a shows the linear blockchain ledger used by Ethereum. The fundamental property of this ledger is that at least a majority of users agree on the exact sequence of transactions. A global consensus mechanism like Proof-of-Work or Proof-of-Stake prevents the double-spend attack where a malicious user intentionally creates a fork of their chain [7]. While providing a high level of consis- tency, the transaction throughput of these ledgers is often not high enough to facilitate record creation and modification by millions of users. This motivates us to consider different blockchain structures for portfolio storage. DAG ledger: Another blockchain structure is the Directed Acyclic Graph (DAG) ledger, where each block can be refer- enced by multiple other blocks. This ledger structure, shown in Figure 3b, is adopted by blockchain platforms like IOTA and Dagcoin [8] [9]. IOTA is optimized for micro-payments within Internet-of-Things, and Dagcoin advertises itself as data stor- age for arbitrary data (e.g., documents or ownership records). Since these ledgers allow for different consensus mechanisms, transaction throughput is often superior compared to that of linear ledgers. However, they usually do not have the same consistency guarantees. While these ledger structures are more suitable for data storage, we consider current implementations unfit for developer portfolios. The reason is that they either rely on a centralized coordinator (IOTA) or a fixed group of witness nodes (Dagcoin). Instead, our goal is to devise a portfolio infrastructure without any authority with leveraged permission. Pairwise Ledger: A third blockchain structure we con- sider is the pairwise distributed ledger. The key property of this ledger, given in Figure 3c, is that each user maintains and grows their individual chain with transactions. Each block holds exactly one transaction and optionally contains a (hash) pointer to a transaction in the individual chain of another user. Blockchain fabrics like R3 Corda, Nano, and TrustChain, use pairwise ledgers as their underlying data structure [10] [11] [12]. These platforms address the double- spending attack either by a trusted notary (Corda), a weighted voting system (Nano) or by guaranteed eventual consistency (TrustChain). In general, they provide superior scalability compared to linear ledgers as used by Bitcoin and Ethereum but lack global consensus. We strongly believe that the pairwise distributed ledger is a suitable data structure to store portfolio records as transactions. Compared to linear and DAG ledgers, all data of a portfolio owner is local to their own individual ledger and maintained by themselves. Pairwise distributed ledgers enable selective queries of data stored on the chains of other members, without the need for full data replication across the network. In DevID, each individual ledger stores all data associated with a single portfolio, in a tamper-proof manner, and without global agreement. E. Storing Large Data Assets While pairwise distributed ledgers are suitable for storing small portfolio records, they are not suitable for storing arbitrary large data assets. Such data assets can include source code, documentation, and reviews. To overcome this, we intro- duce an off-chain distributed storage solution that offers data Fig. 4: The user interface of DAppCoder, our application to crowdsource the development of decentralized applications. immutability and scalability. Figure 2 shows the distributed storage, which comprises the lowest layer in our architecture. Suitable distributed storage solutions for our work are a Distributed Hash Table (DHT) like Kademlia, a BitTorrent swarm or the InterPlanetary File System (IPFS) [13] [14] [15]. These solutions enable users to store large data assets, without involvement of a trusted third party. Large data is inserted in the distributed storage back-end, and a reference to the data (i.e., a content hash) is included in the on-chain transaction. IV. DAPPCODER: CROWDSOURCING DEVELOPMENT OF DECENTRALIZED APPLICATIONS By extending the DevID portfolio architecture and record types, we create a competition-based crowdsourcing platform for the development of decentralized applications. Running completely without servers, our platform named dAppCoder matches clients and dApp developers. The architecture of dAppCoder is presented in the upper layer of Figure 2 and the user interface is shown in Figure 4. We now elaborate on the main functionalities of dAppCoder. A. Creating Projects Clients that want their idea realized (e.g., the implemen- tation of a specific smart contract) can create a new project in dAppCoder. Creating a new project requires the client to specify a project title, requirements, a submission deadline, the number of testers needed for each submission, and a list of skills needed to work on the project. When creating a new project, a single portfolio record with all project information is constructed, appended to the individual ledger, and dissem- inated in the network. Since the project requirements might be of arbitrary length, we store it in the distributed storage back-end and embed a pointer to it in the portfolio record. For each new project, the client generates a project keypair, which consists of a public and private key. These keys are used when releasing the submissions for a project, which is discussed in Section IV-B. To incentivize developers to work on a particular project, each project has a fixed monetary reward which is disbursed by the client to the developer with the best submission. Prior to posting a new project, the client determines the height of the reward and transfers it to a Trusted Notary Service (shown in Figure 2). This compensation, put into escrow, directly addresses an attack where clients flood the system with invalid or irrelevant projects. The trusted notary can either be a centralized authority or an (Ethereum) smart contract that interacts with the dAppCoder application through oracles. Each project goes through two phases during its lifetime: a submission and a testing phase. During the submission phase, developers can create submissions for a project until the submission deadline (which is determined by the client). The duration of the testing phase depends on the time it takes for the project to accumulate the required number of testers. B. Creating Submissions Developers looking for work can browse through the list of open projects, or filter them based on the skills they have added to their DevID portfolio. When a developer has found an interesting project, they work towards a submission. A submission must consist of source code and documentation, which are inserted in the distributed storage back-end. For each submission, a new portfolio record is created with a pointer to the project and submission files. Incoming submissions after the submission deadline has passed, will not be considered for testing. To prevent a free-riding attack where a developer copies the solution of another participant, the content of each submission is encrypted with the (public) project key [16]. To ensure that testers can decrypt submissions, the client sends the private project key to them after the submission deadline has passed. C. Testing Submissions After the submission deadline passed, all submissions should be tested by other developers. For simplicity, we as- sume that the client selects appropriate testers for submissions, based on their expertise (indicated by their DevID portfolio) and the total number of submissions tested in the past. To incentivize developers to test submissions, testing activities will be prominently displayed on their DevID portfolio. The testing phase consists of two phases, where tests are written and verified. To avoid collusion between developers, we re- quire that individuals who have created a submission, written tests, and verified these tests, are not affiliated. Writing tests: First, testers write tests to verify the correct- ness of a submission. These tests can be used to expose critical vulnerabilities or programming errors in business-critical code. If a tester found such an error, they can mark the submission for exclusion and should provide a test that highlights it. Besides writing tests, each tester grades the submission based on compliance to the specifications. The given score can range from ""very low"" (-2), ""low"" (-1), ""neutral"" (0), ""sufficient"" (1) or ""high"" (2). Verifying tests: Second, developers inspect the tests, written by testers in the previous phase. In particular, thoroughness and completeness of the tests written by a specific tester will be graded by giving a similar score as in the previous phase. D. Paying Out Developers When the testing phase of a project ends, the best submis- sion is determined by having the highest average score rating. The developer with the best submission is compensated for the effort. Since all reviews are public, the trusted notary service is able to transfer the reward to the eligible developer. This reward is transferred to cryptocurrency wallets, which can be added to dAppCoder. V. IMPLEMENTATION AND DEPLOYMENT TRIAL Next, we elaborate on the implementation of both the DevID portfolio and the dAppCoder application. We also discuss our deployment trial and present the results. A. Our Implementation We have implemented both DevID and dAppCoder in the Python programming language. Our implementation consists of all components shown in Figure 2, except for the trusted notary service. The graphical user interface of dAppCoder is implemented with the Qt5 library and communicates with the back-end over a RESTful API. The open source implementa- tions of both DevID and dAppCoder are available online.1 We build DevID, and by extension dAppCoder, on the TrustChain ledger introduced by Otte et al [10]. We identified two advantages of TrustChain over other pairwise distributed ledgers like R3 Corda and Nano. First, TrustChain focuses on fraud detection instead of prevention and as a result does not require network-wide consensus. This makes TrustChain a lightweight and simple data structure. Second, TrustChain is already used as transaction fabric within a self-sovereign, de- centralized identity system, described in the work of Stokkink et al [17]. Availability of a self-sovereign identity system aligns with our requirement for strong, long-lived identities (see Section III-C). We use the InterPlanetary File System (IPFS) to store large data assets like project specifications, submissions and code reviews. Users can import statistics from 1https://github.com/tribler/dappcoder 0 30 60 90 120 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Trial Participants T ra n s a c ti o n C o u n t Transaction Import records Add skill Endorse skill Create project Review submission Create submission Fig. 5: Results from our deployment trial. their GitHub profile using the challenge mechanism described in Section III-B. B. Deployment Trial To assess the feasibility of dAppCoder and to get insight into the efficiency of the TrustChain ledger, we conduct a deployment trial. We present the trial setup and results. Setup: For our trial, we recruited 15 participants among local staff and students of our faculty. To bootstrap the appli- cation, we initiated dAppCoder with five projects ourselves. Two of these projects asked developers to resolve one or more bugs in a piece of Python code. The other three projects asked the developer to implement a small application. Since only a fraction of our users is familiar with the development of decentralized applications, we accepted submissions in other programming languages during our trial, like Java. We collected data and observed the growth of the distributed ledger over a period of five working days. During this time, developers were free to use the application as they see fit. Results: Figure 5 shows the growth of the TrustChain ledger when more participants join the trial. Each entry on the horizontal axis represents the state of the ledger after a participant was introduced, and the vertical axis shows the transaction count for the six different types of transactions. When more participants join, the distribution of transaction types on the ledger changes slightly. We observe that the growth of projects over time decreases, and users focus more on creating submissions and reviews. Another observation is that the number of skills added by each developer grows rapidly, but the growth of endorsements stays behind. At the end of our deployment trial, the average transaction size in serialized form is 0.6 kB. The total size of all transactions stored on the distributed ledger is 65.4 kB. Each individual ledger stores on average 7.2 transactions, with an average size of 4.1 kB. In comparison, when using a linear ledger like Bitcoin, each user is required to store the entire global ledger or parts of it. The time required to append new transactions to the TrustChain ledger is in the range of milliseconds and not of influence on the user experience. The initial results of the trial look promising, and we are ready for further evaluation of dAppCoder and DevID portfolios. VI. RELATED WORK We are the first to build a tamper-proof and unified devel- oper portfolio, to the best of our knowledge. Already in 1995, research has been conducted, that explores the advantages of online electronic portfolios over traditional resumes, particu- larly within an educational environment [18] [19]. The emer- gence of the open source software paradigm enabled develop- ers to use code contributions as proof of verifiable technical expertise and to build an online reputation [20]. The work of Cai et al. explores how this data can be used to construct a theoretical reputation model, and what metrics would be best suited for this [21]. Other work is focused on visualization tools to highlight contributions of the individual developer on platforms like GitHub or StackOverflow [22] [23] [24]. Their research is primarily focused on the design and evaluation of models to represent the technical skills, based on data from open source projects. The focus of this work is on combining records from different platforms and presenting them in a unified portfolio. The evolution of crowdsourcing and the benefits are well- studied topics with an extensive literature corpus [3]. Top- Coder Inc. is an example of a crowdsourcing platform where clients can outsource software contributions to developers in a competition-based environment [25]. In 2017, Li et al. intro- duced CrowdBC, a decentralized blockchain-based framework for crowdsourcing [26]. CrowdBC is a platform to crowd- source generic micro-tasks and is not suitable to crowdsource development of decentralized applications. Lu et al. devised a privacy-preserving crowdsourcing mechanism on top of an open blockchain [27]. Buccafurri et al. introduce TweetChain and show how to build a crowdsourcing application which stores all information on Twitter timelines [28]. TweetChain is comparable with individual ledgers in TrustChain but depends on a central authority for dissemination and storage of data (Twitter). In comparison to most of the research performed on blockchain-based crowdsourcing, this work focuses on a specific use-case, namely crowdsourcing the development of business-critical applications. VII. CONCLUSION We have presented DevID, a blockchain-based portfolio for developers. DevID addresses the fragmentation and lock-in of developer data across different platforms with a mechanism to import data from third-party services. By building upon a pairwise distributed ledger, DevID is capable of storing tamper-proof records and does not depend on any trusted party. Portfolio records are fully managed by developers themselves. We have proven the potential of DevID by building a crowdsourcing application for the development of decentral- ized applications. Our application, dAppCoder, matches clients and reputable developers. With a deployment trial, we have demonstrated that dAppCoder is feasible. Future work is focused on a large-scale deployment of dAppCoder and better support for specific bug bounties. We schedule to release in the first quarter of 2019. Using our TLS auditing mechanism, we plan to expand DevID with ad- ditional record importation from other platforms, in particular, LinkedIn and StackOverflow. Finally, we aim to explore the use of DevID within other domains besides crowdsourcing. REFERENCES [1] Nasdaq, “The blockchain developer shortage: Emerging trends and perspectives,” URL https://www.nasdaq.com/article/the-blockchain- developer-shortage-emerging-trends-and-perspectives-cm701294, 2016. [2] J. Pouwelse, A. de Kok, J. Fleuren, P. Hoogendoorn, R. Vliegendhart, and M. de Vos, “Laws for creating trust in the blockchain age,” European Property Law Journal, vol. 6, no. 3, pp. 321–356, 2017. [3] T. D. LaToza and A. van der Hoek, “Crowdsourcing in software engi- neering: Models, motivations, and challenges,” IEEE software, vol. 33, no. 1, pp. 74–80, 2016. [4] N. Szabo, “Formalizing and securing relationships on public networks,” First Monday, vol. 2, no. 9, 1997. [5] “Tlsnotary - a mechanism for independently audited https sessions,” URL https://tlsnotary.org/TLSNotary.pdf, 2014. [6] J. R. Douceur, “The sybil attack,” in International workshop on peer- to-peer systems. Springer, 2002, pp. 251–260. [7] M. Vukolić, “The quest for scalable blockchain fabric: Proof-of-work vs. bft replication,” in iNetSec. Springer, 2015, pp. 112–125. [8] S. Popov, “The tangle, iota whitepaper,” 2018. [9] S. D. Lerner, “Dagcoin: a cryptocurrency without blocks,” 2015. [10] P. Otte, M. de Vos, and J. Pouwelse, “Trustchain: A sybil-resistant scalable blockchain,” Future Generation Computer Systems, 2017. [11] C. LeMahieu, “Nano: A feeless distributed cryptocurrency network,” URL https://nano.org/en/whitepaper, 2017. [12] R. G. Brown, “Introducing r3 corda: A distributed ledger designed for finanial services, 2016,” 2017. [13] P. Maymounkov and D. Mazieres, “Kademlia: A peer-to-peer informa- tion system based on the xor metric,” in International Workshop on Peer-to-Peer Systems. Springer, 2002, pp. 53–65. [14] B. Cohen, “The bittorrent protocol specification,” 2008. [15] J. Benet, “Ipfs-content addressed, versioned, p2p file system,” arXiv preprint arXiv:1407.3561, 2014. [16] X. Zhang, G. Xue, R. Yu, D. Yang, and J. Tang, “Keep your promise: Mechanism design against free-riding and false-reporting in crowdsourc- ing,” IEEE Internet of Things Journal, vol. 2, no. 6, pp. 562–572, 2015. [17] Q. Stokkink and J. Pouwelse, Deployment of a Blockchain-Based Self- Sovereign Identity, 1st ed. United States: IEEE, 8 2018, pp. 1336–1342. [18] D. Riggsby et al., “Electronic portfolio: Assessment, re";"""date"",""2019-01-17T14:01:42Z"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""pdf:PDFVersion"",""1.5"" ""xmp:CreatorTool"",""TeX"" ""pdf:hasXFA"",""false"" ""access_permission:modify_annotations"",""true"" ""access_permission:can_print_degraded"",""true"" ""dcterms:created"",""2019-01-17T14:01:42Z"" ""language"",""en"" ""Last-Modified"",""2019-01-17T14:01:42Z"" ""dcterms:modified"",""2019-01-17T14:01:42Z"" ""dc:format"",""application/pdf; version=1.5"" ""Last-Save-Date"",""2019-01-17T14:01:42Z"" ""pdf:docinfo:creator_tool"",""TeX"" ""access_permission:fill_in_form"",""true"" ""pdf:docinfo:modified"",""2019-01-17T14:01:42Z"" ""meta:save-date"",""2019-01-17T14:01:42Z"" ""pdf:encrypted"",""false"" ""pdf:docinfo:custom:PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) kpathsea version 6.2.2"" ""modified"",""2019-01-17T14:01:42Z"" ""pdf:hasMarkedContent"",""false"" ""Content-Type"",""application/pdf"" ""PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) kpathsea version 6.2.2"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""trapped"",""False"" ""meta:creation-date"",""2019-01-17T14:01:42Z"" ""created"",""2019-01-17T14:01:42Z"" ""access_permission:extract_for_accessibility"",""true"" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""7"" ""Creation-Date"",""2019-01-17T14:01:42Z"" ""resourceName"",""paper_camera_ready.pdf"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""1476"",""4191"",""4665"",""4163"",""3671"",""4566"",""6033"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""pdf:docinfo:trapped"",""False"" ""producer"",""pdfTeX-1.40.17"" ""access_permission:can_modify"",""true"" ""pdf:docinfo:producer"",""pdfTeX-1.40.17"" ""pdf:docinfo:created"",""2019-01-17T14:01:42Z"" "; 1619094551-696;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Succinct arguments in the quantum random oracle model;A Chiesa, P Manohar, N Spooner ; Theory of Cryptography Conference, 2019 Springer;;"… uses PCPs and random oracles. More generally, by using random oracles one can construct a SNARG from a multi-round generalization of PCPs known as interactive oracle proofs (IOPs) [13, 54]. All of these succinct arguments …";Cité 26 fois;Les 2 versions;[PDF] iacr.org;https://eprint.iacr.org/2019/834.pdf;" Succinct Arguments in the Quantum Random Oracle Model Alessandro Chiesa alexch@berkeley.edu UC Berkeley Peter Manohar pmanohar@cs.cmu.edu Carnegie Mellon University Nicholas Spooner nick.spooner@berkeley.edu UC Berkeley January 14, 2020 Abstract Succinct non-interactive arguments (SNARGs) are highly efficient certificates of membership in non-deterministic languages. Constructions of SNARGs in the random oracle model are widely believed to be post-quantum secure, provided the oracle is instantiated with a suitable post-quantum hash function. No formal evidence, however, supports this belief. In this work we provide the first such evidence by proving that the SNARG construction of Micali is unconditionally secure in the quantum random oracle model. We also prove that, anal- ogously to the classical case, the SNARG inherits the zero knowledge and proof of knowledge properties of the PCP underlying the Micali construction. We thus obtain the first zero knowl- edge SNARG of knowledge (zkSNARK) that is secure in the quantum random oracle model. Our main tool is a new lifting lemma that shows how, for a rich class of oracle games, we can generically deduce security against quantum attackers by bounding a natural classical property of these games. This means that in order to prove our theorem we only need to establish classical properties about the Micali construction. This approach not only lets us prove post-quantum security but also enables us to prove explicit bounds that are tight up to small factors. We additionally use our techniques to prove that SNARGs based on interactive oracle proofs (IOPs) with round-by-round soundness are unconditionally secure in the quantum random oracle model. This result establishes the post-quantum security of many SNARGs of practical interest. Keywords: succinct arguments; quantum random oracle model; probabilistically checkable proofs Contents 1 Introduction 1 1.1 SNARGs with random oracles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Our results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Related work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2 Techniques 5 2.1 The construction of Micali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2 Challenges in the quantum setting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.3 Outline of our approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.4 From oracle games to database games . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.5 A basic lifting lemma for database games . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.6 Stronger lifting via conditional instability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.7 Instability of the Micali oracle game . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.8 zkSNARKs in the QROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.9 The BCS construction: succinct arguments beyond Micali . . . . . . . . . . . . . . . . . . . . 12 3 Preliminaries 14 3.1 Quantum notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.2 Oracle algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.3 Non-interactive arguments in the quantum random oracle model . . . . . . . . . . . . . . . . 15 3.4 Probabilistically checkable proofs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.5 Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.6 Compressed phase oracle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 4 From oracle games to database games 18 4.1 The case of classical adversaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.2 The case of quantum adversaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 5 A lifting lemma for database games 21 5.1 Database properties and the basic lifting lemma . . . . . . . . . . . . . . . . . . . . . . . . . . 21 5.2 Conditional instability and the lifting lemma . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 5.3 Proof of Lemma 5.10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 6 Soundness of the Micali construction 30 6.1 Some algorithms for Merkle trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 6.2 The oracle game for the Micali construction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 6.3 Proof of Theorem 6.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 7 zkSNARKs in the QROM 35 7.1 Zero knowledge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 7.2 Proof of knowledge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 8 The BCS construction in the QROM 38 8.1 Interactive oracle proofs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 8.2 The BCS construction and its oracle game . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 8.3 Round-by-round soundness and knowledge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 8.4 Our result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 8.5 Proof of Theorem 8.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 8.6 On the difference in hash chains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 A Proof of Lemma 3.2 47 B Round-by-round vs. strong round-by-round soundness An appendix authored by James Hulett (jhulett@berkeley.edu) 48 Acknowledgments 51 References 51 1 Introduction The design and analysis of cryptographic primitives that are plausibly secure against quantum attackers is an increasingly important goal. The expected advent of quantum computers demands the cryptography community to be prepared well in advance, so much so that the National Institute of Standards and Technology (NIST) is already in the process of selecting, from among many proposals, a new set of cryptography standards that are “post-quantum” [NIS16]. The proposals involve schemes for key agreement, public-key encryption, and digital signatures, and are intended to eventually replace existing standards based on the hardness of factoring or discrete logarithms. In this paper we study the post-quantum security of a cryptographic primitive that has recently received much attention across theoretical and applied communities: succinct arguments [GW11]. These are argument systems for non-deterministic languages where the communication complexity between the prover and verifier is sublinear in the size of the non-deterministic witness.1 This notion originates in seminal works of Kilian [Kil92] and Micali [Mic00], which construct succinct arguments for languages in NTIME(T (n)) where communication complexity is poly(Îť, log T (n)) and the time complexity of the verifier is poly(Îť, n, log T (n)); here Îť is the security parameter. Researchers have studied many aspects of succinct arguments in the last two decades, leading to numerous constructions with different tradeoffs [WB15], efficient realizations in code [SCI14; bell15; SCI18; dalek18; stark18; SCI19; iden19], real-world deployments [Zc14; Co17], and standardization efforts [ZKP17]. A particularly useful feature is that many succinct arguments can be made zero knowledge with minimal overhead. At present, however, most approaches to obtain efficient succinct arguments are “pre-quantum”, since they rely on the discrete logarithm problem (and more). A notable exception is a class of succinct arguments obtained by combining two ingredients: (a) probabilistic proof systems, which are unconditionally secure, and (b) cryptographic hash func- tions, for which we have post-quantum candidates. This class includes the succinct interactive ar- gument of Kilian [Kil92], which use probabilistically checkable proofs (PCPs) [BFLS91; FGLSS96; AS98; ALMSS98] and collision-resistant hash functions. It also includes the succinct non-interactive argument (SNARG) of Micali [Mic00], which uses PCPs and random oracles. More generally, by us- ing random oracles one can construct a SNARG from a multi-round generalization of PCPs known as interactive oracle proofs (IOPs) [BCS16; RRR16]. All of these succinct arguments are widely believed to be post-quantum, provided the hash function is suitably instantiated [BBHR19].2 There is, however, no formal evidence that supports the above widely-held belief. Since suc- cinct arguments are a fundamental cryptographic primitive with both theoretical and real-world applications, it is important to prove guarantees on their post-quantum security. 1.1 SNARGs with random oracles In this paper we focus our attention on the SNARG construction of Micali [Mic00], which is uncon- ditionally secure in the random oracle model [BR93; PS96]. SNARGs in the random oracle model are not only plausibly post-quantum secure but also enjoy other desirable features. Namely, the random oracle can be heuristically instantiated via hash functions that avoid expensive public-key cryptographic operations. Moreover, the SNARG uses a transparent (public-coin) setup, because the only public parameter needed to produce/verify proofs is the choice of hash function. 1Achieving communication complexity that is sublinear in the witness size is known to require relaxing soundness from statistical to computational, provided one assumes standard complexity conjectures [GH98; GVW02]. 2There is also a class of lattice-based succinct arguments that is plausibly post-quantum; see Section 1.3. 1 We are thus interested in asking: can we establish formal evidence that the SNARG construction of Micali is post-quantum secure? One way to establish formal evidence is to prove security in a quantum analogue of the random oracle model, as we now explain. A quantum attacker can, among other things, evaluate a hash function in superposition when given the hash function’s code. This enables the attacker, for instance, to find pre-images [Gro96] or collisions [BHT98] faster than a classical attacker. In light of this, Boneh et al. [BDFLSZ11] have argued that, in the quantum setting, the correct way to model a random oracle is to allow the attacker to query the random oracle in superposition. The resulting model is known as the quantum random oracle model (QROM), and a line of work has established post-quantum security within this model for a variety of cryptographic primitives; see, e.g., [BDFLSZ11; Zha12; Zha15; TU16; Eat17]. Our goal is to study the SNARG construction of Micali in the quantum random oracle model. We also study the SNARG construction of BCS [BCS16], which yields SNARGs of practical interest. 1.2 Our results The main result of this paper is establishing that the SNARG construction of Micali [Mic00] is unconditionally secure in the quantum random oracle model. This is the first formal evidence that supports the widely-held belief that this construction is post-quantum secure when the oracle is instantiated via a suitable post-quantum hash function. Theorem 1 (informal). The non-interactive argument of Micali, when based on a PCP with sound- ness error Îľ, has soundness error O(t2Îľ+ t3/2Îť) against quantum attackers that make t queries to a random oracle with output size Îť. This soundness error is tight up to small factors. A key step in our proof, of independent interest, is a Lifting Lemma that shows how, for a rich class of “oracle games”, we can generically deduce security against quantum attackers by bounding a natural classical property of these games, instability, that we introduce. This means that to prove Theorem 1 we only need to bound the instability of the Micali construction. This approach not only yields the theorem but also enables us to prove explicit bounds that are tight up to small factors. If we base the Micali construction on suitable PCPs, we obtain new statements about the existence of post-quantum non-interactive arguments. First, if the PCP achieves (honest-verifier) zero knowledge and proof of knowledge then through the Micali construction we obtain a zero knowledge non-interactive argument of knowledge that is unconditionally secure in the quantum random oracle model. This strengthens a result of Unruh [Unr15], which assumes the existence of a post-quantum ÎŁ-protocol for NP. Moreover, if the PCP has polylogarithmic query complexity and verifier running time then we obtain the first construction of a zero knowledge succinct non- interactive argument of knowledge (zkSNARK) that is secure in the quantum random oracle model. Theorem 2 (informal). There exists a zero knowledge non-interactive argument of knowledge for NP in the quantum random oracle model. Moreover, the non-interactive argument is succinct, in the sense that arguments have size Îťc and can be verified in time (Îť ¡ n)c, where Îť is the random oracle’s security parameter, n is instance size, and c ≥ 1 is a universal constant. The above theorem is stated for NP only for simplicity. Analogously to the classical case, a more general statement holds for all non-deterministic time languages by relying on suitable PCPs for non-deterministic time. For example, the PCP in [BFLS91] achieves proof of knowledge, can be made (honest-verifier) zero knowledge [DFKNS92; KPT97], and supports general non-deterministic time computations. 2 The BCS construction. We conclude with a result that demonstrates how the tools in this paper can be used to study the post-quantum security of protocols that are of practical interest. Since known PCP constructions are expensive, efficient constructions of succinct arguments in the random oracle model are typically based on the BCS construction [BCS16], which instead uses interactive oracle proofs (IOPs) [BCS16; RRR16], a multi-round extension of PCPs. This extension additionally captures IPs [Bab85; GMR89] and IPCPs [KR08] as special cases. We prove that the BCS construction is unconditionally secure in the quantum random oracle model, if applied to public-coin IOPs that have round-by-round soundness [CCHLRR18]. The resulting argument inherits proof of knowledge and zero knowledge properties of the underlying IOP. Theorem 3 (informal). The non-interactive argument of BCS, when based on a public-coin IOP with round-by-round soundness error Îľ, has soundness error O(t2Îľ + t3/2Îť) against quantum at- tackers that make t queries to a random oracle with output size Îť. Moreover, it is an argument of knowledge if the IOP has round-by-round proof of knowledge, and it is a (statistical) zero knowledge argument if the IOP is honest-verifier zero knowledge. Round-by-round proof of knowledge is a natural notion that we introduce, analogous to round- by-round soundness, and is satisfied by many natural protocols. In particular, Theorem 3 enables us to deduce the post-quantum security of succinct arguments based on well-known IPs such as the sumcheck protocol [LFKN92] and the GKR protocol [GKR15], as well as zkSNARKs based on recent IOPs such as [BBHR19; AHIV17; BCRSVW19]. These protocols (among others) are of interest to practitioners, and our result can be used to guide parameter choices in practice. 1.3 Related work Argument systems that use random oracles. Several works study the post-quantum security of zero knowledge non-interactive arguments of knowledge that use random oracles, most notably those obtained by applying the Fiat–Shamir transformation [FS86] to a post-quantum ÎŁ-protocol. These are used to achieve post-quantum digital signatures [CDGORRSZ17; KKW18; BN19], and underlie constructions submitted to the NIST call for post-quantum cryptography [NIS16]. A security reduction for the Fiat–Shamir transformation in the quantum random oracle model has been recently achieved [DFMS19; LZ19]. Obtaining a security reduction had been elusive, as the classical approach of rewinding the adversary to reduce to special soundness of the ÎŁ-protocol does not work for quantum adversaries.3 Before, researchers were only able to prove security if the underlying ÎŁ-protocol satisfies special properties [DFG13; Unr17; KLS18], or resorted to proving security for alternative, less efficient, constructions such as the Unruh transformation [Unr15]. The question that we study in this paper is complementary to these prior works. On the one hand, prior works study the security of the Fiat–Shamir transformation given that the underlying ÎŁ-protocol is secure against efficient quantum attackers. On the other hand, we study protocols such as the Micali construction and BCS construction that can be viewed as applying the Fiat– Shamir transformation to specific public-coin protocols that are known to be unconditionally secure in the (classical) random oracle model. In particular, we establish unconditional security in the 3Rewinding quantum adversaries is a delicate matter [Wat09] and, more importantly, special soundness does not imply post-quantum soundness (relative to some oracle) [ARU14]. These difficulties have been circumvented by using new techniques that enable reducing directly to the (post-quantum) soundness of the underlying ÎŁ-protocol. 3 quantum random oracle model via an approach that considers the protocol as a whole (similarly to the classical analysis of these protocols). The foregoing differences are reflected in a technical analysis that departs from prior works. Most of the effort in this paper is establishing classical security properties of the Micali and BCS constructions, which we then use to generically deduce their quantum security. This approach, besides being intuitive, yields tight bounds that can be used to guide parameter choices in practice. Succinct arguments based on lattices. Several lattice problems are presumed to remain hard even against quantum adversaries, and researchers have relied on such problems to propose numer- ous cryptographic constructions that are plausibly post-quantum. A handful of works have used lattices to achieve various notions of succinct arguments that are plausibly post-quantum. Baum et al. [BBCPGL18] rely on the short integer solution (SIS) problem to obtain an argument system for arithmetic circuits where the communication complexity grows with the square-root of circuit size; the argument system is constant-round, public-coin, and honest-verifier zero knowledge. Boneh et al. [BISW17; BISW18] and Gennaro et al. [GMNO18] rely on lattice knowledge assumptions to construct designated-verifier SNARGs for boolean circuits, in the preprocessing model [BCIOP13]. Whether one can use lattices to obtain publicly-verifiable SNARGs remains an open problem. 4 2 Techniques We discuss the main ideas behind our results. In Section 2.1 we recall the construction of Micali, and then in Section 2.2 we explain the challenges that arise when trying to prove its security in the quantum random oracle model. In Section 2.3 we outline our approach to obtain a proof of security for the Micali construction (Theorem 1); we elaborate on our approach in Sections 2.4 to 2.7. Finally, in Section 2.8 we discuss how to further establish zero knowledge and proof of knowledge; we thus obtain the first zkSNARK secure in the quantum random oracle model (Theorem 2). We conclude in Section 2.9 by explaining how our techniques extend to establish post-quantum security for the BCS construction applied to many protocols of practical interest (Theorem 3). 2.1 The construction of Micali The construction of Micali is a transformation that maps any probabilistically checkable proof (PCP) into a corresponding non-interactive argument in the random oracle model. (See Section 3.4 for the definition of a PCP, and Section 3.3 for that of a non-interactive argument.) The resulting non-interactive argument is succinct, i.e. a SNARG, provided the PCP has suitable parameters. Let (P,V) be a PCP for a relation R with soundness error Îľ, proof length ` over alphabet ÎŁ, and query complexity q. The honest prover P takes as input an instance-witness pair (x,w) and outputs a proof string Π: [`] → ÎŁ. The honest verifier V takes as input the instance x, makes q probabilistic queries to a (possibly malicious) proof string Π̃ : [`]→ ÎŁ, and then accepts or rejects. The PCP (P,V) for R is used to construct a SNARG (P,V) for R, as follows. The SNARG prover P takes as input an instance x and witness w. First, P uses the random oracle h to commit to the proof string Π := P(x,w) via a Merkle tree, obtaining a corresponding root rt. Second, P applies the random oracle h to the root rt in order to derive randomness r for the PCP verifier V. Third, P simulates the PCP verifier V with the proof string Π, input x, and randomness r, in order to deduce the queried locations of Π. Finally, P assembles a SNARG proof π that contains the root rt, answers to the queries, and an authentication path for each answer. Observe that the SNARG proof π is succinct because it is small (it has size |π| = O(q ¡ (log |ÎŁ|+ Îť log `)) = OÎť(q) for `, |ÎŁ| = 2O(Îť)) and it is cheap to validate via the algorithm described next. The SNARG verifier V takes as input an instance x and a (possibly malicious) SNARG proof π̃. First, V uses the random oracle h to check that each answer in π̃ is certified by an authentication path relative to the claimed root r̃t. Next, V applies the random oracle h to the root r̃t in order to derive randomness r̃. Finally, V runs the PCP verifier V on the instance x and randomness r̃, answering V’s queries using the claimed answers in π̃. The intuition behind the construction is that the soundness guarantee of a PCP holds only if the proof string Π̃ to be validated is fixed before the randomness r̃ for the PCP verifier is known, and for this reason the SNARG prover must derive r̃ by hashing a commitment r̃t to Π̃. This construction is unconditionally secure in the random oracle model [Mic00; Val08; BCS16]: Theorem 2.1. The SNARG (P,V) has soundness error O(tÎľ+ t2/2Îť) against (classical) attackers that make at most t queries to the random oracle. This soundness error is tight up to small factors. A SNARG obtained via the Micali construction also inherits zero knowledge and proof of knowl- edge properties of the underlying PCP. We discuss these additional properties and how we establish them in the quantum setting later on in Section 2.8. We focus on soundness first. 5 2.2 Challenges in the quantum setting Our goal is to show that the SNARG construction of Micali is unconditionally secure in the quantum random oracle model. Suppose that P̃ is a t-query quantum prover that convinces the SNARG verifier V with probability δ (over the random oracle). We wish to construct a malicious PCP prover P̃ that, using P̃ as a subroutine, outputs a proof string Π̃ : [`]→ ÎŁ that convinces the PCP verifier V with related probability Îľ(δ, t) (here the probability is over the randomness of P̃ and V). A natural approach to reduce the SNARG prover P̃ to the PCP prover P̃ would be to try to adapt to the quantum setting the reduction that is used for the classical setting. Below we recall the classical reduction, and then explain why adapting it to the quantum case is challenging. The reduction for classical attackers. The reduction from a classical SNARG prover P̃ to a PCP prover P̃ relies on a straightline extractor, as we now explain. While the SNARG prover P̃ outputs a short proof π that contains a Merkle root and a few decommitted values, the PCP prover P̃ must output a “long” proof string Π̃. How can P̃ obtain all this information from seeing only π? The answer is that, when running P̃ as a subroutine, P̃ observes the queries that P̃ makes to the oracle, and these queries reveal the proof string Π̃. This is only a caricature of how P̃ actually works, though. The reason is that P̃ need not produce a query sequence from which P̃ can just read off a proof string Π̃ consistent with the Merkle root in π. For example, P̃ could try to commit to many possible proof strings “in its head”, derive the corresponding randomness from each commitment, and then select which commitment to include in π. Even worse, P̃ could try to commit to a partial proof string Π̃ via an incomplete Merkle tree and, because the PCP verifier inspects only a small fraction of a proof string, hope that queries will land to leaves of the Merkle tree that do exist. The proof of Theorem 2.1 shows that, despite these complications, there is a way for P̃ to observe all queries and answers of a single execution of the SNARG prover P̃, and then run an algorithm on these to extract a suitable proof string Π̃. How to deal with quantum attackers? If we now return to the case where the SNARG prover P̃ is a quantum attacker, we are immediately confronted with a severe problem. Since P̃ can query the random oracle in superposition, how can P̃ “observe” queries and answers to the oracle? If P̃ were to just measure P̃’s query register, P̃ may detect this and stop working. This basic problem has made obtaining security reductions against quantum attackers that access random oracles exceedingly difficult when compared to the case of classical attackers. Papers that study the security of cryptographic primitives in the quantum random oracle model have had to develop clever techniques to somehow circumvent this problem in various settings of interest. Most relevant to this paper is a work of Zhandry [Zha19] that introduces compressed oracles, a set of notions and techniques that enables a quantum algorithm to simulate access to a random oracle for a quantum attacker. This is achieved by replacing a random oracle h : {0, 1}m → {0, 1}n with the action of a specially-crafted unitary O that implicitly keeps track of queries. This is a quantum analogue of when, in the classical setting, a simulator merely observes the queries made by the attacker and maintains a database of the query-answer pairs. Formally, the classical simulator keeps track of a database D, which is a partial function D : {0, 1}m ⇀ {0, 1}n. The database represents the part of the random oracle that has been “revealed” to the attacker by answering its queries. In the quantum setting, the state space of the quantum attacker is augmented with registers to store the database, which (loosely) keep track of the database D in superposition, as it evolves from query to query. Thus, while the original oracle h operates on the state |ψA〉 of the 6 adversary, the unitary O operates on a bipartite state |ψA, ψD〉. This extended state represents a purification of the mixed state of the adversary induced by choosing the oracle h at random. One may conjecture that the compressed oracle technique, by virtue of “exposing” a quantum attacker’s queries, makes proving the quantum security of the Micali construction, or indeed of any construction that uses random oracles, straightforward. This is, unfortunately, not the case. For example, the results of [Zha19] on compressed oracles allow us to argue directly that, given an adversary that outputs a convincing SNARG proof π with high probability, if we measure the database D after the adversary terminates, then with high probability one can find a convincing SNARG proof π in the database D. This does not allow us to reduce to soundness of the underlying PCP, however, because to do that we need to argue that one can extract a PCP proof Π from D (containing a lot more information than π) that convinces the PCP verifier with high probability. While the techniques in [Zha19] suffice for analyzing simple protocols like collision finding, it is not clear how to analyze more complex protocols such as the Micali SNARG, as explained above. In the next section we describe a general framework for analyzing complex protocols in the quantum random oracle model. 2.3 Outline of our approach The ideas that we use in this paper to analyze the Micali construction are almost entirely generic, and can be used to analyze any oracle game. Informally, given a “base game” G ⊆ Ak×Bk×C, an adversary with oracle access to a random oracle h wins the oracle game for G if it outputs a tuple (a,b, c) ∈ G where h(ai) = bi for each i ∈ [k]. Oracle games are a natural notion that captures many games of interest, such as finding pre-images or finding collisions. Producing a valid proof in the Micali construction can also be cast as an oracle game,4 and we shall view the soundness property of the Micali construction as stating that the value (maximum winning probability) of this game is small (when the statement being proved is false). Our proof of quantum security consists of two main parts. First, we generically reduce the value of any oracle game to the instability of the game, a purely classical property of the game that we introduce. Second, we analyze the instability of the oracle game induced by the Micali construction. The instability of this oracle game is not too difficult to analyze because it is a classical quantity, and the “hard work” is crisply, and conveniently, encapsulated within our generic reduction. We view bounding values of oracle games via instability as the main technical contribution of this paper. We now elaborate on our approach: in Section 2.4 we recast prior work in the language of oracle games; in Section 2.5 we explain what is instability and how we use it to bound game values; in Section 2.6 we introduce conditional instability and use it to prove tighter bounds on oracle game values; and in Section 2.7 we outline the analysis of instability for the Micali construction. 2.4 From oracle games to database games We begin with a sequence of three games whose values are closely related. These games play the role of hybrids in our analysis, and are all defined relative to the given base game G ⊆ Ak×Bk×C. • Oracle game. This is the game defined earlier that is played in the real world, using a random oracle h. The adversary wins if it outputs a tuple (a,b, c) ∈ G with h(ai) = bi for each i ∈ [k]. 4At a high level, G is the set of all proofs that cause the verifier to accept relative to some oracle; the h(ai) = bi constraints ensure that the verifier accepts this proof relative to the specific oracle h. For more details, see Section 6.2. 7 • Simulated oracle game. The simulator of Zhandry [Zha19] is used to run the adversary and its final state is measured, leading to a tuple (a,b, c) and a database D. The adversary wins if (a,b, c) ∈ G and D(ai) = bi for each i ∈ [k]. (The oracle h : {0, 1}m → {0, 1}n is now replaced by the database D : {0, 1}m ⇀ {0, 1}n stored by the simulator.) • Database game. Again the simulator of Zhandry is used to run the adversary, leading to a tuple (a,b, c) and a database D. However, now we ignore (a,b, c) and only consider D. The adversary wins if there exists (a′,b′, c′) ∈ G such that D(ai) = bi for each i ∈ [k]. We let ω∗O(G, t), ω∗S(G, t), and ω∗D(G, t) denote the values of the oracle game, simulated oracle game, and database game against quantum adversaries that make at most t oracle queries. A result of Zhandry [Zha19, Lemma 5], when stated via the notions above, shows that √ ω∗O(G, t) ≤√ ω∗S(G, t) + √ k/2n. Moreover, ω∗S(G, t) ≤ ω∗D(G, t) holds trivially, because winning the simulated oracle game implies winning the database game, by taking (a′,b′, c′) := (a,b, c). In sum: Lemma 2.2. For any base game G,√ ω∗O(G, t) ≤ √ ω∗D(G, t) + √ k/2n . The above lemma is a conceptualization of prior work, and is the starting point for the technical contributions of this paper. In particular, the lemma tells us that in order to bound the maximum winning probability of a quantum adversary in an oracle game (played in the real world) it suffices to bound the maximum winning probability of the adversary in the corresponding database game. See Section 4 for more details. 2.5 A basic lifting lemma for database games We describe how we use a classical quantity I(PG, t) to bound ω∗D(G, t), the maximum winning probability of any t-query quantum algorithm i";"""date"",""2020-01-14T11:43:46Z"" ""pdf:PDFVersion"",""1.5"" ""pdf:docinfo:title"",""Succinct Arguments in the Quantum Random Oracle Model"" ""xmp:CreatorTool"",""LaTeX with hyperref package"" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""subject"","""" ""language"",""en"" ""dc:format"",""application/pdf; version=1.5"" ""pdf:docinfo:creator_tool"",""LaTeX with hyperref package"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"",""Succinct Arguments in the Quantum Random Oracle Model"" ""modified"",""2020-01-14T11:43:46Z"" ""cp:subject"","""" ""pdf:docinfo:subject"","""" ""pdf:hasMarkedContent"",""false"" ""pdf:docinfo:creator"","""" ""PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) kpathsea version 6.2.2"" ""meta:author"","""" ""trapped"",""False"" ""meta:creation-date"",""2020-01-14T11:43:46Z"" ""created"",""2020-01-14T11:43:46Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2020-01-14T11:43:46Z"" ""resourceName"",""834.pdf"" ""Author"","""" ""producer"",""pdfTeX-1.40.17"" ""pdf:docinfo:producer"",""pdfTeX-1.40.17"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""2"",""2"",""0"",""17"",""4"",""1"",""13"",""28"",""25"",""0"",""4"",""0"",""80"",""46"",""62"",""49"",""17"",""34"",""40"",""23"",""41"",""72"",""14"",""64"",""108"",""196"",""226"",""161"",""10"",""32"",""35"",""44"",""11"",""2"",""40"",""40"",""12"",""23"",""26"",""65"",""45"",""69"",""56"",""43"",""1"",""150"",""63"",""37"",""26"",""0"",""0"",""0"",""0"" ""Keywords"","""" ""access_permission:modify_annotations"",""true"" ""dc:creator"","""" ""dcterms:created"",""2020-01-14T11:43:46Z"" ""Last-Modified"",""2020-01-14T11:43:46Z"" ""dcterms:modified"",""2020-01-14T11:43:46Z"" ""title"",""Succinct Arguments in the Quantum Random Oracle Model"" ""Last-Save-Date"",""2020-01-14T11:43:46Z"" ""pdf:docinfo:keywords"","""" ""pdf:docinfo:modified"",""2020-01-14T11:43:46Z"" ""meta:save-date"",""2020-01-14T11:43:46Z"" ""pdf:docinfo:custom:PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) kpathsea version 6.2.2"" ""Content-Length"",""653660"" ""Content-Type"",""application/pdf"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"","""" ""dc:subject"","""" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""56"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""1616"",""2591"",""3423"",""3178"",""3214"",""1265"",""3048"",""3324"",""3118"",""2761"",""3007"",""2442"",""2682"",""3293"",""536"",""2481"",""2707"",""2529"",""2028"",""2846"",""2477"",""1939"",""1923"",""2186"",""1747"",""2049"",""1111"",""965"",""1152"",""1032"",""988"",""2847"",""2540"",""2530"",""2486"",""561"",""2701"",""2491"",""2232"",""2723"",""2621"",""2440"",""2186"",""2660"",""2365"",""2356"",""2851"",""470"",""1467"",""2330"",""2701"",""2035"",""3101"",""3471"",""3285"",""2430"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""pdf:docinfo:trapped"",""False"" ""meta:keyword"","""" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2020-01-14T11:43:46Z"" ";https://scholar.google.com/scholar?start=510&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094558-729;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[PDF][PDF] Indra's Pearls Blockchain to Block Lattice;J Small ;2019 indraspearls.net;;"… In addition the IOTA cryptocurrency intro- duces the concept of a 'tangle' (Popov, 2017) … has to be validated by more miners or block producers than in a standard blockchain, and those … transaction to Bob to be confirmed and Bob to withdraw the tokens into fiat or another crypto …";Autres articles;;[PDF] indras-pearls.net;https://www.indras-pearls.net/rails/active_storage/blobs/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBIUT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--ac8e0ff62b3ce217c0cf1f8c745fcf1d0c74483c/Indras_pearls_whitepaper.pdf;" D RA FT Indra’s Pearls Blockchain to Block Lattice John Small May 20, 2019 Version 0.0.7 Abstract The elegance and simplicity of Satoshi’s original design of Bitcoin has proved its worth in the last decade. It does however suffer from a scaling problem. Preserving as much of that elegance and simplicity as we should, we propose sharding a blockchain into a block lattice to ameliorate the scaling problem. The shards in the lattice are mapped to an abstract space equiped with a simple Euclidian metric which defines the concept of distance between shards. Therefore shards have nearest neigbours. When a new block is created in each shard then as well as using the hash of the previous block it uses the hashes of the previous blocks of its nearest neighbours to form a merkle root of hashes which is included in the new block. This binds all the shards together such that reversing the work of any shard requires reversing the work of all shards. Each block receives confirmations when its hash is included in the next block in the same shard, and also in the next block in neighbouring shards. This rapidly adds confirmation depth, increases the entropy, and so achieves finality more quickly. In a sharded system it’s hard to maintain the abstraction of account state, but relatively easy to work with transactions as in a UTXO sys- tem. Therefore it’s a UTXO based system. We also take the implicit assumptions in existing UTXO systems, make them explicit and then generalise. This makes it possible to have most of the features of fungible (ERC20) tokens and non-fungible (ERC721, ERC1155) tokens and to exchange them in transactions. The conservation rules of UTXO handle the accounting by default. We introduce a new consensus method, a modified DPOS system which partitions the orthogonal vectors implicit in present DPOS sys- tems. It also uses logarithms of the vectors which favours smaller producers and hence reduces centralisation. We also describe a way to allow anyone to claim stakes by presenting a proof that a block is 1 D RA FT invalid. The next stage will include ideas to extend the type of records from simple scalar quantities to non-scalars, e.g. durations and geographic areas. This makes the system ideal for recording and exchanging prop- erty inside virtual worlds and in the long run in the real world. This is a draft. It’s a work in progress. The latest version will always be available at https://www.indras-pearls.net/about-us/white-paper Contents 1 Introduction 3 2 Basic concepts 3 2.1 Standard blockchain . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 Prior work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.3 Constructing a block lattice . . . . . . . . . . . . . . . . . . . 5 2.4 Why is it called Indra’s Pearls? . . . . . . . . . . . . . . . . . 10 3 UTXOs vs Account state 13 3.1 Relativity of simultaneity . . . . . . . . . . . . . . . . . . . . 14 3.2 Transactions are fundamental . . . . . . . . . . . . . . . . . . 16 4 An obvious extension to UTXO 17 4.1 Elegance in action . . . . . . . . . . . . . . . . . . . . . . . . 17 4.2 Token creation . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.3 Non-scalar values . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.4 Rights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.5 Scripting language . . . . . . . . . . . . . . . . . . . . . . . . 19 4.6 Multi-party fair exchange protocol . . . . . . . . . . . . . . . 20 4.6.1 Example: Call Options . . . . . . . . . . . . . . . . . . 21 4.6.2 Merging and splitting tokens. FANIN & FANOUT . . 22 4.7 Principle token for rewards ’IPRL’ . . . . . . . . . . . . . . . 22 5 Inter-shard transfers 23 5.1 One possible method . . . . . . . . . . . . . . . . . . . . . . . 23 6 Block validation & finality 25 6.1 How we calculate ’stake’ . . . . . . . . . . . . . . . . . . . . . 26 6.2 How stake is posted . . . . . . . . . . . . . . . . . . . . . . . 28 6.3 How ’stake’ is used to select who produces a block . . . . . . 28 6.4 Reward incentives . . . . . . . . . . . . . . . . . . . . . . . . 29 2 https://www.indras-pearls.net/about-us/white-paper D RA FT 6.5 Penalties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 6.6 Reward stability . . . . . . . . . . . . . . . . . . . . . . . . . 31 6.7 Centralised or Decentralised? . . . . . . . . . . . . . . . . . . 31 6.8 Fixing the problem of selfish collaboration . . . . . . . . . . . 32 7 Resarch and Development stages 33 8 Conclusion 34 1 Introduction This paper outlines a natural extension of blockchains into block lattices. Moving from a blockchain to a block lattice is much easier if it’s UTXO based. Being UTXO based allows us to extend the UTXO model. Being sharded forces us to ensure fast finality, which in turn requires a restricted POS/DPOS system. We identify the new possibilities that open up and the problems we’re going to face. The project is in an active research and development. We have a working proof of concept which has actually been running on up to 15 shards. As the design evolves some ideas will be dis- carded and others put in their place. I’ve taken the view that perfection is the enemy of done and so while it’s not perfect it does work. Some of the idea introduced have been developed or have been suggested by other groups, however the idea to combine them in one package is unique. Also the method of probalistiticaly allocating the right to produce a block according the logarithms of independent vectors forming ’stake’ appears to be completely novel. 2 Basic concepts 2.1 Standard blockchain (Nakamoto, 2008) introduced the notion of a chain of blocks of electronic transactions where each block timestamps the transactions and thus pre- vents double spending. The basic elements of a block chain are represented in this figure. Time goes from left to right, each block takes a hash from the previous block, data for that block and a nonce to create a new block hash, which is used in the next block. 2.1.0.1 Blockchains are a thermodynamic process. Each block depends on a hash of the previous block and therefore any change in any previous block requires rewriting the entire chain of blocks. To create a new block each participant must prove they’ve peformed computational work by 3 D RA FT Block Previous Hash nonce Tx Tx . . . , Block previous hash nonce Tx Tx ... Hash Figure 1: The essential elements of a block chain from (Nakamoto, 2008) solving a cryptograhic puzzle that depends on the block they’re proposing to create. The effort required to do the work consumes lots of energy which is dissipated as heat. Therefore the records in the blockchain are consid- ered to be irrevocable. From a high level view of the process the fact that it’s hard to alter previous records is at root because of the Second Law of Thermodynamics. The Second Law of Thermodynamics accounts for the asymmetry between past and future and this is why blockchains can create a sequence of timestamped records. In this sense mining Bitcoin, or any other cryptocurrency, is a type of refrigerator that takes a source of low entropy, electricty, and produces something even lower entropy, a highly ordered stream of electrical signals and records stored in computer memory, and expels waste heat. The total entripy always increases, and this is the fundamental reason why it’s hard to reverse records written into the blockchain. The progressive extension of the blockchain approximates the increase in entropy by summing the amount of computational work that went into creating each block. When the chain splits, clients decide which chain to follow by comparing the total amount of work, and taking the branch with the most accumulated work, i.e. the greatest increase of entropy that has occured as a result of the work, and therefore the hardest to reverse. But... Entropy can also be increased by expansion in space. That’s why heat engines work, they heat a gas, the heated gas tries to expand and that expan- sion is converted into mechanical work. Going from a hot gas in a confined space to a cooler gas in a larger space increases the entropy. Therefore it seems obvious and natural to extend the concept of a blockchain as a pro- gression in a single dimension of time, to a lattice of blocks that increase entropy by expanding outwards in space. 2.2 Prior work Since this is such an obvious idea, it’s been suggested before, but rather surprisingly there seems to be only one active project pursuing develop- ment of it Kadena (Will Martino, Monica Quaintance, 2018). The idea of merge mining between shards was suggested in the early stages of Ethereum but dismissed under the heading ’What are some trivial but flawed ways of 4 D RA FT solving the problem?’ (Ray and Buterin, 2019), though the reasons don’t apply for this design. Also the notion of exchanging hashes between shards is making a re-appearence in Ethereum 2.0. The Kadema team were very dilgent in their background research and dug up one comment from 2014, now only avaialble in the Web Archive about a braided rope of blockchains (Marc-André Bélanger, 2014). In addition the IOTA cryptocurrency intro- duces the concept of a ’tangle’ (Popov, 2017). But that’s not a blockchain so it’s not directly comparable. 2.3 Constructing a block lattice To construct a block lattice we have to introduce the concept of space. The notion of ’expanding outwards’ also requires metric on that space so that the notion of ’outwards’ has meaning. The simplest way to do this is to divide up the blockchain into many blockchains, called shards (as in shards of glass), and map them to a space equiped with a metric such that ’distance’ between shards has a consistent meaning Wikipedia, 2009. With a notion of distance in place then each shard has closest neighbours. We now require that each new block depends on the hash of the previous block and also on the hash of its neighbours. The consequence is that any change to any data in a block not only propagates forwards in time but also expands outwards in space, which inceases the entropy much faster and makes things much harder to reverse. This is illustrated by removing the details inside the blocks and focusing on the hash transferred from one block to the next, labeling the block number with Bj and the hash with Hj we have Bj Bj+1 Hj Figure 2: Blockchain showing only the flow of the hashes from one block to the next block in the sequence 5 D RA FT We then set up many blockchains Bi, and label the j th block in the ith chain Bi,j and the j th hash in the ith chain Hi,j Bi,j Bi,j+1 Hi,j Bi,j+2 Hi,j+1 Bi+1,j Bi+1,j+1 Hi+1,j Bi,j+2 Hi,j+1 Bi+2,j Bi+2,j+1 Hi+2,j Bi+2,j+2 Hi+2,j+1 Figure 3: A set of three separate block chains 6 D RA FT Then we arrange for each block to take not only on the hash from the previous block but also on the hashes from the previous blocks of its nearest neigbours. It then gets the Merkle root of these and uses that in place of the traditional previous block hash. This way the shards are tied together. Notice we’ve introduced the concept of ”nearest neighbour”, which implies a space of some sort. Bi,j Bi,j+1 Hi,j Bi,j+2 Hi,j+1 Bi+1,j Hi+1,j Bi+1,j+1 Hi+1,j Hi,j Hi+1,j+1 Bi,j+2 Hi+1,j+1 Hi,j+1 Bi+2,j Hi+2,j Bi+2,j+1 Hi+2,j Hi+1,j Hi+2,j+1 Bi+2,j+2 Hi+2,j+1 Hi+1,j+1 Figure 4: The chains are now interdependent and form a block lattice 2.3.0.1 Estimating the work done. With these modifications in place we can now estimate how the calculation of the total work done to produce a block is changed. In the case of a simple chain of blocks the work done (the difficulty) is simply the work done in this block plus the sum of the work done in all previous blocks. Let Wn be the total work accumulated so far to the nth block, let BW be additional work done to produce the new 7 D RA FT block and W(n+1) be the new total work at the n+1th block then we have Wn+1 = Wi = n + BW (1) Without too much loss of generality we can make the simplfying as- sumption that a block lattice is infinite in extent (no edges). Considering an example where the shards are mapped to a simple 2 dimensional square lattice. Then each shard will have 8 neighbours. This means that each new block will accept the hash from 9 previous blocks (its own shard, plus 8 neighbours). That means the total work done to produce a block has to be summed over all 9 previous blocks. If we assume that producing a block requires 1 unit of work BW = 1 then equation (1) becomes WN+1 = (9×Wn) + BW (2) The so that if W0 = 0 the genesis block, then the first block after that W1 = 1 , and in the next block W2 = 9 + 1 = 10 which results in this sequence 1 1 2 10 3 91 4 820 5 7381 6 66430 .. .. 17 2084647712458321 After a few iterations the equation converges to Wn+1 = 9n (3) which increases exponentially This method of calculation is used in (Will Martino, Monica Quaintance, 2018) where they assign ’Merkle mass’ to each layer and comment Known as Merkle mass..., it is the sum of the mass of the sequen- tial layer intersections of the cone and it increases at a nearly exponential rate But the above method is double counting. Another way to add up the work is to simply add up only the work added by the blocks a block depends on. This gets a different figure 1 1 2 1 + 32 = 10 3 10 + 52 = 35 4 35 + 72 = 84 8 D RA FT Let n be the count of the number of the block height, d be the dimension of the lattice then we have W = n∑ 1 (1 + 2n)d (4) When d = 2 it increases only by adding the squares, since we’re adding up the ’area’ of each preceding layer. Which is sub-exponential. The two methods seem to be adding up different things, and I’m not sure which is the correct calculation to use when calculating ’chain with most work’. Which is required for Proof of Work consensus. The total entropy, i.e the number of possible combinations, is increasing exponentially and therefore in a block lattice it quickly becomes very hard to reverse out any records. Any change in a block in a shard propagates outwards and become incorporated into the hashes of more and more blocks in other shards until all shards are affected. The measure of the total work done is an indirect count of the number of states that have to be explored to find that partcular state. In a block lattice that number increases expo- nentially because each new block depends on blocks from more and more distant shards and the number of possible states rapidly increases. 9 D RA FT 2.4 Why is it called Indra’s Pearls? When deciding on a name for the project I thought it should be something to do with space, but other projects had taken those names e.g. Chainspace (Al-Bassam et al., 2017), the Latin word for space ”Ether” is taken, the Sanskrit word for space ”Akasha” is used by another crypto project. Then I remembered a nice description of a net of pearls where each one reflects all the others, which is what happens in a block lattice as described above. In the heaven of the great god Indra is said to be a vast and shimmering net, finer than a spider’s web, stretching to the outermost reaches of space. Strung at each intersection of its diaphanous threads is a reflecting pearl. Since the net is infinite in extent, the pearls are infinite in number. In the glistening surface of each pearl are reflected all the other pearls, even those in the furthest corners of the heavens. In each reflection, again are reflected all the infinitely many other pearls, so that by this process, reflections of reflections continue without end. (Mumford et al., 2002, Indra’s Pearls, Cambridge Universtity Press) Which is a fairly good analogy of what happens in a block lattice, each shard in a block lattice is reflected in and is reflected by all the other shards. Hence the name Indra’s Pearls 2.4.0.1 The consequences for finality. In (Nakamoto, 2008) to preserve the integrity of the blockchain each miner must check the valid- ity of the previous block before the start mining the current block. Using the hash of the previous block in a current block is recognised as sign that the previous block has been checked and found valid. After approximately 6 rounds of blocks the accumulated work is regarded as being so great it would be impossible to redo and rewrite the history and the block is accepted as ’final’. In a blockchain the dependency on hashes only carries forwards in time, but in a block lattice the dependencies spread out through the lattice as well. The same rule applies, to use the hash of a preceding block in the same shard and in its neighbours, you have to have validated the block. In a simple block chain, after n rounds you have n confirmations. But in a block lattice each round propagates the hash into (1 + 2n)d blocks, where n is the number of rounds and d the number of dimensions in the lattice. In our simple 1D block lattice, after 1 step we have 3 confirmations and after 2 rounds 3 + 5 = 8 confirmations. For a 2D lattice this becomes 32 = 9 10 D RA FT confirmations after the first round and 32 + 52 = 34 confirmations after the second round. In general the total number of confirmations C after n steps in a d dimensional lattice is C = n∑ 1 (1 + 2n)d (5) Which is the same equation as 4. The result is that a new block has to be validated by more miners or block producers than in a standard blockchain, and those block producers can be independent of each other. So the integrity of records is greater and we get finality more quickly. 2.4.0.2 Preventing 51% attacks. Any Proof of Work (POW) or Proof of Stake (POS) consensus system which allows anonymous mining or block production, it’s possible for an anonymous malicious agent with suffi- cient computing power to rewrite the history. Re-writing the history allows double spending. For example they can branch off a new chain but keep it private, in the main chain they make a transaction where Alice sends tokens to Bob, while in their hidden chain Alice sends tokens to Cynthia. They wait for a while waiting for enough blocks to be produced on the main chain for the transaction to Bob to be confirmed and Bob to withdraw the tokens into fiat or another crypto. Once that’s happened they publish their hidden chain and because they have more computing power than everyone else their newly published history has the greatest accumulated work, so it overrides the main chain and the transaction sending tokens to Bob is wiped out. This has happend in a number of smaller cryptocurrencies e.g. Verge and Ethereum Classic (Gareth Johnson, 2019; Reporter, 2018, see) But in a block lattice that’s very hard to do because no one chain is isolated from the others. To overpower one shard you have to overpower its neighbours, and the neighbours of the neighbours and so on to the entire lattice. (Nakamoto, 2008) includes a calculation of the probability that adver- sary creating a competing chain can catch up with the main chain. This calculation has to be modified to work with block lattices. The Kadema system (Quaintance, Io, and Martino, 2018) proposes a PoW model with linked shards, similar to Indra’s Pearls. They’ve already extended this cal- culation to work with a shared system, the proofs are quite complicated but their summary is;- ...the proof is analogous to the probabilistic double-spend at- tack analysis in the Nakamoto Bitcoin paper (Nakamoto, 2008) expanded to the additional dimension of multple chains under the Chainweb protocol. We present three versions of the 11 D RA FT proof in successive levels of strictness that demonstrate the viability of Chainweb as an extremely secure proto- col. (my bolding) Even so, a PoW system which permits anonymous mining can only ever achieve probabilistic finality. There is always a small but non-zero proba- bility that someone will turn up having mined a complete chain which is longer and has more work. The critical thing is to limit the number of peo- ple capable of producing blocks, that way we can ensure all potential block producers are accounted for, and hence ensure that a block is final. This is discussed in more detail in 6 2.4.0.3 Problems with this approach. Because it’s so hard to rewrite the history in a block lattice that causes a problem if a network split ever occurs. We think that network splits ought to be less frequent or even impossible because every block in a shard has to refer previous blocks in neighbouring shards, so the entire lattice is tightly tied together. But that argument is not a proof and it does need to be proved. If a network split happens and one section of the lattice gets two possible histories, then they’ll be so tightly tangled up with the rest of the lattice that sorting it out will be impossible. This is an inherent problem with all consensus mechanisms that don’t limit the number of potential block producers. There’s always a non-zero probability that someone can turn up a sequence of blocks that has more work or more stake and hence require the history to be re-written. In a block lattice the probability of this happening is much lower than in a simple block chain, but it is still probabilistic finality. This is a problem with all chain based finality systems. The alternative is to use some variant of Byzantive Fault Tolerance consensus systems to assure instant finality. They have their own issues but by combing the chain (or lattice) based ap- proach we can get the best of both. See 6 2.4.0.4 The topology of practical block lattices. Real space has no edges because it’s (probably) infinite but that’s impossible in a finite com- puting system. Yet we can’t have edges since that means some nodes won’t have the full complement of neighbours. The simplest thing use toroidal topology. For a lattice with 1 dimension of space, we create circle by joining the ends. In 2 dimensions we create a torus and so on to higher dimensions. Then we can give each shard a unique location on the torus by assigning an integer address and setting the size of each dimension to be a prime number. Then the location is defined by the modulus of the address according to the prime number used for each dimension. So for example an address of 9 in a 5× 7 torus would be 4 along the 5 axis and 2 along the 7 axis. Under a Eu- clidean metric its closest neighbours have addresses 3, 8, 10, 15, 23, 24, 29, 30 12 D RA FT The Kadema team in (Will Martino, Monica Quaintance, 2018) use a construction based on a Peterson graph which provides maximal connections across a minimum span, which is the best solution if restricted to a flat global topology. It seems much easier just to use a toriodal global topology. 2.4.0.5 Increasing connectedness to enhance security. In (Quain- tance, Io, and Martino, 2018), the Kadema team analysed cases where an attacker takes over progressively larger and larger sections of the lattice as cone of control marching forwards in time. However that proof assumes only local connections between shards. The security of a block lattice relies on its interconnectedness. A simple way to increase the connectedness of a graph is to add a few long distance connections. Therefore we should add one long range connection to another shard to be used along with the nearest neighbours when calculating the merkle root of the previous block hashes. There are many ways to do this, the long range connection could either be permanent or calculated on the fly. If it’s fixed then the attacker would know in advance that they also have to overwhelm another shard and the shards that depend on its blocks in future. So we’ll choose a dynamic method. The dynamic method will select another shard with deterministic randomness as follows. gather the prev ious block hashes from s e l f and ne ighbours c a l c u l a t e the merkle root from the hashes f i n d the remainder modulo the s i z e o f the l a t t i c e choose the shard with address == remainder add that shard ’ s b lock hash at the same he ight r e c a l c u l a t e the merkel root That makes it impossible (in truth very very hard) for an attacker to take over any one section of a lattice. They have to take over the entire lat- tice. The Kadema proofs in (Quaintance et al., 2018) need to be extended to allow for long range connections, this is a research project. Locating shards on a torus is the easy part, a more serious problem is that it takes time for information to travel from one shard to another and this causes an issue with state or account based systems. 3 UTXOs vs Account state In all computer systems that have parallel processing there is a time delay moving data from one process to another which makes it hard to agree on the state of something ’now’. The state of an account in process A might be X, but another process B running in parallel might alter the state of the 13 D RA FT account to Y , but process A only gets to find out about it after a delay. The state of something is the total of all past events that affect that thing summed up to ’now’. In a parallel system there is no universal ’now’. We have to introduce ways to create a fake ’now’. The usual way to do this is via locking schemes but the UTXO system avoids all this, it’s inherently parallelisable since it doesn’t maintain states of accounts In a single blockchain this doesn’t cause a problem because within each block there is a consistent ’now’ so we can generate state which rolls up all past transactions and therefore have a state ’now’. That allows us to have smart contract code that says i f ( balanceOf [ address ] > 200) { doSomething ; } But that’s not possible in sharded system because the balance of the address might be held in different shard to the smart contract. You can’t roll up all past transactions, because you might not know about some in other shards 3.1 Relativity of simultaneity The problem is most clearly seen if we rotate diagram 4 anti-clockwise 90◦. It then matches the standard format for space time diagrams used in physics. In spacetime it takes time for signals to travel between points separated in space, in the same way it takes time for signals to travel from one computing process to another. 14 D RA FT B2,3B1,3 B3,3 B2,2 B2,1B1,1 B3,1 time space causal past of E causal future of E Now E Figure 5: Propagation of hashes in a block lattice is analogous to a space time diagram In special relativity there’s a name for the problem. It’s called Relativ- ity of simultaneity Article, 2019 Now, this is critical for understanding the difference between stateful blockchains such as Ethereum and UTXO based systems such as Bitcoin. In a state based system the totality of all past transactions come together to create the current state of an account, and blocks update the states of accounts. That’s analogous to all the information from the past coming together into the central point of the above diagram ’Now’. State based systems rely on being able to know what the state of an account is at that moment of ’now’, inside the block being generated. In spacetime there is no universal ’now’, events that appear simultaneous to one observer might not be simultaneous for another observer. That’s why it’s called The relativity of simultaneity, which is the physicists way of saying ”there is no universal 15 D RA FT now”. The analogous situation in a sharded blockchain is that there is no universal ’now’ for all accounts because they might be in different shards so you can never write smart contract code like;- i f ( balanceOf [ address ] > 200) { doSomething ; } Because the account might not be in the same shard as the smart con- tract and therefore the value is unknown. Which neatly brings us to the next point. 3.2 Transactions are fundamental Although this is only an analogy it does illustrate some useful features. Transactions in a UTXO system map to events in spacetime. The notion of accounts which hold state are abstractions from the history of past trans- actions and are therefore a synthesised ’now’. In a single blockchain it’s relatively easy to manipulate states of accounts because the transactions happen in the same chain and the block being created defines a ’now’. So we can have a consistent concept of ’now’ and therefore we can maintain a consistent abstraction of ’account state’. When transactions that affect the state of an account happen in many different shards it’s very hard to main- tain that abstraction, which is why Ethereum 2.0 requires re-engineering Ethereum to retrofit a transaction layer and has to add layers of complexity to re-synthesise ’now’ We adopt the approach that we should work with UTXOs not accounts as that simplyfies things enormously. In some ways each transaction is anal- ogous to an event between sub-atomic particles which we can visualise with a Feynman diagram. The basic conservation laws, what goes in must come out, and the only things that can come out must have the same quantities as went in. Which is the basic logic of a UTXO transaction 3.2.0.1 Sharding in other account based systems. To comment adequately on each approach and dig out the problems would take us too far away from the intent of this paper. This has to be a separate paper. Suffice to say that each approach uses different and very complex methods to maintain a synthetic view of the state ’now’. The core fundamental is- sue is usually buried away in the small print and says effectively ”Oh and by the way this extra layer holding the state assumes extemely fast connec- tions between the nodes, and by the way it’s always going to be out of date”. 16 D RA FT 3.2.0.2 Synthesising ’now’ in your brain. As an aside, your brain peforms a similar trick to synthesise the sense of ’now’ from all the different events going on and messages it’s getting from your senses, and has a sim- ilar delay problem. In the same way that a sharded account based system constructs a synthetic ’now’ from all the different transactions going on in different shards and is behind the time, that sense of ’now’ you experience is actually behind the time. What you experience as ’now’ is actualy about half a second behind reality (refs to be provided) 4 An obvious extension to UTXO Building a UTXO system from scratch gives us the freedom to extend the concept. Our general philosophy is make explicit what is implicit and then generalise. For example a Bitcoin transaction contains the implicit under- standing that it is Bitcoin that is being transferred. In the set of UTXO records all values are assumed to be refer to the native token, e.g. Bitcoin. Txn-hash position script to claim the output value txn-hash 5 6 We make that explicit by giving the thing being transferred an id. Txn-hash position script to claim the output token id value txn-hash 5 6 4.1 Elegance in action We’ve generalised the UTXO method to handle almost any number of dif- ferent tokens. The basic logic of UTXO, inputs must equal outputs, also means we get these features for free. 1. The basic logic of UTXO means we can create transactions that ex- change different tokens between parties. 2. It’s a distributed exchange by default. 3. It treats fungible (ERC-20) and non-fungible tokens (ERC-721) in the same way. 4. No smart contract code is required to maintain the ledger for a token. A simple design which accomplishes a lot is Elegance in action. 17 D RA FT 4.1.0.1 Prior art. The idea that the basic UTXO protocol of BTC, ZEC and similar needs to be extended to include more than the base value of whatever chain has a substantial history starting with the notion of ’colored coins’, (Charlon, Flavien; Andreev, Oleg; Gundry, Devon; azuchi, Shigeyuki;Dorier, 2014) but that relied on using the existing UTXO struc- ture and adding extra information into the unlocking script on the output via an OP RETURN operation. That has problems because it’s using the script to do something it’s not intended for, and also unless carefully coded, the OP RETURN data won’t be transferred on to the next transaction, so a coin can easily lose its color. Cardano (Jones, 2019) have proposed a similar idea for multiple curren- cies to be handled at the base UTXO layer in a future version of Cardano instead at a higher level in smart contract";"""date"",""2019-05-20T18:16:21Z"" ""pdf:PDFVersion"",""1.5"" ""pdf:docinfo:title"","""" ""xmp:CreatorTool"",""LaTeX with hyperref package"" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""subject"","""" ""language"",""en"" ""dc:format"",""application/pdf; version=1.5"" ""pdf:docinfo:creator_tool"",""LaTeX with hyperref package"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"","""" ""modified"",""2019-05-20T18:16:21Z"" ""cp:subject"","""" ""pdf:docinfo:subject"","""" ""pdf:hasMarkedContent"",""false"" ""pdf:docinfo:creator"","""" ""PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017) kpathsea version 6.2.3"" ""meta:author"","""" ""trapped"",""False"" ""meta:creation-date"",""2019-05-20T18:16:21Z"" ""created"",""2019-05-20T18:16:21Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2019-05-20T18:16:21Z"" ""resourceName"",""Indras_pearls_whitepaper.pdf"" ""Author"","""" ""producer"",""pdfTeX-1.40.18"" ""pdf:docinfo:producer"",""pdfTeX-1.40.18"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""1"",""0"",""1"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""Keywords"","""" ""access_permission:modify_annotations"",""true"" ""dc:creator"","""" ""dcterms:created"",""2019-05-20T18:16:21Z"" ""Last-Modified"",""2019-05-20T18:16:21Z"" ""dcterms:modified"",""2019-05-20T18:16:21Z"" ""title"","""" ""Last-Save-Date"",""2019-05-20T18:16:21Z"" ""pdf:docinfo:keywords"","""" ""pdf:docinfo:modified"",""2019-05-20T18:16:21Z"" ""meta:save-date"",""2019-05-20T18:16:21Z"" ""pdf:docinfo:custom:PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017) kpathsea version 6.2.3"" ""Content-Length"",""295475"" ""Content-Type"",""application/pdf"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"","""" ""dc:subject"","""" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""37"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""1694"",""1431"",""1722"",""2020"",""1426"",""233"",""884"",""1190"",""923"",""2043"",""2065"",""2329"",""2007"",""1092"",""919"",""1884"",""1494"",""2325"",""1845"",""2183"",""2052"",""2074"",""1572"",""1799"",""2215"",""2044"",""1885"",""2125"",""2217"",""2031"",""2193"",""2162"",""1536"",""1481"",""1768"",""1768"",""224"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""pdf:docinfo:trapped"",""False"" ""meta:keyword"","""" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2019-05-20T18:16:21Z"" ";https://scholar.google.com/scholar?start=540&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094600-904;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;PKP-based signature scheme;W Beullens, JC Faugčre, E Koussa… ; … on Cryptology in India, 2019 Springer;;"… PKP-DSS is Existential-Unforgeable under Chosen Adaptive Message Attacks (EU-CMA) in the random oracle model, if: the search version of the Permuted Kernel problem is intractable,. the hash functions and pseudo-random generators are modeled as random oracles …";Cité 3 fois;Les 4 versions;[PDF] iacr.org;https://eprint.iacr.org/2018/714.pdf;" PKP-Based Signature Scheme Ward Beullens1, Jean-Charles Faugère2, Eliane Koussa3, Gilles Macario-Rat4, Jacques Patarin5, and Ludovic Perret2 1 imec-COSIC, KU Leuven ward.beullens@esat.kuleuven.be 2 INRIA and Sorbonne Universities/UPMC Uni Paris 6 jean-charles.faugere@inria.fr, ludovic.perret@lip6.fr 3 Versailles Laboratory of Mathematics, UVSQ EJKoussa@outlook.com 4 Orange gilles.macariorat@orange.com 5 Versailles Laboratory of Mathematics, UVSQ, CNRS, University of Paris-Saclay, jpatarin@club-internet.fr Abstract. In this document, we introduce PKP-DSS: a Digital Signa- ture Scheme based on the Permuted Kernel Problem(PKP) [23]. PKP is a simple NP-hard [10] combinatorial problem that consists of finding a kernel for a publicly known matrix, such that the kernel vector is a per- mutation of a publicly known vector. This problem was used to develop an Identification Scheme (IDS) which has a very efficient implementa- tion on low-cost smart cards. From this zero-knowledge identification scheme, we derive PKP-DSS with the traditional Fiat-Shamir transform [9]. Thus, PKP-DSS has a security that can be provably reduced, in the (classical) random oracle model, to the hardness of random instances of PKP (or, if wanted, to any specific family of PKP instances). We propose parameter sets following the thorough analysis of the State-of- the-art attacks on PKP presented in [17]. We show that PKP-DSS is competitive with other signatures derived from Zero-Knowledge identi- fication schemes. In particular, PKP-DSS-128 gives a signature size of approximately 20 KBytes for 128 bits of classical security, which is ap- proximately 30% smaller than MQDSS. Moreover, our proof-of-concept implementation shows that PKP-DSS-128 is an order of magnitude faster than MQDSS which in its turn is faster than Picnic2, SPHINCS,... Since the PKP is NP-hard and since there are no known quantum attacks for solving PKP significantly better than classical attacks, we believe that our scheme is post-quantum secure. Keywords: public-key cryptography, Fiat-Shamir, post-quantum cryp- tography, 5-pass identification scheme, Public-key Signature, Permuted Kernel Problem. 1 Introduction The construction of large quantum computers would break most public-key cryp- tographic schemes in use today because they rely on the discrete logarithm problem or the integer factorization problem. Even though it isn’t clear when large scale quantum computation would be feasible, it is important to anticipate quantum computing and design new public key cryptosystems that are resis- tant to quantum attacks. Therefore, there currently is a large research effort to develop new post-quantum secure schemes, and a Post-Quantum Cryptography standardization process has been initiated by the American National Institute of Standards and Technology (https://www.nist.gov/). Because of this, there has been renewed interest in constructing signature schemes by applying the Fiat-Shamir transform [9] to Zero-Knowledge Identification Schemes. In partic- ular, we are interested in post-quantum cryptographic schemes whose security relies on the quantum hardness of some NP-Hard problem [2]. One of those prob- lems is the Permuted Kernel Problem: the problem of finding a permutation of a known vector such that the resulting vector is in the kernel of a given matrix. This is a classical NP-Hard combinatorial problem which requires only simple operations such as basic linear algebra and permuting the entries of a vector. For quite some time, no new attacks on PKP have been discovered, which makes it possible to confidently estimate the concrete hardness of the problem. In 1989, Shamir [23] introduced a five-pass ZK-Identification scheme, based on the PKP. This work uses the Fiat-Shamir transform [9] on this identification scheme to develop a signature scheme that is provably secure in the Random Ora- cle Model (ROM). However, since our goal is to have a post-quantum scheme, we should also consider attackers in the Quantum Random Oracle Model (QROM). The security of the Fiat-Shamir transform in the QROM has been studied in [27,26,25], where the authors of [27,25] explain that the Fiat-Shamir transform might not be secure against quantum computers. Thus, new techniques with ex- tra properties (such as ”lossy IDS”) were developed to obtain a quantum-secure transform. However, more recently, a number of works have proven the Fiat- Shamir construction secure in the QROM[26,13] under very mild conditions. So far, none of these works apply to five-round protocols (which is the kind of proto- col we are considering in this work), but it is conceivable that the results can be generalized to five-pass protocols, including ours. We consider this an important open problem in post-quantum cryptography. Previous work and State-of-the-art. Since quantum computers are ex- pected not to be capable of solving NP -Hard problems in sub-exponential time (in worst case), Zero-knowledge Identification schemes based on such problems are interesting candidates for Post-Quantum Cryptography. The Fiat-Shamir transform [9] is a technique that can convert such a zero-knowledge authenti- cation scheme into a signature scheme. This approach was taken by Chen et al. [7], who applied the Fiat-Shamir transform to a 5-pass identification scheme of Sakumoto et al. [22]. This identification scheme relies on the hardness of the (NP -Hard) problem of finding a solution to a set of multivariate quadratic equations. Chen et al. proved that, in the random oracle model, applying the Fiat-Shamir transform to this 5-pass identification scheme results in a secure 2 https://www.nist.gov/ signature scheme. A concrete parameter choice and an efficient implementation of this signature scheme (which is called MQDSS) were developed, and this was one of the submissions to the NIST PQC standardization project. At a security level of 128 bits, the MQDSS scheme comes with a public key of 46 Bytes, a secret key of 16 Bytes and a signature size of approximately 28 Kilobytes. A different line of work resulted in the Picnic signature scheme. Chase et al. [6] constructed this digital signature scheme by applying the Fiat-Shamir transform to an identification scheme whose security relies purely on symmetric primitives. At the 128-bit security level Picnic has a public key of 32 Bytes, a secret key of 16 Bytes and signatures of approximately 33 Kilobytes. There is a second version of this signature scheme, where the signatures are only 13.5 Kilobytes, but Picnic2 is 45 times slower than the original Picnic for signing and 25 times slower for verification. Main results. The main contribution of this paper is to present PKP-DSS, a new post-quantum secure signature scheme. Similar to the approaches cited above, we use the Fiat-Shamir transform to construct a signature scheme from the 5-pass PKP identification scheme by Shamir [23]. Following the complex- ity analysis of the PKP [17], we choose secure parameter sets of the signature scheme for 128/192/256 of classical security level. To date, there are no known quantum algorithms for solving PKP (other than combining Grover search with the classical algorithms), so we claim that our signatures achieve the NIST se- curity levels I/III and V respectively. However, we recognize that the (quantum) hardness of PKP deserves more research, and we hope that this work will inspire researchers to investigate this topic further. We have developed a constant-time C implementation of the new signature scheme. By constant-time we mean that the running time and the memory ac- cess pattern of the implementation are independent of secret material, therefore blocking attacks from timing side channels. The resulting signature scheme com- pares well with MQDSS and Picnic/Picnic2. Our scheme is much faster than MQDSS and Picnic/Picnic2 in terms of signing and verification, we have small public and private keys, and the signature sizes of our scheme are comparable to those of MQDSS and Picnic2. This makes our signature scheme based on PKP competitive with state of the art post-quantum signature schemes. 2 Preliminaries 2.1 The Permuted Kernel Problem (PKP) The Permuted Kernel Problem (PKP) [23,10] is the problem on which the secu- rity of PKP-DSS is based. PKP is a linear algebra problem which asks to find 3 a kernel vector of a given matrix under a vector-entries constraint. It’s a gen- eralization of the Partition problem [10, pg.224]. More precisely, it is defined as follows: Definition 1 (Permuted Kernel Problem). Given a finite field Fp, a matrix A ∈ Fm×np and a n-vector v ∈ Fnp , find a permutation π ∈ Sn such that Avπ = 0, where vπ = (vπ(1), ¡ ¡ ¡ , vπ(n)) A reduction of the 3-Partition problem proves PKP to be NP-Hard [10]. Moreover, solving random instances of PKP seems hard in practice. In fact, this is the fundamental design assumption of PKP-DSS. The hardness of PKP comes from, on the one hand, the big number of permutations, on the other hand, from the small number of possible permutations that satisfy the kernel equations. Note that, to make the problem more difficult, the n-vector v should have distinct coordinates. Otherwise if there are repeated entries, the space of permutations of v gets smaller. In the next section, we give the best known algorithm to solve the PKP problem. Best known algorithms for solving PKP The implementation’s efficiency of the first IDS, proposed by Shamir [23], based on PKP problem has led to several solving tools. There are various attacks for PKP, which are all exponential. We will not describe them here. Instead, we refer to [17] for further details. To estimate the concrete security of PKP, the authors of [17] review and compare the efficiency of the best known attacks in terms of the number of operations performed, for different finite fields. They bring together the Patarin-Chauvaud attack [21] and Poupard’s algorithm [18] to provide an accurate program. The paper gives security estimates that we used to pick secure parameters sets for the Permuted Kernel Problem. 2.2 Commitment schemes In our protocol, we use a commitment scheme Com : {0, 1}λ×{0, 1}? → {0, 1}2Îť, that takes as input Îť uniformly random bits bits, where Îť is the security pa- rameter, and a message m ∈ {0, 1}? and outputs a 2Îť bit long commitment Com(bits,m). In the description of our protocols, we often do not explicitly mention the commitment randomness. We write S ← Com(m), to denote the process of picking a uniformly random bit string r, and setting C← Com(r,m). Similarly, when we write check C = Com(m), we actually mean that the prover communicates r to the verifier, and that the verifier checks if C = Com(r,m). We assume that Com is computationally binding, which means that no com- putationally bounded adversary can produce a r, r′,m,m′ with m 6= m′ such that Com(r,m) = Com(r′,m′). We also assume that Com is computationally hiding, which means that for every pair of messages m,m′, no computationally bounded adversary can distinguish the distributions of Com(m) and Com(m′). 4 2.3 2q-Identification schemes and 2q-extractors In this paper, we will describe a so-called 2q-Identification Scheme [24]. This is a 5-round identification scheme, where the first challenge is drawn uniformly at random from a challenge space of size q, and the second challenge is a ran- dom bit. Therefore, a transcript of an execution of a 2q-protocol looks like (com, c, rsp1, b, rsp2). We now state the properties of a 2q-protocol more formally: Definition 2 (2q-Identification scheme,[24]). A 2q-Identification scheme is a canonical five-pass identification scheme (KeyGen,P,V) with challenge spaces Ch1 and Ch2 for which it holds that |Ch1| = q and |Ch2| = 2. Moreover, we require that the probability that the commitment com take a certain value is a negligible function of the security parameter. Definition 3 (Completeness). An Identification scheme (KeyGen,P,V) is cal- led complete if when both parties follow the protocol honestly, the verifier accepts with probability 1. That is, we have Pr [ (pk, sk)← KeyGen(1Îť) 〈P(sk),V(pk)〉 = 1 ] = 1 , where 〈P(sk),V(pk)〉 stands for the common execution of the protocol between P with input sk and V with input pk. Definition 4 (Soundness with soundness error Îş). An identification sche- me (KeyGen,P,V) is called Sound with soundness error Îş, if for any probabilistic polynomial time adversary A, we have Pr [ (pk, sk)← KeyGen(1Îť) 〈A(1Îť, pk),V(pk)〉 = 1 ] ≤ Îş+ Îľ(Îť) , for some negligible function Îľ(Îť). Definition 5 ((computational) Honest-Verifier Zero-Knowledge). We say an identification scheme (KeyGen,P,V) is HVZK if there exists a probabilistic polynomial time Simulator S that outputs transcripts that are computationally indistinguishable from transcripts of honest executions of the protocol. Finally, we define the notion of a 2q-extractor, which is an algorithm that can extract the secret key from 4 transcripts that satisfy some properties. This is useful because when there exists a 2q-extractor for a 2q-Identification scheme, this implies that the identification scheme has soundness with knowledge error at most q+1 2q . Moreover, this implies that applying the Fiat-Shamir transform to the identification scheme results in a secure signature scheme. 5 Definition 6 (2q-extractability). We say a 2q-identification scheme (KeyGen, P, V) has 2q-extractability, if there exists a polynomial-time algorithm that given four transcripts (com, c(i), rsp (i) 1 , b(i), rsp (i) 2 ) for i from 1 to 4, such that c(1) = c(2) 6= c(3) = c(4) rsp (1) 1 = rsp (2) 1 rsp (3) 1 = rsp (4) 1 b(1) = b(3) 6= b(2) = b(4) can efficiently extract a secret key. Theorem 1 ([24], Theorem 3.1 and Theorem 4.3). A 2q-extractable 2q- identification scheme is sound with knowledge error at most q+1 2q . Moreover, ap- plying the Fiat-Shamir transform to such an identification scheme results in a EUF-CMA secure signature scheme in the Random Oracle Model. 3 Identification scheme (IDS) based on PKP In this section, we first present the 5-pass Zero-Knowledge Identification Scheme (ZK-IDS) based on the computational hardness of PKP [23,19], noted here PKP- IDS. Then, we introduce our optimized version of PKP-IDS and we prove that the optimized identification scheme is secure. 3.1 The original 5-pass PKP IDS In this section, we present the original PKP-IDS [23,19], and we propose its slightly modified version. It consists of three probabilistic polynomial time algo- rithms IDS = ( KeyGen, P, V ) which we will describe now. Generation of the public key and secret key in PKP-IDS. The users first agree on a prime number p, and on n,m, the dimensions of the matrix A. The public-key in PKP-IDS is an instance of PKP, a solution to this instance is the secret-key. Thus, the prover picks a (right) kernel-vector w ∈ Ker(A), then randomly generates a secret permutation of n elements sk = π and finishes by computing v = wπ−1 . We summarize the key generation algorithm in Alg. 1. 5-pass identification protocol: Prover P and Verifier V. The prover and verifier are interactive algorithms that realize the identification protocol in 5 passes. The 5 passes consist of one commitment and two responses transmitted from the prover to the verifier and two challenges transmitted from the verifier to the prover. The identification protocol is summarized in Alg. 2. 6 Algorithm 1 KeyGen(n,m,p) A $←− Fm×np w $←− Ker(A) π $←− Sn v← wπ−1 Return (pk = (A,v), sk = π) Algorithm 2 The original 5-pass PKP identification protocol P(sk, pk) V(pk) σ $←− Sn r $←− Fnp C0 ← Com(σ,Ar) C1 ← Com(πσ, rσ) C0,C1−−−−→ c $←− Fp z← rσ + cvπσ c←−−−− z−−−−→ b $←− {0, 1} if b = 0 then rsp← σ else rsp← πσ end if b←−−−− rsp−−→ if b = 0 then accept if C0 = Com(σ,Azσ−1) else accept if C1 = Com(πσ, z− cvπσ) end if 7 Theorem 2. PKP-IDS is complete, moreover, if the used commitment scheme is computationally hiding then PKP-IDS is computationally honest-verifier zero- knowledge and if the commitment scheme is computationally binding, then PKP-IDS is sound with soundness error Îş = p+1 2p . Proof. We refer to [23] for the complete proof. In such ZK-IDS, it is usually possible to cheat if a cheater can correctly guess some challenges, so there is a nonzero probability (called the soundness error) that the verifier accepts the proof, even though the prover does not know the witness. In the case of PKP-IDS, this soundness error is p+1 2p . Thus, it is necessary to repeat the protocol several times to reduce the probability of fraud. Sequen- tially repeating the zero-knowledge proof N times results in an Identification scheme with knowledge error Îşrepeated = ÎşN , hence it suffices to repeat the protocol dÎť/ log2( 2p p+1 )e times to get a soundness error Îş ≤ 2−λ. The systems are constructed such that executing the protocol does not reveal any secrets (Zero-knowledge). 3.2 The modified version of PKP-IDS We now describe several optimizations to reduce the communication cost of the identification scheme, as well as the computational cost of the algorithms. We will start by explaining a few standard optimizations that are common for identification protocols based on zero-knowledge proofs. Then, we will explain some novel optimizations that apply to the specific context of PKP-IDS. Hashing the commitments. In the commitment phase of the protocol, instead of transmitting all the 2N commitments C (1) 0 ,C (1) 1 , ¡ ¡ ¡ ,C(N) 0 ,C (N) 1 the prover can just hash all these commitments together with a collision resistant hash function H and only transmit the hash h = H(C (1) 0 , ¡ ¡ ¡ ,C(N) 1 ). Then, the prover includes the N commitments C (i) 1−bi in the second response. Since the ver- ifier can reconstruct the Cibi himself, he now has all the 2N commitments, so he can hash them together and check if their hash matched h. With this optimiza- tion, we reduce the number of communicated commitments from 2N to N , at the cost of transmitting a single hash value. Use seeds and PRG. Instead of directly choosing the permutation σ at random, we can instead choose a random seed of Îť bits and use a PRG to expand this seed into a permutation σ. This way, instead of transmitting σ, we can just transmit the Îť-bit seed. This reduces the communication cost per permutation from log2(n!) bits to just Îť bits. For example for 128-bits of security, we have n = 69, so the communication cost per permutation drops from log2(69!) ≈ 327 bits to just 128 bits. 8 Matrix A in systematic form. Now we get to the PKP-IDS-specific opti- mizations. With high probability, we can perform elementary row operations on A to put it in the form ( Im A′ ) , for some (n −m)-by-m matrix A′. Since row operations do not affect the right kernel of A, we can just choose the matrix A of this form during key generation, without affecting the security of the scheme. This makes the protocol more efficient because multiplying by a matrix of this form requires only (n−m) ∗m multiplications instead of n ∗m multiplications for a general matrix multiplication. Optimizing key generation. It is of course not very efficient to include in the public key the matrix A = [ cAi , i ∈ {1, ¡ ¡ ¡ ,n} ] , where cAi is the i-th column of A. The first idea is to just pick a random seed, and use a PRG to expand this seed to obtain the matrix A. The public key then consists of a random seed, and the vector v of length n. However, we can do slightly better than this. We can use a seed to generate A* which is formed by the first n−1 columns cA1 , ¡ ¡ ¡ , cAn−1 of A and the vector v. Then we pick a random permutation π, and we solve for the last column cAn of A such that vπ is in the right kernel of A. Now the public key only consists of a seed and a vector of length m (instead of a vector of length n). Another important advantage of this approach is that we do not need to do Gaussian elimination this way (and if fact this was the motivation behind this optimization). The optimized key generation procedure is given in Alg. 3. Algorithm 3 KeyGen(n,m,p) sk.seed←− Randomly sample Îť bits (seedπ, pk.seed)←− PRG0(sk.seed) π ←− PRG1(seedπ) (A∗,v)←− PRG2(pk.seed) Compute cAn from A∗ and vπ sk←− sk.seed pk←− (pk.seed, cAn ) Return (pk, sk) Sending seeds instead of permutations. Because of the second optimiza- tion, we can send a Îť-bit seed instead of σ, if the challenge bit b = 0. However, in the case b = 1, we still need to send the permutation πσ, because we cannot generate both σ and πσ with a PRG. However, this problem can be solved. We can generate rσ with a PRG, and then we can send this seed instead of πσ. This seed can be used to compute πσ, because if the verifier knows z and rσ, then he can compute z−rσ = cvπσ. And since v and c are known, it is easy to recover πσ from cvπσ (we choose the parameters such that the entries of v are all distinct, so there is a unique permutation that maps v to vπσ). Moreover, sending the seed 9 for rσ does not reveal more information than sending πσ, because given z and πσ it is trivial to compute rσ, so this optimization does not affect the security of the scheme. However, there is a problem: If c = 0, then the cvπσ = 0, and so the verifier cannot recover πσ. To solve this problem we just restrict the challenge space to Fp \ {0}. This increases the soundness error to p 2p−2 (instead of p+1 2p ), but this is not a big problem. An important advantage of this optimization is that the signature size is now constant. Without this optimization, a response to the challenge b = 0 would be smaller than a response to b = 1. But with the optimization, the second response is always a random seed, regardless of the value of b. We summarize the one round of the optimized IDS modified version in Algorithm 4. Algorithm 4 The modified 5-pass of PKP-IDS P(sk, pk) V(pk) seed0, seed1 $←− {0, 1}Îť σ ←− PRG1(seedσ) rσ ←− PRG2(rσ.seed) C0 ← Com(σ,Ar) C1 ← Com(πσ, rσ) C0,C1−−−−→ c $←− Fp \ {0} z← rσ + cvπσ c←−−−− z−−−−→ b $←− {0, 1} rsp← seedb b←−−−− rsp−−→ if b = 0 then σ ← PRG1(rsp) accept if C0 = Com(σ,Azσ−1) else rσ ← PRG2(rsp) if z−rσ is not a permutation of cv then Return reject else Let ρ ∈ Sn such that cvρ = z−rσ. end if accept if C1 = Com(ρ, rσ) end if 10 3.3 Security proof of the optimized Scheme Theorem 3. – The modified version of PKP-IDS is complete. – If the commitment scheme is computationally binding, then the scheme is sound with soundness error Îş = p 2p−2 . – If the used commitment scheme is computationally hiding and the output of PRG1 and PRG2 is indistinguishable from uniform randomness, then the scheme is computationally honest-verifier zero-knowledge. Proof. Completeness. In the case b = 0, if the prover acts honestly, then the commitment check will succeed if Ar = Az−1σ = A(r + vπσσ−1), which holds if and only if Avπ = 0. Therefore, if π is a solution to the PKP problem, then the verifier will accept the transcript. In an honest execution with b = 1 the verifier will always accept, regardless of whether π was a solution to the PKP problem or not. Soundness. First, we prove that the scheme has a q2-extractor [24]. That is, we show that, given four accepted transcripts (C0,C1, c (i), z(i), b(i), rsp(i)) for i from 1 to 4, such that c(1) = c(2) 6= c(3) = c(4) z(1) = z(2) z(3) = z(4) b(1) = b(3) 6= b(2) = b(4) one can efficiently extract a solution for the PKP problem. By relabeling the transcripts if necessary, we can assume that b(1) = b(3) = 0 and b(2) = b(4) = 1. Let us first look at transcripts 1 and 3. Let σ = PRG1(rsp(1)) and σ′ = PRG1(rsp(3)), and let x = Az (1) σ−1 and x′ = Az (3) σ′−1 . Then, because both transcripts are accepted, we have C0 = Com(σ,x) = Com(σ′,x′). Therefore, the computationally binding property of Com implies that with overwhelming probability we have σ = σ′ and x = x′. Now, lets look at transcripts 2 and 4. Let y = PRG2(rsp(2)) and y′ = PRG2(rsp(4)). Since both transcripts are accepted, we know that z(2) − y and z(4) − y′ are permutations of c(2)v and c(4)v respectively. Let ρ and ρ′ be the permutations such that c(2)vρ = z(2) − y and c(4)v′ρ = z(4) − y′. Since both transcripts are accepted, we have C1 = Com(ρ, y) = Com(ρ′, y′) , 11 so the computationally binding property of Com implies that with overwhelming probability we have ρ = ρ′ and y = y′. Now, we put everything together to get 0 = A(z (1) σ−1 − z (3) σ−1) = A(z (2) σ−1 − z (4) σ−1) = A(c(2)vρσ−1 − yσ−1 − c(4)vρσ−1 + yσ−1) = (c(2) − c(4))Avρσ−1 . Since c(2) − c(4) is nonzero, this means that ρσ−1 is a solution to the permuted kernel problem. Moreover the extractor can efficiently extract this solution, be- cause he can extract ρ from either transcript 2 or 4, and he can extract σ from either transcript 1 or 3. It is known that 2q-extractability implies soundness with error q+1 2q , where q is the size of the first challenge space [22,24]. In our case, the first challenge space has p− 1 elements, so the optimized IDS has soundness error p 2p−2 . Honest-Verifier Zero-knowledge. To prove Honest-Verifier Zero-Knowle- dge we construct a simulator that outputs transcripts that are computation- ally indistinguishable from transcripts of honest executions of the identification scheme. First, the simulator picks a uniformly random value c ∈ Fp \ {0} and a uniformly random bit b. We treat the cases b = 0 and b = 1 separately. Case b = 0 : The simulator picks a random seed seed0, a uniformly random vector z, and computes σ = PRG1(seed0) and C0 = Com(σ,Az). The simu- lator also commits to a dummy value to get C1. Now the simulator outputs (C0,C1, c, z, b, seedσ). This distribution is indistinguishable from honestly generated transcripts with b = 0. Indeed, the values c, z, seed0 are indistinguishable from uniformly random in both the simulated transcripts and the honest transcripts (here we use the assumption that the output of PRG2 is indistinguishable from the uni- form distribution). The first commitment C0 = Com(σ,Azσ−1) is a function of seed0 and z, so it also has the same distribution in the simulated and the honest transcripts. Finally, the commitment C1 is never opened, so the computationally hiding property of Com guarantees that C1 in the simulated transcript is com- putationally indistinguishable from the C1 in an honest transcript. Case b = 1 : The simulator picks a uniformly random seed seed1 and a uniformly random permutation ρ and computes rσ = PRG2(seed1), z = cvρ+ rσ and C1 = Com(). The simulator also commits to a dummy value to produce a commitment C0, then the simulator outputs the transcript (C0,C1, c, z, b, seed1). We now show that the simulated transcripts are indistinguishable from hon- estly generated transcripts with b = 1. It is clear that c and seed1 are uni- formly random in both the simulated transcripts and the honestly generated 12 transcripts. Moreover, in both the simulated and the real transcripts, z is equal to PRG2(seed1) + cvρ, and C1 = Com(ρ,PRG2(seed1)) where ρ is indistinguish- able from a uniformly random permutation (here we need the assumption that the output of PRG1 is indistinguishable from a uniformly random permutation). Therefore z and C1 have the same distribution in the simulated and the hon- est transcripts. Finally, the computationally hiding properties of Com guarantee that the value of C0 in the simulated transcripts is indistinguishable from that of C0 in honestly generated transcripts. 3.4 Communication cost We can now provide the communication complexity of N rounds of the modified IDS, of which the soundness error is ( p 2p−2 )N . The commitment consists of a single hash value, which is only 2Îť bits. The first response consists of N vectors of length n over Fp, so this costs Nndlog2 pe bits of communication. Lastly, the second responses consist of N random Îť-bit seeds, N commitments (which consist of 2Îť bits each) and N commitment random strings (which consist of Îť bits each), so this costs 4NÎť bits of communication. In total, the communication cost (ignoring the challenges) is 2Îť+N (ndlog2 pe+ 4Îť) . 4 Digital signature scheme (DSS) based on PKP We present here the main contribution of this work which is to construct a digital signature scheme, based on the PKP problem, from the optimized IDS defined in Section 3. This is simply a direct application of the well-known Fiat Shamir transformation [9]. The key generation algorithm is identical to the key generation algorithm for the identification scheme. To sign a message m, the signer executes the first phase of the commitment scheme to get a commitment com. Then he derives the first challenge c = (c1, ¡ ¡ ¡ , cN ) from m and com by evaluating a hash function H1(m||com). Then he does the next phase of the identification protocol to get the N response vectors rsp1 = (z(1), ¡ ¡ ¡ , z(N)). Then he uses a second hash function to derive b = (b1, . . . , bN ) from m, com and rsp1 as H2(m||com, rsp1). Then he finishes the identification protocol to obtain the vector of second responses rsp2 = (rsp(1), ¡ ¡ ¡ , rsp(N)). Then, the signature is simply (com, rsp1, rsp2). To verify a signature (com, rsp1, rsp2) for a message m, the verifier simply uses the hash function H1 and H2 to obtain c and b respectively. Then, he verifies that (com, c, rsp1,b, rsp2) is a valid transcript of the identification protocol. 13 Algorithm 5 Sign(sk,m) 1: derive A,v and π from sk. 2: for i from 1 to N do 3: pick Îť-bit seeds seed (i) 0 and seed (i) 1 uniformly at random 4: σ(i) ← PRG1(seed (i) 0 ) 5: r (i) σ ← PRG2(seed (i) 1 ) 6: C (i) 0 = Com ( σ(i),Ar(i) ) , 7: C (i) 1 = Com ( πσ(i), r (i) σ ) . 8: end for 9: com := Hcom ( C (1) 0 , C (1) 1 , ¡ ¡ ¡ ,C(N) 0 , C (N) 1 ) 10: c(1), ¡ ¡ ¡ , c(N) ← H1 ( m||com ) . ci ∈ Fp \ {0} 11: for i from 1 to N do 12: z(i) ← r (i) σ + c(i)vπσ(i) 13: end for 14: rsp1 ← (z(1), ¡ ¡ ¡ , z(N)) 15: b(1), ¡ ¡ ¡ , b(N) ← H2(m||com||rsp1) 16: for i from 1 to N do 17: rsp (i) 2 ← (seed (i) b(i) ||C(i) 1−b(i)) 18: end for 19: rsp2 ← (rsp2 (1), ¡ ¡ ¡ , rsp2(N)) 20: Return (com, rsp1, rsp2) Algorithm 6 Verify(m, pk, σ = (com, rsp1, rsp2)) 1: c(1), ¡ ¡ ¡ , c(N) ← H1 ( m||com ) . 2: b(1), ¡ ¡ ¡ , b(N) ← H2(m||com||rsp1) 3: Parse rsp1 as z(1), ¡ ¡ ¡ , z(N) 4: Parse rsp2 as seed(1), ¡ ¡ ¡ , seed(N),C (1) 1−b(1) , ¡ ¡ ¡ ,C (N) 1−b(N) 5: for i from 1 to N do 6: if b(i) = 0 then 7: σ(i) ← PRG1(seed(i)) 8: C (i) 0 ← Com(σ(i),Az σ(i)−1) 9: else 10: r (i) σ ← PRG2(seed(i)) 11: if z(i) − rσ is not a permutation of cv then 12: Return reject 13: else 14: πσ(i) ← the permutation that maps cv to z(i) − rσ. 15: end if 16: C (i) 1 ← Com(πσ(i), r (i) σ ) 17: end if 18: end for 19: com′ := Hcom ( C (1) 0 , C (1) 1 , ¡ ¡ ¡ ,C(N) 0 , C (N) 1 ) 20: Return accept if and only if com = com′ 14 The signing and verification algorithms are displayed in Algorithm 5 and 6 in more detail. We then get the same security result as Th. 5.1 in [7]. Theorem 4. PKP-DSS is Existential-Unforgeable under Chosen Adaptive Mes- sage Attacks (EU-CMA) in the random oracle model, if – the search version of the Permuted Kernel problem is intractable, – the hash functions and pseudo-random generators are modeled as random oracles, – the commitment functions are computationally binding, computationally hid- ing, and the probability that their output takes a given value is negligible in the security parameter. The proof is the same as in [7]. 4.1 Generic attack If the number of iterations N is chosen such that ( p 2p−2 )N ≤ 2−λ, then the cheating probability of the identification protocol is bounded by 2−λ. However, a recent attack by Kales and Zaverucha on MQDSS reveals that this does not meant that the Fiat-Shamir signature scheme has Îť bits of security [16]. They give a generic attack that also applies to PKP-DSS. The attack exploits the fact that if an attacker can guess the first ch";"""date"",""2019-10-28T10:00:05Z"" ""pdf:PDFVersion"",""1.5"" ""pdf:docinfo:title"","""" ""xmp:CreatorTool"",""LaTeX with hyperref package"" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""subject"","""" ""language"",""en"" ""dc:format"",""application/pdf; version=1.5"" ""pdf:docinfo:creator_tool"",""LaTeX with hyperref package"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"","""" ""modified"",""2019-10-28T10:00:05Z"" ""cp:subject"","""" ""pdf:docinfo:subject"","""" ""pdf:hasMarkedContent"",""false"" ""pdf:docinfo:creator"","""" ""PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017) kpathsea version 6.2.3"" ""meta:author"","""" ""trapped"",""False"" ""meta:creation-date"",""2019-10-28T10:00:05Z"" ""created"",""2019-10-28T10:00:05Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2019-10-28T10:00:05Z"" ""resourceName"",""714.pdf"" ""Author"","""" ""producer"",""pdfTeX-1.40.18"" ""pdf:docinfo:producer"",""pdfTeX-1.40.18"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""10"",""12"",""4"",""0"",""2"",""6"",""0"",""16"",""2"",""6"",""14"",""7"",""2"",""2"",""7"",""0"",""0"",""0"" ""Keywords"","""" ""access_permission:modify_annotations"",""true"" ""dc:creator"","""" ""dcterms:created"",""2019-10-28T10:00:05Z"" ""Last-Modified"",""2019-10-28T10:00:05Z"" ""dcterms:modified"",""2019-10-28T10:00:05Z"" ""title"","""" ""Last-Save-Date"",""2019-10-28T10:00:05Z"" ""pdf:docinfo:keywords"","""" ""pdf:docinfo:modified"",""2019-10-28T10:00:05Z"" ""meta:save-date"",""2019-10-28T10:00:05Z"" ""pdf:docinfo:custom:PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017) kpathsea version 6.2.3"" ""Content-Length"",""455443"" ""Content-Type"",""application/pdf"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"","""" ""dc:subject"","""" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""21"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""2003"",""2788"",""2242"",""2254"",""1855"",""1709"",""331"",""2183"",""1976"",""1016"",""1580"",""2159"",""2043"",""1025"",""1633"",""1600"",""2059"",""1581"",""1820"",""2751"",""1290"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""pdf:docinfo:trapped"",""False"" ""meta:keyword"","""" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2019-10-28T10:00:05Z"" ";https://scholar.google.com/scholar?start=720&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094651-1129;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Aktuelle und geplante Anwendungsfelder;R Wilkens, R Falk ; Smart Contracts, 2019 Springer;;"… die teilweise erforderliche Einbindung sog. Oracles (siehe Abschn. 3.2.2.4. ) läuft einem mit der Blockchain-Technologie verfolgten Hauptziel zuwider, da die Notwendigkeit des Vertrauens in Dritte gerade überwunden werden sollte; …";;null;null;;;;https://scholar.google.com/scholar?start=940&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094537-640;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[PDF][PDF] Blockchain in office building transactions;HPH Wouda ; pure.tue.nl;;"… Although, blockchain technology is what builds digital records of physical and contractual inform- ation, it does also come with challenges … Currently, the correctness of documents need to be validated by validating nodes (oracles) in the network, due to the lack of standardization …";Autres articles;;[PDF] tue.nl;https://pure.tue.nl/ws/portalfiles/portal/122361217/Wouda_2019.pdf;" Eindhoven University of Technology MASTER Blockchain in office building transactions Wouda, H.P. Award date: 2019 Link to publication Disclaimer This document contains a student thesis (bachelor's or master's), as authored by a student at Eindhoven University of Technology. Student theses are made available in the TU/e repository upon obtaining the required degree. The grade received is not published on the document as presented in the repository. The required complexity or quality of research of student theses may vary by program, and the required minimum study period may vary in duration. General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain https://research.tue.nl/en/studentthesis/blockchain-in-office-building-transactions(2548f1c9-fe04-4d9d-b6c8-a0841291cb0d).html Blockchain in oďż˝ce building transactions Master Thesis H.P. (Hugo) Wouda Department of the Built Environment (BE), Industrial Engineering & Innovation Sciences (IE&IS) Master Construction Management and Engineering Final version Amsterdam, Tuesday 12 th February, 2019 Intentionally blank Title Blockchain in oďż˝ce building transactions A design science research towards the implementation of blockchain technology in the transaction process of an oďż˝ce building. Master Thesis Author H.P. (Hugo) Wouda ID: 0974255 Hugo.wouda@live.nl University Eindhoven University of Technology Master Construction Management and Engineering Graduation Committee Academic supervisors Prof. dr. ir. B. (Bauke) de Vries – Eindhoven University of technology Dr. R.J.G. (Raymond) Opdenakker – Eindhoven University of technology Dr. Q. (Qi) Han – Eindhoven University of technology Company supervisor F. (Frank) Kerstens - ABN AMRO N.V. ”The best way to predict the future, is to create it.” - Abraham Lincoln Blockchain in oďż˝ce building transactions iv Preface Where everything started ’Zuidhorn’, Groningen. Once my hometown, but also the first municipality in the Netherlands to introduce a blockchain application (’Het Kindpakket ’), or at least they thought it was blockchain. Zuidhorn is no excep- tion. Up to 80% of the initial coin o↵erings conducted in 2017 were scams (Satis Group LLC, 2018). Blockchain is a buzz word, a hype, with an underlying technology that is interesting, but much of enthusiasm for this technology is because people lack of knowledge and incomprehension of the technology. ’Blockchain technology – the solution for everything, but what is the problem?’ Although recent studies have examined the possibilities of applying blockchain technology, ap- plications remain unclear. In this research, blockchain technology is proposed as a solution for the problem: how to improve the transaction process of an oďż˝ce building. It aims to identify the challenges currently faced, and suggests how blockchain technology can solve them. Plenty of people contributed to and supported the writing of this thesis. Firstly, I would like to o↵er my gratitude to Frank Kerstens and Ruud Boots for keeping me on track during the writing of my thesis. Pursuing my ideas freely and giving advice form a business perspective, was very helpful. Also, I would like to thank my graduation buddy Dagmar Bokkinga for the writing days. Additionally, I would like to o↵er my gratitude towards my TU/e supervisors Bauke de Vries and Raymond Opdenakkker, for giving advice and support from an academic perspective on a topic which is not very common within scientific research and the faculty of Construction Management & Engineering. Without them, it would have been a lot more diďż˝cult to complete this thesis. Last, but definitely not least, at a personal level, I would like to thank my parents and brothers – Ton, Ineke, Wijnand and Lodewijk Wouda – and in especially my girlfriend Diede, for their support and motivation throughout my study and research. Looking back on the past couple of years, this master thesis has formed a nice ending for my time as a student! I hope reading this report is interesting and inspires you towards the implementation of blockchain technology in the real estate sector. Hugo Wouda February 2019, Amsterdam Blockchain in oďż˝ce building transactions v Blockchain in oďż˝ce building transactions vi Table of Contents Management summary x Management summary (Dutch) xii Abstract xv Abbreviations xvi List of Figures xvii List of Tables xviii 1 Introduction 1 1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Problem definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Research question . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 Scientific relevance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.5 Practical relevance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.6 Reading guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2 Commercial real estate transaction process 7 2.1 What is commercial real estate? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.1.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.1.2 Characteristics of commercial real estate . . . . . . . . . . . . . . . . . . . . 8 2.1.3 Transaction market . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2 Transaction process of an oďż˝ce building . . . . . . . . . . . . . . . . . . . . . . . . 10 2.2.1 Actor roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2.2 Transaction phases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.3 Information flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3 Blockchain technology 17 3.1 Blockchain basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.1.1 Core components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.1.2 Blockchain types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.2 Blockchain tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.2.1 What are blockchain tokens? . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.2.2 Real-world asset tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.2.3 Blockchain tokens in practice . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.3 Benefits and limitations of blockchain technology . . . . . . . . . . . . . . . . . . . 25 3.4 Blockchain based transaction process . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Blockchain in oďż˝ce building transactions vii 4 Research methodology 31 4.1 Design science research . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.2 Research method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.2.1 Empirical research . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.2.2 Grounded Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.3 Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.3.1 Business Process Model and Notation . . . . . . . . . . . . . . . . . . . . . 35 4.3.2 Unified Modeling Language . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.3.3 Prototype . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 5 Pain point identification 39 5.1 BPMN model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 5.2 Pain points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 5.2.1 Data quality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 5.2.2 Data structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.2.3 Pain point definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 5.2.4 Allocation pain points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 5.2.5 Property management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 5.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 6 Blockchain model 47 6.1 Current process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 6.2 Centralized database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 6.2.1 Centralized database features . . . . . . . . . . . . . . . . . . . . . . . . . . 48 6.2.2 Challenges centralized database . . . . . . . . . . . . . . . . . . . . . . . . . 55 6.2.3 Conclusion centralized database implementation . . . . . . . . . . . . . . . 56 6.3 Blockchain model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 6.3.1 Blockchain consideration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 6.3.2 Blockchain features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 6.3.3 Challenges blockchain model . . . . . . . . . . . . . . . . . . . . . . . . . . 62 6.3.4 Conclusion blockchain implementation . . . . . . . . . . . . . . . . . . . . . 63 6.4 Centralized database vs. Blockchain database . . . . . . . . . . . . . . . . . . . . . 63 6.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 7 Implementation & validation 67 7.1 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.1.1 Blockchain transaction model . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.1.2 User interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 7.2 Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 7.3 Role of the bank . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 7.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 8 Conclusion & Discussion 81 8.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 8.2 Limitations and recommendations for further research . . . . . . . . . . . . . . . . 85 8.2.1 Limitations of the research . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 8.2.2 Recommendations for further research . . . . . . . . . . . . . . . . . . . . . 86 8.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Bibliography 89 Blockchain in oďż˝ce building transactions viii Appendix 95 A Information flow 95 B Interview protocols 96 B.1 Interview protocol 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 B.2 Interview protocol 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 B.3 Interview protocol 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 C Transcripts interviews 99 D Transaction process – BPMN 100 D.1 Preparation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 D.2 Marketing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 D.3 Due Diligence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 D.4 Completion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 D.5 BPMN model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 E Property manager activities 109 F Database input 110 G Standard rental agreement - ROZ-model 110 Blockchain in oďż˝ce building transactions ix Management summary Technology advances, such as blockchain, are transforming markets across the globe, including the commercial real estate sector. Transactions in this sector are known to be time consuming and ineďż˝cient, in part due to the lack of market transparency. This research focuses on the development of a blockchain application that can enhance the transaction process of oďż˝ce buildings in the Netherlands. Due to the commercial real estate (CRE) markets’ fundamental characteristics – heterogeneity and immobility – real estate transactions face the joint challenges of information ineďż˝ciencies and corresponding high transaction costs (Ling and Archer, 2012). Noteworthy is the traditional role of banks within the real estate transaction market. Financing CRE is usually done through lending from banks (60% - 70% LTV) (Gout, 2017, p. 82). However, due to technology advancements, changing client demand and stricter regulation (Basel III and Basel IV), the traditional role of banks is under pressure (Deloitte, 2018). In this context, for banks to stay relevant, current (internal) processes and new business model ’enablers’ should be researched. Although recent studies have examined the possibilities of applying blockchain technology, ap- plications remain unclear (Dijkstra, 2017; Seuren, 2018; Veuger, 2017). All studies indicate that blockchain technology could lead to improvements in eďż˝ciency, transparency and therefore trust. Additionally, banks could use blockchain to better understand the risks associated with real estate and streamline internal processes (Dijkstra, 2017; Deloitte, 2017). This research focuses on an infrastructure for a blockchain-based application to improve the current way real estate is trans- acted by introducing a more comprehensive, better quality and more complete asset information overview, which may payo↵ for all involved parties (including new business model ’enablers’) and could potentially increase the size of managed global real estate. The transaction process of an oďż˝ce building is divided into multiple stages (Crosby and McAl- lister, 2015; Dijkstra, 2017; Hordijk and Teuben, 2008; Just and Stapenhorst, 2018): preparation, marketing & pre- due diligence, due diligence and completion. Currently, due diligence phases and negotiations are carried out to verify and validate information. These processes are a key indicator of the lack of transparency and perceived unreliability of the data used in the transaction process. Furthermore, the decentralized way of working with various ’non-digitized’ documents makes the process complex and unstructured. To support this complexity, semi-structured interviews were conducted to identify and map pain points to specific phases and tasks in the transaction process. All interviewees indicated that pain points mainly occur during the due diligence and completion phases and are related to data structure and data quality. However, pain points are formed during the preparation phase in the transaction process and the management of the real estate once the property has been acquired. Implementing new technologies, such as blockchain, could lead to an improvement in the transaction of an oďż˝ce building in the future. A blockchain distributed ledger is simply a new way of managing data and consists of five core ele- ments (Hileman and Rauchs, 2017; Seuren, 2018; Swan, 2015; Tapscott and Tapscott, 2016; Tasca et al., 2017): Cryptography, Peer-to-peer (P2P) network, Validity rules, Consensus mechanism Blockchain in oďż˝ce building transactions x and Ledger. Blockchain and its deriving applications, e.g. smart contracts (Blockchain 2.0) and applications (Blockchain 3.0), could support and enhance the reliability, eďż˝ciency and security of data transferred among a network (Swan, 2015, p. ix). Therefore, blockchain technology features seem to provide a solution that could enhance the transaction of oďż˝ce buildings. Besides, literat- ure states that blockchain technology can be applied to real estate and could be a game-changer in transacting real estate. The focus on a solution for a field problem – the cumbersome trans- action process – is in line with design science research (Aken van and Romme, 2009; Hevner and Chatterjee, 2010). Hence, this method is applied in developing a design proposition for a field problem. In summary, organizations currently work in a decentralized fashion which causes various pain points and challenges. The proposed blockchain database is structured according to the data requirements of a transaction (Property Markets Research Team, 2004), which are split into two elements (indexes): physical (technical) and contractual (commercial-, legal- and financial- doc- uments) elements. Physical and contractual data can be logged on a blockchain based on its consensus mechanism and cryptographic encrypting method, also referred to as cryptographic audit trail or hash chain. The original files are stored on the servers of the involved parties and validation information (class diagram framework) is uploaded in the blockchain. The validated framework consists of all essential data elements of e.g. a contract (e.g. index code, validation date, involved parties etc.). Validated record-keeping is the first step towards creating digital real estate transactions and resolving the pain points in the process. Although, blockchain technology is what builds digital records of physical and contractual inform- ation, it does also come with challenges. These are as a result of the immaturity of the technology, a lack of standardization and limited examples of successful application. Hence the implementa- tion of the proposed model is quite complex. Currently, the correctness of documents need to be validated by validating nodes (oracles) in the network, due to the lack of standardization. For the system to add value, data such as reports and inspection frameworks must be standardized. If this is possible, the record-keeping application could be linked to various aggregation levels (Kadaster, BAG, VHE, etc.) by way of an API. Therefore, data could be automatically validated without the need for oracles, and analyzed by the user. Also, authorization rules in the network could be much more detailed (e.g. data such as contract clauses could be recorded). All this could make the proposed application suitable for managing physical and contractual data, which, consequentially, could enhance the transaction process. The process is sector wide known to be cumbersome, however there is not a great enough incentive for one single party to develop a blockchain infrastructure – all parties would have to sign up to use it for it to be valuable. Besides, all corporate parties could benefit from more reliability, trans- parency and eďż˝ciency. Hence, a collaboration between banks with a large market coverage would be best placed to take the lead in standardizing documents for financing real estate and, in turn, the development of a blockchain infrastructure as proposed. In this way, involved parties, such as banks, will receive standard information, which they can use to optimize their own workflows (e.g. risk assessments). The design science research proposes a blockchain based infrastructure to improve the current transaction process of an oďż˝ce building. During validation of the application, all parties indicated that the application is an interesting first step towards a digital and more transparent ecosystem. The structure and quality of data – these are the main elements in a real estate transaction and so are essential if the process is to be streamlined – available will be enhanced by implementing the proposed blockchain infrastructure. The application improves the way specific asset are understood by structuring physical and contractual information in one place, and guarantees the quality of the data by using the blockchain mechanisms. Therefore, the tool is of immeasurable value for the future of real estate data management and the transaction process. Blockchain in oďż˝ce building transactions xi Management summary (Dutch) Technologische ontwikkelingen zoals blockchain transformeren verschillende sectoren wereldwijd, waaronder de commerciële vastgoedsector. Commerciële vastgoedtrans- acties staan bekend als tijdrovend en ineďż˝ciënt, onder andere vanwege het gebrek aan transparantie van de markt. Dit onderzoek richt zich op de ontwikkeling van een blockchain applicatie die het huidige transactieproces van kantoorgebouwen in Nederland kan verbeteren. Vanwege de primaire eigenschappen van vastgoed – heterogeen en immobiel – staat de commerciële vastgoedmarkt bekend als ineďż˝ciënt op het gebied van data-management. Dit resulteert in relatief hoge transactiekosten in vergelijking tot andere kapitaalmarkten (aandelen, obligaties en fondsen) (Ling and Archer, 2012). Noemenswaardig hierbij is dat banken een belangrijke rol spelen in de huidge vastgoedmarkt. De financiering van vastgoed wordt meestal gerealiseerd door een lening bij een bank (60 % - 70 % LTV) (Gout, 2017, p. 82). Als gevolg van technologische ontwikkelingen, de veranderende vraag naar data en strengere regelgeving (Basel III en Basel IV) staat de traditionele rol van banken als kredietverstrekker onder druk (Deloitte, 2018). In dit verband zouden banken huidige (interne) processen en bedrijfsmodellen moeten analyseren om zich te positioneren in de veranderende markt. Hoewel recente studies de mogelijkheden van het toepassen van blockchain technologie in de vast- goedmarkt hebben onderzocht, blijven daadwerkelijke applicaties en implementaties uit (Dijkstra, 2017; Seuren, 2018; Veuger, 2017). Alle studies geven echter aan dat blockchain technologie kan leiden tot verbeteringen in eďż˝ciëntie, transparantie en daarmee vertrouwen in de vastgoedsector. Daarnaast kunnen banken deze technologie gebruiken om potentiële risico’s beter in kaart te bren- gen en interne processen te stroomlijnen (Dijkstra, 2017; Deloitte, 2017). Dit onderzoek focust zich daarom op de ontwikkeling van een blockchain applicatie om de huidige manier waarop vastgoed wordt verhandeld te verbeteren. Dit kan mogelijk de basis vormen voor nieuwe bedrijfsmodellen en mede tot een toename in stabielere vastgoedinvesteringen leiden. Het huidige transactieproces van commercieel vastgoed is op te delen in verschillende fases (Crosby and McAllister, 2015; Dijkstra, 2017; Hordijk and Teuben, 2008; Just and Stapenhorst, 2018): preparation, marketing & pre-due diligence, due diligence and completion. Opmerkelijk is dat er momenteel meerdere due diligence fases en onderhandelingen uitgevoerd worden, zowel vanuit de verkopende als de kopende partij, om informatie te verifiëren en te valideren. Een mogelijk risico kan zijn dat binnen het huidige transactieproces partijen de betrouwbaarheid van de aangeleverde informatie betwisten. Bovendien resulteert de gedecentraliseerde manier van werken met niet- gedigitaliseerde documenten in een complex en ongestructureerd proces. Deze complexiteit is door middel van semi-gestructureerde interviews gëĹdentificeerd en gekoppeld aan specifieke fasen en taken in het transactieproces. Uit ieder interview komt naar voren dat de knelpunten met name ontstaan in de due diligence fase en completion fase, gerelateerd aan data structuur en data kwaliteit. Deze knelpunten worden echter gevormd gedurende het beheer van het vastgoed en de voorbereidende fase in het transactieproces. Een logische verklaring aangezien knelpunten zichtbaar worden door het analyseren van data, hetgeen de basis vormt voor de on- Blockchain in oďż˝ce building transactions xii derhandelingen in de completion fase. Het innoveren van het transactieproces en implementeren van nieuwe technologieën, zoals blockchain, kan mogelijk leiden tot een verbetering van dit trans- actieproces in de toekomst. Een blockchain gedistribueerd grootboek is eenvoudigweg een nieuwe manier om gegevens te be- heren en bestaat uit vijf kernelementen (Hileman and Rauchs, 2017; Seuren, 2018; Swan, 2015; Tapscott and Tapscott, 2016; Tasca et al., 2017): ’cryptography’, ’peer-to-peer (P2P) network’, ’validity rules’, ’consensus mechanism’ en ’ledger’. Blockchain en de hieruit afgeleide toepassin- gen, zoals ’smart contracts’, kunnen de betrouwbaarheid, eďż˝ciëntie en veiligheid van informatie die wordt overgedragen in een netwerk verbeteren (Swan, 2015, p. ix). Vanuit een theoretisch perspectief kunnen de kernelementen van blockchain technologie een oplossing bieden voor het huidige transactieproces van kantoorgebouwen. Kortom, op dit moment werken organisaties op een gedecentraliseerde manier waardoor verschil- lende knelpunten ontstaan in het transactieproces. De voorgestelde blockchain-database is on- derverdeeld in twee hoofdelementen (Property Markets Research Team, 2004): fysieke en contrac- tuele elementen. Fysieke en contractuele informatie wordt in een blockchain vastgelegd door mid- del van het consensus mechanisme en de cryptografische coderingsmethodiek. In de voorgestelde situatie worden originele bestanden opgeslagen op de servers van de betrokken partijen en wordt informatie gerelateerd aan de validatie geüpload in de blockchain. Het hieruit voortvloeiende gevalideerde kader bestaat uit alle essentiële informatie van een element (bijvoorbeeld codering, validatie datum, betrokken partijen). De eerste stap naar het creëren van digitale transacties en het oplossen van de knelpunten in het huidige proces is het valideren van de geregistreerde informatie-elementen. Hoewel blockchain technologie fysieke en contractuele informatie digitaal registreert, ontstaan er ook uitdagingen. Onder andere het gevolg van de innovatieve technologie en een gebrek aan gest- andaardiseerde documentatie. De verwachting is dat de implementatie van het voorgestelde model vrij complex is, bijvoorbeeld omdat de juistheid van documenten momenteel wordt gevalideerd door een aparte instantie in het netwerk, vanwege het gebrek aan standaardisatie. Indien docu- mentatie zoals rapportages en inspecties worden gestandaardiseerd kan het voorgestelde systeem van waarde zijn voor alle partijen. In deze optimale situatie kunnen systemen van verschillende aggregatieniveaus (Kadaster, BAG, etc.) worden gekoppeld. Vervolgens is het mogelijk om data input te controleren door Application Programming Interfaces (API’s) in plaats van een specifieke partij in het netwerk. Daarnaast is het mogelijk om autorisatie in het netwerk gedetailleerder plaats te laten vinden op bijvoorbeeld een enkel onderdeel van het huurcontract. Dit alles zou de voorgestelde toepassing geschikt kunnen maken voor het beheren van fysieke en contractuele informatie, die als gevolg daarvan het transactieproces verbetert. Het proces staat sectorbreed bekend als omslachtig, toch is dat geen beweegreden voor partijen om een blockchain applicatie te ontwikkelen. Indien het gehele netwerk de toegevoegde waarde ziet en deelneemt aan het voorgestelde model, kan dit echter zeer e↵ectief zijn. Alle partijen in het huidige transactieproces kunnen dan profiteren van meer betrouwbaarheid, transparantie en eďż˝ciëntie. Voor het standaardiseren van documenten voor de financiering van vastgoed zou een samenwerking tussen banken interessant zijn gezien het marktaandeel van de banken en de mogelijkheid om over betrouwbare informatie te beschikken. Zij kunnen het voortouw nemen in het ontwikkelen van een infrastructuur zoals voorgesteld door de betrouwbare informatie te gebruiken om hun eigen interne processen te optimaliseren. Externe partijen moeten daarvoor standaard informatie aanleveren wat het ontwikkelen van een infrastructuur zoals omschreven mogelijk maakt. Dit ontwerp gericht onderzoek (Design Science research) stelt een op blockchain gebaseerde ap- plicatie voor om het huidige transactieproces van een kantoorgebouw te verbeteren. Tijdens de validatie van het prototype van de applicatie, hebben alle partijen aangegeven dat de applicatie een interessante eerste stap is naar een digitaal en meer transparant ecosysteem. De structuur en kwaliteit van de informatie die beschikbaar is zal worden verbeterd waardoor interne processen Blockchain in oďż˝ce building transactions xiii geoptimaliseerd kunnen worden. De voorgestelde applicatie verbetert de manier waarop een kan- toorgebouw wordt verhandeld door fysieke en contractuele informatie op één plaats te structureren en garandeert daarnaast de kwaliteit van de gegevens door gebruik te maken van de blockchain toepassingen. Dat maakt de tool van onschatbare waarde voor de toekomst van het beheer van vastgoed gerelateerde informatie en het optimaliseren van het transactieproces. Blockchain in oďż˝ce building transactions xiv Abstract Technology advances, such as blockchain, are transforming markets across the globe, including the commercial real estate sector. Due to the commercial real estate markets’ fundamental character- istics – heterogeneity and immobility – real estate transactions face the joint challenges of time consuming process, information ineďż˝ciencies and corresponding high transaction costs. Although recent studies have theoretically examined the possibilities of applying blockchain technology, ap- plications remain unclear. The characteristics of blockchain technology could lead to improvements in eďż˝ciency, transparency and therefore trust. Therefore, this research focuses on a blockchain solution for a field problem – the cumbersome transaction process – which is in line with design science research. Hence, this method is applied in developing a design proposition. In summary, organizations currently work in a decentralized fashion which causes various pain points and challenges. To support this, semi-structured interviews were conducted to identify and map pain points to specific phases and tasks in the transaction process. For mapping pain points the transaction process is visualized by means of Business Process Model and Notation. The obtained data is analyzed according to the Grounded Theory. From empirical findings it could be stated that major pain points are related to data structure and data quality. To resolve these pain points a blockchain application is proposed and pragmatically validated. Object related information, such as contracts, can be logged on a blockchain based on its consensus mechanism and cryptographic encrypting method. Original files are stored on the servers of the involved parties and a validated framework – consisting of essential information, such as coding, validation date, involved parties – is uploaded in the blockchain and visualized by means of UML and a clickable user interface. Validated record-keeping is the first step towards creating digital real estate transactions and resolving the pain points in the process. Hence, this design science research proposes an infrastructure for a blockchain-based application to improve the current way real estate is transacted by introducing a more comprehensive, better quality and more complete asset information overview, which streamlines the transaction process, may payo↵ for all involved parties and could potentially increase the size of managed global real estate. Blockchain in oďż˝ce building transactions xv Abbreviations API Application Programming Interface BPMN Business Process Model and Notation CFL Commercial- Financial- and Legal index CRE Commercial Restate Estate DL Distrubuted Ledger DLT Distrubuted Ledger Technology GT Grounded Theory IM Investment Memorandem HoT Head of Terms LTV Loan to Value NDA Non- Disclosure Agreement P2P Peer-to-Peer PoA Proof-of-Autority PoS Proof-of-Stake PoW Proof-of-Work PM Propert Management RED Real Estate Development REIT Real Estate Investment Trust SPA Sales and Purchase Agreement TTP Trusted Tird Parties UML Unified Modeling Language Blockchain in oďż˝ce building transactions xvi List of Figures 1 How much is the world worth? Source: (Savills, 2017). . . . . . . . . . . . . . . . . 2 2 Real estate characteristics. Sourc";"""date"",""2019-02-18T13:07:08Z"" ""pdf:docinfo:custom:AAPL:Keywords"",""Blockchain technology"",""commercial real estate"",""design science research"",""innovation"",""information system"",""transactions"" ""pdf:PDFVersion"",""1.4"" ""xmp:CreatorTool"",""LaTeX with hyperref package"" ""pdf:docinfo:title"",""Master Thesis"" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""subject"",""Blockchain in office building transactions"" ""language"",""en"" ""dc:format"",""application/pdf; version=1.4"" ""pdf:docinfo:creator_tool"",""LaTeX with hyperref package"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"",""Master Thesis"" ""xmp:CreateDate"",""2019-02-12T00:20:01Z"" ""modified"",""2019-02-18T13:07:08Z"" ""cp:subject"",""Blockchain in office building transactions"" ""pdf:docinfo:subject"",""Blockchain in office building transactions"" ""pdf:hasMarkedContent"",""false"" ""xmp:ModifyDate"",""2019-02-18T14:07:08Z"" ""pdf:docinfo:creator"",""H.P. (Hugo) Wouda"" ""meta:author"",""H.P. (Hugo) Wouda"" ""meta:creation-date"",""2019-02-12T00:20:01Z"" ""created"",""2019-02-12T00:20:01Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2019-02-12T00:20:01Z"" ""resourceName"",""Wouda_2019.pdf"" ""Author"",""H.P. (Hugo) Wouda"" ""producer"",""macOS Versie 10.14.1 (build 18B75) Quartz PDFContext"" ""pdf:docinfo:producer"",""macOS Versie 10.14.1 (build 18B75) Quartz PDFContext"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""dc:description"",""Blockchain in office building transactions"" ""Keywords"",""Blockchain technology, commercial real estate, design science research, innovation, information system, transactions"",""Blockchain technology, commercial real estate, design science research, innovation, information system, transactions"" ""access_permission:modify_annotations"",""true"" ""AAPL:Keywords"",""Blockchain technology"",""commercial real estate"",""design science research"",""innovation"",""information system"",""transactions"" ""dc:creator"",""H.P. (Hugo) Wouda"" ""description"",""Blockchain in office building transactions"" ""dcterms:created"",""2019-02-12T00:20:01Z"" ""Last-Modified"",""2019-02-18T13:07:08Z"" ""dcterms:modified"",""2019-02-18T13:07:08Z"" ""title"",""Master Thesis"" ""xmpMM:DocumentID"",""uuid:ca15205b-f1d0-4254-8b90-3bbb5743539d"" ""Last-Save-Date"",""2019-02-18T13:07:08Z"" ""pdf:docinfo:keywords"",""Blockchain technology, commercial real estate, design science research, innovation, information system, transactions"" ""pdf:docinfo:modified"",""2019-02-18T13:07:08Z"" ""meta:save-date"",""2019-02-18T13:07:08Z"" ""Content-Type"",""application/pdf"" ""xmp:MetadataDate"",""2019-02-18T14:07:08Z"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"",""H.P. (Hugo) Wouda"" ""pdf:producer"",""macOS Versie 10.14.1 (build 18B75) Quartz PDFContext"" ""dc:subject"",""Blockchain technology, commercial real estate, design science research, innovation, information system, transactions"",""Blockchain technology, commercial real estate, design science research, innovation, information system, transactions"" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""149"" ""pdf:hasXMP"",""true"" ""pdf:charsPerPage"",""1133"",""234"",""18"",""540"",""97"",""1960"",""38"",""1665"",""2454"",""674"",""3049"",""3832"",""3076"",""3966"",""433"",""2159"",""539"",""2741"",""1670"",""0"",""2507"",""2470"",""2727"",""2313"",""3283"",""58"",""2149"",""2767"",""3836"",""3214"",""2897"",""3644"",""3744"",""3498"",""1251"",""85"",""2563"",""2725"",""2389"",""2823"",""2199"",""2039"",""1827"",""3041"",""3519"",""3431"",""3161"",""1736"",""2835"",""67"",""2650"",""2046"",""3213"",""3035"",""3349"",""1580"",""2451"",""66"",""2274"",""1654"",""2271"",""3160"",""2367"",""2579"",""3263"",""1146"",""2679"",""1924"",""2561"",""2429"",""982"",""2681"",""2313"",""869"",""3114"",""2813"",""1836"",""2672"",""1821"",""2670"",""2157"",""3375"",""3692"",""1670"",""3695"",""987"",""1992"",""1932"",""2089"",""2867"",""2118"",""125"",""899"",""1507"",""2314"",""3390"",""3530"",""3775"",""1192"",""72"",""2276"",""3155"",""3875"",""1761"",""3482"",""3539"",""3664"",""3085"",""1899"",""2567"",""2529"",""2446"",""1497"",""0"",""141"",""1563"",""2256"",""899"",""133"",""1726"",""2838"",""2709"",""2060"",""967"",""108"",""72"",""72"",""72"",""993"",""61"",""124"",""82"",""82"",""82"",""82"",""82"",""82"",""82"",""82"",""82"",""82"",""82"",""82"",""82"",""82"",""82"",""82"",""82"",""82"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""meta:keyword"",""Blockchain technology, commercial real estate, design science research, innovation, information system, transactions"",""Blockchain technology, commercial real estate, design science research, innovation, information system, transactions"" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2019-02-12T00:20:01Z"" ";https://scholar.google.com/scholar?start=450&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094668-1193;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Enabling Data Democracy in Supply Chain using Blockchain and IoT;D Sachdev ; Journal of Management, 2019 papers.ssrn.com;;"… ENABLING DATA DEMOCRACY IN SUPPLY CHAIN USING BLOCKCHAIN AND IOT Deepika Sachdev Vice President Delivery, Knowesis UPES, Dehradun … It examines Use Cases and benefits of current IoT and Blockchain integrated frameworks for SCM …";Cité 4 fois;Les 3 versions;[PDF] academia.edu;https://www.academia.edu/download/58563500/JOM_06_01_008.pdf;;;https://scholar.google.com/scholar?start=410&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094569-775;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;How to record quantum queries, and applications to quantum indifferentiability;M Zhandry ; Annual International Cryptology Conference, 2019 Springer;;"… CRYPTO 2019: Advances in Cryptology – CRYPTO 2019 pp 239-268 | Cite as. How to Record Quantum Queries, and Applications to Quantum Indifferentiability … Then we will give our compressed standard and phase oracles. Standard Oracle …";Cité 71 fois;Les 4 versions;[PDF] nsf.gov;https://par.nsf.gov/servlets/purl/10164789;" How to Record Quantum Queries, and Applications to Quantum Indifferentiability Mark Zhandry Princeton University & NTT Research Abstract. The quantum random oracle model (QROM) has become the standard model in which to prove the post-quantum security of random-oracle-based constructions. Unfortunately, none of the known proof techniques allow the reduction to record information about the ad- versary’s queries, a crucial feature of many classical ROM proofs, including all proofs of indifferentiability for hash function domain extension. In this work, we give a new QROM proof technique that overcomes this “recording barrier”. We do so by giving a new “compressed oracle” which allows for efficient on-the-fly simulation of random oracles, roughly analogous to the usual classical simulation. We then use this new technique to give the first proof of quantum indifferentiability for the Merkle- DamgĂĽrd domain extender for hash functions. We also give a proof of security for the Fujisaki-Okamoto transformation; previous proofs required modifying the scheme to include an additional hash term. Given the threat posed by quantum computers and the push toward quantum- resistant cryptosystems, our work represents an important tool for efficient post-quantum cryptosystems. 1 Introduction The random oracle model [BR93] has proven to be a powerful tool for heuristically proving the security of schemes that otherwise lacked a security proof. In the random oracle model (ROM), a hash function H is modeled as a truly random function that can only be evaluated by querying an oracle for H. A scheme is secure in the ROM if it can be proven secure in this setting. Of course, random oracles cannot be efficiently realized; in practice, the random oracle is replaced with a concrete efficient hash function. The hope is that the ROM proof will indicate security in the real world, provided there are no structural weaknesses in the concrete hash function. Meanwhile, given the looming threat of quantum computers [IBM17], there has been considerable interest in analyzing schemes for so called “post-quantum” security [NIS17, Son14, ATTU16, CBH+17, YAJ+17, CDG+17, CDG+15]. Many of the proposed schemes are random oracle schemes; Boneh et al. [BDF+11] argue that the right way of modeling the random oracle in the quantum setting is to use the quantum random oracle model, or QROM. Such a model allows a quantum attacker to query the random oracle on a quantum superposition of inputs. The idea is that a real-world quantum attacker, who knows the code for the concrete hash function, can evaluate the hash function in superposition in order to perform tasks such as Grover search [Gro96] or collision finding [BHT98]. In order to accurately capture such real-world attacks, it is crucial to model the random oracle to allow for such superposition queries. The quantum random oracle model has been used in a variety of subsequent works to prove the post-quantum security of cryptosystems [BDF+11, Zha12b, Zha15, TU16, Eat17]. The Recording Barrier. Unfortunately, proving security in the quantum random oracle model can be extremely difficult. Indeed, in the classical random oracle model, one can copy down the adversary’s queries as a means to learning what points the adversary is interested in. Many classical security proofs crucially use this information in order to construct a new adversary which solves some hard underlying problem, reaching a contradiction. In the quantum setting, such copying is impossible by no-cloning. One can try to record some information about the query, but this amounts to a measurement of the adversary’s query state which can be detected by the adversary. A mischievous adversary may refuse to continue if it detects such a measurement, rendering the adversary useless for solving the underlying problem. Because of the difficulty in reading an adversary’s query, it also becomes hard to adaptively program the random oracle, another common classical proof technique. This difficulty has led authors to develop new quantum-sound proof tech- niques to replace classical techniques, such as Zhandry’s small-range distribu- tions [Zha12a] or Targhi and Unruh’s extraction technique [TU16]. These proof techniques choose the oracle from a careful distribution that allows for proofs to go through. However, every such proof technique always chooses a classical oracle at the beginning of the experiment, and leave the oracle essentially unchanged through the entire execution. The inability to change the oracle seems inherent, since if the proof gives the adversary different oracles during different queries, this is potentially easily detectable (even by classical adversaries)1 Constraining the oracles to be fixed functions seems to limit what can be proved using such non-recording techniques. For example, Dagdelen, Fischlin, and Gagliardoni [DFG13] show that such natural proof techniques are likely incapable of proving the security of Fiat-Shamir2. This leads to a natural question: Is it possible to record information about an adversary’s quantum query without the adversary detecting Enter Indifferentiability. The random oracle model (quantum or otherwise) assumes the adversary treats the hash function as a monolithic object. Unfortu- nately, hash functions in practice are usually built from smaller building blocks, called compression functions. If one is not careful, hash functions built in this way 1 The one exception we are aware of is Unruh’s adaptive programming [Unr15]. This proof does change the oracle adaptively, but only inputs for which adversary’s queries have only negligible “weight”. Thus, the change is not detectable. The following discussion also applies to Unruh’s technique. 2 We note that if the underlying building blocks are strengthened, Fiat-Shamir was proven secure by Unruh [Unr16] 2 are vulnerable to attacks such as length-extension attacks. Coron et al. [CDMP05] show that a hash function built from a compression function can be as good as a monolithic oracle in many settings if it satisfies a notion of indifferentiability, due to Maurer, Renner, and Holenstein [MRH04]. Roughly, in indifferentiability, an adversary A has oracle access to both h and H, and the adversary is trying to distinguish two possible worlds. In the “real world”, h is a random function, and H is built from h according to the hash function construction. In the “ideal world”, H is a random function, and h is simulated so as to be consistent with H. A hash function is indifferentiable from a random oracle if no efficient adversary can distinguish the two worlds. Coron et al.’s proof of indifferentiability for Merkle-Damgard requires the simulator to remember the queries that the adversary has made. This is actually inherent for any domain extender, by a simple counting argument discussed below. In the quantum setting, such recording presents a serious issue, as recording a query is equivalent (from the adversary’s point of view) to measuring the query. As any measurement will disturb the quantum system, such measurement may be detectable to the adversary. Note that in the case where A is interacting with a truly random h, there is no measurement happening. Therefore, if such a measurement can be detected, the adversary can distinguish the two cases, breaking indifferentiability. Example. To illustrate what might go wrong, we will use the simple example from Coron et al. [CDMP05]. Here, we will actually assume access to two independent compression functions h0, h1 : {0, 1}2n → {0, 1}n. We will define H : {0, 1}3n → {0, 1}n as H(x, y) = h1(h0(x), y), where x ∈ {0, 1}2n, y ∈ {0, 1}n. To argue that H is indifferentiable from a random oracle, Coron et al. use the following simulator S, which has access to H, and tries to implement the oracles h0, h1. S works as follows: – S keeps databases D0, D1, which will contain tuples (x, y). Db containing (x, y) means that S has set hb(x) = y. – h0 is implemented on the fly: every query on x looks up (x, y) ∈ D0, and returns y if it is found; if no such pair is found, a random y is chosen and returned, and (x, y) is added to D0. – By default, h1 is answered randomly on the fly as in h0. However, it needs to make sure that h1(h0(x), y) always evaluates to H(x, y), else it is trivial to distinguish the two worlds. Therefore, on a query (z, y), h1 will check if there is a pair (x, z) in D0 for some x. If so, it will reasonably guess that the adversary is trying to evaluate H(x, y), and respond by making a query to H(x, y). Otherwise it will resort to the default simulation. Note that by defining the simulator in this way, if the adversary ever tries to evaluate H on (x, z) by first making a query x to h0 to get y, and then making a query (y, z) to h1, the simulator will correctly set the output of h1 to H(x, z), so that the adversary will get a result that is consistent with H. However, note that it is crucial that S wrote down the queries made to h0, or else it will not know which point to query H when simulating h1. 3 Now consider a quantum adversary. A quantum query to, say, h0 will be the following operation: ∑ x∈{0,1}2n,u∈{0,1}n Îąx,u|x, u〉 7→ ∑ x∈{0,1}2n,u∈{0,1}n Îąx,u|x, u⊕ h0(x)〉 Now, imagine our simulator trying to answer queries to h0 in superposition. For simplicity, suppose this is the first query to h0, so D0 is empty. The natural approach is to just have S store its database D0 in superposition, performing a map that may look like |x, u〉 7→ |x, u⊕ y〉 ⊗ |x, y〉, where y is chosen randomly, and everything to the right of the ⊗ is the simulators state. But now consider the following query by an adversary. It sets up the uniform superposition ∑ x,u |x, u〉 and queries. In the case where h0 is a classical function, then this state becomes ∑ x,u |x, u⊕ h0(x)〉 = ∑ x,u |x, u〉 Namely, the state is unaffected by making the query. In contrast, the simulated query would result in ∑ x,u |x, u⊕ y〉 ⊗ |x, y〉 Here, the adversary’s state is now entangled with the simulator’s. It is straight- forward to detect this entanglement by applying the Quantum Fourier Transform (QFT) to the adversary’s x registers, and then measuring the result. In the case where the adversary is interacting with a random h0, the QFT will result in a 0. In the simulated case, the QFT will result in a random string. These two cases are therefore easily distinguishable. To remedy this issue, prior works in the quantum regime have abandoned on-the-fly simulation, instead opting for stateless simulation. Here, the simulator commits to a function to implement the oracle in the very beginning, and then sticks with this implementation throughout the entire experiment. Moreover, the simulator never records any information about the adversary’s query, lest the adversary detect the entanglement with the simulator. This will certainly fix the issue above, and by carefully choosing the right implementations prior works have shown how to translate many classical results into the quantum setting. However, for indifferentiability, choosing a single fixed function for h0 intro- duces new problems. Now when the adversary makes a query to h1, the simulator needs to decide if the query represents an attempt at evaluating H, and if so, it must program the output of h1 accordingly. However, without knowing what inputs the adversary has queried to h0, it seems impossible for the simulator to determine which point the adversary is interested in. For example, if the adversary queries h1 on (y, z), there will be roughly 2n possible x that gave rise to this y (since h0 is compressing). Therefore, the simulator must choose from one of 2n inputs of the form (x, z) on which to query H. To make matters even more complicated, an adversary can submit the uniform superposition ∑ x |x, 0〉, resulting in the state ∑ x |x, h0(x)〉, which causes it to 4 “learn” y = h0(x). At this point, the simulator should be ready to respond to an h1 query on (y, z) by using x, meaning the simulator must be entangled with x. Then, at some later time, the adversary can query again on the state ∑ x |x, h0(x)〉, resulting in the original state ∑ x |x, 0〉 again. The adversary can test that it received the correct state using the quantum Fourier transform. Therefore, after this later query, the simulator must be un-entangled with x. Even more complex strategies are possible, where the adversary can compute and un-compute h0 in stages, so as to try to hide what it is doing from any potential simulator. These issues are much more general than just the simple domain extender above. Indeed, even classically domain extension with a stateless simulator is impossible, by the following simple argument. Suppose there is a hash function H : {0, 1}M → {0, 1}N built from a compression function h : {0, 1}m → {0, 1}n as H = Ch for an oracle circuit C. Let L = M + log2 N, ` = m+ log2 n. Then L, ` represent the logarithm of the size of the truth tables for H,h. Since we are domain extending, we are interested in the case where Lďż˝ `. Suppose even L ≥ `+ 0.001. Suppose toward contradiction that h can be simulated statelessly, which we will represent as SimH (since the function can make H queries). Then h has a truth table of size 2`. In the real world, H agrees with Ch on all inputs; therefore in order for indifferentiability to hold, in the simulated world a uniformly random H must agree with Ch = CSim H on an overwhelming fraction of inputs. But this is clearly impossible, as it would allow us to compress the random truth table of H: simply output the truth table for SimH , along with the Îľ fraction of of input/output pairs where H and CSim H disagree. The total length of this compressed truth table is 2` + (Îľ2M )(MN) = 2` + ÎľN2L. As Îľ is negligible (and therefore much smaller than 1/N) the compressed truth table will be smaller than 2L, the size of the truth table for H. But since H is a random function its truth table cannot be compressed, reaching a contradiction. Therefore, any simulator for indifferentiability, regardless of the scheme, must inherently store information about the adversary. But the existing QROM tech- niques are utterly incapable of such recording. We therefore ask: Is indifferentiable domain extension even possible? 1.1 This Work In this work, perhaps surprisingly, we answer the question above in the affirmative. Namely, we give a new compressed oracle technique, which allows for recording the adversary’s queries in a way that the adversary can never detect. The intuition is surprisingly simple: an adversary interacting with a random oracle can be thought of as being entangled with a uniform superposition of oracles. As entanglement is symmetric, if the adversary ever has any information about the oracle, the oracle must also have information about the adversary. Therefore a simulator can always record some information about the adversary, if done carefully. We then use the technique to prove the indifferentiability of the Merkle- DamgĂĽrd construction. We believe our new technique will be of independent 5 interest; for example our technique can be used to prove the security of the Fujisaki-Okamoto transformation [FO99], and also gives very short proofs of several quantum query lower bounds. The Compressed Oracle Technique. In order to prove indifferentiability, we devise a new way of analyzing quantum query algorithms Consider an adversary interacting with an oracle h : {0, 1}m → {0, 1}n. It is well established that the usual quantum oracle mapping |x, y〉 7→ |x, y ⊕ h(x)〉 is equivalent to the “phase” oracle, which maps |x, u〉 7→ (−1)u¡h(x)|x, u〉 (we discuss this equivalence in Section 3). For simplicity, in this introduction we will focus on the phase oracle, which is without loss of generality. Next, we note that the oracle h being chosen at random is equivalent (from the adversary’s point of view) to h being in uniform superposition ∑ h |h〉. Indeed, the superposition can be reduced to a random h by measuring, and measuring the h registers (which is outside of A’s view) is undetectable to A. To put another way, the superposition over h is a purification of the adversary’s mixed state. Therefore, we will imagine the h oracle as containing ∑ h |h〉. When A makes a query on ∑ x,u Îąx,u|x, u〉, the joint system of the adversary and oracle are ∑ x,u Îąx,u|x, u〉 ⊗ ∑ h |h〉 The query introduces a phase term (−1)u¡h(x), so the joint system becomes ∑ x,u Îąx,u|x, u〉 ⊗ ∑ h |h〉(−1)u¡h(x) We normally think of the phase as being returned to the adversary, but the phase really affects the entire system, so it is equivalent to think of the phase as being added to the oracle’s state. Now, we will think of h as a vector of length 2m × n by simply writing down h’s truth table. We will think of each x, u pair as a point function Px,u which outputs u on x and 0 elsewhere. Using our encoding of functions as vectors, we can write u ¡ h(x) as Px,u ¡ h. We can therefore write the post-query state as ∑ x,u Îąx,u|x, u〉 ⊗ ∑ h |h〉(−1)h¡Px,u In general, the state after making q queries can be written as ∑ x1,...,xq,u1,...,uq Îąx1,...,xq,u1,...,uq |ψx1,...,xq,u1,...,uq 〉 ⊗ ∑ h |h〉(−1)h¡(Px1,u1 +¡¡¡+Pxq,uq ) Next, notice that by applying the Quantum Fourier transform to h, the h registers will now contain (Px1,u1 + ¡ ¡ ¡+ Pxq,uq ) mod 2. Working in the Fourier domain, we see that each query simply adds Px,u (modulo 2) to the result. In the Fourier domain, the initial state is 0. Therefore, from A’s point of view, it is indistinguishable whether the oracle for h is a random oracle, or it is implemented as follows: 6 – The oracle keeps as state a vector D ∈ {0, 1}n×2m , initially set to 0. – On any oracle query, the oracle performs the map |x, u〉 ⊗ |D〉 7→ |x, u〉 ⊗ |D ⊕ P (x, u)〉 Thus, with this remarkably simple change in perspective, the oracle can actually be implemented by recording and updating phase information about the queries being in made. We can now take this a couple steps further. Notice that after q queries, D is non-zero on at most q inputs (since it is the sum of q point functions). Therefore, we can store the database in an extremely compact form, namely the list of (x, y) pairs where y = D(x) and y 6= 0. Notice that this allows us to efficiently simulate a random oracle, without an a priori bound on the number of queries. Previously, simulating an unbounded number of queries efficiently required computational assumptions, and simulation was only computationally secure. In contrast, simu- lating random oracles exactly required 2q-wise independent functions [Zha12b] and hence required knowing q up front. We therefore believe this simulation will have independent applications for the efficient simulation of quantum oracles. We will call this the compressed Fourier oracle. We can then take our compressed Fourier oracle, and convert it back into a primal-domain oracle. Namely, for each (x, y) pair, we perform the QFT on the y registers. The result is a superposition of databases of (x,w) pairs, where w roughly represents h(x). For any pair not in the database, h(x) is implicitly a uniform superposition of inputs independent of the adversary’s view. We call this the compressed standard oracle. It intuitively represents what the adversary knows about the function h: if (x, y) is in the database then the adversary “knows” h(x) = y, and otherwise, the adversary “knows” nothing about h(x). In Section 3, we show how to directly obtain the compressed standard oracle. Applying Compressed Oracles to Indifferentiability. The compressed standard oracle offers a simple way to keep track of the queries the adversary has made. In particular, it tracks exactly the kind of information needed in the classical indifferentiability proof above, namely whether or not a particular value has been queried by the adversary, and what the value of the oracle at that point is. We use this to give a quantum indifferentiability proof for Merkle-DamgĂĽrd construction using prefix-free encodings [CDMP05]. To illustrate our ideas, consider our simple example above with h0, h1 and H. Our simulator will simulate h0 as in the compressed standard oracle, keeping a (superposition over) lists D0 of (x, y) pairs. Next, our simulator must handle h1 queries. When given a phase query |y, z〉, the simulator does the following. If first looks for a pair (x, y′) in D0 with y′ = y. If one is found, it reasonably guesses that the adversary is interested in computing H(x, z), and so it makes a query on (x, z) to H. Otherwise, it is reasonable to guess that the adversary is not trying to compute H on any input, since the adversary does not “know” any inputs to h0 that would result in a query to h1 on (y, z). While the above appears to work, we need to make sure the simulator does not disturb the compressed oracle. Unfortunately, some disturbance is necessary. 7 Indeed, determining the value of h0(x) is a measurement in the primal domain. On the other hand, the update procedure for the compressed oracles needs to decide whether or not x belongs in the database, and this corresponds to a measurement in the Fourier domain (since in the Fourier domain, h0(x) must be non-zero). These two measurements do not commute, so by the uncertainty principle it is impossible to perform both measurements perfectly. Nonetheless, we show that the errors are small. Intuitively, we observe that the simulator does not actually need to know the entire value of h0(x), just whether or not it is equal to y. We call such information a “test”. Similarly, the compressed oracle implementation just needs to know whether or not h0(x) is equal to 0, but in the Fourier domain. Now, these primal and Fourier tests still do not commute. Fortunately, they “almost” commute, which we formalize in the full version [Zha18]. The intuition is that, if a primal test of the form “is h0(x) = y” has a non-negligible chance of succeeding, h0(x) must be very “far” from the uniform superposition. This is because a uniform superposition puts an exponentially small weight on every outcome. Recall that the uniform superposition maps to h0(x) = 0 in the Fourier domain. Thus by being “far” from uniform, the Fourier domain test has a negligibly-small chance of succeeding. Therefore, one of the two tests is always “almost” determined, meaning the measurement negligibly affects the state. This means that, no matter what initial state is, the two tests “almost” commute. Thus, the simulator can perform these tests without perturbing the state significantly. This shows that h0 queries are correctly simulated; we also need to show that h1 queries are correctly simulated and consistent with H. The intuition above suggests that h1 should be consistent with H, and indeed in Section 5 we show this using a careful sequence of hybrids. Then in the full version [Zha18], we use the same ideas to prove the indifferentiability of Merkle-DamgĂĽrd. The Power of Forgetting. Surprisingly, our simulator ends up strongly resembling the classical simulator. It is natural to ask, therefore, how the simulator gets around the difficulties outlined above. First, notice that if we translate the query ∑ x,u |x, u〉 in our example to a phase query, it becomes ∑ x |x, 0〉. This query has no effect on the oracle’s state. This means the oracle remains un-entangled with the adversary, as desired. Second, a query ∑ x |x, 0〉 becomes ∑ x,u |x, u〉 for a phase query. Consider applying the query to the compressed Fourier oracle. The joint quantum system of the adversary and simulator becomes ∑ x,u 6=0 |x, u〉|{(x, u)}〉+ ∑ x |x, 0〉|{}〉 A similar expression holds for the compressed standard oracle. Note that the simulator can clearly tell (whp) that the adversary has queried on x. Later, when the adversary queries on the same state a second time, (x, u) will get mapped to (x, 0), and will hence be removed from the database. Thus, after this later query, the database contains no information about x. Hence, the adversary is un-entangled with x, and so it’s tests will output the correct value. 8 Ultimately then, the key difference between our simulator and the natural quantum analog of the classical simulator is that our simulator must be ready to forget some of the oracle points it simulated previously. By implementing h0 as a compressed oracle, it will forget exactly when it needs to so that the adversary can never detect that it is interacting with a simulated oracle. Other results We expect our compressed oracle technique will have applications beyond indifferentiability. Here, we list two additional sets of results we are able to obtain using our technique: Post-quantum security of Fujisaki-Okamoto. The Fujisaki-Okamoto transforma- tion [FO99] transforms a weak public key encryption scheme into a public key encryption scheme that is secure against chosen ciphertext attacks, in the random oracle model. Unfortunately, the classical proof does not work in quantum random oracle model, owing to similar issues with indifferentiability proofs. Namely, in one step of the proof, the reduction looks at the queries made by the adversary in order to decrypt chosen ciphertext queries. This is crucial to allow the reduction to simulate the view of the adversary without requiring the secret decryption key. But in the quantum setting, it is no longer straightforward to read the adversary’s queries without disrupting its state. Targhi and Unruh [TU16] previously modified the transformation by including an additional random oracle hash in the ciphertext. In the proof, the hash function is set to be injective, and the reduction can invert the hash in order to decrypt. In the full version [Zha18], we show how to adapt our compressed oracle technique to prove the security of the original transform without the extra hash. In addition, we show security against even quantum chosen ciphertext queries, thus proving security in the stronger model of Boneh and Zhandry [BZ13]. We note that recently, Jiang et al. [JZC+18] proved the security of the FO transformation when used as a key encapsulation mechanism. Their proof is tight, whereas ours is somewhat loose. On the other hand, we note that their proof does not apply if FO is used directly as an encryption scheme, and does not apply in the case of quantum chosen ciphertext queries. Simple Quantum Query Complexity Lower Bounds. We also show that our compressed oracles can be used to give very simple and optimal quantum query complexity lower bounds for problems for random functions, such as pre-image search, collision finding, and more generally k-SUM. Our proof strategy is roughly as follows. First, since intuitively the adversary has no knowledge of values of h outside of D, except with very small probability any successful algorithm will output points in D. Therefore it suffices to bound the number of queries required to get D to contain a pre-image/collision/k-sum. For pre-image search, we re-prove the optimal lower bound of Ω(2n/2) queries of [BBBV97], but for random functions; note that pre-image search for random functions and worst-case functions is equivalent using simple reductions. The proof appears superficially similar to [BBBV97]: we show that each query can 9 increase the “amplitude” on “good” databases by a small O(2−n/2) amount. After q queries, this amplitude becomes O(q/2n/2), which we then square to get the probability of a “good” database. The proof is only slightly over a page once the compressed oracle formalism has been given. We then re-prove the optimal collision lower bound of Ω(2n/3) queries for random functions, matching the worst case bound [AS04] and the more recent average case bound [Zha15]. Remarkably, our proof involves only a few lines of modification to the pre-image lower bound. We show that the amplitude on “good” databases increases by O( √ q × 2n/2) for each query, where the extra √ q intuitively comes from the fact that the database has size at most q, giving q opportunities for a collision every time a new entry is added to the database3. In contrast to our very simple extension, the prior collision bounds involved very different techniques and were much more complicated. Also note that prior works could not prove directly that finding collisions were hard. Instead, they show that distinguishing a function with many collisions from an injective function was hard. This then only works directly for expanding functions, which are of little interest to cryptographers. Zhandry [Zha15] shows for random functions a reduction from expanding functions to compressing functions, giving the desired lower bound for compressing functions. Our proof, in contrast, works directly with functions of arbitrary domain and range. These features suggests that our proof technique is fundamentally different than those of prior works. By generalizing our collision bound slightly, we can obtain an Ω(2n/(k+1)) lower bound for finding a set of distinct points x1, . . . , xk such that ∑ i H(xi) = 0. This bound is tight as long as n ≤ km by adapting the collision-finding algorithm of [BHT98] to this problem. Again, our proof is obtained by modifying just a few lines of the pre-image search proof. 1.2 Related Works Ristenpart, Shacham, and Shrimpton [RSS11] shows that indifferentiability is insufficient for replacing a concrete hash function with a random oracle in the setting of multi-stage games. Nonetheless, Mittelbach [Mit14] shows that indifferentiability can still be useful in these settings. Exploring the quantum analogs of these results is an interesting direction for future research. Acknowledgements This work is supported in part by NSF and DARPA. Opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of NSF or DARPA. 3 and the square root comes from the fact that the norm of the sum of q unit vectors of disjoint support is √ q 10 2 Preliminaries Distinguishing quantum states. The density matrix captures all statistical infor- mation about a mixed state. That is, if two states have the same density matrix, then they are perfectly indistinguishable. For density matrices ρ, ρ′ that are not identical, we define the trace distance as T (ρ, ρ′) = 1 2 ∑ i |Îťi|, where Îťi are the eigenvalues of ρ−ρ′. The trace distance cap- tures the maximum distinguishing advantage amongst all possible measurements of the state. We will need the following Theorem of Bennett et al. (which we have slightly improved, see full version [Zha18] for the improved proof): Lemma 1 ([BBBV97]). Let |φ〉 and |ψ〉 be quantum states with Euclidean distance Îľ. Then T (|φ〉〈φ|, |ψ〉〈ψ|) = Îľ √ 1− Îľ2/4 ≤ Îľ. We will also need the following relaxation of commuting operations: Definition 1. Let U0, U1 be unitaries over the same quantum system. We say that U0, U1 Îľ-almost commute if, for any initial state ρ, the images of ρ under U0U1 and U1U0 are at most Îľ-far in trace distance. 3 Oracle Variations Here, we describe several oracle variations. The oracles will all be equivalent; the only difference is that the oracle registers and/or the query registers are encoded in different ways between queries. We start with the usual quantum random oracle, which comes in two flavors that we call the standard oracle and phase oracle. Then we will give our compressed standard and phase oracles. Standard Oracle. Here, the oracle H : {0, 1}m → {0, 1}n is represented as its truth table: a vector of size 2m where each component is an n-bit string. The oracle takes as input a state consisting of three sets of registers: m- qubit x registers representing inputs to the function, n-qubit y registers for writing the response, and n2m-qubit H registers containing the truth table of the actual function. The x, y registers come from the adversary, and the H registers are the oracle’s state, which is hidden from the adversary accept by making queries. On basis states |x, y〉 ⊗ |H〉, the oracle performs the map |x, y〉 ⊗ |H〉 7→ |x, y ⊕H(x)〉 ⊗ |H〉 For initialization, the oracle H";"""date"",""2020-06-25T14:46:13Z"" ""pdf:PDFVersion"",""1.4"" ""xmp:CreatorTool"",""LaTeX with hyperref package"" ""pdf:docinfo:title"","""" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""subject"","""" ""pdfa:PDFVersion"",""A-1b"" ""language"",""en"" ""dc:format"",""application/pdf; version=""""A-1b"""""",""application/pdf; version=1.4"" ""pdf:docinfo:creator_tool"",""LaTeX with hyperref package"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"","""" ""xmp:CreateDate"",""2020-06-25T10:46:13Z"" ""modified"",""2020-06-25T14:46:13Z"" ""cp:subject"","""" ""pdf:docinfo:subject"","""" ""pdf:hasMarkedContent"",""false"" ""xmp:ModifyDate"",""2020-06-25T10:46:13Z"" ""pdf:docinfo:creator"","""" ""meta:author"","""" ""meta:creation-date"",""2020-06-25T14:46:13Z"" ""created"",""2020-06-25T14:46:13Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2020-06-25T14:46:13Z"" ""resourceName"",""10164789"" ""pdfaid:part"",""1"" ""Author"","""" ""producer"",""Neevia Document Converter Pro v7.1 build 94 (http://neevia.com)"" ""pdf:docinfo:producer"",""Neevia Document Converter Pro v7.1 build 94 (http://neevia.com)"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""22"",""16"",""28"",""9"",""15"",""0"",""1"",""31"",""22"",""17"",""55"",""24"",""47"",""28"",""84"",""38"",""5"",""16"",""3"",""27"",""9"",""23"",""15"",""11"",""0"",""0"",""0"" ""Keywords"","""" ""access_permission:modify_annotations"",""true"" ""dc:creator"","""" ""dcterms:created"",""2020-06-25T14:46:13Z"" ""Last-Modified"",""2020-06-25T14:46:13Z"" ""dcterms:modified"",""2020-06-25T14:46:13Z"" ""title"","""" ""xmpMM:DocumentID"",""uuid:1e286fd3-b94e-11ea-0000-f447dbd208cf"" ""Last-Save-Date"",""2020-06-25T14:46:13Z"" ""pdf:docinfo:keywords"","""" ""pdf:docinfo:modified"",""2020-06-25T14:46:13Z"" ""meta:save-date"",""2020-06-25T14:46:13Z"" ""Content-Length"",""288723"" ""Content-Type"",""application/pdf"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"","""" ""pdfaid:conformance"",""B"" ""pdf:producer"",""Neevia Document Converter Pro v7.1 build 94 (http://neevia.com)"" ""dc:subject"","""" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""30"" ""pdf:hasXMP"",""true"" ""pdf:charsPerPage"",""2157"",""2791"",""2594"",""2326"",""2635"",""2060"",""2697"",""2648"",""2657"",""2267"",""2279"",""2535"",""2076"",""1908"",""2199"",""1992"",""1917"",""1758"",""1799"",""2026"",""2290"",""2245"",""1959"",""2103"",""1834"",""1954"",""2253"",""2088"",""2341"",""1594"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""meta:keyword"","""" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2020-06-25T14:46:13Z"" ";https://scholar.google.com/scholar?start=590&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094579-813;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[PDF][PDF] June 5, 2020 Original release: June 2019;A Klages;Mundt, A Minca  arXiv preprint arXiv:1906.02152, 2019 cointhinktank.com;;"… We further remark on oracle/governance manipulation in Section 7 … Most crypto-fiat pairs are through Bitcoin or Ether, which act as a gateway to other cryptoassets … moving assets between a number of exchanges and can take considerable time to confirm on the blockchain …";Autres articles;Version HTML;[PDF] cointhinktank.com;https://cointhinktank.com/upload/academic%20Deleveraging%20Spirals%20and%20STABLECOIN%20attacks.pdf;" (In)Stability for the Blockchain: Deleveraging Spirals and Stablecoin Attacks∗ Ariah Klages-Mundt† Andreea Minca‡ June 5, 2020 Original release: June 2019 Abstract We develop a model of stable assets, including noncustodial stablecoins backed by cryp- tocurrencies. Such stablecoins are popular methods for bootstrapping price stability within public blockchain settings. We derive fundamental results about dynamics and liquidity in stablecoin markets, demonstrate that these markets face deleveraging feedback effects that cause illiquidity during crises and exacerbate collateral drawdown, and characterize stable dynamics of the system under particular conditions. From these insights, we sug- gest design improvements that aim to improve long-term stability. We also introduce new attacks that exploit arbitrage-like opportunities around stablecoin liquidations. Using our model, we demonstrate that these can be profitable. These attacks may induce volatility in the ‘stable’ asset and cause perverse incentives for miners, posing risks to blockchain consensus. 1 Introduction In 2009, Bitcoin [19] introduced a new notion of decentralized cryptocurrency and trustless transaction processing. This is facilitated by blockchain, which introduced a new way for mis- trusting agents to cooperate without trusted third parties. This was followed by Ethereum [22], which introduced generalized scripting functionality, allowing ‘smart contracts’ that execute al- gorithmically in a verifiable and somewhat trustless manner. Cryptocurrencies promise notions of cryptographic security, privacy, incentive alignment, digital usability, and open accessibility while removing most facets of counterparty risk. However, as these cryptocurrencies are, by their nature, unbacked by governments or physical assets, and the technology is quite new and developing, their prices are subject to wild volatility, which affects their usability. A stablecoin is a cryptocurrency with an economic structure built on top of blockchain that aims to stabilize the purchasing power of the coin. A true stablecoin, often referred to as the “Holy Grail of crypto”, would offer the benefits of cryptocurrencies without the unusable volatility and remains elusive. A more tangible goal is to design a stablecoin that maximizes the probability of remaining stable long-term. If one can establish guarantees for the stability of such a stablecoin, this would be a significant step toward forming a robust decentralized financial system and facilitating economic adoption of cryptocurrencies. ∗We thank David Easley, Steffen Schuldenzucker, Christopher Chen, Sergey Ivliev, Tomasz Stanczak, and Sid Shekhar for helpful discussions. All errors are our own. AK and AM are funded through NSF CAREER award #1653354. AK thanks Lykke, Binance, and Amherst College for additional financial support. †Cornell University, Center for Applied Mathematics ‡Cornell University, Operations Research & Information Engineering 1 ar X iv :1 90 6. 02 15 2v 2 [ q- fi n. T R ] 4 J un 2 02 0 Cryptocurrency volatility Cryptocurrencies face difficult technological, usability, and reg- ulatory challenges to be successful long-term. Many cryptocurrency systems develop different approaches to solving these problems. Even assuming the space is long-term successful, there is large uncertainty about the long-term value of individual systems. The value of these systems depends on network effects: value changes in a nonlinear way as new participants join. In concrete terms, the more people who use the system, the more likely it can be used to fulfill a given real world transaction. The success of a cryptocurrency relies on a mass of agents–e.g., consumers, businesses, and/or financial institutions–adopting the system for economic transactions and value storage. Which systems will achieve this adoption is highly uncertainty, and so current cryptocurrency positions are very speculative bets on new technology. Further, cryptocurrency markets face limited liquidity and market manipulation. In addition, the decentralized control and privacy features of cryptocurrencies can be at odds with desires of governments, which introduces further uncertainty around attempted interventions in the space. These uncertainties drive price volatility, which feeds back into fundamental usability prob- lems. It makes cryptocurrencies unusable as short-term stores of value and means of payment, which increases the barriers to adoption. Indeed, today we see that most cryptocurrency trans- actions represent speculative investment as opposed to typical economic activity. Stablecoins Stablecoins aim to bootstrap price stability into cryptocurrencies as a stop-gap measure for adoption. Current projects take one of two forms: • Custodial stablecoins rely on trusted institutions to hold reserve assets off-chain (e.g., $1 per coin). This introduces counterparty risk that cryptocurrencies otherwise solve. • Noncustodial (or decentralized) stablecoins create on-chain risk transfer markets via complex systems of algorithmic financial contracts backed by volatile cryptoassets. We focus on noncustodial stablecoins and, more generally, the stable asset and risk transfer markets that they represent. Noncustodial systems are not well understood whereas custo- dial stablecoins can be interpreted using existing well-developed financial literature. Further, noncustodial stablecoins operate in the public/permissionless blockchain setting, in which any agent can participate. In this setting, malicious agents can participate in stablecoin systems. As we will see, this can introduce new economic attacks. 1.1 Noncustodial (decentralized) stablecoins The noncustodial stablecoins that we consider create systems of contracts on-chain with the following features encoded in the protocol. We refer to these as DStablecoins. • Risk is transferred from stablecoin holders to speculators. Stablecoin holders receive a form of price insurance whereas speculators expect a risky return from a leveraged position.1 • Collateral is held in the form of cryptoassets, which backs the stable and risky positions. • An oracle provides pricing information from off-chain markets. • A dynamic deleveraging process balances positions if collateral value deviates too much. • Agents can change their positions through some pre-defined process. 1‘Leverage’ means that the speculator holds > 1× their initial assets but faces new liabilities. 2 These systems are noncustodial (or decentralized) because the contract execution and collateral are all completely on-chain; thus they potentially inherit all of the benefits of cryptocurrencies, such as minimization of counterparty risk. DStablecoins are variants on contracts for difference, which we describe next. The risk transfer typically works by setting up a tranche structure in which losses (or gains) are borne by the speculators and the stablecoin holder holds an instru- ment like senior debt.2 There are also other non-collateralized (or algorithmic) stablecoins–for a discussion of these, see [4]. We don’t consider these directly in this paper; however, we discuss in Section 7 how our model can accommodate these systems as well. Contract for difference Two parties enter an overcollateralized contract, in which the spec- ulator pays the buyer the difference (possibly negative) between the current value of a risky asset and its value at contract termination.3 For example, a buyer might enter 1 Ether into the contract and a speculator might enter 1 Ether as collateral. At termination, the contract Ether is used to pay the buyer the original dollar value of the 1 Ether at the time of entry. Any excess goes to the speculator. If the contract approaches undercollateralization (if Ether price plummets), the buyer can trigger early settlement or the speculator can add more collateral. Variants on contracts for difference DStablecoins differ from basic contracts for difference in that (1) the contracts are multi-period and agents can change their positions over time, (2) the positions are dynamically deleveraged according to the protocol, and (3) settlement times are random and dependent on the protocol and agent decisions. The typical mechanics of these contracts are as follows: • Speculators lock cryptoassets in a smart contract, after which they can create new sta- blecoins as liabilities against their collateral up to a threshold. These stablecoins are sold to stablecoin holders for additional cryptoassets, thus leveraging their positions. • At any time, if the collateralization threshold is surpassed, the system attempts to liqui- date the speculator’s collateral to repurchase stablecoins/reduce leverage. • The stablecoin price target is provided by an oracle. The target is maintained by a dynamic coin supply based on an ‘arbitrage’ idea. Notably, this is not true arbitrage as it is based on assumptions about the future value of the collateral. – If price is above target, speculators have increased incentive to create new coins and sell them at the ‘premium price’. – If price is below target, speculators have increased incentive to repurchase coins (reducing supply) to decrease leverage ‘at a discount’. • Stablecoins are redeemable for collateral through some process. This can take the form of global settlement, in which stakeholders can vote to liquidate the entire system, or direct redemption for individual coins. Settlement can take 24 hours-1 week. • Additionally, the system may be able to sell new ownership/decision-making shares as a last attempt to recapitalize a failing system – e.g., the role of MKR in Dai (see [17]). 2Intuitively, these are like collateralized debt obligations (CDOs) with the important addition of dynamic deleveraging according to the rules of the protocol. As we will see, it is critical to understand deleveraging spirals as they affect the senior tranches. 3Intuitively, this is similar to a forward contract except that the price is only fixed in fiat terms while payout is in the units of the underlying collateral. 3 https://makerdao.com/dai Price (USD) 24 h Vo l NuBits Charts Jan '15 Jul '15 Jan '16 Jul '16 Jan '17 Jul '17 Jan '18 Jul '18 2015 2016 2017 2018 $0 $0.500000 $1.00 0 Zoom 1d 7d 1m 3m 1y YTD ALL From Sep 24, 2014 To Dec 12, 2018 Market Cap Price (USD) Price (BTC) 24h Vol coinmarketcap.com (a) NuBits trades at cents on the dollar. Price (USD) 24 h Vo l bitUSD Charts 17. Sep 1. Oct 15. Oct 29. Oct 12. Nov 26. Nov 10. Dec 2016 2018 $0.600000 $0.800000 $1.00 0 Zoom 1d 7d 1m 3m 1y YTD ALL From Sep 12, 2018 To Dec 12, 2018 Market Cap Price (USD) Price (BTC) Price (BTS) 24h Vol coinmarketcap.com (b) BitUSD has broken its USD peg. Figure 1: Depeggings in decentralized stablecoins. DStablecoin risks DStablecoins face two substantial risks: 1. Risk of market collapse, 2. Oracle/governance manipulation. Our model in this paper focuses on market collapse risk. We further remark on oracle/governance manipulation in Section 7. Existing DStablecoins Examples of noncustodial stablecoins include Dai and bitUSD (as well as other BitShares Market Pegged Assets). In Steem Dollars, Steem market cap is essen- tially collateral. Steem dollars can be redeemed for $1 worth of newly minted Steem, and so redemptions affect all Steem holders via inflation. Notably, unlike custodial stablecoins, Dai is not currently considered as emoney or payment method subject to the Payment Services Directive in the European Union since there is no single issuer or custodian. Thus it does not have AML/KYC requirements. In an academic white paper, [5] proposed a variation on cryptocurrency-collateralized DStable- coin design. It standardizes the speculative positions by restricting leverage to pre-defined bounds using automated resets. A consequence of these leverage resets is that stablecoin hold- ers are partially liquidated from their positions during downward resets–i.e., when leverage rises above the allowed band due to a cryptocurrency price crash. This compares with Dai, in which stablecoin holders are only liquidated in global settlement. An effect of this difference is that, in order to maintain a stablecoin position in the short-term, stablecoin holders need to re-buy into stablecoins (at a possibly inflated price) after downward resets. Of the many designs, it is unclear which deleveraging method would lead to a system that survives longer. This motivates us to study the dynamics of DStablecoin systems. Noncustodial stablecoins have faced surprising levels of volatility and failure. As discussed in [11], Nubits has traded at cents on the dollar since 2018 (Figure 1a), and bitUSD and Steem Dollars have broken their USD pegs periodically (Figure 1b). Since releasing the original form of this paper, massive liquidation events around Black Thursday in March 2020 resulted in a substantial depegging in Dai [16]. Despite these problems, there is a large interest to develop new noncustodial stablecoins. For instance, Basis raised $133m in 2018 (although it has since closed down), two other projects raised $32m each, and many other projects raised several million [4]. 4 https://bitshares.org/technology/price-stable-cryptocurrencies https://www.steem.center/index.php?title=Steem_Dollar_(SBD) https://nubits.com/ https://www.basis.io/ 1.2 Relation to prior work Stablecoins are active cryptocurrencies, for which pre-existing models do not understand how the collateral rule enforces stability and how the interaction of different agents can affect sta- bility. With the notable exception of [5], rigorous mathematical work on noncustodial stablecoins is lacking. They applied option pricing theory to valuing tranches in their proposed DStablecoin design using advanced PDE methods. In doing so, they need the simplifying assumption that DStablecoin payouts (e.g., from interest/fee payments and liquidations from leverage resets) are exogenously stable with respect to USD. This may circularly cause stability. In reality, these payouts are made in volatile cryptocurrency (ETH). From these ETH payments, stablecoin holders can 1. Hold ETH and so take on ETH exposure, 2. Use the ETH to re-buy into stablecoin, likely at an inflated price as it endogenously increases demand after a supply contraction, 3. Convert the ETH to fiat, which requires waiting for block confirmations in an exchange (possibly hours) during times when ETH is particularly volatile and paying costs for fiat conversion (fees, potentially taxes). Notably, this is not available in all jurisdictions. To maintain a DStablecoin position, stablecoin holders need to re-buy into DStablecoins at each reset at endogenously higher price. Stablecoin holders additionally face the risk that the size of the DStablecoin market collapses such that the position cannot be maintained (and so ends up holding ETH). As no stable asset models exist to understand these endogenous effects, the analysis can’t be easily extended using the traditional financial literature.4 Our focus in this paper is complementary to understand these endogenous stable asset effects. [14] studied the evolution of custodial stablecoins. In the context of central counterparty clearinghouses, the default fund contributions, margin requirements and participation incentives have been studied in, e.g., [6], [1], and [8]. The critical question in this area is understanding the effects of a liquidation policy of a member’s portfolio in the case of a significant event. The counterpart of this in a decentralized setting is understanding the impact of DStablecoin deleveraging on system stability. Stablecoin holders bear some resemblance to agents in currency peg and international finance models, e.g., [18] and [9]. In these models, the market maker is essentially the government but is modeled with mechanical behavior and is not a player in the game. For instance, in [9], devaluation is modeled by a simple exogenous threshold rule: the government abandons the peg if the net demand for currency breaches the threshold and is otherwise committed to maintaining the peg. In contrast to currency markets, no agents are committed to maintaining the peg in DStablecoin markets. The best we can hope is that the protocol is well-designed and that the peg is maintained with high probability through the protocol’s incentives. The role of government is replaced by decentralized speculators, who issue and withdraw stablecoins in a way to optimize profit. A fully strategic model would be a complicated dynamic game– these tend to be intractable and, indeed, are avoided in the currency peg literature in favor of a sequence of one period games. We enable a more endogenous modeling of speculators’ optimization problems under a variety of risk constraints. Our model is a sequence of one- period optimization problems, in which dynamic coupling comes through the risk constraints. 4A secondary issue with their continuous model is that these systems are inherently discontinuous due to the discrete nature of incorporating blockchain transactions into blocks. Thus resets can occur beyond the set thresholds. 5 DStablecoin speculators are similar to market makers in market microstructure models (e.g., [20]). Like classical market microstructure, we do have a multi-period system with multiple agents subject to leverage constraints that take recurring actions according to their objectives. In contrast, in the DStablecoin setting, we do not have a truly stable asset that is efficiently and instantaneously available. Instead, agents make decisions that endogenously affect the price of the ‘stable’ asset and affect the agents’ future decisions and incentives to participate in a non-stationary way. In turn, the (in)stability results from the dynamics of these decisions. Since the initial release of our paper in June 2019, [13] has described a complementary model of noncustodial stablecoins related to the model in this paper. That paper explores a different model of liquidation structure that affects speculator decision-making and applies martingale methods to analytically characterize stability. In contrast, in this paper we derive stability results about a simpler model that is more amenable to simulations, which we perform, and demonstrate stablecoin attacks that can arise from profitable bets against other agents. 1.3 This paper We develop a dynamic model for noncustodial stablecoins that is complex enough to take into account the feedback effects discussed above and yet remains tractable. Our model can be interpreted as a market microstructure model in this new type of asset market. Our model involves agents with different risk profiles; some desire to hold stablecoins and others speculate on the market. These agents solve optimization problems consistent with a wide array of documented market behaviors and well-defined financial objectives. As is common in the literature on market microstructure and currency peg games, these agents’ objectives are myopic. These objectives are coupled for non-myopic risk using a flexible class of rules that are widely established in financial markets; these allow us to model the effects of a range of cyclic and counter-cyclic behaviors. The exact form of these rules is selected and self-imposed by speculators to match their desired responses and not part of the stablecoin protocol. Thus well-established manipulation of similar rules as applied to traditional financial regulation is not a problem here. Our model goes largely beyond a one-period model. We introduce this model with supporting rationale for design choices in Section 2. Using our model, we make the following contributions: • We derive fundamental results bout dynamics and liquidity in our model (Section3). • We demonstrate that stablecoins face deleveraging feedback effects that may cause illiq- uidity during crises and exacerbate collateral drawdown (Section 3.3). • We characterize stable dynamics of the system under certain conditions that guarantee no liquidity crash (Section 4) and show instability can occur in simulations outside of this setting (Section 4.2). • We simulate a wide range of market behaviors and find that speculator behavior has a large effect on realized volatilities, but that stablecoin failure times are largely determined by underlying asset movements (Section 5). • We describe new attacks that exploit arbitrage-like opportunities around stablecoin liq- uidations (Section 6) We relate these results to historicla stablecoin events, apply these insights to suggest design improvements that aim to improve long-term stability. Based on these insights, we also sug- gest that interactions between multiple speculators and attackers may be the most interesting relationships to explore in more complex models. 6 2 Model Our model couples a number of variables of interest in a risk transfer market between stablecoin holders and speculators. The stablecoin protocol dictates the logic of how agents can interact with the smart contracts that form the system; the design of this influences how the market plays out. Many DStablecoin designs have been proposed. We set up our model to emulate a DStablecoin protocol like Dai with global settlement, but the model is adaptable to different design choices. Note that our model is formulated with very few parameters given the problem complexity. Our model builds on the model of traditional financial markets in [2] but is new in design by incorporating endogenous stablecoin structure. In the model, we assume that the underlying consensus layer (e.g., blockchain) works well to confirm transactions without censorship or attack and that the system of contracts executes as intended. Agents Two agents participate in the market. • The stablecoin holder seeks stability and chooses a portfolio to achieve this. • The speculator chooses leverage in a speculative position behind the DStablecoin. Stablecoin holders are motivated by risk aversion, trade limitations, and budget constraints. They are inherently willing to hold cryptoassets. In the current setting, this means they are likely either traders looking for short-term stability, users from countries with unstable fiat currencies, or users who are using cryptocurrencies to move money across borders. In the future, cryptocurrencies may be more accepted in economic exchange. In this case, stablecoin holders may be ordinary consumers who face risk aversion and budgeting for required consumption. Speculators are motivated by (1) access to leverage and (2) security lending to borrow against their Ether holdings without triggering tax incidence or giving up Ether ownership. In order to begin participating, speculators need to either have confidence in the future of cryptocurrencies, think they can make money trading the markets, or face unusually high tax rates (or other barriers) that make security lending cheaper than outright selling assets. The model in this paper focuses on the first motivation. We propose an extension to the model that considers the second motivation. Assets There are two assets. For simplicity, we give these assets specific names; however, they could be abstracted to other cryptocurrencies or outside of a cryptocurrency setting. • Ether: high risk asset whose USD market prices pEt are exogenous • DStablecoin: a ‘stable’ asset collateralized in Ether whose USD price pDt is endogenous Notably, a large DStablecoin system may have endogenous amplification effects on Ether price, similarly to how CDOs affected underlying assets in the 2008 financial crisis. We discuss this further in Section 7 but leave formal modeling of this to future work. There are several barriers for trading between crypto and fiat, which motivate our choice of assets. Most crypto-fiat pairs are through Bitcoin or Ether, which act as a gateway to other cryptoassets. Trading to fiat can involve moving assets between a number of exchanges and can take considerable time to confirm on the blockchain. Trading to a stablecoin is comparatively simple. Trading to fiat can also trigger more clear tax incidence. Additionally, some countries have imposed strict capital controls on trading between fiat and crypto. 7 Model outline At t = 0, the agents have endowments and prior beliefs. In each period t: 1. New Ether price is revealed 2. Ether expectations are updated 3. Stablecoin holder decides portfolio weights 4. Speculator, seeing demand, decides leverage 5. DStablecoin market is cleared 2.1 Stablecoin holder The stablecoin holder starts with an initial endowment and decides portfolio weights to attain the desired stability. The following table defines the agent’s state variables. Variable Definition n̄t Ether held at time t m̄t DStablecoin held at time t wt Portfolio weights chosen at time t The stablecoin holder weights its portfolio by wt. We denote the components as wEt and wDt for Ether and DStablecoin weights respectively. The stablecoin holder’s portfolio value at time t is At = n̄tp E t + m̄tp D t = n̄t−1p E t + m̄t−1p D t . Given weights, n̄t and m̄t will be determined based on the stablecoin clearing price pDt . The basic results in Section 3 hold generally for any wt ≥ 0 (i.e., there is no shorting). In this case, wt could be chosen, e.g., from Sharpe ratio optimization, mean-variance optimization, or Kelly criterion (among others). In Sections 4 & 5, in order to focus on the effects of speculator decisions, we simplify the stablecoin holder as exogenous with unit price-elastic demand. In this case, DStablecoin demand is constant in dollar terms. 2.2 Speculator The speculator starts with an endowment of Ether and initial beliefs about Ether’s returns and variance and decides leverage to maximize expected returns subject to protocol and self-imposed constraints. The following table defines variables and parameters for the speculator. Variable Definition nt Ether held at time t rt Expected return of Ether at time t σ2 t Expected variance of Ether at time t Lt Total stablecoins issued at time t ∆t Change to stablecoin supply at time t Ν̃t Leverage bound at time t Parameter Definition Îł Memory parameter for return estimation δ Memory parameter for variance estimation β Collateral liquidation threshold Îą Inverse measure of riskiness b Cyclicality parameter 8 2.2.1 Ether expectations The speculator updates expected returns rt, log-returns Âľt (used for the variance estimation), and variance σ2 t based on observed Ether returns as follows: rt = (1− Îł)rt−1 + Îł pEt pEt−1 , Âľt = (1− δ)Âľt−1 + δ log pEt pEt−1 , σ2 t = (1− δ)σ2 t−1 + δ ( log pEt pEt−1 − Âľt )2 . (1) For fixed memory parameters Îł, δ (lower memory parameter = longer memory), these are ex- ponential moving averages consistent with the RiskMetrics approach commonly used in finance [15]. For sufficiently stepwise decreasing memory levels and assuming i.i.d. returns, this process will converge to the true values supposing they are well-defined and finite. In reality, specula- tors don’t outright know the Ether return distribution and, as we will see in the simulations, the stablecoin system dynamics occur on timescales shorter than required for convergence of expectations. Thus, we focus on the simpler case of fixed memory parameters. Note that Îł 6= δ may be reasonable. Current cryptocurrency markets are not very price efficient, and so traders might reasonably take into account momentum when estimating returns while using a wider memory for estimating covariance. We additionally consider the case in which the speculator knows the Ether distribution outright and Îł = δ = 0. This is consistent with a rational expectations standpoint but ignores how the speculator arrives at that knowledge. 2.2.2 Optimize leverage: choose ∆t The speculator is liable for Lt DStablecoins at time t. At each time t, it decides the number of DStablecoins to create or repurchase. This changes the stablecoin supply Lt = Lt−1 + ∆t. If ∆t > 0, the speculator creates and sells new DStablecoin in exchange for Ether at the clearing price. If ∆t < 0, the speculator repurchases DStablecoin at the clearing price. Strictly speaking, the speculator will want to maximize its long-term withdrawable value. At time t, the speculator’s withdrawable value is the value of its ETH holdings minus collateral required for any issued stablecoins: ntp E t − βLt. Maximizing this is not amenable to a myopic view, however, as maximizing the next step’s withdrawable value is only a good choice when the speculator intends to exit in the next step. Instead, we frame the speculator’s objective as maximizing expected equity: ntp E t −E[pD]Lt. In this, the speculator expects to be able to settle liabilities at a long-term expected value of E[pD]. The market price of DStablecoin will fluctuate above and below $1 naturally depending on prevailing market conditions. The actual expected value is nontrivial to compute as it depends on the stability of the DStablecoin system. For individual speculators with small market power, we argue that E[pD] = 1 is a an assumption they may realistically make, as we discuss further below. This is additionally the value realized in the event of global settlement. We suggest that this optimization is a candidate for ‘honest’ behavior of a speculator as it is consistent with the speculator acting on perceived arbitrage in mispricings of DStablecoin from the peg. In essence, the speculator expects to increase (reduce) leverage ‘at a discount’ when pDt is above (below) target. This is the typically cited mechanism by which these systems maintain their peg and thus how the designers intend for speculators to behave. However, this 9 assumes that pDt is sufficiently stable/mean-reverting to $1 and so this behavior may not in fact be a best response. Aggregate vs. individual speculators In our model, the single speculative agent, which is not a price-taker, is intended to reflect the aggregate behavior of many individual speculators, each with small market power.5 In a normal liquid market, an individual speculator would be able to repurchase DStablecoins at dollar cost and walk away with the equity. By maximizing equity, the aggregate speculator considers its liabilities to be $1 per DStablecoin. This may turn out to be untrue during liquidity crises as the repurchase price may be higher. In our model, speculator’s don’t know the probability of crises and instead account for this in a conservative risk constraint. Formal optimization problem The speculator chooses ∆t by maximizing expected equity in the next period subject to a leverage constraint: max ∆t rt ( nt−1p E t + ∆tp D t (Lt) ) − Lt s.t. ∆t ∈ Ft where Ft is the feasible set for the leverage constraint. This is composed of two separate constraints: (1) a liquidation constraint that is fundamental to the protocol, and (2) a risk constraint that encodes the speculator’s desired behavior. Both are introduced below. If the leverage constraint is unachievable, we assume the speculator enters a ‘recovery mode’, in which it tries to maximize its chances of returning to the normal setting. In this case, it solves the optimization using only the liquidation constraint. If the liquidation constraint is unachievable, the DStablecoin system fails with a global settlement. 2.2.3 Liquidation constraint: enforced by the protocol The liquidation constraint is fundamental to the DStablecoin protocol. A speculator’s position undergoes forced liquidation at time t if either (1) after pEt is revealed, nt−1p E t < βLt−1, or (2) after ∆t is executed, ntp E t < βLt. The speculator aims to control against this as liquidations can occur at unfavorable prices and are associated with fees in existing protocols (we exclude these fees from our simple model, but they can be easily added). Define the speculator’s leverage as the β-weighted ratio of liabilities to assets6 Îťt = β ¡ liabilities assets . The liquidation constraint is then Îťt ≤ 1. 2.2.4 Risk constraint: self-imposed speculator behavior The risk constraint encodes the speculator’s desired behavior into the model. We assume no specific type for the risk constraint in our analytical results, which are generic. For our simulations, we explore a variety of speculator be";"""date"",""2020-06-05T00:42:02Z"" ""pdf:PDFVersion"",""1.5"" ""pdf:docinfo:title"","""" ""xmp:CreatorTool"",""LaTeX with hyperref package"" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""subject"","""" ""language"",""en"" ""dc:format"",""application/pdf; version=1.5"" ""pdf:docinfo:creator_tool"",""LaTeX with hyperref package"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"","""" ""modified"",""2020-06-05T00:42:02Z"" ""cp:subject"","""" ""pdf:docinfo:subject"","""" ""pdf:hasMarkedContent"",""false"" ""pdf:docinfo:creator"","""" ""PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) kpathsea version 6.2.2"" ""meta:author"","""" ""trapped"",""False"" ""meta:creation-date"",""2020-06-05T00:42:02Z"" ""created"",""2020-06-05T00:42:02Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2020-06-05T00:42:02Z"" ""resourceName"",""academic%20Deleveraging%20Spirals%20and%20STABLECOIN%20attacks.pdf"" ""Author"","""" ""producer"",""pdfTeX-1.40.17"" ""pdf:docinfo:producer"",""pdfTeX-1.40.17"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""3"",""5"",""6"",""2"",""4"",""0"",""0"",""1"",""10"",""0"",""0"",""0"",""0"",""1"",""0"",""0"",""0"",""0"",""0"",""7"",""13"",""27"",""12"" ""Keywords"","""" ""access_permission:modify_annotations"",""true"" ""dc:creator"","""" ""dcterms:created"",""2020-06-05T00:42:02Z"" ""Last-Modified"",""2020-06-05T00:42:02Z"" ""dcterms:modified"",""2020-06-05T00:42:02Z"" ""title"","""" ""Last-Save-Date"",""2020-06-05T00:42:02Z"" ""pdf:docinfo:keywords"","""" ""pdf:docinfo:modified"",""2020-06-05T00:42:02Z"" ""meta:save-date"",""2020-06-05T00:42:02Z"" ""pdf:docinfo:custom:PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) kpathsea version 6.2.2"" ""Content-Length"",""1407515"" ""Content-Type"",""application/pdf"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"","""" ""dc:subject"","""" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""31"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""2605"",""2941"",""3041"",""2596"",""3224"",""3111"",""2875"",""1740"",""2795"",""2571"",""2526"",""1976"",""1360"",""2844"",""2597"",""1407"",""2594"",""2549"",""2778"",""2291"",""1751"",""2571"",""3157"",""3410"",""3176"",""2432"",""1835"",""1712"",""1354"",""1022"",""595"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""pdf:docinfo:trapped"",""False"" ""meta:keyword"","""" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2020-06-05T00:42:02Z"" ";https://scholar.google.com/scholar?start=630&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094602-912;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Truffle tests for free--Replaying Ethereum smart contracts for transparency;P Hartel, M van Staalduinen ; arXiv preprint arXiv:1907.09208, 2019 arxiv.org;;"… summary The Ethereum blockchain is essentially a globally replicated public database … Over 10 million smart contracts have been deployed on the Ethereum blockchain. Executing a method of a smart contract generates a transaction that is also stored on the blockchain …";Cité 3 fois;Les 6 versions;[PDF] arxiv.org;https://arxiv.org/pdf/1907.09208;" ARTICLE TYPE Truffle tests for free - Replaying Ethereum smart contracts for transparency Pieter Hartel1 | Mark van Staalduinen2 1iTRust, Singapore University of Technology and Design, Singapore, ORCID 0000-0002-0411-0421 2TNO-SEA, The Netherlands Organisation for Applied Scientific Research, Singapore, ORCID 0000-0001-9716-3815 Correspondence Email: pieter_hartel@sutd.edu.sg Funding This work was supported in part by the National Research Foundation (NRF), Prime Minister’s Office, Singapore, under its National Cybersecurity R&D Programme (Award No. NRF2016NCR-NCR002-028) and administered by the National Cybersecurity R&D Directorate. summary The Ethereum blockchain is essentially a globally replicated public database. Pro- grams called smart contracts can access this database. Over 10 million smart contracts have been deployed on the Ethereum blockchain. Executing a method of a smart contract generates a transaction that is also stored on the blockchain. There are over 1 billion Ethereum transactions to date. Smart contracts that are transparent about their function are more successful than opaque contracts. We have there- fore developed a tool (ContractVis) to explore the transparency of smart contracts. The tool generates a replay script for the historic transactions of a smart contract. The script executes the transactions with the same arguments as recorded on the blockchain, but in a minimal test environment. Running a replay script provides insights into the contract, and insights into the blockchain explorer that was used to retrieve the contract and its history. We provide five concrete recommendations for blockchain explorers like Etherscan to improve the transparency of smart contracts. KEYWORDS: Blockchain, smart contracts, Ethereum, testing 1 INTRODUCTION Software transparency is defined as the condition that all functions of software are disclosed to its users1. Most software is complex, which makes it easy for developers to hide specific functions, either deliberately or inadvertently2. This complexity reduces transparency. In this paper we study blockchain-related software, and in particular smart contracts on Ethereum, written in Solidity. Smart contracts on Ethereum are not normally complex3, which should improve their transparency. Ethereum smart contracts execute on a complex infrastructure, the backbone of which, the blockchain, is a globally replicated data structure that is available for public scrutiny. This should also contribute to transparency of the infrastructure4. One of the tools commonly used for the analysis of the public blockchain is the blockchain explorer. It interprets the blockchain and shows the complete history of every contract ever made. The most prominent blockchain explorer for Ethereum is Etherscan. In addition to the standard features of a blockchain explorer, such as listing blocks and transactions, Etherscan allows developers to upload the source code of a smart contract. Etherscan then verifies that the bytecode that is deployed on the blockchain can be reproduced by compiling the uploaded source. This allows the user of a verified smart contract to inspect the source code of the contract. But what if the user is not able to audit the source code? An alternative approach would be to deploy sophisticated program analysis tools to analyse the contract. Such approaches work with abstractions that must be proved sound. We discuss the merits of the most prominent approaches in Section 7. 1 ar X iv :1 90 7. 09 20 8v 1 [ cs .S E ] 2 2 Ju l 2 01 9 Our approach to analyse contracts is a different one. We propose to “Try the simplest thing first”. By this we mean executing the contract in a minimal testing environment, and then to compare the execution results to the historic execution results of the contract on the blockchain. We will work with the Solidity source of a smart contract. It would be possible to decompile something resembling source code from bytecode but this will never be as transparent as the original source because comments cannot be recovered by decompilation. We use standard tools to execute smart contracts, which means that soundness is not an issue. We have developed a tool that generates a test script for a verified smart contract from its historic transactions on the blockchain. If the contract fails, it must depend either on other contracts, or on the infrastructure. This is evidence of opacity. In theory it is possible to discover the dependencies of a smart contract by analysing the blockchain. However, current blockchain explorers do not disclose all dependencies. This made it necessary to develop ContractVis to discover (a) all dependencies, and (b) the extent to which dependencies hide functions of smart contracts, thereby reducing transparency. The tool can be used in three different ways. Firstly, when a test is executed in the minimal test environment, the historic transactions are replayed. If the contract does not have any dependencies on other contracts, or on the infrastructure, it will successfully execute. This is evidence of transparency. Secondly, when the contract, the test, and / or the configuration of the environment are changed prior to replaying, we can run experiments. For example we can explore what-if questions, such as what if the time stamp of the current block is a sequence (e.g. 1,2,3)? Would our lottery contract still be fair? Thirdly, a generated test can be used as a regression test in further development of the contract, or as input to other testing tools, such as fuzzers and mutators. Debuggers and fuzzers can also replay smart contracts. The Truffle development framework (See http://truffleframework.com) represents the state-of-the-art in smart contract debugging. By specifying the unique hash of a transaction to the command truffle debug it is possible to replay an existing transaction on the blockchain, stepping into and over calls, single-stepping the execution of the bytecode etc. Other development environments offer similar facilities. However, debuggers usually do not generate test scripts that developers can experiment with, hence exploring what-if questions is infeasible with existing debuggers. Fuzzers5 generate tests with well-chosen, random inputs to drive the contract into an error state. The developer can then use the information about the inputs and the error state to improve the contract. Our approach is different in that we use historic inputs to drive the contract into a correct state. If this fails and the contract reaches an error state, the developer has gained insight into the contract. Smart contracts are unique in the sense that the complete set of historic inputs to each contract is available on the blockchain. For programs other than smart contracts, some logging information is usually available, but this is rarely sufficient to replay the program. For example checkpoint restart systems6 take great care to augment logs with the minimum information necessary to replay an execution efficiently. Debugging systems for concurrent programs require significant sophistication to be able to reproduce concurrent executions faithfully7. Smart contracts should not need extra information for accurate replay. After all, each full node that joins the Ethereum peer-to- peer network replays all historic transactions. The question is, to what extent the historic transactions of a smart contract can be replayed on a minimal testing environment. By a minimal testing environment we mean using (a) the source of smart contracts and historic transactions (i.e. Etherscan), (b) the testing framework to replay the contracts (i.e. the Truffle framework), and (c) bespoke scripting (i.e. ContractVis) to translate historic transactions into truffle test scripts. Our contributions are as follows. Firstly, we measure to what extent smart contracts depend on other contracts and on the environment. To learn of all the functionalities of such contracts, users have to study not only the source, but also the dependen- cies. The more dependencies a contract has, the more effort will be required to achieve transparency. Secondly, we show that certain aspects of the behaviour of smart contracts can be tracked intuitively with automatically generated heat maps. Thirdly, we suggest improvements to current blockchain explorers that give users and developers automated insight into the dependen- cies. Finally, the paper contains details on the implementation of smart contracts on Ethereum that is available on the web but not in one place. We hope that by exposing this information we contribute to transparency. The next section discusses the background and presents the research questions. Section 3 describes the experimental approach and Section 4 presents the results of the experiments. Recommendations for the developers of blockchain explorers are provided in Section 5. This is followed by the discussion, related work, limitations, conclusions and future work. 2 http://truffleframework.com 2 BACKGROUND We summarise how smart contracts are executed, how they can be replayed and how the accuracy of the replay scripts can be measured. We then formulate a number of research questions. 2.1 Smart contracts A smart contract is a program that executes and stores its data on a globally replicated database called a blockchain. The constructor and the methods of a smart contract encode the business logic of a distributed web application called a Distributed Application (DApp). The call to the constructor and every method call made by the DApp create one or more transactions, which are stored in a specific block on the blockchain. The blockchain is basically an append-only, replicated database. A global peer-to-peer network operated by so-called miners manages the Ethereum blockchain. The miners run a distributed agreement protocol to decide which blocks are append to the blockchain. The miners are financially rewarded for their efforts. Once stored in a block on the blockchain, transactions normally persist (except in the case of forks). Because of the global replication of the blockchain, transactions are censorship resistant. When a contract is deployed, the EthereumVirtual Machine (EVM) bytecode obtained by compiling the source of the contract is also stored on the blockchain. The blockchain does not only store contracts and transactions but also accounts with a monetary balance in Ether, which is the native currency of Ethereum. At the time of writing, the value of an Ether is about 330 US$. There are two types of accounts: an externally owned account, defined by creation of a public private key pair and a contract account, defined by the deployment of a contract. Each transaction has a unique hash and each contract account or externally owned account is identified by a unique address. When the constructor and the methods of a contract are executed, a sequence of transactions is generated, starting with the transaction that created the contract. Each transaction changes the state of the contract variables. A transaction may change the balance of accounts, and it usually emits events to pass information to the controlling DApp. A transaction does not have a return value. Every successful transaction consumes a certain amount of gas proportional to the amount of work performed by the contract. Gas costs Ether and the total gas consumption of a transaction is therefore an interesting output of a contract. A transaction may fail and it therefore has a status. For example, if the amount of gas provided is insufficient, the transaction will fail. This mechanism is used, amongst others, to prevent infinite loops. Transactions are cryptographically signed to ensure that only users in possession of the appropriate private key can make transactions. Ethereum has two types of transactions: internal and external. The external transactions are triggered by externally owned accounts. Internal transactions are triggered by contract accounts. Transactions can fail programmatically, via calls to either require() or assert(). require() is used to check external consistency (e.g. to make sure that inputs satisfy specific requirements). assert() is used to check internal consistency (e.g. to ensure that the balance of an account does not underflow). A contract does not only contain methods that change the state but also pure functions that only read the state of the contract from the blockchain. Pure functions are called to return information about the state of the contract to the DApp. Calls to pure functions always succeed and do not consume gas. By the outputs of a contractwe mean the state and gas consumption of transactions, and the emitted events of transactions. To trace the execution of a contract, it would be useful to visualise all of the outputs on a time line. For example if most transactions succeed but an occasional transaction fails, this should stand out in a visualisation. There are many outputs that can in principle be tracked and visualised but the user would soon be overwhelmed. The challenge is to focus on the most useful outputs, and to do so automatically. Developers of smart contracts for Ethereum often use the Truffle framework to test contracts. The tests are written in JavaScript and the truffle framework ensures that the tests can communicate with the contact when it is deployed on one of the test networks or the main Ethereum network. The Truffle framework requires a directory with number of files as shown below. The directory contracts contains the Solidity code of the contract to be tested (here Vitaluck.sol) as well as a migration contract that is used by the Truffle framework in the deployment phase. The test directory contains the test script for the contract (here vitaluck.js). Section 3.2 gives an example of a test script. We refer the reader to the documentation of the Truffle framework for further details. Vitaluck/ |-- contracts/ 3 | |-- Migrations.sol | +-- Vitaluck.sol |-- migrations/ | +-- 1_initial_migration.js +-- test/ |-- vitaluck.js +-- truffle-config.js 2.2 A model of replay accuracy We present a model of the differences between the historic execution of a smart contract as recorded on the blockchain and the isolated replay on a minimal testing environment. We discuss the issues that will arise, and propose an experiment to measure their effect on replay accuracy. To assess the extent to which a contract has been replayed accurately we need a definition of replay accuracy. A strict definition might require that all outputs of each transaction are the same in the replay as in the historic transaction. This would not be a particularly useful definition as there are too many environmental parameters over which we have no control. For example the amount of gas used by a transaction is not necessarily the same on all EVM implementations. Therefore, we propose a definition of replay accuracy that takes the most important outputs into account: the transaction status, and the event parameters. Status accuracy measures the extent to which the historic status of each transaction can be reached when replaying the contract with historic inputs in a minimal testing environment. status accuracy If the status of the first t ≤ T transactions of the replay run is the same as the status of the first T transactions of the historic run, we have t∕T replay accuracy. If the status of two transactions disagrees, the state variables of the historic and the replay run may also disagree. Therefore, we stop counting after the first status disagreement. Event accuracy measures to what extent the transaction events of the replay transaction agree with the transaction events of the historic transactions. For each event emitted by a contract, each parameter of the historic transaction must be the same as the corresponding parameter of the replay. If a replayed transaction fails where the historic transaction succeeds, there will not be any output for the replay, and the comparison yield false. The definition of event accuracy is: event accuracy If the event parameters of the first t ≤ T transactions of the replay run are the same as the event parameters of the first T transactions of the historic run, we have t∕T event accuracy. Status and event accuracy are numbers between 0 and 1. We will sometimes refer to just replay accuracy when it does not matter which of the two is meant. In the following sections we will discuss how the environment in which a contract is executed can affect replay accuracy. Contracts can interact with the environment in two ways. A contract may (a) use special variables to access the environmental parameters, or (b) it may call, or it may be called, by another contract. 2.3 Special contracts Contracts are in principle deterministic. I.e. running the same sequence of transactions twice with the same inputs should lead to the same sequence of outputs. However, if a contract uses special variables, replaying a sequence of transactions usually leads to a different sequence of outputs. The special variables are block, which gives access to various properties of the current block, now, the time stamp in seconds of the current block, and blockhash, the hash of any of the last 256 blocks. A contract that uses a special variable will be called a special contract. A contract that does not use a special variable will be called a regular contract. Since special contracts do not necessarily generate the same sequence of outputs when a particular sequence of transaction is replayed, it makes sense to track not just the outputs of one sequence of replayed transactions but also the outputs of a number of replay sequences. To visualise the output of these multiple replays, we can conveniently create a table for every individual output, with rows enumerating the transactions and columns enumerating the individual replay runs. The behaviour of the individual 4 outputs can then be visualised with a heat map. For example the amount of the gas used by each transaction is a useful individual output to track, as illustrated in Figure 2. We will explain the figure in more detail later. Special contracts are designed to behave differently each time they are replayed, and we should expect the replay accuracy to be reduced. Therefore we hypothesise that: Special contracts have lower replay accuracy than regular contracts. 2.4 Dependent contracts Smart contracts often call methods of other smart contracts. For example Etheroll (See https://etherscan. io/address/0xddf0d0b9914d530e0b743808249d9af901f1bd01#code) is a client that calls methods of a server OraclizeAddressResolver (See https://etherscan.io/address/0x1d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed#code). This dependency is transparent because the name of the callee is explicitly mentioned in the source of the caller. A fragment of the code of Etheroll is shown below, as an illustration of how a typical client obtains access to a server. The modifier coupon contains a call to the method getAddress() of the address resolver contract OAR. The result is the current address of the Ora- clize contract, which is stored in the variable oraclize, ready for further use. The bottom of the code fragment below shows that the type of the hard coded address of the Oraclize proxy is cast into the contract interface type OraclizeAddrResolverI. The result of the type cast is assigned to the variable OAR. contract Etheroll { .... } contract OraclizeAddrResolverI { // Contract interface function getAddress() returns (address _addr); } contract usingOraclize { OraclizeAddrResolverI OAR; OraclizeI oraclize; modifier coupon(string code){ oraclize = OraclizeI(OAR.getAddress()); // Type cast to contract ... } ... OAR = // Type cast to proxy contract interface OraclizeAddrResolverI(0x1d3B2638a7cC9f2CB3D298A3DA7a90B67E5506ed); ... } The hard coded address 0x1d3B... is the permanent address of the proxy of the Oraclize contract. The code of the proxy contract OraclizeAddrResolver is shown in full below. The constructor stores the address of the account that deployed the proxy in the variable owner. Only the owner can change this by calling the method changeOwner. The owner of the proxy can also change the address of the server by calling setAddress(). A client of the proxy, such as Etheroll, can only call getAddress() to obtain the current address of the server. contract OraclizeAddrResolver { address public addr; address owner; function OraclizeAddrResolver(){ owner = msg.sender; // Set initial owner } function changeOwner(address newowner){ if (msg.sender != owner) throw; owner = newowner; // Change owner } 5 https://etherscan.io/address/0xddf0d0b9914d530e0b743808249d9af901f1bd01#code https://etherscan.io/address/0xddf0d0b9914d530e0b743808249d9af901f1bd01#code https://etherscan.io/address/0x1d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed#code function setAddr(address newaddr){ if (msg.sender != owner) throw; addr = newaddr; // Change server } function getAddress() returns (address oaddr){ return addr; // Return the current server } } The proxy acts as gateway to the server contract. Putting a proxy between the client and the server makes it possible to update the server without having to update the clients. This is useful, as contracts cannot be changed; they can only be redeployed. However, having proxies is also opaque, as the client may rely on specific server functionality that can change without the client’s knowledge. If we take the servers point of view, then on the one hand it is useful that any client can make use of the server. On the other hand the server has no way of knowing a-priori which clients will be calling its functions. Unfortunately, current blockchain explorers do not show a-posteriori who called a particular server. This is a significant transparency issue. Replaying a smart contract without its dependencies usually fails. Therefore, we hypothesise that: A contract that casts an address type to a contract type will have lower replay accuracy than a contract without such a type cast. 2.4.1 Calls from other contracts Detecting calls from other contracts on the blockchain is a problem because with the current Ethereum APIs there is no efficient way of locating all caller contracts that call a method of a specific callee. Basically one would have to search over a billion transactions on the Ethereum blockchain to expose all calls. Google Big query offers a public data base of all Ethereum trans- actions (See https://console.cloud.google.com/bigquery?p=bigquery-public-data&d=ethereum_blockchain) that makes such a search possible. Since the service is paid, we do not consider it here as a source of data for our replay tooling. Current blockchain explorers do not show callers from other contracts, but they do show all callees. It should therefore not be difficult to show also the callers. Replaying a smart contract without calls from other contracts may fail. Therefore, we hypothesise that: A contract that is called by other contracts will have lower replay accuracy than a contract without such calls. 2.4.2 Ad-hoc address encoding Smart contracts operate on the addresses of externally owned accounts and contract accounts. Since we do not possess the private key associated with the externally owned accounts, we have to replace historic addresses that occur in contracts and transactions by addresses for which we do have the private key in our minimal test environment. The basic set of addresses used by a contract consists of the contract address, and the addresses passed via the from and to parameters of the transactions. Transactions may also carry additional parameters of type address, and there may also be hard-coded addresses in the source of the contract. Most contracts identify hard-coded addresses in the source by giving them the address type, but sometimes they are merely typed as integers. Since all valid addresses are exactly 20 bytes, we assume, heuristically, that we are dealing with an address if we encounter a 40 hex digit integer. Unfortunately, addresses may also be encoded in an ad-hoc manner. For example the contract Ledger (See https://etherscan.io/ address/0xe6a51bd48f93abcd6c1d532112094044971d8d4e#code) contains the multiMintmethod shown below. The elements of the array bits contain an encoding of address and amount pairs. The encoding is the concatenation of a 96-bit value with a 160-bit address. Since we use the standard tools to compile contracts and to replay transactions, we can simply extract all decoded addresses from the debug output from ganache, the EVM client (See https://github.com/trufflesuite/ganache). A blockchain explorer could in principle use the same strategy to extract decoded addresses. function multiMint( uint[] bits ) { for( uint i=0; i>96 ); uint amount = bits[i]&((1<<96) - 1); mint( a, amount ); } 6 https://console.cloud.google.com/bigquery?p=bigquery-public-data&d=ethereum_blockchain https://etherscan.io/address/0xe6a51bd48f93abcd6c1d532112094044971d8d4e#code https://etherscan.io/address/0xe6a51bd48f93abcd6c1d532112094044971d8d4e#code https://github.com/trufflesuite/ganache } Assuming that a minority of the historic addresses are encoded in an ad-hoc fashion, we think that there will be a relatively small residue of such addresses in the replay scripts. Since these may cause transactions to fail, we hypothesise that: A residue of ad-hoc encoded historic addresses has a negligible effect on replay accuracy. 2.5 Research questions The above considerations lead to the following research questions: Q1: To what extent does Etherscan provide the information necessary to replay contracts with Truffle? Q2: To what extent does the presence of (a) special variables, (b) address-to-contract type casts, (c) internal transactions, and (d) residual historic addresses influence replay accuracy? Q3: How to track and visualise the most interesting outputs (e.g. status, event parameters) of the contracts? 2.6 A case study in transparency: Vitaluck To illustrate the utility of replaying a contract with historic inputs we will elaborate on a case study presented in a recent publica- tion8. Vitaluck (See https://etherscan.io/address/0xef7c7254c290df3d167182356255cdfd8d3b400b#code) is a lottery contract with only 27 transactions. This makes it sufficiently small to be used as a case study. The problem that we will focus on is not new, but we believe that our way of analysing the problem is more intuitive that the usual source code inspection. While there are several proposals for a good source of randomness in smart contracts9, most developers use special variables like now as a source of randomness. To some extent miners can manipulate special variables, which makes this problematic. Vitaluck also uses now and we will replay all the transactions of the contract with a timestamp that is perfectly controlled to illustrate the problem of using now. The smart contract code of Vitaluck in essence uses the time stamp of the current block (viz. (now*2)%1000) as a random number. On the public blockchain this should not be much of a problem as blocks are created about every 14 seconds. However, if now increases by 1 each time a transaction occurs, as it does on our minimal testing environment, the random number used by Vitaluck will only increase by two. The heat maps of Figure 1 illustrate the problem. In each of the two panels, there are 5 columns, labelled 0 to 4. These correspond to 5 replay runs of the sequence of 27 transactions of the contract. Each row corresponds to a transaction. Rows 0 and 1 represent the contract deployment. Rows 2 to 26 correspond to one execution of the Play method. The left panel tracks number, which is one of the parameters of the NewPlay event, that is emitted by the Play transaction. The last column of the left most panel (in green) shows that in run 4, the value of number is always above 900. The source code states, that the player then has a 99.9% of winning again. This is also illustrated by the value of won for replay run 4 in the last column of (also in green) of the right most panel. This shows that each transaction has produced a winner. The tables for number, and won show that a heat map is sufficient to show the problematic behaviour of what was intended to be a fair lottery. The heat maps are produced automatically and they can only be produced because we can replay the historic transactions with different block times. Vitaluck also leaks information through its gas usage. Figure 2 shows the amount of gas used for each of the 27 transactions of the five replay runs. The colours in the heat map illustrate the correlation with the rightmost panel in Figure 1. Inspecting the code confirms that if there is a winner, the contract executes more code and therefore consumes more gas. The gas usage is recorded in the blockchain; hence there should not be any expectations of confidentiality. In the case of Vitaluck the fact that there has been a winner is completely transparent. A lottery contract would not be successful if the users did not on occasion win. We can automatically track the balance of relevant accounts to investigate this. For example, Figure 3 tracks the balance of different users executing the Playmethod of the contract. The horizontal axis gives the transaction number and the vertical axis the balance (in excess of the minimum balance of all accounts) of the relevant player. The colours in the graph correspond to replay runs. Each of the 5 different graphs gives the output of one of the 5 replay runs. The general trend of the balance of a player is to go down, unless he/she wins, when it goes up significantly. During transactions 1-10 and 13-14 only player 2 is active. Player 6 is only active during transactions 17- 24. Other players are active during other transactions but these have been removed from the graph to avoid clutter. The graph shows that Player 6 has won once in two replay runs (2 and 3), at transaction 17, where his balance increased considerably, and continues after his win. Player 2 has abandoned the game at transaction 13. All graphs shown in the case study are easily produced from the output of the replay runs. We believe that the case study illustrates that being able to replay transactions 7 https://etherscan.io/address/0xef7c7254c290df3d167182356255cdfd8d3b400b#code number won 0 1 2 3 4 0 1 2 3 4 0 0 1 1 2 467 583 699 839 955 2 1 1 1 1 1 3 469 585 701 839 955 3 1 1 1 0 1 4 469 587 701 841 957 4 0 1 0 1 1 5 471 587 703 843 957 5 1 0 1 1 1 6 473 589 705 845 959 6 1 1 1 1 1 7 473 589 705 845 961 7 0 0 0 0 1 8 475 591 707 847 961 8 1 1 1 1 1 9 475 591 709 849 963 9 0 0 1 1 1 10 477 593 709 849 963 10 1 1 0 0 1 11 477 593 711 851 965 11 0 0 1 1 1 12 479 595 711 851 965 12 1 1 0 0 1 13 479 595 713 853 967 13 0 0 1 1 1 14 481 597 713 855 969 14 1 1 0 1 1 15 483 597 715 855 969 15 1 0 1 0 1 16 483 599 715 857 971 16 0 1 0 1 1 17 485 601 717 857 971 17 1 1 1 0 1 18 485 601 719 859 973 18 0 0 1 1 1 19 487 603 719 859 973 19 1 1 0 0 1 20 489 603 721 861 975 20 1 0 1 1 1 21 489 605 721 861 975 21 0 1 0 0 1 22 491 605 723 863 977 22 1 0 1 1 1 23 493 607 725 863 979 23 1 1 1 0 1 24 493 607 725 865 979 24 0 0 0 1 1 25 495 609 727 867 981 25 1 1 1 1 1 26 495 611 727 867 981 26 0 1 0 0 1 FIGURE 1 Tracking the outputs of the Vitaluck con- tract showing how low entropy randomness leads to unfair behaviour. gasUsed 0 1 2 3 4 0 942221 942221 942221 942221 942221 1 62314 62314 62314 62314 62314 2 267430 267430 267430 267430 277659 3 162430 162430 162430 127012 172659 4 127012 162430 127012 162430 172659 5 162430 127012 162430 162430 172659 6 162430 162430 162430 162430 172659 7 127012 127012 127012 127012 172659 8 162430 162430 162430 162430 172659 9 142012 142012 177430 177430 187659 10 162430 162430 127012 127012 172659 11 127012 127012 162430 162430 172659 12 162430 162430 127012 127012 172659 13 127012 127012 162430 162430 172659 14 162430 162430 127012 162430 172659 15 177430 142012 177430 142012 187659 16 142012 177430 142012 177430 187659 17 162430 162430 162430 127012 172659 18 127012 127012 162430 162430 172659 19 162430 162430 127012 127012 172659 20 162430 127012 162430 162430 172659 21 127012 162430 127012 127012 172659 22 162430 127012 162430 162430 172659 23 177430 177430 177430 142012 187659 24 142012 142012 142012 177430 187659 25 177430 177430 177430 177430 187659 26 142012 177430 142012 142012 187659 FIGURE 2 Tr";"""date"",""2019-07-23T00:57:14Z"" ""pdf:PDFVersion"",""1.5"" ""pdf:docinfo:title"","""" ""xmp:CreatorTool"",""LaTeX with hyperref package"" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""subject"","""" ""language"",""en"" ""dc:format"",""application/pdf; version=1.5"" ""pdf:docinfo:creator_tool"",""LaTeX with hyperref package"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"","""" ""modified"",""2019-07-23T00:57:14Z"" ""cp:subject"","""" ""pdf:docinfo:subject"","""" ""pdf:hasMarkedContent"",""false"" ""pdf:docinfo:creator"","""" ""PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) kpathsea version 6.2.2"" ""meta:author"","""" ""trapped"",""False"" ""meta:creation-date"",""2019-07-23T00:57:14Z"" ""created"",""2019-07-23T00:57:14Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2019-07-23T00:57:14Z"" ""resourceName"",""1907.09208"" ""Author"","""" ""producer"",""pdfTeX-1.40.17"" ""pdf:docinfo:producer"",""pdfTeX-1.40.17"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""10"",""0"",""0"",""0"",""0"",""12"",""1"",""2"",""7"",""24"",""4"",""6"",""1"",""2"",""0"",""0"",""0"" ""Keywords"","""" ""access_permission:modify_annotations"",""true"" ""dc:creator"","""" ""dcterms:created"",""2019-07-23T00:57:14Z"" ""Last-Modified"",""2019-07-23T00:57:14Z"" ""dcterms:modified"",""2019-07-23T00:57:14Z"" ""title"","""" ""Last-Save-Date"",""2019-07-23T00:57:14Z"" ""pdf:docinfo:keywords"","""" ""pdf:docinfo:modified"",""2019-07-23T00:57:14Z"" ""meta:save-date"",""2019-07-23T00:57:14Z"" ""pdf:docinfo:custom:PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) kpathsea version 6.2.2"" ""Content-Length"",""514277"" ""Content-Type"",""application/pdf"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"","""" ""dc:subject"","""" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""20"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""3020"",""4599"",""4134"",""3321"",""2316"",""3400"",""4274"",""2317"",""3700"",""2724"",""2738"",""2617"",""1928"",""3420"",""2437"",""3504"",""4415"",""3945"",""3334"",""2448"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""pdf:docinfo:trapped"",""False"" ""meta:keyword"","""" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2019-07-23T00:57:14Z"" ";https://scholar.google.com/scholar?start=730&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094644-1096;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Design of anonymous endorsement system in hyperledger fabric;S Mazumdar, S Ruj ; IEEE Transactions on Emerging Topics in …, 2019 ieeexplore.ieee.org;;"… well studied area [10], [11], [37], [14], its applicability in cryptocur- rencies and blockchain is being … Monero, an anonymous cryptocurrency, improves on its existing Cryptonote [43] protocol by using a new … p(x, ˜z, r) and ?(.) be error, ? : N ? [0, 1]. A probabilistic oracle machine K …";Cité 12 fois;Les 7 versions;[PDF] ieee.org;https://ieeexplore.ieee.org/iel7/6245516/6558478/08732411.pdf?casa_token=8VkacJpxKw0AAAAA:COo7ysXptbOZ0VhZ6Be55brhgkqNVJoa_gamGl0yLKJqen6VLzS6epytxszdq6ML2VxmjVY7wjg;" Skip to Main Content IEEE Account Change Username/Password Update Address Purchase Details Payment Options Order History View Purchased Documents Profile Information Communications Preferences Profession and Education Technical Interests Need Help? US & Canada: +1 800 678 4333 Worldwide: +1 732 981 0060 Contact & Support About IEEE Xplore Contact Us Help Accessibility Terms of Use Nondiscrimination Policy Sitemap Privacy & Opting Out of Cookies A not-for-profit organization, IEEE is the world's largest technical professional organization dedicated to advancing technology for the benefit of humanity. Š Copyright 2021 IEEE - All rights reserved. Use of this web site signifies your agreement to the terms and conditions. ";"""og:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""twitter:title"",""Design of Anonymous Endorsement System in Hyperledger Fabric"" ""twitter:card"",""summary"" ""Description"",""Permissioned Blockchain has become quite popular with enterprises forming consortium since it prioritizes trust over privacy. One of the popular platforms for d"" ""og:title"",""Design of Anonymous Endorsement System in Hyperledger Fabric"" ""resourceName"",""08732411.pdf"" ""language"",""en"" ""title"",""Design of Anonymous Endorsement System in Hyperledger Fabric | IEEE Journals & Magazine | IEEE Xplore"" ""og:description"",""Permissioned Blockchain has become quite popular with enterprises forming consortium since it prioritizes trust over privacy. One of the popular platforms for distributed ledger solution, Hyperledger Fabric, requires a transaction to be endorsed or approved by a group of special members known as endorsers before undergoing validation. To endorse a transaction, an endorser mentions its identity along with the signature so that it can be verified later. However, for certain transactions, difference in opinion may exist among endorsers. Disclosing the identity of an endorser may lead to conflict within the consortium. In such cases, an endorsement policy which not only allows an endorser to support a transaction discreetly, but at the same time takes into account the decision of the majority is preferred. Thus we propose an Anonymous Endorsement System which uses a threshold endorsement policy in order to address the issue. To realize a t-out-of-n endorsement policy, using any of the existing threshold ring signature for our endorsement system would have violated the privacy of endorsers as either the identity or the secret key of the endorsers get revealed to the party who recombines the signature after collecting each signature share. All these factors motivated us to design a new ring signature scheme, called Fabric's Constant-Sized Linkable Ring Signature (FCsLRS) with Transaction-Oriented linkability for hiding identity of the endorsers. We have implemented the signature scheme in Golang and analyzed its security and performance by varying the RSA (Rivest-Shamir-Adleman) modulus size. Feasibility of implementation is supported by experimental analysis. Signature and tag generation time is quite fast and remains constant irrespective of change in message length or endorsement set size for a given RSA modulus value, assuming all the endorsers generates their signature in parallel. Each verifier is required to count and check individual valid ring signature. If the aggregate is above the threshold value, stated by the endorsement policy, then it confirms that the transaction is valid. This increases the verification time depending on the threshold value, but has very little effect on the scalability since generally $t << n$ . Lastly, we also discuss the integration of the scheme on v1.2 Hyperledger Fabric."" ""twitter:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-UA-Compatible"",""IE=Edge"" ""viewport"",""width=device-width, initial-scale=1.0"" ""dc:title"",""Design of Anonymous Endorsement System in Hyperledger Fabric | IEEE Journals & Magazine | IEEE Xplore"" ""twitter:description"",""Permissioned Blockchain has become quite popular with enterprises forming consortium since it prioritizes trust over privacy. One of the popular platforms for distributed ledger solution, Hyperledger Fabric, requires a transaction to be endorsed or approved by a group of special members known as endorsers before undergoing validation. To endorse a transaction, an endorser mentions its identity along with the signature so that it can be verified later. However, for certain transactions, difference in opinion may exist among endorsers. Disclosing the identity of an endorser may lead to conflict within the consortium. In such cases, an endorsement policy which not only allows an endorser to support a transaction discreetly, but at the same time takes into account the decision of the majority is preferred. Thus we propose an Anonymous Endorsement System which uses a threshold endorsement policy in order to address the issue. To realize a t-out-of-n endorsement policy, using any of the existing threshold ring signature for our endorsement system would have violated the privacy of endorsers as either the identity or the secret key of the endorsers get revealed to the party who recombines the signature after collecting each signature share. All these factors motivated us to design a new ring signature scheme, called Fabric's Constant-Sized Linkable Ring Signature (FCsLRS) with Transaction-Oriented linkability for hiding identity of the endorsers. We have implemented the signature scheme in Golang and analyzed its security and performance by varying the RSA (Rivest-Shamir-Adleman) modulus size. Feasibility of implementation is supported by experimental analysis. Signature and tag generation time is quite fast and remains constant irrespective of change in message length or endorsement set size for a given RSA modulus value, assuming all the endorsers generates their signature in parallel. Each verifier is required to count and check individual valid ring signature. If the aggregate is above the threshold value, stated by the endorsement policy, then it confirms that the transaction is valid. This increases the verification time depending on the threshold value, but has very little effect on the scalability since generally $t << n$ . Lastly, we also discuss the integration of the scheme on v1.2 Hyperledger Fabric."" ""Content-Encoding"",""UTF-8"" ""Content-Type-Hint"",""text/html; charset=utf-8"" ""Content-Language"",""en-US"" ""Content-Type"",""text/html; charset=UTF-8"" ";https://scholar.google.com/scholar?start=910&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094637-1068;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Building a product origins tracking system based on blockchain and PoA consensus protocol;AC An, PTX Diem, T Van Toi… ; … on Advanced Computing …, 2019 ieeexplore.ieee.org;;"… ACM. [2] Baliga, A., 2017. Understanding blockchain consensus models. In Persistent. [3] Burleson, DK and Estabrook, G., 1999. Oracle SAP Administration. O'Reilly & Associates, Inc. [4] Casado-Vara, R., González-Briones, A., Prieto, J. and Corchado, JM, 2018 …";Cité 3 fois;Les 2 versions;[PDF] ieee.org;https://ieeexplore.ieee.org/iel7/9036008/9044210/09044220.pdf?casa_token=WE9H2B95GooAAAAA:AHnD2Mxw-5qqvvtMULDUFXApF3ApI6BKBYRrQvMAwM84JQplOgA9SAJx3rtHyc9el8cl4EBq140;" Skip to Main Content IEEE Account Change Username/Password Update Address Purchase Details Payment Options Order History View Purchased Documents Profile Information Communications Preferences Profession and Education Technical Interests Need Help? US & Canada: +1 800 678 4333 Worldwide: +1 732 981 0060 Contact & Support About IEEE Xplore Contact Us Help Accessibility Terms of Use Nondiscrimination Policy Sitemap Privacy & Opting Out of Cookies A not-for-profit organization, IEEE is the world's largest technical professional organization dedicated to advancing technology for the benefit of humanity. Š Copyright 2021 IEEE - All rights reserved. Use of this web site signifies your agreement to the terms and conditions. ";"""og:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""twitter:title"",""Building a Product Origins Tracking System Based on Blockchain and PoA Consensus Protocol"" ""twitter:card"",""summary"" ""Description"",""In recent years, the traceability of product origins is strongly concerned, particularly for food products as they directly influence human health. Therefore, t"" ""og:title"",""Building a Product Origins Tracking System Based on Blockchain and PoA Consensus Protocol"" ""resourceName"",""09044220.pdf"" ""language"",""en"" ""title"",""Building a Product Origins Tracking System Based on Blockchain and PoA Consensus Protocol | IEEE Conference Publication | IEEE Xplore"" ""og:description"",""In recent years, the traceability of product origins is strongly concerned, particularly for food products as they directly influence human health. Therefore, there have been some efforts to develop product origins tracking systems. In this paper, we propose an approach to building a supply chain management system based on the blockchain technology for agriculture product origins tracking. The supply chain model is borrowed from Walmart's and it is implemented based on the Ethereum framework using the PoA (Proof of Authority) consensus algorithm. Our experiment shows that the proposed system not only fulfills the requirements of a product origins tracking but also takes the advantages of the blockchain technology such as the immutability and security of data, the low cost in making the transactions, and so on."" ""twitter:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-UA-Compatible"",""IE=Edge"" ""viewport"",""width=device-width, initial-scale=1.0"" ""dc:title"",""Building a Product Origins Tracking System Based on Blockchain and PoA Consensus Protocol | IEEE Conference Publication | IEEE Xplore"" ""twitter:description"",""In recent years, the traceability of product origins is strongly concerned, particularly for food products as they directly influence human health. Therefore, there have been some efforts to develop product origins tracking systems. In this paper, we propose an approach to building a supply chain management system based on the blockchain technology for agriculture product origins tracking. The supply chain model is borrowed from Walmart's and it is implemented based on the Ethereum framework using the PoA (Proof of Authority) consensus algorithm. Our experiment shows that the proposed system not only fulfills the requirements of a product origins tracking but also takes the advantages of the blockchain technology such as the immutability and security of data, the low cost in making the transactions, and so on."" ""Content-Encoding"",""UTF-8"" ""Content-Type-Hint"",""text/html; charset=utf-8"" ""Content-Language"",""en-US"" ""Content-Type"",""text/html; charset=UTF-8"" ";https://scholar.google.com/scholar?start=880&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094642-1086;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;ICII 2019;J Gordon, V Kraj, T Wang, T Huang, M Shivers… ; computer.org;;"… with Sharding for Internet of Battlefield-Things in NS-3 , 241, Utsab Khakurel (Howard University), Danda Rawat (Howard University),, and Laurent Njilla (US Air Force Research Lab),Decentralized Access Control for IoT Data Using Blockchain and Trusted Oracles , 248, Hamda …";Les 2 versions;;[PDF] ieee.org;https://ieeexplore.ieee.org/iel7/9048088/9064856/09065137.pdf;" ";"""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""dc:title"",""IEEE Xplore Full-Text PDF:"" ""Content-Encoding"",""UTF-8"" ""resourceName"",""09065137.pdf"" ""language"",""es"" ""Content-Length"",""2565"" ""title"",""IEEE Xplore Full-Text PDF:"" ""Content-Language"",""en-US"" ""Content-Type"",""text/html; charset=UTF-8"" ";https://scholar.google.com/scholar?start=900&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094541-655;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[PDF][PDF] This is Not a Game: Blockchain Regulation and Its Application to Video Games;D Qiao ; N. Ill. UL Rev., 2019 HeinOnline;;"… banking account, such as stablecoins, and (b) synthetic derivatives that are (i) determined by decentralized oracles or smart … A ""decentralized oracle"" is defined as ""service that sends and verifies real world data from external sources outside of a blockchain and submits such …";Autres articles;;[PDF] heinonline.org;https://heinonline.org/hol-cgi-bin/get_pdf.cgi?handle=hein.journals/niulr40§ion=9&casa_token=lihc_-mK3LgAAAAA:8dMc4k9_g_e1Qj2lsfhmKB4oFRaYXG9yhtxoOrOy1CgnK9T4zY0-RCn0vQnUpu4OZWXrs5w;" ";"""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""REFRESH"",""1; url=https://heinonline.org/HOL/Page?handle=hein.journals/niulr40&div=9&g_sent=1&casa_token=lihc_-mK3LgAAAAA:8dMc4k9_g_e1Qj2lsfhmKB4oFRaYXG9yhtxoOrOy1CgnK9T4zY0-RCn0vQnUpu4OZWXrs5w"" ""Content-Encoding"",""UTF-8"" ""resourceName"",""get_pdf.cgi"" ""language"","""" ""Content-Type"",""text/html; charset=UTF-8"" ";https://scholar.google.com/scholar?start=470&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094576-808;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[CITATION][C] 7 Smart Contracts;C Poncibň, LA DiMatteo;;;null;Autres articles;;null;;;;https://scholar.google.com/scholar?start=620&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094555-716;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[HTML][HTML] ?????????? ????????? ?????????? ??? ?????????? ?????-?????????;?? ????????? ; ??????? ???????????? ???????????????? …, 2019 cyberleninka.ru;;"… The conclusion about the prospects of developing the smart-contract codes that, using blockchain oracles, will be able to track multivariate scenarios of events in the real economic situation and make decisions according to a predetermined algorithm is made …";Cité 2 fois;Les 2 versions;[HTML] cyberleninka.ru;https://cyberleninka.ru/article/n/dostizhenie-pravovogo-rezultata-pri-ispolnenii-smart-kontrakta;" [image: Научная статья на тему 'Достижение правового результата при испОНнонии смарт-контракта'][image: ] Достижение правового результата при испОНнонии смарт-контракта Текст научной статьи пО специальности «Компьютерные и информационные науки [image: ]CC BY [image: ]20 [image: ]4 i Надоели баннеры? Вы всогда можете отключить рекламу. Журнал Вестник Хабаровского государственного университета экономики и права 2019 Область наук Компьютерные и информационные науки Ключевые сНОва СМАРТ-КОНТРАКТ / ПРАВОВОЙ РЕЗУЛЬТАТ / НАДЛЕЖАЩЕЕ ИСПОЛНЕНИЕ / АЛГОРИТМ ""ПРАВОВОЙ КВАЛИФИКАЦИИ"" / SMART-CONTRACT / LEGAL RESULT / PROPER EXECUTION / ALGORITHM OF ""LEGAL QUALIFICATION"" Аннотация научной статьи пО компьютерным и информационным наукаП, автор научной работы — Коваленко Е.Г. В статье рассмотрено кодирование текстовых данных в смарт-контракте как спОсОй фиксации волеизъявления сторон, направленного на совершение сдоНки. Установлено, что дефицит информации Đž реальной коммерческой деятельности, осуществляемой вно компьютерной сети, препятствует кодированию в смарт-контракте поэтапного отслеживания исполнения прописанных в ноП усНОвиК. ХдоНан вывод Đž перспективности разработки кОдОв смарт-контракта, которые с использованием блокчейн-оракулов смогут отслеживать многовариантные сценарии развития событий в реальной экономической ситуации и принимать решения, сОгНаснО заранее СаданнОПу алгоритму.The article describes the encoding of text data in a smart-contract as a way of fixing the will of the parties aimed at the transactioning. It is established that the lack of information about real commercial activity carried out outside the computer network, prevents coding in the smart-contract of scheduling tracking in the execution of the conditions prescribed in it. The conclusion about the prospects of developing the smart-contract codes that, using blockchain oracles, will be able to track multivariate scenarios of events in the real economic situation and make decisions according to a predetermined algorithm is made. i Надоели баннеры? Вы всогда можете отключить рекламу. Похожие темы научных работ пО компьютерным и информационным наукаП , автор научной работы — Коваленко Е.Г. Профессиональный библиограф составит и оформит пО ГОСТ списОк литературы для вашоК работы Подбор литературы Правовое регулирование смарт-контрактов вО Франции 2019 / Чуй Д. В. Правовая конструкция смарт-контракта: юридическая природа и сфера применения 2019 / Гринь Олег Сергеевич, Гринь Елена Сергеевна, Соловьев Александр Владимирович Проблемы применения смарт-контрактов в сделках с виртуальным имуществом 2019 / Богданова Елена Евгеньевна Смарт-контракты в РОссии: перспективы законодательного регулирования 2018 / Дядькин Дмитрий Сергеевич, Усольцев Юрий Михайлович, Усольцева Наталья Андреевна Проблемы правового регулирования использования смарт-контрактов 2019 / ШаКдуННина Венера Камилевна iНе можете найти то, что ваП нуМнО? Попробуйте сервис подбора литературы. i Надоели баннеры? Вы всогда можете отключить рекламу. Текст научной работы на тему «Достижение правового результата при испОНнонии смарт-контракта» х™™™ ПРОБЛЕМЫ ЮРИСПРУДЕНЦИИ И ПРАВОПРИМЕНЕНИЯ ™™Х™ УДК 34:004 Е.Г. Коваленко, канд. юрид. наук, доцент кафедры трудового и предпринимательского права Хабаровского государственного университета экономики и права ДОСТИЖЕНИЕ ПРАВОВОГО РЕЗУЛЬТАТА ПРИ ИСПОЛНЕНИИ СМАРТ-КОНТРАКТА В статье рассмотрено кодирование текстовых данных в смарт-контракте как спОсОй фиксации волеизъявления сторон, направленного на совершение сдоНки. Установлено, что дефицит информации Đž реальной коммерческой деятельности, осуществляемой вно компьютерной сети, препятствует кодированию в смарт-контракте поэтапного отслеживания исполнения прописанных в ноП усНОвиК. ХдоНан вывод Đž перспективности разработки кОдОв смарт-контракта, которые с использованием блокчейн-оракулов смогут отслеживать многовариантные сценарии развития событий в реальной экономической ситуации и принимать решения, сОгНаснО заранее СаданнОПу алгоритму. Ключевые сНОва: смарт-контракт, правовой результат, надлежащее испОНнонио, алгоритм «правовой квалификации». The article describes the encoding of text data in a smart-contract as a way of fixing the will of the parties aimed at the transactioning. It is established that the lack of information about real commercial activity carried out outside the computer network, prevents coding in the smart-contract of scheduling tracking in the execution of the conditions prescribed in it. The conclusion about the prospects of developing the smart-contract codes that, using blockchain oracles, will be able to track multivariate scenarios of events in the real economic situation and make decisions according to a predetermined algorithm is made. Keywords: smart-contract, legal result, proper execution, algorithm of ""legal qualification "". Развитие технологии блокчейн (blockchain), использование смарт-контрактов (smart-contracts) позволяют говорить Đž необходимости проведения иссНодОваниК на стыке СнаниК ОсОйОгО направления программирования и опыта правоприменения. В настоящее время еще недостаточно иссНодОваниК, позволяющих определить систему координат, в рамках которых будет развиваться технология блокчейн, в том числе применение смарт-контрактов на ОснОво платформы Etherium и Bitcoin. Актуальность исследования ОйусНОвНона тем обстоятельством, что использование современных технологий но имеет границ, а их правовое сопровождение следует с определен- ным временным отрывом практически вО всех странах. Научные работы, посвященные вопросам создания и использования смарт-контрактов, достаточно разнообразны и затрагивают как технические, экономические, так и юридические аспекты этой технологии, работающей на ОснОво йНОк-чейна. Ученые предлагают различные определения смарт-контракта. Так, Е.Г. Дубицкая определяет смарт-контракт как «специальный протокол, предназначенный для сторон, которые могут участвовать в переговорах, проверять их условия, реализовывать договоренности и контролировать выполнение контракта» [1]. Имеются и другие определения, отмеча- ющие автоматическое испОНнонио усНОвиК смарт-контракта, проведение транзакций и ОйПон активами ПоМду сторонами йоС участия третьих лиц, надежность и необратимость транзакций. В работах, затрагивающих кодирование смарт-контрактов, освещаются вопросы Đž языке программирования, вычислительной мощности в компьютерной сети, проверке кОда смарт-контракта, структуры, диСаКна пользовательского интерфейса, огО интеграции с электронным «кошельком» и т.Đ´. В исследованиях экономистов отмечаются экономические затраты, выгоды и риски от применения смарт-контракта, использование различных криптографических валют, отражение транзакций в бухгалтерском учете, наНОгООйНОМонио. Рассматривая смарт-контракт с позиций гражданско-правового подхода, ПОМнО говорить Đž кодировании текстовых данных как Đž спОсОйо фиксации волеизъявления сторон, направленного на совершение сдоНки. В иссНодОвании К.П. Татаркиной, посвященном форме сдоНОк, отмечается, что «волеизъявление лица приведет Đş наступлению желаемых правовых последствий при усНОвии, что воля выражена в форме, которая обеспечивает оо восприятие адресатом», а СакОнОП но запрещается совершение сдоНОк легально нерегламенти-рованными спОсОйаПи [2, с. 10]. iНе можете найти то, что ваП нуМнО? Попробуйте сервис подбора литературы. В.В. Епифанова в свОоК работе также подчеркивает возможность свОйОднОгО выбора формы сдоНки, в зависимости от содержания (существа оформляемого гражданского правоотношения)Âť [3, с. 9]. Как Один иС вариантов оформления договоров допустимо использовать кодирование информации в смарт-контракте. По мнению А.И. Савельева, смарт-контракт может рассматриваться в каче- стве гражданско-правового договора, осНи «содержанием программного кОда является совершение операций, которые представляют сОйОК автоматизированный эквивалент действий сторон, которые могут выступать предметом гражданско-правового договора» [4, с. 44]. Следует учесть, что применение йНОк-чейна определяет невозможность внесения иСПонониК в строго установленную последовательность транзакций смарт-контракта. При кодировании определенного алгоритма, предлагаемого заказчиком и осуществляемого разработчиком смарт-контракта, определяется задача, которую необходимо решить заказчику с использованием смарт-контракта. Если эта задача лежит в плоскости гражданских правоотношений, то уместно говорить Đž достижении правового результата, юридических последствий сдоНки. В отличие от обычного гражданско-правового договора, в смарт-контракте прописываются но только условия огО заключения (намерения сторон сдоНки), нО и дальнейшая последовательность их действий пО исполнению смарт-контракта. В связи с применением смарт-контрактов для реализации различных шайНОнОв гражданско-правовых договоров, правовой результат будет отличаться. По договору перевозки груза - это доставка груза управомоченному на огО получение лицу (грузополучателю), пО договору поставки - переход права собственности на имущество, пО договору подряда - выполнение работ и передача их результата заказчику и т.Đ´. Установление факта достижения правового результата связано с объемом полученной компьютерной программой информации. Возможность доступа Đş вношноК информации позволяет получить данные Ой испОНнонии усНОвиК смарт- контракта и выполнить обязательства пО огО оплате путем автоматического перечисления платежа Са товары, работы, усНуги в криптовалюте. Получение, анаНиС и применение вношноК информации возможны при совершенствовании спОсОйОв идентификации объектов вношногО мира и успошнОП решении других технических задач. Для решения проблемы коммуникации смарт-контрактов с реальным миром и организации процесса интерпретации полученных данных для использования компьютерной программой применяют специальные версии инфраструктурных алгоритмов блокчейн-оракулов. Полученные вно компьютерной сети данные Ой испОНнонии сдоНки йНОк-чейн-оракулы преобразуют в формат, адаптированный для восприятия компьютерной программой. На практике дефицит информации Ой испОНнонии смарт-контракта может зависеть от сйОов в фиксации, передаче и получении компьютерной программой информации Đž реальной деятельности стороны договора вно компьютерной сети. Источники, которые предоставляют необходимую информацию Đž реальном испОНнонии смарт-контракта блокчейн-оракулу, должны иметь «электронную начинку» для обеспечения точности и надежности исходных данных. Блокчейн-оракулы могут использовать данные, поступающие от различных приборов и устройств. Следует обратить вниПанио на применение датчиков, RFID-меток, камер видеофиксации, сканеров различных объектов. Интересный опыт использования современных технологий, в том числе для получения данных Ой испОНнонии договорных обязательств, имеется в сфере логистики. Датчики, сенсорные метки позволяют осуществлять операторам логистики мониторинг информации Ой усНО- виях перевозки товара, такой как местоположение, удар, вибрация, накНОн, пОНОПка, температура, давНонио, и влажность [5, с. 71]. Стандартизация усНОвиК договоров перевозки, поставки и других для их кодирования при подготовке смарт-контрактов дОНМна осуществляться с учетом ряда особенностей. В частности, осНи в рамках обычного договора поставки требование Đž взыскании неустойки в определенном диапаСОно может заявлять как поставщик, так и покупатель, то с использованием смарт-контракта компьютерная программа но допустит возникновения таких ОснОваниК начисления неустойки, как просрочка оплаты товара поставщиком, так как средства будут списаны и перечислены покупателю автоматически. В будущем особый подход потребуется при Описании алгоритма зачета встречных однородных требований, который практически но используется как вариант оплаты при кодировании смарт-контрактов, хотя в практике решения вопросов оплаты пО обычным гражданско-правовым договорам контрагенты используют такие расчеты. Покупатель может включить в условия смарт-контракта такие основания взыскания неустойки в видо пони, как прострочка поставки товара. Начисление неустойки в видо штрафа Са поставленный товар, Đş которому имеются претензии пО количеству, ассортименту, качеству, будет зависеть от возможности зафиксировать и передать информацию для учета оо компьютерной программой Đž ниСкОП качестве товара иНи Đž поставке огО в меньшем количестве. В случае заключения сПошаннОгО договора, содержащего в сойо элементы договора поставки и договора подряда, надлежащим испОНнониоП будет являться совершение поставщиком нескольких взаимосвязанных последовательных действий. Оценка надлежащего исполнения обязательств специалистом при поставке оборудования, огО монтаже и испытании на сегодняшний день но может быть осуществлена компьютерной программой. Более сНОМнОК представляется задача технической реализации кодирования алгоритма смарт-контракта пО шайНОну договора подряда (субподряда). Формирование сметы, система оплаты с поэтапными, авансовыми платежами, наПнОгО затрудняют Описанио в видо компьютерного алгоритма приведенного процесса расчетов. iНе можете найти то, что ваП нуМнО? Попробуйте сервис подбора литературы. Определенным препятствием автоматизации отслеживания выполнения строительных, монтажных работ является длительность процесса строительства и отсутствие технической возможности получать в автоматическом режиме информацию Đž качестве строительства, применении заявленных материалов, соблюдении технологии строительства, градостроительных норм и правил, экологических требований. Еще недостаточно развиты модульное домостроение, выполнение конструктивных элементов СданиК с использованием строительных 3D-принтеров и другие современные технологии, которые в будущем могут облегчить получение данных Đž выполнении усНОвиК договора строительного подряда, оформленного в видо смарт-контракта. В настоящее время практически новОСПОМнО автоматически получать информацию Đž ходе монтажа, строительства и с использованием блокчейн-оракулов адаптировать эти данные для восприятия компьютерной программой. Кроме того, кОПпНокс возможных ситуаций в ходе выполнения монтажа и строительства связанных с вОСникнОвониоП необходи- мости выполнения дополнительных работ, влиянием неблагоприятных погодных усНОвиК на сроки сдачи объекта и т.Đ´. предусмотреть практически новОСПОМнО. Внешние обстоятельства, влияющие на испОНнонио усНОвиК договора подряда, настолько разнообразны, что в йНиМаКшоо время автоматизировать передачу данных Đž реальном выполнении различных этапов строительных работ для установления исполнения смарт-контракта вряд Ни удастся. В саПОП общем видо ПОМнО констатировать, что достаточная информация в случае обработки оо компьютерной программой может служить ОснОваниоП для вывода Đž надлежащем испОНнонии усНОвиК смарт-контракта. Для выявления нарушений усНОвиК смарт-контракта имеет значение разработка стандартных алгоритмов динаПики исполнения смарт-контракта, включающих последовательность действий и сроки. В то Мо время нуМнО обеспечить получение и передачу информации Ой отклонении от СаданнОгО алгоритма, то есть Đž юридических фактах, признаваемых нарушениями договорных обязательств и являющихся ОснОваниоП для применения санкций как правовых последствий нарушений. За ОснОву следует принять практику исполнения аналогичных гражданско-правовых договоров в части, которая реально может быть включена в разрабатываемый кОд. Наиболее приемлемым следует признать включение в смарт-контракт элементов ответственности в видо взыскания договорной неустойки в видо штрафа иНи пони. Если проводить аналогию с работой юриста, то компьютерная программа дОНМна распознавать юридические факты и пО запрограммированному алгоритму осуществлять «правовую квалификацию» надлежащего исполнения усНОвиК смарт-контракта иНи нарушения огО усНОвиК. Типичные нарушения различных видОв договоров известны юристам, поэтому в алгоритм смарт-контракта ПОМнО включить возможные варианты нарушений усНОвиК смарт-контракта. Для программирования адекватных мер, применяемых Са нарушение усНОвиК смарт-контракта, следует прописывать стандартные сценарии. Если произошло нарушение срока поставки, то смарт-контракт дОНМон автоматически запускать запрограммированное начисление поноК, осНи товар поступил йоС сопроводительных документов, ненадлежащего качества, то автоматически начислять штраф. Пока такой алгоритм ПОМнО установить для простых в испОНнонии смарт-контрактов, выполняемых ОдниП действием, нарушения которого маловари-антны, и их «правовая квалификация» может быть автоматической. Следовательно, элементы «правовой квалификации» с использованием стандартных сценариев допустимо Đ";"""citation_keywords"",""СМАРТ-КОНТРАКТ, ПРАВОВОЙ РЕЗУЛЬТАТ, НАДЛЕЖАЩЕЕ ИСПОЛНЕНИЕ, АЛГОРИТМ """"ПРАВОВОЙ КВАЛИФИКАЦИИ"""", SMART-CONTRACT, LEGAL RESULT, PROPER EXECUTION, ALGORITHM OF """"LEGAL QUALIFICATION"""""" ""og:image"",""https://cyberleninka.ru/article/n/dostizhenie-pravovogo-rezultata-pri-ispolnenii-smart-kontrakta/og"" ""og:image:width"",""1074"" ""twitter:card"",""summary_large_image"" ""eprints.ispublished"",""pub"" ""og:site_name"",""КиберЛенинка"" ""keywords"",""научная статья бесплатно на тему Достижение правового результата при испОНнонии смарт-контракта текст научной работы пО компьютерным и информационным наукаП иС научного журнала Вестник Хабаровского государственного университета экономики и права. СМАРТ-КОНТРАКТ, ПРАВОВОЙ РЕЗУЛЬТАТ, НАДЛЕЖАЩЕЕ ИСПОЛНЕНИЕ, АЛГОРИТМ """"ПРАВОВОЙ КВАЛИФИКАЦИИ"""", SMART-CONTRACT, LEGAL RESULT, PROPER EXECUTION, ALGORITHM OF """"LEGAL QUALIFICATION"""""" ""eprints.pagerange"",""114-118"" ""citation_journal_title"",""Вестник Хабаровского государственного университета экономики и права"" ""eprints.publication"",""Вестник Хабаровского государственного университета экономики и права"" ""language"",""ru"" ""og:description"",""В статье рассмотрено кодирование текстовых данных в смарт-контракте как спОсОй фиксации волеизъявления сторон, направленного на совершение сдоНки. Установлено, что дефицит информации Đž реальной коммерческой деятельности, осуществляемой вно компьютерной сети, препятствует кодированию в смарт-контракте поэтапного отслеживания исполнения прописанных в ноП усНОвиК. ХдоНан вывод Đž перспективности разработки кОдОв смарт-контракта, которые с использованием блокчейн-оракулов смогут отслеживать многовариантные сценарии развития событий в реальной экономической ситуации и принимать решения, сОгНаснО заранее СаданнОПу алгоритму.The article describes the encoding of text data in a smart-contract as a way of fixing the will of the parties aimed at the transactioning. It is established that the lack of information about real commercial activity carried out outside the computer network, prevents coding in the smart-contract of scheduling tracking in the execution of the conditions prescribed in it. The conclusion about the prospects of developing the smart-contract codes that, using blockchain oracles, will be able to track multivariate scenarios of events in the real economic situation and make decisions according to a predetermined algorithm is made."" ""eprints.full_text_status"",""public"" ""citation_issn"",""2618-9526"" ""dc:title"",""Достижение правового результата при испОНнонии смарт-контракта – тема научной статьи пО компьютерным и информационным наукаП читайте бесплатно текст научно-исследовательской работы в электронной библиотеке КиберЛенинка"" ""eprints.place_of_pub"",""Россия, Хабаровск"" ""Content-Encoding"",""UTF-8"" ""citation_pdf_url"",""https://cyberleninka.ru/article/n/dostizhenie-pravovogo-rezultata-pri-ispolnenii-smart-kontrakta/pdf"" ""robots"",""NOODP"",""noyaca"" ""eprints.volume"","""" ""eprints.citation"",""Коваленко Е.Г. Достижение правового результата при испОНнонии смарт-контракта // Вестник Хабаровского государственного университета экономики и права. 2019. Выпуск номер 3 (101), ĐĄ.114-118"" ""eprints.number"",""3 (101)"" ""citation_author"",""Коваленко Е.Г."" ""resourceName"",""dostizhenie-pravovogo-rezultata-pri-ispolnenii-smart-kontrakta"" ""citation_abstract_html_url"",""https://cyberleninka.ru/article/n/dostizhenie-pravovogo-rezultata-pri-ispolnenii-smart-kontrakta"" ""citation_issue"",""3 (101)"" ""eprints.abstract"",""В статье рассмотрено кодирование текстовых данных в смарт-контракте как спОсОй фиксации волеизъявления сторон, направленного на совершение сдоНки. Установлено, что дефицит информации Đž реальной коммерческой деятельности, осуществляемой вно компьютерной сети, препятствует кодированию в смарт-контракте поэтапного отслеживания исполнения прописанных в ноП усНОвиК. ХдоНан вывод Đž перспективности разработки кОдОв смарт-контракта, которые с использованием блокчейн-оракулов смогут отслеживать многовариантные сценарии развития событий в реальной экономической ситуации и принимать решения, сОгНаснО заранее СаданнОПу алгоритму.The article describes the encoding of text data in a smart-contract as a way of fixing the will of the parties aimed at the transactioning. It is established that the lack of information about real commercial activity carried out outside the computer network, prevents coding in the smart-contract of scheduling tracking in the execution of the conditions prescribed in it. The conclusion about the prospects of developing the smart-contract codes that, using blockchain oracles, will be able to track multivariate scenarios of events in the real economic situation and make decisions according to a predetermined algorithm is made."" ""citation_volume"","""" ""format-detection"",""telephone=no"" ""citation_publication_date"",""2019"" ""citation_title"",""Достижение правового результата при испОНнонии смарт-контракта"" ""eprints.date"",""2019"" ""citation_publisher"",""Федеральное государственное бюджетное образовательное учреждение высшего образования «Хабаровский государственный университет экономики и права»"" ""eprints.type"",""article"" ""description"",""В статье рассмотрено кодирование текстовых данных в смарт-контракте как спОсОй фиксации волеизъявления сторон, направленного на совершение сдоНки. Установлено, что дефицит информации Đž реальной коммерческой деятельности, осуществляемой вно компьютерной сети, препятствует кодированию в смарт-контракте поэтапного отслеживания исполнения прописанных в ноП усНОвиК. ХдоНан вывод Đž перспективности разработки кОдОв смарт-контракта, которые с использованием блокчейн-оракулов смогут отслеживать многовариантные сценарии развития событий в реальной экономической ситуации и принимать решения, сОгНаснО заранее СаданнОПу алгоритму.The article describes the encoding of text data in a smart-contract as a way of fixing the will of the parties aimed at the transactioning. It is established that the lack of information about real commercial activity carried out outside the computer network, prevents coding in the smart-contract of scheduling tracking in the execution of the conditions prescribed in it. The conclusion about the prospects of developing the smart-contract codes that, using blockchain oracles, will be able to track multivariate scenarios of events in the real economic situation and make decisions according to a predetermined algorithm is made."" ""title"",""Достижение правового результата при испОНнонии смарт-контракта – тема научной статьи пО компьютерным и информационным наукаП читайте бесплатно текст научно-исследовательской работы в электронной библиотеке КиберЛенинка"" ""eprints.document_url"",""https://cyberleninka.ru/article/n/dostizhenie-pravovogo-rezultata-pri-ispolnenii-smart-kontrakta"" ""twitter:site"",""@CyberLeninka"" ""citation_fulltext_html_url"",""https://cyberleninka.ru/article/n/dostizhenie-pravovogo-rezultata-pri-ispolnenii-smart-kontrakta"" ""eprints.keywords"",""СМАРТ-КОНТРАКТ, ПРАВОВОЙ РЕЗУЛЬТАТ, НАДЛЕЖАЩЕЕ ИСПОЛНЕНИЕ, АЛГОРИТМ """"ПРАВОВОЙ КВАЛИФИКАЦИИ"""", SMART-CONTRACT, LEGAL RESULT, PROPER EXECUTION, ALGORITHM OF """"LEGAL QUALIFICATION"""""" ""Content-Type-Hint"",""text/html; charset=utf-8"" ""eprints.publisher"",""Федеральное государственное бюджетное образовательное учреждение высшего образования «Хабаровский государственный университет экономики и права»"" ""Content-Type"",""text/html; charset=UTF-8"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""og:type"",""article"" ""eprints.title"",""Достижение правового результата при испОНнонии смарт-контракта"" ""og:title"",""Достижение правового результата при испОНнонии смарт-контракта"" ""og:image:height"",""480"" ""eprints.creators_name"",""Коваленко Е.Г."" ""eprints.date_type"",""published"" ""viewport"",""width=device-width, initial-scale=1"" ""apple-mobile-web-app-capable"",""yes"" ""og:url"",""https://cyberleninka.ru/article/n/dostizhenie-pravovogo-rezultata-pri-ispolnenii-smart-kontrakta"" ""eprints.metadata_visibility"",""show"" ""eprints.refereed"",""TRUE"" ""eprints.issn"",""2618-9526"" ";https://scholar.google.com/scholar?start=530&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094541-651;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[PDF][PDF] Appearance of Blockchain Bonds: An Assessment of Blockchain Impact on Bond Issuance Process in European Debt Capital Market;P Sandner, M Hillebrand ;2019 frankfurtuniversity.de;;"… Page 3. II Abstract Beyond cryptocurrency, blockchain technology could be considered as one of the most revolutionary driving force to reshape the current financial ecosystem. Focused mainly on the traditional securities issuance in Europe, traditional bond issuance …";Autres articles;Version HTML;[PDF] frankfurt-university.de;https://www.frankfurt-university.de/fileadmin/standard/Sonstiges/Master_Thesis__Wanli_Chen_Qianxia_Wang.pdf;" Master’s Thesis Appearance of Blockchain Bonds: An Assessment of Blockchain Impact on Bond Issuance Process in European Debt Capital Market Supervised by Prof. Dr. Philipp Sandner (Frankfurt School Blockchain Center) Dr. Martin Hillebrand (European Stability Mechanism) Submitted by Wanli Chen 8368527 Qianxia Wang 8350685 September 2019 I Acknowledgements Throughout the writing of the dissertation, we have received a great amount of support and guidance. We would first like to thank our supervisors, Prof. Dr. Philipp Sandner and Dr. Martin Hillebrand, who have provided us with continued tutoring, encouragement, and guidance over the course of this dissertation. It has been a pleasure working with and learning from you. We would like to acknowledge our colleagues from previous internships at UniCredit Bank AG and Deutsche Bank AG for their wonderful collaboration. An incredible thank you goes out to Mr. Bernd Loder, whose observation and extended network motivated us each and every day and provided us with continuous inspiration. A great thank you to all the experienced professionals that participated in our surveys. Your valuable insights have guided us in the right direction and tremendously contributed to the outcome of our research study. Finally, we would like to thank our family and friends for their unconditional supports and patience through the journey of the master’s degree. Without you all, we won’t have made this far. II Abstract Beyond cryptocurrency, blockchain technology could be considered as one of the most revolutionary driving force to reshape the current financial ecosystem. Focused mainly on the traditional securities issuance in Europe, traditional bond issuance process has been dependant on cumbersome manual workflows, intensive paperwork and involvement of a large number of intermediaries for decades. This thesis provides an in-depth analysis of current inefficiencies in the entire bond issuance value chain in Europe and how blockchain technology could be used to address these issues at stake on top of the existing conventional solutions. In particular, we aim to assess the overall impact from the perspectives of both practical implementation and market participants and thereby employ an approach of combing qualitative analysis with market observation and expert surveys. With the application of blockchain technology, bond issuance process could be driven towards an innovative path in both public and private sector, achieved by enabling smart contract-led automation, reduction of intermediaries, automated asset-servicing through a distributed ledger and 24/7 electronic audit trail along with the various phases. Given the potential streamlined process and workflows, blockchain technology could be a significant endeavour that digitalizes bond issuance process, integrates European debt capital markets, and shifts major market participants' role in the value chain. Keywords: Bond issuance, Blockchain, Distributed ledger technology, European debt capital market, Market inefficiencies, Post-trade process, Smart contract, Tokenization III Table of Content Acknowledgements................................................................................................... I Abstract .................................................................................................................... II Table of Content .................................................................................................... III List of Tables ........................................................................................................... V List of Figures ........................................................................................................ VI List of Appendices ................................................................................................. VI List of Abbreviations ........................................................................................... VII 1 Introduction .......................................................................................................... 4 1.1 Blockchain as a Solution to the inefficiencies and Fragmentation of EU Debt Capital Market ..................................................................................................................... 4 1.2 Identifying Research Questions and Study Structures ........................................... 5 2 Literature Review and Theoretical Background .............................................. 6 2.1 Overview of Eurobond Issuance ............................................................................... 6 2.1.1 Key Participants and Their Roles ...................................................................................... 6 2.1.2 Issuing a bond: pre-issuance and post-trade process ..................................................... 10 2.2 Blockchain Technology ............................................................................................ 15 2.2.1 Types of Blockchains ......................................................................................................... 16 2.2.2 Smart Contract .................................................................................................................. 19 2.2.3 Ethereum ............................................................................................................................ 20 2.2.4 Tokenization – Security Tokens, Utility Tokens and Payment Tokens ........................ 22 3 Data and Methodology....................................................................................... 26 3.1 Market Observations from Current Initiatives ..................................................... 26 3.1.1 Current Initiatives ............................................................................................................. 27 3.1.2 Other Initiatives to Issue Bonds on Different DLT Framework ................................... 31 3.2 Expert Surveys and Interviews ............................................................................... 35 3.2.1 Criteria of Selection and Interviewees Profiles ............................................................... 35 3.2.2 Survey Methodology .......................................................................................................... 35 3.2.3 Questions Design ................................................................................................................ 36 3.2.4 Data Collection and Analysis ............................................................................................ 37 4 Results and Discussions ..................................................................................... 41 4.1 Existing Inefficiencies in the Debt Capital Market ............................................... 41 4.1.1 Inefficiencies in Pre-issuance Process .............................................................................. 41 4.1.2 Inefficiencies in the Post-trade Landscape ...................................................................... 45 4.2 Current Conventional Solutions under Development .......................................... 47 4.2.1 Solutions for the Pre-issuance Process ............................................................................ 47 4.2.2 Solutions for the Post-trade Process ................................................................................ 49 4.3 Blockchain Technology Impact on Debt Issuance Process ................................... 52 4.3.1 Blockchain Bonds .............................................................................................................. 52 4.3.2 Potential Added-value from Blockchain ......................................................................... 55 4.3.3 Changing Roles of Market Participants .......................................................................... 62 4.4 Challenges and Obstacles ........................................................................................ 64 4.4.1 Limits of Adoption ............................................................................................................. 64 4.4.2 Regulatory and Legal Issues ............................................................................................. 67 5 Conclusion, Limitations and Further Research .............................................. 69 IV 5.1 Conclusion and Implications ................................................................................... 69 5.2 Limitations and Further Research ......................................................................... 72 6 References ........................................................................................................... 73 7 Appendices .......................................................................................................... 78 V List of Tables Table 1 Key Participants in the Pre-issuance Process and Their Main Roles............ 6 Table 2 Key Participants in the Post-trade Process and Their Main Roles................ 7 Table 3 List of Required Documents in a Bond Issuance ........................................ 12 Table 4 Governance Models for Alternative Permissioned Blockchain Designs .... 18 Table 5 Scope of Ethereum Application Area in the Financial Markets ................. 21 Table 6 Key Benefits of Tokenization ..................................................................... 22 Table 7 Examples of STOs in Europe ...................................................................... 24 Table 8 New Blockchain Applications in the Debt Market ..................................... 31 Table 9 Type of Survey Participants ........................................................................ 40 Table 10 Technology Challenges in the Permissioned Blockchain ......................... 65 VI List of Figures Figure 1 Paradigm Timeline for a Plain Vanilla Bond by a Debut Issuer ............... 10 Figure 2 Closing Procedures Delivery versus Payment ........................................... 14 Figure 3 League Tables of US and EMEA Investment Grade Corporate Bonds .... 29 Figure 4 Euro Denominated Debt Securities Issuance in the Eurozone .................. 30 Figure 5 Importance of a Standardized Platform to Improve Documentation Workflow in the Pre-issuance Process ..................................................................... 38 Figure 6 Probability of Substantial Intermediaries’ Function Reduction ................ 39 Figure 7 Likelihood of Bond Issuance on Blockchain in a Decade ......................... 40 Figure 8 Three Layers in the Post-trade Landscape ................................................. 45 Figure 9 EDDI Standardized Toolkit for Pre-issuance ............................................ 48 Figure 10 T2S Delivery versus Payment (DvP) Basis ............................................. 49 Figure 11 EDDI End-to-end Channel ...................................................................... 51 Figure 12 Potential Blockchain Design for Digitalised Bond Issuance ................... 54 Figure 13 Potential Model for Due Diligence/KYC Process ................................... 58 List of Appendices Appendix 1 Survey Design and Response Summary............................................... 78 Appendix 2 Weighted Average Results of Rated Questions in the Survey ............. 92 Appendix 3 Survey Participants’ Profiles ................................................................ 93 VII List of Abbreviations AML Anti-Money Laundry API Application Programming Interface BaFin Bundesanstalt fĂźr Finanzdienstleistun gsaufsicht (German Federal Financial Supervisory Authority) CBDC Central Bank Digital Currency CCP Central Counterparties CSD Central Securities Depository CSDR Central Securities Depository Regulation DCM Debt Capital Market DLT Distributed Ledger Technology DvP Delivery versus Payment EACH European Association of CCP Clearing Houses ECB European Central Bank ECSDA European Central Securities Depositories Association EDDI European Distribution of Debt Instruments Initiative EMEA Europe, Middle East and Africa EMIR European Market Infrastructure Regulation EPTF European Post-Trade Forum EU European Union GDPR General Data Protection Regulation ITIN International Token Identification Number ITP Independent Third Party KYC Know Your Customer LML Legal Mark-up Language MiFID Markets in Financial Instruments Directive MiFIR Markets in Financial Instruments Regulation OTC Over-the-counter PFMI Principals for Financial Market Infrastructures STO Security Token Offering VIII SME Small and Medium-sized Enterprises T2S Target2-securities 4 1 Introduction 1.1 Blockchain as a Solution to the inefficiencies and Fragmentation of EU Debt Capital Market In the last years, blockchain technology (also referred to as distributed ledgers technology) has been in the spotlight and touted as a panacea that will revolutionize banking and capital markets. One of the most likely areas for disruption is the traditional debt capital markets, where the old-school business could be advanced and transformed into a new era. The next frontier is the “primary” side of the banks’ lucrative debt underwriting businesses, where the often-knotty work of arranging issuers, investors, agents, and various parties could become much faster and more efficient. Although some senior bankers are dismissive, sneering at efforts to graft technology on to what is an essentially human-driven business, projects under the streamer of “blockchain bonds” are proliferating across the industry. Project Mars, for example, was formed by a consortium of six bulge bracket banks in 2018 to improve pricing technology and maintain market influence. However, in addition to transforming the bond issuance process, blockchain technology has more implications on the overall bond value chain. After a bond is first issued, the vintage capital distributing channels existing in the past decades have also raised concerns regarding fragmentation issues in European capital markets. Back in 2001, “Giovannini barriers” were identified, which describe the 15 main obstacles to efficient cross-border clearing and settlement in Europe. Later in 2017, a new review of the post-trade barriers was carried out by the European Post-Trade Forum (EPTF), which provide a detailed overview of the defined post- trade priorities to be tackled in order to achieve more harmonization in the EU. Lately, in May 2019, ECB launched a potential Eurosystem initiative called EDDI and published a market consultation stating that “exiting ecosystem results in considerable heterogeneity and complexity for market actors, including the end- investors”. Currently, how post-trade process of debt instruments including clearing, settlement, and future payment can be improved by blockchain technology can be found in rather extensive research dissertation and white papers, while the utility and impact on pre- 5 issuance phase remain vague and controversy. With concerns being raised by financial intermediaries regarding their role change along with technology adoption, we drove our research to unveil the seemingly abstract concept of distributed ledger technology and elaborate its influence on the entire bond issuance value chain and on a higher level, how it would contribute to a more efficient and harmonized EU capital market. 1.2 Identifying Research Questions and Study Structures The purpose of this paper is to perform an in-depth analysis on i) blockchain technology as a potential solution to current inefficiencies in the process of bond issuance and ii) an evaluation of market perception regarding potential blockchain implementations through key market participants for a practical view of their expectations of how technology can drive the role change. Accordingly, we implement an approach combining the qualitative analysis with market evidence from i) market observations and ii) expert surveys. The paper is structured as follows. Section 2 first reviews the relevant literature on traditional Eurobond issuance practice, where concrete steps and parties involved in both pre-issuance phase as well as post-trade phase are illustrated. In addition, we demonstrate the essence of associated blockchain technologies, laying a foundation for further discussion on the main research questions. Section 3 depicts the qualitative methods for the exploration of the research model. Qualitative data from the approach of market observation are first presented, followed by an expert survey design aiming to collect first-hand empirical data to address both research questions. Specifically, current initiatives to issue bonds using blockchain technologies are outlined as market evidence. Together with our research results, the qualitative data are integrated into the expert survey questions design, which contributes to the unification of the research methodology. Section 4 then reports and discusses on the results from both market observation and expert surveys, including existing inefficiencies and current solutions in both pre-issuance process and post-trade landscape, blockchain impact and value-add on the value chain, as well as challenge and obstacles of the technology adoption - all addressing to the 2 main research questions. Subsequently, section 5 integrates the findings, highlights both the theoretical and practical implications, and reveals the research limitation along with further research direction. 6 2 Literature Review and Theoretical Background 2.1 Overview of Eurobond Issuance We concentrate on the parties and process involved in the issue of a Eurobond, which is among the most common form of debt securities and something of a paradigm for debt securities issued in the London markets. A Eurobond is a bond denominated in a globally recognized currency, which is not the currency of the country in which the bond is issued (Adams, 2016). The flourish of the Euromarkets was first due to raising restrictions in the domestic markets in the 1970s in the US. Later on, Euromarkets serve as a means to globalize the world’s capital markets, providing an issuer with access to a much greater and often cheaper source of funding than in its domestic market alone. 2.1.1 Key Participants and Their Roles In order to generate a clear overlook of the market participants and their relevant roles, we have divided the descriptions into two parts: table 1 provides key participants descriptions for pre-issuance stage, and table 2 shows the same information but for the post-trade stage. Table 1 Key Participants in the Pre-issuance Process and Their Main Roles Issuer The entity that uses capital markets for raising money: 1) companies, including corporates, banks and financial institutions 2) governments / sovereign 3) public authorities 4) supranationals Lead Manager The financial institution mandated by the issuer to arrange the bond issuance and provide professional advice on the structure, pricing, and timing of the issue; serves as a sponsor and provide confirmation if the bond is to be listed. Syndicate The “co-managers” together with lead manager, providing a distribution network for the issue, sourcing investors, managing the book-building process, and completely or partially underwriting the securities. Auditors Auditors are involved when the issuer is an entity which produces accounts. They audit the issuer’s account for at least the previous three years. When asked, the issuer’s auditors will provide “comfort letters” addressed to the lead manager and the syndicate, mainly confirming no material change in the issuer’s financial condition since the last published accounts, 7 and a “consent letter” consenting to the publication of their report in the offering document. Legal Advisers Separate legal advisors will be appointed by the issuer and the lead manager. If a trust arrangement is concerned, the trustee will also instruct solicitors. If the issue involves an overseas jurisdiction, lawyers form that jurisdiction bust be instructed to ensure compliance with local laws and regulations. The role of legal advisers in a primary issue comprises the preparation of documentation, participation in the due diligence process, and production of a legal opinion for the transaction. Listing Agent Appointed by the issuer to communicate with the listing authority on its behalf, to lodge the necessary documents with the listing authority, and to advise the issuer on the listing rules and process. Table 2 Key Participants in the Post-trade Process and Their Main Roles Fiscal Agent / trustee Either a fiscal agent or a trustee will be appointed by the issuers to help in future payments of the bonds and communications to bondholders. Main differences are that the fiscal agent only acts on behalf of the issuer, while the trustee represents the interests of the bondholders. Principal Paying Agent and Paying Agents Paying agents of the issuers help co-ordinate the principal and interest payments to the paying agents in the jurisdiction of bondholders where the payment is made. Alternatives can be the Fiscal agents when they have a presence in the jurisdictions. Clearing System Clearing systems were developed mainly to avoid physical handling of bearer instruments and facilitate transactions in both primary and secondary markets via participant’s securities clearance account and cash account within the system. In the international euro securities markets, the Euroclear system and the Clearstream Service are the two systems of paramount importance. Depository and Common Depository A depository is an eligible bank appointed to act on behalf of a clearing system as “safe keeper” of the physical securities. A common depository is the same bank required to use when an issue involves more than one clearing system. Under the “New Global Note” structure from July 2006, securities can also be physically held by the clearing systems themselves in order to be eligible as Eurosystem collateral. 8 Custodian Bank A custodian bank takes full responsibility when ensuring that the assets are properly taken into custody and accounted for, and in the case of a sale, that the assets are properly delivered and agreed payment terms are met. Compared to the depository, a custodian bank does not have the control and legal ownership of securities and is not liable in terms of investment loss. Although a bond is newly issued (for detailed process see chapter 2.1.2) and entered into the market for future trading and settlement, the key players are intricately involved, and some of the key infrastructures are explained below: Central Securities Depository (CSD) A CSD is an entity which provides a central point for depositing financial securities, for example, bonds and shares. Historically, CSDs were set up by a country’s national financial authorities, while nowadays most European CSDs have become privately owned and operated in different governance structures. For instance, some CSDs are owned by publicly listed companies or users drawn from the clients’ pool, some operate as part of the corporate group including Stock Exchange and/or a CCP, while others operate separately from the trading and clearing venue. CSDs’ clients are typically financial institutions themselves (such as custodian banks and brokers) rather than individual investors (ECSDA, 2019). As introduced by the EU Regulation of 2014, there are three core functions performed by a CSD: 1. Settlement service: CSDs operate IT platforms for the settlement of securities transactions. A transaction is “settled” once the CSD has credited the account of the buyer with the acquired securities (and debited the according cash amount), while debiting the account of the seller with the securities (and crediting its account with the according cash amount). Such credit and debit movements typically take place simultaneous, in the “Delivery versus payment” (see chapter 2.1.2). 2. Notary service: CSDs records newly issued securities in a book-entry system (called “issuer CSD”) and are often responsible for ensuring that the number of securities initially created equals the total number of securities in circulation (booked in investors’ accounts) at any time in the market. 9 3. Central maintenance service: In settlement of a transaction, CSDs manage the rights and obligations linked to the securities holdings from the top of the securities chains, i.e. all holdings in a given financial instrument, whether by an individual or a financial institution, are ultimately kept in a security account at the CSD. CSDs therefore also provide for the safe keeping (or “central maintenance”) of securities, including, e.g. the processing of corporate actions such as dividend and interest payments, or voting rights execution in the case of shares securities. International CSD (ICSD) While CSDs were primarily created to serve their domestic market, ICSDs were created in the 1970s to settle Eurobonds. Over the years, ICSDs have extended the scope of their services to cover all types of internationally traded financial instruments, including equities and investment funds. There are two ICSDs in the European Union: Clearstream Banking located in Luxembourg and Euroclear Bank sit in Belgium. Both of them hold a banking license and provide settlement in different currencies (ECSDA, 2019). Central Clearing Counterparty (CCP) A CCP interposes itself between the two trading parties becoming the buyer to every seller and the seller to every buyer. The main function of a CCP is, therefore, to guarantee the reciprocal performance of obligations between buyers and sellers (i.e. the counterparties) of financial instruments negotiated on trading venues (e.g. a stock exchange) or bilaterally between trading parties (Over-The-Counter, OTC) through a process called clearing (EPTF Report, 2017). Clearing, technically, is the process of establishing positions, including the calculation of net obligations, and ensuring that financial instruments, cash, or both, are available to secure the exposures arising from those positions (EACH, 2019). CCP clearing provides several benefits for the post-trade process. First, CCPs facilitate risk mitigation by continuously managing the counterparty risks and maintain a “default waterfall” where the loss would not only be absorbed by clearing members’ margin and contribution to the default fund, but also CCP’s own capital reserve defined by EMIR. Another useful function that a CCP can provide is “netting”: if a counterparty buys and sells the same financial instruments in a day, 10 these transactions can also be netted, compressing the quantity of cash and securities to be moved (EPTF Report, 2017). 2.1.2 Issuing a bond: pre-issuance and post-trade process In Euromarkets, the fund-raising timeframe between the issuer first instructing and investment bank to arrange the issue and when the issuer receives the money may range from three weeks to more commonly six weeks for a stand-alone bond (Adams, 2016). In figure 1, the paradigm below shows the usual order in which each stage of the bond issuance occurs, though at times, the next stage begins before the completion of the previous stage. The primary substance of each stage is explained afterwards. Figure 1 Paradigm Timeline for a Plain Vanilla Bond by a Debut Issuer Source: Banking and Capital Markets, Adams, 2016 2.1.2.1 Pre-issuance Process a) Mandate At common practice, a particular company that decided to raise debt will appoint an investment banks to execute the issuance process. The company’s directors will first have lengthy meetings with investment bank originators and its own accountants as well as legal consultants to decide whether they are in need of raising capital. At this stage, the company usually receive tailored proposals from different investment banks, who have done preliminary research on the company and drafted various bond issuance schemes that fit the company’s situation and market condition. 11 After reviewing the schemes proposed and going through the pitch presentations, the company will appoint one investment bank to lead-manage the deal. This is called as the “Mandate”. The issuer and lead manager must first reach agreement on a couple of important matters. These include the marketing strategy, whether to list the bonds, the identity of the fiscal agent or trustee and paying agents, and the fee structure. These matters will be documented in the “mandate letter” or “term sheet” together with the bond’s basic terms and conditions. Having the mandate, the lead manager will first advise as to the most appropriate structure for an issue (i.e. which type of security), the estimated volume, and the best market to target. For instance, the lead managers may be aware that the Middle East investors are especially interested in the type of business the company runs and recommend that the issue targets at them. The lead bank will then approach its clients from the Middle East who have funding capacities and will bring in other banks that have the relevant client base to form a syndicate group (bookrunners) to help sell the bonds to institutional investors or public later. b) Due Diligence The due diligence process helps with providing material for the prospectus (and listing particulars) and also in checking that appropriate matters are being disclosed. A due diligence process will usually involve meetings between the lead manager and its solicitor, the relevant officers of the issuer, and the issuer’s auditors to ascertain and verify the information needed for the issue. Obtaining the comfort letters in agreed form from the issuer’s auditors is also part of the due diligence process following analysis of the issuer’s accounts. In practice, procedures vary greatly from issue to issue depending on the security type issued and nature of the issuer and its business. c) Documentation A typical bond issue involves a substantial number of documents. The principal documentation required are listed in the chart below in two sections: documents relating to the underwriting, subscription and distribution of the bonds and documents which relate to and constitute the bonds themselves. Furthermore, if the bond issue is to be listed, a draft of the prospectus or listing particulars must be sent 12 to the appropriate listing authority usually three weeks before publication. The preparation and negotiation of these documents is the responsibility of the lead manager’s solicitors and will continue through signing and only considered complete on closing when the last documents of the issue are executed. Table 3 List of Required Documents in a Bond Issuance Documents related to underwriting, subscription and distribution Documents related to constitution of bonds a) mandate letter b) invitation telex c) allotment telex d) prospectus or other offering document e) subscription agreement f) agreement among managers g) auditor’s report and consent letter h) auditor’s comfort letters i) legal opinions a) fiscal agency agreement or trust deed b) paying agency agreement (if no fiscal agent) c) temporary global note d) permanent global note (or definitive form bond) e) deed of guarantee f) deed of covenant d) Marketing Marketing is an important job of the lead manager to help raise awareness for the issuer among investors. Roadshows in var";"""date"",""2019-09-26T20:46:25Z"" ""pdf:docinfo:custom:AAPL:Keywords"",""Public"" ""pdf:PDFVersion"",""1.3"" ""xmp:CreatorTool"",""Microsoft Word"" ""pdf:docinfo:title"",""Master’s ThesisAppearance of blockchain bonds: analysis of blockchain impact on bond issuance process in European primary market"" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""subject"",""Public"",""Public"" ""language"",""en"" ""dc:format"",""application/pdf; version=1.3"" ""pdf:docinfo:creator_tool"",""Microsoft Word"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"",""Master’s ThesisAppearance of blockchain bonds: analysis of blockchain impact on bond issuance process in European primary market"" ""xmp:CreateDate"",""2019-09-26T20:44:19Z"" ""modified"",""2019-09-26T20:46:25Z"" ""pdf:hasMarkedContent"",""false"" ""xmp:ModifyDate"",""2019-09-26T20:44:19Z"" ""pdf:docinfo:creator"",""Wanli cHEN"" ""meta:author"",""Wanli cHEN"" ""meta:creation-date"",""2019-09-26T20:46:25Z"" ""created"",""2019-09-26T20:46:25Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2019-09-26T20:46:25Z"" ""resourceName"",""Master_Thesis__Wanli_Chen_Qianxia_Wang.pdf"" ""Author"",""Wanli cHEN"" ""producer"",""Mac OS X 10.12.6 Quartz PDFContext"" ""pdf:docinfo:producer"",""Mac OS X 10.12.6 Quartz PDFContext"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""Keywords"",""Public"",""Public"" ""access_permission:modify_annotations"",""true"" ""AAPL:Keywords"",""Public"" ""dc:creator"",""Wanli cHEN"" ""dcterms:created"",""2019-09-26T20:46:25Z"" ""Last-Modified"",""2019-09-26T20:46:25Z"" ""dcterms:modified"",""2019-09-26T20:46:25Z"" ""title"",""Master’s ThesisAppearance of blockchain bonds: analysis of blockchain impact on bond issuance process in European primary market"" ""xmpMM:DocumentID"",""uuid:7B876825-9A26-4008-ABE3-D043EF652E44"" ""Last-Save-Date"",""2019-09-26T20:46:25Z"" ""pdf:docinfo:keywords"",""Public"" ""pdf:docinfo:modified"",""2019-09-26T20:46:25Z"" ""meta:save-date"",""2019-09-26T20:46:25Z"" ""Content-Length"",""1687555"" ""Content-Type"",""application/pdf"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"",""Wanli cHEN"" ""dc:subject"",""Public"",""Public"" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""100"" ""pdf:hasXMP"",""true"" ""pdf:charsPerPage"",""366"",""1146"",""1662"",""5311"",""526"",""985"",""1661"",""1118"",""68"",""2313"",""2538"",""2210"",""2336"",""2258"",""2352"",""1416"",""2330"",""2108"",""2288"",""1329"",""2261"",""2351"",""2495"",""1816"",""2527"",""2355"",""2492"",""2317"",""2304"",""2557"",""2391"",""2289"",""2334"",""2353"",""2199"",""2356"",""2114"",""1706"",""2013"",""2167"",""2466"",""2285"",""1778"",""1702"",""1776"",""1593"",""2021"",""2444"",""2177"",""2339"",""1632"",""2621"",""2236"",""1839"",""1617"",""2307"",""1198"",""2483"",""2321"",""1817"",""2259"",""2219"",""2438"",""1572"",""2319"",""2537"",""2426"",""2342"",""2174"",""2197"",""2512"",""2499"",""2463"",""2583"",""2324"",""2606"",""2650"",""2194"",""2453"",""2485"",""3059"",""2811"",""1429"",""1946"",""2235"",""2508"",""2544"",""2695"",""1950"",""2601"",""2139"",""1433"",""2400"",""1903"",""1745"",""1753"",""2596"",""1198"",""1062"",""504"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""meta:keyword"",""Public"",""Public"" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2019-09-26T20:46:25Z"" ";https://scholar.google.com/scholar?start=470&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094612-952;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Understanding How to Use Static Analysis Tools for Detecting Cryptography Misuse in Software;A Braga, R Dahab, N Antunes… ; IEEE Transactions …, 2019 ieeexplore.ieee.org;;"… 35] studied the bug characteristics in eight open source systems for blockchain, examining bug … of unen- crypted HTTP channels, insufficient TLS protection, and padding oracles, represented by … as well as prototype tools like MalloDroid [26] and Padding Oracle Exploitation Tool …";Cité 5 fois;Les 2 versions;[PDF] ieee.org;https://ieeexplore.ieee.org/iel7/24/4378406/08863426.pdf?casa_token=zxDClA25NA4AAAAA:SKwr9TPmy525lf_0qjhfCPHanDma8RWkx4fqcyTjmNuFmkdP7Qvy-i7Bt9QdKNjwao0afnUKexs;" Skip to Main Content IEEE Account Change Username/Password Update Address Purchase Details Payment Options Order History View Purchased Documents Profile Information Communications Preferences Profession and Education Technical Interests Need Help? US & Canada: +1 800 678 4333 Worldwide: +1 732 981 0060 Contact & Support About IEEE Xplore Contact Us Help Accessibility Terms of Use Nondiscrimination Policy Sitemap Privacy & Opting Out of Cookies A not-for-profit organization, IEEE is the world's largest technical professional organization dedicated to advancing technology for the benefit of humanity. Š Copyright 2021 IEEE - All rights reserved. Use of this web site signifies your agreement to the terms and conditions. ";"""og:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""twitter:title"",""Understanding How to Use Static Analysis Tools for Detecting Cryptography Misuse in Software"" ""twitter:card"",""summary"" ""Description"",""The use of cryptography is nowadays common in software systems, with cryptographic libraries widely available to software developers. As such, the likely weakes"" ""og:title"",""Understanding How to Use Static Analysis Tools for Detecting Cryptography Misuse in Software"" ""resourceName"",""08863426.pdf"" ""language"",""en"" ""title"",""Understanding How to Use Static Analysis Tools for Detecting Cryptography Misuse in Software | IEEE Journals & Magazine | IEEE Xplore"" ""og:description"",""The use of cryptography is nowadays common in software systems, with cryptographic libraries widely available to software developers. As such, the likely weakest link in sensitive software has moved from cryptographic function implementations to the application code surrounding such functions. Ordinary developers usually lack knowledge in practical cryptography, and support from specialists is rare. Frequently, these difficulties are addressed by running static analysis tools to automatically detect cryptography misuse during coding and reviews. However, the effectiveness of such tools is not yet well understood. This article studies how well programmatic misuse of cryptography is detected by free static code analysis tools. The performance of such tools in detecting misuse is correlated to coding tasks and use cases commonly found in development efforts; also, cryptography misuse is classified in comprehensive categories, easily recognizable by software security practitioners. Our research shows that the coverage of public-key cryptography by static code analysis tools is full of blind spots, because tools prioritize only those misuses related to the most frequent coding tasks and use cases, while neglecting infrequent use cases. We found that, in addition to a relatively low recall in our tests, evaluated tools also have a small overlap regarding the misuses detected by all the evaluated tools, as well as an intersection of false alarms, suggesting lack of discrimination between specific misuses and corresponding good uses of cryptography. In spite of that, well-selected tools can be useful when developing cryptographic software, but support of experts is still required for solving complex cases."" ""twitter:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-UA-Compatible"",""IE=Edge"" ""viewport"",""width=device-width, initial-scale=1.0"" ""dc:title"",""Understanding How to Use Static Analysis Tools for Detecting Cryptography Misuse in Software | IEEE Journals & Magazine | IEEE Xplore"" ""twitter:description"",""The use of cryptography is nowadays common in software systems, with cryptographic libraries widely available to software developers. As such, the likely weakest link in sensitive software has moved from cryptographic function implementations to the application code surrounding such functions. Ordinary developers usually lack knowledge in practical cryptography, and support from specialists is rare. Frequently, these difficulties are addressed by running static analysis tools to automatically detect cryptography misuse during coding and reviews. However, the effectiveness of such tools is not yet well understood. This article studies how well programmatic misuse of cryptography is detected by free static code analysis tools. The performance of such tools in detecting misuse is correlated to coding tasks and use cases commonly found in development efforts; also, cryptography misuse is classified in comprehensive categories, easily recognizable by software security practitioners. Our research shows that the coverage of public-key cryptography by static code analysis tools is full of blind spots, because tools prioritize only those misuses related to the most frequent coding tasks and use cases, while neglecting infrequent use cases. We found that, in addition to a relatively low recall in our tests, evaluated tools also have a small overlap regarding the misuses detected by all the evaluated tools, as well as an intersection of false alarms, suggesting lack of discrimination between specific misuses and corresponding good uses of cryptography. In spite of that, well-selected tools can be useful when developing cryptographic software, but support of experts is still required for solving complex cases."" ""Content-Encoding"",""UTF-8"" ""Content-Type-Hint"",""text/html; charset=utf-8"" ""Content-Language"",""en-US"" ""Content-Type"",""text/html; charset=UTF-8"" ";https://scholar.google.com/scholar?start=770&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094654-1135;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[HTML][HTML] Security tokens: architecture, smart contract applications and illustrations using SAFE;H Subramanian ; Managerial Finance, 2019 emerald.com;United Kingdom;"… The financial product should be tradeable either to fiat or to other crypto-tokens … Oracle registry – the oracle registry is a store for user identifiable information, where parties (eg … who can participate in a contract can store their personally identifiable information on the blockchain …";Cité 6 fois;Les 5 versions;[HTML] emerald.com;https://www.emerald.com/insight/content/doi/10.1108/MF-09-2018-0467/full/html?casa_token=Ng2yPbfj6IIAAAAA:EqqcVCROBav5-JHOJu0oBrUZPNZRiwIvNb67SKFrKuM2zJzkyPzlO61wBr2tP44ZLQtoKa-rU-SiIszs0jrkvKe11n4ar0e8kq1KPpehJem79DxqgA;" Books and journals Case studies Expert Briefings Open Access Advanced search To read the full version of this content please select one of the options below: [image: Emerald logo icon] Access options You may be able to access this content by logging in via Shibboleth, OpenAthens or with your Emerald account. Login Rent this content from DeepDyve Rent from DeepDyve If you think you should have access to this content, click to contact our support team. Contact us Please note you do not have access to teaching notes [image: Emerald logo icon] Access options You may be able to access teaching notes by logging in via Shibboleth, OpenAthens or with your Emerald account. Login If you think you should have access to this content, click to contact our support team. Contact us Security tokens: architecture, smart contract applications and illustrations using SAFE Hemang Subramanian (Department of Information Systems and Business Analytics, Florida International University, Miami, Florida, USA) Managerial Finance ISSN: 0307-4358 Article publication date: 13 August 2019 Issue publication date: 29 August 2020 Abstract Purpose Blockchain technologies have pervaded modern crowdfunding and capital sourcing through a variety of financial instruments implemented as smart contracts. Smart contracts provide a unique mechanism not only to create a unique one-of-a-type financial instrument, but also to enable unique innovations atop existing financial instruments due to underlying efficiencies. The smartness comes from the flexibility that programs provide which can create extremely unique financial instruments that are often complex to implement, yet easy to create, maintain through versioning, trade and destroy. The purpose of this paper is to describe the security token architecture as an application of smart contracts. Further, the author illustrates the implementation and design of a commonly used financial instrument known as Simple Agreement for Future Equity (SAFE) using the security token architecture proposed and smart contract functionality. The author then models the transaction using relational algebra, and, models the utility maximization. The author shows how on account of reduced information asymmetry between the investors and SAFE users (i.e. startups) utility is positive when smart contract-based security tokens are deployed for each state in the SAFE contract. Design/methodology/approach Using an existing well-adopted instrument called a SAFE contract, the author illustrates the architecture of a smart contract-based security token system. The author illustrates how different components of a SAFE contract can be implemented as a smart contract and discusses the advantages and disadvantages of applying blockchain-based smart contracts to design SAFE instruments. The author deploys two methods: a state space diagram to explain state transitions and a utility model to explain the utilities. Findings The key findings of this research study are the design of a security token architecture, which can be used to convert any the physical or contract-based financial instrument to a smart contract that runs on the blockchain. However, there are limitations to the implementation of the same which can be overcome. The model illustrates the positive utilities derived for all economic actors, i.e. the contractors, the utility providers, etc., in the market. Originality/value This paper is an original paper. For the very first time, the author explored the architecture of a security token system. Using a well-known financial instrument, namely the SAFE, the author describes various components, e.g. the four contracts that form SAFE and then model the utilities for the system. Keywords Financial instruments Blockchain Smart contracts SAFE instrument Security tokens Utility maximization Citation Subramanian, H. (2020), ""Security tokens: architecture, smart contract applications and illustrations using SAFE"", Managerial Finance, Vol. 46 No. 6, pp. 735-748. https://doi.org/10.1108/MF-09-2018-0467 Publisher : Emerald Publishing Limited Copyright Š 2019, Emerald Publishing Limited [image: Emerald Publishing] Opens in new window Opens in new window Opens in new window Opens in new window Š 2021 Emerald Publishing Limited Services Authors Opens in new window Editors Opens in new window Librarians Opens in new window Researchers Opens in new window Reviewers Opens in new window About About Emerald Opens in new window Working for Emerald Opens in new window Contact us Opens in new window Publication sitemap Policies and information Privacy notice Site policies Modern Slavery Act Opens in new window Chair of Trustees governance statement Opens in new window COVID-19 policy Opens in new window × Support & Feedback Manage cookies We’re listening — tell us what you think Something didn’t work… Report bugs here All feedback is valuable Please share your general feedback Member of Emerald Engage? You can join in the discussion by joining the community or logging in here. You can also find out more about Emerald Engage. Join us on our journey Platform update page Visit emeraldpublishing.com/platformupdate to discover the latest news and updates Questions & More Information Answers to the most commonly asked questions here ";"""keywords"",""Financial instruments,Blockchain,Smart contracts,SAFE instrument,Security tokens,Utility maximization"" ""dc.Title"",""Security tokens: architecture, smart contract applications and illustrations using SAFE"" ""citation_journal_title"",""Managerial Finance"" ""description"",""Security tokens: architecture, smart contract applications and illustrations using SAFE - Author: Hemang Subramanian"" ""language"",""en"" ""title"",""Security tokens: architecture, smart contract applications and illustrations using SAFE | Emerald Insight"" ""dc.Identifier"",""10.1108/MF-09-2018-0467"",""0307-4358"" ""dc.Publisher"",""Emerald Publishing Limited"" ""dc.Format"",""text/html"" ""dc:title"",""Security tokens: architecture, smart contract applications and illustrations using SAFE | Emerald Insight"" ""csrf-token"",""XfkOolnOPjDS1Diji6IKcpJFLe59dyuYtZyfzDKQ"" ""Content-Encoding"",""UTF-8"" ""dc.Date"",""2019-08-13T00:00:00Z"" ""citation_xml_url"",""https://www.emerald.com/insight/content/doi/10.1108/MF-09-2018-0467/full/xml"" ""dc.Subject"",""Financial instruments,Blockchain,Smart contracts,SAFE instrument,Security tokens,Utility maximization"" ""Content-Type"",""text/html; charset=UTF-8"" ""dc.Contributor"",""Hemang Subramanian"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""dc.Type"",""article"" ""resourceName"",""html"" ""X-UA-Compatible"",""IE=edge"" ""dc.Language"",""en"" ""dc.Description"",""Blockchain technologies have pervaded modern crowdfunding and capital sourcing through a variety of financial instruments implemented as smart contracts. Smart contracts provide a unique mechanism not only to create a unique one-of-a-type financial instrument, but also to enable unique innovations atop existing financial instruments due to underlying efficiencies. The smartness comes from the flexibility that programs provide which can create extremely unique financial instruments that are often complex to implement, yet easy to create, maintain through versioning, trade and destroy. The purpose of this paper is to describe the security token architecture as an application of smart contracts. Further, the author illustrates the implementation and design of a commonly used financial instrument known as Simple Agreement for Future Equity (SAFE) using the security token architecture proposed and smart contract functionality. The author then models the transaction using relational algebra, and, models the utility maximization. The author shows how on account of reduced information asymmetry between the investors and SAFE users (i.e. startups) utility is positive when smart contract-based security tokens are deployed for each state in the SAFE contract.,Using an existing well-adopted instrument called a SAFE contract, the author illustrates the architecture of a smart contract-based security token system. The author illustrates how different components of a SAFE contract can be implemented as a smart contract and discusses the advantages and disadvantages of applying blockchain-based smart contracts to design SAFE instruments. The author deploys two methods: a state space diagram to explain state transitions and a utility model to explain the utilities.,The key findings of this research study are the design of a security token architecture, which can be used to convert any the physical or contract-based financial instrument to a smart contract that runs on the blockchain. However, there are limitations to the implementation of the same which can be overcome. The model illustrates the positive utilities derived for all economic actors, i.e. the contractors, the utility providers, etc., in the market.,This paper is an original paper. For the very first time, the author explored the architecture of a security token system. Using a well-known financial instrument, namely the SAFE, the author describes various components, e.g. the four contracts that form SAFE and then model the utilities for the system."" ""viewport"",""width=device-width, initial-scale=1"" ""DCTERMS.bibliographicCitation"",""&ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.spage=735&rft.epage=748&rft.volume=46&rft.issue=6"" ""dc.Coverage"",""world"" ""Content-Language"",""en"" ""format-detection"",""telephone=no"" ";https://scholar.google.com/scholar?start=950&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094661-1162;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Collusion resistant broadcast and trace from positional witness encryption;R Goyal, S Vusirikala, B Waters ; IACR International Workshop on Public …, 2019 Springer;;"… However, we chose to refer to it as Broadcast and Trace system as it is more appropriate. They have an additional tracing algorithm which given only the oracle access to the box D can perform this traitor extraction. Broadcast …";Cité 6 fois;Les 2 versions;[PDF] iacr.org;https://eprint.iacr.org/2019/031.pdf;" Collusion Resistant Broadcast and Trace from Positional Witness Encryption Rishab Goyal∗ Satyanarayana Vusirikala† Brent Waters‡ Abstract An emerging trend is for researchers to identify cryptography primitives for which feasibility was first established under obfuscation and then move the realization to a different setting. In this work we explore a new such avenue — to move obfuscation-based cryptography to the assumption of (positional) witness encryption. Our goal is to develop techniques and tools, which we will dub “witness encryption friendly” primitives and use these to develop a methodology for building advanced cryptography from positional witness encryption. We take a bottom up approach and pursue our general agenda by attacking the specific problem of building collusion-resistant broadcast systems with tracing from positional witness encryption. We achieve a system where the size of ciphertexts, public key and private key are polynomial in the security parameter Îť and independent of the number of users N in the broadcast system. Currently, systems with such parameters are only known from indistinguishability obfuscation. 1 Introduction Over the past five years the introduction of candidate indistinguishability obfuscation schemes [GGH+13b] has produced a dramatic shift in the community’s view of which cryptographic primitives are plausibly achievable. Starting with [SW14] there have been several works [SW14, BZ14, GGHR14, BP15, KLW15, CLTV15, HJK+16, GPS16, BPW16] that leverage the power of indistiguishability obfuscation [BGI+01, BGI+12] to give new solutions for problems ranging from deniable encryption to showing the hardness of finding Nash equilibrium. An emerging trend is for researchers to identify cryptography primitives for which feasibility was first established under obfuscation and then move the realization to a different setting. For example, several works [BP15, KW16, AP16, GKW17b, GKW17a, WZ17] proposed solutions under the Learning with Er- rors [Reg05] (LWE) assumption of primitives (or impossibility results) that to that point were known only under indistinguishability obfuscation. The motivation for this movement is that LWE is considered a standard assumption with connections to certain problems on lattices, while current indistinguishability obfuscation constructions are based on much newer multilinear map candidates. In a different line of re- searchers [GPSZ17, LZ17] have shown how to base applications such as realizing trapdoor permutations and the hardness of Nash equilibrium from functional encryption. While subexponentially hard functional en- cryption is known to imply indistinguishability obfuscation [AJ15, BV15, AJS15], this direction is motivated by building these primitives with only a polynomial loss in the reductions coupled with prospect of functional encryption schemes realized from the polynomial hardness of standard assumptions. In this work we explore a new such avenue — to move obfuscation-based cryptography to the assumption of (positional) witness encryption [GGSW13, GLW14]. Recall that in a witness encryption scheme, say for SAT, an encryption algorithm takes in a message m along with a boolean formula φ that operates an ∗University of Texas at Austin. Email: rgoyal@cs.utexas.edu. †University of Texas at Austin. Email: satya@cs.utexas.edu. ‡University of Texas at Austin. Email: bwaters@cs.utexas.edu. Supported by CNS-1414082, DARPA SafeWare, Microsoft Faculty Fellowship, and Packard Foundation Fellowship. 1 n bit input w producing a ciphertext ct. A decryptor can recover the message m from ct if it knows a w such that φ(w) = 1. If no such w exists, then the message is computationally hidden. In addition to serving as its own application, witness encryption is known to give rise to primitives such as identity-based encryption [Sha85, BF01] and attribute-based encryption [SW05]. A natural question is why push for moving cryptography from indistinguishability obfuscation to posi- tional witness encryption when current constructions for both rely on multilinear maps [GGH13a, CLT13, GGH15, CLT15]. The justification (like in [GPSZ17, LZ17]) relies on some projection to the future. Since witness encryption is a less powerful primitive than indistinguishability obfuscation, it is believed that the community will likely arrive at a standard assumption solution earlier. This conjecture is supported by some heuristic evidence: • The work of [GLW14] showing provably secure positional witness encryption from simple multilinear map assumptions came earlier than and was simpler than the later work [GLSW15] which gave a similar result for obfuscation. • Recently, it was shown [BJK+17] that attribute-based encryption gives rise to a non-trivial form of witness encryption. This might lead to further advances in witness encryption which would not necessarily translate to general obfuscation. • Recently, the concept of lockable obfuscation [GKW17a, WZ17] was proposed and shown to be realiz- able under the LWE assumption. Like witness encryption this is a general class of obfuscation, but is more restricted than indistinguishability obfuscation. • Very recently, Chen et al. [CVW18] gave a new candidate for witness encryption (albeit not posi- tional witness encryption) inspired by [GGH15] multilinear encodings. An important feature of their candidate is that it directly encodes read-once branching program representations of the associated CNF formulae, thereby avoiding attacks such as input-mixing and more. Since read-once branching programs are much less expressive than general branching programs, this also points towards reaching the goal of witness encryption before obfuscation. In addition, we expect future solutions to witness encryption to be practically more efficient than full blown indistinguishability obfuscation. Our goal is to develop techniques and tools, which we will dub “witness encryption friendly” primitives1, and use these to develop a methodology for building advanced cryptography from positional witness encryp- tion. While we don’t expect to move all or even “most” of obfuscation-based cryptography to positional witness encryption, we believe that a long term effort could yield a number of applications which are compara- ble to those achieved from the aforementioned efforts on building from functional encryption [GPSZ17, LZ17] or lockable obfuscation [GKW17a, WZ17]. We will take a bottom-up approach and pursue our general agenda by attacking specific problems that are not known from witness encryption. To that end in this work we study building collusion-resistant broadcast systems with tracing from positional witness encryption. Our goal is to achieve where the size of ciphertexts, public key and private key are polynomial in the security parameter Îť and independent of the number of users N in the broadcast system.2 Below we provide an overview of prior work, present our new results, toolkit of “witness encryption friendly” primitives, and the techniques that allow us to achieve the above goals. 1.1 Overview Broadcast Encryption with Tracing. Broadcast Encryption was introduced by Fiat and Naor [FN94]. A broadcast encryption scheme, like a standard public key encryption scheme, consists of three algorithms 1This is intended to mirror the term “iO friendly” used elsewhere in the literature. 2Following prior broadcast encryption literature we will not count a description S of the recipients of a ciphertext toward the ciphertext overhead. 2 — setup, encryption and decryption. The setup algorithm outputs a public key and N secret keys, where N represents the number of users given as an input. Using the encryption algorithm, a sender can encrypt a message such that the corresponding ciphertext can only be decrypted by the “qualified” users S ⊆ [N ].3 Here the set S is given as input to the encryption algorithm. The decryption algorithm is self-explanatory. For security it is required that no set of colluding users can decrypt a ciphertext if none of them are qualified. Suppose that a set of users S1 collude to create a decoding box D which is capable of decrypting ciphertexts intended for some (possibly different) set of users S2 with some non-negligible probability. A broadcast system which provides tracing capabilities allows extraction of a non-empty set T (from the box D) such that T ⊆ S1, i.e. contains at least one colluding user but none outside of it. Such broadcast systems are referred to as Trace and Revoke systems in the folklore [NP00, NNL01]. However, we chose to refer to it as Broadcast and Trace system as it is more appropriate. They have an additional tracing algorithm which given only the oracle access to the box D can perform this traitor extraction. Broadcast and Trace via Augmented Broadcast Encryption (AugBE). Boneh and Waters (BW) [BW06a] built the first fully collusion resistant Broadcast and Trace scheme with sub-linear (in N) ciphertext size. They also provided a framework for building Broadcast and Trace schemes by introducing an intermediate primitive called augmented broadcast encryption (AugBE). We follow the same approach in this work and therefore we elaborate on it now. An AugBE scheme, as the name suggests, is a broadcast encryption scheme with an augmented en- cryption functionality. Similar to a standard broadcast encryption scheme it consists of setup, encryption and decryption algorithms. In an AugBE system, the encryption algorithm also receives a “cutoff” index i ∈ [N + 1], in addition to a set S ⊆ [N ], as an input. This cutoff index affects the decryptability of the ciphertext in such a way that the resultant ciphertext can only be decrypted by the users S′ = S \ [i − 1], i.e. users whose indices are as large as i and belong to the set S are now labelled as qualified. BW defined two security properties for an AugBE system — index hiding and message hiding security. The first security property (index hiding) states that an encryption of m under set S to index i is indistinguishable from an encryption of m under set S to index i+ 1, if either i /∈ S (even when the adversary has all the secret keys), or the adversary does not have the ith key. The second property (message hiding) states that an encryption of m0 under set S to index N + 1 is indistinguishable from an encryption of m1 under set S to index N + 1, even when the adversary is given all N secret keys. BW argued that if an AugBE scheme satisfies these two properties, then that is sufficient for constructing a Broadcast and Trace (BT) scheme. In their transformation, the BT setup and decryption algorithm are identical to their AugBE counterparts. For encryption, a sender runs the AugBE encryption algorithm with the cutoff index value set to be 1. The tracing algorithm runs AugBE encryption varying the value of cutoff index. Given a decoder box D and target set S, the tracing algorithm encrypts random messages under set S to every index i = 1 to N +1, and estimates (for each index i) the probability D decrypts correctly. Suppose the probability decoder D is successful, i.e. decrypts standard (index 1) ciphertexts correctly, is at least Îľ. By message hiding property, we know that D can not have non-negligible success probability when run on ciphertexts encrypting to index N + 1. This implies that there must exist an index i∗ ∈ [N ] such that the decoder’s success probability in decrypting index i∗ ciphertexts is at least ≈ Îľ/N more than in decrypting index i∗ + 1 ciphertexts. Every cutoff index i where there is a gap in the estimated success probabilities for index i and i+ 1, the tracing algorithm adds that user i to the set of traitors. The main idea here is that if an index i /∈ S or the adversary does not have the key for user i, then by index hiding security it should not be able to distinguish between index i and i+ 1 ciphertexts. Although the above transformation seems to work (at least intuitively), we would like to point out that the proof provided in [BW06a] was inaccurate. Very briefly, the problem lies in the fact that there is a “semantic gap” between the definitions of BT and AugBE schemes. The issue is that in a BT system an adversary outputs a box which performs some decoding/decryption operations, whereas in an AugBE system the adversary plays a distinguishing game. At first, it seems like one could use the decoder box to decrypt the ciphertext and use its output for distinguishing. The problem is that decoder might work incorrectly 3Here qualified could alternatively be interpreted as “non-revoked”. 3 sometime and it would affect the success probability of the reduction algorithm. Similar issues were observed by Goyal, Koppula and Waters [GKW18] in the context of (non-broadcast) traitor tracing. They resolved the issue by upgrading the security requirements from the underlying intermediate primitives to match the decoder-based security notions required for traitor tracing. In this work we fix the proof of security for the BW transformation showing that it does lead to a secure BT scheme.4 More details are provided later in Section 3. Our Results and Prior Work. Our main result are new collusion-resistant Broadcast and Trace schemes from positional witness encryption where the size of ciphertexts, public key and private key are polynomial in the security parameter Îť and independent of the number of users N5. Currently, systems with such pa- rameters are only known from indistinguishability obfuscation [NWZ16]. If we drop the tracing requirement, that is consider only broadcast encryption, there are constructions based on multilinear maps [BWZ14] and iO [BZ14]. If we drop the revocation requirement, that is consider only traitor tracing, schemes with such pa- rameters are known based on iO [BZ14]. In bilinear groups we can achieve short ciphertexts [BGW05, GW09], but with longer keys if we drop the tracing requirement. Additionally, we have solutions [BW06a] with ci- phertexts that grow proportionally to √ N if we keep it. Very recently, Goyal, Koppula and Waters [GKW18] gave a polylog traitor tracing scheme from the LWE assumption. However, their system does not have the capability to broadcast to arbitrary sets. We further develop a toolkit of certain simpler primitives such that these could be used in conjunction with positional witness encryption in similar vein to how we have iO friendly primitives to support appli- cations of iO. Our BT scheme is secure assuming the existence of positional witness encryption and these simpler primitives. We provide numerous instantiations of these primitives from a wide variety of standard assumptions such as LWE, RSA and decision linear over bilinear groups. Now we describe our techniques and main ideas to build a Broadcast and Trace system. Building Augmented Broadcast Encryption from Positional Witness Encryption. The main building block used in our construction is a positional witness encryption (PWE) scheme. In a PWE scheme, the encryption algorithm also takes as input a cutoff index i ∈ {0, . . . , 2n} where n is the bit length of witnesses on which the corresponding boolean formula (witness relation) φ operates. A decryptor can recover the message m from ct if it knows a w such that φ(w) = 1 and w ≥ i.6 For security it has two properties — message hiding and index hiding. First, message hiding states that a message encrypted for index 2n (i.e., the last index) is hidden irrespective of the boolean formula used. Second, index hiding states that an encryption of m under formula φ for index i is indistinguishable from an encryption of m under φ to index i+ 1, if φ(i) = 0. We now provide an outline of our AugBE construction. Let us start with a simple idea. Suppose during setup, the algorithm samples a key pair for a standard signature scheme. Next, the secret key for ith user consists of a signature σi on message i and the public key simply corresponds to the verification key vk. To encrypt a message m under set S and index i, the encryptor runs the PWE encryption algorithm on message m for index i || 0` and formula φvk,S , where φvk,S(j, σ) = 1 iff ‘j ∈ S’ and ‘σ is a valid signature on j under vk’. Here ` denotes the length of the signatures. For decryption a user simply runs the PWE decryption with its index and signature as the witness. Correctness of this scheme follows directly. However, this scheme is clearly not compact since the set S is embedded in the formula φvk,S and since the size of PWE ciphertexts could arbitrarily (but polynomially) depend on the size of the formula, thus the overall AugBE scheme could be highly inefficient. In a few words the problem is that we are implementing a trivial set membership check which breaks compactness. To get around this problem we will use an alternate set membership check. Our idea is to embed only a succinct commitment to the set S in the formula φ such that there exists proofs of membership in S that grow at most logarithmically with the number of users N . Clearly such a primitive would resolve the inefficiency 4Here we only consider BT schemes with public traceability. 5Here we assume that number of users N is at most poly(Îť) 6Here comparisons between bit-strings is performed by interpreting each bit-string as non-negative integer. 4 problem. One possible execution of this idea is via a Merkle hash tree.7 Let IS represent the N -bit indicator string corresponding to set S, i.e. ith bit of IS is 1 iff i ∈ S. We modify the encryption procedure as follows — first compute a hash h of string IS ; next run the PWE encryption algorithm on message m for index i || 0` || 0k and formula φvk,h,N , where φvk,h,N (j, σ, π) = 1 iff ‘j ≤ N ’, ‘π is a valid proof membership for index j w.r.t. hash h’ and ‘σ is a valid signature on j under vk’. Here proof π simply corresponds to the pre-images in the hash tree along the path from the root h to the leaf node containing the jth bit, and k denotes the length of proof π. The decryption is then performed analogously where the decryptor computes the membership proof by hashing IS and using the appropriate leaf-to-root path as a proof. This seems to resolve the succinctness problem as the size of the ciphertext is independent of the number of users. Also, at least intuitively, it seems that the scheme should satisfy both index hiding and message hiding security properties. The intuition is that since φvk,h,N is not satisfied by any witness larger than (N + 1) || 0` || 0k, by using security of PWE we can argue message hiding security for the above scheme.8 For arguing index hiding security we would hope to use the fact that if i /∈ S, or if the adversary does not receive the key for ith user, then the adversary does not know of any witnesses of the form i || {0, 1}` || {0, 1}k and thus we could use PWE index hiding security. In the first case (i.e., i /∈ S) hardness of computing witnesses should follow from collision resistance of the hash function, and in the second scenario it should follow from unforgeability of the signature scheme. However, there is a problem here. Although we could argue that witnesses are hard-to-compute while proving index hiding for AugBE, this won’t be sufficient overall as for applying PWE index hiding security as it is necessary that there does not exist any witness of the form i || {0, 1}` || {0, 1}k. Thus, unless the underlying PWE scheme provides some strong notion of extractable security, it is not clear how to prove security of the above construction.9 To this end, we develop a toolkit of certain simpler primitives, which aid us in proving our construction to be secure. Our motivation here is that using such primitives, we could somehow indistinguishably switch between instances/formulae which have hard-to-compute witnesses to instances/formulae which do not have any witnesses (in some particular pre-specified range). Thus this would enable applicability of the index hiding security property of PWE scheme in the corresponding proof. Below we elaborate on two such primitives — all-but-one signatures and somewhere perfectly binding hash functions (a primitive similar to somewhere statistically binding hash functions described in [HW15, OPWW15]).10 A Toolkit for Witness Encryption. The first primitive we consider is a special type of signature scheme called all-but-one (ABO) signatures. These are just like standard signatures, except the setup algorithm has a special “punctured” mode in which it takes a message m∗ as an additional input and outputs a pair of signing and verification key (sk, vk) such that there does not exist any signature that gets verified for message m∗. In other words, the verification algorithm on inputs vk and m∗ rejects every signature σ. Now instead of unforgeability-type security, we only require that an adversary should not be able to distinguish verification keys that are output by punctured setup with message m∗ from those output by normal setup, even when given access to the signing oracle.11 We note that the notion of ABO signatures is motivated by constrained signatures [BZ14] and splittable signatures [KLW15], but is much weaker than both of those. In this work, we also provide new constructions of ABO signatures from a wide variety of standard assumptions. Next we 7The idea of using Merkle hash tree for efficiently committing to large sets has also been previously used in works such as [ABG+13, Zha16]. 8The proof will invole an exponential number of hybrids. This is because for applying message hiding security property of PWE the index used must be 2Îť+`+k (i.e., the last index), therefore we need to use index hiding security to go from index (N + 1) || 0` || 0k to 2Îť+`+k which takes an exponential number of hybrid steps. Here the exact ordering of witness components, i.e. i, σ, π, is very important for the proof to go through. We can only use the security of PWE scheme if index i is leading term and corresponds to the most significant bits. 9Although the notion of witness encryption with extractable security has been well studied [GKP+13, GGHW14], extractabil- ity in the case of positional witness encryption is rather non-trivial to define due to the fact that PWE already requires index hiding to hold for all indices. 10We would like to point out that our techniques of relaxing extractably-secure assumptions to more standard indistinguishability-based assumptions are in part inspired by analogous results in the regime of moving from differing-inputs obfuscation (diO) to indistinguishability obfuscation (iO) [HW15, NWZ16, CDG+17]. 11The adversary is not allowed to query the oracle on message m∗ to allow trivial distinguishing attacks. 5 discuss the second primitive we use, and later we will circle back to the new ABO signature constructions we provide. The next primitive we employ is a somewhere perfectly binding (SPB) hash function [HW15, OPWW15]. An SPB hash consists of four algorithms — setup, hash, open and verify. The setup algorithm is used to sample a hash key hk, and has two modes (akin to ABO signatures) — normal and “binding”. In the binding mode it takes an index i as an additional input, and it ensures that the corresponding hash function Hhk is perfectly binding for the ith message position (i.e., the hash value completely determines the ith bit of the pre-image). Additionally, SPB hashes have a local opening property which states that for any message m, any index i ≤ |m| and hash h = Hhk(m), one could create a short proof π proving that the message’s ith bit is m[i] and it hashes to h.12 Such proofs could be verified by running the verification algorithm which also take as input the hash key, hash value and a position. For security it is required that an adversary should not be able to distinguish between hash keys that are output by binding setup and those output by normal setup. Next we show that if we use ABO signatures and SPB hash functions in the previously described AugBE construction then we can prove its security using positional witness encryption. Completing AugBE Construction. As discussed earlier, ABO signature scheme and an SPB hash function enable us to indistinguishably turn instances with hard-to-compute witnesses into instances which have no witnesses (in a particular range). Therefore, by simply using an ABO signature scheme and an SPB hash function in our AugBE construction, we can also prove index hiding property of our construction. The construction is identical to the one described before, except that checking membership of index j will now be done by SPB verification algorithm as follows — ‘π proves that there exists a string x such that x[j] = 1 and Hhk(x) = h’. The proof of AugBE message hiding stays the same as φvk,hk,h,N is not satisfied by any witness larger than (N + 1) || 0` || 0k. The AugBE index hiding proof is divided in two parts. Let i be the challenge index, S the challenge set and SA the set of keys in adversary’s possession. We know that either i /∈ S or i /∈ SA. Consider the following cases. - i /∈ SA : The idea here is that since the adversary does not have key for user i, thus we could instead generate the (sk, vk) key pair by running punctured setup for message i. From adversary’s perspective this can not be distinguished with non-negligible probability by ABO security. And now, since the verification key vk no longer accepts any signature σ for message i, we get φvk,hk,h,N (w) = 0 for all i || 0` || 0k ≤ w < (i+ 1) || 0` || 0k. As a result, we could use PWE index hiding security to switch from index i AugBE ciphertexts to index i + 1 ciphertexts. Finally, we could un-puncture the key vk to complete the proof. - i /∈ S : The proof is very similar to the one described above. The only modification will be that instead of puncturing the verification key at index i, we bind the hash key for position i. The intuition is that since the ith bit of string IS is zero (as i /∈ S), thus if the hash key hk was (perfectly) binding at position i then there will not exist any proof π that proves that there exists a string x such that Hhk(IS) = Hhk(x) the ith bit of x is 1. Thus, as before φvk,hk,h,N (w) = 0 for all indices in that range and we can apply PWE index hiding security. At a high level, the proposed paradigm is to first use the developed toolkit to turn formulae with hard-to- compute satisfying inputs into formulae with only range-restricted satisfying inputs, then use PWE security to cut through the range of inactive inputs, and finally switch back to original formulae using our toolkit. We believe that such a methodology will find more applications especially in bringing more primitives based on obfuscation to the assumption of (positional) witness encryption. Finally, we talk about the new ABO signature constructions that we provide. 12Technically one could visualize the proof π as only proving that the ith bit of pre-image is m[i]. The fact that it also proves that the message hashes to Hhk(m) is just due to the structure of the proof. 6 ABO Signatures from Standard Assumptions. In this work we give two new pathways to build ABO signatures. First, we show that an ABO signature scheme can be generically built from any verifiable random function (VRF) [MRV99] and a perfectly-binding (non-interactive) commitment scheme. Second, we show that any identity-based encryption (IBE) scheme [Sha85, BF01], that is anonymous [BBDP01] as well as allows efficient key verifiability, also leads to an ABO signature scheme. VRFs can be based on a wide variety of assumptions such as decision-linear over bilinear maps as well as RSA-like assumptions [MRV99, HJ16] and perfectly-binding (non-interactive) commitment schemes can be based on assumptions such as DDH, LWE and LPN [GHKW17] and perfectly injective OWFs. IBE schemes with such verifiability and anonymity properties can be based on simple assumptions over bilinear maps as well as LWE [BW06b, SKOS09, ABB10, LSJ+11, GKW17a, WZ17]. Thus this leads to new constructions of ABO signatures. We also point out that ABO signatures can be built from constrained signatures [BZ14] and splittable signatures [KLW15] which have been constructed under iO and OWFs. Constrained signatures have also been constructed from non- interactive witness indistinguishable proofs and perfectly binding commitments [BZ14]. We now briefly highlight the main ideas to build these from VRFs. A VRF is like a pseudorandom function (PRF) in which the secret key holder can also prove correctness and uniqueness of PRF evaluation. Concretely, using the secret key sk, it could efficiently evaluate the function Fsk(¡) on any input x as well as generate a proof π of the statement y = Fsk(x). An ABO signing key will simply correspond to the VRF secret key sk, and the ABO verification key will contain the VRF verification key vk as well as a commitment COM. Here COM commits to 0 during standard setup, whereas during punctured setup (with message x∗) COM commits to 1 where the random coins used are Fsk(x ∗). A signature σ for any message x will simply correspond to its function evaluation y = Fsk(x) as well as corresponding proof π. While verifying a message-signature pair x, (y, π) w.r.t. key (vk,COM), the verifier checks two things — (1) π proves that y is a correct evaluation on input x, and (2) COM does not match the commitment of bit 1 obtained using y as randomness. Clearly this scheme satisfies the ABO scheme correctness condition if the underlying commitment scheme is perfectly binding as in case of normal setup, condition (2) will never be satisfied. Both our ABO constructions are provided later in Section 5. Lastly, one might think that the full power of ABO signatures is not needed to build the above Broadcast and Trace system. Instead a restricted version where the message space is fixed to be {1, 2, . . . , N} might suffice. It turns out that such a restricted ABO signature scheme can be directly constructed from any SPB Hash function and length doubling pseudo-random generator (PRG). The idea is to sample an SPB hash key hk, random Îť bit strings si for each message i ∈ [N ] during setup. The verification key consists of the hash key hk and a hash value h, where h is computed as the SPB hash on the set {ti = PRG(si)}i. The signature on message i consists of (si, πi) where πi is the SPB hash opening of hash h on index i. The verification procedure first checks correctness of the hash proof πi, and then also checks that PRG(si) is ith block value. For punctured setup at index i∗, the algorithm changes the following — 1) it samples SPB hash hk to be binding at index i∗, 2) it samples ti∗ uniformly at random from {0, 1}2Îť. With all-but-negligible probability, ti∗ will lie outside the range space of PRG, therefore no valid signature for i∗ would exist under punctured setup. However, such an ABO scheme can only be used to build a Broadcast and Trace system in which the numbers of users is a-priori (and polynomially) bounded. A more desirable setting would be where the number of users that can be supported is exponential (i.e., unbounded), while allowing the encryptor to choose any polynomial sized (a-priori unbounded) subset of users to broadcast to. Such a Broadcast and Trace system would still require the full power of ABO signatures, thus we stick to the more general setting. 2 Preliminaries Notations For a probability distribution D, we denote by x ← D that x is sampled according to D. If S is a set, y ← S denotes that y is sampled from S according to the uniform distribution on S. We use [m,n] to denote the set of contiguous integers {m, . . . , n} for some m,n ∈ Z. For simplicity, we simply use [n] to denote the set [1, n] = {1, . . . , n} for any n ≥ 1. We sometimes slightly abuse notation and refer to bit strings in {0, 1}` by integers, where the left most bit of x ∈ {0, 1}` is considered as the most significant 7 bit. For any set S, we denote the size of the set of |S|. We denote security parameter by Îť in the rest of the paper. For any bit string t, we denote that int(t) as the integer representation of string t. 2.1 Positional Witness Encryption In this section, we formally define Positional Witness Encryption (PWE) [GLW14] and list its correctness and security properties. The encryption system is defined for an NP language L and a message space {MÎť}Îť. Let R(¡, ¡) be t";"""date"",""2019-01-13T17:52:08Z"" ""pdf:PDFVersion"",""1.5"" ""pdf:docinfo:title"","""" ""xmp:CreatorTool"",""LaTeX with hyperref package"" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""subject"","""" ""language"",""en"" ""dc:format"",""application/pdf; version=1.5"" ""pdf:docinfo:creator_tool"",""LaTeX with hyperref package"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"","""" ""modified"",""2019-01-13T17:52:08Z"" ""cp:subject"","""" ""pdf:docinfo:subject"","""" ""pdf:hasMarkedContent"",""false"" ""pdf:docinfo:creator"","""" ""PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018) kpathsea version 6.3.0"" ""meta:author"","""" ""trapped"",""False"" ""meta:creation-date"",""2019-01-13T17:52:08Z"" ""created"",""2019-01-13T17:52:08Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2019-01-13T17:52:08Z"" ""resourceName"",""031.pdf"" ""Author"","""" ""producer"",""pdfTeX-1.40.19"" ""pdf:docinfo:producer"",""pdfTeX-1.40.19"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""3"",""2"",""7"",""3"",""2"",""8"",""3"",""8"",""0"",""3"",""17"",""15"",""8"",""26"",""23"",""53"",""8"",""17"",""12"",""9"",""23"",""13"",""30"",""0"",""10"",""11"",""34"",""4"",""0"",""0"",""0"",""0"" ""Keywords"","""" ""access_permission:modify_annotations"",""true"" ""dc:creator"","""" ""dcterms:created"",""2019-01-13T17:52:08Z"" ""Last-Modified"",""2019-01-13T17:52:08Z"" ""dcterms:modified"",""2019-01-13T17:52:08Z"" ""title"","""" ""Last-Save-Date"",""2019-01-13T17:52:08Z"" ""pdf:docinfo:keywords"","""" ""pdf:docinfo:modified"",""2019-01-13T17:52:08Z"" ""meta:save-date"",""2019-01-13T17:52:08Z"" ""pdf:docinfo:custom:PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018) kpathsea version 6.3.0"" ""Content-Length"",""547345"" ""Content-Type"",""application/pdf"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"","""" ""dc:subject"","""" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""34"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""3021"",""3404"",""4169"",""3919"",""4464"",""3551"",""4004"",""2765"",""2283"",""2505"",""2149"",""2345"",""2394"",""2215"",""2058"",""2825"",""2874"",""1979"",""3166"",""3368"",""2777"",""2702"",""3523"",""2902"",""3249"",""3105"",""3090"",""2857"",""2175"",""2716"",""2816"",""2728"",""2807"",""1290"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""pdf:docinfo:trapped"",""False"" ""meta:keyword"","""" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2019-01-13T17:52:08Z"" ";https://scholar.google.com/scholar?start=980&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094546-677;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Alternative Digital Signature Schemes In Blockchain;F Yavuzyi?it ;2019 openaccess.hacettepe.edu.tr;;"… “top” (or “tip”) is the most recent block. In blockchain structure, the identifier of each block is its hash value, generated using crypto … Having the most common usage in this area, Bitcoin is an application of blockchain. Blocks … Bitcoin is a cryptocurrency ecosystem on its own. It …";Autres articles;Version HTML;[PDF] hacettepe.edu.tr;http://www.openaccess.hacettepe.edu.tr:8080/xmlui/bitstream/handle/11655/9430/SON.pdf?sequence=1;" ALTERNATIVE DIGITAL SIGNATURE SCHEMES IN BLOCKCHAIN BLOK ZİNCİRDE ALTERNATİF DİJİTAL İMZA ŞEMALARI FAHRETTİN YAVUZYİĞİT ASSOC. PROF. DR. OĞUZ YAYLA Supervisor Submitted to Graduate School of Science and Engineering of Hacettepe University as a Partial Fulfillment to the Requirements for the Award of the Degree of Master of Science in Mathematics 2019 To the memory of my mother Kamile YAVUZYİĞİT ABSTRACT ALTERNATIVE DIGITAL SIGNATURE SCHEMES IN BLOCKCHAIN Fahrettin YAVUZYİĞİT Master of Science, Department of Mathematics Supervisor: Assoc. Prof. Dr. Oğuz YAYLA June 2019, 51 pages This thesis is a study on authentication methods of Bitcoin ecosystem which is an application of blockchain. Firstly, the facilities given by Bitcoin along with its security requirements are examined from a perspective that can be used in place of today’s banking system. Bitcoin ecosystem is a use case of blockchain and its current transaction authentication methods are well studied in the literature, and based on this, the questions are raised, ""Could the common account and the proxy concepts of banking services also be possible in Bitcoin?"". Many researches say that there are solutions based on bilinear pairings commonly, accountable subgroup multi-signature and delectable credentials schemes. These schemas are studied in this thesis. As a first alternative, accountable subgroup multi-signature (ASM) constructed from Boneh – Lynn – Shacham (BLS) signature schemes gives us the opportunity of the public key aggregation mechanism. In this way, it can be possible that more than one user sign the same message jointly and only one public key is needed to verify the signature. This approach allows lots of savings in storage of public keys in transaction scripts and that is quite convenient to implement in Bitcoin. For the second alternative, delectable credentials signature schema renders possibility that someone can give her signing authority to another. Delegatable credentials can do this with a structure that is built on Groth and Schnorr signa- ture schemes. Furthermore, the suggested delectable credential schema in this thesis is able to store in secret or disclosed within the signature. This property is included in the usage scenarios about need of delegation for individuals. i Keywords: Block Chain, Bitcoin, transaction, authentication, multi signature, accountable subgroup multi signature, delegatable credentials. ii ÖZET BLOK ZİNCİRDE ALTERNAFİT DİJİTAL İMZA ŞEMALARI Fahrettin YAVUZYİĞİT YĂźksek Lisans, Matematik BĂślĂźmĂź Tez DanÄąşmanÄą: Doç. Dr. Oğuz Yayla Haziran 2019, 51 sayfa Bu tez, bir blok zincir uygulamasÄą olan Bitcoin ekosisteminin kimlik doğrulama yĂśntemleri Ăźzerine bir araştÄąrmadÄąr. İlk olarak, bugĂźnĂźn bankacÄąlÄąk sistemi yerine kullanÄąlabilmesi bakÄąş açĹsÄąyla, gĂźvenlik gereksinimlerinin yanÄą sÄąra Bitcoinin sağladÄąğı olanaklar sorgulanmÄąştÄąr. Bir blok zincir uygulamasÄą Ăśrneği olan Blockchain ve kendisine ait mevcut kimlik doğru- lama metotlarÄą araştÄąrÄąlmÄąş, elde edilen bilgiler Ăźzerinden ""BankacÄąlÄąk hizmetlerinde bulunan ortak hesap ve vekalet kavramlarÄą aynÄą zamanda Bitcoin de mĂźmkĂźn mĂźdĂźr?"" sorusu ortaya atÄąlmÄąştÄąr. Cevap olabilecek birçok araştÄąrma arasÄąndan, en yeni çalÄąşmalardan olmasÄą ve or- tak şekilde bilinear parings kullanÄąyor olmalarÄą sebebiyle hesap verebilir altgrup çoklu imza ve devredilebilir yetki şemalarÄą detaylÄą şekilde araştÄąrÄąlmÄąştÄąr. İlk Ăśneri olarak, hesap vere- bilir altgrup çoklu imza yĂśntemi, açĹk anahtarlarÄąn birleştirilmesine olanak sağlayan Boneh – Lynn – Shacham (BLS) imzalama şemasÄą Ăźzerine inşa edilmiştir. Bu sayede birden fazla kullanÄącÄąnÄąn aynÄą mesajÄą ortak şekilde imzalamasÄą ve bu imzanÄąn yalnÄąz bir açĹk anahtar ile doğrulanmasÄą mĂźmkĂźn olabilmektedir. Bu yaklaşĹm, işlemler içinde açĹk anahtarlarÄąn sak- lanmasÄąnda tasarruf sağlamaya ve Bitcoin’e uyarlanmasÄąnÄąn oldukça kolay olmasÄąnÄą sağla- maktadÄąr. İkincisi için çÜzĂźm olarak, delege edilebilir kimlikli imzalama yĂśntemi birinin sahip olduğu imzalama yetkisini bir başkasÄąna devredebilmesine olanak sağlamaktadÄąr. Delege edilebilir kimlik bu olanÄąğı Groth ve Schnorr imzalama yapÄąlarÄą Ăźzerine kurulan bir yapÄą ile gerçekleştirebilmektedir. AynÄą zamanda bu tezde yer alan delege edilebilir kimlik şemasÄą kullanÄącÄą Ăśzbilgilerini açĹkta veya gizli şekilde saklayabilmektedir. Bu Ăśzellik, tezimizin bireysel delegasyon ihtiyacÄą Ăźzerindeki kullanÄąm Ăśrneğine dahil edilmiştir. iii Anahtar Kelimeler: Blok zincir, Bitcoin, işlem, kimlik doğrulama, çoklu imza, hesap vere- bilir altgrup çoklu imzalama, delege edilebilir kimlik. iv ACKNOWLEDGEMENT First of all, I would like to express my sincere gratitude to my supervisor Assoc. Prof. Dr. Oğuz YAYLA for his invaluable suggestions, motivation, patience, and continuous support in this thesis. His guidance helped me in all the time of research and writing of this thesis. Besides my supervisor, I would like to thank the rest of my thesis committee: Prof. Dr. Evrim AKALAN, Assoc. Prof. Dr. Murat CENK, Assoc. Prof. Dr. Sedat AKLEYLEK and As- sist. Prof. Dr. Adnan ÖZSOY for their encouragement, insightful comments. I would like to my special thank to my teacher dear Prof. Dr. Haşmet GÜRÇAY for always believing and supporting me from bachelor to master degree. Also, I’m grateful that my wife and daughter are in my life and with me in this process. Thank you. Fahrettin YAVUZYİĞİT June 2019, Ankara v TABLE OF CONTENTS Page ABSTRACT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i ÖZET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii ACKNOWLEDGEMENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v TABLE OF CONTENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi NOTATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x 1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 Motivation for Writing This Thesis . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Previous Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.3 An Application of Blockchain, Bitcoin . . . . . . . . . . . . . . . . . . . . . 2 1.4 Suggestions for Bitcoin Transaction Authentication . . . . . . . . . . . . . . . 3 1.5 Outline of The Thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2 BLOCKCHAIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.1 Bitcoin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2 Block Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3 Transaction Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.4 Transaction Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.4.1 Pay To Public Key (P2PK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.4.2 Pay To Public Key Hash (P2PKH) . . . . . . . . . . . . . . . . . . . . . . . . 12 2.4.3 Multisig (M-of-N Multi-Signature) . . . . . . . . . . . . . . . . . . . . . . . 14 3 ACCOUNTABLE SUBGROUP MULTI-SIGNATURE . . . . . . . . . . . . . 16 3.1 Bilinear Groups and Pairing Based Cryptography . . . . . . . . . . . . . . . . 16 3.2 Construction of ASM Schema . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.3 Proof-of-Possession . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.4 Accountable-Subgroup Scheme with PoPs . . . . . . . . . . . . . . . . . . . . 22 3.5 Application ASM to Bitcoin . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4 DELEGATABLE CREDENTIALS WITH HIDEABLE ATTRIBUTES . . . . 25 4.1 Practical Delegatable Anonymous Credentials System . . . . . . . . . . . . . 26 4.2 Signature Schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.2.1 Groth Structure-Preserving Signature Schema . . . . . . . . . . . . . . . . . . 27 4.2.2 Sibling Signatures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 vi 4.2.3 Constructing Sibling Signatures. . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.3 Construction for Delegatable Credentials . . . . . . . . . . . . . . . . . . . . 30 4.4 Application of Delegatable Credentials to Bitcoin . . . . . . . . . . . . . . . . 33 5 CONCLUSION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 REFERENCES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 APPENDIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 CURRICULUM VITAE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 vii FIGURES Figure 2.1. Converting public key to Bitcoin address . . . . . . . . . . . . . . . . . 7 Figure 2.2. Structure of a block . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Figure 2.3. Structure of the header . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Figure 2.4. Structure of a transaction . . . . . . . . . . . . . . . . . . . . . . . . . 8 Figure 2.5. Structure of a transaction output . . . . . . . . . . . . . . . . . . . . . 9 Figure 2.6. The transaction input structure . . . . . . . . . . . . . . . . . . . . . . 10 Figure 2.7. The unlocking and locking script combination . . . . . . . . . . . . . . 10 Figure 2.8. The P2PK script flow . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Figure 2.9. The P2PKH script flow . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Figure 2.10. The m-of-n multisig script flow . . . . . . . . . . . . . . . . . . . . . . 15 Figure 4.1. The delegation chart . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 viii LISTINGS 1 The Magma Codes of ASM Example . . . . . . . . . . . . . . . . . . . . . . . . 41 2 The Magma Codes of ASM with PoPs Example . . . . . . . . . . . . . . . . . . . 45 3 The pseudocode of presenting . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 4 The pseudocode of verifying . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 ix NOTATIONS AND ACRONYMS Notations Z Integers G Bilinear group generator G Cyclic group e Bilinear map F Finite field H Hash algorithm $ Randomly generated Acronyms SHA-256 Secure Hash Algorithm with 256 bit version RIPEMD-160 RACE Integrity Primitives Evaluation Message Diges with 160 bit OP_CHECKSIG Operator that checks the signature validity OP_DU Operator that duplicates the top stack element OP_EQUAL Operator that checks either top two stack elements are equal OP_HASH160 Operator that calculates SHA-256 + RIPEMD-160 hash OP_0 Operator that pushes an empty array to the stack OP_CHECKMULTISIG Operator that checks the signatures validity ASM Accountable Subgroup Multi-Signatures x 1 INTRODUCTION 1.1 Motivation for Writing This Thesis Commercial relations, started with barter economy, have been continuing through banking system that is most commonly used today. But in a globalized world, Bitcoin, a new payment method brought by developing techniques and technologies in addition to different needs, has a potential to replace the banking system we know. Although Bitcoin is currently only a payment instrument, it may assume other functions in the banking system or come other similar systems in the future. The current Bitcoin system, used as a payment method, hosts some of the opportunities that are accepted in the banking system. For example, Multi-signature, which allows Bitcoin transactions to be signed by multiple users, corresponds to the common account in banking system. In this thesis, studies on using Multisig, that is a type of transaction scripts, more effectively and efficiently are examined. Also, the delegatable credential, which may be a candidate as a signing method in Bitcoin system because of being equivalent to the transac- tions carried out by proxy in banking, is studied. 1.2 Previous Works Most used one of transaction scripts in Bitcoin ecosystem, even if Multisig can compress the signature value, storing all public keys still take the major size in transactions. Multi- signatures have been worked on different mathematical bases e.g. on RSA [19, 20], discrete logarithm problem [21, 22, 5, 23, 6], parings [24, 25, 3], and lattices [26]. To reduce trans- action sizes, the aggregating public-key algorithm has been clearly handled only in [6] and [3]. The ""public-key aggregation"" is named firstly in the work of Maxwell [6]. With the public-key aggregation, it can be enough that only the aggregated value of all public keys is stored in transaction instead of them separately. According to [6], in signing stage, there is a need for two tour of transmission between all signers. But one round of transmission can be enough by [3]. With the name of ""Accountable subgroup multi-signatures (ASM)"", this approach was firstly worked by Micali, Ohta and Reyzin [5]. In addition to not having key 1 aggregation algorithm, it bases on discrete logarithm problem and constructed from [18]. Boneh, Drijvers and Neven [3] take it to the next level via adding key aggregation and using parings further. There are some works on delegatable anonymous credentials [27, 28, 29, 30]. Chase and Lysyanskaya [29] uses generic zero-knowledge proofs. By this approach, the size must grow exponentially by the number of delegators. Therefore, this complexity limits the delegation process and using this method practically is not possible. ""Hierarchical group signatures"" by Trolin and WikstrĂśm [31] are an addition to the group signatures. This methods gives the opportunity that includes a hierarchy of group managers. Users can sign a message for the group with the credential of any managers. This property can be considered as a ""delegatable credentials"". But, it differs from the suggested one in this thesis, because users are able to do as a manager or as a user, not both of them, as only one. And, the managers can disclose the signers in contrary to the anonymity. 1.3 An Application of Blockchain, Bitcoin Blockchain is a kind of data structure. It can store data and connects one to another by link- ing. To link the blocks, hash algorithm SHA-256 which is a cryptographic, namely mathe- matical, method is used. Informally, lets think three number of blocks (Block-X, Block-Y, Block-Z). The hash value of whole Block-X is stored in the Block-Y, and using the same, whole Block-Y’s hash value is stored in the Block-Z. In this way, Block-X is linked to Block- Y and Block-Y is linked to Block-Z. If there is an any change in Block-X, because of that it results in change of Block-X’s hash value, Block-Y, which holds the hash of Block-X, will also be altered. Likewise, any change in Block-Y affects Block-Z. In a situation where there is a huge number of blocks, altering must be done from first changed block to the last one and this process may be almost impossible in some specific hashing conditions. Bitcoin ecosystem bases on this limitation. The blocks store data about the information that an amount of Bitcoin have been transferred someone to another by the name of ""transaction"". With the unchangeable data structure property, Bitcoin ecosystem gives an assurance to users about keeping their assets. But there is another issue, which is authenticating transactions. It may be more important that an amount of transaction is spent or transferred by real owner 2 than storing it safely. To authenticate transactions, another cryptographic method, digital signing, is used. Unlike the general usage of digital sign, the ownership of a digital asset in Bitcoin is not proved via signed by owner of asset, merely it must be signed by the previous owner and new owner’s public key must be stored in it. To illustrate this, the paper check example can be given. Using paper check payment method, signer is not owner of the money currently, owner is whose name has been written on “Pay to the order of” field. In Bitcoin system, to spend amount of Bitcoin, owner must give a valid signature that is signed using the private key matching the public key which is stored in previous transaction. This ap- proach allows two benefits, privacy and decentralization of authentication process. Because of that no-one knows whose transaction specific public key is, privacy of Bitcoin ownership is provided. And, there is not any need for certificate authority, so Bitcoin transactions are decentralized. There is an only assurance for reliance the Bitcoin system. That is strong and efficient transaction signing and validation mechanism. Bitcoin ecosystem has many kinds of transaction authentication standards. Some of those are ""Pay To Public Key (P2PK)"", ""Pay To Public Key Hash (P2PKH)"" and ""Multisig"". 1.4 Suggestions for Bitcoin Transaction Authentication Multisig is used for multi-ownership of Bitcoin amount or extra security needs by adding another factor of authentication like Bitcoin wallet etc. in case of stolen individuals’ private keys. Multisig has a bulky structure. It is described in Section 2.4.3 in detail. From this point, ""Accountable Subgroup Multi-Signature (ASM)"" is a potential solution for improving multi-signature need of Bitcoin. Rather than having necessity of keeping all public keys in Multisig, ASM gives the opportunity that only one aggregated key which is the combination of all signers’ public key can be enough to store in transaction. This gives a lot of data and computational saving. In addition, accountability property of ASM provides another security need. Owing to this property, all group members are responsible for the transactions signed by a subgroup. In this way, the possibility of other group members repudiating the transactions, committed by the subgroup of users, is eliminated. The suggested ASM schema in [3] is constructed from ""Boneh – Lynn – Shacham (BLS)"" signature scheme [17] which is based on bilinear pairings. ASM schema has additional two 3 stages ""Key Aggregation"" and ""Group Setup"" to common signing protocols. With Key Ag- gregation stage, the aggregated public key ”apk” is generated. In Group Setup, for all group members, the membership keys ”mki” obtained from all members’ public and secure key are generated. So, the accountability is provided because the membership keys are needed in Signing stage. Delegatable credentials is the suggestion that is not currently in Bitcoin ecosystem but can be a solution to diversity needs of Bitcoin transaction authentications. As an example, to visualize a need, let a firm make their payments through the Bitcoin. If the firm’s pay- ments is needed to be done by more than one person, payment processes must be divided to departments or employers. To do this, the firm either should share the Bitcoin confiden- tial information like secret key and/or wallet ID and password or authorize the responsible persons via delegating the owner’s credential. The suggested schema [16] has four stages ""Setup"", ""Delegate"", ""Present"" and ""Verify"". Setup is used for parameter generation, Delegate stage is for delegate the credential owned to another user, Present is signing a massage or etc. by a delegate and generates the signature by the name ""attribute token"" in this schema, Verify is matching the signature and message with the attribute token value and only first delegator’s public key, described in detail in Section 4.3. To the schema, any wanted attributes - e.g. name, gender, age, working position, authority level etc. - of all delegates can be stored into attribute token or they can be hidden. In this work, Groth and Schonorr signatures are combined and this combination is used with sibling signature method, a new method first given in [16] 1.5 Outline of The Thesis The rest of the thesis is organized as follows. In Chapter 2, the concept of blockchain is introduced and Bitcoin ecosystem , a case study of blockchain, is briefly described up to the transactions stage in a view of how its transaction authentication mechanisms work. In Chapter 3, accountable subgroup multi-signature schema, which is a suggestion instead of Bitcoin multi-signature, is given in detail. In Chapter 4, as a new authentication mechanism that is likely to be included in Bitcoin ecosystem, delegatable credentials with concealable attributes is suggested. Finally, the conclusions are included in Chapter 5. 4 2 BLOCKCHAIN The blockchain is a data structure that is ordered and linked list of blocks. Blocks are linked back each one referring to the previous one. In this way, the linked blocks create a chain, that is why we call it blockchain. The blockchain data can be stored in a file like a simple text file and also in a database. The blockchain can be considered as a stack that is left to right, with blocks linked to top of next one and the initial block being the base of chain. In blockchain terminology, “height” means the number of blocks from the initial block, and “top” (or “tip”) is the most recent block. In blockchain structure, the identifier of each block is its hash value, generated using crypto- graphic hash algorithm SHA256 and stored in the header of the block. Besides, every block refers the previous one, with the name of parent block, and the block header also has the par- ent block hash. Connecting every block to its predecessor with hash values creates a chain, that goes back the initial block. It is possible that there can be more than one block whose parent’s hash value is same. Namely, a block can possess more than one child. However, having only one parent hash value field, there can be only one parent block. If a block has multiple children, that is known as blockchain “fork,” which comes accidentally when different miners connects one each new block to the same almost meanwhile. Finally, only one block is accepted as a part of the chain and hence the fork situation is eliminated. Since the predecessor block hash is stored in the block header, it affects the hash value of current block. This means that if predecessor’s hash value changes, the child’s hash value also changes. Altering the any value of parent block causes to change the predecessor’s hash. The predecessor’s changed hash requires to change the previous block link of the successor which is the hash value of it. This also results in the successor’s hash to alter, which requires a change in the link of the two-next successor, which in order altering it, and so on. This cascade effect ensures that when a block has many followers, it cannot be altered without recalculation of all successor blocks. This needs huge computational power, so being a long chain of blocks gives us the unreversibility property of the blockchain, that is one of the most important properties of blockchain’s security [1]. 5 2.1 Bitcoin Having the most common usage in this area, Bitcoin is an application of blockchain. Blocks are used for storing Bitcoin transactions that contains the information about sent amount of Bitcoin from someone to someone. Bitcoin is a cryptocurrency ecosystem on its own. It gives much opportunity to use money in a different way that we did ever. To illustrate, lets see the similarity of Bitcoin transactions to banking checks. The Bitcoin address is for the receiver identification, the beneficiary in banking terms, that is written on “Pay to the order of”. The checks do not require a specific account, it can be the name of a bank account holder, corporations, institutions, or even cash. The Bitcoin transaction usage is similar, the Bitcoin address gives the bitcoin ecosystem flexibility. A Bitcoin address represents whose the public key is. Bitcoin Addresses The Bitcoin address is a string value which is a character set, and it is used for receiving money. Bitcoin addresses are generated from public keys. A Bitcoin address looks like: 19WVyUJ75rboXZymdgQdx3HENYWK7fsLpE. Bitcoin address is generated from the signer’s public key using cryptographic hash functions. In many stage, the hash functions are also needed. For example, they are also in script addresses, and mining process etc. ""Secure Hash Algorithm (SHA)"" and ""RACE Integrity Primitives Evaluation Message Digest (RIPEMD)"", especially SHA-256 and RIPEMD-160, are used to generate the Bitcoin addresses. With public key pk, first it is calculated using the SHA-256 and then the RIPEMD-160 of the first result: A = RIPEMD-160(SHA-256(pk)) Bitcoin addresses are generally encoded the format Base58Check (“Base58 and Base58Check Encoding”), that contains 58 number of characters and a check-sum to guarantee ease of spelling. Figure 2.1 gives the conversion in a chart. 6 Figure 2.1: Converting public key to Bitcoin address Example 2.1. bitcoin’s Base58 alphabet 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz 2.2 Block Structure In the blockchain, a block contains data structure of collected transactions as a ledger, which is kept public. Specifically, a block consists of a header including metadata about the block, and a transactions list that occupies the majority of block size. Figure 2.2 shows the block structure. Figure 2.2: Structure of a block 7 Block Header The block header has three kinds of metadata. First, a previous block hash field, which connects the block to the predecessor. The second is for difficulty, timestamp, and nonce fields which are required in the mining process. The third one is ""the Merkle tree root"", that is a structure and is to digest the transactions in a block. Figure 2.3 shows the content of a block header. Figure 2.3: Structure of the header 2.3 Transaction Structure A transaction is an information which records a transfer of Bitcoin amount from the source, named input, to the destination, named output. Any kind of account is not used in generating the input or output, only Bitcoin address is required personally. Bitcoins are locked with a Bitcoin address that only person, owner or who knows it, be able to unlock. Figure 2.4 shows the fields in a transaction. Figure 2.4: Structure of a transaction 8 Transaction Outputs Bitcoin transactions has outputs and they are stored in Bitcoin ecosystem. Pretty much of all outputs create spendable Bitcoin called unspent transaction outputs (UTXO). The whole network recognizes them and the owner can spend in later transactions. When transferring Bitcoin to someone, the ""unspent transaction output (UTXO)"" is registered to receivers Bit- coin address and ready to a next transfer. A transaction output consists of two parts listed below. • An amount of transferred bitcoin. • A locking script that locks this amount and concern us fundamentally in this thesis. Figure 2.5: Structure of a transaction output Transaction Inputs Transaction input is the pointer which links between the current transaction and previous UTXO. It points to UTXO by reference to the transaction hash and sequence number where the UTXO is recorded in the blockchain. In addition, the transaction input includes unlocking script that meets the locking script. The unlocking script is generally a proof of the signature ownership. Figure 2.3 shows the structure of a transaction input. 2.4 Transaction Scripts When a new transaction is broadcast to the network to be included in the blockchain, each node, aware of the transaction, validates it by evaluating the challenge and response scripts. Most common three types of transaction scripts are below. 9 Figure 2.6: The transaction input structure Script Construction (Lock + Unlock) The validation of Bitcoin transaction process depends on two types of scripts, locking and unlocking. A locking script is a hypothec on output, and it sets the conditions that must be met to spend the output when spending an amount of bitcoin. An unlocking script is to meet the conditions placed on an output by a locking script and allows the output to be spent. Unlocking scripts are part of every transaction input, and mostly they include a digital signature generated with the user’s private key. Figure 2.7: The unlocking and locking script combination 2.4.1 Pay To Public Key (P2PK) Pay-to-public-key is a simpler form of a Bitcoin payment than other methods. A pay-to- public-key locking script is handled as: OP_CHECKSIG 10 OP_CHECKSIG is an ECDSA signature verification procedure to check whether the signa- ture of a user A is valid for a given public key in a transaction locking script. The unlocking script is a simple signature: The combined script, to be validated, is: OP_CHECKSIG It is computationally hard to obtain the private key from the public key in an acceptable time period. So the public key is safely used as an address for receiving Bitcoin payments. In P2PK script template, public keys are called P2PK addresses. But nowadays, to ensure better security P2PK addresses are left in place to P2PKH addresses [1, 2]. Figure 2.8: The P2PK script flow 11 2.4.2 Pay To Public Key Hash (P2PKH) The most common type of transaction script in the Bitcoin network is P2PKH script tem- plate. It’s locking script contains a public key hash instead of a plain public key as a Bitcoin address. Therefore, the public key must be presented to unlock amount of Bitcoin and also a digital signature created by the corresponding private key. To illustrate P2PKH script template with an example, let Alice pay to Bob’s Cafe. Alice made a payment of 0.015 Bitcoin to the Bitcoin address of the cafe. The locking script of transaction output would be like: OP_DUP OP_HASH160 OP_EQUAL OP_CHECKSIG Cafe Public Key Hash is the Bitcoin address of the cafe. The unlocking script corresponding to the locking script is: The validation script is as given below OP_DUP OP_HASH160 OP_EQUAL OP_CHECKSIG This combined script’s execution results TRUE if the unlocking script matches the conditions set by the locking script. In particular, the result will be TRUE if the unlocking script has a valid signature generated by the cafe’s private key that corresponds to the public key hash set as a hypothec. Figure 2.9 shows a step-by-step execution of the combined script to validate the transaction [1, 2]. 12 Figure 2.9: The P2PKH script flow 13 2.4.3 Multisig (M-of-N Multi-Signature) In multi-signature script template, to release the hypothec, N public keys are recorded in the locking script and at least M of N must match the corresponding signatures. This is also called as an M-of-N scheme, where N is the total number of keys and M is the threshold value of signatures required for validation. To illustrate multi-signature script template with an example, a 2-of-3 multi-signature re- quires that three public keys are listed as signers group, to create a valid transaction to spend an amount of bitcoin, at least two of which must be used to create signatures. Standard mul- tisignature scripts may have some limitation, e.g. at most 15 listed public keys, meaning you can use maximum 15-participants group of signers. The maximum number can be adjusted according to improvement in computational power in time. The general form of a locking script setting an M-of-N multi-signature condition is: M ... N OP_CHECKMULTISIG where N is the total number of public keys and M is the value that minimum number of signatures is required to spend the output. For example, in a 2-of-3 multi-signature, the locking script is: 2 3 OP_CHECKMULTISIG The corresponding unlocking script that contains two signatures is: OP_0 or the other two-combination of signatures associated with declared three public keys. Hence, the validation script is: OP_0 2 3 OP_CHECKMULTISIG 14 If two signatures in the un";"""date"",""2019-07-24T07:06:11Z"" ""pdf:PDFVersion"",""1.6"" ""xmp:CreatorTool"",""LaTeX with hyperref package"" ""pdf:docinfo:title"","""" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""subject"","""" ""language"",""en"" ""dc:format"",""application/pdf; version=1.6"" ""pdf:docinfo:creator_tool"",""LaTeX with hyperref package"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"","""" ""xmp:CreateDate"",""2019-07-23T11:05:19Z"" ""modified"",""2019-07-24T07:06:11Z"" ""cp:subject"","""" ""pdf:docinfo:subject"","""" ""pdf:hasMarkedContent"",""false"" ""xmp:ModifyDate"",""2019-07-24T10:06:11Z"" ""pdf:docinfo:creator"","""" ""PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017) kpathsea version 6.2.3"" ""meta:author"","""" ""trapped"",""False"" ""meta:creation-date"",""2019-07-23T11:05:19Z"" ""created"",""2019-07-23T11:05:19Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2019-07-23T11:05:19Z"" ""resourceName"",""SON.pdf"" ""Author"","""" ""producer"",""pdfTeX-1.40.18"" ""pdf:docinfo:producer"",""pdfTeX-1.40.18"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""3"",""0"",""0"",""4"",""14"",""1"",""3"",""3"",""0"",""0"",""0"",""3"",""17"",""0"",""2"",""4"",""33"",""4"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""Keywords"","""" ""access_permission:modify_annotations"",""true"" ""dc:creator"","""" ""dcterms:created"",""2019-07-23T11:05:19Z"" ""Last-Modified"",""2019-07-24T07:06:11Z"" ""dcterms:modified"",""2019-07-24T07:06:11Z"" ""title"","""" ""xmpMM:DocumentID"",""uuid:bd79d059-17e7-4d61-af4f-78eb2ac1b339"" ""Last-Save-Date"",""2019-07-24T07:06:11Z"" ""pdf:docinfo:keywords"","""" ""pdf:docinfo:modified"",""2019-07-24T07:06:11Z"" ""meta:save-date"",""2019-07-24T07:06:11Z"" ""pdf:docinfo:custom:PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017) kpathsea version 6.2.3"" ""Content-Length"",""3580048"" ""Content-Type"",""application/pdf"" ""xmp:MetadataDate"",""2019-07-24T10:06:11Z"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"","""" ""pdf:producer"",""pdfTeX-1.40.18"" ""dc:subject"","""" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""67"" ""pdf:hasXMP"",""true"" ""pdf:charsPerPage"",""313"",""0"",""40"",""0"",""0"",""1609"",""129"",""1778"",""131"",""691"",""1642"",""386"",""662"",""229"",""589"",""1808"",""2063"",""2132"",""2020"",""1990"",""1559"",""429"",""741"",""1160"",""695"",""601"",""1120"",""29"",""1350"",""165"",""1508"",""1162"",""1680"",""799"",""867"",""1458"",""1065"",""1206"",""221"",""2136"",""1505"",""1421"",""879"",""1470"",""1221"",""1416"",""1238"",""1439"",""187"",""2015"",""191"",""1727"",""1736"",""1886"",""443"",""711"",""751"",""1063"",""789"",""800"",""650"",""827"",""953"",""36"",""35"",""0"",""464"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""pdf:docinfo:trapped"",""False"" ""meta:keyword"","""" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2019-07-23T11:05:19Z"" ";https://scholar.google.com/scholar?start=490&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094649-1113;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;RKA security of identity-based homomorphic signature scheme;J Chang, H Ma, A Zhang, M Xu, R Xue ; IEEE Access, 2019 ieeexplore.ieee.org;;"… and then gave an ingenious implement in the random oracle (RO) model based on the bilinear map and the assumption of computational Diffie-Hellman (CDH). In addition, they also claimed that their scheme is very suitable to be used in the hot research field of blockchain …";Cité 9 fois;Les 2 versions;[PDF] ieee.org;https://ieeexplore.ieee.org/iel7/6287639/6514899/08676234.pdf;" ";"""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""dc:title"",""IEEE Xplore Full-Text PDF:"" ""Content-Encoding"",""UTF-8"" ""resourceName"",""08676234.pdf"" ""language"",""es"" ""Content-Length"",""2565"" ""title"",""IEEE Xplore Full-Text PDF:"" ""Content-Language"",""en-US"" ""Content-Type"",""text/html; charset=UTF-8"" ";https://scholar.google.com/scholar?start=930&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094661-1165;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;New construction of blind signatures from braid groups;L Wang, Y Tian, Y Pan, Y Yang ; IEEE Access, 2019 ieeexplore.ieee.org;;"… A is a probabilistic polynomial-time algorithm that receives input p, q and has access to two oracles — the matching conjugate oracle Omc(ˇ) and the challenge oracle Och() — and wants to win the experiment. FIGURE 1. One-more matching conjugate experiment …";Cité 1 fois;;[PDF] ieee.org;https://ieeexplore.ieee.org/iel7/6287639/8600701/08664179.pdf;" ";"""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""dc:title"",""IEEE Xplore Full-Text PDF:"" ""Content-Encoding"",""UTF-8"" ""resourceName"",""08664179.pdf"" ""language"",""es"" ""Content-Length"",""2565"" ""title"",""IEEE Xplore Full-Text PDF:"" ""Content-Language"",""en-US"" ""Content-Type"",""text/html; charset=UTF-8"" ";https://scholar.google.com/scholar?start=980&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094665-1178;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Ouroboros crypsinous: Privacy-preserving proof-of-stake;T Kerber, A Kiayias, M Kohlweiss… ; 2019 IEEE Symposium …, 2019 ieeexplore.ieee.org;;"… THE MODEL Following the recent line of works proving composable security of blockchain ledgers [2], [1] we provide our protocol and security proof in Canetti's universal composition (UC) framework [8]. In this … A global random oracle GRO for abstracting hash function queries …";Cité 35 fois;Les 14 versions;[PDF] ieee.org;https://ieeexplore.ieee.org/iel7/8826229/8835208/08835272.pdf?casa_token=hwF_SCYX3VsAAAAA:vz4N8uXkDJmfTQCV46JKuT0KqOD969_TD-tYIpeA4_yvVFyQC_LO87KZZROmAWq2PABfkQDgnI4;" ";"""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""dc:title"",""IEEE Xplore Full-Text PDF:"" ""Content-Encoding"",""UTF-8"" ""resourceName"",""08835272.pdf"" ""language"",""es"" ""Content-Length"",""2533"" ""title"",""IEEE Xplore Full-Text PDF:"" ""Content-Language"",""en-US"" ""Content-Type"",""text/html; charset=UTF-8"" ";https://scholar.google.com/scholar?start=420&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094612-951;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[PDF][PDF] Blocked-Chain: The Application of the Unauthorized Practice of Law to Smart Contracts;S Templin ; Geo. J. Legal Ethics, 2019 HeinOnline;;"… Securities and Exchange Commission brought an enforcement action against a crypto token trading … This confinement is attributable to the fact that oracles, necessary mid- dleware that … 3s The automatic performance of smart contracts based on blockchain technology inherently …";Cité 5 fois;Les 2 versions;[PDF] heinonline.org;https://heinonline.org/hol-cgi-bin/get_pdf.cgi?handle=hein.journals/geojlege32§ion=48&casa_token=zCUrUFw0U1kAAAAA:5vqx-PqFqKRTpFTkWhXEmIEQV9NUOqTKmf2tPmFZLuhKcgoikieIunJWDTG3uqB-NQg4Usg;" ";"""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""REFRESH"",""1; url=https://heinonline.org/HOL/Page?handle=hein.journals/geojlege32&div=48&g_sent=1&casa_token=zCUrUFw0U1kAAAAA:5vqx-PqFqKRTpFTkWhXEmIEQV9NUOqTKmf2tPmFZLuhKcgoikieIunJWDTG3uqB-NQg4Usg"" ""Content-Encoding"",""UTF-8"" ""resourceName"",""get_pdf.cgi"" ""language"","""" ""Content-Type"",""text/html; charset=UTF-8"" ";https://scholar.google.com/scholar?start=770&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094574-797;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[PDF][PDF] Blockchain, la tokenización de la economia y democratización de la inversión;N Guarín Cardona ;2019 core.ac.uk;;"… Hoy blockchain trae con ello un nuevo repertorio; algoritmos de consenso, contratos inteligentes, cuentas distribuidas, oracles, billeteras digitales, tokens, llaves públicas y privadas”, y agregaría ICOs, STO, IEO y cripto-economías …";Autres articles;;[PDF] core.ac.uk;https://core.ac.uk/download/pdf/237483403.pdf;" 1 BLOCKCHAIN, LA TOKENIZACIÓN DE LA ECONOMÍA Y DEMOCRATIZACIÓN DE LA INVERSIÓN AUTOR: NICOLÁS GUARÍN CARDONA TUTOR: MARC ROCAS Septiembre/4/2019 TRABAJO FIN DE MASTER-PROYECTO DE INVESTIGACIÓN 2 Agradecimientos Agradezco a mis padres por el gran esfuerzo que hicieron por darme la oportunidad de estudiar en el exterior. Agradezco a Alejandra por todo el amor y apoyo incondicional. Han sido el motor de mi esfuerzo y superaciĂłn. 3 Resumen El objetivo de este trabajo es, por medio de una investigaciĂłn, entender e identificar los efectos de la tecnologĂ­a blockchain y la tokenizaciĂłn de la economĂ­a. Comprender como blockchain abre una nueva economĂ­a digital por medio de criptomonedas y tokens. Identificar su estructura, atributos y caracterĂ­sticas propias. AdemĂĄs, analizar el efecto de los tokens contratos inteligentes para potencializar nuevos modelos de negocio en un sistema de activos programables. Por Ăşltimo, estudiar cĂłmo esta tecnologĂ­a puede ayudar a emprendedores a obtener financiaciĂłn y a la vez darle la oportunidad a un pĂşblico general de pequeĂąos inversionistas de ser incluidos y captar valor a partir de proyectos en sus fases iniciales. The objective of this work is, through research, to understand and identify the effects of blockchain technology and tokenization of the economy. Understanding how blockchain opens a new digital economy through cryptocurrencies and tokens. Identify its own structure, attributes and characteristics. In addition, analyze the effect of smart contracts tokens to potentialize new business models in a programmable asset system. Finally, to study how this technology can help entrepreneurs obtain financing and at the same time give the opportunity to the general public of small investors to be included and capture value from projects in their initial stages. 4 Glosario Bitcoin: Un sistema de efectivo electrĂłnico de usuario a usuario. Bitcoin con B mayĂşscula se refiere al protocolo y plataforma de pagos descentralizada. bitcoin: El token que circula en el protocolo Bitcoin; La unidad de intercambio nativa. Blockchain: La cadena de bloques es un registro pĂşblico de las transacciones Bitcoin en orden cronolĂłgico. La cadena de bloques se comparte entre todos los usuarios de Bitcoin. Se utiliza para verificar la estabilidad de las transacciones Bitcoin y para prevenir el doble gasto. P2P: Por sus siglas en inglĂŠs (Peer to Peer) Punto a punto o tambiĂŠn llamado de usuario a usuario. Se refiere a los sistemas que trabajan como una organizaciĂłn colectiva. permitiendo que cada individuo interactĂşe directamente con otros. En el caso de Bitcoin, la red se construye de tal manera que cada usuario estĂĄ transmitiendo transacciones de otros usuarios. Y algo muy importante, ningĂşn banco se requiere como intermediario. FOSS: Por sus siglas en inglĂŠs, free open software. Software que puede ser usado gratuitamente y desarrollado de forma transparente. Cripto activos: Un cripto activo es un activo digital que depende primordialmente de criptografĂ­a y tecnologĂ­a blockchain o similar; que no estĂĄ emitida por una autoridad pĂşblica o banco central y que puede utilizarse como medio de intercambio, con fines de inversiĂłn o para acceder a un producto o servicio en unas determinadas condiciones. Criptomoneda: Es una categorĂ­a de los cripto activos, cuya funciĂłn principal es operar como medio de valor de intercambio dentro de un sistema econĂłmico de igual a igual que utiliza la criptografĂ­a para verificar y asegurar transacciones, y controlar la creaciĂłn de unidades adicionales. Ethereum: Infraestructura computacional global, abierta, descentralizada que ejecuta programas llamados contratos inteligentes. Este utiliza una blockchain para sincronizar y almacenar los cambios de estado con su token nativo ether, para medir y limitar el costo de los recursos de ejecuciĂłn. Contratos inteligentes: Son programas informĂĄticos que pueden cumplirse de forma automĂĄtica una vez que las partes han acordado los tĂŠrminos. Se escriben y ejecutan sobre una blockchain. Ethereum fue el primer ecosistema blockchain en permitir la creaciĂłn y ejecuciĂłn de los mismos. Token: Una unidad de valor que una organizaciĂłn crea para autogestionar su modelo de negocio y capacitar a sus usuarios para interactuar con sus productos, al tiempo que facilita la distribuciĂłn y el intercambio de recompensas y beneficios para todos sus grupos de interĂŠs. https://bitcoin.org/es/vocabulario#doble-gasto https://bitcoin.org/es/vocabulario#doble-gasto 5 ERC: Por sus siglas en inglĂŠs Ethereum Request for Comment. Los ERC son estĂĄndares y convenios a nivel de aplicaciĂłn. EIP: Por sus siglas en inglĂŠs Ethereum Improvement Proposal. Propuesta de mejora de Ethereum. Es el primer mecanismo para proponer nuevas caracterĂ­sticas, para recopilar aportes tĂŠcnicos de la comunidad sobre un tema y para documentar las decisiones de diseĂąo que se han incluido en Ethereum. Token de Utilidad: Tokens que desde la dimensiĂłn legal no representan un valor negociable. Por el contrario, tienen una utilidad, generalmente es dar acceso a un servicio, red o producto o construir en una infraestructura descentralizada. ICO: Por sus siglas en inglĂŠs Initial Coin Offering. Oferta inicial de moneda. Proceso por el cual una startup recauda fondos ofreciendo a cambio un token de utilidad emitido en blockchain. STO: Por sus siglas en inglĂŠs, (Security Token Offering). Proceso de emisiĂłn de activos digitales-denominados tokens que representan valores negociables (securities: deuda o equity) en donde se usa la tecnologĂ­a blockchain para digitalizarlas. Security Token: Tokens de valores negociables; pueden representar propiedad fraccionada de inmuebles, arte, acciones de una compaùía, deuda o un activo respaldado por algĂşn valor. Compliance platforms: Plataformas encargadas de alinear la tecnologĂ­a con las normativas y marcos regulatorios. Son conocidas como compliance platforms. ERC-20: Es un estĂĄndar tĂŠcnico usado para emitir e implementar tokens en la blockchain de Ethereum. Se entiende como un contrato inteligente, guĂ­a tĂŠcnica o especĂ­fica de un marco de reglas que se deben seguir para que el token funcione apropiadamente. Se les dice tokens ERC-20 a los tokens que son creados usando este estĂĄndar. Protocolo: Conjunto de reglas predefinidas con el propĂłsito de estandarizar el intercambio de informaciĂłn en actividades informĂĄticas. Al seguir un mismo protocolo se garantiza que habrĂĄ compatibilidad entre los dispositivos en los distintos puntos de un sistema informĂĄtico. Algoritmo: Conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite llevar a cabo una actividad mediante pasos sucesivos que no generen dudas a quien deba hacer dicha actividad. Algoritmo de Consenso: Mecanismo a travĂŠs del cual una red blockchain alcanza consenso. Las blockchain pĂşblicas descentralizadas son sistemas distribuidos y, debido a que no dependen de una autoridad central, sus nodos necesitan ponerse de acuerdo respecto a la validez de las transacciones. Son los responsables de mantener la integridad y seguridad de los sistemas. dApp: Por sus siglas en inglĂŠs Decentralized Applications aplicaciones descentralizadas; aplicaciones que se ejecutan de forma distribuida,alojadas en una blockchain. 6 PoW:Por sus siglas en inglĂŠs (Proof of Work)Prueba de trabajo. Algoritmo de consenso utilizado por Bitcoin con el objetivo de proteger la red, requiriendo que los nodos participantes (mineros) realicen un procesamiento de datos para resolver un problema criptogrĂĄfico difĂ­cil. (por ejemplo, un problema matemĂĄtico) antes de permitir la realizaciĂłn de otra acciĂłn. PoS: Por sus siglas en inglĂŠs (Proof of Stake) Prueba de participaciĂłn. Algoritmo de consenso que asegura la red de una forma determinista. En este sistema no hay mineros procesando datos. Los usuarios interesados en participar en la red deben poner en participacion sus tokens y dejarlos quietos como garantĂ­a. Entre mĂĄs tokens tenga en participaciĂłn, es mĂĄs alta la recompensa. Mineros: MĂĄquinas especializadas que funcionan en el algoritmo de consenso PoW. Realizan cĂĄlculos matemĂĄticos para confirmar las transacciones en la red de Bitcoin y proteger la red. KYC: Por sus siglas en inglĂŠs (Know Your Client) Conoce a tu cliente. Procesos de supervisiĂłn que realiza una entidad para conocer a sus nuevos y antiguos clientes para identificar a quĂŠ se dedican y de dĂłnde proceden sus fondos, con la intenciĂłn de evitar mantener relaciones comerciales con personas involucradas en delitos de blanqueo de capitales, terrorismo, corrupciĂłn gubernamental, delitos relacionados con drogas. AML: Por sus siglas en inglĂŠs (Anti Money Laundering) prevenciĂłn del blanqueo de capitales. FINMA: Swiss Financial Market Supervisory Authority. Autoridad Suiza supervisora de los mercados financieros. FATF: Por sus siglas en inglĂŠs, Financial Action Task Force. Grupo de AcciĂłn Financiera Internacional-GAFI.InstituciĂłn intergubernamental creada en 1989 para promulgar un marco internacional de las normas de prevenciĂłn. 7 Índice Agradecimientos ................................................................................................................. 2 Resumen .............................................................................................................................. 3 Glosario ............................................................................................................................... 4 Pregunta de investigaciĂłn .................................................................................................. 9 JustificaciĂłn de la InvestigaciĂłn ....................................................................................... 9 I IntroducciĂłn .................................................................................................................... 11 Blockchain ........................................................ 12 EconomĂ­a & CentralizaciĂłn ............................................ 13 ICOs & TokenizaciĂłn ........................................................................................................ 15 II “Protocolos Gordos” ..................................................................................................... 15 Token-EconomĂ­a a Cripto economĂ­a ..................................... 16 Las 6 vidas de un Token y como definir su utilidad ........................... 17 Circulo Cripto-econĂłmico ............................................. 19 III TaxonomĂ­a de los Tokens ............................................................................................ 21 Tokens en TĂŠrminos Legales .......................................... 21 Propuesta de FINMA en TerminologĂ­a .................................... 22 TaxonomĂ­a Propuesta por Autoridad Bancaria Europea ...................... 23 TaxonomĂ­a de los tokens en tĂŠrminos tecnolĂłgicos. .......................... 25 Propuesta de clasificaciĂłn de tokens de Untitiled INC ....................... 26 Las 5 Dimensiones de los Tokens CriptogrĂĄficos........................... 27 Capas de los sistemas DLT ..................................... 29 Capa de Gobernabilidad en DLT ........................................ 30 Decred-Decentralized Credit ........................................... 31 IV Ethereum, la FĂĄbrica de Tokens .................................................................................. 32 ERC ............................................................ 33 ERC-20 el catalizador de los tokens ..................................... 33 Top 10 Tokens ERC-20 .............................................. 36 Monedas Estables ................................................. 37 Tokens de Casas de Cambio ......................................... 38 8 ICOs Vs Inversionistas de capital de riesgo (VC) ............................ 39 ERC-721 Tokens No Fungibles (NFT) .................................... 41 ERC-725 EL estĂĄndar de la identidad en Ethereum .......................... 43 ERC-1155 El estĂĄndar multi token y Gaming ............................... 44 Enjin y su cripto economĂ­a para gamers ................................... 45 Token contrato ERC-1155 para certificados de energĂ­a renovable en blockchain ..... 46 VI Tokens de valor negociable ......................................................................................... 47 Tokens de valores y cumplimiento de la normativa ........................... 48 ERC-1400 = ST-20, El estĂĄndar de los tokens de valores. ..................... 49 Infraestructura de tokens de valores ..................................... 50 Tech Stack de Tokens de Valores ....................................... 50 VII Tendencias de la tokenizaciĂłn ................................................................................... 52 ICOFunding-Plataforma de TokenizaciĂłn ....................................................................... 55 Entrevista a ICOFunding .............................................. 55 VIII Conclusiones .............................................................................................................. 56 Fase 0 de la tokenizaciĂłn ............................................. 56 Fase 1 de la TokenizaciĂłn ............................................ 57 Fase 2 de la TokenizaciĂłn ............................................ 57 Fase 3 de la TokenizaciĂłn ............................................ 57 Fase 4 de la TokenizaciĂłn ............................................ 58 BibliografĂ­a ........................................................................................................................ 58 9 Preguntas de investigaciĂłn ÂżComo puede la tecnologĂ­a blockchain crear una economĂ­a tokenizada para democratizar la inversiĂłn? ÂżpodrĂĄ la tokenizaciĂłn democratizar el mercado global de inversiones y abrirlo para que los inversores mĂĄs pequeĂąos participen en ofertas atractivas? JustificaciĂłn de la InvestigaciĂłn Las grandes empresas de tecnologĂ­a que se han creado en las Ăşltimas dĂŠcadas han sido captadas por pequeĂąos y exclusivos grupos de VC (Venture Capitals) inversionistas concentrados en Silicon Valley. Startups como Uber y Airbnb, que se usan en casi la totalidad del mundo, solo fueron ofertadas en su inicio a un pequeĂąo grupo de inversores que pudieron captar todo el valor antes de que estas compaùías se volvieran pĂşblicas por medio de una IPO. Adicionalmente en Estados Unidos para poder acceder a ciertas ofertas de inversiĂłn tienes que ser un inversionista autorizado o acreditado. En el contexto de una persona natural, para ser un inversionista acreditado segĂşn las leyes de la ComisiĂłn de Intercambio de Valores de Estados Unidos: (Securities Exchange Commission). • Tener ingresos que superen los $200.000 USD o $300.000 en conjunto con tu pareja en los Ăşltimos 2 aĂąos y esperar lo mismo para el prĂłximo aĂąo. • Tener un capital que supere el millĂłn de dĂłlares solo o en conjunto con su esposa, sin incluir el valor de la primera residencia. • Cualquier fondo que exceda los $5 millones que no sea formado y que la compra sea por un inversionista denominado ¨Persona Sofisticada¨. • La persona sofisticada segĂşn el SEC debe tener suficiente conocimiento y experiencia en el sector financiero y en asuntos de negocio que sepa evaluar el riesgo.(SEC, 2019) Aunque estos requisitos no son para todas las inversiones, si excluyen a gran parte de los estadounidenses que no tienen un capital suficiente, pero quieren encontrar buenas ofertas de inversiĂłn. Por otro lado, en Europa, segĂşn MiFID, Markets in Financial Instruments Directive, el tĂŠrmino que se usa es Inversionista Experimentado y debe cumplir con ciertos requisitos: ● Haber cumplido una transacciĂłn de comercio en una cantidad significativa de por lo menos €50.000, en un mercado relevante en un promedio de frecuencia de 10 por cada cuatrimestre en los Ăşltimas 4 cuatrimestres. ● El tamaĂąo del portafolio financiero del inversionista definido incluyendo los depĂłsitos de efectivo e instrumentos financieros deben exceder €500.000. 10 ● El inversionista trabaja o ha trabajado en el sector financiero por lo menos un aĂąo en una posiciĂłn profesional que requiere conocimiento de la transacciĂłn o servicio.(European Parliament, 2004) En primera instancia suena totalmente exclusivo y desde muchos aspectos puede serlo. La justificaciĂłn de estas medidas restrictivas es para proteger al pequeĂąo inversionista de sĂ­ mismo. Argumentos totalmente debatibles que pone a las personas mĂĄs ricas en una posiciĂłn de acceso a oportunidades de inversiĂłn en ventaja de los menos ricos. Entendiendo que en muchos paĂ­ses el lobbying se ha vuelto una herramienta para que los mĂĄs ricos creen las leyes a su beneficio, estas restricciones se pueden entender de igual manera como una forma para proteger a los mĂĄs ricos y ofrecerles las mejores oportunidades de una forma exclusiva. Aunque en Estados Unidos existe la regulaciĂłn A (Reg A) la cual permite a los inversionistas no acreditados invertir en una oferta de deuda o equity (Security Offering). Esta regulaciĂłn en la prĂĄctica es conocida por sus altos estĂĄndares de exigencia, sus altos costos y porque su proceso burocrĂĄtico se vuelve un proceso lento que puede llegar a tomar mucho tiempo en bĂşsqueda de la protecciĂłn del SEC¨.(The Tokenizer, 2019). Uno de los puntos importantes que se puede argumentar es el hecho de que aunque quitemos las regulaciones, igualmente el mercado no necesariamente serĂ­a mĂĄs democrĂĄtico o abierto e inclusivo. Esto se debe a que en muchas ocasiones la principal barrera para acceder a estas inversiones son los altos montos de capital que se exige como mĂ­nima inversiĂłn. 11 I IntroducciĂłn Nuestra economĂ­a estĂĄ fracasando en escalar. La revoluciĂłn industrial nos trajo el modelo de la jerarquĂ­a burocrĂĄtica, la organizaciĂłn, la instituciĂłn y la corporaciĂłn. Un esquema piramidal que nos permitiĂł hacer grandes avances tecnolĂłgicos como civilizaciĂłn pero que hoy no nos permiten solucionar los problemas de una civilizaciĂłn global. (Antonopoulos,2018) Las corporaciones se ven como una pirĂĄmide egipcia, en donde las acciones se hacen en la base y las decisiones se toman arriba a donde la informaciĂłn fluye y se concentra. El problema es que el poder tambiĂŠn es concentrado arriba y las personas que toman las decisiones tienen mucho poder e insuficiente informaciĂłn. EstĂĄn muy lejos del lugar donde las decisiones son ejecutadas y no pueden ver las consecuencias de esas decisiones y el poder los corrompe. (Antonopoulos, 2018a) AsĂ­ como la revoluciĂłn industrial creĂł nuevos modelos organizacionales para incrementar la productividad. AsĂ­ como internet nos dio la forma de escalar el acceso a la informaciĂłn. Hoy Blockchain nos da una plataforma global que crea confianza como unidad de toma de decisiones descentralizadas sin usar un esquema jerĂĄrquico. La era de la informaciĂłn por medio del protocolo TCP/IP y HTTP, nos permitiĂł definir cĂłmo se transfiere la informaciĂłn en la web. SMTP es el protocolo que permitiĂł a las aplicaciones de e-mail enviar y recibir archivos de forma inmediata, sin importar distancia u hora. Sin embargo, cada vez que enviamos un archivo digital, en efecto lo estamos replicando y enviando una copia. En el 2004 el cientĂ­fico computacional y criptĂłgrafo Harold Thomas Finney II introduce un sistema RPoW por sus siglas en inglĂŠs (Reusable Proof Of Work) Prueba de trabajo reutilizable. En esencia este sistema resuelve el problema del doble gasto manteniendo la propiedad de los tokens registrados en un servidor confiable que fue diseĂąado para permitir a los usuarios de todo el mundo verificar su exactitud e integridad en tiempo real. (Finney, 2004) Sin embargo en ese momento la informaciĂłn sigue siendo centralizada en un servidor. 4 aĂąos despuĂŠs y tras una de las peores crisis financieras de la historia, una persona o un grupo de personas bajo el seudĂłnimo Satoshi Nakamoto publicĂł un libro blanco llamado Bitcoin; un sistema de efectivo electrĂłnico descentralizado de usuario-a-usuario. Lo describe como; una soluciĂłn al problema del doble-gasto utilizando un servidor de marcas de tiempo usuario-a-usuario distribuido para generar una prueba computacional del orden 12 cronolĂłgico de las transacciones. La red coloca estampas de tiempo a las transacciones al crear un hash de las mismas en una cadena continua de pruebas de trabajo basadas en hashes, formando un registro que no puede ser cambiado sin volver a recrear la prueba de trabajo. El sistema es seguro mientras que nodos honestos controlen colectivamente mĂĄs poder de procesamiento (CPU) que cualquier grupo de nodos atacantes en cooperaciĂłn.(Nakamoto, 2009) (Nakamoto, 2009) El diseĂąo de mecanismos planteado por Nakamoto incentiva a estos nodos (mineros) a participar, ya que al realizar el procesamiento estĂĄn protegiendo la red y a la vez participando para obtener los prĂłximos bitcoins que serĂĄn creados. Para verlo de otro modo; Visa, es un sistema de pagos internacional centralizado y dentro de ese sistema se mueven las cuentas de las monedas fiduciarias como el dĂłlar o euro, en un formato digital. Bitcoin con B mayĂşscula es un sistema de pagos internacional descentralizado y dentro de este se mueve su moneda nativa bitcoin, a la cual nos referimos con b minĂşscula y de los cuales solo puede haber 21 millones. Esto significa un sistema monetario con una unidad escasa, limitada, y con una inflaciĂłn controlada y programada en el cĂłdigo. Blockchain Lo que blockchain nos permite hacer es enviar activos digitales con la misma inmediatez y lo mĂĄs importante; sin crear copias, en esencia se transfiere propiedad. Por primera vez en la historia se puede transferir propiedad representada en activos digitales o tokens en una red descentralizada, pĂşblica, resistente a la censura, abierta, sin fronteras y sin un intermediario. Teniendo esto en cuenta, el nombre blockchain o bloques de cadena viene de uno de sus componentes mĂĄs representativos por su misma funciĂłn en el proceso, al tener una cadena de bloques protegidos criptogrĂĄficamente que actĂşa como un diario de todas las transacciones de estado verificadas y aceptadas. Antonopoulos describe una blockchain abierta y pĂşblica como un conjunto de componentes en el que usualmente deben de tener: ● Una red punto a punto (P2P) que conecta a los participantes y propaga transacciones y bloques de transacciones verificadas, basado en un protocolo estandarizado de ""chismes"". ● Mensajes, en forma de transacciones, que representan transiciones de estado. ● Un conjunto de reglas de consenso que rigen lo que constituye una transacciĂłn y lo que hace una transiciĂłn de estado vĂĄlida. ● Una mĂĄquina de estado que procesa transacciones de acuerdo con las reglas de consenso. 13 ● Una cadena de bloques protegidos criptogrĂĄficamente que actĂşa como un diario de todas las transiciones de estado verificadas y aceptadas. ● Un algoritmo de consenso que descentraliza el control sobre la cadena de bloques, al obligar a los participantes a cooperar en la aplicaciĂłn de las reglas de consenso. ● Un esquema de incentivo teĂłricamente sĂłlido (por ejemplo, costos de prueba de trabajo mĂĄs recompensas en bloque) para asegurar econĂłmicamente la mĂĄquina de estado en un entorno abierto. ● Una o mĂĄs implementaciones de software de cĂłdigo abierto de los anteriores (""clientes"") (Antonopoulos & Woods, 2018) EconomĂ­a & CentralizaciĂłn La economĂ­a de hoy estĂĄ representada por producciĂłn, distribuciĂłn o intercambio y el consumo de bienes y servicios de diferentes agentes. DetrĂĄs de eso en esencia estĂĄ el comportamiento de grandes grupos de personas y la realidad es que este factor vuelve a la economĂ­a debatiblemente una ciencia social y el comportamiento de las personas no es algo que se pueda modelar muy bien matemĂĄticamente. El dinero ha existido en nuestra concepciĂłn durante miles de aĂąos, empezando como una forma de contabilizar los favores que se hacĂ­an dentro de una comunidad entre sus partes para facilitar el intercambio de bienes y servicios. Sus principales usos han sido: ● Medio de intercambio ● Reserva de Valor ● Unidad de medida Sin embargo, desde que Richard Nixon en 1971 puso fin a la capacidad de los bancos centrales extranjeros para convertir su dĂłlar en oro, para evitar una fuga en las reservas de oro de EE. UU. y revertir el deterioro del saldo del paĂ­s.(Irwin, 2012) el dinero que hoy conocemos tuvo un cambio en sus fundamentos, cumple una funciĂłn adicional; ser un sistema de control. Desde entonces el mundo ha tenido al dĂłlar como moneda internacional fiduciaria, respaldada Ăşnicamente por la fe y el crĂŠdito de las personas en el gobierno norteamericano. Esto deja a una autoridad central a cargo de la impresiĂłn de dinero y eventualmente a cargo del valor del medio de intercambio mĂĄs usado, formando una gran vulnerabilidad al sistema econĂłmico mundial. Es por esto que aunque las estructuras econĂłmicas son producto de aĂąos de investigaciĂłn, gobernanza y dinĂĄmica social, ante cĂ­clicas crisis econĂłmicas tenemos que aceptar que quizĂĄs estamos en un sistema econĂłmico parcialmente diseĂąado y con mejores diseĂąos de mecanismos por descubrir y nueva tecnologĂ­a por implementar para que este siga evolucionando. Es por esto que, aunque las personas creen que bitcoin es sobre el dinero, fundamentalmente es sobre la confianza. (Antonopoulos, 2016) 14 A pesar de que la informaciĂłn puede fluir instantĂĄneamente y la velocidad de conectividad a la web es cada vez mĂĄs rĂĄpida y nos sumergimos en un mundo cada vez mĂĄs digital, las transacciones bancarias internacionales siguen tomando mĂĄs tiempo de lo normal. Incluso hacer una transferencia nacional de un banco a otro puede ser un dolor de cabeza, ya que cada uno tiene su propia red cerrada de informaciĂłn. Debido a que cada entidad tiene su propia base de datos y no las comparte por motivos de seguridad. Esto crea silos de datos y son formas de almacenar informaciĂłn centralizada e ineficientemente. Esto debido a que para hacer transferencias internacionales los bancos deben recurrir a un tercero que sirva de ĂĄrbitro para que les proporcione una plataforma confiable y los comunique entre sĂ­. Esta es una de las funciones de (SWIFT) Society for Worldwide Interbank Financial Telecommunication. El cual provee una red de informaciĂłn para que los bancos puedan enviar y recibir informaciĂłn sobre transacciones financieras. Para verlo de otra forma es el ¨mensajero internacional de los bancos¨, un intermediario cuya funciĂłn es dar confianza a las partes y transferir datos globalmente. Sin embargo, aunque esta organizaciĂłn quiere ofrecer un servicio neutral, sus mecanismos de gobernabilidad no se lo permiten y por esto seguimos viendo cĂłmo pueden arbitrariamente excluir de su red a bancos de algunos paĂ­ses y funcionar como un arma polĂ­tica financiera. En el resumen ejecutivo del 2019 de las naciones unidas, sobre la situaciĂłn y perspectiva de la economĂ­a mundial; subrayan la urgencia de adoptar mecanismos que reduzcan los riesgos en los que la economĂ­a global se desestabilice.(ONU, 2015) Entre los objetivos de la agenda 2030, el nĂşmero 17 denominado Alianza para lograr los objetivos en mi opiniĂłn es vital para lograr los demĂĄs. Blockchain es una herramienta tecnologĂ­a que nos puede ayudar a lograr los objetivos, depende de la voluntad polĂ­tica y coordinaciĂłn de las naciones diseĂąar e implementar los mecanismos correctos. Cuando entendemos que los tokens pueden significar cualquier forma de incentivo para lograr un comportamiento deseado en un sistema podemos empezar a diseĂąar mecanismos para crear una sociedad mĂĄs sostenible. En donde debemos entender que, asĂ­ como el internet rompiĂł el cartel de la informaciĂłn, hoy Bitcoin rompe el del sistema financiero. (Pompliano,2019) y al ser su tecnologĂ­a FOSS podemos esperar una ola de innovaciĂłn para fortalecer la confianza en procesos econĂłmicos administrativos y de gobernabilidad en diferentes industrias, en los que los tokens son protagonistas. 15 ICOs & TokenizaciĂłn Es aquĂ­ donde, blockchain y las ICOs estĂĄn cambiando el espectro: Una ICO se puede resumir de la siguiente manera: un nuevo mĂŠtodo para recaudar fondos a travĂŠs de la oferta y venta de un grupo de desarrolladores o una empresa a una multitud (es decir, inversores o contribuyentes) de criptoactivos ad hoc (tambiĂŠn acuĂąados como ""tokens"") especĂ­ficamente creado y emitido en un libro mayor distribuido, a veces precedido por una venta anticipada de los activos de cifrado llamada ""preventa"", con el propĂłsito de iniciar un negocio o desarrollar un sistema de gobierno ad hoc de proyectos basados, en varios casos, en el tecnologĂ­a DLT, generalmente a cambio de criptoactivos 'principales' preexistentes.(Blemus & Guegan, 2019) Dicho proceso tambiĂŠn se puede entender como tokenizaciĂłn. En tĂŠrminos de inversiĂłn, la tokenizaciĂłn permite que pequeĂąos inversionistas puedan acceder a posibles proyectos innovadores de calidad sin ser inversionistas acreditados o tener grandes sumas de capital. Debido a que el proceso no necesita de intermediarios bancarios, el rango de acceso se abre y hay menos fricciĂłn. En un principio los inversionistas recibĂ­an un token, denominado token de utilidad y en muchos casos los emprendedores que los emitĂ­an los describĂ­an como un producto que no es un valor negociable, (security) todo con el propĂłsito de evitar regulaciones de las autoridades de valores. La utilidad del token se describĂ­a como un producto que da acceso a una red descentralizada, que permite construir o ejecutar programas en una plataforma descentralizada. Esta tesis analiza diferentes enfoques en taxonomĂ­as propuestas, diferentes ecosistemas o redes cripto econĂłmicas, cĂłmo interactĂşa su token y como crean valor. Estamos tratando con tecnologĂ­a que nos permite crear y diseĂąar nuevas formas de capital, (Monegro, 2019b) lo define como Capital de Red. Por primera vez en la historia tenemos las herramientas para crear organizaciones planas, descentralizadas y autĂłnomas que podemos diseĂąar para que sean incluyentes y proporcionen fuentes de ingresos al alcance de cualquier inversionista. Tokenizar la economĂ­a nos acerca a los servicios financieros universales bĂĄsicos que nos puede permitir que nuestra economĂ­a escale a una era digital. Las ICOs fueron solo el principio y abrieron el camino a los tokens de valores que pueden representar propiedad fraccionada de un activo fĂ­sico y se distribuyen por el proceso que se llama STO o Security Token Offering. ICOs, STOs, cripto-activos y tokenizaciĂłn, asĂ­ como, en tĂŠrminos mĂĄs generales, el uso de DLT y los contratos inteligentes podrĂ­an afectar la forma en que las empresas se rigen en varias formas. Las nuevas tecnologĂ­as, blockchain y cripto-activos en parti";"""date"",""2019-11-06T13:10:36Z"" ""pdf:PDFVersion"",""1.7"" ""xmp:CreatorTool"",""MicrosoftÂŽ Word 2016"" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""language"",""es"" ""dc:format"",""application/pdf; version=1.7"" ""pdf:docinfo:creator_tool"",""MicrosoftÂŽ Word 2016"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""xmp:CreateDate"",""2019-09-05T01:29:56Z"" ""modified"",""2019-11-06T13:10:36Z"" ""pdf:hasMarkedContent"",""true"" ""xmp:ModifyDate"",""2019-11-06T14:10:36Z"" ""pdf:docinfo:creator"",""Usuario"" ""meta:author"",""Usuario"" ""meta:creation-date"",""2019-09-04T23:29:56Z"" ""created"",""2019-09-04T23:29:56Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2019-09-04T23:29:56Z"" ""resourceName"",""237483403.pdf"" ""Author"",""Usuario"" ""producer"",""MicrosoftÂŽ Word 2016"" ""pdf:docinfo:producer"",""MicrosoftÂŽ Word 2016"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""access_permission:modify_annotations"",""true"" ""dc:creator"",""Usuario"" ""dcterms:created"",""2019-09-04T23:29:56Z"" ""Last-Modified"",""2019-11-06T13:10:36Z"" ""dcterms:modified"",""2019-11-06T13:10:36Z"" ""xmpMM:DocumentID"",""uuid:A233B3CE-F628-4ED5-A1A2-4158AC86C784"" ""Last-Save-Date"",""2019-11-06T13:10:36Z"" ""pdf:docinfo:modified"",""2019-11-06T13:10:36Z"" ""meta:save-date"",""2019-11-06T13:10:36Z"" ""Content-Length"",""2307651"" ""Content-Type"",""application/pdf"" ""xmp:MetadataDate"",""2019-11-06T14:10:36Z"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"",""Usuario"" ""dc:language"",""es-ES"" ""pdf:producer"",""MicrosoftÂŽ Word 2016"" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""61"" ""pdf:hasXMP"",""true"" ""pdf:charsPerPage"",""351"",""274"",""1406"",""2588"",""2788"",""1799"",""2720"",""1880"",""2425"",""1628"",""2550"",""2540"",""2608"",""2641"",""3235"",""1652"",""2703"",""762"",""498"",""1875"",""2403"",""2452"",""1492"",""1055"",""3046"",""2861"",""463"",""2562"",""864"",""1000"",""2903"",""1064"",""2483"",""1444"",""1400"",""30"",""1124"",""3035"",""1006"",""680"",""2606"",""1943"",""2898"",""2174"",""2370"",""1981"",""2938"",""2942"",""2848"",""1760"",""1992"",""1602"",""1787"",""1210"",""2217"",""2098"",""3528"",""2586"",""3609"",""3709"",""2289"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2019-09-04T23:29:56Z"" ";https://scholar.google.com/scholar?start=610&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094640-1071;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Blockchain: Panacea for Corrupt Practices in Developing Countries;AI Sanka, RCC Cheung ; 2019 2nd International Conference of …, 2019 ieeexplore.ieee.org;;"… most successful cryptocurrency. Beside the cryptocurrencies, there are several other applications of blockchain in healthcare, banking, insurance, identity management and so on [6]. There are also increasing blockchain adoptions by many companies such as IBM, Oracle and …";Cité 2 fois;Les 3 versions;null;;;;https://scholar.google.com/scholar?start=890&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094656-1141;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Implementation of a tournament based distributed lottery on Ethereum;VF Andersen ;2019 ntnuopen.ntnu.no;;"… Data for gas price, ether price, and transaction throughput on the Ethereum blockchain was gathered from Etherscan 3 and ETH … Hash functions as random oracles … Since this property is not for- mally proven, a random oracle model assumption is often made for hash functions …";Autres articles;Version HTML;[PDF] ntnu.no;https://ntnuopen.ntnu.no/ntnu-xmlui/bitstream/handle/11250/2634465/no.ntnu%3Ainspera%3A2531122.pdf?sequence=1;" N TN U N or w eg ia n U ni ve rs ity o f S ci en ce a nd T ec hn ol og y Fa cu lt y of In fo rm at io n Te ch no lo gy a nd E le ct ri ca l En gi ne er in g D ep ar tm en t o f C om pu te r Sc ie nc e M as te r’ s th es is Viktor Frede Andersen Distributed lottery on Ethereum Implementation of a tournament based distributed lottery on Ethereum Master’s thesis in Computer Science Supervisor: Letizia Jaccheri June 2019 Viktor Frede Andersen Distributed lottery on Ethereum Implementation of a tournament based distributed lottery on Ethereum Master’s thesis in Computer Science Supervisor: Letizia Jaccheri June 2019 Norwegian University of Science and Technology Faculty of Information Technology and Electrical Engineering Department of Computer Science Distributed lottery on Ethereum Preface This is a Master’s thesis carried out during the spring semester of 2019 for the com- pletion of the 5-year computer science program at Norwegian University of Science and Technology, Trondheim. The idea for a tournament based lottery on Ethereum was inspired by the works of Miller and Bentov and Bartoletti and Zunino. The search for a thesis went over a long time during which I studied blockchain appli- cations and learned about the blockchain space. The readers of this report are assumed to have a background in computer sci- ence with some knowledge of distributed systems and blockchains. 11-06-2019 Viktor Frede Andersen i Distributed lottery on Ethereum Acknowledgment I would like to thank the following persons for their great help during the thesis work: Mariusz Nowostawski for being an excellent supervisor and mentor with patience and understanding. My mom Liv Unni Andersen and dad Jan Kjetil Andersen for mental support, guid- ance, and for pushing me when progress was slow. All contributors to the academic work which I built this thesis on, including open source contributors and advocates of Bitcoin, Ethereum, and associated software projects. V.F.A. iii Distributed lottery on Ethereum Abstract Distributed lotteries on the internet is an interesting application with uses in gam- bling and other areas. Blockchains that function as smart contract platforms can be used to both transfer value and enforce protocols for multiparty computing with- out relying on a trusted intermediary. This has made it possible to design lotteries with verifiable randomness and with a guarantee of successful completion. One promising design of a distributed lottery on a blockchain is based on a tour- nament of digital coin tosses. This thesis explores the feasibility of such a lottery through making an implementation and doing measurements. The implementa- tion is made for the Ethereum blockchain, which is currently the leading platform for applications using smart contracts. The lottery is assessed by measuring trans- action costs and transaction demand, as well as by discussing the security of the lottery in the context of known security issues for blockchain applications and web applications. We successfully implement a lottery prototype which is likely to work for up to about 100000 participants. Several directions of further research to improve the scalability are identified and discussed. We find that the most concerning security issue is transaction censorship by a powerful collusion of opportunistic miners, which might be an issue for lotteries with a very large prize. v Distributed lottery on Ethereum Abbreviations P2P = Peer-to-Peer PoW = Proof-of-Work VRF = Verifiable Random Function PRNG = Pseudo-Random Number Generator API = Application Programming Interface MPC = MultiParty Computation BVM = Bitcoin Virtual Machine EVM = Ethereum Virtual Machine CA = Contract Account EOA = Externally Owned Account dApp = Decentralized Application RPC = Remote Procedure Call DoS = Denial-of-Service PoS = Proof-of-Stake HDS = Hierarchical Deterministic Secrets vii Distributed lottery on Ethereum Contents Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i Acknowledgment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv Listings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 Thesis statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2.1 Literature review . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2.2 Data collection . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2.3 Data analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.3 Thesis structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.1 Cryptography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.1.1 Secure hash functions . . . . . . . . . . . . . . . . . . . . . . 5 2.1.2 Digital encryption . . . . . . . . . . . . . . . . . . . . . . . . 7 2.1.3 Digital signatures . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.2 Verifiable randomness . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2.1 Introduction to verifiable random functions (VRF) . . . . . . 9 2.2.2 Categories of VRFs . . . . . . . . . . . . . . . . . . . . . . . . 10 2.2.3 Delay functions . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2.4 Random beacons . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2.5 Verifiable random oracles . . . . . . . . . . . . . . . . . . . . 13 2.3 Lotteries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.4 Blockchain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.4.1 Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.4.2 Mining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.4.3 Blockchain threats . . . . . . . . . . . . . . . . . . . . . . . . 22 2.5 Trustworthy computing . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.5.1 Smart contracts . . . . . . . . . . . . . . . . . . . . . . . . . . 24 ix Distributed lottery on Ethereum 2.5.2 Ethereum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.1 Tournament lottery outline . . . . . . . . . . . . . . . . . . . . . . . 29 3.1.1 Digital coin toss . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.1.2 Note on the lottery being non-deterministic . . . . . . . . . . 31 3.1.3 Phases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.2 Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.2.1 Master contract . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.2.2 Match contract . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.2.3 Lottery setup code . . . . . . . . . . . . . . . . . . . . . . . . 39 4 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.1 Gas usage and transaction costs . . . . . . . . . . . . . . . . . . . . . 41 4.2 Ticket price . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.2.1 Lower and upper bound on ticket prices . . . . . . . . . . . . 45 4.2.2 A ticket price of zero . . . . . . . . . . . . . . . . . . . . . . . 46 4.3 Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.3.1 Loss of connectivity . . . . . . . . . . . . . . . . . . . . . . . . 47 4.3.2 Blockchain reorganizations . . . . . . . . . . . . . . . . . . . 47 4.3.3 Censorship and transaction blocking . . . . . . . . . . . . . . 48 4.3.4 Compromised client and phishing . . . . . . . . . . . . . . . . 49 4.4 Cost of a censorship attack . . . . . . . . . . . . . . . . . . . . . . . . 50 4.5 Scalability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.5.1 Transaction throughput . . . . . . . . . . . . . . . . . . . . . 53 4.5.2 Transaction costs and max prize . . . . . . . . . . . . . . . . . 55 4.5.3 Scalability limits . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.6 Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.6.1 Consequences of interactivity . . . . . . . . . . . . . . . . . . 58 4.6.2 Tournament without a full binary tree . . . . . . . . . . . . . 60 4.6.3 Mitigating a censorship attack . . . . . . . . . . . . . . . . . . 61 5 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 5.1 Programming tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 5.2 Blockchain security . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 5.3 Experimentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 6.1 Future work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 6.1.1 Minimizing transaction costs . . . . . . . . . . . . . . . . . . 68 6.1.2 Minimizing interactivity . . . . . . . . . . . . . . . . . . . . . 68 6.1.3 Off-chain negotiation . . . . . . . . . . . . . . . . . . . . . . . 68 6.1.4 Formal analysis of security . . . . . . . . . . . . . . . . . . . . 69 x Distributed lottery on Ethereum Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 A Listings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 A.1 Solidity contracts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 A.1.1 Abstract match contract . . . . . . . . . . . . . . . . . . . . . 79 A.1.2 First level match contract . . . . . . . . . . . . . . . . . . . . 79 A.1.3 Internal match contract . . . . . . . . . . . . . . . . . . . . . 81 A.1.4 Master contract . . . . . . . . . . . . . . . . . . . . . . . . . . 84 A.2 Javascript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 A.2.1 Simulate lottery setup . . . . . . . . . . . . . . . . . . . . . . 86 A.2.2 Simulate lottery play . . . . . . . . . . . . . . . . . . . . . . . 86 B Simulation data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 B.1 Gas usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 xi Distributed lottery on Ethereum List of Figures 1 A chain of blocks linked with hashes. . . . . . . . . . . . . . . . . . . 19 2 Transactions in Bitcoin. . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3 A natural blockchain fork. . . . . . . . . . . . . . . . . . . . . . . . . 22 4 Flowchart of a digital coin toss. . . . . . . . . . . . . . . . . . . . . . 30 5 Tournament tree of 8 players. . . . . . . . . . . . . . . . . . . . . . . 31 6 Contracts in a lottery of 8 players . . . . . . . . . . . . . . . . . . . . 40 7 Cost ratio as a function of participants and max prize. . . . . . . . . 57 8 Prize as a function of participants and cost ratio. . . . . . . . . . . . 57 9 Cost ratio and prize as a function of participants and ticket price. . . 58 xiii Distributed lottery on Ethereum List of Tables 1 Keyword search on Scopus. . . . . . . . . . . . . . . . . . . . . . . . 3 2 Designs of lottery schemes. . . . . . . . . . . . . . . . . . . . . . . . 4 3 Average gas usage from simulation. . . . . . . . . . . . . . . . . . . . 42 4 Organizer gas usage. Single match contract. . . . . . . . . . . . . . . 43 5 Total gas usage. Single match contract. . . . . . . . . . . . . . . . . . 43 6 Organizer gas usage. Two types of match contracts. . . . . . . . . . . 44 7 Total gas usage. Two types of match contracts. . . . . . . . . . . . . . 44 8 Estimates of td if all transactions on the blockchain are used for our lottery. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 9 Estimates of td if 10% of the transactions on the blockchain are used for our lottery. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 10 Time for the entire lottery if 10% of the transactions on the blockchain are used for our lottery. . . . . . . . . . . . . . . . . . . . . . . . . . 55 11 Statistics from dual match simulation with 256 participants. . . . . . 89 xv Distributed lottery on Ethereum Listings 3.1 Lottery master contract . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.2 Lottery first level match contract . . . . . . . . . . . . . . . . . . . . 36 3.3 Lottery internal match contract . . . . . . . . . . . . . . . . . . . . . 38 A.1 Full Solidity contract for AbstractLotteryMatch. . . . . . . . . . . . . 79 A.2 Full Solidity contract for FirstLevelMatch. . . . . . . . . . . . . . . . 79 A.3 Full Solidity contract for InternalMatch. . . . . . . . . . . . . . . . . 81 A.4 Full Solidity contract for LotteryMaster. . . . . . . . . . . . . . . . . . 84 A.5 Truffle test suite for simulating lottery setup. . . . . . . . . . . . . . . 86 A.6 Truffle test suite for simulating lottery play. . . . . . . . . . . . . . . 86 xvii Distributed lottery on Ethereum 1 Introduction A lottery can be defined as a random distribution of a prize fund to a set of partic- ipants, or more generally, a random selection of a subset of winners from a larger set of participants to receive some privilege. A lottery is often associated with its use in gambling where one becomes a participant by contributing to a prize fund by buying a ticket, whereupon a set of winning tickets is randomly drawn and a part of the fund is redeemable by owning a winning ticket. Lotteries have also been used in important societal functions such as leader election in democratic gover- nance [1] or proof-of-stake systems, drafting of soldiers to war [2], jury selection, and distribution of scarce goods [3], or as a game used in fundraising to a charita- ble cause. Since the stakes in a lottery can be quite high, as with large cash prizes or being drafted to a war, it is crucial that the result is unpredictable and unbiased. For the lottery to achieve its purpose of ultimately distributing the prize, it is important that there is consensus of the result, and that the rules are enforced. Achieving unbiased randomness and consensus is typically done in one of two ways: 1) auditing and public verification of every step of the protocol, i.e. paper tickets being sold and blindly drawn from a basket, as is common for small-scale charity lotteries, or 2) trust in a central authority to conduct the lottery fairly and according to the rules, which is typical for national lottos and government-backed lotteries. In lotteries of very large scale, only the second way has typically been feasible. With the advent of the internet and peer-to-peer (P2P) online communications, it is natural to explore the possibility of porting lotteries to this domain. A lottery is a system of several components and is conducted in a process where a set of participants is defined, and a subset of winners is randomly chosen. Components of the system include a random process to decide the winners, an authentication process to decide the participants, a mechanism to distribute the prize, and often a way to handle payments. A computerized lottery that is accessed over the internet can be made by having an authoritative server handle the entire lottery process. While this approach is not trivial and requires careful design [4, 5, 6, 7, 8, 9], it assumes that the authoritative server or an auditor can be trusted to make sure the process is conducted correctly. Lotteries where we cannot assume trustworthy actors or a trusted intermediary will be referred to as distributed lotteries, and is the type of lotteries this thesis is concerned about. 1 Distributed lottery on Ethereum In a distributed lottery, all the components of the lottery must work in a dis- tributed network setting. It should be resistant to adversarial behaviour by partic- ipants such as sybil attacks [10] or attempts to manipulate the random process, as well as a dishonest organizer. While there exists provably fair protocols to play games that involve randomness between non-trusting players [11, 12, 13, 14], the scale of a lottery makes these protocols impractical. The scaling problem can be solved by making a random seed unpredictable with delay a function [15], or by delegating the random process to a semi-trusted committee [16]. Even with good approaches to the random process, other components of a lottery, such as handling payments and enforcing the organizer to respect the result of the random process, can be challenging to handle in a distributed setting. Blockchain platforms with cryptocurrencies mark an important shift in P2P com- puting, as they make it possible to transfer value and arrive at global consensus without a trusted intermediary [17]. Due to the scripting capabilities of several blockchain platforms, they support implementations of various financial instru- ments and games involving money. There has been gambling and lottery appli- cations on Bitcoin and Ethereum for some time, and the topic of lotteries has been discussed in the academic literature [18, 19, 20, 21, 22, 23]. One class of lotteries uses digital coin tosses organized in a tournament to fairly select a winner. This scheme can in theory support a large amount of participants while also maintain- ing a high degree of resistance from collusion as well as verifiability of the entire lottery process. A lottery of this sort has as far as we know been outlined as a proof-of-concept [22], but not been analyzed and discussed in detail. Applications of smart contracts have to cross a gap from theoretical soundness to practical feasibility. By analyzing an implementation in detail, measuring the transaction costs to deploy and play it, and discussing its security and other issues, we hope to get a better understanding of lotteries on a blockchain. 1.1 Thesis statement Miller and Bentov in [22] outline a fair lottery that can be implemented both on the Bitcoin platform and on other blockchains with a more expressive scripting lan- guage such as Ethereum. The authors note that an implementation of their lottery on Ethereum is significantly less complex and more scalable than the same scheme on Bitcoin. For this reason, as well as the fact that Ethereum has a rich ecosys- tem of developer tools and user interfaces that make smart contract applications accessible, we decided to implement a full version of the lottery on Ethereum. Although there exists several lotteries on Ethereum already, to our knowledge none are able to achieve fairness and resistance to manipulation to the degree of 2 Distributed lottery on Ethereum Miller and Bentov’s lottery. The purpose of creating an implementation is to get some insight into the viability of the lottery in a practical sense. While we will discuss theoretical considerations for the lottery, we expect to discover new consid- erations related to security, usability, and performance with a working implemen- tation. The theme of this thesis will be to assess the feasibility of a lottery similar to that in [22] through making a full implementation. It will have an exploratory aspect in that we expect to discover limitations and constraints for the lottery in a real setting, and a more practical aspect in that a working proof-of-concept application will be made. 1.2 Methodology 1.2.1 Literature review A systematic literature review on distributed lotteries was conducted prior to writ- ing this thesis in order to place the work in the context of published literature. Sources were collected by conducting a keyword search in online databases for published academic papers. The results from the search were restricted to the fields of computer and information science, as there were many irrelevant hits from dif- ferent fields. All papers that included a design of a distributed lottery were included in the review. Additional relevant works were found in the reference list of papers found through the keyword search. Hits from the keyword search were first filtered based on their title and abstract. Papers that were clearly about a different topic than distributed lotteries were not included. Another round of filtering was done by reading the introduction, table of contents, and conclusion where papers that did not include a lottery design or something very similar were discarded. Both the Scopus 1 and Web of Science 2 databases were queried, but the relevant hits from Web of Science were a strict subset of the relevant hits from Scopus. Table 1: Keyword search on Scopus. term hits filtered hits lottery designs Term 1 13 12 7 Term 2 44 20 14 Table of results from literature search. See terms below. • Term 1: (bitcoin OR blockchain) AND (lottery OR lotteries) 1Scopus https://www.scopus.com/ 2Web of Science v5.32 https://apps.webofknowledge.com/ 3 https://www.scopus.com/ https://apps.webofknowledge.com/ Distributed lottery on Ethereum • Term 2: (verifiable OR verifiability OR p2p OR ""peer-to-peer"" OR distributed) AND (lottery or lotteries) Table 2: Designs of lottery schemes. from keyword search from references total 19 6 25 1.2.2 Data collection A working implementation of a distributed lottery was implemented on a local version of the Ethereum blockchain. This is a fully working proof-of-concept appli- cation that can be simulated and interacted with in order to collect data and get a sense of what a live implementation would look like. We collected data of transac- tion costs necessary to set up a lottery of various sizes by measuring the gas usage of simulations. We found the number of interactions a participant in the lottery is needed to perform with the blockchain in order to complete the entire lottery process successfully. Data for gas price, ether price, and transaction throughput on the Ethereum blockchain was gathered from Etherscan 3 and ETH Gas Station 4. Additional data from previous published papers are used when discussing results, and these will be clearly referenced. 1.2.3 Data analysis The data collected from simulations were of high quality and did not need pre- processing. The data will be presented in Chapter 4, and is used as the basis for analyzing certain properties of our lottery implementation. 1.3 Thesis structure Chapter 2 introduces the reader to background material relevant to the topics dis- cussed in the thesis. Chapter 3 presents the implementation and design choices of the distributed lot- tery on Ethereum this thesis investigates. Chapter 4 is about the results generated from experiments with the implementa- tion and an analysis of the viability and security of the implementation. Chapter 5 is a discussion on the the work and process that was used when doing the work for this thesis. Chapter 6 summarizes the thesis, contains the conclusion, and presents ideas for future work. 3Etherscan https://etherscan.io/ 4ETH Gas Station https://ethgasstation.info/ 4 https://etherscan.io/ https://ethgasstation.info/ Distributed lottery on Ethereum 2 Background 2.1 Cryptography 2.1.1 Secure hash functions Hash functions are deterministic functions that take input of arbitrary finite length, a preimage, and produce an output of fixed length, a hash [24, p. 153]. When the length of a preimage is much larger than the output length, the hash function is effectively a lossy compress function. A hash function can be used for various purposes, and can be designed to have properties fit for its purpose. A secure hash function is one that has properties that makes it useful for a range of cryptographic uses. Properties of secure hash functions Collision resistance. A hash function is collision resistant if it is infeasible to find two preimages m and m′ where m 6= m′ so that Hash(m) = Hash(m′). Such m and m′ must exist, as the domain of arbitrary length inputs is larger than the range of fixed length outputs. But the length of outputs in secure hash functions can be so large that it’s computationally infeasible to find such preimages. A hash func- tion that is collision resistant will implicitly also be preimage resistant and second- preimage resistant. Second-preimage resistance means that given a preimage m it is infeasible to find a m′ 6= m so that Hash(m) = Hash(m′). Preimage resistance essentially means that a hash function is one-way. One-way. A secure hash function is a one-way function in that it should not be possible to find the preimage m given a hash h = Hash(m) by any other means than guessing all possible m, i.e. a secure hash function should be infeasible to invert. In cryptographic applications, the one-way property makes it possible to publicly share hashes of secret preimages without risk of compromising the secrets. We will see that this can be useful when a secret s at a later point will be revealed, as it makes it possible to verify that a previously shared hash h is indeed the hash of a secret by verifying that Hash(s) = h. Avalanche effect. The avalanche effect is a term used to describe that a small change in a function’s input will have a large effect on its output. A strict criterion for the avalanche effect is that any change in the input of a hash function causes each bit in the output to flip with a probability of 0.5. If similar hashes are more likely to come from similar preimages, it would be possible to make good guesses when attempting to reverse a hash function by employing statistical analysis, as 5 Distributed lottery on Ethereum has been demonstrated in works such as [25]. Some applications of secure hash functions Hashing to verify message integrity and authenticity. Hash functions can be used to verify the integrity of a message [24, p. 158–164]. We assume one party, Alice, has received the hash h of a long message m from a trusted party. Another party Alice does not trust, Bob, claims to have m and offers to transmit it to Alice. Since Alice knows the hash of the message, she can retrieve the message from Bob and independently verify the message’s integrity and authenticity by verifying that Hash(m) = h. This makes it possible to e.g. retrieve large files from untrusted parties while only retrieving small hashes from trusted parties. Hashes as digital fingerprints. The hash of any digital representation of informa- tion, such as a file, can be considered as practically unique if the hash function is collision resistant. This enables the hash be used as an identifier or fingerprint. This is useful in content addressing and resource lookup in distributed file systems. This concept is also useful for deduplication, as it provides a method for discovering identical files within a storage system [24, p. 182-183]. Data structures linked by hashes. A block of data can be hashed and addressed by its hash, as a data block’s hash serve as an identifier. If a data block contains the hash of another block, we can create acyclic data structures with useful properties in integrity and authenticity. This can be used to verify membership of some item in a collection without knowing the entire collection. A common data structure that uses data linked by hashes is the Merkle tree [26]. A collection of data blocks are ordered in {block0, block1, ..., blockn}. The ordered items form the leaves of a full binary tree. The collection is padded with empty items if the number of items is not a power of two. Each internal node is identified by the hash of the concatenation of its children, and each leaf node by the hash of its content. The root of any subtree will be a dependent on the data of the items in its leaf nodes, and a change of the data in any item of the collection will cause a change in the identifiers of the root of each subtree that contains the item. This makes it possible to verify that an item exists in a collection if the verifier only knows the identifier of the root node. A prover needs to provide the item as well as the identifiers of all nodes in the branch from the root node to the leaf node of the item. Hash functions as random oracles. A secure hash function is collision resistant. The implication of this is that no observer can know the preimage by seeing only the hash, or feasibly guess the hash of a preimage without calculating it. The avalanche effect makes it so that the mapping of inputs to outputs form a uniform distribution of the range with all inputs being independent. This is a stronger assumption than simply preimage and second preimage resistance, and is not formally proven by 6 Distributed lottery on Ethereum any hash algorithm [24, p. 179-181]. Still, many applications assume that secure hash functions’ outputs are uniformly distributed. Since this property is not for- mally proven, a random oracle model assumption is often made for hash functions. Under the random oracle model, a given hash function is assumed to have outputs uniformly distributed and inhibit the avalanche effect. Hashes in commitment schemes. A party can publish the hash of a message at some time t to prove that it possessed the message at time t. The committing party does not need to reveal anything about the message if we assume the hash function is preimage resistant [24, p. 187–189]. This concept can be used in commitment schemes [27] to create an unpredictable, but reproducible number that can be used as a seed to a pseudo-random function. This allows untrusting parties to agree on random numbers and can be used to implement digital coin tosses [12, 18]. Hashing in proof-of-work (PoW). Under the random oracle model, all values within the range of a hash function are equally likely to be the output for any given input. We can define a subspace within the range of any size and know the probability of finding an input that maps to that subspace. E.g. if the range is all bitstrings with length l, we can define a subspace of the range to be all bitstrings of length l where the first z leading bits are zero. The probability of an input mapping to this subspace will be pz = 1 2z . If we assume that calculating a hash has a cost, we see that finding an input that maps to a limited range has an expected cost. This makes it arbitrarily hard rather than infeasible to find a preimage that maps to a certain subspace. While finding such a preimage may require millions of trials, verifying that an input maps to the subspace requires only one calculation of the hash function. This fact has been used to enforce a price to be paid in number of expected computations to be executed in some online protocols [28, 29]. In order to prevent reusing of known hashes, a unique challenge c can be issued to the prover who pays the price. The prover must produce a hash so that Hash(c||n) ∈ SS where SS is the subspace, || is the concatenation operator, and n is a nonce which can be any value. 2.1.2 Digital encryption Digital encryption is realized by a set of algorithmsEncrypt(m, k)⇒ c and decrypt(c, k)⇒ m. Here, m is a message, c is a cipher and k is a key. A message is securely en- crypted if it is computationally infeasible to decrypt the message without knowing k. In symmetric cryptography, the same key is used for encryption and decryption, while in asymmetric cryptography, different keys are used for encryption and de- cryption. The former is also known as private-key encryption and is typically used for secure communication over an insecure channel while the latter is also known 7 Distributed lottery on Ethereum as public-key encryption and used for both secure communication and to enable digital signatures. Public and private key pairs In [30], Diffie and Hellman describe an interactive protocol that makes it possible to perform an interactive secure key exchange, often called a handshake, between parties over an insecure channel where they can securely generate a secret key. In addition to what became known as the Diffie-Hellman key exchange, the seminal 1976 paper also introduced the concept asymmetric cryptography, and is often con- sidered to mark the beginning of a cryptographic revolution that made it possible to use very";"""date"",""2019-06-11T17:56:43Z"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""8"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""pdf:PDFVersion"",""1.7"" ""xmp:CreatorTool"",""pdftk 2.02 - www.pdftk.com"" ""pdf:hasXFA"",""false"" ""access_permission:modify_annotations"",""true"" ""access_permission:can_print_degraded"",""true"" ""dcterms:created"",""2019-06-11T17:56:43Z"" ""language"",""en"" ""Last-Modified"",""2019-06-11T17:56:43Z"" ""dcterms:modified"",""2019-06-11T17:56:43Z"" ""dc:format"",""application/pdf; version=1.7"" ""Last-Save-Date"",""2019-06-11T17:56:43Z"" ""pdf:docinfo:creator_tool"",""pdftk 2.02 - www.pdftk.com"" ""access_permission:fill_in_form"",""true"" ""pdf:docinfo:modified"",""2019-06-11T17:56:43Z"" ""meta:save-date"",""2019-06-11T17:56:43Z"" ""pdf:encrypted"",""false"" ""modified"",""2019-06-11T17:56:43Z"" ""Content-Length"",""7882834"" ""pdf:hasMarkedContent"",""false"" ""Content-Type"",""application/pdf"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""meta:creation-date"",""2019-06-11T17:56:43Z"" ""created"",""2019-06-11T17:56:43Z"" ""access_permission:extract_for_accessibility"",""true"" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""112"" ""Creation-Date"",""2019-06-11T17:56:43Z"" ""resourceName"",""no.ntnu%3Ainspera%3A2531122.pdf"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""345"",""0"",""327"",""0"",""564"",""0"",""462"",""0"",""1207"",""0"",""419"",""0"",""1622"",""1952"",""615"",""0"",""528"",""0"",""791"",""0"",""556"",""0"",""2228"",""2461"",""1865"",""1704"",""2020"",""2508"",""2391"",""2371"",""2445"",""2381"",""2410"",""2273"",""2323"",""2570"",""2497"",""2559"",""2620"",""2566"",""1929"",""1423"",""2373"",""1500"",""2653"",""2252"",""2429"",""2320"",""2392"",""584"",""1948"",""1490"",""1731"",""2400"",""2213"",""2162"",""1329"",""2093"",""1357"",""1214"",""1896"",""821"",""2072"",""1983"",""2079"",""2122"",""2469"",""2427"",""2298"",""2389"",""2322"",""2503"",""2515"",""2532"",""2473"",""1676"",""2144"",""2448"",""530"",""1412"",""2612"",""2452"",""1959"",""0"",""2121"",""2386"",""910"",""0"",""2316"",""2179"",""1510"",""0"",""1757"",""1798"",""1871"",""1698"",""1995"",""1783"",""820"",""0"",""1105"",""1693"",""1323"",""1681"",""1394"",""1394"",""1372"",""1296"",""1330"",""664"",""961"",""345"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""producer"",""itext-paulo-155 (itextpdf.sf.net-lowagie.com)"" ""access_permission:can_modify"",""true"" ""pdf:docinfo:producer"",""itext-paulo-155 (itextpdf.sf.net-lowagie.com)"" ""pdf:docinfo:created"",""2019-06-11T17:56:43Z"" ";https://scholar.google.com/scholar?start=960&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094605-929;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Potential risks of hyperledger fabric smart contracts;K Yamashita, Y Nomura, E Zhou, B Pi… ; … on Blockchain Oriented …, 2019 ieeexplore.ieee.org;;"… developers have to set the seed such as rand.Seed(time.Now().UnixNano()) or use crypto/rand package … information from the outside of the blockchain, developers need to access an entity called “oracle,” which provides data about the outside of the blockchain to smart …";Cité 42 fois;Les 2 versions;[PDF] ieee.org;https://ieeexplore.ieee.org/iel7/8663509/8666469/08666486.pdf?casa_token=e5tGfi6jp1wAAAAA:RIAhRRvTdHnp-33zKAgMeXaCorrQwm3J1DS-lYJUJ8WzlG0C-hSVYlz4erNjcuds2zupldLnq7I;" Skip to Main Content IEEE Account Change Username/Password Update Address Purchase Details Payment Options Order History View Purchased Documents Profile Information Communications Preferences Profession and Education Technical Interests Need Help? US & Canada: +1 800 678 4333 Worldwide: +1 732 981 0060 Contact & Support About IEEE Xplore Contact Us Help Accessibility Terms of Use Nondiscrimination Policy Sitemap Privacy & Opting Out of Cookies A not-for-profit organization, IEEE is the world's largest technical professional organization dedicated to advancing technology for the benefit of humanity. Š Copyright 2021 IEEE - All rights reserved. Use of this web site signifies your agreement to the terms and conditions. ";"""og:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""twitter:title"",""Potential Risks of Hyperledger Fabric Smart Contracts"" ""twitter:card"",""summary"" ""Description"",""Blockchain is a decentralized ledger technology, and it is the technology underlying Bitcoin and Ethereum. The interest in blockchain has been increasing since "" ""og:title"",""Potential Risks of Hyperledger Fabric Smart Contracts"" ""resourceName"",""08666486.pdf"" ""language"",""en"" ""title"",""Potential Risks of Hyperledger Fabric Smart Contracts | IEEE Conference Publication | IEEE Xplore"" ""og:description"",""Blockchain is a decentralized ledger technology, and it is the technology underlying Bitcoin and Ethereum. The interest in blockchain has been increasing since its emergence. Hyperledger Fabric is one of the permissioned blockchain frameworks. One of the characteristics of Hyperledger Fabric is it utilizes general-purpose programming languages, e.g., Go, Node.js, and Java, to implement smart contracts (called chaincode in Hyperledger Fabric). The advantages of utilizing these languages are already known to potential developers, and development tools might already exist. However, one of the disadvantages is that these languages were not originally designed for writing smart contracts. Hence, there may be risks that developers do not need to consider when using specific languages such as Solidity of Ethereum. Furthermore, even though development tools exist, how many risks are covered by the tools is an open question. In this paper, we focus on Go language and the tools. First, we surveyed what kind of risks are associated with chaincodes are developed using Go language and observed there are 14 potential risks. Then, we investigated how many risks can be covered by Go tools, e.g., golint and gosec, and a vulnerability detection tool for chaincodes called Chaincode Scanner. From our results, we observed that some risks are not covered by the existing tools. Hence, we develop a detection tool to cover risks by static analysis. Finally, in this paper, we describe how to find the risks with our tool and evaluate the usefulness."" ""twitter:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-UA-Compatible"",""IE=Edge"" ""viewport"",""width=device-width, initial-scale=1.0"" ""dc:title"",""Potential Risks of Hyperledger Fabric Smart Contracts | IEEE Conference Publication | IEEE Xplore"" ""twitter:description"",""Blockchain is a decentralized ledger technology, and it is the technology underlying Bitcoin and Ethereum. The interest in blockchain has been increasing since its emergence. Hyperledger Fabric is one of the permissioned blockchain frameworks. One of the characteristics of Hyperledger Fabric is it utilizes general-purpose programming languages, e.g., Go, Node.js, and Java, to implement smart contracts (called chaincode in Hyperledger Fabric). The advantages of utilizing these languages are already known to potential developers, and development tools might already exist. However, one of the disadvantages is that these languages were not originally designed for writing smart contracts. Hence, there may be risks that developers do not need to consider when using specific languages such as Solidity of Ethereum. Furthermore, even though development tools exist, how many risks are covered by the tools is an open question. In this paper, we focus on Go language and the tools. First, we surveyed what kind of risks are associated with chaincodes are developed using Go language and observed there are 14 potential risks. Then, we investigated how many risks can be covered by Go tools, e.g., golint and gosec, and a vulnerability detection tool for chaincodes called Chaincode Scanner. From our results, we observed that some risks are not covered by the existing tools. Hence, we develop a detection tool to cover risks by static analysis. Finally, in this paper, we describe how to find the risks with our tool and evaluate the usefulness."" ""Content-Encoding"",""UTF-8"" ""Content-Type-Hint"",""text/html; charset=utf-8"" ""Content-Length"",""42475"" ""Content-Language"",""en-US"" ""Content-Type"",""text/html; charset=UTF-8"" ";https://scholar.google.com/scholar?start=740&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094628-1027;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Smart contracts and Internet of things: A qualitative content analysis using the technology-organization-environment framework to identify key-determinants;G Schmitt, A Mladenow, C Strauss… ; Procedia Computer …, 2019 Elsevier;;"… Secondly, smart contracts and blockchain are currently riding a wave of enthusiastic support but once … When using smart contracts, both parties have to trust that the oracle publishes accurate data … Firms might prefer to rely on oracles within the organization to have control over …";Cité 7 fois;Les 2 versions;[PDF] sciencedirect.com;https://www.sciencedirect.com/science/article/pii/S1877050919316758/pdf?md5=491956bef9f41587f03be4a4b5a19a87&pid=1-s2.0-S1877050919316758-main.pdf;;;https://scholar.google.com/scholar?start=840&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094569-777;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;PRIMJENE I MOGU?NOSTI BLOCKCHAIN TEHNOLOGIJE SA NAGLASKOM NA PAMETNE UGOVORE: Završni rad;M ?uže ;2019 zir.nsk.hr;;"… ZAVRŠNI RAD PRIMJENE I MOGU?NOSTI BLOCKCHAIN TEHNOLOGIJE SA NAGLASKOM NA PAMETNE UGOVORE Mentor … 5 2. BLOCKCHAIN TEHNOLOGIJA – POJAM, KARAKTERISTIKE I ZNA?AJ ..... 6 2.1 …";Autres articles;;[PDF] nsk.hr;https://zir.nsk.hr/islandora/object/efst:3217/datastream/PDF/download;" PRIMJENE I MOGUĆNOSTI BLOCKCHAIN TEHNOLOGIJE SA NAGLASKOM NA PAMETNE UGOVORE ĆuĹže, Matej Undergraduate thesis / ZavrĹĄni rad 2019 Degree Grantor / Ustanova koja je dodijelila akademski / stručni stupanj: University of Split, Faculty of economics Split / SveučiliĹĄte u Splitu, Ekonomski fakultet Permanent link / Trajna poveznica: https://urn.nsk.hr/urn:nbn:hr:124:619986 Rights / Prava: In copyright Download date / Datum preuzimanja: 2021-04-28 Repository / Repozitorij: REFST - Repository of Economics faculty in Split https://urn.nsk.hr/urn:nbn:hr:124:619986 http://rightsstatements.org/vocab/InC/1.0/ https://repozitorij.efst.unist.hr https://zir.nsk.hr/islandora/object/efst:3217 https://repozitorij.svkst.unist.hr/islandora/object/efst:3217 https://dabar.srce.hr/islandora/object/efst:3217 SVEUČILIĹ TE U SPLITU EKONOMSKI FAKULTET ZAVRĹ NI RAD PRIMJENE I MOGUĆNOSTI BLOCKCHAIN TEHNOLOGIJE SA NAGLASKOM NA PAMETNE UGOVORE Mentor: Student: izv.prof.dr.sc. Maja ĆukuĹĄić Matej ĆuĹže Split, lipanj, 2019. 2 SADRĹ˝AJ: 1.UVOD ................................................................................................................ 4 1.1. Definicija problema ................................................................................................... 5 1.2. Cilj rada ...................................................................................................................... 5 1.3. Metode rada ............................................................................................................... 5 1.4. Strukture rada ........................................................................................................... 5 2. BLOCKCHAIN TEHNOLOGIJA – POJAM, KARAKTERISTIKE I ZNAČAJ ............................................................................................................... 6 2.1. Pojam blockchain tehnologije ................................................................................... 6 2.1.1. Povijest blockchain tehnologije ............................................................................. 7 2.2. Karakteristike blockchain tehnologije..................................................................... 8 2.2.1 Kriptografija ............................................................................................................ 8 2.2.2. Kriptografija u blockchain tehnologiji ............................................................. 9 2.2.3. Dokaz rada ( „Proof of work“) ....................................................................... 10 2.2.4. Metoda „Proof of stake“ ................................................................................. 12 2.2.5. Sigurnost u blockchain tehnologiji ................................................................. 12 2.2.6. Privatni i javni ključ ....................................................................................... 13 2.3. Značaj blockchain tehnologije ................................................................................ 15 3. TRENUTNA PRIMJENA BLOCKCHAIN TEHNOLOGIJE ............. 16 3.1. Virtualne valute ....................................................................................................... 16 3.2. Blockchain Hyperledger ............................................................................................. 19 3.2.1. Privatni i javni blockchain .................................................................................... 19 3.3. Utjecaj na okoliĹĄ....................................................................................................... 20 3.4. Blockchain u Republici Hrvatskoj ......................................................................... 21 4. POTENCIJALNE PRIMJENE BLOCKCHAIN TEHNOLOGIJE .... 22 3 4.1. Financijski sektor .................................................................................................... 22 4.2. Zdravstveni sektor ................................................................................................... 24 4.3. Javna uprava ............................................................................................................ 25 4.3.1. Evidencija digitalnih identiteta pravnih i fizičkih osoba ................................ 25 4.3.2. Katastar ........................................................................................................... 25 4.3.3. Nadzor lanca opskrbe ..................................................................................... 25 5. PAMETNI UGOVORI – POJAM, KARAKTERISTIKE, ZNAČAJ I MOGUĆNOSTI PRIMJENE ........................................................................... 26 5.1. Pojam pametnog ugovora ....................................................................................... 26 5.2. Karakteristike pametnih ugovora .......................................................................... 27 5.2.1. Ethereum platforma ........................................................................................ 27 5.3. Značaj pametnih ugovora ....................................................................................... 29 5.4. Mogućnosti primjene pametnih ugovora .............................................................. 30 5.4.1. Osiguranje ....................................................................................................... 30 5.4.2. Ugovori o radu ................................................................................................ 30 5.4.3. Iznajmljivanje i kupoprodaja nekretnina ........................................................ 30 6. ZAKLJUČAK ............................................................................................ 31 LITERATURA .................................................................................................. 32 GRAFIČKI PRILOZI ....................................................................................... 35 SAĹ˝ETAK .......................................................................................................... 36 SUMMARY ........................................................................................................ 37 4 1.UVOD U ovome radu će biti objaĹĄnjena blockchain tehnologija, njezine trenutne primjene te potencijalne mogućnosti primjene u budućnosti. Također poseban naglasak će biti stavljen na pametne ugovore, kako na njihovo tehničko uporiĹĄte u blockchain tehnologiji tako i na njihovu potencijalne primjene u ekonomiji. Iako se blockchain tehnologija obično povezuje sa virtualnim valutama, posebice sa Bitcoinom, ona je zapravo puno viĹĄe od toga. Na temelju ubrzanog razvoja informatike i znanosti općenito u posljednjih nekoliko desetljeća doĹĄlo je do transformacije gospodarstva iz tradicionalnih načina poslovanja u potpuno ili djelomično digitalni način poslovanja. Vrlo vaĹžnu ulogu u toj transformaciji su imale i joĹĄ uvijek imaju baze podataka koje su omogućile sveobuhvatno poboljĹĄanje poslovnih procesa u globalnoj ekonomiji. Neke djelatnosti kao i pripadajuća radna mjesta su u potpunosti nestala, dok su nove djelatnosti nastale i joĹĄ uvijek nastaju. Uz pomoć baza podataka i interneta koji je sve te baze učinio povezanim na globalnoj razini doĹĄlo je do značajnih promjena ne samo u gospodarstvu nego i u svakodnevnici običnih građana. Plaćanje karticama, podizanje novca na bankomatu, koriĹĄtenje druĹĄtvenih mreĹža, putne navigacije i joĹĄ mnogo toga omogućuju upravo povezane baze podataka. Sve baze podataka se nalaze fizički spremljene negdje na serveru te su centralizirane, ĹĄto znači da u slučaju napada na centralnu jedinicu sustava, svi korisnici te baze gube pristup podacima i uslugama te baze. Zbog toga podatkovni centri su strogo čuvani i ĹĄtićeni od fizičkih napada i kibernetičkih napada. Također postavlja se pitanje povjerenja i pouzdanosti administratora te baze podataka zbog same prirode čovjeka čiji osobni interesi nisu uvijek u skladu sa općim interesom korisnika te baze podataka tzv. „moral hazard“. Javlja se i kontradikcija između privatnosti korisnika i transparentnosti prilikom upravljanja bazom. U slučaju povećanja transparentnosti dolazi do povećanog otkrivanja osjetljivih podataka iz baze te povećanja sigurnosne ranjivosti baze. Razlog spominjanja baza podataka u ovome radu je upravo taj ĹĄto je i sam blockchain zapravo baza podataka koja ima potencijal rijeĹĄiti sve gore navedene nedostatke tradicionalnih baza. Upravo zbog toga blockchain nalazi toliko raznih mogućnosti primjene jer zapravo omogućava zamjenu tradicionalnih baza podataka koje se posvuda koriste sa novim i naprednijim tipom baze. U ovom radu će biti objaĹĄnjeno na koji način blockchain tehnologija rjeĹĄava nedostatke tradicionalnih centraliziranih baza podataka i omogućava unapređenje svih procesa koji se odvijaju u druĹĄtvu te posebno u globalnom gospodarstvu. 5 1.1. Definicija problema Blockchain kao tehnologija postaje sve prisutnija u svakodnevnom Ĺživotu, posebice u financijskom sektoru u obliku virtualnih valuta. Ovaj rad raspravlja o trenutnoj primjeni ove tehnologije te o potencijalnim mogućnostima primjene blockchain tehnologije na druge sektore gospodarstva. Naglasak je stavljen na pametne ugovore kojima je glavna odlika uklanjanje posrednika iz transakcija, samim time i značajno smanjenje troĹĄkova. 1.2. Cilj rada Ciljevi ovog zavrĹĄnog rada su istraĹžiti i objasniti trenutnu primjenu blockchain tehnologije te predloĹžiti mogućnosti primjene tehnologije u drugim sektorima, posebice kroz model pametnih ugovora te budućnost blockchain tehnologije. 1.3. Metode rada Za izradu ovoga rada koristit će se sljedeće metode: analiza, sinteza, eksplanacija ,klasifikacija i komparacija. 1.4. Strukture rada Rad se sastoji od ukupno ĹĄest poglavlja. Prvo poglavlje je uvod, drugo poglavlje objaĹĄnjava blockchain tehnologiju kao takvu te njezina tehnička uporiĹĄta kao kriptografiju, hash funkcije, sigurnosne aspektne i opće karakteristike. U trećem poglavlju se izlaĹžu trenutne primjene blockchain tehnologije sa naglaskom na primjene u virtualnim valutama, pametnim ugovorima i financijskim uslugama. Četvrto poglavlje se bavi mogućnostima primjene tehnologije u budućnosti kroz primjene u medicini, javnoj upravi, lancima opskrbe, utvrđivanju porijekla robe i raznim drugim primjenama. Naposljetku u petom poglavlju detaljno se objaĹĄnjavaju pametni ugovori, njihove tehničke karakteristike te Ethereum platforma za programiranje ugovora. Također istraĹžuju se potencijale mogućnosti primjene pametnih ugovora u budućnosti te nedostatke koje tek treba rijeĹĄiti. 6 2. BLOCKCHAIN TEHNOLOGIJA – POJAM, KARAKTERISTIKE I ZNAČAJ 2.1. Pojam blockchain tehnologije Po definiciji blockchain je lista blokova u kojima su zapisani podaci, a sami blokovi su povezani pomoću kriptografije na način da se sprječava promjena podataka u blokovima koji su već dodani na lanac. Svaki blok sadrĹžava takozvani kriptografski „hash“ prethodnog bloka, vrijeme kada je nastao „timestamp“ i podatke o transakciji. Blockchain se moĹže zamisliti kao otvorenu knjigu u koju se upisuju transakcije između dvije strane, koje se verificiraju prije upisa i ostaju trajno zapisane u blockchainu. PoĹĄto se radi o otvorenoj i distribuiranoj knjizi da bi se spriječilo upisivanje pogreĹĄnih podataka potreban je validacija tj. provjera istinitosti podataka prije dodavanja novog bloka koji sadrĹži te podatke viĹĄe od pola sudionika koji su uključeni u validaciju novog bloka.1 Blockchain se najbolje moĹže objasniti na primjeru bitcoin transakcije između dvije osobe, neka se zovu Ivica i Marica. Ivica Ĺželi poslati 10 bitcoina Marici. Sve ĹĄto je potrebno za slanje je da Ivica zna adresu novčanika od Marice te da upiĹĄe iznos koji Ĺželi poslati. Nakon ĹĄto Ivica obznani transakciju ostatku mreĹže u proces transakcije se uključuju „rudari“ koji provjeravaju ispravnost zadane transakcije. Točnije provjeravaju ima li Ivica zaista 10 bitcoina koje Ĺželi poslati. PoĹĄto se rad o lancu blokova potrebno je zapravo provjeriti ulazne i izlazne transakcije i utvrditi ima li Ivica 10 ili viĹĄe bitcoina kako bi mogao izvrĹĄiti transakciju. „Rudari“ koji obavljaju ovaj posao su motivirani time ĹĄto za svaku verifikaciju prime određenu količinu virtualne valute tako da mogu pokriti troĹĄak infrastrukture i energije uloĹžene u sami proces verifikacije. Druga vrsta nagrade za „rudare“ je tzv. „miner fee“ koji određuju sami korisnici. Svrha ove naknade je dodatna motivacija „rudarima“ da brĹže verificiraju određenu transakciju. Transakciju je moguće zadati i bez dodatne naknade, ali posljedica toga je sporija verifikacija. Nakon ĹĄto „rudari“ verificiraju transakciju blok se nadoda na lanac i time je transakcija zavrĹĄila. U slučaju pokuĹĄaja prevare mreĹže u smislu da Ivica pokuĹĄa poslati 10 bitcoina kojih zapravo nema mreĹža će odbiti transakciju. Da bi se transakcija verificirala potrebna je suglasnost viĹĄe od pola mreĹže „rudara“ ĹĄto osigurava povjerenje u sustav sve dok je pola rudara „poĹĄteno“. U slučaju manipulacije sa viĹĄe od 50% rudara mreĹža bi postala nepovjerljiva. 2 1 https://en.wikipedia.org/wiki/Blockchain ( pristupljeno 10.06.2019.) 2 https://www.bug.hr/tehnologije/sto-je-u-stvari-blockchain-i-kako-radi-3011 ( pristupljeno 10.06.2019.) https://www.bug.hr/tehnologije/sto-je-u-stvari-blockchain-i-kako-radi-3011 7 2.1.1. Povijest blockchain tehnologije Početak blockchain tehnologije seĹže u 1991. godinu kada su Stuart Haber i W. Scott Stornetta objavili rad na temu lanca blokova povezanih pomoću kriptografskih metoda. Jedna od prvih implementacija ovih ideja je nastala u obliku bitcoin virtualne valute. U objavljenom „white paper“ dokumentu nepoznati autor ili skupina njih pod imenom Satoshi Nakamoto objavila je dokument u kojem je uvedeno poboljĹĄanje sustava kroz hashcash metodu. Dizajn je 2009. godine implementiran u virtualnu valutu bitcoin baziranu na blockchain tehnologiji. Također je zanimljivo napomenuti da je u izvornom „white paper“ dokumentu na kojem se temelji blockchain i virtualne valute termin pisan razdvojeno „block chain“ , no ipak vremenom se ustalila inačica blockchain. 3 Bitno je također spomenuti i pojavu Ethereum sustava koji je iniciran od strane Vitalika Buterina koji je jedan od programera koji je radio na bitcoin sustavu. Vitalik Buterin je inicirao Ethereum blockchain zbog limitiranosti bitcoin sustava. Za razliku od bitcoina, ethereum blockchain omogućava programiranje pametnih ugovora, pozajmica i sličnih instrumenata. To omogućava ĹĄiroku paletu potencijalnim primjena u gospodarstvu ĹĄto prepoznaju i velike kompanije koje uočavaju potencijal pametnih ugovora u svrhu smanjenja troĹĄkova i povećanja efikasnost poslovanja. Ethereum sustav je počeo sa radom u 2015. godini.4 3 https://en.wikipedia.org/wiki/Blockchain ( pristupljeno 10.06.2019.) 4https://www.forbes.com/sites/bernardmarr/2018/02/16/a-very-brief-history-of-blockchain-technology-everyone- should-read/#1d8f7c157bc4 ( pristupljeno 10.06.2019.) https://en.wikipedia.org/wiki/Blockchain https://www.forbes.com/sites/bernardmarr/2018/02/16/a-very-brief-history-of-blockchain-technology-everyone-should-read/#1d8f7c157bc4 https://www.forbes.com/sites/bernardmarr/2018/02/16/a-very-brief-history-of-blockchain-technology-everyone-should-read/#1d8f7c157bc4 8 2.2. Karakteristike blockchain tehnologije Glavna karakteristika blockchaina je da je potpuno decentraliziran, ĹĄto znači da nema vlasnika, nema fizičku adresu niti je kontroliran od stane neke institucije ili organizacije. Blockchain moĹže koristiti svatko, bez ograničenja i bez potrebe za osobnim podacima korisnika sustava. Kao ĹĄto je već spomenuto blockchain je zapravo baza podatak koja sadrĹži podatke, najčešće o financijskim transakcijama kao u slučaju bitcoin blockchaina. Glavno pitanje koje proizlazi iz gore navedenog je na koji se način ovaj sustav koji nema jasnog regulatora odrĹžava sigurnim. Tri su ključna faktora koja osiguravaju sigurnost blockchaina: • Kriptografija • Rudarenje • Decentraliziran i distribuiran sustav U nastavku će se sluĹžiti primjerom virtualnih valuta u svrhu objaĹĄnjenja karakteristika sveukupne tehnologije koja stoji iza blockchaina. 5 2.2.1 Kriptografija Definicija kriptografije glasi: „Kriptografija je znanstvena disciplina koja se bavi proučavanjem metoda za slanje poruka u takvom obliku da ih samo onaj kome su namijenjene moĹže pročitati.„ Kriptografija ima dugu povijest, te je već koriĹĄtena kod starih Grka i Rimljana. Svrha kriptografije je omogućiti dvjema osobama komunikaciju putem nesigurnog kanala tako da osoba koja ima pristup tom kanalu ne moĹže razumjeti poruke koje osobe izmjenjuju. Nakon ĹĄto primalac primi tekst koji je ĹĄifriran potrebno je znati unaprijed dogovoreni ključ pomoću kojeg je moguće pročitati pravo značenje teksta. Kriptografski algoritam označava matematičku funkciju koja sluĹži za ĹĄifriranje i deĹĄifriranje. U kriptografiji se također primjenjuju javni i privatni ključ. Kod asimetričnih kriptosustava imamo javni ključ koji je svima dostupan za ĹĄifriranje ali iz njega se ne moĹže praktično izračunati ključ za deĹĄifriranje. 6 5 https://www.netokracija.com/sto-je-blockchain-132284 ( pristupljeno 10.06.2019.) 6 https://web.math.pmf.unizg.hr/~duje/kript/osnovni.html ( pristupljeno 10.06.2019.) https://www.netokracija.com/sto-je-blockchain-132284 https://web.math.pmf.unizg.hr/~duje/kript/osnovni.html 9 2.2.2. Kriptografija u blockchain tehnologiji Svaki blok je zapravo paket koji sadrĹži podatke, odnosno sadrĹži podatke o transakcijama u nekom vremenu. Blokovi se veĹžu jedan na drugi uz pomoć kriptografskog potpisa koji ima istu vrijednost na starom i na novom bloku. Taj potpis se zove hash. Hash je zapravo niz znakova koji na prvi pogled nemaju smisla. Ti znakovi su dobiveni uz pomoć sloĹžene hash matematičke funkcije koja bilo koji digitalni sadrĹžaj putem matematičkih operacija pretvara u digitalni potpis. Tako moĹžemo od bilo koje slike, pdf dokumenta ili nekog brojčanog zapisa dobiti hash. Bitna karakteristika hasha je da je uvijek iste duljine, nebitno o vrsti i količini ulaznih podataka. Bitno je također naglasiti da ako na iste datoteke primjenjujemo hash funkciju da ćemo uvijek dobiti isti hash. No ako se i najmanji dio te datoteke izmjeni, dobiveni hash će izgledati potpuno različito. U prikazu ispod moĹžemo vidjeti primjer hash funkcije te na koji način dodavanje samo zareza uzrokuje potpuno različit rezultat.7 U ovome primjeru ćemo koristiti hash funkciju SH – 256. Slika 1: Rezultat hash funkcije Izvor: http://www.sha1-online.com/ Slika 2: Rezultat hash funkcije nakon dodavanja zareza Izvor: http://www.sha1-online.com/ 7 https://www.netokracija.com/sto-je-blockchain-132284 ( pristupljeno 13.06.2019.) https://www.netokracija.com/sto-je-blockchain-132284 10 U blockchain sustavu na ovaj način se potpisuju blokovi sa transakcijama. Generirani potpis na bloku automatski postaje dio sadrĹžaja idućeg bloka. U slučaju pokuĹĄaja izmjene podataka u bloku, to automatski uzrokuje neispravnost potpisa. Ako napadač pokuĹĄa generirati ispravan potpis preko hash funkcije za izmijenjene podatke, dolazi automatski do greĹĄke u idućem bloku jer je on potpisan hash vrijednošću koja je dobivena na osnovu starog potpisa. Samim time idući blok postaje neispravan. Na taj način se u slučaju napada događa lančana reakcija, ĹĄto znači da napad na blockchain ne moĹže ostati neprimijećen. Ova osobina blockchain tehnologije je jedna od glavnih poluga sigurnosti cijelog sustava.8 2.2.3. Dokaz rada ( „Proof of work“) Dokaz rada ili proof of work na engleskom jeziku je joĹĄ jedna postavka koja omogućuje sigurnost blockchain sustava. Naime, izvrĹĄavanje hash funkcije ne iziskuje veliku procesorsku snagu računala. Samim time se otvara mogućnost napada na blockchain jer je moguće istovremeno promijeniti sve potpise u lancu i na taj način uspjeĹĄno manipulirati cijelim sustavom. No idejni tvorci Blockchain su uspjeli rijeĹĄiti i taj problem na način da blok nije moguće potpisati sa bilo kojim hash vrijednošću. Da bi hash bio valjan, mora počinjati sa određenim brojem nula. 9 U hash funkcija ulaze sljedeće varijable: • indeks bloka • hash prethodnog bloka • podaci o transakciji • nonce ili promjenjiva vrijednost Varijabla nonce je jedina varijabla koju ju dopuĹĄteno mijenjati od svih podataka koji ulaze u hash funkciju. PoĹĄto je hash vrijednost vrlo jednostavno izračunati postavlja se pitanje zaĹĄto rudari troĹĄe toliko sredstava na infrastrukturu i na električnu energiju za verificiranje novih blokova. Razlog tome leĹži u već spomenutoj postavki blockchaina da hash mora počinjati sa određenim brojem nula. Parametar koji se koristi kao mjera teĹžine izračuna se zove „difficulty“. Kada algoritam odluči da novi blok mora imati na početku četiri nule, rudar mora traĹžiti hash sve dok ne zadovolji zadani kriterij. Od svih varijabli koje ulaze u hash funkciju jedino se smije 8 https://www.netokracija.com/sto-je-blockchain-132284 ( pristupljeno 14.06.2019.) 9 https://www.netokracija.com/sto-je-blockchain-132284 ( pristupljeno 14.06.2019.) https://www.netokracija.com/sto-je-blockchain-132284 https://www.netokracija.com/sto-je-blockchain-132284 11 mijenjati nonce varijabla. Mijenjanje vrijednosti nonce varijable je jedini način da se dođe do traĹžene hash vrijednosti. Nakon pronalaska ispravne vrijednosti rudar ĹĄalje prema mreĹži ispravan hash. Cilj algoritma unutar mreĹže je da se novi blok generira svakih 10 minuta. Algoritam mijenja teĹžinu izračuna na bazi prethodnih 2016 generiranih blokova. Sama zahtjevnost izračuna je jako bitna jer čini mogućnost prevare teĹžom. 10 Također bitno je spomenuti i pojam „Hash rate“ ili „Hash power“ odnosno koliko hash vrijednosti neki rudar generira u jednoj sekundi. Na primjer, računalo koje generira 60 hash vrijednosti u sekundi ima „hash rate“ 60. Za same rudare bitno je nekoliko faktora koji utječu na samu profitabilnost djelatnosti. To su ponajprije cijena električne energije i cijena infrastrukture za rudarenje. 11 U početku bitcoin blockchaina bilo je moguće rudariti i uz pomoć osobnog računala dok se sada na trĹžiĹĄtu mogu naći specijalizirani ASIC uređaji bez kojih rudarenje nema isplativosti. Cijene navedenih uređaja se kreću od 500 američkih dolara pa do nekoliko tisuća dolara. Za uspjeĹĄnije rudarenje mnogi se udruĹžuju u takozvane bazene rudara ili „mining pool“ na način da udruĹže procesorsku snagu i tako ostvaruju prednost ispred ostalih individualnih rudara.12 Slika 3: TeĹžina rudarenja na bitcoin blockchainu Izvor: https://www.blockchain.com/en/charts/difficulty?timespan=all 10 https://www.bug.hr/tehnologije/sto-je-u-stvari-blockchain-i-kako-radi-3011 ( pristupljeno 14.06.2019.) 11 https://www.buybitcoinworldwide.com/mining/hash-rate/ ( pristupljeno 14.06.2019.) 12 https://www.investopedia.com/terms/b/bitcoin-mining.asp ( pristupljeno 14.06.2019.) https://www.bug.hr/tehnologije/sto-je-u-stvari-blockchain-i-kako-radi-3011 https://www.buybitcoinworldwide.com/mining/hash-rate/ https://www.investopedia.com/terms/b/bitcoin-mining.asp 12 2.2.4. Metoda „Proof of stake“ Metoda dokaza rada je prvotni princip kojeg je osmislio Satoshi Nakamoto čime je rijeĹĄen problem vjerodostojnosti. Problem metode dokaza rada je taj ĹĄto se troĹĄi iznimno puno električne energije i procesorske snage poĹĄto se svi rudari natječu tko će prvi naći ispravnu hash vrijednost. Metoda „Proof of stake “ nudi potencijalno rjeĹĄenje za navedene nedostatke. Ova metoda se temelji na ulaganju postojećih virtualnih kovanica čime se ostvariva pravo na sudjelovanje u verifikaciji transakcija u mreĹži. Zarada tim korisnicima dolazi od transakcijske naknade koju plaćaju drugi korisnici kada transferiraju virtulanu valutu drugom korisniku. No, ipak postoje mnogi potencijalni nedostatci kod ove metoda, najprije mogućnost da rudar istovremeno verificira viĹĄe blokova poĹĄto nema troĹĄka energije i resursa da se blok potpiĹĄe kao u metodi dokaza rada.13 2.2.5. Sigurnost u blockchain tehnologiji Blockchain se među njegovim zagovornicima smatra za jednim o najboljih načina za osiguranje transakcija. Razlog tome je ĹĄto je svaki blok koji sadrĹži podatke koji su najčešće transakcije povezan sa svim blokovima ispred i iza sebe. Samim time jako je teĹĄko promijeniti jedan zapis jer bi to značilo da treba mijenjati i zapise u povezanim blokovima. Zapisi na blockchainu su osigurani putem kriptografije. Sudionici mreĹže imaju svoj privatni ključ koji je povezan na njihove transakcije i sluĹži kao osobni digitalni potpis. U slučaju promjene zapisa, potpis će postat nevaljan te će cijela mreĹža odmah saznati da se neĹĄto dogodilo. U cijelom procesu je bitno da je mreĹža brzo obavijeĹĄtena kako bi se spriječila zloupotreba. Također joĹĄ jedna temeljna postavka blockchain tehnologije je distribuiranost blockchaina preko cijele mreĹže. To mu omogućava svojstvo da nema takozvane „single point of failure“ odnosno da se mreĹžom ne moĹže manipulirati sa jednog mjesta u sustavu.14 Jedna od mogućih sigurnosnih ugroza za blockchain je „51% napad“. Pretpostavimo da napadač Ĺželi manipulirati mreĹžom tako da moĹže dva puta potroĹĄiti neku količinu virtualne valute. Kako bi to uspio napadač mora izgraditi lanac koji je dulji od istinitog lanca i počinje se odvajati prije trenutka kad je potroĹĄio virtualnu valutu. Da bi napad bio uspjeĹĄan svi bi se blokovi morali 13 https://www.bug.hr/tehnologije/sto-je-u-stvari-blockchain-i-kako-radi-3011 ( pristupljeno 14.06.2019.) 14https://www.ibm.com/blogs/blockchain/2017/12/blockchain-security-what-keeps-your-transaction-data-safe/ ( pristupljeno 14.06.2019.) https://www.bug.hr/tehnologije/sto-je-u-stvari-blockchain-i-kako-radi-3011 https://www.ibm.com/blogs/blockchain/2017/12/blockchain-security-what-keeps-your-transaction-data-safe/ 13 ponovno verificirati, a poĹĄto je za to potrebna ogromna procesorska snaga koja bi nadjačala ostatak „poĹĄtenih“ korisnika mreĹže, napada je skoro nemoguće izvesti. 15 2.2.6. Privatni i javni ključ Privatni ključ je oblik kriptografskog zapisa koji omogućava korisnica pristup podacima koji su dostupni samo njima. Upotreba privatnog ključa je jedan od temeljnih dijelova cijele blockchain tehnologije. Kod virtualnih valuta svaki korisnik ima javnu adresu i privatni ključ. Javni ključ je kreiran od privatnog ključa uz pomoć kompleksnih matematičkih operacija, no praktično nije moguće od javnog ključa operacijama dobiti privatni ključ. Privatni ključ im nekoliko različitih formi, obično kao niz brojeva i slova. Sustav privatnog i javnog ključa se najbolje moĹže objasniti uz pomoć primjera poĹĄtanskog sandučića. Javni ključ je kao adresa koju svatko zna i svatko moĹže ubaciti u sandučić ĹĄto god Ĺželi ali samo osoba koja ima ključ od sandučića moĹže upravljati sadrĹžajem istog. Zbog toga je bitno čuvati privatni ključ na sigurnom. Digitalni novčanik sprema privatni ključ od korisnika. Kada dođe do transakcije, digitalni novčanik kreira digitalni potpis iz privatnog ključa. Potpis sluĹži kako bi se potvrdilo da transakcija dolazi od nekog korisnika i osigurava da je nije moguće kasnije promijeniti. Ako korisnik izgubi privatni ključ viĹĄe nije moguće pristupiti niti upravljati svojim računom. Privatni ključ se moĹže spremiti na eksternoj memoriji, u obliku QR koda ili ga samo isprintati na papir. Ključ se moĹže spremiti i putem servisa koji su povezani na internet kao na primjer na mobilne novčanike. 16 Slika 4: Primjer privatnog ključa u bitcoin blockchainu Izvor: https://en.bitcoin.it/wiki/Private_key Iz privatnog ključa se generira javni ključ, a iz javnog ključa se skraćivanjem dolazi od javne adrese. Razlog skraćivanju je iznimno dug niz simbola koji sadrĹži javni ključ. Da bi se moglo ući u interakciju sa drugim korisnikom potrebno je obznaniti javnu adresu. Javna adresa se moĹže shvatiti kao broj bankovnog računa. PoĹĄiljatelj mora znati broj računa 15 Kraft, D. (2015); Difficulty Control for Blockchain-Based Consensus Systems, University of Graz, Graz, str. 3 16 https://www.investopedia.com/terms/p/private-key.asp ( pristupljeno 15.06.2019.) https://www.investopedia.com/terms/p/private-key.asp 14 kako bi mogao poslati novac dok primatelj ima privatni ključ koji mu omogućuje pristup tim sredstvima.17 Slika 5: Javni ključ, privatni ključ i javna adresa Izvor: https://www.oreilly.com/library/view/mastering-bitcoin-2nd/9781491954379/ch04.html Slika 6: Javni ključ Izvor: https://www.comodo.com/resources/small-business/digital-certificates2.php Slika 7: Javna adresa Izvor: https://en.bitcoin.it/wiki/Address 17 https://www.investopedia.com/terms/p/public-key.asp ( pristupljeno 14.06.2019.) https://www.oreilly.com/library/view/mastering-bitcoin-2nd/9781491954379/ch04.html https://www.comodo.com/resources/small-business/digital-certificates2.php https://en.bitcoin.it/wiki/Address https://www.investopedia.com/terms/p/public-key.asp 15 2.3. Značaj blockchain tehnologije Značaj same tehnologije se ogleda u njezinoj univerzalnosti primjene. Internet je donio revoluciju u sve slojeve Ĺživota. Ta revolucija se i dalje oslanja velikim dijelom na baze podataka. Samim time ĹĄto je blockchain distribuirana baza podataka koja nosi mnoge prednosti u odnosu na klasičnu organizaciju i upravljanje podacima, ima veliki potencijal i bezbrojne mogućnosti primjene. Blockchain je već postao novac za internet i moĹže postati „Internet of Money“ za financijske usluge spajajući korisnike na isti način na koji su spojeni uređaji u „Internet of things“ mreĹži. 18 Unatoč tome utjecaj virtualnih valuta na globalnoj razini je zanemariv. Na dan 14. prosinca 2017. u svijetu je bitcoinom provedeno oko 490 tisuća transakcija dok je ukupan broj prosječnih dnevnih bezgotovinskih platnih transakcija u 2016. godini samo u europodručju iznosio 484 milijuna, a u cijeloj 2016. godini provedene su 122 milijarde platnih transakcija U Republici Hrvatskoj prosječno se dnevno izvrĹĄi viĹĄe od 2,9 milijuna bezgotovinskih transakcija. Iz navedenog je jasno da su transakcije bitcoinom kao glavnim predstavnikom virtualnih valuta zanemarive na ukupan broj transakcija. Prema HNB-u upotreba virtualnih valuta u sadaĹĄnjem opsegu ne donosi rizik za provođenje ključnih ciljeva srediĹĄnje banke poput stabilnosti cijena, financijske stabilnosti bankovnog sustava i stabilnosti platnog prometa19. Slika 8: Broj transakcija na bitcoin blockchainu Izvor: https://www.blockchain.com/en/charts/n-transactions?timespan=all 18 Swan, M. (2015): Blockchain: Blueprint for a New Economy, O'Reilly Media, Sebastopol, str. 5. 19 https://www.hnb.hr/-/sto-su-virtualne-valute- ( pristupljeno 16.06.2019.) https://www.blockchain.com/en/charts/n-transactions?timespan=all 16 3. TRENUTNA PRIMJENA BLOCKC";"""date"",""2021-04-28T09:49:41Z"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""pdf:PDFVersion"",""1.4"" ""xmp:CreatorTool"",""MicrosoftÂŽ Word for Office 365"" ""pdf:hasXFA"",""false"" ""access_permission:modify_annotations"",""true"" ""access_permission:can_print_degraded"",""true"" ""dc:creator"",""Matej"" ""language"",""hr"" ""dcterms:created"",""2021-04-28T09:49:41Z"" ""Last-Modified"",""2021-04-28T09:49:41Z"" ""dcterms:modified"",""2021-04-28T09:49:41Z"" ""dc:format"",""application/pdf; version=1.4"" ""xmpMM:DocumentID"",""uuid:F198675F-CE13-4E11-88ED-16E9D51C5AE0"" ""Last-Save-Date"",""2021-04-28T09:49:41Z"" ""pdf:docinfo:creator_tool"",""MicrosoftÂŽ Word for Office 365"" ""access_permission:fill_in_form"",""true"" ""pdf:docinfo:modified"",""2021-04-28T09:49:41Z"" ""meta:save-date"",""2021-04-28T09:49:41Z"" ""pdf:encrypted"",""false"" ""xmp:CreateDate"",""2019-06-29T15:59:20Z"" ""modified"",""2021-04-28T09:49:41Z"" ""Content-Length"",""1167130"" ""pdf:hasMarkedContent"",""true"" ""Content-Type"",""application/pdf"" ""xmp:ModifyDate"",""2019-06-29T15:59:20Z"" ""pdf:docinfo:creator"",""Matej"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"",""Matej"" ""dc:language"",""en-GB"" ""meta:author"",""Matej"" ""pdf:producer"",""MicrosoftÂŽ Word for Office 365"" ""meta:creation-date"",""2021-04-28T09:49:41Z"" ""created"",""2021-04-28T09:49:41Z"" ""access_permission:extract_for_accessibility"",""true"" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""38"" ""Creation-Date"",""2021-04-28T09:49:41Z"" ""resourceName"",""download"" ""pdf:hasXMP"",""true"" ""pdf:charsPerPage"",""506"",""252"",""2745"",""2385"",""2678"",""1717"",""2701"",""1712"",""2040"",""1386"",""2325"",""1738"",""2583"",""2330"",""571"",""1781"",""1320"",""1977"",""820"",""2044"",""1209"",""1195"",""2270"",""2080"",""1865"",""1923"",""2361"",""2231"",""1014"",""1705"",""2004"",""1259"",""1425"",""2229"",""1838"",""1870"",""1352"",""1198"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""Author"",""Matej"" ""producer"",""dompdf 0.8.6 + CPDF"" ""access_permission:can_modify"",""true"" ""pdf:docinfo:producer"",""dompdf 0.8.6 + CPDF"" ""pdf:docinfo:created"",""2021-04-28T09:49:41Z"" ";https://scholar.google.com/scholar?start=590&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094572-787;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Revisiting post-quantum fiat-shamir;Q Liu, M Zhandry ; Annual International Cryptology Conference, 2019 Springer;;"… CRYPTO 2019: Advances in Cryptology – CRYPTO 2019 pp 326-355 | Cite as … a useful approach to building non-interactive arguments (of knowledge) in the random oracle model … rewinding, and (2) the inability of current techniques to adaptively program random oracles in the …";Cité 58 fois;Les 6 versions;[PDF] nsf.gov;https://par.nsf.gov/servlets/purl/10164788;" Revisiting Post-Quantum Fiat-Shamir Qipeng Liu1, Mark Zhandry1 Princeton University, Princeton NJ 08544, USA Abstract. The Fiat-Shamir transformation is a useful approach to building non-interactive arguments (of knowledge) in the random oracle model. Unfortunately, existing proof techniques are incapable of proving the security of Fiat-Shamir in the quantum setting. The problem stems from (1) the difficulty of quantum rewinding, and (2) the inability of current techniques to adaptively program random oracles in the quantum setting. In this work, we show how to overcome the limitations above in many settings. In particular, we give mild conditions under which Fiat-Shamir is secure in the quantum setting. As an application, we show that existing lattice signatures based on Fiat-Shamir are secure without any modifications. 1 Introduction The Fiat-Shamir transformation is an approach to remove interaction in a protocol by using a hash function, by setting one party’s messages to be hashes of the communication transcript. The transformation has many important applications, from removing interaction from proofs to constructing efficient signatures. With the growing threat of quantum computers, there is great need for so-called “post quantum” cryp- tosystems, those secure against quantum attack. In the case of signatures, the most efficient construc- tions [DKL+18] use the Fiat-Shamir transformation [FS87]. Fiat-Shamir is a general tool to remove in- teraction from interactive protocols using a hash function. Classically, the security of the transform is proved in the classical random oracle model (ROM) [BR93, PS96]. Here, the hash function is replaced with a truly random function that can only be evaluated by query access. As argued by Boneh et al. [BDF+11], the correct way to model random oracles in the quantum setting is to allow quantum queries to the random oracle. While many techniques have been developed to prove security in the quantum ROM [BDF+11, Zha12, BZ13, Unr17, TU15, Unr15, KLS18, Zha18], to date the post-quantum security of general Fiat-Shamir remains unresolved. In fact, there has been some compelling justification for this state of affiars. Dagdelen, Fischlin, and Gagliardoni [DFG13] demonstrate that there cannot be a reduction with certain natural features (dis- cussed below) which capture many of the existing techniques. What’s more, Ambainis, Rosmanis, and Un- ruh [ARU14] show that many classical results about Fiat-Shamir that rely on rewinding are simply false in the quantum setting. In particular, they show that special soundness is insufficient to prove the security of Fiat-Shamir in the quantum ROM. As a result, authors have proposed various ways to strengthen the underlying protocol so that post- quantum Fiat-Shamir can be proved (e.g. [DFG13, Unr17, KLS18]) or use an alternative transformation altogether (e.g. [Unr15]). However, in all cases, this leads to a less efficient and less elegant scheme. 1.1 Summary of Results In this work, we revisit Fiat-Shamir, showing that in many cases Fiat-Shamir can be successfully applied for post-quantum security without modifying the underlying protocols. Our results come in two parts. The first set of results concerns the Fiat-Shamir transformation itself, resurrecting standard classical results in the quantum ROM: – If the underlying protocol is an argument (of knowledge), then Fiat-Shamir gives an argument (of knowl- edge). – If the underlying protocol is a secure identification scheme, then Fiat-Shamir gives a secure signature scheme. These results do not require making any additional assumptions on the underlying protocol than what is needed classically (other than, of course, needing security to hold against quantum adversaries). These results overcome the barrier of Dagdelen, Fischlin, and Gagliardoni [DFG13] by giving a proof that is outside the class of natural reductions they consider. On the other hand, the results side-step the rewinding barrier of Ambainis, Rosmanis, and Unruh [ARU14], as the rewinding barrier already applies to the security of the underlying protocol. Our second set of results concerns overcoming the rewinding barrier of [ARU14]. Classically, 2-soundness/2- extractability1 are often used to prove that a protocol is an argument/argument of knowledge. While [ARU14] show that in general these conditions are insufficient in the quantum setting, we show the following: – We define a notion of collapsing for a protocol which is similar to the notion of collapsing for hash functions [Unr16b]. – Abstracting a result of Unruh [Unr16b], we show that the usual classical results carry over to the quantum setting, provided the protocol is collapsing. That is, 2-soundness plus collapsing implies an argument, and 2-extractability plus collapsing implies an argument of knowledge. – Next, we give two weaker conditions, either of which are sufficient for a protocol to be collapsing. The first is that the protocol has an associated lossy function with certain properties. The second is that the protocol is separable, a new notion we define. – Finally, we then show that the lattice-based protocol of Lyubashevsky [Lyu12] is separable under the LWE assumption. Piecing together with our other results, we demonstrate that Lyubashevsky’s protocol is secure in the quantum random oracle model without any modifications. These results naturally extend to protocols built from this protocol, such as [DKL+18]. A key feature of our results is that they can be used as a black box without requiring the complicated details of quantum computing. In particular, the needed security properties are 2-soundness/2-extractability and associated lossy functions/separability. These properties are essentially classical in nature (except for having to hold with respect to quantum adversaries) and can be proved using classical proof techniques, and trivially porting them into the quantum setting. All of the quantum difficulties are hidden inside our proofs. 1.2 Technical Details A Quantum ROM Fiat-Shamir Proof Our first result is to prove the security of Fiat-Shamir in the quantum random oracle model, showing that Fiat-Shamir is an argument (of knowledge) assuming the original protocol is. Fiat-Shamir operates on a sigma protocol, which is a three-message protocol with a public-coin verifier. The prover has some witness w for a statement x. In the first message, the prover sends a commitment a. Then the verifier chooses a random challenge c which it sends back. Finally, the prover comes up with a response r. The verifier then looks at the transcript (a, c, r), which it accepts or rejects. The protocol is an argument if no (computationally bounded) malicious prover can cause the verifier to output 1 in the case x is false. The protocol is an argument of knowledge if, moreover, from any computationally bounded prover, a valid witness w can be extracted. Honest verifier zero knowledge means that it is possible to generate valid transcripts (a, c, r) without knowing a witness. Note that this generation procedure typically chooses a based on c and maybe r; as such a generation procedure does not allow one to break the soundness of the argument. The Fiat-Shamir transformation, using a hash function H, simply replaces the verifier’s challenge with c = H(a). Thus the prover can generate the entire interaction for himself. The hope is that the hash function prevents a dishonest prover from using the zero knowledge property to generate the transcript, by forcing c 1 2-extractability is often called “special soundness” in the literature 2 to be determined after a. In fact, in the classical random oracle model, this idea can be turned into a proof, showing how to turn any adversary for Fiat-Shamir into an adversary for the original sigma protocol. In the classical proof, the reduction simulates the random oracle on the fly, keeping track of the points the adversary queries and programming the random oracle to fresh random points with each query. It is straightforward to prove that if the adversary eventually outputs a valid argument (a, c = H(a), r), then one of the random oracle queries must have been on a. If the reduction knew which query this was at the time of that query, it sends a as it’s commitment to the sigma protocol. When it receives c from the verifier, it programs H(a) = c instead of choosing its own random value. Since the verifier chose c at random anyway, this is undetectable to the adversary. Finally, when the adversary outputs (a, c, r), the reduction simply sends r to the verifier, which will pass. Now, the reduction does not know which query will correspond to the adversary’s output when the query is made, so the adversary simply guesses a query at random, and aborts if the guess turned out wrong. The resulting adversary still succeeds with non-negligible probability. This proof strategy is problematic once we consider quantum queries to the random oracle. The classical on-the-fly simulation strategy of random oracles does not work once quantum queries are allowed. The reason is that the simulation strategy requires recording the adversary’s queries; if the queries were quantum, the result is effectively a measurement of the adversary’s query. Such a measurement is easily detectable. A mischievous adversary could test for such a measurement, and refuse to keep working if detected. This is a universal problem in the quantum ROM; as such, the typical solution is to avoid on-the- fly simulation. Instead, the function is set once and for all to be a fixed function chosen from a careful distribution [BDF+11, Zha12, BZ13, Unr17, TU15, Unr15, KLS18]. The reduction then answers the queries with this function, without trying to record anything about the adversary’s query. By designing the function to be indistinguishable from a truly random oracle, the adversary cannot tell that it was given a different oracle. However, while such fixed functions can be made to work in a wide variety of settings, they seem incapable of proving the security of Fiat-Shamir. Indeed, an impossibility of this sort is formalized by [DFG13]. The issue is that a Fiat-Shamir proof needs to extract a from the adversary’s queries and feed it into it’s own verifier. But such an extraction constitutes a detectable measurement. Even worse, it then needs to program the challenge c into the oracle, but this might be happening after many queries to the random oracle. Therefore, it seems crucial for a proof to adaptively program the random oracle. Compressed Oracles. Toward resolution, we start with a very recent technique that allows for on-the-fly simulation of random oracles in the quantum setting: Zhandry’s compressed oracles [Zha18]. Zhandry’s key observation is that some sort of on-the-fly simulation analogous to the classical simulation is possible if care is taken to implement the oracle correctly. Concretely, Zhandry simulates the random oracle as a stateful oracle which stores a quantum superposition databases D, where a database is just a list of input/output pairs (x, y). A database intuitively represents a partial specification of the oracle: if a pair (x, y) is in the database, it means the oracle on input x is set to y, whereas if there is no pair that begins with x, it means the oracle is un-specified at x. Since the oracle actually stores a superposition of databases, a point x can be in superposition of being specified and unspecified. Originally, the database starts out empty. In the classical setting, on query x, the oracle would look up x in the database and add a pair (x, y) for a random y if x was not found. Afterward (since there is now guaranteed to be a pair (x, y)) it will output y. In the quantum setting, something similar happens. The following description is slightly inaccurate, but gives the high-level idea. On query x, very roughly, if x is not found in the database, a pair (x, y) is added, where y is in uniform superposition over all possible y values. Recall that the query can be quantum, so this addition to the database is happening in superposition. Then once x is guaranteed to be specified, the query is answered (again in superposition). Now, an important difference from the classical setting is this: in order to maintain perfect indistinguisha- bility from a truly random oracle, a particular test is performed on the database after answering the query. This test determines whether the adversary maintains any knowledge of the oracle at input x. If not, the pair (x, y) is removed from the database. The above description is informal and slightly inaccurate. But nonetheless by carrying out the operations correctly, Zhandry shows that this approach can be made to correctly simulate a random oracle. 3 For us, Zhandry’s simulation gives a glimmer of hope. Indeed, we notice that the oracle is now recording information about which points the adversary is interested in. Therefore, the database has all the information we need to generate a. Unfortunately though, there is a problem: in order for the reduction to win against the verifier, it must produce a classical a. However, in order to produce a classical a, we must measure the adversary’s database. But such a measurement will affect the state of the oracle, and can be detected by the adversary. Indeed, it is straightforward to devise adversaries that can catch such a measurement and refuse to keep running. Our New Extraction Technique. First, we observe that when the adversary outputs (a, c, r), the first thing the verifier does is to check that c = H(a). If the adversary succeeds, it means that the adversary knows about the value of H at a. But a Lemma of Zhandry [Zha18] whose that in the compressed oracle simulation, the pair (a, c) must be in the oracles database (whp). By the end of the experiment, a has been measured (since the adversary produces a classical output) which roughly has the effect of measuring a in the oracle’s database. Since the oracle’s database starts out empty, this must mean that (a, c) was added at some query. One may hope that this means it is possible to measure a random query to get a. Unfortunately, things are not so straightforward. The problem is that a might not have been added to the database at a well-defined point in time. It could be that each of the adversary’s queries is on a superposition that contains a, and only after making several queries does the adversary have enough information to determine H(a). Now, as a thought experiment, consider running the adversary, and after each query measuring the database in the compressed oracle. We will define the adversary’s history as the vector of resulting databases (D1, . . . , Dq). Suppose the adversary still was able to output (a, c, r) that passed verification. Then we know that (a, c) ∈ Dq, and so there must be some point i at which a first enters Di. But this means the adversary actually queries on input a for query i. This means we could use the classical strategy for extracting a. Unfortunately, measuring all the queries would of course destroy the adversary’s state, making it poten- tially unlikely the adversary would still pass verification. The good news is that we can show the probability of passing verification is at least non-zero. Indeed, Boneh and Zhandry [BZ13] give a measurement lemma which says that if a measurement has T possibilities, it can only reduce the adversary’s success probability by at most a multiplicative factor of T . Therefore, the adversary still passes with probability at least the reciprocal of the number of database histories. Of course, the number of histories is exponentially large, so this is not useful yet. We note that the measurement lemma is tight in general. However, we can use this notion of a history to help us achieve an extraction technique with a higher success probability. For a history h, let |φh〉 be the final state (where the queries were measured as above) of the algorithm conditioned on observing the history h. Recall that quantum states are usually complex vectors of unit norm. In contrast, |φh〉 will not be normalized, but instead have norm whose square is equal to the probability of observing h. Our key idea is to group histories in together, and apply a generalization of the measurement lemma to the groups of histories. We show that a polynomial number of groups of histories are possible, leading to a non-negligible chance of success. In more detail, we observe that the adversary’s final state, if we did not measure the history, is exactly∑ h |φh〉 where the sum is over all possible histories. This is similar to the classical case, where the adversary’s probability distribution is the sum of the conditional probability distributions for each history, weighted by the probability of that history. The key difference is that in the quantum setting, the relation between states and probabilities distributions requires squaring the amplitudes. Next, we partition the histories into a polynomial number of sets S1, . . . , Sq. Set Si consists of all histories (D1, . . . , Dq) for which: – Di−1 does not contain a – Di through Dq all contain a For the clarity of exposition, we assume that the adversary always outputs a successful tuple (a, c, r), meaning we know that a is in Dq. Therefore, Dq will contain a in all histories. As such, the sets Si in fact 4 do partition the space of all possible histories. In the more general case where the adversary may fail, we would include a set S⊥ of histories where Dq does not contain q. Now we consider the states |φSi 〉 = ∑ h∈Si |φh〉. We note that ∑ i |φSi 〉 is exactly the adversary’s final state, since the Si form a partition. By generalizing the Boneh-Zhandry measurement lemma, we can show that the |φSi 〉 must result in (a, c, r) which pass verification with non-negligible probability. Therefore, our goal is to extract a from the adversary’s query, and then hope that the resulting state is |φSi 〉 for some i. First, we choose a random i. For that query, we measure two things: – Whether that query resulted in a value being added to the database – And if so, we measure that value to get a guess a′ for a If successful, this corresponds to the requirement that histories have Di−1 which did not contain a and Di contained a. If unsuccessful, we abort. Then, for each subsequent query, we measure if a′ is still in the database, corresponding to the requirement that a ∈ Dj for all subsequent databases; if not we abort. At the end, the we test that the value a′ we measured happens to match the a in the adversary’s output (a, c, r). If a′ = a, the end result is exactly the state |φSi 〉, since our measurements remove all histories except those in Si. We show that this procedure succeeds with non-negligible probability, and then by applying the general- ized measurement lemma we get that (a, c, r) passes verification with non-negligible probability. The result is that we can actually extract the a at query time, and still have the adversary succeed in producing a valid (a, c, r), just as in the classical setting. Our New Programming Technique. Unfortunately, the above is not quite sufficient for a reduction. After all, while we can now query the verifier on a, it is unclear what it should do with the response c. It could program H(a) = c by adding the pair (a, c) to the database (recall that H was previously un-programmed at a since a /∈ Di−1). However, this is different from what the compressed oracle would have done: the compressed oracle would have added a uniform superposition over c of (a, c) pairs. In particular, the information the compressed oracle uses to determine if a pair should be removed is stored in the phase information of the output registers in the database. By inserting a classical value c into the output, there is no phase information for the compressed oracle to use. Actually, this will cause the compressed oracle to almost always decide to keep the value in the database, even if it should have been removed. A natural solution is: in query i once we have extracted a, switch the oracle database for input a to be permanently “uncompressed”. On all other inputs, the database will behave as before, but on the special input a, it will no longer run the check to remove a from the database. Such a modification can indeed be made to Zhandry’s compressed oracle, allowing for programming a random c. However, it does not quite work for us. Remember that our extraction technique above required testing whether a was in the database after query i. But this test needed to be applied to the original compressed oracle, not the new oracle which doesn’t compress a. In particular, the new compressed oracle will always report that a is in the database. Roughly this means our extraction captures all histories where a was added to the database at query i, even those where it was subsequently removed and added again. Let Ti be the set of histories of this form. Notice that the Ti’s do not partition all histories: the multi-set obtained by unioning the Ti contains each history multiple times. In fact, the number of times each history is included is equal to the number of times a is added to the database in that history. Some histories will add a many times. In order to overcome this issue, we need a way to partition the set of histories such that the set of histories for query i is independent of the history after the query. This corresponds to, after query i, no longer testing whether a is in the database. If we do not need such a test, we can switch the oracle at a to be uncompressed and then program a random c. One thought is to reverse the sets Si. That is, let S′i the set of histories where a is not in the history at any query up until i, and then is added at query i; we do not care after i if a is added or removed from the database. These S′i certainly partition the set of all histories, but unfortunately they cannot be sampled 5 efficiently. The problem is that a is not known until it is added to the database in query i; yet, sampling histories in S′i requires knowing a at the very beginning in order to test for a’s presence from the start. Our solution is to try to combine the features of Si and S′i so that we do not need to know a at the beginning, but also do not need to test for a’s presence at the end. Toward that end, we define sets Ti,j,k. A history is in set Ti,j,k if: – a is added to the database at query i – a remains in the database until query j, at which point it is removed – a remains absent from the database until query k, at which point it is added a second time. These sets can be easily sampled: at query i, we measure to learn a guess a′ for a. Then we keep testing to make sure that a′ is in the database until query j, at which point we make sure that a′ is removed. Then we keep testing that a′ is absent until query k, when it is added back in. Once we get to query k, the database is now programmed at point a′, and we will never need to check for the presence of a′ in the database again. Therefore we can change the compressed oracle to be uncompressed at a′, and simply program it’s value to c. When the adversary finally outputs (a, c, r), we test if a′ = a; if so, the adversary’s state is exactly the collection of histories in Ti,j,k. The problem, of course, is that these Ti,j,k also do not partition the space of all histories. In fact, if a history adds a a total of ` times, it will appear in `−1 histories. Therefore the multi-set obtained by unioning the Ti,j,k contains each history equal to the number of times a is added, minus 1. Our final idea is to observe that if we take the multiset derived from the Ti’s, and subtract the multiset derived from the Ti,j,k’s, we will get every history exactly once. That means if we define |φT 〉 = ∑ h∈T |φh〉, we have that |φ〉 = ( ∑ i |φTi 〉 ) −  ∑ i,j,k |φTi,j,k 〉   Analogous to the case of the Si’s this allows us to sample a |φTi 〉 or |φTi,j,k 〉 — which let us extract a and program c — and then have the adversary give us a valid (a, c, r) with non-negligible probability. The reduction then simply sends r and convinces the verifier. The end result is any adversary for Fiat-Shamir can be turned into an adversary for the original interactive protocol, completing the proof of security. How to Rewind an Argument For our next set of results, we show how to rewind a sigma protocol to allow for proving that the protocol is an argument (of knowledge). We note that [ARU14] show that 2-soundness/2-extractability is insufficient. Therefore, we aim to identify some mild extra conditions that will allow for the proof to go through. The difficulty in proving soundness comes from the difficulty of quantum rewinding, which was first observed by Watrous [Wat06]. In a classical rewinding proof, the adversary commits to a, gets a challenge c1 from the verifier, and responds with r1. Then, the adversary is rewound to just after a is produced. The adversary is then run on a different challenge c2, which causes it to give a different response r2. Then the tuple (a, c1, r1, c2, r2) either breaks 2-soundness, or in the case of 2-extractability can be used to generate a witness. 2-soundness/2-extractability are typically easy to prove using standard tools. In the quantum setting, a problem arises. Namely, while the adversary is quantum, the r1 it produces during the first run is classical. This means that r1 must be measured. But this measurement in general cannot be undone. As such, it is in general impossible to rewind back to the first message to try again. [ARU14] formalizes this observation by showing (relative to an oracle) that there are schemes for which 2-soundness/2- extractability are not enough to prove security. The natural solution, and the approach we take in this work, is to show that for some schemes rewinding is possible. Basically, in the absence of measurements quantum computation is reversible. Therefore we know that if r1 is not measured, then the adversary can be rewound and it will succeed in producing r2. What we need to show is that measuring r1 does not significantly impact the probability that the adversary will successfully produce r2. 6 Unruh [Unr12] shows that if a sigma protocol additionally satisfies the notion of strict soundness — meaning that for every a, c there is unique valid r — then rewinding is possible. The idea is that you can leave r1 in superposition and not measure it. Then, just the fact that (a, c1, r1) passed verification means that the superposition over r1 collapses to the unique valid r1. Therefore, measuring r1 has no additional affect over measuring whether verification succeeded. Of course, measuring whether verification succeeded will also affect the probability r2 passes, but Unruh shows that the probability is not too low. Collapsing Protocols. Unfortunately, strict soundness is undesirable in practice, as it leads to inefficient schemes. Instead, Unruh [Unr16b] shows that for a particular protocol built from an object known as a collapse-binding commitment, rewinding is possible even though there are multiple valid r. Collapse-binding commitments can in turn be built from a so-called a collapsing hash function. We abstract Unruh’s ideas, defining a general notion of collapsing for sigma protocols. Roughly, a col- lapsing sigma protocol is one where there may be many valid r’s for a given (a, c), but the adversary cannot tell whether a superposition of valid r’s is measured or not. This is exactly what Unruh’s protocol guaran- tees, and is exactly what is needed to be able to rewind in the setting of many r’s. By following Unruh’s techniques, we show that collapsing is a sufficient extra condition to get the classical results to carry though to the quantum setting But now we face another challenge: how do we construct a collapsing sigma protocol? We can look for techniques for building collapsing hash functions or commitments and see if they apply. However, the techniques are sparse. [Unr16b] only shows that a random oracle is collapsing, and a more recent work of Unruh’s [Unr16a] gives a construction using lossy trapdoor functions (LTDFs). However, trying to embed a LTDF in the sigma protocol construction will result a less efficient scheme, which will be important for the application to signatures. In particular, Lyubashevsky’s scheme is inherently lossy, and moving to a regime where there is an injective mode will significantly increase parameter sizes. Associated Lossy Functionss. Our resolution is to devise a new technique for proving that a sigma protocol (or hash function) is collapsing. They key idea is that the protocol itself does not need to be lossy, just that there is an associated lossy function (not necessarily trapdoored) with a useful relationship to the protocol. In more detail, an associated lossy function for a sigma protocol consists of two sampling procedures GenL,GenI . GenI(a, c) takes as input the first two messages of the protocol, and outputs a function f . It guarantees that over the space of valid r, f is injective. In contrast, GenL(a, c) samples a lossy mode f , which is guaranteed to be constant over the space of valid r. In either case, no guarantees are made on invalid r. Lastly, we require that for any a, c, the two modes are computationally indistinguishable (even if the attacker knows a, c). Any scheme with an associated lossy function is collapsing. Indeed, given a, c and a superposition over valid r, sample a lossy mode f . Then measuring f(r) has no effect on the state (since f is constant over the set of valid r). Then we switch f to an injective mode and still measure f(r). By the computational indistinguishability of the modes, this change is undetectable. Finally, in the injective mode, f(r) information- theoretically contains all information about r, so measuring f(r) is equivalent to measuring r. This means we can measure r without detection. Next, we observe that typical lattice-based sigma protocols have associated lossy functions. For example, Lyubashevsky’s signature scheme [Lyu12] uses a sigma protocol where the set of valid responses r are short vectors such that A ¡r = u mod q where A is a short wide matrix that is part of the public key and u depends on a, c. We will define our associated lossy function to be the natural lossy function built from the Learning With Errors (LWE) problem [AKPW13]. A lossy mode f is sampled by choosing a tall skinny matrix C, a matrix E with short entries, and computing B = C ¡A+E mod q. The function fB(r) is then bB ¡ r mod qe, where b¡e represents a suitably course rounding. Since r is short and E has short entries, we will have that B ¡ r mod q ≈ C ¡A ¡ r mod q = C ¡ u mod q, which is independent of which valid r is used. For the injective mode, we simply choose B at random mod q. By choosing parameters correctly, one can ensure that fB(r) is injective. One problem with the above is that, in order for the lossy mode to be constant, we need that q is super-polynomial. Otherwise, rounding errors will cause fB(r) in the lossy mode to not quite equal bC ¡ ue, 7 and the errors will depend on r. As such, for polynomial modulus, fB(r) is not constant on valid r. Using a super-polynomial modulus will negatively impact the efficiency of the scheme, and requires a stronger computational assumption. Our first observation is that we do not actually need full indistinguishability of the measured vs not measured r. For our application to sigma protocols, we just need that anything that happens when r is unmeasured will also happen with reasonable probability when r is measured. But the two cases could be distinguishable in the strict sense. This gives a weak notion of collapsing which is sufficient for rewinding. What this allows us to do is shrink q to be small, and we will have that the lossy mode in constant with non-negligible probability, which we show is sufficient. However, we still need q to be somewhat larger than what is required classically. This is because when we prove that the lossy mode is constant, we need to union bound over each row of C. Decreasing the height of C improves the probability of success, but we need to keep C a certain height so that the injective mode is actually injective. Separable Sigma Protocols. In order c";"""date"",""2020-06-25T14:43:10Z"" ""pdf:PDFVersion"",""1.4"" ""xmp:CreatorTool"",""LaTeX with hyperref package"" ""pdf:docinfo:title"","""" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""subject"","""" ""pdfa:PDFVersion"",""A-1b"" ""language"",""en"" ""dc:format"",""application/pdf; version=""""A-1b"""""",""application/pdf; version=1.4"" ""pdf:docinfo:creator_tool"",""LaTeX with hyperref package"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"","""" ""xmp:CreateDate"",""2020-06-25T10:43:10Z"" ""modified"",""2020-06-25T14:43:10Z"" ""cp:subject"","""" ""pdf:docinfo:subject"","""" ""pdf:hasMarkedContent"",""false"" ""xmp:ModifyDate"",""2020-06-25T10:43:10Z"" ""pdf:docinfo:creator"","""" ""meta:author"","""" ""meta:creation-date"",""2020-06-25T14:43:10Z"" ""created"",""2020-06-25T14:43:10Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2020-06-25T14:43:10Z"" ""resourceName"",""10164788"" ""pdfaid:part"",""1"" ""Author"","""" ""producer"",""Neevia Document Converter Pro v7.1 build 94 (http://neevia.com)"" ""pdf:docinfo:producer"",""Neevia Document Converter Pro v7.1 build 94 (http://neevia.com)"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""4"",""14"",""24"",""6"",""3"",""0"",""4"",""29"",""27"",""44"",""12"",""23"",""30"",""34"",""57"",""48"",""49"",""75"",""48"",""47"",""20"",""22"",""35"",""9"",""24"",""24"",""31"",""37"",""22"",""46"",""33"",""47"",""28"",""25"",""52"",""0"",""0"",""78"",""39"",""87"",""13"",""2"" ""Keywords"","""" ""access_permission:modify_annotations"",""true"" ""dc:creator"","""" ""dcterms:created"",""2020-06-25T14:43:10Z"" ""Last-Modified"",""2020-06-25T14:43:10Z"" ""dcterms:modified"",""2020-06-25T14:43:10Z"" ""title"","""" ""xmpMM:DocumentID"",""uuid:b07c43d1-b94d-11ea-0000-525d500f962f"" ""Last-Save-Date"",""2020-06-25T14:43:10Z"" ""pdf:docinfo:keywords"","""" ""pdf:docinfo:modified"",""2020-06-25T14:43:10Z"" ""meta:save-date"",""2020-06-25T14:43:10Z"" ""Content-Length"",""509280"" ""Content-Type"",""application/pdf"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"","""" ""pdfaid:conformance"",""B"" ""pdf:producer"",""Neevia Document Converter Pro v7.1 build 94 (http://neevia.com)"" ""dc:subject"","""" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""45"" ""pdf:hasXMP"",""true"" ""pdf:charsPerPage"",""2917"",""3492"",""4287"",""3804"",""3747"",""3450"",""4066"",""3407"",""3753"",""2557"",""2719"",""2331"",""2174"",""2018"",""3044"",""2427"",""2152"",""2164"",""1499"",""2650"",""2246"",""2042"",""1492"",""2347"",""1971"",""1368"",""1498"",""1413"",""1761"",""2805"",""2326"",""2633"",""2345"",""2515"",""2578"",""3171"",""2662"",""1440"",""3765"",""682"",""2217"",""2098"",""1889"",""2968"",""362"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""meta:keyword"","""" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2020-06-25T14:43:10Z"" ";https://scholar.google.com/scholar?start=600&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094548-682;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;An Extended CTRT for AES-256;SH Shin, S Yamada, G Hanaoka, Y Ishida… ; … on Information Security …, 2019 Springer;;"… At CRYPTO 2000, Desai [6] suggested a new security definition for AONTs regarding key privacy and a … In the ideal cipher model, we assume that we have an oracle access to \((F,F^{-1 … However, since we allow them to access the oracles \((F, F^{-1})\), they may use the ideal …";Cité 1 fois;Les 2 versions;null;;;;https://scholar.google.com/scholar?start=500&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094628-1028;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[PDF][PDF] Securing Emergent IoT Applications;J Cuellar ; researchgate.net;;"… such as timeout transitions contracts and open Petri Net places; second, we extend our frame- work to support requirement elicitation methods with practitioner-friendly tools, distributed accountability, and generation of Petri Net based smart contracts for Blockchain; third, we …";Autres articles;Version HTML;[PDF] researchgate.net;https://www.researchgate.net/profile/Prabhakaran_Kasinathan/publication/332451374_Securing_Emergent_IoT_Applications/links/5cebad00a6fdccc9ddd2442e/Securing-Emergent-IoT-Applications.pdf;;;https://scholar.google.com/scholar?start=840&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094593-875;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[HTML][HTML] ???????? ?????????? ?????-?????????? ? ???????????? ????????;?? ??????? ; ????????????? ????????? ? ?????????? …, 2019 cyberleninka.ru;;"… ?????????? ??????????? / ?????????????? ???????? / ???????? ?????????? ?????-????????? / ????????????? ???????? / LAW AND COMPUTER CODE / BLOCKCHAIN ORACLES / DECENTRALIZED AUTONOMOUS ORGANIZATION …";Autres articles;En cache;[HTML] cyberleninka.ru;https://cyberleninka.ru/article/n/problemy-primeneniya-smart-kontraktov-v-deyatelnosti-kompanii;" [image: Научная статья на тему 'ПРОБЛЕМЫ ПРИМЕНЕНИЯ СМАРТ-КОНТРАКТОВ В ДЕЯТЕЛЬНОСТИ КОМПАНИИ'][image: ] ПРОБЛЕМЫ ПРИМЕНЕНИЯ СМАРТ-КОНТРАКТОВ В ДЕЯТЕЛЬНОСТИ КОМПАНИИ Текст научной статьи пО специальности «Право» [image: ]CC BY [image: ] [image: ]27 [image: ]6 i Надоели баннеры? Вы всогда можете отключить рекламу. Журнал[image: ] Имущественные отношения в РОссиКскОК Федерации 2019 ВАК Область наук Право Ключевые сНОва ПРАВО И КОМПЬЮТЕРНЫЙ КОД / БЛОКЧЕЙН-ОРАКУЛЫ / ДЕЦЕНТРАЛИЗОВАННАЯ АВТОНОМНАЯ ОРГАНИЗАЦИЯ / САМОИСПОЛНЕНИЕ ДОГОВОРА / ПРОБЛЕМЫ ПРИМЕНЕНИЯ СМАРТ-КОНТРАКТА / РИКАРДИАНСКИЙ КОНТРАКТ / LAW AND COMPUTER CODE / BLOCKCHAIN ORACLES / DECENTRALIZED AUTONOMOUS ORGANIZATION / SELF-FULFILLMENT OF A CONTRACT / PROBLEMS OF APPLYING A SMART CONTRACT / RICARDIAN CONTRACT Аннотация научной статьи пО праву, автор научной работы — Душаева Анастасия Александровна Автор анализирует сущность и содержание смарт-контракта, исследует предшествующие оПу способы самоисполнения простых сдоНОк, технологическое содержание такого контракта и юридические проблемы, возникающие в деятельности кОПпаниК при использовании смарт-контрактов в договорных отношениях. Выявляет ОсОйОо значение и роль технического специалиста при сОСдании таких контрактов. Делает вывод Đž возможности появления проблем при их реализации и предлагает способы фиксации усНОвиК смарт-контракта для устранения противоречий и ОшийОк. i Надоели баннеры? Вы всогда можете отключить рекламу. Похожие темы научных работ пО праву , автор научной работы — Душаева Анастасия Александровна Профессиональный библиограф составит и оформит пО ГОСТ списОк литературы для вашоК работы Подбор литературы СМАРТ-КОНТРАКТ: ПРОБЛЕМЫ И ПЕРСПЕКТИВЫ ПРАВОВОГО РЕГУЛИРОВАНИЯ 2019 / Михайленко Нафисет Мурадиновна, Гнездилова Анастасия Владимировна К вопросу Đž понятии и сфере применения смарт-контрактов 2019 / Новиков Đ .В. Законодательное регулирование ""умных"" контрактов: проблемы и перспективы развития 2018 / Митрофанова Ирина Александровна СМАРТ-КОНТРАКТЫ: ОКНО В ЭПОХУ ЦИФРОВОГО ПРАВА 2019 / Данилов Кирилл Сергеевич ТЕХНОЛОГИЧЕСКИЙ И ПРАВОВОЙ АСПЕКТЫ СМАРТ-КОНТРАКТА 2020 / Камалян В. М. iНе можете найти то, что ваП нуМнО? Попробуйте сервис подбора литературы. i Надоели баннеры? Вы всогда можете отключить рекламу. PROBLEMS OF APPLICATION OF SMART CONTRACTS IN THE COMPANY’S ACTIVITIES The author of the article analyzes the essence and content of the smart contract, examines the methods of execution of simple transactions preceding the smart contract, the technological content of the smart contract and the legal problems arising in the practice of companies when using smart contracts in contractual relations. Conclusions are drawn about possible problems in the implementation of a smart contract, the special importance and role of a technical specialist in the creation of a smart contract is revealed, and the author makes suggestions on ways to fix the conditions of a smart contract to eliminate contradictions and errors. Текст научной работы на тему «ПРОБЛЕМЫ ПРИМЕНЕНИЯ СМАРТ-КОНТРАКТОВ В ДЕЯТЕЛЬНОСТИ КОМПАНИИ» ďťż DOI: 10.24411/2072-4098-2019-11003 Проблемы применения смарт-контрактов в деятельности кОПпании А.А. Душаева адвокат Нижегородской областной кОННогии адвокатов, аспирант кафедры теории и истории государства и права юридического факультета Национального исследовательского Нижегородского государственного университета иП. Н.И. Лобачевского (Đł. Н. Новгород) Анастасия Александровна Душаева, Nastasieva@yandex.ru Содержание смарт-контракта Относительно новым явлением в предпринимательской деятельности является смарт-контракт. ХОгНаснО толковому словарю ĐĄ.И. Ожегова контракт - это договор, сОгНашонио (сП. [1]). В толковом словаре русского языка Д.Н. УшакОва контракт имеет значение письменного договора, заключенного двумя сторонами с взаимными обязательствами (сП. [2]). При грамматическом толковании термина «смарт-контракт» (ангН. Smart contract - умный контракт) оказывается сОвсоП но «умным» и даМо но контрактом в пОдНиннОП значении, а характеризуется лишь особым свойством смарт-контракта Đş самоисполнению йоС постороннего вмешательства третьих лиц сОгНаснО заложенным в ноП заранее условиям исполнения (подробнее сП. [3]). Историческими предшественниками смарт-контрактов были, Đş примеру, вон-динговые аппараты продажи газированной воды, первый в мире игровой автомат Liberty Bell, созданный Чарльзом ФаоП 1. Один иС предшественников современных смарт-контрактов - рикардианский контракт (Ricardian contract), идея Đž котором появилась в 1996 гОду в работе Иэна Григга и Гэри мОуНанда, посвященной платежной системе Ricardo. Григг представлял рикар-дианскиК контракт как мост ПоМду текстовыми контрактами и кОдОП сО следующими параметрами: • одиночным документ - контракт, который эмитент предлагает держателям; • как ценное право держателей, управляемое эмитентом; • НогкО распознается людьми (как и обычный бумажный контракт); • считывается программами; • подписывается цифровым образом; • содержит ключи и информацию Đž сервере; • сочетается с уникальным и одноименным идентификатором (сП. [4]). В современном значении смарт-контракт впервые появился на платформе блокчейна версии 2.0 Е^егеит. В блокчей-но версии 1.0 биткоина смарт-контракты но создаются и являются отличительной характеристикой блокчейна версии 2.0, обладая иными свойствами и возможностями реализации на огО ОснОво огромного количества технологических проектов различного характера и экономической направленности. В настоящее время смарт-контракты составляют критически важный компонент многих платформ и приложений, построенных на ОснОво блокчейна, то есть технологии распределенного реестра. Как отмечает А.В. Варнавский, «Блокчейн как технология в первую очередь представляет сОйОК йаСу данных, обладающую рядом специфических свойств... В частности, технология блокчейн подразумевает вносонио в распределенный реестр информа- iНе можете найти то, что ваП нуМнО? Попробуйте сервис подбора литературы. 1 Liberty Bell - первый игровой автомат, появился в 1880 гОду. ĐĄĐź. URL: http://pantikapei.ru/liberty-bell-pervyj-igrovoj-avtomat-poyavilsya-v-1880-godu.html (дата обращения: 16 декабря 2018 гОда). ции Đž двиМонии нокОК расчетной единицы» [5]. В технологическом значении смарт-контракт описывает компьютерный кОд, который исполняет сОгНашонио иНи огО части. Код хранится на платформе, построенной на ОснОво блокчейна. Код бывает единственным объявлением Đž содержании соглашения НийО дополняет традиционный текстовый контракт и определенные условия соглашения, Đş примеру, перевод денежных средств от А Đş Б. Код реплицируется на несколько уСНОв, иНи нОд (уСоН), блокчейна и пользуется всоПи преимуществами блокчейн-сети (сохранность, безопасность и неизменяемость). Реплицирование означает, что при дОйавНонии каМдОгО нОвОгО йНОка кОд может исполниться. Если стороны инициировали транзакцию и тем самым пОкаСаНи, что условия соблюдены, то это станет триггером и кОд выполнит какио-то действия. Если транзакция но инициирована, то и компьютерный кОд ничего но делает. Большинство смарт-контрактов написаны на специальном компьютерном языке, приспособленном для этих целей (например Solidity). Наиболее широкое распространение смарт-контракты получили в финансовой сфере (подробнее сП. [6]) и банковских операциях (подробнее сП. [7]), поскольку блокчейн позволяет совершать сдоНки с хорошей отслеживаемостью их истории, характеризуется прозрачностью и отсутствием посредников в совершении транзакции. Смарт-контракты оказывают существенное влияние на деятельность кОПпаниК, инициируя новые формы ведения йиСноса с использованием контрактов и сети йНОк-чейн, улучшение усНОвиК финансирования инновационных предприятий посредством краудфандинга и проведения ICO, а также существенные изменения в государственном секторе, например в социальном обеспечении (сП. [8]), и т. Đ´. Смарт-контракты могут реализовывать-ся в разных формах. Во-первых, в смарт-контракт ПОМнО записать всо условия сдоНки. ТакиП образом, контракт может стать формой сдоНки, осНи Он содержит всо существенные и необходимые условия договора соответствующего вида. Необходимо, чтобы входные условия и этапы выполнения смарт-контрактов были конкретными и объективными измеряемыми параметрами. Иными сНОваПи, осНи произойдет X, то сделать YÂť. Следовательно, смарт-контракты выполняют простые задачи, например перевод крип-товалюты с ОднОгО кошелька на другой при наступлении определенных усНОвиК. По мере распространения блокчейна и увеличения средств, вкладываемых в токены иНи отправляемых в рамках бокчейна, смарт-контракты будут усложняться и смогут выполнять сложные транзакции. Многие разработчики уМо создают йОНоо сложные смарт-контракты, объединяя их в несколько этапов транзакций. Прежде чем созданный смарт-контракт будет испОНнон, требуется оплатить тран-закционную комиссию Са дОйавНонио контракта в блокчейн. Например, в йНОк-чейне Ethereum смарт-контракты исполняются в виртуальной Пашино Ethereum Virtual Machine (EVM), а комиссия в крип-товалюте ether (эфир) называется гаСОП (gas). ЧоП сНОМноо смарт-контракт, тем больше гаСа требуется заплатить. ТакиП образом, гаС становится усНОвиоП, предохраняющим виртуальную Пашину от выполнения сНишкОП больших иНи сложных смарт-контрактов. Сейчас смарт-контракты больше всогО подходят для применения в ситуациях двух типов: 1) оплата, инициируемая различными событиями; 2) наНОМонио финансовых санкций при наступлении определенных усНОвиК. Для выполнения этих двух типов транзакций но требуется участие людей, в том числе доверенных держателей усНОвнОгО депонирования иНи юридических представителей. Это позволяет снизить издержки на испОНнонио и правоприменение при испОНнонии контрактов. Во-вторых, смарт-контракт может стать программным кОдОП только для исполнения некоторых усНОвиК сдоНки, совершенной в форме классического контракта, то есть в простой письменной форме. В этом случае в письменном контракте фиксируется возможность исполнения некоторых усНОвиК с применением кОда в смарт-контракте. Трудности понимания кОда лицами йоС специального образования iНе можете найти то, что ваП нуМнО? Попробуйте сервис подбора литературы. Смарт-контракт может содержать условия договора, а договор ПОМнО прописать в саПОП контракте и компьютерном кОдо. Однако здесь возникают сложности. Понять содержание договора в простой письменной форме может практически любой гражданин, обладающий средним образованием и но владеющий юридической терминологией. Однако проверить условия договора, записанные в компьютерном кОдо, при отсутствии специального образования и удостовериться в правильности Саписи усНОвиК сдоНки, содержании необходимых усНОвиК практически новОСПОМнО. Компьютерный кОд составляется на специальном компьютерном языке и с особым, отличным от правил речи, синтаксисом. Главное препятствие на пути широкого распространения смарт-контрактов заключается в следующем. Сторонам придется полагаться на Пнонио доверенных технических экспертов, которые будут реализо-вывать соглашения в кОдо иНи подтверждать точность кОда, написаннОгО другой стороной. Возможная аналогия с участием в сдоНко юриста, составляющего договор, при сравнении может оказаться одва Ни приемлемой. Люди йоС юридического образования способны понять краткие, простые соглашения и многочисленные положения йОНоо длинных сОгНашониК. Но осНи сторона договора но умеет программировать, то но сможет разобраться даМо в саПОП простом смарт-контракте, поэтому значимость эксперта, который разъясняет, что написанО в кОдо, гораздо выше. В какОК-то мере неспособность сторон разобраться в кОдо смарт-контракта но помешает иП заключать вспомогательные программные соглашения. Дело в том, что ПОМнО создать и использовать ПнОгО базовых функций и текстовых шайНОнОв, обозначающих, какио параметры нуМнО ввести и как Они будут исполняться. Допустим, простая функция смарт-контракта списывает сО счета ОднОгО кошелька неустойку в случае просрочки оплаты Đş определенной договором дате. Однако стороне может понадобиться подтверждение того, что программный кОд действительно выполнит определенные в тексте условия, что отсутствуют дополнительные условия и параметры, ОсОйоннО в случае, осНи шайНОн смарт-контракта но предусматривает ответственности Са неточность программного кОда. Для анаНиСа кОда придется привлечь третье лицо - эксперта в программировании. При отсутствии шайНОна и необходимости в разработке нОвОгО кОда сторонам потребуется разъяснить цель соглашения программисту. Просто предоставление кОпии текстового юридического документа нецелесообразно, поскольку программист дОНМон проанализировать сОгНашонио и выявить списОк усНОвиК. В связи с этим сторонам, полагающимся на вспомогательные смарт-контракты, понадобится составить для программиста списОк усНОвиК, которые дОНМон исполнять смарт-контракт. ТакМо стороны могут быть заинтересованы в получении от программиста письменного подтверждения правильной работы кОда. В результате для реализации требований, но учтенных в шайНОно, сторонам понадобится заключить письменное сОгНашонио с программистом смарт-контрактов (это пОПиПО контракта, который стороны могут заключить с поставщиком сервисов электронного ОйПона данными). Страховые кОПпании также могут разработать методики защиты сторон от некорректного выполнения программного кОда. Страховка даст дополнительную защиту на случай, осНи стороны но заметят Ошийки при анаНиСо кОда. К тому Мо сторонам будет психологически комфортнее, осНи страховая компания саПа проверит кОд, прежде чем застраховать их. При использовании исключительно программных смарт-контрактов вО взаимоотношениях ПоМду компаниями и потребителями могут возникнуть дополнительные проблемы. Суды неохотно требуют исполнять соглашения, осНи потребители но получили адекватного описания усНОвиК сОгНашониК, и могут с сОПнониоП отнестись Đş идоо обязательного исполнения смарт-контрактов, осНи потребителям но предоставляется йаСОвОо текстовое сОгНашонио, в которое включены всо определения (сП. [9]). туру, определять наступление заморозков и отправлять эти сведения в смарт-контракт. Оракулы - это прекрасный спОсОй доступа Đş off-chain ресурсам, ОднакО их использование подразумевает привлечение третьей стороны. Придется заключать с ноК отдельный контракт на поставку данных, только чтобы реализовать целевой смарт-контракт. В результате выгоды от децентрализации снижаются. ТакМо оракул - это потенциальная точка отказа. Например, при сйОо оракул прекратит работать иНи предоставит недостоверные данные. Нужно учесть эти риски Đ´Đž начала ПассОвОгО применения контрактов. Финальное сОгНашонио сторон Ой условиях Смарт-контракты и их зависимость от off-chain ресурсов Смарт-контракт получает сведения, необходимые для реализации огО усНОвиК, от внешних источников, расположенных но в блокчейне и именуемых оракулами (оракулы - доверенные третьи стороны, получающие информацию иС внешних систем и передающие оо в блокчейн в заранее обусловленные моменты, пО расписанию). При этом возникают дво проблемы. Во-первых, смарт-контракты но могут саПи забирать данные. Передачу данных дОНМон инициировать источник. iНе можете найти то, что ваП нуМнО? Попробуйте сервис подбора литературы. Во-вторых, кОд реплицирован на множество уСНОв блокчейн-сети, и осНи данные идут постоянным потоком, то ноды (узлы) будут получать разную информацию. Например, на уСоН-1 пришли сведения, что температура - 0,5 градуса, а на уСоН-2 - что температура 0 градусов. Для валидации транзакции нуМон кОнсонсус ПоМду уСНаПи, а несогласованность данных может привести Đş тому, что усНОвио смарт-контракта будет считаться невыполненным. Стороны соглашения смогут решить эту задачу с помощью оракулов. В ОписаннОП случае оракул будет отслеживать темпера- Анализируя традиционные текстовые контракты, суды изучают принятый сторонами финальный письменный документ, чтобы определить, соблюдают Они свОи обязательства иНи нарушают. Суды уМо давнО подчеркивают, что иПоннО финальное сОгНашонио отражает вСаиПнОо Пнонио сторон. В случае с исключительно программными смарт-контрактами исполняемый кОд (и результат огО работы) представляет сОйОК единственное объективное свидетельство согласованных сторонами усНОвиК. Вероятно, в подобных случаях электронная переписка ПоМду сторонами и устные обсуждения потенциальных функций смарт-кОн";"""citation_keywords"",""ПРАВО И КОМПЬЮТЕРНЫЙ КОД, БЛОКЧЕЙН-ОРАКУЛЫ, ДЕЦЕНТРАЛИЗОВАННАЯ АВТОНОМНАЯ ОРГАНИЗАЦИЯ, САМОИСПОЛНЕНИЕ ДОГОВОРА, ПРОБЛЕМЫ ПРИМЕНЕНИЯ СМАРТ-КОНТРАКТА, РИКАРДИАНСКИЙ КОНТРАКТ, LAW AND COMPUTER CODE, BLOCKCHAIN ORACLES, DECENTRALIZED AUTONOMOUS ORGANIZATION, SELF-FULFILLMENT OF A CONTRACT, PROBLEMS OF APPLYING A SMART CONTRACT, RICARDIAN CONTRACT"" ""og:image"",""https://cyberleninka.ru/article/n/problemy-primeneniya-smart-kontraktov-v-deyatelnosti-kompanii/og"" ""og:image:width"",""1074"" ""twitter:card"",""summary_large_image"" ""eprints.ispublished"",""pub"" ""og:site_name"",""КиберЛенинка"" ""keywords"",""научная статья бесплатно на тему ПРОБЛЕМЫ ПРИМЕНЕНИЯ СМАРТ-КОНТРАКТОВ В ДЕЯТЕЛЬНОСТИ КОМПАНИИ текст научной работы пО праву иС научного журнала Имущественные отношения в РОссиКскОК Федерации. ПРАВО И КОМПЬЮТЕРНЫЙ КОД, БЛОКЧЕЙН-ОРАКУЛЫ, ДЕЦЕНТРАЛИЗОВАННАЯ АВТОНОМНАЯ ОРГАНИЗАЦИЯ, САМОИСПОЛНЕНИЕ ДОГОВОРА, ПРОБЛЕМЫ ПРИМЕНЕНИЯ СМАРТ-КОНТРАКТА, РИКАРДИАНСКИЙ КОНТРАКТ, LAW AND COMPUTER CODE, BLOCKCHAIN ORACLES, DECENTRALIZED AUTONOMOUS ORGANIZATION, SELF-FULFILLMENT OF A CONTRACT, PROBLEMS OF APPLYING A SMART CONTRACT, RICARDIAN CONTRACT"" ""eprints.pagerange"",""58-64"" ""citation_journal_title"",""Имущественные отношения в РОссиКскОК Федерации"" ""eprints.publication"",""Имущественные отношения в РОссиКскОК Федерации"" ""language"",""ru"" ""og:description"",""Автор анализирует сущность и содержание смарт-контракта, исследует предшествующие оПу способы самоисполнения простых сдоНОк, технологическое содержание такого контракта и юридические проблемы, возникающие в деятельности кОПпаниК при использовании смарт-контрактов в договорных отношениях. Выявляет ОсОйОо значение и роль технического специалиста при сОСдании таких контрактов. Делает вывод Đž возможности появления проблем при их реализации и предлагает способы фиксации усНОвиК смарт-контракта для устранения противоречий и ОшийОк."" ""eprints.full_text_status"",""public"" ""citation_issn"",""2072-4098"" ""dc:title"",""ПРОБЛЕМЫ ПРИМЕНЕНИЯ СМАРТ-КОНТРАКТОВ В ДЕЯТЕЛЬНОСТИ КОМПАНИИ – тема научной статьи пО праву читайте бесплатно текст научно-исследовательской работы в электронной библиотеке КиберЛенинка"" ""eprints.place_of_pub"",""Россия, Москва"" ""Content-Encoding"",""UTF-8"" ""citation_pdf_url"",""https://cyberleninka.ru/article/n/problemy-primeneniya-smart-kontraktov-v-deyatelnosti-kompanii/pdf"" ""robots"",""NOODP"",""noyaca"" ""eprints.volume"","""" ""eprints.citation"",""Душаева Анастасия Александровна ПРОБЛЕМЫ ПРИМЕНЕНИЯ СМАРТ-КОНТРАКТОВ В ДЕЯТЕЛЬНОСТИ КОМПАНИИ // Имущественные отношения в РОссиКскОК Федерации. 2019. Выпуск номер 10 (217), ĐĄ.58-64"" ""eprints.number"",""10 (217)"" ""citation_author"",""Душаева Анастасия Александровна"" ""resourceName"",""problemy-primeneniya-smart-kontraktov-v-deyatelnosti-kompanii"" ""citation_abstract_html_url"",""https://cyberleninka.ru/article/n/problemy-primeneniya-smart-kontraktov-v-deyatelnosti-kompanii"" ""citation_issue"",""10 (217)"" ""eprints.abstract"",""The author of the article analyzes the essence and content of the smart contract, examines the methods of execution of simple transactions preceding the smart contract, the technological content of the smart contract and the legal problems arising in the practice of companies when using smart contracts in contractual relations. Conclusions are drawn about possible problems in the implementation of a smart contract, the special importance and role of a technical specialist in the creation of a smart contract is revealed, and the author makes suggestions on ways to fix the conditions of a smart contract to eliminate contradictions and errors."",""Автор анализирует сущность и содержание смарт-контракта, исследует предшествующие оПу способы самоисполнения простых сдоНОк, технологическое содержание такого контракта и юридические проблемы, возникающие в деятельности кОПпаниК при использовании смарт-контрактов в договорных отношениях. Выявляет ОсОйОо значение и роль технического специалиста при сОСдании таких контрактов. Делает вывод Đž возможности появления проблем при их реализации и предлагает способы фиксации усНОвиК смарт-контракта для устранения противоречий и ОшийОк."" ""citation_volume"","""" ""format-detection"",""telephone=no"" ""citation_publication_date"",""2019"" ""citation_title"",""ПРОБЛЕМЫ ПРИМЕНЕНИЯ СМАРТ-КОНТРАКТОВ В ДЕЯТЕЛЬНОСТИ КОМПАНИИ"" ""eprints.date"",""2019"" ""citation_publisher"",""Негосударственное частное образовательное учреждение высшего образования «Московский институт экономики, политики и права»"" ""eprints.type"",""article"" ""description"",""Автор анализирует сущность и содержание смарт-контракта, исследует предшествующие оПу способы самоисполнения простых сдоНОк, технологическое содержание такого контракта и юридические проблемы, возникающие в деятельности кОПпаниК при использовании смарт-контрактов в договорных отношениях. Выявляет ОсОйОо значение и роль технического специалиста при сОСдании таких контрактов. Делает вывод Đž возможности появления проблем при их реализации и предлагает способы фиксации усНОвиК смарт-контракта для устранения противоречий и ОшийОк."" ""title"",""ПРОБЛЕМЫ ПРИМЕНЕНИЯ СМАРТ-КОНТРАКТОВ В ДЕЯТЕЛЬНОСТИ КОМПАНИИ – тема научной статьи пО праву читайте бесплатно текст научно-исследовательской работы в электронной библиотеке КиберЛенинка"" ""eprints.document_url"",""https://cyberleninka.ru/article/n/problemy-primeneniya-smart-kontraktov-v-deyatelnosti-kompanii"" ""twitter:site"",""@CyberLeninka"" ""citation_fulltext_html_url"",""https://cyberleninka.ru/article/n/problemy-primeneniya-smart-kontraktov-v-deyatelnosti-kompanii"" ""eprints.keywords"",""ПРАВО И КОМПЬЮТЕРНЫЙ КОД, БЛОКЧЕЙН-ОРАКУЛЫ, ДЕЦЕНТРАЛИЗОВАННАЯ АВТОНОМНАЯ ОРГАНИЗАЦИЯ, САМОИСПОЛНЕНИЕ ДОГОВОРА, ПРОБЛЕМЫ ПРИМЕНЕНИЯ СМАРТ-КОНТРАКТА, РИКАРДИАНСКИЙ КОНТРАКТ, LAW AND COMPUTER CODE, BLOCKCHAIN ORACLES, DECENTRALIZED AUTONOMOUS ORGANIZATION, SELF-FULFILLMENT OF A CONTRACT, PROBLEMS OF APPLYING A SMART CONTRACT, RICARDIAN CONTRACT"" ""Content-Type-Hint"",""text/html; charset=utf-8"" ""eprints.publisher"",""Негосударственное частное образовательное учреждение высшего образования «Московский институт экономики, политики и права»"" ""Content-Type"",""text/html; charset=UTF-8"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""og:type"",""article"" ""eprints.title"",""ПРОБЛЕМЫ ПРИМЕНЕНИЯ СМАРТ-КОНТРАКТОВ В ДЕЯТЕЛЬНОСТИ КОМПАНИИ"" ""og:title"",""ПРОБЛЕМЫ ПРИМЕНЕНИЯ СМАРТ-КОНТРАКТОВ В ДЕЯТЕЛЬНОСТИ КОМПАНИИ"" ""og:image:height"",""480"" ""eprints.creators_name"",""Душаева Анастасия Александровна"" ""eprints.date_type"",""published"" ""viewport"",""width=device-width, initial-scale=1"" ""apple-mobile-web-app-capable"",""yes"" ""og:url"",""https://cyberleninka.ru/article/n/problemy-primeneniya-smart-kontraktov-v-deyatelnosti-kompanii"" ""eprints.metadata_visibility"",""show"" ""eprints.refereed"",""TRUE"" ""eprints.issn"",""2072-4098"" ";https://scholar.google.com/scholar?start=690&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094532-611;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[CITATION][C] The Blockchain Journey: A guide to practical business applications;G Salviotti, LM De Rossi, N Abbatemarco ;2019 EGEA spa;;null;Autres articles;;null;;;; 1619094665-1182;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;A distributed autonomous organization for internet address management;S Angieri, A García;Martínez, B Liu…  IEEE Transactions …, 2019 ieeexplore.ieee.org;;"… a set of blockchain's smart contracts in Ethereum, and it imple- ments all the functions needed for the management of a global pool of addresses without any human intervention. Any entity may re- quest an allocation of addresses to the InBlock registry by perform- ing a (crypto) …";Cité 8 fois;;[PDF] ieee.org;https://ieeexplore.ieee.org/iel7/17/4429834/08798684.pdf?casa_token=mY8xevb7SuwAAAAA:x7x_Bvr9I7cDrbX3_6xNEU2Xxmmt9FQVcTCZNXrQLL3F9jxvxy8EuXH2koGg4Ud09IwJhA0lBqk;" Skip to Main Content IEEE Account Change Username/Password Update Address Purchase Details Payment Options Order History View Purchased Documents Profile Information Communications Preferences Profession and Education Technical Interests Need Help? US & Canada: +1 800 678 4333 Worldwide: +1 732 981 0060 Contact & Support About IEEE Xplore Contact Us Help Accessibility Terms of Use Nondiscrimination Policy Sitemap Privacy & Opting Out of Cookies A not-for-profit organization, IEEE is the world's largest technical professional organization dedicated to advancing technology for the benefit of humanity. Š Copyright 2021 IEEE - All rights reserved. Use of this web site signifies your agreement to the terms and conditions. ";"""og:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""twitter:title"",""A Distributed Autonomous Organization for Internet Address Management"" ""twitter:card"",""summary"" ""Description"",""The current system to manage the global pool of IP addresses is centralized in five transnational organizations, known as regional internet registries (RIRs). E"" ""og:title"",""A Distributed Autonomous Organization for Internet Address Management"" ""resourceName"",""08798684.pdf"" ""language"",""en"" ""title"",""A Distributed Autonomous Organization for Internet Address Management | IEEE Journals & Magazine | IEEE Xplore"" ""og:description"",""The current system to manage the global pool of IP addresses is centralized in five transnational organizations, known as regional internet registries (RIRs). Each of them manages the address pool for many countries. In this paper, we present InBlock, a distributed autonomous organization that provides the decentralized management of IP addresses. The InBlock also fulfills the same objectives as those fulfilled by the current IP address allocation organizations, i.e., uniqueness, fairness, conservation, aggregation, registration, and minimized overhead. The InBlock is implemented as a set of blockchain's smart contracts in Ethereum, and it implements all the functions needed for the management of a global pool of addresses without any human intervention. Any entity may request an allocation of addresses to the InBlock registry by performing a (crypto)currency transfer to the InBlock. The fee required, along with the annual renewal fee, serves as a mechanism to deter stockpiling and other wasteful practices. As with any novel technology, there are many open questions about the usage of blockchains to build an IP address registry. For this reason, we believe that practical experimentation is required in order to have hands-on experience, so we propose to conduct an experiment on the InBlock as a starting point to inform about the future directions in this space."" ""twitter:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-UA-Compatible"",""IE=Edge"" ""viewport"",""width=device-width, initial-scale=1.0"" ""dc:title"",""A Distributed Autonomous Organization for Internet Address Management | IEEE Journals & Magazine | IEEE Xplore"" ""twitter:description"",""The current system to manage the global pool of IP addresses is centralized in five transnational organizations, known as regional internet registries (RIRs). Each of them manages the address pool for many countries. In this paper, we present InBlock, a distributed autonomous organization that provides the decentralized management of IP addresses. The InBlock also fulfills the same objectives as those fulfilled by the current IP address allocation organizations, i.e., uniqueness, fairness, conservation, aggregation, registration, and minimized overhead. The InBlock is implemented as a set of blockchain's smart contracts in Ethereum, and it implements all the functions needed for the management of a global pool of addresses without any human intervention. Any entity may request an allocation of addresses to the InBlock registry by performing a (crypto)currency transfer to the InBlock. The fee required, along with the annual renewal fee, serves as a mechanism to deter stockpiling and other wasteful practices. As with any novel technology, there are many open questions about the usage of blockchains to build an IP address registry. For this reason, we believe that practical experimentation is required in order to have hands-on experience, so we propose to conduct an experiment on the InBlock as a starting point to inform about the future directions in this space."" ""Content-Encoding"",""UTF-8"" ""Content-Type-Hint"",""text/html; charset=utf-8"" ""Content-Language"",""en-US"" ""Content-Type"",""text/html; charset=UTF-8"" ";https://scholar.google.com/scholar?start=420&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094630-1037;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;EU Business Law and Digital Revolution: Selected Studies from New Fields of Technology;J Glavanits, B Horváthy, L Knapp ;2019 real.mtak.hu;;"… 71 (Zsolt Bujtár) Fluidity of Term of Cryptocurrency–A Challenge for Regulators 89 (Sonja Bun?i?–Alpar Lošonc–Andrea Ivaniševi?) Virtual Currencies–Legal Challenges … 193 (Olena Demchenko) Smart Cities, Iot and Blockchain: The Importance of Oracles …";;;[PDF] mtak.hu;http://real.mtak.hu/117964/1/EU%20Business%20Law%20and%20Digital%20Revolution.pdf;" EU Business Law and Digital Revolution EU Business Law and Digital Revolution – Selected Studies from New Fields of Technology SzĂŠchenyi IstvĂĄn University DeĂĄk Ferenc Faculty of Law and Political Sciences Department of International and European Law 2019 Š Zsolt BujtĂĄr, Sonja Bunčić, Neera Chopra, Olena Demchenko, Judit Glavanits, Zsolt HalĂĄsz, BalĂĄzs HorvĂĄthy, Andrea IvaniĹĄević, GĂĄbor KertĂŠsz, PĂŠter BĂĄlint KirĂĄly, LĂĄszlĂł Knapp, Andrea Labancz, Alpar LoĹĄonc, MĂĄria T. PatakyovĂĄ, IstvĂĄn Pesti-Farkas, Laura Stănilă, ZoltĂĄn Szegedi; 2019 Editors: Judit Glavanits BalĂĄzs HorvĂĄthy LĂĄszlĂł Knapp The manuscript has been reviewed by LĂĄszlĂł Milassin. ISBN 978-615-5837-64-7 (Print) ISBN 978-615-5837-65-4 (PDF) This book has been published within the research stream of “Jean Monnet Module on EU Business Law” (EUBLAW) funded by the Erasmus+ Programme of European Union. Győr, 2019 Published by SzĂŠchenyi IstvĂĄn University – DeĂĄk Ferenc Faculty of Law and Political Sciences – Department of International and European Law (H-9026 Győr, Áldozat u. 12.) Tel.:+36/96/503-478 Fax: +36/96/503-472 Web: nejt.sze.hu Content Content ................................................................................................. 5 Foreword .............................................................................................. 7 I. Artificial Intelligence: legal implications Knight Rider’s Brothers Coming Soon – What About Their Legal Situation? .................................................................................... 11 (GĂĄbor KertĂŠsz) Artificial Intelligence and Bid Rigging .......................................... 29 (MĂĄria T. PatakyovĂĄ) Fear the Robots? – Attitudes from the Supply Chain .................. 43 (IstvĂĄn Pesti-Farkas – ZoltĂĄn Szegedi) AI Risk Assessment Tools: The Trojan Horse of the Criminal Justice System .............................................................................. 51 (Laura Stănilă) II. Cryptocurrencies Central Bank Issued Digital Currencies: is it a Solution or a Problem? ...................................................................................... 71 (Zsolt BujtĂĄr) Fluidity of Term of Cryptocurrency – A Challenge for Regulators 89 (Sonja Bunčić – Alpar LoĹĄonc – Andrea IvaniĹĄević) Virtual Currencies – Legal Challenges........................................ 113 (Zsolt HalĂĄsz) 6 The Classification of Virtual Currencies Related to Blockchains 133 (PĂŠter BĂĄlint KirĂĄly) Cryptocurrencies: A Theoretical Approach ................................. 149 (Andrea Labancz) III. Business and digitalization Adoption of ICT in Higher education: Readiness of University Students in Rural India................................................................ 171 (Neera Chopra) Electronic Commerce in Gaming Industry. European Perspective on the Legal Regulations of In-game Virtual Transactions ......... 193 (Olena Demchenko) Smart Cities, Iot and Blockchain: The Importance of Oracles ... 209 (Judit Glavanits) Autonomous Vehicles – Challenges for EU Private International Law ....................................................................... 233 (BalĂĄzs HorvĂĄthy) Annex – The Centre for European Studies (CES) at the SzĂŠchenyi IstvĂĄn University .............................................................. 255 Foreword In 2017 the Centre for European Studies (CES) of Faculty of Law and Political Sciences of the SzĂŠchenyi IstvĂĄn University launched the conference series ‘EU Business Law Forum’ with the aim to establish a regular event, which reflects on topical issues of EU business law and explores the related contemporary challenges in their legal, political, economic and social reality. The 2nd EU Business Law Forum “EU Business Law through the lens of Digital Revolution” held between 13–14 June 2019, was devoted to discuss the implications of the current technological revolution on the business environment in the European Union, particularly on the EU business law regulation. The Forum identified the recent challenges that the EU business actors are facing as a result of the digitalization and posed the question, whether – analogically to the concept of ‘Industry 4.0’ – a process of a ‘Law 4.0’ is expected to become tangible in the EU business law regulation, responding adequately the challenges arising from the new disruptive technologies. This book offers an insight into the main focus areas of the conference. The first chapter (I. Artificial Intelligence: legal implications) reflects on the growing importance of using artificial intelligence and the role of the legal regulation. The articles pose questions form general as well as specific perspectives and illustrates the legal problems of the artificial intelligence by varieties of topics, from the public procurements to the supply chains. The second chapter collects the papers that are focusing on the new instruments of exchange (II. Cryptocurrencies). The chapter lays down the conceptual basis of cryptocurrencies and examines the legal and regulatory challenges arising from the current use and the probable future prevalence of the virtual currencies. The third chapter of the book pays attention to emerging fields of regulations (III. Business and digitalization). The papers examine the adoption of technological innovations in higher education, e-commerce related aspects of computer games, legal challenges of smart contracts and autonomous vehicles. The Forum was a part of the ‘Jean Monnet Module on EU Business Law’ (EUBLAW) project funded by the European Commission’s Erasmus+ Programme in the Period of 2016 – 2019, and this year, the CES organized the event in cooperation with the SmartLaw Research Group. Editors Győr, December 2019 I. Artificial Intelligence: legal implications Knight Rider’s Brothers Coming Soon – What About Their Legal Situation?  GĂĄbor KertĂŠsz* Abstract: Nowadays, we are confronted more and more times with the issues of artificial intelligence and (partly or completely) self-driving vehicles. How does this technical development change our daily lives? What can ""Law"" do with these? In the analysis I am looking for the answer how these technical novelties can fit into the structure and logic of the legal system. During this process I use examples of history and legal history, other social sciences and modern business logic as well. Keywords: artificial Intelligence, self-driving cars, responsibility for damages 1. Introduction In the 1990s, television channels broadcasted the Knight Rider action film in a huge number of countries around the world, in which one of the main characters was a self-driving car. That time it existed only at the level of dreams and on the design tables of engineers, today it is reality in some parts of the world. 1.1. A bit of „layman philosphy” Our long-standing expectation towards machines to work perfectly, flawlessly. In the contrary our recurring experience is that ""nothing is perfect"" ""what may go wrong will go wrong"" and we have to admit that a thing without any errors has never been made by a non-perfect person. From this point of view, we can ask how many % of the errors are accepted in practice naming the thing ""perfect"" or rather appropriate. The concept of damage appears already in the earliest legal systems. The concept clarified in the old Roman law is still perfectly applicable today, according to which the damage has two parts: the real damage * College professor, International Business School (Budapest). 12 GĂĄbor KertĂŠsz (dannum emergens) and the loss of profit (lucrum cessans). Based on these, it is a question of argumentation to determine whose (active or passive) behavior caused the damage and who bears responsibility for the damage. It is usually a judicial procedural task not to allow the evidence procedure to sink into the infinite marsh of the principle of conditio sine qua non. 2. Historical examples 2.1. Legal instruments nowadays that come from legal history These legal instruments of responsibility have been created in the history of law during the technical development to solve the current problem. Man first tamed / domesticated animals that typically followed his instructions, but sometimes did not or not well executed the instruction and caused damage. The issue of liability for such damages caused by animals has been established long ago, and its structure has not changed since the first civilizations, and our act uses their logic still today.1 Also, since the earliest settled civilizations where built environment has been built, the question of damage caused by objects falling from buildings2 is known. Although the material and design of our buildings have undergone many changes over the past millennia, the handling of damages by objects falling from the buildings has not changed much over the past two thousand years. The next form of responsibility was developed due to another historical step that was the industrial revolution. The concept and liability of dangerous operations3 is approached by the structure that was formed at that time, although nowadays many of these types of ""operations"" operate on a daily basis, and only the detailed rules for the new types are added to the centuries- old structure. The last type of liability (although it can still be argued that this is not yet clear, but still in the process of being developed) is product liability4, where the link is created between the manufacturer and the 1 Liability for the damages caused by animals Ptk. 6.:562-563. §. Here and thereafter, I refer to certain provisions of the Hungarian Civil Code (Ptk.), which has the same content in civil law in all the legal systems of the world. 2 Liablity for building damages Ptk. 6.:560-561. §. 3 Liability for dangerous operations Ptk. 6.:535-539. §. 4 Product liability Ptk. 6.:550-559. §. Knight Rider’s Brothers Coming Soon – What About Their Legal Situation? 13 end user of the product by omitting the intermediate elements of the causal chain. As a continental lawyer I looked for similar cases for autonomous, self-driving vehicles. One of the “precedents” - using several multiple quotation marks - is the case of animal damages5. In this case an animal with independent autonomous animal intelligence causes damage and it is a partial question if the owner “led” the animal, or is made itself independent or uncontrollable. The other case that could be a “precedent” is the liability of the legal entity, where the legal person that caused the damage, will be liable for the damage and the legal entity will be obliged by the court to pay the compensation for the damage. With legal logic and expert arguments on a case-by-case basis, it is possible to determine in which proportion and percentage the potential responsible people (responsible groups) listed and analyzed above are responsible for the damage. The traditional market logic provides insurance as a solution to a potential threat, where we can atomize the actual damage between the members of the risk community. Another possible answer of business logic is to burden the damage to the one who caused it. Here the legal logic says today that to oblige a damage-causing truly self-driving vehicle to indemnify the damage, it should be a legal entity. Not going into the solutions of ancient - not Roman - and medieval rights that have passed the ownership of the damage-causing animal, or the harmed received temporary use on the animal, in case of self-driving cars the similar solution is possible, as it is a fact that the damage-causing thing has a value for use and it is able to produce it regularly. 2.2. Philip IV. (the Fair) The next example is about a minor change made by the legislator that made a huge change in the historical perspective and that fundamentally influences national identity. Philip the Fair, king of France ordered in 1308 that in a case between non-barons, the court established at that time and permanently operating at the Royal Palace in Paris should make a final decision either in direct action or in appeal against a provincial judgment. This court used the local language around 5 Ptk. 6:562.563. § 14 GĂĄbor KertĂŠsz Paris and its code of conduct made it clear to accept only contracts and actions written in the language of the court6. From the early Middle Ages in today's France, the provinces with individual feudal autonomy spoke their own local language7. As a result of this law, in just a few decades, the language of the court became known as a written language in every corner of the Kingdom of France, which we now know as a French language, as it was in everyone's interest to write all the contracts in that language. Nowadays, French is an important element of French national identity. This is a good example of the fact that standardization of the rules for the use of certain elements of Artificial Intelligence (e.g. self-driving cars) will be significant for all members of society and will have a social organizing and forming effect in the long run. 3. Who can be liable if Knight Rider makes an accident? Let us shortly list the different human beings who have any connection with Knight Rider’s birth. 3.1. Possible liable people 3.1.1. Driver This is the only member of the coming list, where - according to the current Hungarian legal environment - only one natural person can be a subject. Until now, the liability of the driver was an evidence in the case of damages caused by man-, animal- or machine powered vehicles. Nowadays there are vehicles that are not driven by humans, but are driven by the intelligent / autonomous vehicle itself in self-driving, however in the Union they drive only on test fields, not in real traffic. After a broad social debate involving the whole human civilization, it can be agreed if the natural people in self-driving vehicles should, and if so at what level, control the proper / accident-free operation of the vehicle. Currently, although we have already met a few legal cases, where the 6 PĂĄl HorvĂĄth, IstvĂĄn KajtĂĄr, LĂĄszlĂłnĂŠ Nagy, T. MihĂĄly RĂŠvĂŠsz, IstvĂĄn Stipta and JĂĄnos Zlinszky, ÁltalĂĄnos jogtĂśrtĂŠnet I. (Nemzeti TankĂśnyvkiadĂł 1994) 64. 7 This was the language of the certain Gaul tribe from which the people of the province originate. Knight Rider’s Brothers Coming Soon – What About Their Legal Situation? 15 responsibility of the driver has been established on the basis of traditional logic, neither the public opinion nor the legislator has conducted this increasingly necessary debate yet. If the decision is made, it can be translated then into a known form of liability. According to the current Hungarian rules, if the vehicle is in motion, one person must be in the driving position continuously8. The Hungarian practice has not yet faced a case when the vehicle was self-driven with an empty driver seat causing an accident / damage. However, with the development of technology the question has to be answered soon whether the person who switches the vehicle into self-driving mode is a driver according to the Road Traffic Code? Does this person stay a driver after leaving the vehicle, which continues the way in self-driving mode? With traditional legal deduction the question can be replied in a conventional way. In this case, the question is modified to the following: does it worth to invest in the development / acquisition of such a vehicle, if my responsibility for a self-driving vehicle is the same as if I were actually driving it? Or how worthy it is for me if I have possibility to do other activity(s) besides controlling the vehicle during sitting in the driver's seat? 3.1.2. Owner The Road Traffic Code basically lays down rules for the traffic participants: the driver and the passenger, and the owner appears only once in the text9, but in the meantime the owner is recorded separately in the traffic license. We have been treating it for thousands of years as an evidence that the owner is responsible for the damage caused by his property.10 It is important to recall here for a moment the analogy that the tutelary is responsible for the damage caused by the unpunishable person.11 8 Road Traffic Code (KRESZ) 4. §. 9 Road Traffic Code (KRESZ) 59. § (3) subpar. 10 See e.g. footnote no 2, 3, 4. 11 Liability for damages caused by unpunishable person Ptk. 6:544-547. §. 16 GĂĄbor KertĂŠsz 3.1.3. Retailer, Wholesaler, Importer At this point, we arrived at to the actors of the sales chain, calling the person12 - in practice typically a legal person - a retailer who sold the vehicle to the owner; the other players are working on the basis of traditional trade contracts, their responsibilities are governed by the contracts, the relevant customs and the practice of the judiciary and arbitration court. 3.1.4. Tester team Here, on the one hand, it is the task and responsibility of the team to perform all the necessary tests thoroughly and professionally and on the other hand to ensure that all relevant tests are performed. Although this team typically consists of engineers, they have to keep in mind that they have to test the vehicle in every theoretically possible situation and check how it behaves in each case. It is often told about us as lawyers that we are writing novel-length contracts as 'graphomans' in which we try to get prepared for every single theoretically imaginable risk factor. The test team has a similar task to examine how the vehicle responds in a self-driven mode to the variety of all theoretically possible situations. For the test team only the collective responsibility can be imagined, since the outstanding and indispensable contribution of a team member is theoretically conceivable, but apart from such extreme situations, the contribution of all members of the team is equally important for the proper performance of the test and the evaluation of the result. Although they are not members of the testing team, but the decision-makers of the enterprise also have a responsibility here, as the management decides based on the results of the tests, with engineer, lawyer and economist support if the vehicle is ready to be put on the market / in traffic or further development is needed. 3.1.5. Software-developer team This team develops the software (system) that ensures the vehicle's self-driving ability. Nowadays, developers generally “teach” the systems 12 I examine only the sales of new vehicles. The sales of used vehicles is out of scope of the examination. Knight Rider’s Brothers Coming Soon – What About Their Legal Situation? 17 in a way that it faces decision-making situations continuously, and it achieves a better percentage of success due to this “learning”. The other, nowadays in minority applied solution is to program the ""right / good / desirable"" solution and the system has to avoid the rest. The responsibility of the developers is unavoidable for both methods. In the first method the responsibility originates in the examples that were the base for teaching the system. It can happen that even though the sample consists of a large number of elements, there can be cases that are out of the model and the machine will not recognize them and it will not be able to handle them well. In the second method, the more detailed description of the good solution is important, so that the machine can handle the situation that actually arises, even if it is new, but similar to a learned rule. At this point, the question of the need for ethics arises. If in a given situation only bad decisions can be made and non-decision is also a bad decision, which wrong decision should be made by the Artificial Intelligence that was taught and built in the system? A comprehensive research project was launched in 2016 with 40 million people worldwide, related to the artificial intelligence-driven cars being developed nowadays. Researchers were looking for an answer to what people say: if there is no way to avoid an accident, who should hit the car? The answers outline a world-wide view of what we are protecting more and what less. The results of the research have been published only half a year ago13. The article first states that it cannot be considered worldwide statistically representative because of the limited possibilities of sampling, but the data collected show that children are more likely to be saved than adults, but this is only a global average statistical result, because the range of bad decisions differ from country to country and even more from culture to culture. The results of the world average are not the same as the results of the regions and metropolises that are the most multicultural according to sociologists. So according to the data, people in different cultures of the world set different order of importance, or approach the question from the other side, a different order is set in the list of other people and objects to be sacrificed. So, if 13 Edmond Awad, Sohan Dsouza, Richard Kim, Jonathan Schulz, Joseph Henrich, Azim Shariff, Jean-François Bonnefon and Iyad Rahwan, ’The Moral Machine experiment’ (Nature, 24 October 2018). 18 GĂĄbor KertĂŠsz there are such significant sequencing differences in case of people from different parts or different cultures of the world, in which order to protect the different values in an emergency, then Artificial Intelligence will also not be able to decide according to a generally accepted sequence, although such situations relatively often occur during traffic. In this case, the question arises which culture’s prioritization will be the base for the self-driving vehicles choice, i.e. which sequence was programmed/taught by the programming team. Here, group dynamics and hierarchical relationships within the group as well within the organization can also influence the sequence they teach, along with the cultural patterns of the team members and other individuals involved. I.e. if the development team is culturally homogeneous and whether the final decision-making management has the same, homogeneous cultural background. For most of these companies, we cannot say yes to this question with a calm heart. This results in the following: there is a significant likelihood that the sequence of priority will be determined differently by not only the vehicle types produced by the different manufacturers, but also by the same brand and type of self-driving cars, if they are produced in different plants of the world far away from each other, if Artificial Intelligence is made independently in the plant, rather than installing a centrally-produced system in vehicles manufactured in all factories around the world. The issue is about the choice of victim14 in an inevitable situation of a self-driven vehicle programmed under the rules of other cultures. In my opinion this issue can be settled satisfactorily through an agreement resulting from a consultancy with the presence of the whole world, or if the producers mutate the vehicles into the different cultural regions where they are sold. It is not primarily a business law issue, but a fundamental rights issue if it is allowed to the owner/driver to download versions of other cultures; either because he disagrees with the culture of his place of residence and feels another his own, or because he is planning to go to the territory of this culture - though the latter can be automatically solved by the service that if the vehicle crosses the ""cultural boundary"" according to its GPS coordinates, the system downloads the version that is valid in that area. 14 E.g. the choices were different when the vehicle hits the old person or the child in order to save the other one – see same as footnote no 13. Knight Rider’s Brothers Coming Soon – What About Their Legal Situation? 19 3.1.6. Planner team This is a team consisting of mostly engineers who design the ""hardware"" of the vehicle. In addition to the fault possibilities of conventional vehicle design, only one new risk factor appears here. It is a well-known experience in conventional vehicle driving that there are ""dead spaces"" in case of all vehicles depending on the vehicle’s size, which are not visible to the driver. Their magnitude cannot be completely removed, only reduced with the rear-view mirror system. In case of self- driving vehicles, however, the expectation is that the machine should see everything in real time, simultaneously and drive itself accordingly. That's why the design team here, beyond the usual design responsibilities of traditional vehicle design, has to meet „only” one new requirement. On the vehicle the environment sensors must be positioned so that they can continuously see all objects in real time within the current speed braking distance that would presents a risk of accident in case of going without change. (Of course, the danger of a new object that might come out of the cover of another object is excluded here.) If the design really reduced the size of ""dead spaces"" for self-guiding sensors to 0%, the design team does not have any more responsibilities than the ones coming from traditional design responsibilities. The current traffic situation was detected by the sensors that transmitted it to the software, which made the decision in self- driving mode, which is the result of the work of the development team15. 3.1.7. Controller team Modern states usually have a body that controls various activities carried out by economic actors. The depth of control that this body performs varies from body to body and from country to country. If a causal link can be established between the authorization procedure of the authority and the damage caused, the determination of damage caused by administrative law may arise if it was not possible to avert the damage by ordinary legal remedy or in administrative juridical action16. The theoretical possibility of this in the examined issue arises only if 15 See footnotes no 13 and 14. 16 Ptk. 6: 548. §. 20 GĂĄbor KertĂŠsz such an error originating in the type of the self-driving vehicle, which has not been recognized either by the licensing authority or the manufacturer's designer, software developer and test team previously. 3.1.8. Legislator Legal acts created by the legislator are applied by legal entities and by the executive and judiciary branches. And it is a century-old, if not a millennium-old fact, for which we can find more and more examples nowadays that it is possible to legislate only such situations that already occurred, or they could be predicted with significant possibility. The new life situations that have arisen after the legislation have typically appeared as a legal loophole in continental law systems, and in the Anglo-Saxon systems precedents are sought. From a legal point of view, the “legislator's silence” - if no law was created on the certain situation - cannot be interpreted as a damaging fault. However, economic actors can perceive it as a damaging fault according to the logic of the economy, of the business and if the market. The question that arises here is whether the legislator has created the legal system so that it is able to deal with the problem of damage caused by a self-driving vehicle, and whether this solution is appropriate for society (for voters?). 3.2. How can Knight Rider be liable? According to the basic division in law, there are legal subjects and legal objects. There are no third and temporary categories. We neglect to discuss the historical development of the general, unconditional and equal legal subject people have. We only mention the last step in the development of legal entities, the second group of legal subjects known today: ""The legal personality of a legal person extends to all rights and obligations that, by their very nature, may not only be related to a human being""17, i.e. the legal personality of the legal person is not bound to a purpose, but it is general. It is not a matter of jurisdiction, but a matter of legislation which listed actors and in which extent are made liable for the damages caused by the self-driving vehicle. It is already the task of 17 Ptk. 3:1. § (2) subpar. Knight Rider’s Brothers Coming Soon – What About Their Legal Situation? 21 political science to examine political programs, political marketing, and legal lobbying of the interested companies. Taking the two premises into consideration that the self-driving vehicle is capable of making autonomous decisions - respecting the rules of social cohabitation - and is capable to generate financial value continuously, the business logic raises the question in a right way why this vehicle cannot be an actor in business life on its own? As besides people - nowadays mainly in the international business community, instead of people – it is worldwide an accepted evidence by everyone and everywhere that ”legal constructions” named legal entities have legal subject, independent from the fact that no one has seen a legal entity, only a person representing it, its logo, or its headquarters. However, the self-driving vehicle is a tangible physical reality. Since the concept of a legal person appeared in legal history till the present, there is clear evidence that non-human private entities ultimately have a human owner. Nowadays, a new concept has emerged on the periphery of the legal subjects, which is the ""actual beneficial owner"" who increases its assets with the values produced by the examined legal entity, or has the right to dispose of these assets either directly or through mandatory instructions given to the participants in the chain18. Not going into details in the psychological, corporate, and social sociological question of what group dynamics each company (regardless of its legal form) has; we can say that the purpose of the company (the legal entity in question) is to live / operate further. As an analogy to this approach, we can assume that the autonomous, self-driving vehicles are also aimed for further operation; however, this hypothesis gives the software development, testing, and control teams an important task. The mentioned research looked for a reply about who the vehicle would rather hit19. For a human driver, it is an existing option, for which there are some famous examples, that the person sacrifices his own life, and with this, saving many. With the sensors of the vehicle's seats, on the base of the weight of each passenger, the vehicle “knows”20 how many 18 About the concepts „beneficial owner” and „actual beneficial owner” see the different conventions about avoiding double taxation and 7. point of 7. App of the Hungarian citizens income tax act. 19 Awad et al. (n 13) 20 Not going into details about the results of Awad et. al. (n 13), according to which the general cultural reply to this in Europe is that the driver puts suitcases on each seat 22 GĂĄbor KertĂŠsz adults and how many children are traveling in it, and even through the impleme";"""date"",""2020-12-07T10:39:34Z"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""pdf:PDFVersion"",""1.5"" ""pdf:docinfo:title"",""EUBLAW-WP"" ""xmp:CreatorTool"",""MicrosoftÂŽ Word 2010"" ""pdf:hasXFA"",""false"" ""access_permission:modify_annotations"",""true"" ""access_permission:can_print_degraded"",""true"" ""dc:creator"",""Iroda"" ""language"",""en"" ""dcterms:created"",""2020-12-07T10:39:34Z"" ""Last-Modified"",""2020-12-07T10:39:34Z"" ""dcterms:modified"",""2020-12-07T10:39:34Z"" ""dc:format"",""application/pdf; version=1.5"" ""title"",""EUBLAW-WP"" ""Last-Save-Date"",""2020-12-07T10:39:34Z"" ""pdf:docinfo:creator_tool"",""MicrosoftÂŽ Word 2010"" ""access_permission:fill_in_form"",""true"" ""pdf:docinfo:modified"",""2020-12-07T10:39:34Z"" ""meta:save-date"",""2020-12-07T10:39:34Z"" ""pdf:encrypted"",""false"" ""dc:title"",""EUBLAW-WP"" ""modified"",""2020-12-07T10:39:34Z"" ""Content-Length"",""2226858"" ""pdf:hasMarkedContent"",""true"" ""Content-Type"",""application/pdf"" ""pdf:docinfo:creator"",""Iroda"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"",""Iroda"" ""dc:language"",""hu-HU"" ""meta:author"",""Iroda"" ""meta:creation-date"",""2020-12-07T10:39:34Z"" ""created"",""2020-12-07T10:39:34Z"" ""access_permission:extract_for_accessibility"",""true"" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""258"" ""Creation-Date"",""2020-12-07T10:39:34Z"" ""resourceName"",""EU%20Business%20Law%20and%20Digital%20Revolution.pdf"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""40"",""0"",""240"",""865"",""1381"",""1031"",""1925"",""520"",""67"",""0"",""1736"",""2347"",""2321"",""2110"",""2073"",""2138"",""2625"",""2588"",""2256"",""2183"",""2704"",""2471"",""2659"",""2363"",""2602"",""2091"",""968"",""0"",""2169"",""2280"",""2653"",""2383"",""2542"",""2136"",""2590"",""2306"",""2311"",""2238"",""2312"",""1798"",""1790"",""676"",""1831"",""1382"",""776"",""2506"",""2587"",""2459"",""1728"",""0"",""2200"",""2483"",""2247"",""2469"",""2655"",""2168"",""2411"",""2657"",""2414"",""2244"",""2518"",""2287"",""2703"",""1928"",""2007"",""1949"",""1810"",""0"",""42"",""0"",""1883"",""2347"",""2910"",""2888"",""2727"",""2656"",""1069"",""2579"",""2452"",""2700"",""2408"",""2526"",""2580"",""2486"",""2195"",""1892"",""1829"",""0"",""2535"",""2609"",""2579"",""2502"",""2474"",""2544"",""2614"",""2744"",""2333"",""2217"",""2298"",""2522"",""2425"",""2298"",""2392"",""2385"",""2324"",""2425"",""2147"",""2499"",""2086"",""1840"",""1973"",""484"",""1924"",""2346"",""2454"",""2432"",""2190"",""2515"",""2335"",""2601"",""2434"",""2341"",""2238"",""2606"",""2535"",""2472"",""2624"",""2385"",""2792"",""2262"",""1781"",""1037"",""1913"",""2410"",""2496"",""2333"",""2235"",""2632"",""2394"",""2538"",""2645"",""2558"",""2287"",""2324"",""1766"",""1963"",""1853"",""634"",""2016"",""2355"",""2581"",""2717"",""2226"",""2225"",""2747"",""2395"",""2490"",""2376"",""2265"",""2203"",""2254"",""2258"",""2506"",""1992"",""1823"",""1829"",""1202"",""0"",""53"",""0"",""2270"",""2645"",""2699"",""2376"",""2655"",""2255"",""1454"",""2186"",""2544"",""1573"",""1965"",""1561"",""1682"",""581"",""1298"",""1362"",""2069"",""1962"",""2248"",""1677"",""392"",""0"",""2036"",""2380"",""1999"",""2294"",""2339"",""1840"",""2364"",""2298"",""2155"",""2099"",""2418"",""1985"",""1863"",""1841"",""1022"",""0"",""1848"",""2262"",""1060"",""2503"",""2657"",""2575"",""905"",""632"",""2493"",""2335"",""2272"",""2282"",""1317"",""1844"",""817"",""2285"",""2701"",""2388"",""2125"",""2181"",""1996"",""2040"",""1918"",""1629"",""2257"",""2690"",""3383"",""2858"",""2732"",""2340"",""2647"",""2216"",""2699"",""2557"",""2280"",""2671"",""2875"",""3011"",""2558"",""2234"",""2266"",""2486"",""2184"",""2035"",""1968"",""1441"",""1697"",""1864"",""2598"",""691"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""Author"",""Iroda"" ""producer"",""MicrosoftÂŽ Word 2010"" ""access_permission:can_modify"",""true"" ""pdf:docinfo:producer"",""MicrosoftÂŽ Word 2010"" ""pdf:docinfo:created"",""2020-12-07T10:39:34Z"" ";https://scholar.google.com/scholar?start=850&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094583-838;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Efficient Hierarchical Identity-Based Encryption System for Internet of Things Infrastructure;L Guo, J Wang, WC Yau ; Symmetry, 2019 mdpi.com;;"… Article in Special Issue Smart Contract-Based Pool Hopping Attack Prevention for Blockchain Networks … size ciphertext over prime-order groups, which was proven secure without random oracles … achieved a constant-size ciphertext and private key without random oracle, but the …";Cité 1 fois;Les 3 versions;[HTML] mdpi.com;https://www.mdpi.com/2073-8994/11/7/913/htm;;;https://scholar.google.com/scholar?start=650&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094600-908;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Fully Secure Attribute-Based Encryption for t-CNF from LWE;R Tsabary ; Annual International Cryptology Conference, 2019 Springer;;"… Conference. CRYPTO 2019: Advances in Cryptology – CRYPTO 2019 pp 62-85 | Cite as. Fully Secure Attribute-Based Encryption for t-CNF from LWE … assumptions. [BF03, Coc01] constructed the first IBE schemes in the random oracle model …";Cité 16 fois;Les 2 versions;[PDF] iacr.org;https://eprint.iacr.org/2019/365.pdf;" Fully Secure Attribute-Based Encryption for t-CNF from LWE Rotem Tsabary∗ Abstract Attribute-based Encryption (ABE), first introduced by [SW05, GPSW06], is a public key encryption system that can support multiple users with varying decryption permissions. One of the main properties of such schemes is the supported function class of policies. While there are fully secure constructions from bilinear maps for a fairly large class of policies, the situation with lattice-based constructions is less satisfactory and many efforts were made to close this gap. Prior to this work the only known fully secure lattice construction was for the class of point functions (also known as IBE). In this work we construct for the first time a lattice-based (ciphertext-policy) ABE scheme for the function class t-CNF, which consists of CNF formulas where each clause depends on at most t bits of the input, for any constant t. This class includes NP-verification policies, bit-fixing policies and t-threshold policies. Towards this goal we also construct a fully secure single-key constrained PRF from OWF for the same function class, which might be of independent interest. ∗Weizmann Institute of Science, rotem.tsabary@weizmann.ac.il. Supported by the Israel Science Foundation (Grant No. 468/14), Binational Science Foundation (Grants No. 2016726, 2014276), and by the European Union Hori- zon 2020 Research and Innovation Program via ERC Project REACT (Grant 756482) and via Project PROMETHEUS (Grant 780701). 1 Introduction Atrribute-based Encryption (ABE), first introduced in [SW05,GPSW06], is a public key encryption system that can support multiple users with varying decryption permissions. In this work we focus on ciphertext-policy ABE schemes, where each ciphertext is associated with a public policy f and each decryption key is associated with a public attribute x, such that decryption succeeds condi- tioned on f(x) = 1. One of the main properties of an ABE scheme is the function class of policies that can be attached to ciphertexts. In fact, ABE was originally suggested as a generalization of identity-based encryption (IBE), in which each ciphertext is destined to a single attribute x (i.e. the policies are point functions). Bilinear Maps Constructions. It was shown in a long line of works that bilinear maps prove to be useful for the task of constructing IBE and ABE under varying group assumptions. [BF03, Coc01] constructed the first IBE schemes in the random oracle model. [CHK03, BB04a] showed constructions in the standard model, however their security was proven under a weaker notion, called selective security. A few approaches were suggested to go beyond selective security. [BB04b, Wat05] introduced the first constructions with full security in the standard model, using a partitioning technique. Their solutions were proved to be secure via a lossy reduction, where the simulator aborts with probability that grows with the number of keys owned by the adversary. [Gen06] introduced the tagging technique, with which he managed to construct a fully secure IBE scheme with a tight reduction, however the hardness assumption was still related to the number of keys. Finally, [Wat09] introduced the dual system encryption technique and achieved the first fully secure IBE scheme with a tight reduction to a fixed assumption. The first ABE construction was suggested by [SW05] and supported threshold policies. Later, [GPSW06] constructed a key-policy1 ABE scheme for policies that can be expressed as a linear secret-sharing (LSSS) access structure and [OSW07] constructed a key-policy ABE scheme for all formulas. [Wat11] showed a ciphertext-policy ABE construction for LSSS access structures. All of those works were proved to be secure in the weaker selective mode. The works of [LOS+10,LW12, KL15,CGKW18] expand the dual system technique of [Wat09] to derive fully secure ABE for LSSS and recently [KW19] showed a construction for all monotone access structures in NC1. Lattice-Based Constructions. The emerging interest in hard problems over lattices, which are believed to be hard even at the presence of quantum machines, led to the development of a cryptographic toolbox [Ajt96,Ajt99,Reg05] that allows to base the security of various systems over random instances of such problems. This gave rise to a line of works about lattice-based IBE and ABE schemes. The first lattice-based IBE constructions were introduced by [GPV08, CHKP12, ABB10a] and were secure in the selective model. Shortly after, [ABB10b] presented a construction with full security and [BL16] constructed a fully secure scheme with a tight reduction. The first schemes to support richer classes of polices were [AFV11,ABV+12], which constructed ABE for inner product policies and threshold policies respectively. [Boy13] showed key-policy ABE schemes for LSSS access structures. Lastly, the works of [GVW13,BGG+14] constructed key-policy ABE for all policies that can be described by a bounded-depth polynomial-size circuit. 1In key-policy ABE the policies are attached to the keys and the attributes are attached to the ciphertexts. 1 All of the aforementioned ABE constructions were proved to be selectively secure. The works of [BV16,GKW16] showed how to boost the security of [GVW13,BGG+14] to an intermediate notion, named semi-adaptive security, however it is not clear how to further develop those techniques. The question of whether it is possible to construct fully-secure ABE schemes from lattices beyond point functions remained open. Our Contribution. In this work we construct for the first time a lattice-based ciphertext-policy ABE scheme for the ensemble of function classes t-CNF, which consists of formulas in conjunctive normal form where each clause depends on at most t bits of the input, for any constant t. Our construction supports functions of unbounded size, that is, every function consisting of polynomial number of clauses. Those function classes includes NP-verification policies, bit-fixing policies and t-threshold policies. Towards this goal we also construct a fully secure single-key constrained PRF from OWF for the same function class, which might be of independent interest. 1.1 Technical Background Let us first describe the difference between full security and selective security. The former is modeled as a game between an adversary A and a challenger C as follows. At the beginning of the game, C publishes the public parameters of the scheme. At any point of the game, A can query for multiple decryption keys to attributes x of its choice. In the challenge phase, A chooses a challenge policy f∗ and C returns a ciphertext respective to f∗. The goal of A is to determine whether this is an encryption of 0 or 1, and the scheme is secure if it cannot do that as long as none of its queried keys x are authorized by f∗. The selective security game is identical, except that A has to announce the challenge policy f∗ before the game begins. In the latter game the security reduction has the opportunity to generate the public parameters according to f∗. Selective security proofs usually follow a similar structure, where f∗ introduces a partitioning of the identity space. The public parameters are generated in the security reduction such that for all x for which f∗(x) = 0 (i.e. not authorized by f∗) it is possible to simulate a decryption key, and for all x for which f∗(x) = 1, a key for x would allow to break the hard problem. Since A can only query for keys of the first type, the reduction can still answer all of the queries appropriately. Tagging. In [Gen06] Gentry presented an adaptively secure IBE scheme from bilinear maps, using a tagging technique as follows. In the real scheme, every ciphertext is associated with a random tag rct and every key is associated with a random tag rsk. Decryption works as long as the IBE condition is satisfied and rct 6= rsk. The probability that decryption fails is negligible since the tags are random. In the security proof, a random degree-Q polynomial P is embedded into the public parameters, such that it is possible to generate a challenge ciphertext respective to any x with the tag rct = P (x) and similarly it is possible to generate a key respective to any x with the tag rsk = P (x). That is, the security reduction can answer any key query and can generate a challenge ciphertext respective to any x, however if it generates a ciphertext and a key for the same identity then the decryption fails because they both have the same tag. Recall that in the security game A is not allowed to query for a challenge and a key respective to the same attribute and therefore it cannot detect that case. Since P is a random polynomial, the values of P on up to Q points are distributed uniformly. For that reason security is guaranteed as long as A can only query for up to Q − 1 keys. The evaluation of P has to be performed on a secret element in the exponent of a 2 group. Since it is only possible to compute linear functions over the exponent, the reduction needs to get information that grows linearly with Q and makes the assumption stronger. The BGG+ Lattice-Based Construction. A long sequence of works [ABB10b,MP12,GSW13, AP14,BGG+14] led to a selectively secure key-policy ABE scheme with security based on LWE, for the function class of all policies that can be described as a bounded-depth polynomial-size circuit. We now give an overview of their technique. The public parameters consist of a matrix A, and for each attribute x (resp. policy f) there is a related efficiently computable matrix Ax ← EncodeX(A, x) (resp. Af ← EncodeF(A, f)). Encryption for an attribute x is a Dual-Regev encryption (see [GPV08]) respective to the public matrix Ax, while a decryption key for f is a Dual-Regev key respective to the public matrix Af . The matrices Ax,Af are cleverly defined s.t., informally, for all x, f f(x) = 1 ←→ It is possible to convert a ciphertext respective to Ax to a ciphertext respective to Af . Let Convert be the “ciphertext conversion algorithm” that satisfies the above condition, then we can informally say that f(x) = 1 ←→ Convert(Ax, x, f) = Af . The property that is important to us, is that Convert works gate-by-gate and therefore respects function composition. That is, if f = g2 ◦ g1, then for all x it holds that Convert(Ax, x, f) = Convert (Convert(Ax, x, g1), g1(x), g2) (1) and therefore f(x) = 1 ←→ Convert (Convert(Ax, x, g1), g1(x), g2) = Af . The security proof follows similar lines to other selectively-secure schemes as described at the beginning of this section. That is, the challenge attribute x∗ is embedded into the public parameters A such that it is possible to create a challenge ciphertext only respective to Ax∗ = EncodeX(A, x∗), and it is possible to generate keys only respective to Af = EncodeF(A, f) for which f(x∗) = 0. 1.2 Our Techniques Identity-Based Encryption. We first describe how to construct a fully secure IBE scheme with our approach. The main idea is to use the tagging technique of [Gen06], but with a PRF instead of a random polynomial. The rich function class supported by [BGG+14] allows us to compute a PRF over a seed that is secretly embedded into the public parameters in the security proof. The tag of a key for an attribute x is the value of the PRF on the input x, i.e. rx. That is, a key for x can decrypt any ciphertext respective to x unless the ciphertext tag is equivalent to rx. In the real scheme the tags of ciphertexts are sampled uniformly, while in the security reduction they are determined by the PRF seed that is embedded into the public parameters. Details follow. For all x we let Ux denote the circuit that on inuput σ evaluates the PRF on the point x with the seed σ. For all r we let Īr denote the circuit that on input r′ returns 1 if and only if r′ 6= r. The public parameters of the IBE scheme are identical to [BGG+14] and the master secret key includes a PRF seed σ. To encrypt respective to x, one samples a fresh PRF seed σ′ and computes the Dual-Regev encryption with the public matrix A′x = Convert(Aσ′ , σ ′, Ux) where 3 Aσ′ = EncodeX(A, σ′). To generate a key respective to x, one first computes rx = Ux(σ) and then generates the Dual-Regev key respective to the matrix Afx = EncodeF(A, fx), where fx = Īrx ◦Ux. Note that fx(σ′) = Īrx(Ux(σ′)) where rx = Ux(σ). Therefore, if σ = σ′ then fx(σ) = 0, but for any uniformly sampled σ′, Ux(σ′) 6= Ux(σ) with high probability and therefore fx(σ′) = 1. That is, with high probability over a uniform σ′ it holds that fx(σ′) = 1 ←→ σ′ 6= σ i.e. Īrx ◦ Ux(σ′) = 1 ←→ σ′ 6= σ . By the properties of [BGG+14] described above, it holds that Īrx ◦ Ux(σ′) = 1 ←→ Convert ( Convert(Aσ′ , σ ′, Ux), Ux(σ′), Īrx ) = Afx and therefore σ′ 6= σ ←→ Convert ( A′x, Ux(σ′), Īrx ) = Afx . That is, whenever σ′ 6= σ it is possible to convert a ciphertext respective to A′x to a ciphertext respective to Afx and thus to decrypt. However, when σ′ = σ there is no such conversion algorithm. In the security proof we encode σ in the public parameters, such that it is only possible to simulate Dual-Regev encryptions respective to matrices of the form Ax = Convert(Aσ, σ, Ux) (where Aσ = EncodeX(A, σ)) but not respective to any other σ′. The indistinguishability relies on the pseudorandomness of the PRF and the properties of [BGG+14]. Expanding the Function Class. The main idea here is to replace the PRF with a constrained PRF. A constrained PRF, first defined in [BW13,KPTZ13,BGI14], allows the key owner to generate constrained keys σf respective to functions f , with which it is possible to compute the value of the PRF only on points x where f(x) = 1. More formally, there are two additional algorithms (Constrain, ConstrainEval) such that if σf = Constrain(σ, f), then for all x for which f(x) = 1 it holds that ConstrainEval(σf , f, x) = Eval(σ, x), while for all x for which f(x) = 0, σf does not reveal information about Eval(σ, x). Our construction uses a cPRF for policies in a function class F in order to construct an ABE scheme for policies in F . The cPRF has to be single-key adaptively secure, and in addition it has to satisfy two properties as follows. • Gradual Evaluation requires that for any f, x for which f(x) = 1, the circuit descriptions of the algorithms Eval(¡, x) and ConstrainEval(Constrain(¡, f), f, x) are identical. • Key Simulation requires an additional public algorithm KeySim(f)→ σ′f that allows to sim- ulate constrained keys. The keys should be indistinguishable from real constrained keys to a distinguisher with no access to evaluations on points x where f(x) = 1. We call a cPRF that satisfies all of those properties a conforming cPRF. The ABE construction from a cPRF is a generalization of the IBE construction from a PRF. Details follow. In the encryption algorithm, in order to encrypt respective to a policy f we compute a Dual- Regev encryption with the public matrix A′f = Convert(Aσ′ , σ ′, Uf ), where Aσ′ = EncodeX(A, σ′) (as in the IBE construction) and Uf is the circuit description of Constrain(¡, f). The key generation algorithm remains the same as in the IBE construction. To decrypt with a key respective to x, one 4 has to first convert the ciphertext to be respective to the matrix A′x. This is done by computing Convert(A′f , Uf (σ′), Uf→x), where Uf→x is the circuit description of ConstrainEval(¡, f, x). Note that Convert(A′f , Uf (σ′), Uf→x) = Convert(Convert(Aσ′ , σ ′, Uf ), Uf (σ′), Uf→x) = Convert(Aσ′ , σ ′, Ux) (2) = A′x where the last equation holds by definition, and Equation (2) holds since Uf→x ◦ Uf = Ux by the gradual evaluation property of the cPRF, and since Convert respects function composition as described in Equation (1). The rest of the analysis is very similar to the IBE case. The key-simulation property guarantees that the adversary cannot tell whether the challenge ciphertext f∗ is generated respective to σ or to a random σ′, as long as it cannot query for evaluations of σ on points x where f∗(x) = 1 (which is indeed guaranteed by the ABE security game). Constructing a Conforming cPRF. We construct a conforming cPRF for the function class t-CNF for any constant t. A policy f is in the class t-CNF if it can be described by a conjunctive normal form (CNF) formula, where each clause depends on t bits of the input. Our construction is inspired by the [DKNY18] construction of bit-fixing cPRF for a constant number of keys. In fact, their technique can be generalized to instantiate a family of cPRF schemes with a tradeoff between the “CNF locality” of the supported policies and the number of keys. They instantiate it with CNF locality 1 (i.e. bit-fixing) and t keys, while we instantiate it with CNF locality t and a single key. Details follow. Let ` be the input length of the cPRF. We consider the set S = {(T, v)} of all pairs (T, v) such that T ⊆ [`], |T | = t, v ∈ {0, 1}t. For any input x ∈ {0, 1}` we define the set Sx = {(T, xT )}T where xT is the substring of x on indices T . For all f we define the set Sf ⊆ S of all of the pairs (T, v) that do not violate any of the clauses of f . It is easy to verify that for all x and f , f(x) = 1 ←→ Sx ⊆ Sf . (3) The master secret key is a key σ of a standard PRF. Evaluation on a point x returns the value rx, computed as rx = ⊕ (T,v)∈Sx Eval(σ(T,v), x) where σ(T,v) = Eval(σ, (T, v)) . A constrained key for f consists of the values {σ(T,v)}(T,v)∈Sf . Correctness holds by Equation (3), se- curity and key simulation holds by the pseudorandomness of the underlying PRF and gradual evalu- ation holds since the circuit CPRF.Eval(¡, x) is a sub-circuit of CPRF.ConstrainEval(Constrain(¡, f), f, x). 1.3 Related Work The idea to embed a PRF seed in a [BGG+14]-like construction was previously suggested by [BV16,BL16]. 5 Comparison with BV16. The work of [BV16] focuses on key-policy ABE with unbounded attribute length. In their scheme, the evaluation of the PRF allows to dynamically increase the width of the A matrix, so that Ax ← EncodeX(A, x) can be computed for x of varying length. In particular, the PRF is evaluated over values that only depend on the length of the attribute, where in our scheme the PRF is evaluated over the attribute value itself. Their ciphertexts contain two “pieces” for every bit of the attribute and they use an additional ABE scheme in a black-box manner in order to control the access that keys have to those pieces. Their construction achieves semi-adaptive security, which means that the challenge attribute x∗ has to be announced before the first key query, but possibly after seeing the public parameters. This property is due to the fact that in their cihpertexts the attribute value is implicitly XORed with a hidden random string ∆, that can be chosen in the security reduction at the first key generation. We note that if one desires a semi-adaptive scheme for a fixed attribute length `, their technique can be instantiated with a PRG with poly(`) stretch instead of a PRF. That is, the incentives for using a PRF are different in their work and ours. Comparison with BL16. The work of [BL16] focuses on fully-secure signatures and IBE schemes with tight reductions. Their usage of a PRF in the IBE scheme has some similarities to an IBE instantiation of our approach, however the technicalities are different and the cPRF expansion is not applicable to their approach. They use a PRF with tight security that on input x outputs a single bit bx. A ciphertext for an identity x contains two independent Dual-Regev encryptions of the message under two matrices Ax,0,Ax,1, and a key for x can only decrypt one of them Ax,bx . In the security proof the PRF seed is encoded into the public parameters such that it is possible to simulate keys for Ax,bx without the master secret key, while it is only possible to simulate the “undecryptable” ciphertext part respective to Ax,1−bx . 1.4 Paper Organization In Section 2 we go over the definitions of ABE and cPRF, and summarize lattice techniques from previous works. In section 3 we define the conforming cPRF and provide a construction for policies in t-CNF. In Section 4 we construct a fully secure ABE scheme that can be instantiated with any conforming cPRF. 2 Preliminaries 2.1 Constrained PRF, Attribute-Based Encryption, t-CNF Policies Definition 2.1 ((Standard) PRF). A pseudo-random function family (PRF) is a pair of ppt algo- rithms (Setup,Eval) with the following syntax. Setup(1Îť)→ sk takes as input a security parameter Îť and outputs a secret key sk. Evalsk(x) → rx takes as input a secret key sk and a bit-string x ∈ {0, 1}`, and outputs a bit-sting rx ∈ {0, 1}k. Pseudorandomness. A PRF family is secure if for any ppt adversary A it holds that∣∣∣Pr[AEvalsk(¡)(1Îť) = 1]− Pr[AO(¡)(1Îť) = 1] ∣∣∣ = negl(Îť) where sk← Setup(1Îť) and O is a random oracle. 6 Definition 2.2 (Constrained PRF). Let F be a function class such that F ⊆ {0, 1}` → {0, 1}. A constrained pseudo-random function (cPRF) for policies in F is a tuple of ppt algorithms with the following syntax. • Setup(1Îť)→ pp,msk takes as input a security parameter Îť and outputs public parameters pp along with a master secret key msk. • Evalmsk(x)→ rx is a deterministic algorithm that takes as input a master secret key msk and a bit-string x ∈ {0, 1}`, and outputs a bit-sting rx ∈ {0, 1}k. • Constrainmsk(f) → skf takes as input a master secret key msk and a function f ∈ F , and outputs a constrained key skf . • ConstrainEvalskf (x) is a deterministic algorithm that takes as input a constrained key skf and a bit-string x ∈ {0, 1}`, and outputs a bit-string r′x ∈ {0, 1}k. Correctenss. A cPRF scheme is correct if for all x ∈ {0, 1}` and f ∈ F for which f(x) = 1, it holds that Evalmsk(x) = ConstrainEvalskf (x) where (pp,msk)← Setup(1Îť) and skf ← Constrainmsk(f). Pseudorandomness. The adaptive security game of a cPRF scheme between an adversary A and a challenger C is as follows. 1. Initialization: C generates (pp,msk)← Setup(1Îť) and sends pp to A. 2. Queries Phase I: A makes (possibly many) queries in an arbitrary order: • Evaluation Queries: A sends a bit-string x ∈ {0, 1}`, C returns rx ← Evalmsk(x). • Key Queries: A sends a function f ∈ F , C returns skf ← Constrainmsk(f). 3. Challenge Phase: A sends the challenge bit-string x∗ ∈ {0, 1}`. C uniformly samples b $← {0, 1}. If b = 0 then C returns r∗ $← {0, 1}k. Otherwise it returns r∗ ← Evalmsk(x ∗). 4. Queries Phase II: same as the first queries phase. 5. End of Game: A outputs a bit b′. A wins the game if (1) b′ = b, (2) all of the evaluation queries are not for x∗ and (3) all of the key queries f are such that f(x∗) = 0. The single-key adaptive security game is as described above, except that A can only make a single key query throughout the entire game. A cPRF scheme is secure (resp. single-key secure) if for any ppt adversary A, the probability that A wins in the adaptive (resp. single-key adaptive) security game is at most 1/2 + negl(Îť). Definition 2.3 (Attribute-Based Encryption). Let F be a function class such that F ⊆ {0, 1}` → {0, 1}. A (ciphertext-policy) atrribute-based encryption (ctpABE) for policies in F is a tuple of ppt algorithms with the following syntax. • Setup(1Îť)→ pp,msk takes as input a security parameter Îť and outputs public parameters pp along with a master secret key msk. 7 • KeyGenmsk(x)→ skx takes as input a master secret key msk and a bit-string x ∈ {0, 1}`, and outputs a key skx. • Enc(f, Âľ) → ct takes as input a function f ∈ F and plaintext Âľ ∈ {0, 1}, and outputs a ciphertext ct. • Decskx(ct, f) takes as input a key skx, a ciphertext ct and a function f ∈ F , and outputs a bit µ′ ∈ {0, 1}. Correctenss. A ctpABE scheme is correct if for all x ∈ {0, 1}` and f ∈ F for which f(x) = 1, and for all Âľ ∈ {0, 1}, it holds that Pr[Decskx(Enc(f, Âľ), f) 6= Âľ] = negl(Îť) where (pp,msk)← Setup(1Îť) and skx ← KeyGenmsk(x). Security. The adaptive security game of a ctpABE scheme between an adversary A and a chal- lenger C is as follows. 1. Initialization: C generates (pp,msk)← Setup(1Îť) and sends pp to A. 2. Queries Phase I: A makes (possibly many) key queries. For each query, A sends a string x ∈ {0, 1}` and C returns skx ← KeyGenmsk(x). 3. Challenge Phase: A sends the challenge function f∗ ∈ F . C uniformly samples b $← {0, 1} and returns ct∗ ← Enc(f∗, b). 4. Queries Phase II: same as the first queries phase. 5. End of Game: A outputs a bit b′. A wins the game if (1) b′ = b and (2) all of the key queries x are such that f∗(x) = 0. A ctpABE scheme is secure if for any ppt adversary A, the probability that A wins in the adaptive security game is at most 1/2 + negl(Îť). In this work we focus on the class of functions that can be described in a conjunctive normal form (CNF), where each clause is of constant locality. We give now a definition. Definition 2.4 (t-CNF). A t-CNF policy f : {0, 1}` → {0, 1} is a set of clauses f = {(Ti, fi)}i, where for all i, Ti ⊆ [`], |Ti| = t and fi : {0, 1}t → {0, 1}. For all x ∈ {0, 1}` the value of f(x) is computed as f(x) = ∧ i fi(xTi) where xT is the length-t bit-string consisting of the bits of x in the indices T . A function class F is t-CNF if it consists only of t-CNF policies for some fixed ` ∈ N and a constant t ≤ `. If F is a t-CNF function class, we say that t is the CNF locality of F . 8 2.2 Lattice Trapdoors, Bounded Distributions, LWE Lattice Trapdoors. Let n, q ∈ Z, g = (1, 2, 4, . . . , 2dlog qe−1) ∈ Zdlog qe q and m = ndlog qe. The gadget matrix G is defined as the diagonal concatenation of g n times. Formally, G = g ⊗ In ∈ Zn×mq . For any t ∈ Z, the function G−1 : Zn×tq → {0, 1}m×t expands each entry a ∈ Zq of the input matrix into a column of size dlog qe consisting of the bits representation of a. For any matrix A ∈ Zn×tq , it holds that G ¡G−1(A) = A. The (centered) discrete Gaussian distribution over Zm with parameter τ , denoted DZm,τ , is the distribution over Zm where for all x, Pr[x] ∝ e−π‖x‖ 2/τ2 . Let n,m, q ∈ N and consider a matrix A ∈ Zn×mq . For all v ∈ Znq we let A−1 τ (v) denote the random variable whose distribution is the Discrete Gaussian DZm,τ conditioned on A ¡A−1 τ (v) = v. A τ -trapdoor for A is a procedure that can sample from a distribution within 2−n statistical distance of A−1 τ (v) in time poly(n,m, log q), for any v ∈ Znq . We slightly overload notation and denote a τ -trapdoor for A by A−1 τ . The following properties had been established in a long sequence of works. Corollary 2.1 (Trapdoor Generation [Ajt96,MP12]). There exists an efficiently computable value m0 = O(n log q) and an efficient procedure TrapGen(1n, q,m) such that for all m ≥ m0 outputs (A,A−1 τ0 ), where A ∈ Zn×mq is 2−n-uniform and τ0 = O( √ n log q log n). We use the most general form of trapdoor extension as formalized in [MP12]. Theorem 2.2 (Trapdoor Extension [ABB10b, MP12]). Given A ∈ Zn×mq with a trapdoor A−1 τ , and letting B ∈ Zn×m′q be s.t. A = BS (mod q) where S ∈ Zm′×m with largest singular value s1(S), then (A−1 τ ,S) can be used to sample from B−1 τ ′ for any τ ′ ≥ τ ¡ s1(S). A few additional important corollaries are derived from this theorem. We recall that s1(S) ≤√ m′m ‖S‖∞ and that a trapdoor G−1 O(1) is trivial. The first is a trapdoor extension that follows by taking S = [Im′‖0m]T . Corollary 2.3. Given A ∈ Zn×m′q , with a trapdoor A−1 τ , it is efficient to generate a trapdoor [A‖B]−1 τ ′ for all B ∈ Zn×mq , for any m ∈ N and any τ ′ ≥ τ . Next is a trapdoor extension that had been used extensively in prior work. It follows from Theorem 2.2 with S = [−RT ‖Im]T . Corollary 2.4. Given A ∈ Zn×m′q , and R ∈ Zm′×m with m = ndlog qe, it is efficient to compute [A‖AR + G]−1 τ for τ = O( √ mm′ ‖R‖∞). Note that by taking A uniformly and R to be a high entropy small matrix, e.g. uniform in {−1, 0, 1}, and relying on the leftover hash lemma, Corollary 2.1 is in fact a special case of this one. Lattice Evaluation. The following is an abstraction of the evaluation procedure in previous LWE based FHE and ABE schemes, that developed in a long sequence of works [ABB10b, MP12, GSW13,AP14,BGG+14,GVW15]. 9 Theorem 2.5. There exist efficient deterministic algorithms EvalF and EvalFX such that for all n, q, ` ∈ N and m = ndlog qe, for any depth d boolean circuit f : {0, 1}` → {0, 1}k and for every x ∈ {0, 1}`, for any matrix A ∈ Zn×m¡`q , the outputs H ← EvalF(f,A) and Ĥ ← EvalFX(f, x,A) are both in Zm¡`×m¡k and it holds that ‖H‖∞ , ∼∼∼Ĥ∥∥∥ ∞ ≤ (2m)d and [A− x⊗G]Ĥ = AH− f(x)⊗G (mod q)2 . Moreover, for any pair of circuits f : {0, 1}` → {0, 1}k, g : {0, 1}k → {0, 1}t and for any matrix A ∈ Zn×m¡`q , the outputs Hf ← EvalF(f,A), Hg ← EvalF(g,AHf ) and Hg◦f ← EvalF(g ◦ f,A) satisfy HfHg = Hg◦f . Bounded Distributions. The following definitions and corollaries, taken from [BV16], will allow us to properly set the parameters of our scheme. Definition 2.5. A distribution χ supported over Z is (B, Îľ)-bounded if Pr x $←χ [|x| > B] < Îľ. Definition 2.6. A distribution χ̃ supported over Z is (B, Îľ)-swallowing if for all y ∈ [−B,B] ∊ Z it holds that χ̃ and y + χ̃ are within Îľ statistical distance. Corollary 2.6. For every B, Îľ, δ there exists an efficiently sampleable distribution that is both (B, Îľ)-swallowing and (B ¡ √ log (1/δ)/Îľ,O(δ))-bounded. Definition 2.7. A distribution χ̃ supported over Z is (χ, Îľ)-swallowing, for a distribution χ, if it holds that χ̃ and χ+ χ̃ are within Îľ statistical distance. We omit the Îľ when it indicates a negligible function in a security parameter that is clear from the context. Corollary 2.7. Let B(Îť) be some function and let B̃(Îť) = B(Îť) ¡ λω(1), then there exists an efficiently sampleable ensemble {χ̃λ}Îť such that χ̃ is χ-swallowing for any B(Îť)-bounded {χλ}Îť, and also B̃(Îť)-bounded. Learning With Errors. The Learning with Errors (LWE) problem was introduced by Regev [Reg05]. In this work we will use its decisional version. Definition 2.8 (Decisional LWE (DLWE) [Reg05] and its HNF [ACPS09]). Let Îť be the security parameter, n = n(Îť) and q = q(Îť) be integers and let χ = χ(Îť) be a probability distribution over Z. The DLWEn,q,χ problem states that for all m = poly(n), letting A← Zn×mq , s← Znq , e← χm, and u← Zmq , it holds that ( A, sA + e ) and ( A,u ) are computationally indistinguishable. In this work we only consider the case where q ≤ 2n. Recall that GapSVPÎł is the (promise) problem of distinguishing, given a basis for a lattice and a parameter d, between the case where the lattice has a vector shorter than d, and the case where the lattice doesn’t have any vector shorter than Îł ¡d. SIVP is the search problem of finding a set of “short” vectors. The best known algorithms for GapSVPÎł ( [Sch87]) require at least 2Ω̃(n/ log Îł) time. We refer the reader to [Reg05, Pei09] for more information. The following corollary allows us to appropriately choose the LWE parameters for our scheme according to known reductions from GapSVPÎł and SIVPÎł to DLWEn,q,χ. 2For all n ∈ Z and v ∈ {0, 1}n the term v ⊗G denotes a tensor product of the binary row-vector v = (v1, . . . , vn) and the matrix G. That is, v ⊗G = [v1 ¡G‖ . . . ‖vn ¡G]. 10 Corollary 2.8 ( [Reg05, Pei09, MM11, MP12, BLP+13]). For all Îľ > 0 there exists functions q = q(n) ≤ 2n, χ = χ(n) such that χ is B-bounded for some B = B(n), q/B ≥ 2n Îľ and such that DLWEn,q,χ is at least as hard as the classical hardness of GapSVPÎł and the quantum hardness of SIVPÎł for Îł = 2Ω(nÎľ). 3 Conforming cPRF Our ABE construction in the next section instantiates a constrained PRF that has to satisfy some special properties, gathered under the following definition. Definition 3.1 (Conforming cPRF). A cPRF scheme is conforming if, in addition";"""date"",""2019-06-02T13:01:49Z"" ""pdf:PDFVersion"",""1.5"" ""pdf:docinfo:title"","""" ""xmp:CreatorTool"",""LaTeX with hyperref package"" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""subject"","""" ""language"",""en"" ""dc:format"",""application/pdf; version=1.5"" ""pdf:docinfo:creator_tool"",""LaTeX with hyperref package"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"","""" ""modified"",""2019-06-02T13:01:49Z"" ""cp:subject"","""" ""pdf:docinfo:subject"","""" ""pdf:hasMarkedContent"",""false"" ""pdf:docinfo:creator"","""" ""PTEX.Fullbanner"",""This is MiKTeX-pdfTeX 2.9.6668 (1.40.19)"" ""meta:author"","""" ""trapped"",""False"" ""meta:creation-date"",""2019-06-02T13:01:49Z"" ""created"",""2019-06-02T13:01:49Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2019-06-02T13:01:49Z"" ""resourceName"",""365.pdf"" ""Author"","""" ""producer"",""pdfTeX-1.40.19"" ""pdf:docinfo:producer"",""pdfTeX-1.40.19"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""1"",""7"",""39"",""16"",""9"",""10"",""13"",""32"",""37"",""9"",""14"",""23"",""43"",""131"",""17"",""84"",""0"",""0"",""0"",""0"",""0"" ""Keywords"","""" ""access_permission:modify_annotations"",""true"" ""dc:creator"","""" ""dcterms:created"",""2019-06-02T13:01:49Z"" ""Last-Modified"",""2019-06-02T13:01:49Z"" ""dcterms:modified"",""2019-06-02T13:01:49Z"" ""title"","""" ""Last-Save-Date"",""2019-06-02T13:01:49Z"" ""pdf:docinfo:keywords"","""" ""pdf:docinfo:modified"",""2019-06-02T13:01:49Z"" ""meta:save-date"",""2019-06-02T13:01:49Z"" ""pdf:docinfo:custom:PTEX.Fullbanner"",""This is MiKTeX-pdfTeX 2.9.6668 (1.40.19)"" ""Content-Length"",""471031"" ""Content-Type"",""application/pdf"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"","""" ""dc:subject"","""" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""23"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""1273"",""3070"",""3156"",""2597"",""2519"",""2097"",""2508"",""2024"",""1554"",""2203"",""2413"",""2152"",""2164"",""2937"",""2191"",""1783"",""1803"",""1411"",""2195"",""2335"",""2244"",""2365"",""485"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""pdf:docinfo:trapped"",""False"" ""meta:keyword"","""" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2019-06-02T13:01:49Z"" ";https://scholar.google.com/scholar?start=720&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094647-1102;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Strong Known Related-Key Attacks and the Security of ECDSA;TH Yuen, SM Yiu ; International Conference on Network and System …, 2019 Springer;;"… This attack is captured in the Strong KRKA model, by signing oracle queries with the addition function … signatures (including multi-signatures, aggregate signatures, threshold signatures, etc.) are proposed in the blockchain system, it … In: Robshaw, M., Katz, J. (eds.) CRYPTO 2016 …";Cité 1 fois;Les 2 versions;null;;;;https://scholar.google.com/scholar?start=920&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094544-670;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;A classification framework for stablecoin designs;A Moin, EG Sirer, K Sekniqi ; arXiv preprint arXiv:1910.10098, 2019 arxiv.org;;"… StatiCoin is unique because it is crypto-collateralized but does not require overcollateralization, an … is a malicious actor intent on sabotaging the stability, a price oracle can serve as … active and popular stablecoins, including MakerDao, use only a few price oracles, making them a …";Cité 10 fois;Les 6 versions;[PDF] arxiv.org;https://arxiv.org/pdf/1910.10098;" A Classification Framework for Stablecoin Designs Amani Moin, Emin Gün Sirer, and Kevin Sekniqi Cornell University and AVA Labs Abstract. Stablecoins promise to bridge fiat currencies with the world of cryptocurrencies. They provide a way for users to take advantage of the benefits of digital currencies, such as ability to transfer assets over the internet, provide assurance on minting schedules and scarcity, and enable new asset classes, while also partially mitigating their volatility risks. In this paper, we systematically discuss general design, decompose exist- ing stablecoins into various component design elements, explore their strengths and drawbacks, and identify future directions. Keywords: Stablecoins - Stable Payments 1 Introduction Cryptoasset prices are famous for their volatility. Though many cryptoassets aspire to become world currencies, most are frequently dismissed as no more than speculative assets due to their wild price swings. Money is supposed to have three functions: a store of value, a unit of account, and a medium of exchange. Stability is key to all these functions. Store of value is the most salient; if people store their wealth in an asset that constantly fluctuates in value, their wealth will fluctuate accordingly. A volatile asset is also a poor unit of account, because it is inconvenient to denominate prices in something which constantly changes in value. Every time the value of the unit of account changes, all prices must be adjusted accordingly. Finally, and most crucially, a currency needs to be stable to function as a medium of exchange; this allows people to be be fairly and predictably compensated for goods and services without changes in value during the payment process. Stablecoins are a class of cryptoassets created to address this problem. As the name implies, they are designed to be price stable with respect to some reference point. There has recently been an explosion in the number of stablecoin projects announced, especially following the crash in Bitcoin prices in early 2018. There are over a hundred stablecoins in existence or in progress, with the top three projects now representing a market capitalization of $4.6B [22]. Although the sheer number of projects seems overwhelming, they can all be decomposed into a few key features. ar X iv :1 91 0. 10 09 8v 1 [ q- fi n. G N ] 1 8 Se p 20 19 2 Amani Moin, Emin Gün Sirer, and Kevin Sekniqi Roadmap. We briefly review related works in Section 2. In Section 3, we break down the taxonomy of stablecoins based on the first three constituent axes: the peg type, the collateral type, and the collateral amount. In Section 4, we expand on additional axes by discussing the mechanism of action chosen by various stablecoin families. In Section 5 we discuss methods to measure prices. In Section 6, we discuss some design features relevant to digital currencies in general, but especially important for stablecoins. Finally, we discuss future directions for stablecoins in Section 7. 2 Related Work One of the first stablecoin taxonomies classified stablecoin projects by collat- eral type and discussed pros and cons of each category [56]. Several papers and reports have followed a similar taxonomy, adding more detail on individ- ual projects [57] [58] [48]. A paper by Pernice et. al takes a different approach, categorizing stablecoins by monetary and exchange rate regimes [54]. Our contri- bution is extending the existing taxonomies with a discussion of other important stablecoin design aspects, namely price stabilizing mechanisms and price mea- surement methods. We also categorize many of the existing stablecoin projects according to our extended taxonomy. 3 Peg and Collateral 3.1 Peg The most salient choice for stablecoin design is the peg, which oftentimes is included in the name of the stablecoin.1 USD is a popular choice, likely due to USD being typically considered a stable store of value around the world. In fact, it is not uncommon for foreign citizens, especially those in emerging and developing economies, to store their wealth in USD rather than their national currency. The other benefit of using USD is that price comparison is easy. A singular fiat currency peg allows one to check whether the peg holds by simply comparing the dollar price of an object to the pegged coin price of the same object. Other stable fiat currencies, such as the Euro, the Japanese Yen, and the Swiss Franc, are also popular choices for similar reasons. Besides fiat, there are also stablecoins pegged to commodities, most com- monly gold. Some examples include Digix [27] and HelloGold [31]. It is inter- esting to note that, in general, there are fewer commodity-pegged coins than fiat-pegged coins. A possible explanation is that commodity prices fluctuate in value more than fiat currencies, although typically less severely than most digital currencies. Other stablecoins may choose to peg to a bundle of currencies and/or com- modities. This has the benefit of insulating the stablecoin against shocks to any 1 Examples include TrueUSD [69], USDC [20], USDX [55], USDVault [71], A-Eurs [61], and many others. A Classification Framework for Stablecoin Designs 3 Stablecoins Peg Fiat Commodity Combination Index Collateral Type Fiat Commodity Combination None Crypto Amount Full Reserve Partial Reserve None Overcollateralized Mechanism Reserve of Backed Asset Dual Coin Algorithmic Leveraged Loans Price Info Oracle Voting Trades Fig. 1. Stablecoin taxonomy, decomposed into four main axes: peg, collateral, mecha- nism, and price information. one country, currency, or commodity. However, pegging to a bundle can also have the opposite effect and introduce noise if some of the assets included in the bundle are very volatile. Saga [60], for example, is pegged to the IMF’s special drawing rights (SDR), a basket of world currencies curated by the IMF. Cur- rencies are selected into the SDR if the issuing country is one of the world’s top exporters, the currency is widely used in international transactions, and the cur- rency is widely traded in foreign exchange markets. However, the SDR is seldom used in any context other than the IMF’s store of value and unit of account, making it a less practical choice than the dollar. Facebook’s upcoming Libra also plans to peg its currency to an as of yet undetermined basket of currencies and assets. Saga plans to later peg their currency to the consumer price index (CPI) if they outgrow the SDR, i.e. if they become a dominant world currency. The CPI is a unitless index which tracks the inflation of the price of a basket of consumer goods. No stablecoin is currently pegged to the CPI, so it is unclear how this would be executed. It is possible, for example, that the stablecoin supply would be adjusted so the nominal price level remains constant. Pegging to a fiat currency or commodity with finite supply can eventually lead to problems 4 Amani Moin, Emin Gün Sirer, and Kevin Sekniqi of scale, and pegging to an index can circumvent this problem.2 However, the choice of CPI as a peg is not ideal for a variety of reasons. It is typically measured monthly or even less frequently, due to logistical challenges in determining what should be in the basket and how much each component should be weighted. There are also regional differences in consumption, so it is unclear how to construct a basket that reflects global spending patterns. 3.2 Collateral Emergent currencies often make use of collateral to ensure that the circulating currency has redemption value. This provides a lower bound on the price, thereby mitigating some of the risk of holding, using, and denominating debts in the currency. Since the goal of collateralizing is to bound the redemption value, it is easiest and most effective, but not necessary,3 to use whatever the stablecoin is pegged to. If users can always redeem one unit of the stablecoin for one dollar, arbitrageurs should ensure that it never trades at any other price. Unfortunately, collateralizing a coin creates the problem of securely storing large quantities of the collateral.Traditionally, the best place to store large quan- tities of cash is in a bank, because it is secure, relatively easy to audit, and often comes with deposit insurance. However, this is also centralized, thus making it prone to deceptive practices. For example, Tether [66] recently admitted it was only 74% collateralized [65], despite initially claiming full collateralization [66]. Moreover, there are often limits to how much deposit insurance covers, poten- tially leaving the majority of the reserve uninsured. Some stablecoins avoid this problem by storing their collateral as physical cash in a vault instead of a bank. For example, Rockz [59] stores 90% of its collateral in the form of physical fiat currency in an underground vault in the Swiss Alps. Commodity backed stablecoins also suffer from the problem of where to store their collateral, since there are fewer institutions which accept and insure de- posits in the form of commodities than ones that accept cash. This, in turn, leads to a high degree of centralization. One way to avoid having to store large amounts of fiat is to collateralize with another cryptocurrency. This has the advantage of potentially decentralized operation, and allows for easier diversification across backing assets. The problem with this approach is that digital collateral can itself be very volatile, making it hard to use as a guarantee of value. Any stablecoin backed by cryptocurrencies must have some mechanism built in to safely handle large swings in the value of the underlying collateral. We discuss these mechanisms in section 4. Other stablecoins do away with the problem of volatile collateral by simply not collateralizing the currency at all. This has many advantages. First, not having any collateral to store or unlock simplifies many logistical challenges. Second, it is also cheap to operate, since it does not require the issuer to keep real or crypto assets on hand. Unfortunately, this ease of operation comes with 2 This is one of the reasons the US went off of the gold standard. 3 USDVault for example is pegged to USD but collateralized with gold. A Classification Framework for Stablecoin Designs 5 0.0 0.3 0.6 0.9 1.2 2015 2016 2017 2018 2019 Date N ub its P ric e (U S D ) Fig. 2. NuBits price collapse drawbacks. Algorithms are usually gameable. The value of the currency in this case stems purely from the reliability of the issuing mechanism and/or people’s beliefs. Once users’ expectations of the coin’s stability change, whether due to a flaw in design or idiosyncratic changes in sentiment, there may be little to keep the price afloat because there is no inherent redemption value. Consequently, when these stablecoins fail, they tend to do so swiftly and catastrophically. One example is NuBits [45], which dropped from its pegged price of $1 to less than $0.30 over the course of 2 weeks in early 2018. It never recovered its peg, and has been trading below $0.10 for the past six months.4 3.3 Collateral amount Hand in hand with the decision of collateral type comes the decision of collat- eral amount. Since collateral serves to support the price by creating a reliable redemption value, the best choice seems to be a fully collateralized stablecoin. If every unit of currency can be redeemed for the underlying asset, there is vir- tually no rational reason they should ever trade at different prices, thus making price fluctuations minimal. However, one to one collateralization is sometimes excessive, and sometimes insufficient. Having a full reserve, where the value of the collateral is exactly the value of the circulating currency, makes it hard for a currency to scale. As the stablecoin 4 Note that USD is not collateralized, and yet it remains stable. However, when the dollar was a fledgling currency it was backed by gold. It was only after extensive global adoption that the backing was gradually eased-off. Additionally, the US gov- ernment has the infrastructure to support this type of regime. US federal law makes it so that businesses are required to accept US issued currency as legal tender. There are also regulatory and executive agencies that enforce compliance. 6 Amani Moin, Emin Gün Sirer, and Kevin Sekniqi becomes more widely used, the issuers have to keep buying more collateral in order to keep up with demand. Nevertheless, this stablecoin design has been successfully utilized by Hong Kong’s currency board; the Hong Kong Dollar is fully collateralized by USD and has maintained a roughly 7.8 to 1 peg to the US dollar since the early 1980s. It is currently the 13th most traded currency in the world [36]. Instead of staying fully collateralized, some currencies, like Saga, try to mimic the historical trajectory taken by the US Dollar. Such currencies initially fully collateralize their stablecoin, then slowly reduce their collateral ratio and ease off the peg once the money supply has exceeded some threshold. Although Tether eventually admitted they were not fully collateralized as they initially claimed, there was no ostensible detriment to the price. A reason for the continued sta- bility despite only partial collateralization is that full collateral is not necessary as long as people do not believe that more than the entire reserve amount will ever be cashed out at once. It is also worth noting that almost any supposedly fully collateralized fiat backed stablecoin whose collateral is being held in a bank, such as USDC, is functionally a partial reserve currency. All commercial banks keep only some of their deposits on hand and use the rest for investments or to issue loans. This does not cause any problems as long as they keep enough on hand to satisfy demand for withdrawals. Other coins, especially algorithmic ones such as Basis [2], do not keep any collateral at all. Instead, value is preserved purely by expanding supply when the price is too high and contracting it when the price is too low. On the other end of the spectrum, many currencies collateralized by crypto-currencies keep more than the value of the circulating currency in reserve to guard against price swings in the collateral. This way, even if the collateral asset depreciates, there is still enough for each unit of the stablecoin to be redeemed for an equivalent amount of the underlying asset. 4 Mechanics All stablecoins require some mechanism to adjust the price when it deviates from the peg. Usually, this is done by expanding supply when the price is too high and contracting it when the price is too low. This means that there usually needs to be some way of measuring the price (covered further in the next section) and knowing how much to expand or contract the supply. Most stablecoins are designed such that rational, self interested users will act to restore the peg when the price deviates. For example, this could be achieved by allowing users to redeem stablecoins for collateral when the price of the stablecoin is too low. Other stablecoins issue a secondary token designed to absorb the volatility of the first, resulting in a stablecoin/volatilecoin pair. Still others depend on an algorithmic market making mechanism or central-bank contract to manage the supply. A Classification Framework for Stablecoin Designs 7 Reserve of Pegged Asset Many stablecoins will build a mechanism where users will be incentivized to expand or contract the supply until the price re- turns to the peg. The simplest way to achieve this is in a fully collateralized system backed by the pegged asset, and allow users to expand supply when the price is too high and redeem when the price is too low. Arbitrageurs earn money while helping maintain the peg. For example, if a stablecoin pegged to USD is trading at less than $1, stablecoin holders should redeem the coin for the underlying collateral, thereby buying a dollar for less than a dollar. This will contract the supply until the price returns to the peg and the arbitrage opportunity disappears, or until the reserve runs out. On the other hand, if the market price of the stablecoin is above $1, many sys- tems will allow users to expand the supply by wiring funds to the account where the rest of the collateral is being held. This allows the user to buy something worth more than $1 by paying only $1 for it. The simplicity and autonomy of this system makes it extremely appealing, which is why a majority of stablecoins in circulation today use this method, or a very similar one. However, it is not foolproof. On October 15, 2018, the price of Tether briefly dropped below $0.93 due to a large selloff. The price recovered to above $0.98 within the day and appears to have suffered no lasting effects [22]. Other notable examples of this design include USDC, TrueUSD, Carbon [18], Paxos [19], Gemini Dollars [23], and many others. As stated previously, the main problem with allowing users to always redeem for collateral is storing large amounts of collateral at some physical location. Since it is expensive to provide the security needed to protect large sums of money, most stablecoins rely on one central location, like a bank. This introduces two issues: centralization and dependency on legacy financial institutions. USDC gets around one of these problems by storing collateral at a network of banks rather than a single one. However, it still relies heavily on existing banks. The other problem with this type of system is the ability to scale. As previously discussed, this makes it difficult, though not impossible, to become a global currency due to the inconvenience of storing assets of such high value in a large number of locations. This inconvenience, is one of the reasons USD outgrew the gold standard. A common variation on this design requires a central authority to mint the coins, but allows people to redeem the stablecoin for the underlying collateral. This creates a lower bound on the price of the stablecoin but not an upper bound, since users can redeem when the stablecoin price is too low but cannot mint when the price is too high. This is common in cases where the collateral is not necessarily dollars, such as Digix. Since it would be inconvenient to accept and verify gold deposits from individual users, users are not allowed to mint Digix by contributing capital to the collateral pool. They can, however, still redeem their Digix for physical gold, thereby creating a lower bound on the value of Digix. In addition to allowing people to mint coins, Tether was released in waves, allegedly at strategic times to prop up the price of Bitcoin [34]. Users can redeem 8 Amani Moin, Emin Gün Sirer, and Kevin Sekniqi Tether for USD, but since Tether is no longer fully collateralized, they also reserve the right to deny people the right to redeem. Another variation being employed by Facebook’s Libra [46] is to allow only the set of validators to mint or redeem coins, instead of all users. This reduces overhead since presumably larger amounts would be transacted each time, and at a lower frequency. This may come at the cost of a lower speed of adjustment, since the set of potential arbitrageurs who can correct the price is restricted. Dual coin Another way to maintain stability is to pair the pegged coin with a secondary coin which absorbs the volatility of the first. The most well known example of this is the seigniorage shares model employed by the original formula- tion of Carbon. When the price of the stablecoin dips below the peg, a secondary coin is auctioned in exchange for the stablecoin. The proceeds from the auction are then burned to contract the supply. When the price of the stablecoin is above the peg, additional coins are minted to holders of the secondary token. Holders of the secondary token help prop up the price when the currency inflates and are rewarded during deflationary periods. There are two big concerns with this type of system. One is that the secondary coin often meets the SEC’s definition of a security. Regulatory complications stemming from this designation were enough to keep Basis from launching [1]. Carbon also changed from a dual coin system to a fiat backed system, for undis- closed reasons, possibly due to regulatory hurdles. The second concern is that if holders of the primary token do not believe that the stablecoin will appreciate in the future, there is no incentive to buy or hold the secondary token. In other words, one needs a strong contingent of users who, even during a downturn, be- lieve that the stablecoin will eventually appreciate in value. Additionally, since cryptocurrency markets are often subject to long downturns, people may be re- luctant to wait for extended, indeterminate amounts of time for their investment to pay off. Since there is no collateral backing this system, if people are not will- ing to buy the secondary coin, there will be no force propping up the value of the stablecoin. Variations on this design include USDX and Celo [39], which use concepts from dual coin systems and redemption based systems to peg their tokens. USDX is a stablecoin collateralized with Lighthouse (LHT), a digital currency. USDX is pegged to USD but backed over 200% by LHT, which is stored in two centralized funds. People are free to exchange LHT to USDX and vice versa at a valuation of $1/USDX. As such, when USDX is trading at a price of less than $1, people are incentivized to redeem it for $1 worth of LHT, contracting the supply and raising the price. LHT ends up absorbing the volatility of USDX because the supply of USDX is contracted by expanding the circulating supply of LHT. The main issue in this design stems from USDX being 200% collateralized by LHT. The largest possible market cap for USDX is half the market cap of LHT, and if the market value of LHT declines, so does the potential market cap of USDX. It is unclear what LHT derives its value from, so the potential market cap of USDX might be small and/or unstable. A Classification Framework for Stablecoin Designs 9 Celo works similarly to USDX, but with a few additions. Celo is backed by CeloGold,5 Bitcoin, and Ethereum. In addition to allowing people to redeem Celo for CeloGold and vice versa, there is an algorithmic central bank which buys and sells Celo and CeloGold to stabilize the price. StatiCoin/RiskCoin [62] is another variation of the dual coin system which allows creation and redemption of coins to maintain a peg. Users who want to mint StatiCoin send ETH to the contract and receive a dollar equivalent amount of StatiCoin in return. When they want to redeem, they send StatiCoin to the contract and receive an equivalent dollar amount of ETH. Users who want to mint RiskCoin also send ETH to the contract and receive a corresponding amount of RiskCoin in return, depending on what the current RiskCoin price is. StatiCoin can always be redeemed for $1 worth of ETH, provided there is enough collateral, while RiskCoin holders are the residual claimant to the ETH held by the contract. If there is $100 worth of ETH held by the contract, 90 StatiCoins in circulation, and 2 RiskCoins in circulation, the value of all of the outstanding Riskcoin is $10 and each RiskCoin is worth $5. If the next day the value of the ETH held in the contract drops to $90, RiskCoin will be worth $0 and users will not be allowed to mint additional RiskCoin until the dollar value of collateral exceeds the number of StatiCoin issued. StatiCoin is unique because it is crypto-collateralized but does not require overcollateralization, an inefficient mechanism for absorbing volatility. If the value of the collateral falls below the market cap of StatiCoin, StatiCoin may become unpegged because not all holders of StatiCoin will be able to redeem for the underlying collateral. If the price of ETH drops enough to reduce the price of RiskCoin to 0, then StatiCoin will become an unreliable store of value precisely when Ethereum is losing value and a stable valued asset is most needed. Terra [40] is yet another dual coin stablecoin, with its volatility absorbed by the secondary token Luna. Luna serves two purposes in this system. It absorbs volatility because it is auctioned to contract the supply when the stablecoin price is too low and purchased with Terra when the stablecoin price is too high. It is also the staking token of the system. Fees and mining rewards, paid in Terra, are increased when Terra decreases in value to incentivize holding Luna and smooth the pro-cyclicality of the value of Luna. Unlike previously discussed designs, such as Staticoin/Riskcoin, the secondary token Luna can retain value and creates payoffs from fees and mining rewards even in an extended contrac- tion. However, it does this by raising fees when the value of Terra is decreasing, which discourages Terra use when the value of Terra is already low. Terra also increases the staking pool in times when the market cap of Terra is small and there is less need for stakers, and decreases it when the market cap is large and more security is needed. Yet another variation on the dual coin system is the triple coin system pro- posed by Basis. Instead of having a singular volatility absorbing coin, Basis has bond tokens and share tokens. Bond tokens are auctioned off when the price of Basis decreases below $1, and each one is redeemable for 1 Basis when the price 5 Despite its name, CeloGold not actually backed by gold or any other asset 10 Amani Moin, Emin Gün Sirer, and Kevin Sekniqi of Basis is above $1. If all of the Bond tokens have been redeemed and the price of Basis is still above $1, additional Basis is minted pro rata to holders of share tokens until the price of Basis returns to $1. Holders of Basis bonds absorb the downside and are the first to benefit from increases in the market cap of Basis, while holders of Basis shares benefit only when there are large expansions in the value of Basis. There are infinite ways to tranche the volatility absorbing coin; in theory there could be systems with four or more coins splitting the stablecoin volatility across several parties. Algorithmic Other currencies use a fully algorithmic approach to adjust the supply of the stablecoin in response to price fluctuations. One such example is Ampleforth, previously named Fragments [42]. Whenever the value of Am- pleforth changes, token holders have their balances adjusted proportionally to preserve the value of a single token. For example, if Ampleforth is originally worth $1, then, after an increase of 10% to $1.10, all balances will automatically be inflated by 10%. Likewise, if the value of Ampleforth declines, each Ample- forth holder’s balance will be decreased accordingly. This makes Ampleforth a stable unit of account, since by design, the ratio of Ampleforth’s market cap to the number of Ampleforth tokens is periodically adjusted to be $1. Unfor- tunately, this is not a good store of value. Holding Ampleforth is no different than holding a non-pegged coin: if the market cap of Ampleforth declines, users’ balances and outstanding payments will decline proportionally. A different algorithmic approach is employed by Saga. Although Saga does not peg the value of its coin, it uses an algorithmic path-independent market maker inspired by Bancor [35] to provide liquidity and to dampen sudden price fluctuations. The market maker sets the price and bid ask spread for Saga based on how much collateral it has in its reserve. For example, when Saga is just starting out and its reserve is small, the price will be set at 1 SDR, and the market maker will sell a Saga for 1.0015 SDR and buy for 0.9985 SDR. This makes it so that users should not sell Saga on secondary markets for less than 0.9985 or buy for more than 1.0015 SDR, which limits how suddenly the price can change. As the reserve grows and shrinks, the price and spread are gradually adjusted in response. Like Ampleforth, Saga does not guarantee that the value of Saga holdings will be stable over time. However, the market maker does guard against sudden price movements, and thus provides short-term stability. Leveraged loans Leveraged loans are a system of stablecoins which utilize components from all the above classes. Dai [47] is the most successful example of such a system. Users lock up collateral, such as Ethereum and other cryptoassets, in collateralized debt positions (CDPs). They can then mint Dai, a stablecoin pegged to $1, up to 2/3 the value of the collateral in the CDP. Users can then unlock their collateral by paying back the borrowed Dai, plus a stability fee that accrues over time. Dai is destroyed once it is paid back. If the value of the collateral in a CDP drops below 1.5x the Dai borrowed, the debt position is automatically liquidated, and the collateral is used to purchase A Classification Framework for Stablecoin Designs 11 the amount of Dai borrowed against it. Any remaining collateral, minus a liqui- dation fee, is returned to the original CDP owner. If the value of the collateral depreciates quickly and drops below the value of the Dai borrowed, a secondary coin is minted to cover the difference. Currently, the secondary coin is PETH, but eventually it will be transitioned to MKR. Since MKR is the governance token, and MKR holders are diluted when CDPs are underwater, there is an incentive for the holders of the governance token to set parameters such that users are not defaulting on their loans. However, we note that the probability of the value of the collateral declining to less than the Dai borrowed is low since the price of the collateral would have to suddenly drop by over 33%. Users are incentivized to buy Dai and unlock their collateral when the price of Dai decreases, because a decrease in the price of Dai makes it cheaper for them to unlock their collateral. This contracts the supply and restores the peg. If Dai continues to trade at a price lower than its intended peg, MKR holders can vote to raise the stability fee charged to CDP holders. This serves as further incentive for CDP holders to liquidate their positions and contract supply. Dai received a lot of attention in March 2019 for consistently trading around $0.98 instead of $1 as it was supposed to. Since then, it underwent a series of stability fee increases, some of which quixotically lowered the price of Dai instead of raising it as intended. Despite this issue and Ethereum’s price decrease by ∟ 90% since Dai launched, Dai has managed to remain within ∟ 2% of its pegged value. 0.5 1.0 500 1000 2018−01 2018−07 2019−01 2019−07 Date D ai P ric e (U S D ) E thereum P rice (U S D ) Dai Ethereum Fig. 3. DAI remains relatively price stable despite decline in ETH price. Miscellaneous There are a few other designs that do not neatly fit into any of the above categories. For example, Steem [63] props up the price of its stablecoin, Steem Dollars, by paying interest on Steem Dollars. However, since they don’t 12 Amani Moin, Emin Gün Sirer, and Kevin Sekniqi set negative interest rates, this mechanism may not work if the price of Steem is too high and the interest rate is already low. Consequently, Steem Dollars traded for more than its $1 peg for months despite an interest rate of 0%. Another design is employed by NuBits (now defunct), a stablecoin which is minted when holders of a secondary coin (NuShares) vote to create more. Users are also paid interest if they temporarily remove their NuBits from circulation. This project is no longer in operation, possibly due to voting on supply changes being a slow process, thus forcing adjustments in price to lag by several days or more. Additionally, if holders of NuShares also hold NuBits, they may be reluctant to dilute the value of NuBits by printing more. Kowala [4] keeps the price stable by adjusting its mining rewards. When the price of the stablecoin is too high, rewards increase to dilute the supply; when the price of the stablecoin is too low, transaction fees are burned to contract the supply. Unfortunately, a decline in the price of the stablecoin might be correlated with fewer transactions occurring, since a break from the peg would diminish users’ confidence in the stablecoin. Since price adjustments are effected through mining and transactions, recovering from a decrease in price would take a long time. Also, since mining rewards decrease during contractionary periods, miners have less incentive to provide se";"""date"",""2019-10-23T00:44:16Z"" ""pdf:PDFVersion"",""1.5"" ""pdf:docinfo:title"","""" ""xmp:CreatorTool"",""LaTeX with hyperref package"" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""subject"","""" ""language"",""en"" ""dc:format"",""application/pdf; version=1.5"" ""pdf:docinfo:creator_tool"",""LaTeX with hyperref package"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"","""" ""modified"",""2019-10-23T00:44:16Z"" ""cp:subject"","""" ""pdf:docinfo:subject"","""" ""pdf:hasMarkedContent"",""false"" ""pdf:docinfo:creator"","""" ""PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) kpathsea version 6.2.2"" ""meta:author"","""" ""trapped"",""False"" ""meta:creation-date"",""2019-10-23T00:44:16Z"" ""created"",""2019-10-23T00:44:16Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2019-10-23T00:44:16Z"" ""resourceName"",""1910.10098"" ""Author"","""" ""producer"",""pdfTeX-1.40.17"" ""pdf:docinfo:producer"",""pdfTeX-1.40.17"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""Keywords"","""" ""access_permission:modify_annotations"",""true"" ""dc:creator"","""" ""dcterms:created"",""2019-10-23T00:44:16Z"" ""Last-Modified"",""2019-10-23T00:44:16Z"" ""dcterms:modified"",""2019-10-23T00:44:16Z"" ""title"","""" ""Last-Save-Date"",""2019-10-23T00:44:16Z"" ""pdf:docinfo:keywords"","""" ""pdf:docinfo:modified"",""2019-10-23T00:44:16Z"" ""meta:save-date"",""2019-10-23T00:44:16Z"" ""pdf:docinfo:custom:PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) kpathsea version 6.2.2"" ""Content-Length"",""555057"" ""Content-Type"",""application/pdf"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"","""" ""dc:subject"","""" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""24"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""1995"",""2319"",""1496"",""2759"",""1706"",""2526"",""2795"",""2771"",""2880"",""2787"",""1765"",""2763"",""2891"",""2592"",""2622"",""2352"",""2478"",""2615"",""1778"",""441"",""944"",""1397"",""1524"",""1403"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""pdf:docinfo:trapped"",""False"" ""meta:keyword"","""" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2019-10-23T00:44:16Z"" ";https://scholar.google.com/scholar?start=480&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094658-1153;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Quisquis: A new design for anonymous cryptocurrencies;P Fauzi, S Meiklejohn, R Mercer, C Orlandi ; International Conference on …, 2019 Springer;;"… is not sufficiently powerful to prevent honest transactions from being added to the blockchain or to add … Intuitively, an anonymous cryptocurrency should provide anonymity for both the sender and the recipient … sk}_i,\mathsf {bl}_{i})\) being stored in memory available to the oracle …";Cité 44 fois;Les 4 versions;[PDF] smeiklej.com;https://smeiklej.com/files/asiacrypt19.pdf;" Quisquis: A New Design for Anonymous Cryptocurrencies Prastudy Fauzi1, Sarah Meiklejohn2, Rebekah Mercer3, and Claudio Orlandi4 1Simula UiB, Bergen, Norway 2University College London, UK 3O(1) Labs, USA 4Department of Computer Science, DIGIT, Aarhus University, Denmark Abstract Despite their usage of pseudonyms rather than persistent identifiers, most existing cryptocurrencies do not provide users with any meaningful levels of privacy. This has prompted the creation of privacy- enhanced cryptocurrencies such as Monero and Zcash, which are specifically designed to counteract the tracking analysis possible in currencies like Bitcoin. These cryptocurrencies, however, also suffer from some drawbacks: in both Monero and Zcash, the set of potential unspent coins is always growing, which means users cannot store a concise representation of the blockchain. Additionally, Zcash requires a common reference string and the fact that addresses are reused multiple times in Monero has led to attacks to its anonymity. In this paper we propose a new design for anonymous cryptocurrencies, Quisquis, that achieves provably secure notions of anonymity. Quisquis stores a relatively small amount of data, does not require trusted setup, and in Quisquis each address appears on the blockchain at most twice: once when it is generated as output of a transaction, and once when it is spent as input to a transaction. Our result is achieved by combining a DDH-based tool (that we call updatable keys) with efficient zero-knowledge arguments. 1 Contents 1 Introduction 1 2 Cryptographic Primitives 2 2.1 Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.2 Zero-knowledge arguments of knowledge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.3 Commitments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 Updatable Public Keys 3 3.1 Security definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3.2 UPKs from DDH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4 Threat Model 5 4.1 Updatable accounts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 4.2 The cryptocurrency setting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.3 Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 5 Our Quisquis Construction 8 5.1 Overview and intuition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 5.2 Transactions in Quisquis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 5.3 Proofs of security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 6 Instantiating the Zero-knowledge Proof 13 6.1 The auxiliary functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 6.2 The proof system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 7 Performance 17 8 Related Work and Comparisons 18 8.1 Tumblers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 8.2 Zcash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 8.3 Monero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 9 Conclusions and Open Problems 20 A Proof of Lemma 2 23 B NIZK arguments for Trans 24 B.1 Implementing ÎŁivu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 B.2 Implementing ÎŁCom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 B.3 Implementing ÎŁizero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 B.4 Implementing ÎŁrange,sk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 C Full proof of Quisquis satisfying anonymity 26 D Full proof of Quisquis satisfying theft prevention 30 E Proof of security of the zero-knowledge protocol 32 2 1 Introduction Bitcoin was introduced in 2008 [30], and at a high level it relies on the use of addresses, associated with a public and private key pair, to keep track of who owns which coins. Users of the system can efficiently create and operate many different addresses, which gives rise to a form of pseudo-anonymity. As is now well known, however, Bitcoin and other cryptocurrencies relying on this level of pseudo-anonymity can, in practice, have these addresses linked together and even linked back to their real-world identities with little effort [33, 34, 3, 26, 37, 28]. Due to this, there has now been an extensive body of work aiming to provide privacy-enhanced solutions for cryptocurrencies, although even some of these new solutions have also been subjected to empirical analyses pointing out the extent to which they can be de-anonymized as well [29, 25, 27, 20, 19, 18, 40]. These solutions typically fall into two main categories. First, tumblers (also known as mixers or mixing services) act as opt-in overlays to existing cryptocur- rencies such as Bitcoin [23, 36, 16] and Ethereum [24], and achieve enhanced privacy by allowing senders to mix their coins with those of other senders. While these are effective and arguably have a high chance of adoption due to their integration with existing cryptocurrencies, they also have some limitations. In particular, they are generally either dependent on trusting a central mixer, which leaves users vulnerable to attacks on availability, or they require significant coordination amongst the parties wishing to mix, which leads to higher latency as users must wait for other people to mix with them. Second, there are cryptocurrencies with privacy features built in at the protocol level. Of these, the ones that have arguably achieved the most success are Dash [1], Monero [31], and Zcash [6]. Dash is derived from a tumbler solution, Coinjoin [23], and thus inherits the properties discussed there. In Monero, senders specify some number of addresses to “mix in” to their own transaction, and then use this list of public keys to form a ring signature and hide which specific address was theirs. Observers of the blockchain thus learn only that some unknown number of coins have moved from one of these input public keys. In Zcash, users can put coins into a “shielded pool.” When they wish to spend these coins, they prove in zero-knowledge that they have the right to spend some specific coins in the pool, without revealing which ones. Between Monero and Zcash, there are already several differences. For example, because users in Monero specify rings themselves, they achieve a form of plausible deniability : no one can tell if a user meant to be involved in a given transaction, or if their address was simply used in a ring without their consent. In Zcash, in contrast, every other user in a user’s anonymity set has no such deniability, as they at one point intentionally put coins into the shielded pool. One limitation central to both cryptocurrencies, however, is the information that peers in the network are required to keep. In Bitcoin, the list of all addresses with a positive balance can be thought of as a set of unspent transaction outputs (UTXOs). When a sender spends coins, their address ceases to be a UTXO, so is replaced in the set with the address of their recipient. Full nodes can thus collapse the blockchain into this UTXO set, and check for double spending simply by checking if a given input address is in the set or not. In other words, it acts as a concise representation of the entire history of the blockchain. In October 2017, for example, there had been over 23 million Bitcoin transactions and the total size of the blockchain was over 130 GB, but the size of the UTXO set was only 3 GB [12]. In Monero and Zcash, however, addresses can (essentially) never be removed from the UTXO set, as it is never clear if an address has spent its contents or was simply used as part of the anonymity set in the transaction of a different sender. The size of the UTXO set is thus monotonically increasing: with every transaction, it can only grow and never shrink. This has a significant impact on full nodes, as they must effectively store the entire blockchain without the option of the concise representation possible in Bitcoin. Our Contributions We present Quisquis, a new design for anonymous cryptocurrencies that resolves the limitations outlined above for existing solutions. In particular, users are able to form transactions on their own, so do not need to wait for other interested users and incur the associated latency. They can also involve the keys of other users without their permission, which gives the same degree of plausible deniability as Monero. Finally, each transaction acts to replace all the input public keys in the UTXO set with all the output public keys, thus allowing the UTXO set to behave in the same manner as in Bitcoin. Furthermore, 1 our transactions are relatively inexpensive to compute and verify, taking around 471ms to compute and 71ms to verify for an anonymity set of size 16, with proofs of size approximately 13kB. As a brief technical overview, Quisquis achieves anonymity using a primitive that we formalize in Section 3 called updatable public keys, which allows users to create updated public keys, indistinguishable from ones that are freshly generated, without changing the underlying secret key. After formally defining our threat model in Section 4, we present our full construction of Quisquis in Section 5. Roughly, senders take the keys of other users, including their intended recipients, to form a list of public keys that act as the input to a transaction. A sender can now “re-distribute their wealth” among these input keys, acting to move some of their own coins to the recipient and keeping the (hidden) balances of the other members of the anonymity set the same. To ensure anonymity, the output public keys are all updated, and all balances and amounts are given only in committed form. Thus, by design, in Quisquis every address can only ever appear at most twice on the blockchain: once when it is generated in the output of the transaction, and once when it is spent as input to a different transaction. This greatly reduces (compared, e.g., to Monero) the ability of an attacker to perform de-anonymization attacks based on how often a certain address participates in transactions. To ensure integrity, the sender proves in zero-knowledge that they have correctly updated the keys and have not taken money away from anyone except themselves. Crucially, because the witness for the zero-knowledge proof is limited to this single transaction (as opposed to encompassing other parts of the blockchain), we can use standard discrete-log-based techniques as opposed to the heavyweight zk-SNARKs required in Zcash. This means that security can depend entirely on DDH, and no trusted setup is required (as we use the random oracle model to make the proofs non-interactive and to generate other system parameters and random values using “nothing up my sleeves” methods). As the design of Quisquis is modular, other tradeoffs could be achieved as well: for instance, it could be possible to instantiate Quisquis with zk-SNARKs as well, thus achieving even smaller transactions and faster verification at the cost of much slower transaction generation and the stronger assumptions underlying zk-SNARKs. To demonstrate the efficiency of Quisquis, we implement it and present performance benchmarks in Section 7. We then provide a thorough comparison with existing solutions in Section 8 before concluding in Section 9. 2 Cryptographic Primitives 2.1 Notation Let logg h be the discrete log of h with respect to g. Define (a, b)c := (ac, bc) and (a, b) ¡ (c, d) := (ac, bd). For vectors ~a and ~b, let ~a ◦~b be the Hadamard product of ~a and ~b; i.e., the vector ~c such that ci = aibi. We use y ← A(x) to denote assigning to y the output of a deterministic algorithm A on input x, and y $← A(x) if A is randomized; i.e., we sample a random r and then run y ← A(x; r). We use [A(x)] to denote the set of values that have non-zero probability of being output by A on inputs x. We use r $← R for sampling an element r uniformly at random from a set R. If ~y = (y1, . . . , yn) $← A(x) then we often denote yi by ~yi. 2.2 Zero-knowledge arguments of knowledge Let R be a binary relation for instances x and witnesses w, and let L be its corresponding language; i.e., L = {x | ∃w : (x,w) ∈ R}. An interactive proof is a protocol where a prover P tries to convince a verifier V , by an exchange of messages, that an instance x is in the language L. The set of messages exchanged is known as a transcript, from which a verifier can either accept or reject the proof. The proof is public-coin if an honest verifier generates his responses to P uniformly at random. An interactive proof is a special honest-verifier zero-knowledge argument of knowledge if it satisfies the following properties: • Perfect completeness: if x ∈ L, an honest P always convinces an honest V . • Special honest-verifier zero-knowledge (SHVZK): there exists a simulator S that, given x ∈ L and an 2 honestly generated verifier’s challenge c, produces an accepting transcript which has the same (or indis- tinguishably different) distribution as a transcript between honest P, V on input x. • Argument of knowledge: if P convinces V of an instance x, there exists an extractor with oracle access to P that runs in expected polynomial-time to extract the witness w. A public-coin SHVZK argument of knowledge can be turned into a non-interactive zero knowledge (NIZK) argument of knowledge using the Fiat-Shamir heuristic. Essentially, non-interactivity is achieved by replacing the verifier’s random challenge with the output of a hash function, which in the security proof is modeled as a random oracle. 2.3 Commitments We use a commitment scheme Commit relative to a public key pk that, given a message m ∈ M and randomness r ∈ R, computes com ← Commitpk(m; r). Our commitments must satisfy two properties: first, they are computationally hiding, meaning for any two messages m0,m1, an adversary has negligible advantage in distinguishing between Commitpk(m0;UR) and Commitpk(m1;UR), where UR is the uniform distribution over the randomness space. Second, they are unconditionally binding, meaning even given the sk relative to pk, a commitment cannot be opened to two different messages. Beyond these two basic properties, we require two extra properties from our commitments. First, they must be homomorphic in the sense that for some operation ďż˝ it holds that Commitpk(m)ďż˝Commitpk(m ′) = Commitpk(m + m′) (for appropriate randomness). Second, they must be key-anonymous, meaning that for any honestly generated keys pk0, pk1 and adversarially chosen m, the tuple (m, pk0, pk1,Commitpk0(m)) is indistinguishable from (m, pk0, pk1,Commitpk1(m)). We can construct such commitments in a group (G, g, p) where the DDH problem is hard, by essentially performing an ElGamal encryption in the exponent relative to public keys of the form pk = (gi, hi) (which are what we use in our later constructions). In particular, Commitpk(v; r) returns com = (c, d) where c = gi r and d = gvhi r. It is easy to verify that this commitment scheme is unconditionally binding, computationally hiding, key-anonymous, and additively homomorphic. Finally, we also use extended Pedersen commitments in the constructions of our zero-knowledge (ZK) arguments; i.e., schemes that commit to a vector of values using a single group element. 3 Updatable Public Keys This section introduces the notion of an updatable public key (UPK), in which public keys can be updated in a public fashion, and such that they are indistinguishable from freshly generated keys. This idea has been considered before in the context of several cryptographic primitives, such as signatures [14, 4] and public-key encryption [39], but we wish to define it solely for keys, regardless of the primitive they are used to support. We begin by defining security for UPKs. Our definitions of indistinguishability and unforgeability resem- ble those that have already been used for Bitcoin stealth keys [24] and in the context of other cryptographic primitives [4, 39, 22]. Indeed, we could continue to be inspired by stealth keys in our construction of a UPK scheme, but given their reliance on hash functions this would render us unable to prove statements about the keys using discrete log-based techniques, as we would like to do in our construction of Quisquis in Section 5. We thus present instead a purely algebraic UPK scheme based on DDH, inspired by “incomparable public keys” [39]. 3.1 Security definitions An updatable public key system (UPK) is described by the following algorithms: • params $← Setup(1Îş) outputs the parameters of the scheme, including the public and secret key spaces PK,SK. These are given implicitly as input to all other algorithms. 3 • (pk, sk) $← Gen(1Îş) takes as input a security parameter Îş and outputs a public key pk ∈ PK and a secret key sk ∈ SK. • ({pk′i}ni=1) $← Update({pki}ni=1) takes as input public keys (pk1, . . . , pkn) and outputs a new set of public keys (pk′1, . . . , pk ′ n). • 0/1← VerifyKP(pk, sk) takes as input pk ∈ PK and sk ∈ SK and checks whether or not (pk, sk) is a valid key pair. • 0/1 ← VerifyUpdate(pk′, pk, r) takes as input public keys pk′, pk, and randomness r and checks if pk′ was output by Update(pk; r). We require a UPK to satisfy the following properties. Definition 1 (Correctness). A UPK satisfies perfect correctness if the following three properties hold for all (pk, sk) ∈ [Gen(1Îş)]: (1) the keys verify, meaning VerifyKP(pk, sk) = 1; (2) the update process can be verified, meaning VerifyUpdate(Update(pk; r), pk, r) = 1 for all r ∈ R; and (3) the updated keys verify, meaning VerifyKP(pk′, sk) = 1 for all pk′ ∈ [Update(pk)]. We next define indistinguishability, which says that an adversary cannot distinguish between a freshly generated public key and an updated version of a public key it already knows. Definition 2 (Indistinguishability). Consider the following experiment: 1. (pk∗, sk∗) $← Gen(1Îş); 2. pk0 $← Update(pk∗); 3. (pk1, sk1) $← Gen(1Îş). A UPK satisfies indistinguishability if for any PPT adversary A: |Pr[A(pk∗, pk0) = 1]− Pr[A(pk∗, pk1) = 1]| ≤ negl(Îş). Finally, we require that an adversary should not be able to learn the secret key of an updated public key (unless it already knew the secret key for the original public key). This is formalized by saying that the adversary cannot produce a public key for which it knows both the secret key and the randomness needed to explain this public key as an update of an honestly generated public key. Definition 3 (Unforgeability). A UPK satisfies unforgeability if for any PPT adversary A: Pr[VerifyKP(pk′, sk′) = 1 ∧ VerifyUpdate(pk′, pk, r) = 1 | (pk, sk) $← Gen(1Îş); (sk′, pk′, r) $← A(pk)] ≤ negl(Îş). 3.2 UPKs from DDH We present a construction of UPK based over a prime-order group (G, g, p) where the DDH assumption is believed to hold. Thus, our Setup outputs only publicly verifiable parameters, and does not need to be run by a trusted party. The rest of the algorithms are as follows: • Gen(1Îş): Sample r, sk $← Fp and output pk = (gr, gr¡sk). • Update({pki}ni=1): Parse pki = (gi, hi). Sample r $← Fp and compute pk′i = pkri = (gri , h r i ) for all i. • VerifyKP(pk, sk): Parse pk = (g′, h′) and output (g′)sk ? = h′. • VerifyUpdate(pk′, pk, r): Output Update(pk; r) ? = pk′. 4 Lemma 1. The scheme above is a UPK satisfying Definitions 1 - 3 if the DDH assumption holds in (G, g, p). Proof. Correctness is straightforward to verify. To prove indistinguishability, our reduction receives a DDH challenge chl = (g, gx, gy, gz), samples a value r $← Fp, and defines pk∗ = (gr, gxr) and pk′ = (gyr, gzr). It then invokes the indistinguishability adversary A on input (pk∗, pk′). If chl is a DDH tuple then pk′ is distributed identically to pk0, and if chl is not a DDH tuple then pk′ is distributed identically to pk1. Therefore, our reduction has the same (non-negligible) advantage in the DDH game as the A has in the indistinguishability game. To prove unforgeability, our reduction receives a DL challenge chl = (g, h), picks a random t $← Fp, and sets (g0, h0) = (gt, ht). The reduction now runs (s, (g1, h1), r) $← A(g0, h0), and outputs s. The input to the adversary in the reduction is distributed identically as in the definition of security. The winning condition of the security definition requires that h1 = gs1 and (g1, h1) = (gr0, h r 0) = (grt, hrt) thus implying that gsrt = hrt or equivalently that h = gs, meaning s is a valid solution to the DL oracle. 4 Threat Model In this section, we present our model for cryptocurrency transactions, in which we view a transaction not as just transferring value from a sender to a recipient but as participants “re-distributing wealth” amongst themselves. Before presenting this model in Section 4.2, we first present the notion of an updatable account in Section 4.1, which is an extension of updatable public keys that associates them with a (hidden) balance; this is mainly done as a way to simplify notation in future sections. We then present the relevant notions of security in Section 4.3, focusing on anonymity (meaning no one can identify the “true” sender and recipient within the set of participants in a transaction) and theft prevention (meaning no one can steal the coins of other people or otherwise inflate their own wealth). 4.1 Updatable accounts To represent an account in a cryptocurrency, we use pairs acct = (pk, com) of public keys, which act as the pseudonym for a user, and commitments, which represent the balance associated with that public key. In more detail, each account carries a balance bl ∈ V, where V ⊂M; i.e., the domain of values is a subset of the messages that can be committed to using Commit. To create a new account with initial balance bl ∈ V, one can run (acct, sk) $← GenAcct(1Îş, bl), which internally runs (pk, sk) $← Gen(1Îş) and com $← Commitpk(bl), sets acct = (pk, com), and returns (acct, sk). To verify that an account has a certain balance, it is necessary to be able to open a commitment using the secret key corresponding to pk. This also allows the owner of sk to open a commitment or prove statements about the committed message even without knowing the randomness used. We use the notation VerifyCom(pk, com, sk,m), and require the commitment to be binding also with respect to this function; i.e., that no PPT adversary can output (pk, com, sk,m, sk′,m′) with m 6= m′ but such that VerifyCom(pk, com, sk,m) = VerifyCom(pk, com, sk′,m′) = 1. With this algorithm in place, one can run 0/1 ← VerifyAcct(acct, (sk, bl)), which parses acct = (pk, com) and outputs 1 if VerifyCom(pk, com, (sk, bl)) = 1 and bl ∈ V and 0 otherwise. For an account acct = (pk, com), observe that the output of VerifyAcct is agnostic to updates of the public key; i.e., VerifyAcct((pk, com), (sk, bl)) = VerifyAcct((Update(pk), com), (sk, bl)). Additionally, VerifyAcct is agnostic to re-randomizations of the commitment; i.e., VerifyAcct((pk, com), (sk, bl)) = VerifyAcct((pk, comďż˝ Commitpk(0; r)), (sk, bl)). Thanks to these observations, we are able to “update” accounts using the following notation: • {acct′i}ni=1 $← UpdateAcct({accti, vi}ni=1; r1, r2) takes as input a set of accounts accti = (pki, comi) and val- ues vi such that |vi| ∈ V, and outputs a new set of accounts (acct′1, . . . , acct ′ n) where acct′i $← (Update(pk; r1), comďż˝ Commitpk(vi; r2)). 5 • 0/1← VerifyUpdateAcct({acct′i, accti, vi}ni=1; r1, r2) outputs 1 if {acct′i}ni=1 = UpdateAcct({accti, vi}ni=1; r1, r2) and |vi| ∈ V, and 0 otherwise. 4.2 The cryptocurrency setting Modeling the security of a cryptocurrency is a complex problem, as there are many different actors operating at different layers of the protocol: a user wishing to send some coins creates a transaction, which is then broadcast to their peers in a peer-to-peer network. Those peers in turn perform some cryptographic validation of the transaction, and if satisfied broadcast it to their peers. Eventually, it reaches a miner or validator, who engages in some form of consensus protocol to confirm the transaction into the blockchain. For the sake of simplicity, we focus solely on the transaction layer of a cryptocurrency, and assume network-level or consensus-level attacks are out of scope; i.e., we assume that the system is free from eclipse attacks [17] or other de-anonymization attacks that depend on network-level information (such as IP ad- dresses) and that an adversary is not sufficiently powerful to prevent honest transactions from being added to the blockchain or to add malicious transactions of their own. Rather than use the traditional model of having a sender, in possession of some secret key and a coin, send this coin to a recipient, we instead consider a set of participants who want to redistribute wealth amongst themselves. This means we now model a transaction as taking place amongst a set of participants P who act as both the senders and the recipients in the transaction, and who each come in with some initial balance bl0,i and end with some balance bl1,i. This still captures the traditional model of keeping senders and recipients separate, because for a sender S sending one coin to a recipient R we can use P = (pkS , pkR), bl0 = (1, 0), and bl1 = (0, 1). The natural question, however, is who is required to authorize this transaction; for efficiency reasons we do not want every participant to have to do so, but to ensure that parties cannot simply steal each others’ money we do need permission on behalf of the “true” senders. The simple way to provide both these properties is to require authorization only on behalf of the public keys whose associated balance has gone down; i.e., for every pki ∈ P such that bl1,i − bl0,i < 0. Again, this model fully captures the traditional model of senders and recipients, but crucially makes it easier to reason about cryptocurrencies designed to provide anonymity. More formally, a transaction layer for cryptocurrencies consists of (Setup,Trans,Verify), as defined below. The setup algorithm state $← Setup(1Îş, ~bl) generates the initial state of the system. The vector ~bl represents the initial balance of the accounts in the system and it must be such that bli ∈ V and ∑ i bli ∈ V. We assume that Setup runs (accti, ski) $← GenAcct(1Îş, bli) at some point, and that the state contains a set UTXO consisting of all accounts accti. All other algorithms take as input the (current) state even when omitted, and the state is updated in ways other than through these algorithms (e.g., by miners producing blocks at the network layer). To create a transaction, a sender in posession of a secret key sk runs tx← Trans(sk,P, A,~v).1 The vector of values ~v ∈ V represents the desired change in balance for each participant, meaning they should end up with bl1,i = bl0,i + vi (where bl0,i is their initial balance according to state). In creating a transaction, the sender may want to achieve some degree of anonymity, meaning they want to hide the link between their accounts and those of the recipient. To this end, we introduce an anonymity set A, which consists of other accounts used to hide information about the sender. It is important that these accounts are “eligible” in some way (where this depends on the concrete system, but can mean for example that they have not yet spent their contents). If A is not explicitly specified, it is picked at random from the set of eligible accounts. We denote by tx[inputs] = P ∪A the input accounts in a transaction, and by tx[outputs] the output accounts. Finally, 0/state← Verify(state, tx) checks if a transaction is valid given the current state. If so, it outputs an updated state, and if not it outputs 0. We say a state is valid if it is output by Setup or if it was the output of Verify(state′, tx) for a valid state′ and a transaction tx output by Trans. We say a transaction layer preserves value if for any valid state′ 6= ⊥ derived 1For simplicity we consider a single sender but the notation can easily be generalized to allow for arbitrarily many. 6 from a valid state, ValueOf(state.UTXO) = ValueOf(state′.UTXO), where ValueOf computes the number of coins associated with the UTXO set induced by a state. 4.3 Security Intuitively, an anonymous cryptocurrency should provide anonymity for both the sender and the recipient, meaning that even they cannot identify which accounts belong to whom. From an integrity perspective, it is also important to guarantee theft prevention, meaning an adversary can transfer value only from accounts for which it knows the secret key (and thereofore the adversary cannot reduce the balance of the honest parties either). Regardless of the goal, the basic outline of our security experiment is the same, in order to capture the different ways an adversary can interact with honest participants in the system. For example, the adversary can instruct honest participants to engage in transactions, or form arbitrary (i.e., fully adversarial) transactions itself, as long as they are valid. Intuitively, the adversary begins by specifying the initial balances ~bl of all participants in the protocol. We continue this full control by allowing the adversary to direct honest parties to make specific transactions (via transact queries), and to inject fully malicious transactions in the system (via verify queries). It can also learn the secret key for any account in the system (via disclose queries), although here we must be careful to prevent “trivial” attacks resulting from these disclosures in challenge queries (in which the adversary specifies two different senders, recipients, and values, and tries to guess between transactions involving them). These trivial attacks include: (1) the adversary controls the secret key of one or both of the senders; (2) the adversary controls the secret key of a recipient, and (3) the adversary specified a sender who does not have enough funds to complete the specified amount (meaning the output of Trans is ⊥ in this case but not the other). Formally, our game is defined as follows: 1. b $← {0, 1}; 2. ~bl $← A(1Îş); 3. state $← Setup(1Îş, ~bl); 4. b′ $← AO(¡)(state). Part of Setup involves running (accti, ski) $← Gen(1Îş, bli), and we assume that this results in the values (i, accti, ski, bli) being stored in memory available to the oracle. For several of the oracle queries, there is some bookkeeping required to update the keys and balances associated with these records. We define this bookkeeping subroutine with respect to a transaction tx and two sets honest and corrupt as follows: For every acctj ∈ tx[outputs] identify the corresponding accti ∈ tx[inputs] such that skj = ski. For every such j, create a new record of the form (j, acctj , ski, bli + v′i), where v′i is either (1) vi if i ∈ P or (2) 0 if i ∈ A. Then, reset the value for every accti ∈ tx[inputs]; i.e., save the record (i, accti, ski, 0). Finally, for every pair (i, j) as above: if i ∈ honest add j to honest, else add j to corrupt. Initialize honest to be the set of all indices i in memory, and corrupt to be the empty set. The oracle O(¡) allows the following queries: • (disclose, i): If (i, accti, ski, bli) was stored, call J the set of all j such that there is a record (j, acctj , skj , blj) with ski = skj . Remove i and J from honest, add them to corrupt, and return (ski, bli, J, {blj}j∈J) to the adversary. • (transact, i,P, A,~v): If (i, accti, ski, bli) was not stored return ⊥. Otherwise run tx $← Trans(ski,P, A,~v), and state′ ← Verify(state, tx). If state′ 6= ⊥ update state = state′, run the bookkeeping for tx, and return tx. • (verify, tx): run state′ ← Verify(state, tx). If state′ 6= ⊥ update state = state′, run the bookkeeping for tx, and return ";"""date"",""2019-09-16T18:06:52Z"" ""pdf:PDFVersion"",""1.5"" ""pdf:docinfo:title"","""" ""xmp:CreatorTool"",""LaTeX with hyperref package"" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""subject"","""" ""language"",""en"" ""dc:format"",""application/pdf; version=1.5"" ""pdf:docinfo:creator_tool"",""LaTeX with hyperref package"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"","""" ""modified"",""2019-09-16T18:06:52Z"" ""cp:subject"","""" ""pdf:docinfo:subject"","""" ""pdf:hasMarkedContent"",""false"" ""pdf:docinfo:creator"","""" ""PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018) kpathsea version 6.3.0"" ""meta:author"","""" ""trapped"",""False"" ""meta:creation-date"",""2019-09-16T18:06:52Z"" ""created"",""2019-09-16T18:06:52Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2019-09-16T18:06:52Z"" ""resourceName"",""asiacrypt19.pdf"" ""Author"","""" ""producer"",""pdfTeX-1.40.19"" ""pdf:docinfo:producer"",""pdfTeX-1.40.19"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""9"",""4"",""20"",""16"",""11"",""18"",""3"",""3"",""21"",""7"",""1"",""39"",""53"",""66"",""78"",""17"",""0"",""0"",""0"",""0"",""0"",""22"",""35"",""18"",""8"",""35"",""24"",""23"",""13"",""32"",""38"",""27"",""2"" ""Keywords"","""" ""access_permission:modify_annotations"",""true"" ""dc:creator"","""" ""dcterms:created"",""2019-09-16T18:06:52Z"" ""Last-Modified"",""2019-09-16T18:06:52Z"" ""dcterms:modified"",""2019-09-16T18:06:52Z"" ""title"","""" ""Last-Save-Date"",""2019-09-16T18:06:52Z"" ""pdf:docinfo:keywords"","""" ""pdf:docinfo:modified"",""2019-09-16T18:06:52Z"" ""meta:save-date"",""2019-09-16T18:06:52Z"" ""pdf:docinfo:custom:PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018) kpathsea version 6.3.0"" ""Content-Length"",""764237"" ""Content-Type"",""application/pdf"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"","""" ""dc:subject"","""" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""36"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""1302"",""1640"",""4117"",""3505"",""3198"",""2088"",""3353"",""3861"",""3044"",""3457"",""3432"",""2863"",""3561"",""3625"",""3358"",""1803"",""3073"",""729"",""3077"",""2948"",""3706"",""3564"",""2758"",""2709"",""1969"",""1786"",""1261"",""1685"",""3591"",""2589"",""2524"",""3089"",""3466"",""2260"",""2231"",""777"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""pdf:docinfo:trapped"",""False"" ""meta:keyword"","""" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2019-09-16T18:06:52Z"" ";https://scholar.google.com/scholar?start=970&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094579-814;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;The Tokenization of assets: using blockchains for equity crowdfunding;J Roth, F Schär, A Schöpfer ; Available at SSRN 3443382, 2019 papers.ssrn.com;;"… 14 Electronic copy available at: https://ssrn.com/abstract=3443382 Page 15. eral approach of digital identities, oracles (providers of real-world data on the Blockchain), decentralized exchanges or the use of tokens as collateral for loans …";Cité 12 fois;Les 3 versions;[PDF] researchgate.net;https://www.researchgate.net/profile/Fabian_Schaer2/publication/335927848_The_Tokenization_of_Assets_Using_Blockchains_for_Equity_Crowdfunding/links/5d8f1e2fa6fdcc2554a11588/The-Tokenization-of-Assets-Using-Blockchains-for-Equity-Crowdfunding.pdf;;;https://scholar.google.com/scholar?start=630&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094574-799;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Multi-Metall-Zertifizierung in der globalen Wertschöpfungskette mittels Blockchain-Technologie;R Bosch, R Bärligea, C Gagiu, K Baumann… ; Herausforderungen für …, 2019 Springer;;"Page 1. Multi-Metall-Zertifizierung in der globalen Wertschöpfungskette mittels Blockchain- Technologie Robert Bosch, Ralph Bärligea, Cristina Gagiu, Kai Baumann und Florian Anderhuber … 250 2 Eigenschaften, Chancen und Anwendung einer Blockchain ..... 251 …";Autres articles;;null;;;;https://scholar.google.com/scholar?start=610&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094534-624;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[HTML][HTML] Mwpow: Multiple winners proof of work protocol, a decentralisation strengthened fast-confirm blockchain protocol;Y Xu, Y Huang ; Security and Communication Networks, 2019 hindawi.com;United Kingdom;"… On the one hand, the decentralisation and security of blockchain are in jeopardy. Permitless blockchain usually uses cryptocurrency to reward its participants to encourage participation; however, the less competitive nodes are expecting less or zero rewards …";Cité 3 fois;Les 8 versions;[HTML] hindawi.com;https://www.hindawi.com/journals/scn/2019/3674274/;"[image: logo] Journals Publish with us Publishing partnerships About us Blog Security and Communication Networks +Journal Menu [image: ]PDF[image: ] Icons/Arrow Right White Created with Sketch. Journal overview For authorsFor reviewersFor editorsTable of ContentsSpecial Issues [image: ] Submit Security and Communication Networks / 2019 / Article Article SectionsOn this page AbstractIntroductionRelated WorkConclusionsData AvailabilityConflicts of InterestAcknowledgmentsReferencesCopyright Special IssueComputing Infrastructure and Complex Algorithms for Information Security in Communication Networks View this Special Issue Research Article | Open Access Volume 2019 |Article ID 3674274 | https://doi.org/10.1155/2019/3674274 Yibin Xu, Yangyu Huang, ""MWPoW: Multiple Winners Proof of Work Protocol, a Decentralisation Strengthened Fast-Confirm Blockchain Protocol"", Security and Communication Networks, vol. 2019, Article ID 3674274, 13 pages, 2019. https://doi.org/10.1155/2019/3674274 Show citation MWPoW: Multiple Winners Proof of Work Protocol, a Decentralisation Strengthened Fast-Confirm Blockchain Protocol Yibin Xu[image: ] .cls-1{fill:#a6ce39;}.cls-2{fill:#fff;}.cls-3{fill:none;} orchid 1 and Yangyu Huang[image: ] .cls-1{fill:#a6ce39;}.cls-2{fill:#fff;}.cls-3{fill:none;} orchid 21School of Computer Science and Informatics, Cardiff University, Cardiff, CF24 3AA, UK 2School of Electronic Engineering and Automation, Guilin University of Electronic Technology, Guilin 541004, China Show more Academic Editor: Veljko Milutinovic Received11 Jul 2019 Accepted08 Oct 2019 Published18 Nov 2019 Abstract Blockchain mining should not be a game among power oligarchs. In this paper, we present the Multiple Winners Proof of Work Protocol (MWPoW), a mining-pool-like decentralised blockchain consensus protocol. MWPoW enables disadvantaged nodes which post only a small amount of calculation resource in the mining game to create blocks together and compete with power oligarchs without centralised representatives. A precise Support Rate of blocks can be determined through the mining process; the mechanism of the mainchain determination is therefore changed and has become faster and more straightforward. A method that periodically adjusts the block size and the block interval is introduced into MWPoW, which increases the system flexibility in the changes of network conditions and data flow. Experiments suggest, without lifting calculation and bandwidth requirements, MWPoW is more attractive to disadvantaged nodes due to its mostly increased reward expectation for disadvantaged nodes. The transaction pending time is shortened chiefly, and either the block interval or the block size can be adapted amid the changes of overall network conditions. 1. Introduction Bitcoin [1], Ethereum [2], and other blockchain systems take the research direction of acquiring a consistent view among mutually distrusting participants to public attention. Blockchain’s transparency and irreversibility make it a perfect mechanism for maintaining the integrity and public confidence in applications like crowd-funding and gambling, where trust is the essence. Blockchain also brings hope to change our financial system and other fields that are vulnerable to the catastrophe caused by a failure in a single central component. Blockchain achieved the named properties with the premise that more than half of the participated resources are always honest. Every decision in the blockchain is a decentralised consensus decision among the participants instead of a centralised order from the superior governor. A blockchain is entirely decentralised when it operates in a permitless mode where it opens the membership and sustains anonymous participants to join and leave the system freely. Nevertheless, there are problems with the design of permitless blockchain. With people seeking to extend the usage of permitless blockchain to various fields, they have found that the majority implemental barrier is the dilemma between the increment of throughput and the maintenance of decentralisation. On the one hand, the decentralisation and security of blockchain are in jeopardy. Permitless blockchain usually uses cryptocurrency to reward its participants to encourage participation; however, the less competitive nodes are expecting less or zero rewards. In Bitcoin (Nakamoto blockchain), with a standard computer having a hash rate of , the computer has to mine for an average of 62,000 years to find a block [3]. The design that only the block creator receives remuneration in every iteration of the mining game has discouraged the disadvantaged nodes from participating in this tensed competition, causing a tendency to partly-centralisation. We see the same problem in Proof of Stake (PoS) [4] byzantine consensus protocol, the people with more tokens become oligarchs who are likely to win the game. The decentralisation is further damaged when nodes join in the mining pools for a higher reward expectation. A mining pool is a centralised node that gathers the resources from individual nodes, mine as one, and distribute the funding gained based on the resources individual nodes posted. The participated nodes generally have no sense of how their resources are used; thus, honest mining pool participants can also be an accomplice of byzantines. Merged mining [5] is an example of this, where the mining pool participants’ power can be used in multiple mining games of different blockchains without their acknowledgements. The same problem goes to DPoS, where the stakes of minorities are gathered by several prominent representatives, the system is partly centralised, and then the security concerns are aroused. Blockchain needs to enable as many devices as possible to participate in maintaining the decentralisation. It must give disadvantaged devices enough time (block interval) to digest information, verify blocks, and reach a consensus with others. Every block interval consists of two subintervals: the time for creating a block and the time for broadcasting the block. The time allocation inside every block interval changes with the come and go of participants of diverse calculation ability and network situation. It is difficult to conclude a convincing reason for setting a specific block interval and whether a block interval adjustment improves the performance or damages the security. A previous research [6] shows that a significant propagation latency in blockchain network may cause miners to mine on dated blocks. If the block interval is too short, the impact of network advantage may surpass that of calculation advantage in the chance to win the mining game, causing a weakened security. On the other hand, the throughput (transactions per second) of blockchain, in reality, is relatively low to power its potential applications. For the network latency and security concerns, the block size cannot be significant. If the block size is large, with the same block interval, the subinterval for creating a block is shorter compared to that with smaller block size. This setting may cause an unbalance of the time allocation between the two subintervals, further damaging the security of the blockchain. Most blockchains [1, 4, 7] require three later block confirmations to confirm a transaction embedded to block. This rule brings a pending time of at least 30 minutes to accept the transaction in bitcoin [1], without counting the pending time before a block embeds this transaction. This rule also contributes to the low throughput problem because only the confirmed transactions can be used in further transactions. However, this rule is essential for the blockchain security. People only know if a branch of blocks is the longest one to their knowledge. They do not know the exact percentage of the overall calculation power that has agreed on that branch and if there is an unknown branch of blocks of more support. People must wait for a predefined time window to accept a block to the mainchain and prevent a wrong decision in a significant propagation latency. There are alternatives to this mainchain determine rule in protocols like Directed Acyclic Graph [8–10] which has uncertain transaction confirmation time and is more vulnerable to attacks. GHOST [11] shortens the time for mainchain determination by allowing people mine on the branch that has the most blocks instead of the highest branch. However, it still requires later block confirmations to accept a block finally. There is no clue of how much percentage of the overall calculation power in exact an attempt would take to overwrite the mainchain. This problem also exists in other blockchain byzantine consensus protocols, e.g., Proof of Stake (PoS) [4] and Delegated Proof of Stake (DPoS) [7]. They take a long pending time to decide on a branch of blocks as the mainchain confidently. There are many byzantine consensus mechanisms in pre-blockchain eras; they often make security/performance trade-offs which make them no longer a trustworthy decentralised system. Byzantine consensus mechanisms such as those in [12–14] are specified working in a closed-membership setting, the participants are fixed, and they all know each other’s identities through authenticated third parties. These mechanisms are incredibly vulnerable to Sybil attacks [15], where the byzantine repeatedly creates different identities to acquire a significant influence on the system. More protocols such as those in [16–18] either scale poorly with the number of participants or are inefficient. In this paper, we show Multiple Winners Proof of Work protocol (MWPoW), a consensus protocol that attempts to increase the scalability of blockchain while maintaining the decentralisation by (1) introducing a method to dynamically adjust the block interval and make it fit into the network situation, (2) changing the way of mainchain determination and shortening the transaction pending time, and (3) strengthening the decentralisation by increasing the chance for disadvantaged participants to receive remuneration. In MWPoW, we encourage people to join in the blockchain directly by eliminating the reward-expectation gap between mining on the blockchain and mining in a mining pool. A block is not published by one miner but by a group of miners. Miners receive remuneration based on their contribution directly if they collectively mined a block. We improve the scalability of blockchain by shortening the time to accept a block finally: any node can calculate a precise Support Rate of a block without waiting later block confirmations. An exact percentage for time allocation in block interval can be derived, either the block size or the block interval can be dynamically adjusted safely and reasonably to fit into the data flow. Compared to the previous MWPoW paper [19], this paper makes the following improvements; parts of the MWPoW are redesigned:(i)The mandatory grouping requirements are removed, and miners are not assigned into three predefined groups.(ii)The block Support Rate is systematically defined and analyzed.(iii)The branch choosing and the mainchain determination method are thoroughly redefined.(iv)The new approach to adjust block interval and block size is introduced.(v)The performance is compared with other fast-confirm protocols. 2. Multiple Winners Proof of Work Protocol 2.1. MWPoW Outline 2.1.1. Definition (i)Calculation Power Claim. A miner’s calculation power is defined as the hash difficulty one can achieve in a fixed time window. Calculation Power Claim is the hash difficulty that a miner intends to reach in every round of the mining game:where is the overall power claimed by registered participants, N is the number of registered participants in the network, and is the Calculation Power Claim of registered participant N.(ii)New Join. New Join is a data set, which records the Calculation Power Claim of a participant and a wallet address of this participant (the wallet address is used for receiving remuneration). There is a Nonce field in New Join, which is used for adjusting the hash of New Join. For a New Join to be valid, the hash of this New Join must meet at least the Calculation Power Claim of this New Join. Table 1 shows the structure of New Join.(iii)Try Range. Try Range () is a number interval of the Nonce in block header:where N is the number of registered participants in the network. Miner mines on .(iv)Acceptance Difficulty. The first block that reaches the Acceptance Difficulty in a round of mining should be placed in the mainchain. Acceptance Difficulty is adjusted based on how much time is consumed for the winner block to achieve the Acceptance Difficulty:where is the Acceptance Difficulty at the block height X, is the predefined block interval, and is the time when block X is created.(v)Entrance Difficulty. A block is broadcasted to the network when this block reached Entrance Difficulty. Entrance Difficulty of a new round is adjusted base on how many blocks reached Entrance Difficulty in the previous round of the game:where is the Entrance Difficulty at the block height X; is the number of blocks reached Entrance Difficulty at block height ; is the ideal number of , and we set .(vi)Share. Share is a container of Nonce when broadcasting. The Nonce inside a Share which is sent by a miner must make the hash of the block fulfill at least 25% of this miner’s Calculation Power Claim. Table 2 shows the structure of Share.(vii)Countable Share. If a miner has sent at least two valid Shares for a block, the difficulties of these Shares are counted toward the Support Rate of this block and the miner will be able to receive remuneration for announcing this block if this block wins the game later.(viii)Share Difficulty Cap. The maximum sum of difficulties of Countable Shares sent by a miner X in a round of game is (its Calculation Power Claim). If it sends more, the sum is capped at .(ix)Support Rate. The Support Rate of a block is defined as the ratio between the sum of the difficulties of the Countable Shares for the branches stem from this block and the sum of difficulties of all Countable Shares of all the branches in the blockchain since the block height of this block:where is the Support Rate of block X; is the latest block on top of the blockchain branch stem from block X; k is the number of all the branches; refers to the latest block on top of the specific branch; is the total difficulty of the Countable Shares for block i. Figure 1 shows an example where red and blue dotted boxes include the branches stem from block 1 and block 2, respectively. The Support Rate of block 1 is 28.57% while which of block 2 is 71.43%.(x)Reward. The reward is given as follows:where is the set of miners who contributed the Countable Shares for announcing block X; is the overall reward assigned from the system for the block at the block height X; Shares of block X are embedded in block ; is the total difficulty of the Countable Shares embedded in block ; is the difficulty of the Countable Shares miner i contributed to; and is the amount of remuneration given to miner i as a Coinbase transaction in block .(xi)Valid Block. A miner determines a block as a valid one when the transactions, New Joins and Shares in this block are correct; the Shares and New Joins must be more than previously known to the miner.(xii)Registered Power. The Registered Power of a block height is defined as the sum of all the new calculation power shown in the New Joins embedded in the block sat this block height plus the sum of all the remaining calculation power after expelling unqualified miners who failed to show 50% of their powers when announcing the preceding block. Figure 2 shows an example, where the New Joins of miner A and miner B are embedded in block 1, Miner A worked on block 2, and miner B worked on block 3 (that is why they are expelled from the other branch). The New Joins of miners C, D, E, F, G, H, I, J, K, and L show up on the network and should be embedded into a block at the block height X; block 2 does not include L, and block 3 does not include D; however, both blocks can be accepted as the discrepancy does not excel 10% of the contents in the network. But, when calculating the Registered Power, all the new participants as well as the remained miners should count.(xiii)Restriction for Branch Choosing. If a miner has sent two Shares for a block, this miner is not allowed to change branches in this round of the game. If a miner broadcasted two or more valid Shares for blocks of different branches at the same block height, the miner would be expelled from the game and its contribution will not be counted toward the Support Rate.(xiv)Statement Rate. , where , k is the set of miners who have sent two valid Shares for a block at the block height X and are not violating the restriction for branch choosing, and is the Registered Power at the block height X.(xv)Noncommittal Power. If a miner has not yet sent two Shares for a block, its power is counted toward the Noncommittal Power. If a miner breaks the restriction for branch choosing, its Shares will be eliminated from the Support Rate of all blocks at this block height and will not be counted toward Noncommittal Power.(xvi)Block Size. The number of transaction allowances per block. Filed Purpose Bytes HashPrevBlock A 256-bit hash of the latest block in the mainchain 32 Intended_difficulty The power (difficulty) which the miner intended to place into the mining game 4 Wallet address For receiving compensation 34 Nonce Hash tried (A 256-bit number starts from 0) 32 Table 1  Structure of New Join. Filed Purpose Size (bytes) L_4_D_IH Last 4 bytes of the block header hash of a block candidate 4 Nonce Hash tried (A 256-bit number) 32 Table 2  Structure of Share. [image: ] Figure 1  The Support Rate of block 1 and block 2. [image: ] Figure 2  Explanation for Registered Power. 2.1.2. Game Overview Miners need to claim the calculation power they intended to put into the mining game before participating the game. Each miner is given a unique based on the calculation power it claimed. When a miner creates a block and finds a Nonce that fulfill Entrance Difficulty in its , it will broadcast the block as well as the Share. Then other miners will attempt to find a Nonce in their to make this block fulfill the Acceptance Difficulty if they acknowledge this block as a valid one. Ideally, miners should announce a block collectively by doing PoW in their in parallel. When a Share of a block is broadcasted and the Nonce in it made the block reached the Acceptance Difficulty, this block is announced. The first block that reaches Acceptance Difficulty is the winner block, and miners who contribute Shares to this block will divide the remuneration of mining. During the announcement, miners should send Shares which do not fulfill the Acceptance Difficulty but fulfill at least of the power they claimed previously as the proof of contribution. A miner can only send up to four Shares to the network per round of the game. If more than one block is successfully announced in a round of game, miners should mine on top of the one first reached Acceptance Difficulty from their perspectives (miners may have different views due to the network delay). Assume that this winner block is the block X, the blocks at the next block height (block ) will embed Shares of block X. According to the Shares embedded, if a miner failed to find the Shares which together weighted more than of the power it previously claimed, this miner will be expelled from the game (its will be cancelled since BH ). The remuneration for the miners of block X is given at the block height BH through the Coinbase transaction. All the valid miners of block X divide the reward based on the difficulty of Shares they sent. As every miner oversees different Try Ranges, it is easy to determine who should receive remuneration and what amount of remuneration. 2.1.3. Game Procedure (i)Register power: A new miner creates and submits a New Join to the system.(ii)Get a Try Range: Miners whose New Joins are embedded into a block will be assigned with Try Ranges.(iii)Mining: The miners try to create a block and find a Nonce that fulfills Entrance Difficulty in their; if a block created by a miner has reached Entrance Difficulty and other miners approve this block as a Valid Block, they will try to find a Nonce that fulfills Acceptance Difficulty in their Try Ranges.(iv)Getting reward: If the miner submitted adequate number of valid Shares for the winner block, the amount of reward would be given at the next block height.(v)Rearrange Try Range and start over: After every round of the game, the invalid miners will be globally expelled (miners who failed to send Shares which stand for at least 50% of the power they claimed, their Try Ranges will be cancelled). Then, new miners are added, and the Try Ranges for all the valid miners be rearranged. After that, a new round of the game starts. Miners who submitted New Join before and were not expelled do not need to register power again to participate the new round of the game. 2.2. Block Simplification and Bandwidth Demand Because New Joins and Shares are embedded to the block, the block size is increased tremendously. We use a block simplification algorithm Graphene [20] to simplify the block as to lower the bandwidth demand. The structure of MWPoW block is given in Figure 3. Graphene is a block simplification method which uses Bloom filter (BF) [21] and IBLT [22]. It can encode 2000 transactions into 2.6 kbytes, and the encoded blocks can be decoded by nodes using the previously received transactions. [image: ] Figure 3  Block overlook. Though the block is simplified, nodes still need to promptly hear all the New Joins, Shares, and transactions in the system to decode the simplified blocks. A New Join sized while a Share sized . Figure 4 shows the amount of data needed for hearing New Joins and Shares with the different number of valid miners in the network. Every miner sends four Shares to the network per round of the game, and in every round of the game, 200 new miners are added into the network until there are 10000 miners. [image: ] Figure 4  The amount of data for New Join and Shares VS different miner number. Bitcoin nowadays has a steady number of around 8000 miners worldwide in the network. Let us assume MWPoW also has this user scale, then the minimum bandwidth for a node will be , where Interval is the predetermined block interval (in minutes). The minimum bandwidth with different block interval is shown in Figure 5. It only requires an additional to function MWPoW with the Bitcoin setting (block interval of 10 minutes). [image: ] Figure 5  The minimum bandwidth for New Join, Shares VS block interval. 2.3. Distributed Remuneration According to the Shares embedded in the block, the remuneration will be given to the miners of the winner group directly through a Coinbase transaction. The amount of remuneration for miners is calculated based on the total reward amount of the last block height multiplied the sum of the miner’s valid Share proportions to the sum of all the Shares in winner group. Figure 6 shows an example of this, where the sum of the difficulty of the Shares sent by the Miner A and Miner B is 212 and 49, respectively, and the sum of the difficulty of all the valid Shares of the group is 1000. The total reward amount of the last block height is 100. Miner A and Miner B receive 21.2 coins and 4.9 coins, respectively. It should be noticed that if the difficulty of the valid Shares of a miner excelled the difficulty it claimed in the New Join, the system should use the difficulty in the New Join to calculate remuneration. [image: ] Figure 6  Reward assignment. 2.4. Fast Confirmation It is predefined that the miners should mine on top of the block which, to their knowledge, first reached the Acceptance Difficulty. However, a miner may shift to mine on top of another block if this miner is allowed to change branches (when the miner has not yet sent two Shares for a specific block), and there is another block of Acceptance Difficulty with more Support Rate. A block is finally accepted when the following finally acceptance criteria are satisfied:(1)This block is inside the highest branch of the mainchain.(2)The Statement Rate of the latest block height is larger than (3)The calculation power that reflected by the difference between the Support Rate of this block and the Support Rate of the second largest block at the same block height is larger than of the Registered Power of the latest block height. Figure 7 shows an example of the branch choosing. In , final acceptance criteria (3) is not met so that we cannot yet determine which block is the final accepted one. In , where there are succession blocks of blocks A, B, and C, the Support Rate of blocks A, B, and C are changed. Blocks C and D are finally accepted because the differences of difficulty between this branch and other branches are larger than 25% of the latest Registered Power. Block C and the branch stems from it have Shares that altogether stand for 6110 difficulties while the second popular block—block B and its branch altogether have 3172 difficulties; the difference is 2938, that is, about 41% of the Registered Power is exceeded the final acceptance criteria. [image: (a)] (a) [image: (b)] (b) [image: (a)] (a)[image: (b)] (b) Figure 7  Finally accept a block. 2.5. Adjustment of the Block Interval and Block Size Let be the timestamp for the time of creating block x, is the timestamp that indicates the time when the creator of block x heard first out of the four Shares of block from miners whose Calculation Power Claim together stand for at least of the overall registered power at the block height ; both and are embedded in the block header of block x. The block interval is defined as , where S is the time for synchronization and M is the time for mining. Real time S and M can be derived from (1) and (2) . If a desire ratio is predefined, the block interval and block size can be adjusted accordingly. 2.5.1. Block Interval Adjustment Block interval is adjusted as follows:where , and is the setting value of the block interval between the block height x and the block height . 2.5.2. Block Size Adjustment The block size is adjusted as follows:where is the block size of the block height x. In the experiment section, we will examine how block interval, block size, and acceptance difficulties change when the number of nodes and the bandwidth of nodes fluctuates. 3. Security Analysis 3.1. Restriction of Branch Choosing If a miner has sent two valid Shares for a block at a block height, this miner is not allowed to change branches in this iteration. This rule sets a bottom line for speculators; if the rule is broken, their power is not considered Registered Power and they are expelled since the next round of the game. 3.2. Attack Because the Support Rate of a block may be reduced when a miner breaks the restriction of branch choosing, this brings the room for the attack. Figure 8 shows an example of the attack, where the rectangles in red stand for the attacker’s power. In (a), block is finally accepted because its Support Rate is more significant than Bob (the second largest) for more than of the Registered Power and the Statement Rate is more significant than . The attacker has placed at least two Shares for . Otherwise, its Shares are not Countable Shares for . Because the maximum sum of difficulties of Shares one can contribute to a block height is its Calculation Power Claim (the difficulty is capped if one contributed more), it takes at least the attacker’s Calculation Power Claim to make two valid Shares for (otherwise the Shares are not countable); after that, we entered situation (b). As condition (b) violates the restriction of branch choosing, the attacker’s power is eliminated from both and and then (c) is reached, where is the finally accepted block instead of . [image: ] Figure 8  The attack simulation. Let us assume block reached final acceptance criteria and had a F Support Rate; at that time, block had Support Rate in the network. The attacker must have placed at least D amount of Registered Power into block ’s branch through at least two Shares submitted at the latest block height of ’s branches. Then, a similar D amount of power must be used to create two more valid Shares for another branch which does not stem from to make the attacker’s contribution to invalid. The attacker must have claimed a power that is around two times of D when joining in the game because each Share stands for at least of the power and the maximum difficulty of the sum of the attacker’s countable Shares is its power claim. For block to reach acceptance criteria at first, D must be equal to or larger than of the overall Registered Power (see (3) of Fast confirmation section). So, an attack costs power (at least of the overall Registered Power.) 4. Related Work and Contributions In 2013, Sompolinsky and Zohar [11] proposed the GHOST protocol. GHOST handles more transactions per second than Nakamoto blockchain because it can determine the mainchain faster. Not only the earliest block at each round of the game is accepted, other blocks, e.g., orphaned blocks, which are found later could also be accepted. GHOST accelerates the mainchain determination by allowing block parallelism in the network; it prevents the computational power to scale up the network. Some ideas of MWPoW are similar to GHOST: Shares in MWPoW function like fork blocks in GHOST for mainchain determination except Shares are much smaller and generated faster. Also, every Share brings an explicit increase or decrease of the Support Rate for every pending block. Eyal et al. [23] improved the transaction per second in their blockchain protocol named Bitcoin-NG. Bitcoin-NG brings more blocks within one round of mining game. Key blocks and macroblocks are two different block types in Bitcoin-NG. The key blocks carry no transactions; they are used for leader elections solely. In the meantime, the macroblocks are employed to deliver transactions proposed by the creator of the key block. The Share structure of MWPoW is also similar to macroblocks in Bitcoin-NG, with no transaction attached. We do not add transactions into the Share structure, because the macroblocks in Bitcoin-NG are linearly linked to each other. They are sent by the key block creator only so that it guarantees the transactions are not duplicated. However, the Share structure does not link with other, and Shares are used to determine the Support Rate and reward distribution, which features the macroblocks cannot provide. Lightning blocks [24] proposed by Poon et al. uses an off-chain micropayment channel between two parties to improve the transactions per second in the Bitcoin network. Micropayment channel allows both parties to send large transactions in an instant between the parties after only a few transactions been included into the blockchain. However, as it is only an application running on top of Bitcoin, it still underlies Nakamoto blockchain regardless of its contribution to enhance the transaction throughput. It does not solve the core problem of the Nakamoto protocol. Buterin et al. [25] explore another approach that aims to ease the scalability problem. This approach involves sampling and challenging techniques. In their model, participants are split into several subcommittees in the network to distribute computation and verification cost. Random sample verifier verifies the correctness of others’ updates and challenges some others’ verification results. However, some invalid updates would never be detected under this mechanism. Regarding block size/block interval adjustment or a clear view of the time allocation for data synchronisation and mining, we did not find any previous research that addresses these issues. Besides the contribution toward a shorter transaction pending time ";"""dc.publisher"",""Hindawi"" ""og:image"",""https://images.hindawi.com/journals/scn/scn.banner.jpg"" ""og:image:width"",""600"" ""twitter:card"",""summary_large_image"" ""citation_journal_title"",""Security and Communication Networks"" ""language"",""en"" ""og:description"",""Blockchain mining should not be a game among power oligarchs. In this paper, we present the Multiple Winners Proof of Work Protocol (MWPoW), a mining-pool-like decentralised blockchain consensus protocol. MWPoW enables disadvantaged nodes which post only a small amount of calculation resource in the mining game to create blocks together and compete with power oligarchs without centralised representatives. A precise Support Rate of blocks can be determined through the mining process; the mechanism of the mainchain determination is therefore changed and has become faster and more straightforward. A method that periodically adjusts the block size and the block interval is introduced into MWPoW, which increases the system flexibility in the changes of network conditions and data flow. Experiments suggest, without lifting calculation and bandwidth requirements, MWPoW is more attractive to disadvantaged nodes due to its mostly increased reward expectation for disadvantaged nodes. The transaction pending time is shortened chiefly, and either the block interval or the block size can be adapted amid the changes of overall network conditions."" ""prism.issn"",""1939-0114"" ""citation_issn"",""1939-0114"" ""dc:title"",""MWPoW: Multiple Winners Proof of Work Protocol, a Decentralisation Strengthened Fast-Confirm Blockchain Protocol"" ""Content-Encoding"",""UTF-8"" ""citation_pdf_url"",""https://downloads.hindawi.com/journals/scn/2019/3674274.pdf"" ""robots"",""index"" ""google-site-verification"",""AxEuDsL7vXGOxRe53-uFhOk2ODN0bbXMeuBy6Pfq4ww"" ""citation_author"",""Xu, Yibin"",""Huang, Yangyu"" ""dc.date"",""2019/11/18"" ""prism.volume"",""2019"" ""citation_doi"",""https://doi.org/10.1155/2019/3674274"" ""prism.publicationName"",""Security and Communication Networks"" ""dc.title"",""MWPoW: Multiple Winners Proof of Work Protocol, a Decentralisation Strengthened Fast-Confirm Blockchain Protocol"" ""Author"",""Hindawi"" ""citation_volume"",""2019"" ""dc.language"",""en"" ""Content-Language"",""en"" ""authors"",""Yibin Xu | Yangyu Huang"" ""citation_title"",""MWPoW: Multiple Winners Proof of Work Protocol, a Decentralisation Strengthened Fast-Confirm Blockchain Protocol"" ""citation_year"",""2019"" ""citation_publisher"",""Hindawi"" ""dc.format"",""text/html"" ""description"",""Blockchain mining should not be a game among power oligarchs. In this paper, we present the Multiple Winners Proof of Work Protocol (MWPoW), a mining-pool-like decentralised blockchain consensus protocol. MWPoW enables disadvantaged nodes which post only a small amount of calculation resource in the mining game to create blocks together and compete with power oligarchs without centralised representatives. A precise Support Rate of blocks can be determined through the mining process; the mechanism of the mainchain determination is therefore changed and has become faster and more straightforward. A method that periodically adjusts the block size and the block interval is introduced into MWPoW, which increases the system flexibility in the changes of network conditions and data flow. Experiments suggest, without lifting calculation and bandwidth requirements, MWPoW is more attractive to disadvantaged nodes due to its mostly increased reward expectation for disadvantaged nodes. The transaction pending time is shortened chiefly, and either the block interval or the block size can be adapted amid the changes of overall network conditions."" ""og:image:type"",""image/jpeg"" ""citation_date"",""2019/11/18"" ""title"",""MWPoW: Multiple Winners Proof of Work Protocol, a Decentralisation Strengthened Fast-Confirm Blockchain Protocol"",""MWPoW: Multiple Winners Proof of Work Protocol, a Decentralisation Strengthened Fast-Confirm Blockchain Protocol"" ""twitter:image"",""https://images.hindawi.com/journals/scn/scn.banner.jpg"" ""citation_online_date"",""2019/11/18"" ""twitter:site"",""website"" ""dc.type"",""Research Article"" ""dc.source"",""Security and Communication Networks"" ""dc.creator"",""Xu, Yibin"",""Huang, Yangyu"" ""citation_fulltext_html_url"",""https://www.hindawi.com/journals/scn/2019/3674274/"" ""prism.publicationDate"",""2019/11/18"" ""Content-Length"",""619448"" ""citation_xml_url"",""https://downloads.hindawi.com/journals/scn/2019/3674274.xml"" ""Content-Type"",""text/html; charset=UTF-8"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""og:type"",""website"" ""twitter:title"",""MWPoW: Multiple Winners Proof of Work Protocol, a Decentralisation Strengthened Fast-Confirm Blockchain Protocol"" ""dc.description"",""Blockchain mining should not be a game among power oligarchs. In this paper, we present the Multiple Winners Proof of Work Protocol (MWPoW), a mining-pool-like decentralised blockchain consensus protocol. MWPoW enables disadvantaged nodes which post only a small amount of calculation resource in the mining game to create blocks together and compete with power oligarchs without centralised representatives. A precise Support Rate of blocks can be determined through the mining process; the mechanism of the mainchain determination is therefore changed and has become faster and more straightforward. A method that periodically adjusts the block size and the block interval is introduced into MWPoW, which increases the system flexibility in the changes of network conditions and data flow. Experiments suggest, without lifting calculation and bandwidth requirements, MWPoW is more attractive to disadvantaged nodes due to its mostly increased reward expectation for disadvantaged nodes. The transaction pending time is shortened chiefly, and either the block interval or the block size can be adapted amid the changes of overall network conditions."" ""og:title"",""MWPoW: Multiple Winners Proof of Work Protocol, a Decentralisation Strengthened Fast-Confirm Blockchain Protocol"" ""citation_abstract"",""Blockchain mining should not be a game among power oligarchs. In this paper, we present the Multiple Winners Proof of Work Protocol (MWPoW), a mining-pool-like decentralised blockchain consensus protocol. MWPoW enables disadvantaged nodes which post only a small amount of calculation resource in the mining game to create blocks together and compete with power oligarchs without centralised representatives. A precise Support Rate of blocks can be determined through the mining process; the mechanism of the mainchain determination is therefore changed and has become faster and more straightforward. A method that periodically adjusts the block size and the block interval is introduced into MWPoW, which increases the system flexibility in the changes of network conditions and data flow. Experiments suggest, without lifting calculation and bandwidth requirements, MWPoW is more attractive to disadvantaged nodes due to its mostly increased reward expectation for disadvantaged nodes. The transaction pending time is shortened chiefly, and either the block interval or the block size can be adapted amid the changes of overall network conditions."" ""og:image:height"",""315"" ""prism.doi"",""https://doi.org/10.1155/2019/3674274"" ""dcterms.issued"",""2019/11/18"" ""viewport"",""width=device-width, initial-scale=1"" ""twitter:description"",""Blockchain mining should not be a game among power oligarchs. In this paper, we present the Multiple Winners Proof of Work Protocol (MWPoW), a mining-pool-like decentralised blockchain consensus protocol. MWPoW enables disadvantaged nodes which post only a small amount of calculation resource in the mining game to create blocks together and compete with power oligarchs without centralised representatives. A precise Support Rate of blocks can be determined through the mining process; the mechanism of the mainchain determination is therefore changed and has become faster and more straightforward. A method that periodically adjusts the block size and the block interval is introduced into MWPoW, which increases the system flexibility in the changes of network conditions and data flow. Experiments suggest, without lifting calculation and bandwidth requirements, MWPoW is more attractive to disadvantaged nodes due to its mostly increased reward expectation for disadvantaged nodes. The transaction pending time is shortened chiefly, and either the block interval or the block size can be adapted amid the changes of overall network conditions."" ""dc.identifier"",""https://doi.org/10.1155/2019/3674274"" ""prism.section"",""Research Article"" ""og:url"",""https://www.hindawi.com/journals/scn/2019/3674274/"" ";https://scholar.google.com/scholar?start=440&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094532-612;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[PDF][PDF] Blockchain for Internet of Things (IoT) Research Issues Challenges & Future Directions: A Review;M Alamri, NZ Jhanjhi… ; Int. J. Comput. Sci. Netw …, 2019 expert.taylors.edu.my;;"… Which can help solve many Blockchain challenges Like, Oracle was responsible for ensuring that the contract condition was met. Overall, this Oracle was a trusted third party. Artificial intelligence technology has enhanced Oracle's intelligent building …";Cité 17 fois;;[PDF] taylors.edu.my;https://expert.taylors.edu.my/file/rems/publication/109566_6018_1.pdf;" IJCSNS International Journal of Computer Science and Network Security, VOL.19 No.5, May 2019 244 Manuscript received May 5, 2019 Manuscript revised May 20, 2019 Blockchain for Internet of Things (IoT) Research Issues Challenges & Future Directions: A Review Malak Alamri†, NZ Jhanjhi††, Mamoona Humayun† †College of Computer and Information Science, Jouf University Al-Jouf, Saudi Arabia ††School of Computing and Information Technology, Taylor’s University, Malaysia Summary Internet of Things (IoT) becomes vital source of converting things into smart, including smart homes, smart cities, smart industries etc. Internet of things have the ability to connect billions of things at the same time, which seeks to develop information sharing requirements that improve our daily lives. By seeing things on the Internet, traditional devices become intelligent and independent, and this vision becomes real and realistic. The Blockchain appears a great source of providing security to new era technological applications. The high growth of IoT based smart applications have high demand of security to manage and maintain the IoT based application’s data safety, security integrity, and authentication. The merger of both technologies may provide our secure security solutions. This research explores the Internet of things security solutions by integrating IoT applications with blockchain. The research initially focused on the blockchain basics, types, design for Internet of things applications. Further we elaborate the several challenges and issue of BIoT applications linked to the energy efficiency, security, privacy, throughput, latency, block size, bandwidth, usability, multi chain management, versioning, forks, autonomy and enforcement. Finally, we explore the future directions of blockchain for the internet of things. The literature- based results showed, that the integration of Blockchain with Internet of things provides significant solutions of security and privacy to IoT based application. Key words: Blockchain, Internet of Things, Challenges, Future directions 1. Introduction The term ""Blockchain"" originated from its technical structure (Chain Blocks), meaning the association of each block with the block that precedes it. The blockchain concept works to interlink the connections or transactions of data in the clusters. The cluster is defined as the data structure which includes many financial transactions. Individuals or entities exchange transactions. These transactions may be financial in nature and sometimes (smart contracts). Blockchain participants are any person or institution that accepts protocol strings and helps develop them. The organizers of these networks and those responsible for software maintenance do not share the blockchain. In this section, the basics of blockchain, basic functions of blockchain, types of blockchain, blockchain and (IoT) are highlighted. The Basics of Blockchain The Blockchain idea was developed by Distributed Ledger Technology (DLT). This technology is developed to provide Convention validation technology across a network that may cover the entire word to facilitate peer- to-peer transactions and all financial transactions. This mechanism marginalizes third party roles in financial transactions such as: Banks, agents, intermediaries or any authority that may be required to ensure and maintain the fulfillment or update of transaction data. Then ensure that each financial transaction is correct and save it as a new block for an existing transaction. Once the transaction is saved within the string, it cannot be changed, overwritten or deleted, which requires higher levels of security and transparency [1]. Figure 1 illustrates further about the primary idea of blockchain and IoT based integrated application domain for the users. Fig. 1 How blockchain technology works. [3] The Basic Functions of Blockchain The Blockchain is an electronic mechanism that deals with financial transactions and uses the ""Peer to Peer"" technology. It has three basic functions: 1. Allow financial transactions between individuals and institutions around the world with a high degree of reliability and security because they destroy the so- called ""double spending"". [2] IJCSNS International Journal of Computer Science and Network Security, VOL.19 No.5, May 2019 245 2. Enable traceability (the ability to track something on the Internet to its assets) for transactions, which means that transactions will be clear, transparent and have higher levels of security. 3. Protect users from any attacks or violations by malicious users via the same system. And there is no need for central authorities to participate in financial transactions, and to ensure lower expenses. Fig. 2 Blockchain Features. Figure 2 illustrates the main features of block chain which makes block chain safer, faster, with increased capacity. The simple blockchain network can be illustrated as shown in Figure 3. Fig. 3 Blockchain Network [1] Types of Blockchain By reviewing the previous literature, the researcher noted the existence of two major types of Blockchain known by those interested in this field, namely: Blockchain licensed and without permission: 1.2.1. Blockchain licensed A licensed Blockchain is a network that is used by individuals or institutions to conduct their financial business, such as a group of institutions or banks that control financial transactions. This network is only delegated to a group of individuals or entities that can access data only. They have the ability to read target data and write only. The licensed Blockchain is more recent than permission without permission. Thus, a licensed Blockchain is a central entity such as a bank that has the ability to control the rights of individuals and identify them to participate in the process of reading or writing data. This type of Blockchain ensures higher degrees of privacy. With this in mind, the most widespread and known permissioned Blockchains are (Hyper ledger Fabric & R3). [1], [4]. 1.2.2. Blockchain Permission The Permission less Blockchain is an open network that can be accessed and used by any individual or entity. Bitcoin and Ethereum frozen hoops are good examples of unauthorized Blockchain because users can move to each other without any controller using bitcoin or ethereum as a method of payment. Since this cluster is open and decentralized, anyone (peer) can access or join this network and free to leave at any time. The counterpart is entitled to read or write what has been established for treatment. There is no central authority to manage peer interaction in this network, control membership, or read or write. The openness available means that the written content is readable by all individuals. However, the cryptographic features allow designing permission less Blockchain and hiding the information related to the peers’ privacy. [5] Blockchain and (IoT) The concept of “IoT” is the interconnection of smart devices to gather information and make decisions. By combining Blockchain with Internet objects, things can eliminate the lack of security in Internet objects where Blockchain requires “security by design”. Blockchain features, such as (incompatibility, transparency, readability, data encryption, and operational flexibility), can be used to overcome Internet security issues. The integration of Blockchain and IoT is a promising area of research which was tackled by a considerable amount of research but contains many uncovered areas. [6 – 7]. Table 1 shows comparsion between blockchain and IoT. Table 1: Comparison Between Blockchain and IoT [8] Blockchain IoT Decentralized Centralized Resource consuming Resource restricted Block mining is time- consuming Demands low latency Scale poorly with large network IoT considered to contains large number of devices High bandwidth consumption IoT devices have limited bandwidth and resources Has better security Security is one of the big challenges of IoT IJCSNS International Journal of Computer Science and Network Security, VOL.19 No.5, May 2019 246 2. Literature Review In this paper, the literature has been reviewed in three sections (architecture, current challenges and problems of BIoT applications and future trends). The review included a number of books, journals, letters, reports and other relevant documents as well as academic databases such as Science Direct, EBSCO, Emerald and SAGE. In order to search for relevant literature, a wide range of related terms, such as IOT, BIot, Block chain, Message Time, and Algorithms were used. With regard to the dates of review of sources of literature, the researcher reviewed a mixture of ancient and contemporary studies to provide an integrated account of the results in this field. Blockchain Design for Applications of IoT Blockchain technology is used in more than one Domain and situation. Different sources such as [9] It was suggested that progress in the application of blockchain started next to Bitcoin as Blockchain v1.0, and then changed with respect to smart conventions such as Blockchain v2.0 and subsequently progressed to justice, applications efionation, efiency and Blockchain v3.0. The authors of ""Blockchain everywhere"" stated that the main aid of Blockchain usage with smart contracts is that it can automatically evaluate these contracts. Adopting smart contracts, temperatures can be automatically evaluated and the sender and receiver notified. Besides, the saved data were counter-manipulative and could be used for conducting check by outer parties to assure the practice of good distribution of medical products. With Ethereum, such a decentralized system can be fully used to resist tampering at low cost, on every contract basis and on a byte basis. With the participation of many stakeholders in the supply chain, Blockchain technology can be used to automate processes and eventually save costs by making sure trust among stakeholders. [10] 2.1.1. Architecture Blockchain was a complex sort of Lego and must be adapted to specific business requirements. Because of different usage situations it is difficult to get a single simple structure, so they need to create different versions of Blockchain applications and architectural applications that suit individual business / industry needs. The approach presented was a single hybrid. The Blockchain is used together with a centralized server and a database-based approach. The main architecture of blockchain can be viewed in Figure 4. Fig. 4 Blockchain Architecture. [56] The main components of this system are Etherrium Blockchain network, database, intelligent nodes, server, mobile devices and sensors.Where the temperature is secured by smart written contracts. For each new group of pharmaceutical products or shipments that involve excellent temperature requirements, intelligent contracts are configured and deployed by the server to ensure compliance requirements for good distribution practice (GDP). [11] Therefore, the map was drawn from the consignment to the contract title through a linked database at low cost. The server hosts the modum.io AG node Ethereum that is involved in the Etherreum network and may witness modifications to the smart nodes or produce a new contract or intelligent contracts. [12] The Ethereum node is connected to a Hyper Text Transfer Protocol (HTTP) server via JSON. The data that is stored is too large or too sensitive to be stored in the Blockchain stored in the PostgreSQL database and this involves raw temperature data, because large cannot be stored in intelligent nodes. The smart nodes verify the temperature range and store the verification result in the smart nodes with the global Uniform Resource Location (URL), which refers to the raw temperature data and the retail data. Android clients communicate in the front end of the server through a Representative Transport Protocol (REST) interface designed with JSON to encrypt and decrypt requests / responses. Through the mobile phone, users can register new shipments including the administrative details within the system and create a smart contract for each shipment. The API should also allow the recipient of the shipment to download measurements of temperature measurements reported by the sensor to the server. Both the sender and receiver must be informed of the contract outcome and able to access the temperature measurements, preferably using the graphical representation. [10]A web portal and an infrastructure were the main components stand on Multichain and IoT devices as things were listed in. Figure 5 illustrated the blockchain prototype architecture. IJCSNS International Journal of Computer Science and Network Security, VOL.19 No.5, May 2019 247 Fig. 5 Blockchain, Prototype Architecture. [57] The web portal provides developers with safe and accurate control over software updates. The web portal is characterized by having an entrance to the Blockchain infrastructure, which is shared and shared by manufacturers. Each manufacturer must provide at least one business node for the development of computing power and availability of infrastructure. For the prototype, a Blockchain contract was hosted on the XenServer server and implemented as Virtual Machines (VMs). Web portal and Internet devices may share things with software updates and confirmations, through the Blockchain infrastructure. The system relies on asymmetric encryption to ensure data integrity and confidentiality. The Internet devices were either physically performed (i) by evolution panels, such as Raspberry Pi, which were closer to real field machines, or (ii) by virtual Qemu devices, to assess typical scalability. [14] To push the software update: 1. The factory logs on to the gate. 2. Select the device to update it. 3. Download the software update package with metadata. 4. Choose one of these options (a) just sign the update, (b) sign and encrypt. The first method is good for pushing an unencrypted file to a Blockchain, while the second method involves confidentiality. Many files are required because of hardware. However, the decryption key is supposed to be set for each existing device. Blockchain infrastructure, and ensure transactions are correct in less than a second. Each IoT Device communicates regularly with the Blockchain and then ensures that a new update is available for download. Therefore, IoT Device installs and downloads the update. Then, issue a Blockchain response to the modern hardware tracking. [15] 2.1.2. Cryptographic Algorithms In general, a Blockchain can be considered as a permanent record whose records are stored in specific time blocks. Where one block contains transactions. The cluster is defined by its hash and refers to the previous cluster fragmentation. Everything is stored in the public Blockchain. Pre-defined encryption keys were common on the Internet. Where they are executed in hardware firmware before shipment. Its purpose is to serve as a foundation in other encryption algorithms. However, there are a number of identical or non-random keys. These results allow an attacker to guess or know the encryption key used by the device. [16] 2.1.3. Message Time stamping Data generated from IoT devices is extensive, combining simple data such as sites, and more complex data such as watch videos. For data analysis, historical data must be reverted, and data must be stored and stored somewhere. Thus, this means that data from Internet devices things will be high standards. This also means that given the variety of data acquisition devices, data will also be heterogeneous. Another aspect of Internet data object is the relationship between space and time. The Internet will place things in a specific location and will place a time dimension on important data in statistical analysis. Only a small amount of data captured by Internet devices will be useful. Visual video can be used as an example where some video frames you capture when someone breaks rules are useful, while working hours and working hours were not useful. [17] Block chain updating and Protocol Stacks It was said that the Blockchain update protocol achieves consensus (probabilistic) in a Byzantine environment if these characteristics (probabilistically) are achieved [18]: 1. Health (Health) That if all valid nodes that are activated on a shared state require a Blockchain to be augmented by the same block, each documented node moves to a new local copy state, which is Blockchain that is headed by that block. 2. Agreement (consistency) If the trusted node confirms that a new cluster header exists, any trusted node that updates the local Blockchain screen will be updated by using this cluster head. 3. Liveness (Termination) All transactions that come from shonest nodes will be assured in the end. 4. Total order IJCSNS International Journal of Computer Science and Network Security, VOL.19 No.5, May 2019 248 All valid nodes accept the same transaction order as long as they are certain in their views of the local Blockchain. Protocols that are consensus differ with different Blockchain networks. Because allowed Blockchain networks to recognize more stringent control over the synchronization of consensus nodes, they may Byzantine Fault-Tolerant (BFT) protocols to present the needed compatibility characteristics. A typical application for such protocols can exist in the undulation network, where a group of concurrent Ripple servers extend Blockchain through the voting mechanism. Moreover, if an external Oracle is presented to set the initial node to generate the block, the practical BFT (PBFT) can be taken to implement a three-stage commitment schema to expand the Blockchain [19]. Table2 illustrated a comparison Between 4 Major Blockchain Protocols Table 2: A Comparison Between 4 Major Blockchain Protocols. Protocol type Tasks Key features Bitcoin Dealing with encrypted Bitcoin coin Characterized as less authorized, because it is a public key chain. Thus, anyone can join. - Each node is characterized by having complete information about the Blockchain, and this makes the network a decentralized one - The protocol allows users to perform non-reversible transactions without having to explicitly trust the third part Ethereum Launch their own Blockchain projects, including specially encrypted currencies The Blockchain is marked as generic, does not require permissions. - The same technological backbone, such as encryption defragmentation functionality, uses private and public key encryption. Ripple Protocol Facilitate the transfer of money at the lowest cost - RPCA nodes are applied every second. - The contract will have the last closed ledger. -RPCA happens in tours, and in every tour. Hyperledger Design and develop enterprise Blockchain. - It is an authorized key chain, and no entity can join except trusted by the organization. - Not suitable for coded currencies. Current Challenges and Issue for BIoT Applications Nowadays, developing the technologies in the BIoT environment is as Cyber-Physical Systems (CPS) [20] or RFID [21] and telemetry systems [22] or 4G/5G broadband communications [23] were lay in many challenges. In particular, the situation of the Mission and critical situations [24] Increased concerns were added. In addition, the mix indicates that the mix suggests additional operational and operational needs later, and the growth of BIoTs applications is a compound procedure, which was touched by numerous features, which were interconnected. 1.2.3. Energy Efficiency BIoT endpoints typically benefit from the supplier of power-based coercive equipment with batteries. Thus, energy efficiency was essential to allow long-term node placement. On the contrary, many Blockchains are considered by the power driven. In these cases, most use is due to two elements: 1. Mining Blockchain are similar to Bitcoin in providing use of large volumes quantities of electricity because of the mining process, that were implicates a consensus algorithm (PoW) which contains in a kind of physical power seek for a hash. 2. P2P communications Communications need edge strategies, which have to be strengthened on constantly, that might chief to energy waste. There were some researchers suggested energy effective for P2P networks protocols; however, there is still a need to examine additional issues for the exact state of Internet objects [25]. With regard to mining, proposed that the energy consumed by work proofs can be used for useful things while at the same time providing the needed PoW [16] Getting These proofs must have a certain difficulty degree, while verification must be, actually fast. Some Blockchain-based initiatives, such as Gridcoin, reward research computing with volunteer coins (though, as an unanimity algorithm, Gridcoin uses PoS). There was another interesting example was Primecoin, whose PoW mechanism searches for chains of prime numbers. So, a huge infrastructure such as the one involved in IoT could also be with regard to P2P communications, it was necessary for a Blockchain to connect between blocks and peers, so the more updates a Blockchain performs; the more power consumption was allocated to communications. For decreasing the updates number, mini-Blokchains may permit IoT nodes for interacting straightly with a Blockchain, as they only retain the transactions that are final and decrease the computational demands of a full node [27] Regarding hashing algorithms, SHA-256 was considered the base for being the one used by Bitcoin, but new IJCSNS International Journal of Computer Science and Network Security, VOL.19 No.5, May 2019 249 algorithms as X11 or Scrypt were faster and may decrease power consumption in mining [26]. Other hashing algorithms, like Blake-256, have been proposed and some Blockchains were able to benefit from various hashing algorithms, although more analyses should be performed on the improvement and performance of advanced hash functions for using on IoT devices [28]. 1.2.4. Security For a personal user, the key for keeping confidentiality is perfect management of his/her own particular keys, as what the attacker wants in conjunction with the public key is to steal something from him/her or embody someone. A good initiative about this subject was CONIKS [29]. A great management system was generated in order to free users from managing the encryption key. In equivalent a system the user first has requested for a public key to a provider, which requires only a username for registering in the CONIKS system [20]. When a user needs to send a message to another user, the CONIKS client searches for the key of the counterparty in the key directory. For avoiding key tampering from the provider of service (which might become involved) [30], two checks performed before sending any message: other clients confirmed the receiver's public key when connecting with the original user, and this key did not alter unusually over time. Identical answers have been presented for BIoT devices, using Blockchain technology in order to access management and foster their identity, presenting Blockchain is security against forgery attacks and IP spoofing [31]. Certificates were also necessary when ensuring security on the Internet. Thus, authorities of certificate use public-key infrastructure must provide trust to third parties [26]. However, such authorities have confirmed their failure on certain occasions, and then having to make previously presented certificates invalidated. Some latest initiatives have been sought to fix certain structural flaws existed in the Secure Sockets Layer (SSL) certificate system. In particular, the Google Transparency Certificate presents a framework for auditing and monitoring SSL certificates in real time. Because of using a distributed system based on Merkle a hash tree that permits third parties to verify and audit if a certificate was proper [32]. The other security feature was the availability although it is really considered the simplest to be achieved by Blockchain, which they were is designed by design to be handed out systems, allowing them to continue employing even when some nodes were under attack. However, the availability may be in compromise by other kinds of attacks. The most feared attack was a 51% attack (also known as the majority attack), where one miner controls a whole Blockchain and perform transactions at wish. In this case, the data is available, but the availability for doing transactions may be stopped by the attacker that controls the Blockchain. It is obvious that this type of attack has an effect on the integrity of data [30]. 1.2.5. Privacy All the Blockchain users were known by its hash or their public key. It implies that anonymity was not achieved, because whole transactions were shared, it was potential for third parties to analyze and identify these transactions and infer the participants’ identities [33]. Privacy was more complicated in BIoT environments, because BIoT devices may discover special user data that can be saved in a Blockchain whose privacy requirements are different from a country to another country [34].Thus, in comparison with conventional online payments, which were general only seen to transacting parties and to an intermediary (such as, financial government, institutions), transparent transactions promoted by Blockchain were a privacy challenge. In a personal Blockchain, subsequently approach controls were achieved later, there was the smallest node which was identified with accesses the scheme. Supposing the neutrality of the access controller, the situation was likely to decrease exposure by founding an impartial Blockchain with each object a user’s were participating with. This system develops communications difficulty, although separates the user from none of the wanted to observe. For example, Multichain presents an explanation for organizing personal Blockchains which were assures that the events on the Blockchain may be checked by selected members [35]. Mixing methods may also help to improve privacy. Such methods may aggregate communications from varied IoT strategies and output actions or other transactions to dissimilar directs that were not connected to the unique strategies. These methods expand privacy, but they were not complete, thus they may be deanonymized over numerical detection attacks. Moreover, the mixing facility must be confidential, while a malicious mixer may depiction users and, in the economic transactions, it may stop stealing of coins. To processing such subjects, various proposals proposed subjecting theft over an accountability instrument or beating the input/output address charting from the mixing server [36]. Privacy may also be extended to none knowledge showing techniques such as those operated by Zerocoin and Zerocash or Zcash [37]. A zero of knowledge evidence was a technique that allows for showing to counterparty, which the users were recognized obvious information deprived of uncovering such information. In the case of BIoT applications, zero of knowledge proofs may be used for verification or through reliable transactions for preventing user identity detection or appropriate. However, notice that such evidences were not immune to attacks [38]. IJCSNS International Journal of Computer Science and Network Security, VOL.19 No.5, May 2019 250 In detail, as in the case of mixing methods, they were vulnerable to de-anonymization across statistical detection attacks, but they develop mixing methods by preventing the requirement for a mixing server, which may position pose and present a security and functioning bottleneck. A solution for achieving privacy was the homomorphic encryption use [39]. Like this type of encryption permits third-party BIoT facilities to procedure a transaction deprived of the reveal of the unencrypted data to those facilities. Many researchers have presented differences in the protocol of Bitcoin for achieving use of homomorphic promises. 1.2.6. Throughput and Latency BIoT positions may require a Blockchain network capability to generate huge amounts of transactions per time element in clear networks. For example, a Blockchain of Bitcoin contains the highest default level of 7 transactions per second, while it can be extended by dealing with distinct clusters or by adapting the obvious features of node behavior upon receipt of transactions. The assessment did not make the other networks unusually fast. For example, VisaNet (VisaNet) may control 25,500 transactions per second. With regard to the disappearance, it was important to note that Blockchain transactions are appropriate for some time to deal with. In the case of Bitcoin, for example, the times of mass formation maintain Poisson distribution at a rate of 10 minutes, while, in order to prevent double spending, the wholesalers were delayed for about an hour, and then six or seven blocks are often necessary to be extra for the series Earlier the deal was founded. This individual latency includes a few seconds in the visa position. [40] As for the assent latency, it may be determined that the difficulty of the consensus procedure was more important regarding latency than unusual hashing, but various blockchain’s, such as those verifications of Litecoin, which chosen for scrypt using, a hashing algorithm which was faintly faster than SHA-256 [41]. 1.2.7. Block size Operators store their transactions, requiring larger initial transfer times and benefiting from the most powerful miners. Blockchain methods will be further studied, but the fact is that the largest Internet object node may not be able to handle a small fraction of traditional templates. He noted that different nodes had to store large amounts of data that were not of interest to them, and which could be observed as a loss in arithmetic supplies. This topic may be stopped using lightweight nodes that were able to achieve transactions on the Blockchain. On the contrary, this method needs to stay in the Internet hierarchy of things from the powerful nodes that may clearly Blockchain support for a restricted contract resource, indicating a clear data concentration. May contain different additional materials when using a mini-series/block [42]. This type of Blockchain produces a version tree usage, which provides supplies for the current state of each user of the Blockchain. Therefore, only the largest current transactions on the Blockchain must remain composed of the version tree. Thus, Blockchain only improves when new users have increased to Blockchain. 1.2.8. Bandwidth To rise IoT’s bandwidth, developers have been suggesting the Software Defined Networking (SDN) tools, which offers smart routing and facilitate the process of making decisions through the SDN manager. [42] In recent times, Sharma et al. [43] suggested a distributed IoT network construction, called DistBlockNet. Depend on the blockchain equipment, DistBlockNet construction can offer extending and elasticity, deprived of the essential for a centralized controller. The distributed blockchain network usages two kind of nodes, specifically, I) the controller/confirmation node, which preserve the improved flow rules table information. II) The invitation/reaction node, which improved its flow rules table in a network of blockchain. [44] Moreover, it is important to note that transaction and block volume were to be climbed agreeing to the bandwidth limits of IoT networks: various transactions that are small might increase the energy consumption connected to communications, although few great ones may include big payloads that may not be controlled by several IoT strategies. 1.2.9. Usability In instruction to facilitate the designers’ work of Blockchain entering Application Programming Interface (APIs) would be as user welcoming as likely. The same would be op";"""date"",""2019-06-13T12:39:24Z"" ""pdf:PDFVersion"",""1.5"" ""xmp:CreatorTool"","" Word용 Acrobat PDFMaker 11"" ""pdf:docinfo:title"",""Title"" ""Company"",""Home"" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""subject"","""" ""language"",""en"" ""dc:format"",""application/pdf; version=1.5"" ""pdf:docinfo:creator_tool"","" Word용 Acrobat PDFMaker 11"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"",""Title"" ""xmp:CreateDate"",""2019-06-13T21:39:10Z"" ""modified"",""2019-06-13T12:39:24Z"" ""pdf:docinfo:custom:SourceModified"",""D:20190613122553"" ""cp:subject"","""" ""pdf:docinfo:subject"","""" ""pdf:hasMarkedContent"",""true"" ""xmp:ModifyDate"",""2019-06-13T21:39:24Z"" ""pdf:docinfo:creator"",""IJCSI"" ""meta:author"",""IJCSI"" ""meta:creation-date"",""2019-06-13T12:39:10Z"" ""created"",""2019-06-13T12:39:10Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2019-06-13T12:39:10Z"" ""resourceName"",""109566_6018_1.pdf"" ""Author"",""IJCSI"" ""producer"",""Adobe PDF Library 11.0"" ""pdf:docinfo:producer"",""Adobe PDF Library 11.0"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""Keywords"","""" ""access_permission:modify_annotations"",""true"" ""dc:creator"",""IJCSI"" ""dcterms:created"",""2019-06-13T12:39:10Z"" ""Last-Modified"",""2019-06-13T12:39:24Z"" ""dcterms:modified"",""2019-06-13T12:39:24Z"" ""title"",""Title"" ""xmpMM:DocumentID"",""uuid:31108e36-3d87-479e-9a4e-2fb674803b7f"" ""Last-Save-Date"",""2019-06-13T12:39:24Z"" ""pdf:docinfo:keywords"","""" ""pdf:docinfo:modified"",""2019-06-13T12:39:24Z"" ""meta:save-date"",""2019-06-13T12:39:24Z"" ""Content-Length"",""436954"" ""Content-Type"",""application/pdf"" ""xmp:MetadataDate"",""2019-06-13T21:39:24Z"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"",""IJCSI"" ""pdf:producer"",""Adobe PDF Library 11.0"" ""dc:subject"","""" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""15"" ""pdf:hasXMP"",""true"" ""pdf:charsPerPage"",""4241"",""3753"",""4668"",""4202"",""4727"",""5740"",""5392"",""3920"",""4801"",""4993"",""4970"",""5376"",""5378"",""4841"",""1645"" ""access_permission:extract_content"",""true"" ""pdf:docinfo:custom:Company"",""Home"" ""access_permission:can_print"",""true"" ""SourceModified"",""D:20190613122553"" ""meta:keyword"","""" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2019-06-13T12:39:10Z"" "; 1619094558-728;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;A New Law for Derivatives Markets and the Use of Smart Contracts;BO Bairan ; The PayTech Book: The Payment Technology …, 2019 Wiley Online Library;;"… concepts of applicable regulations in relevant financial derivatives markets and how the use of smart derivatives through distributed ledger technology (eg blockchain) can be … Also, smart contracts can incorporate external information using third-party providers, called oracles …";;null;null;;;;https://scholar.google.com/scholar?start=540&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094658-1151;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Aleph: Efficient atomic broadcast in asynchronous networks with byzantine nodes;A G?gol, D Le?niak, D Straszak, M ?wi?tek ; Proceedings of the 1st …, 2019 dl.acm.org;;"… At the core of virtually every cryptocurrency system lies a mech- anism that collects … best imitate the highly adversarial execution environment of a typical permission- less blockchain system, one … of applications, they have still not gained much recognition in the crypto-community …";Cité 13 fois;Les 7 versions;[PDF] acm.org;https://dl.acm.org/doi/pdf/10.1145/3318041.3355467?casa_token=Nm78CA_OOcYAAAAA:DA5QSQPY7pmDSitkxAcMZzYKAITCA8J3dnv__xilC7J2FfXk_kPXcaFt7yZmlWqkODqhhIFLT84;;;https://scholar.google.com/scholar?start=970&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094544-661;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Technical and Legal Challenges for Heal Thcare Blockchains and Smart Contracts;SA Wright ; 2019 ITU Kaleidoscope: ICT for Health: Networks …, 2019 ieeexplore.ieee.org;;"… a healthcare smart contract executing on a blockchain accepting data from an oracle reporting on a … there may be a number of ancillary documents that users of the blockchain may be … with the outside world for information and those external data sources are called oracles …";Cité 3 fois;Les 2 versions;[PDF] itu.int;https://www.itu.int/en/ITU-T/academia/kaleidoscope/2019/Documents/Presentations/S8.1_Steven_Wright.pdf;" TECHNICAL AND LEGAL CHALLENGES FOR HEALTHCARE BLOCKCHAINS AND SMART CONTRACTS 4-6 December Atlanta, Georgia, USA Steven A. Wright MBA PhD JD Georgia State University swright22@gsu.edu 4-6 December Atlanta, Georgia, USA TECHNICAL AND LEGAL CHALLENGES FOR HEALTHCARE BLOCKCHAINS AND SMART CONTRACTS • Blockchain Introduction • Healthcare Blockchains – Data in Healthcare Blockchains – Actors in Healthcare Blockchains • Technology Issues – Implementation Issues – Identity & Trust Issues • Legal Issues – Entities – Public Law – Private Law • Recommendations • Blockchain technology usually associated with cryptocurrency (e.g. Bitcoin) • Broad range of applications proposed (e.g. financial, health, IoT) • Code as Law -> DAOs • Nascent Standardization efforts (e.g. ISO TC 307) • Open Source implementations (e.g. Hyperledger, Ethereum) 4-6 December Atlanta, Georgia, USA Healthcare Blockchains: • Variety of Blockchain applications proposed in Healthcare: – Prevention of drug counterfeiting*, research/clinical trials, insurance claim adjudication, healthcare records, wearables, mhealth – Good fit applications ?– multiple (competing) parties, more trust adds value, intermediary elimination, visible/auditable data • Beyond proposals, some are being implemented: – Primarily on Ethereum and Hyperledger • Benefits claimed: – Decentralization, data security and privacy(?), health data ownership, availability, robustness, transparency and trust, data integrity *The Drug Supply Chain Security Act (DSCSA) of 2013 requires the Food and Drug Administration (FDA) to develop standards and regulations for an interoperable electronic system to identify and trace medications. A number of pilot projects for this purpose have been developed using blockchain technologies (https://www.drstevenawright.com/pharmaceutical-supply-blockchains/). https://www.drstevenawright.com/pharmaceutical-supply-blockchains/ 4-6 December Atlanta, Georgia, USA Healthcare Blockchains: Data in Healthcare Blockchains • Lots of data types across the healthcare blockchain proposals: – Financial, transaction records, consent forms, clinical trial records, sensor data (e.g. temperature), medical records, personal records • Healthcare record categories / use cases: – Electronic Medical Records (EMRs) stored by healthcare provider – Personal Health Records (PHRs) store data collected by patients themselves (e.g. using wearables) – Electronic Health Records (EHRs) passed between healthcare providers • Challenges: – Storage – Size of records – Privacy – access controls, confidentiality assurance mechanisms 4-6 December Atlanta, Georgia, USA Healthcare Blockchains: Actors in Healthcare Blockchains • Depends on specific use cases • Non fungible data value/ trustworthiness comes from who adds it (e.g. lab results from a qualified lab) – pseudonymous, permissionless transactions may not be needed? • Stakeholders – patients healthcare professionals, regulatory agencies, legal systems, the public • Special cases for access – minors, healthcare power of attorney, heirs after death • Other Off chain systems for computation, storage, etc. • Is the blockchain itself an actor? 4-6 December Atlanta, Georgia, USA Blockchain Technology Issues: • Technology issues add risks impeding design and deployment • Technology at early stage of adoption – only 2% of papers in one study were reporting on implementations • Identified challenges include interoperability, security and privacy, scalability, speed and patient engagement • Not just a technology exercise – Need to consider broader issues for requirements, e.g. organization, legal context • Blockchain as trust machine – but who needs to trust whom for what purpose? 4-6 December Atlanta, Georgia, USA Blockchain Technology Issues: Implementation Issues • Software has bugs – Cryptocurrency applications as an incentive stress test to find bugs – Security and performance bugs can take some time to fix • Quality Metrics and benchmarks not yet agreed – What to measure, how to apply across different blockchain technologies • Software engineering tools and methodologies still under development for blockchains • Technology maturity 4-6 December Atlanta, Georgia, USA Blockchain Technology Issues: Identity & Trust Issues • Blockchain sometimes referred to as trust machine, and most would consider trust important for healthcare applications • What do we mean by trust in healthcare blockchain applications – is it the same sort of trust as in financial applications? • Various Blockchains have limited capabilities across the security dimensions – confidentiality, availability, integrity, provenance, pseudonymity and selective disclosure – which are important for specific healthcare blockchain applications? • Who do we need to trust and for what purpose in healthcare blockchain applications? What are the consequences of losing that trust? 4-6 December Atlanta, Georgia, USA Blockchain Legal Issues: • Legal risks can impede the deployment of healthcare blockchains. • Legal jurisdictions have geographic boundaries – blockchains do not -> may be impacted by laws of multiple jurisdictions. • Blockchain code as law can violate, complement, supplement existing laws and substitute for law where none exist. • Blockchain as trust machine, but legal systems also rely on trust. 4-6 December Atlanta, Georgia, USA Blockchain Legal Issues: Entities • Law covers people and the things they own; legal risks associated with things revert back to the thing’s owners. • Legal “people” includes corporations, partnerships, LLCs, etc. • Even in absence of other documentation, participants in blockchain could be considered in a partnership -> joint liability. • Proposals to create independent Digital Autonomous Entities on blockchains: – Some claim possible within existing LLC enabling legislation – State specific Legislation, e.g. Vermont BBLLC statute (S.269 (Act 205) 2018 §4171-74). • Under what circumstances would a Healthcare BBLLC make sense? 4-6 December Atlanta, Georgia, USA Blockchain Legal Issues: Public Law • Blockchain specific legislation under consideration in many states – https://bit.ly/2OlWcJH • General Statues impacting lots of software technology implementations – e.g. privacy legislation like GDPR requires corrections, but blockchains are immutable. • Healthcare Specific laws and regulations – e.g. Privacy regulations specific to healthcare (e.g. HIPPA) – e.g. Medical device regulations – DSCSA https://bit.ly/2OlWcJH 4-6 December Atlanta, Georgia, USA Blockchain Legal Issues: Private Law • Contracts – “Smart contracts” executing on blockchains – Completeness / correctness / amiguity • Torts (duties where no contract exists) • Enforcement actions – By the blockchain (self executing smart contract) – Blockchain as arbitration – Legal actions on a blockchain? 4-6 December Atlanta, Georgia, USA Recommendations: • Different approaches to reducing risks for deployment of healthcare blockchains. • Availability of open source reduces cost/risk of experimentation with new technologies - provides a design pattern example for commercial implementations. More specific open source communities around selected healthcare blockchain applications may be helpful. • Standards are particularly helpful for enabling interoperability. While TC 307 has started work, more remains to be done particularly around standardizing the healthcare record formats “healthcare tokens”. • Regulatory support through ”sandboxes”, etc. can help both the industry and its regulators understand the possibilities of the technology. More specific legislation/ regulation may then follow. • Standardization (or perhaps parameterization) of smart contracts applicable to healthcare blockchains would be helpful if the use cases for those applications are well understood. Thank you ";"""date"",""2019-11-27T12:27:10Z"" ""pdf:PDFVersion"",""1.7"" ""xmp:CreatorTool"",""MicrosoftÂŽ PowerPointÂŽ for Office 365"" ""pdf:docinfo:title"",""PowerPoint Presentation"" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""language"",""en"" ""dc:format"",""application/pdf; version=1.7"" ""pdf:docinfo:creator_tool"",""MicrosoftÂŽ PowerPointÂŽ for Office 365"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"",""PowerPoint Presentation"" ""xmp:CreateDate"",""2019-11-27T13:27:10Z"" ""modified"",""2019-11-27T12:27:10Z"" ""pdf:hasMarkedContent"",""true"" ""xmp:ModifyDate"",""2019-11-27T13:27:10Z"" ""pdf:docinfo:creator"",""Njume-Ebong, Ahone"" ""meta:author"",""Njume-Ebong, Ahone"" ""meta:creation-date"",""2019-11-27T12:27:10Z"" ""created"",""2019-11-27T12:27:10Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2019-11-27T12:27:10Z"" ""resourceName"",""S8.1_Steven_Wright.pdf"" ""Author"",""Njume-Ebong, Ahone"" ""producer"",""MicrosoftÂŽ PowerPointÂŽ for Office 365"" ""pdf:docinfo:producer"",""MicrosoftÂŽ PowerPointÂŽ for Office 365"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""access_permission:modify_annotations"",""true"" ""dc:creator"",""Njume-Ebong, Ahone"" ""dcterms:created"",""2019-11-27T12:27:10Z"" ""Last-Modified"",""2019-11-27T12:27:10Z"" ""dcterms:modified"",""2019-11-27T12:27:10Z"" ""title"",""PowerPoint Presentation"" ""xmpMM:DocumentID"",""uuid:87DC8701-B0E2-4CC5-968C-FFA5FB8DC023"" ""Last-Save-Date"",""2019-11-27T12:27:10Z"" ""pdf:docinfo:modified"",""2019-11-27T12:27:10Z"" ""meta:save-date"",""2019-11-27T12:27:10Z"" ""Content-Length"",""505960"" ""Content-Type"",""application/pdf"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"",""Njume-Ebong, Ahone"" ""dc:language"",""en-GB"" ""pdf:producer"",""MicrosoftÂŽ PowerPointÂŽ for Office 365"" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""14"" ""pdf:hasXMP"",""true"" ""pdf:charsPerPage"",""179"",""619"",""986"",""665"",""554"",""527"",""451"",""698"",""424"",""653"",""460"",""328"",""972"",""9"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2019-11-27T12:27:10Z"" ";https://scholar.google.com/scholar?start=480&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094656-1146;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Stateful public-key encryption: A security solution for resource-constrained environment;J Baek, W Susilo, K Salah, JS Ha, E Damiani… ; Advances in Cyber …, 2019 Springer;;"… BKS constructed another scheme aiming to remove the random oracle. Their construction is based on the well-known Kurosawa and Desmedt's hybrid encryption scheme without random oracles [33]. We call this scheme “\(\mathsf {BKS2}\)” and describe it in Fig …";Cité 4 fois;E Damiani;null;;;;https://scholar.google.com/scholar?start=960&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094597-895;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[PDF][PDF] Fully Distributed Non-Interactive Adaptively-Secure Threshold Signature Scheme with Short Shares: Efficiency Considerations and Implementation;B Libert, M Joye, M Yung, F Mouhartem ; Threshold, 2019 git.epheme.re;;"… 11/03/2019 8/19 Page 14. Construction in the random oracle model Based on linearly homomorphic structure-preserving signatures (HSPS): (Libert-Peters-Joye-Yung, Crypto'13) ? Messages are vectors ?M = (M1,..., MN) ? GN in a discrete-log-hard group G, for some N ? …";Autres articles;;[PDF] epheme.re;https://git.epheme.re/fmouhart/website-pro/raw/07df4df01a48b390683819e82699fd3aa7f05858/content/presentations/2019-03-11.NTCW.pdf;" Fully Distributed Non-Interactive Adaptively-Secure Threshold Signature Scheme with Short Shares: Efficiency Considerations and Implementation BenoĂŽt Libert1,2 Marc Joye3 Moti Yung4 Fabrice Mouhartem2,5 NIST Threshold Cryptography Workshop 2019, March 11th 1CNRS, France 2École Normale SupĂŠrieure de Lyon, France 3OneSpan, Belgium 4Google Inc. and Columbia University, USA 5Microso t Research India Fabrice Mouhartem Fully Distributed Non-Interactive Adaptatively-Secure Threshold Signature Scheme with Short Shares 11/03/2019 1/19 Motivation Single points of failure is too risky: ▶ Surveillance by dedicated powerful adversaries (governments) on the Internet and its encryption and signing methods has been highlighted ▶ Attacks on certification authorities lead to fake certificates distributed over the Internet and destroy the “trust infrastructure” e.g., DigiNotar was hacked and attacker produced a DigiNotar-signed “Google certificate” (September 2011) Darkmatter’s UAE security company, known for mass surveillance, requested to be a trusted CA (February 2019) ▶ Threshold cryptography (Desmedt-Frankel, Crypto’89 & Boyd, IMA’89) is a mechanism to deal with this by splitting keys among shareholders Enhances the security of highly sensitive keys and the availability of systems Fabrice Mouhartem Fully Distributed Non-Interactive Adaptatively-Secure Threshold Signature Scheme with Short Shares 11/03/2019 2/19 Threshold Signatures (t,n)-threshold signature scheme: m sk1 ski skn ... ... Combiner ≥ t σ(m) pk b ∈ {0, 1} m σ1 σi σn Fabrice Mouhartem Fully Distributed Non-Interactive Adaptatively-Secure Threshold Signature Scheme with Short Shares 11/03/2019 3/19 Constructing Threshold Cryptography Two main design families for threshold cryptography: ▶ Drop-in replacement: e.g., threshold (EC)DSA, (ACNS’16), threshold RSA (Crypto’91) → Most of the proposed solutions ▶ Optimized threshold: achieve certain performance using the best secure scheme The second approach is more flexible (and allows proving adaptive security) We optimize the following parameters simultaneously: - Security - Signature size - Share size - Communication Fabrice Mouhartem Fully Distributed Non-Interactive Adaptatively-Secure Threshold Signature Scheme with Short Shares 11/03/2019 4/19 Constructing Threshold Cryptography Two main design families for threshold cryptography: ▶ Drop-in replacement: e.g., threshold (EC)DSA, (ACNS’16), threshold RSA (Crypto’91) → Most of the proposed solutions ▶ Optimized threshold: achieve certain performance using the best secure scheme The second approach is more flexible (and allows proving adaptive security) We optimize the following parameters simultaneously: - Security - Signature size - Share size - Communication Fabrice Mouhartem Fully Distributed Non-Interactive Adaptatively-Secure Threshold Signature Scheme with Short Shares 11/03/2019 4/19 Static vs Adaptive Corruptions ▶ Static corruptions: adversary corrupts servers before seeing the pk ▶ First threshold signatures: - Desmedt-Frankel (Crypto’91): threshold RSA w/o robustness (heuristic) - De Santis et al. (STOC’94): provably secure, but large partial signatures - Gennaro et al. (Eurocrypt’96 & Crypto’96): threshold DSA & RSA signatures - Frankel et al. (FOCS’97 & Crypto’97): threshold RSA with interaction - … ▶ Robust threshold signatures without interaction: - Shoup (Eurocrypt’00): practical threshold RSA signatures - Katz-Yung (Asiacrypt’02): threshold Rabin signatures - Boldyreva (PKC’03): short threshold signatures - Wee (Eurocrypt’11): generic constructions Fabrice Mouhartem Fully Distributed Non-Interactive Adaptatively-Secure Threshold Signature Scheme with Short Shares 11/03/2019 5/19 Static vs Adaptive Corruptions ▶ Static corruptions: adversary corrupts servers before seeing the pk ▶ First threshold signatures: - Desmedt-Frankel (Crypto’91): threshold RSA w/o robustness (heuristic) - De Santis et al. (STOC’94): provably secure, but large partial signatures - Gennaro et al. (Eurocrypt’96 & Crypto’96): threshold DSA & RSA signatures - Frankel et al. (FOCS’97 & Crypto’97): threshold RSA with interaction - … ▶ Robust threshold signatures without interaction: - Shoup (Eurocrypt’00): practical threshold RSA signatures - Katz-Yung (Asiacrypt’02): threshold Rabin signatures - Boldyreva (PKC’03): short threshold signatures - Wee (Eurocrypt’11): generic constructions Fabrice Mouhartem Fully Distributed Non-Interactive Adaptatively-Secure Threshold Signature Scheme with Short Shares 11/03/2019 5/19 Static vs Adaptive Corruptions ▶ Adaptive corruptions: adversary corrupts up to t servers at any time. - Canetti et al. (Crypto’99) and Frankel-MacKenzie-Yung (ESA’99, Asiacrypt’99): reliance on erasures - Jarecki-Lysyanskaya (Eurocrypt’00): no need for erasures, but much interaction at decryption - Lysyanskaya-Peikert (Asiacrypt’01): adaptively secure signatures with interaction. - Abe-Fehr (Crypto’04): adaptively secure UC-secure threshold signatures and encryption with interaction - Almansa-Damgaard-Nielsen (Eurocrypt’06): adaptively secure proactive RSA, but with interaction and O(n) storage - Libert-Yung (ICALP’11): adaptively secure signatures without interaction, but using erasures and a trusted dealer Fabrice Mouhartem Fully Distributed Non-Interactive Adaptatively-Secure Threshold Signature Scheme with Short Shares 11/03/2019 6/19 Threshold Signatures: Our Results (PODC'14, TCS'16) ▶ Adaptively secure threshold signatures have not been achieved with: - Non-interactivity - Robustness against malicious adversaries - Optimal resilience (t = (n− 1)/2) - No erasures - Constant-size private key shares (regardless of t, n) - Distributed key generation (no trusted dealer) ▶ We give efficient candidates with one-round distributed key generation Theorem In the random oracle model, constructions exist under standard assumptions Fabrice Mouhartem Fully Distributed Non-Interactive Adaptatively-Secure Threshold Signature Scheme with Short Shares 11/03/2019 7/19 Threshold Signatures: Our Results (PODC'14, TCS'16) ▶ Adaptively secure threshold signatures have not been achieved with: - Non-interactivity - Robustness against malicious adversaries - Optimal resilience (t = (n− 1)/2) - No erasures - Constant-size private key shares (regardless of t, n) - Distributed key generation (no trusted dealer) ▶ We give efficient candidates with one-round distributed key generation Theorem In the random oracle model, constructions exist under standard assumptions Fabrice Mouhartem Fully Distributed Non-Interactive Adaptatively-Secure Threshold Signature Scheme with Short Shares 11/03/2019 7/19 Security of Non-interactive Threshold Signatures ▶ Security under chosen-message attacks and adaptive corruptions: 1. Distributed key generation: Challenger runs Dist-Keygen with A A can corrupt players during Dist-Keygen and obtains PK, {SKi}i∈C 2. Query stage: A makes adaptive queries - Corruption i ∈ {1, . . . , n}: A receives SKi and C := C ∪ {i} is updated - Signature (i,M): A receives σi = Share-Sign(i, SKi,M) 3. Output: A outputs a pair (M⋆, σ⋆) and wins if • Verify(PK,M⋆, σ⋆) = 1 • |V ∪ C| ≤ t where V := {i ∈ {1, . . . , n} | (i,M⋆) was queried by A} Fabrice Mouhartem Fully Distributed Non-Interactive Adaptatively-Secure Threshold Signature Scheme with Short Shares 11/03/2019 8/19 Security of Non-interactive Threshold Signatures ▶ Security under chosen-message attacks and adaptive corruptions: 1. Distributed key generation: Challenger runs Dist-Keygen with A A can corrupt players during Dist-Keygen and obtains PK, {SKi}i∈C 2. Query stage: A makes adaptive queries - Corruption i ∈ {1, . . . , n}: A receives SKi and C := C ∪ {i} is updated - Signature (i,M): A receives σi = Share-Sign(i, SKi,M) 3. Output: A outputs a pair (M⋆, σ⋆) and wins if • Verify(PK,M⋆, σ⋆) = 1 • |V ∪ C| ≤ t where V := {i ∈ {1, . . . , n} | (i,M⋆) was queried by A} Fabrice Mouhartem Fully Distributed Non-Interactive Adaptatively-Secure Threshold Signature Scheme with Short Shares 11/03/2019 8/19 Security of Non-interactive Threshold Signatures ▶ Security under chosen-message attacks and adaptive corruptions: 1. Distributed key generation: Challenger runs Dist-Keygen with A A can corrupt players during Dist-Keygen and obtains PK, {SKi}i∈C 2. Query stage: A makes adaptive queries - Corruption i ∈ {1, . . . , n}: A receives SKi and C := C ∪ {i} is updated - Signature (i,M): A receives σi = Share-Sign(i, SKi,M) 3. Output: A outputs a pair (M⋆, σ⋆) and wins if • Verify(PK,M⋆, σ⋆) = 1 • |V ∪ C| ≤ t where V := {i ∈ {1, . . . , n} | (i,M⋆) was queried by A} Fabrice Mouhartem Fully Distributed Non-Interactive Adaptatively-Secure Threshold Signature Scheme with Short Shares 11/03/2019 8/19 Construction in the random oracle model Based on linearly homomorphic structure-preserving signatures (HSPS): (Libert-Peters-Joye-Yung, Crypto’13) ▶ Messages are vectors M⃗ = (M1, . . . ,MN) ∈ GN in a discrete-log-hard group G, for some N ∈ N ▶ Homomorphism: given signatures {σi}ℓi=1 on vectors {M⃗i}ℓi=1, anyone can compute a signature σ = ∏ℓ i=1 σ ωi i on a linear combination M⃗ = ∏ℓ i=1 M⃗ ωi i ▶ Security: deriving a signature for M⃗ ̸∈ span(M⃗1, . . . , M⃗ℓ) is infeasible ▶ For N > 1, deciding if M⃗1, . . . , M⃗ℓ+1 ∈ GN are linearly independent is hard Definition (K-linear assumption) given vectors g⃗1, . . . , g⃗K+1 ∈R GK+1, no PPT algorithm can decide if dim(⟨g⃗1, . . . , g⃗k+1⟩) = K or K+ 1 Fabrice Mouhartem Fully Distributed Non-Interactive Adaptatively-Secure Threshold Signature Scheme with Short Shares 11/03/2019 9/19 Construction (cont.) ▶ Let Π = (Keygen, Sign, Verify,Derive) be a HSPS scheme ▶ Signature scheme based on the K-linear assumption Keygen(1Îť) : runs (pk, sk)← Π.Keygen(1Îť, K+ 1) and chooses a hash function H : {0, 1}∗ → GK+1 Sign(sk,M) : computes (H1, . . . ,HK+1) = H(M) ∈ GK+1 and outputs σ ← Π.Sign(sk, (H1, . . . ,HK+1)) Verify(pk,M, σ) : computes (H1, . . . ,HK+1) = H(M) ∈ GK+1 and returns 1 if and only if Π.Verify(pk, (H1, . . . ,HK+1), σ) = 1 Theorem In the ROM, the scheme is secure against chosen-message attacks if the K-linear assumption holds in G. Fabrice Mouhartem Fully Distributed Non-Interactive Adaptatively-Secure Threshold Signature Scheme with Short Shares 11/03/2019 10/19 Construction (cont.) Distributing the system using specific properties of our HSPS: ▶ Key-homomorphism: For any M⃗, given σ1 ← Sign(sk1, M⃗) and σ2 ← Sign(sk2, M⃗), anyone can compute σ ← Sign(sk1 + sk2, M⃗) ⇒ Convenient for non-interactive threshold signing (reconstruction via interpolation in the exponent) ▶ In the security proof, the private key is known at any time ⇒ Allows handling adaptive corruption queries. Fabrice Mouhartem Fully Distributed Non-Interactive Adaptatively-Secure Threshold Signature Scheme with Short Shares 11/03/2019 11/19 Construction (cont.) Distributing the system using specific properties of our HSPS: ▶ Key-homomorphism: For any M⃗, given σ1 ← Sign(sk1, M⃗) and σ2 ← Sign(sk2, M⃗), anyone can compute σ ← Sign(sk1 + sk2, M⃗) ⇒ Convenient for non-interactive threshold signing (reconstruction via interpolation in the exponent) ▶ In the security proof, the private key is known at any time ⇒ Allows handling adaptive corruption queries. Fabrice Mouhartem Fully Distributed Non-Interactive Adaptatively-Secure Threshold Signature Scheme with Short Shares 11/03/2019 11/19 Construction (cont.) ▶ Key is generated using Pedersen’s distributed key generation (DKG) protocol (Eurocrypt’91) Only one round without faulty players …but does not guarantee uniform keys, even for static adversaries (Gennaro-Jarecki-Krawczyk-Rabin, Eurocrypt’99) ⇒ Reductions from a centralized scheme are impossible ▶ It is sometimes possible to prove security using direct proofs (Gennaro-Jarecki-Krawczyk-Rabin, CT-RSA’03) This approach is more suitable for optimized constructions Fabrice Mouhartem Fully Distributed Non-Interactive Adaptatively-Secure Threshold Signature Scheme with Short Shares 11/03/2019 12/19 Construction (cont.) ▶ Based on bilinear maps (a.k.a. pairings) e : G× Ĝ→ GT such that e(ga, ĥb) = e(gb, ĥa) = e(g, ĥ)ab ∀g ∈ G, ĥ ∈ Ĝ, a,b ∈ Z ▶ We assume the hardness of the Decision Diffie-Hellman (DDH problem) in G and Ĝ: Definition (DDH Problem) In a cyclic group G = ⟨g⟩ of order p, given (g, ga, gb, T) ∈ G4, decide whether T = gab or T ∈R G (Coincides with the K-linear assumption for K = 1) Fabrice Mouhartem Fully Distributed Non-Interactive Adaptatively-Secure Threshold Signature Scheme with Short Shares 11/03/2019 13/19 Outline of the Scheme ▶ Public key is PK = ( ĝ, ĥ, {ĝk = ĝak ¡ ĥbk}2k=1 ) ∈ Ĝ4 and SK = {(ak,bk)}2k=1 is shared as SKi = {(Ak(i),Bk(i))}2k=1 using Ak[X] = ak0 + ak1X+ ¡ ¡ ¡+ aktXt, Bk[X] = bk0 + bk1X+ ¡ ¡ ¡+ bktXt ▶ Player i computes (H1,H2) = H(M) ∈ G2 and (zi, ri) = ( 2∏ k=1 HAk(i) k , 2∏ k=1 HBk(i) i ) . For any (t+ 1)-set S ⊂ {1, . . . ,n}, partial signatures {(zi, ri)}i∈S yield (z, r) = (∏ i∈S z∆i,S(0) i , ∏ i∈S r∆i,S(0) i ), such that e(z, ĝ) ¡ e(r, ĥ) ¡ ∏2 k=1 e(Hk, ĝk) = 1GT Fabrice Mouhartem Fully Distributed Non-Interactive Adaptatively-Secure Threshold Signature Scheme with Short Shares 11/03/2019 14/19 Outline of the Scheme ▶ Public key is PK = ( ĝ, ĥ, {ĝk = ĝak ¡ ĥbk}2k=1 ) ∈ Ĝ4 and SK = {(ak,bk)}2k=1 is shared as SKi = {(Ak(i),Bk(i))}2k=1 using Ak[X] = ak0 + ak1X+ ¡ ¡ ¡+ aktXt, Bk[X] = bk0 + bk1X+ ¡ ¡ ¡+ bktXt ▶ Player i computes (H1,H2) = H(M) ∈ G2 and (zi, ri) = ( 2∏ k=1 HAk(i) k , 2∏ k=1 HBk(i) i ) . For any (t+ 1)-set S ⊂ {1, . . . ,n}, partial signatures {(zi, ri)}i∈S yield (z, r) = (∏ i∈S z∆i,S(0) i , ∏ i∈S r∆i,S(0) i ), such that e(z, ĝ) ¡ e(r, ĥ) ¡ ∏2 k=1 e(Hk, ĝk) = 1GT Fabrice Mouhartem Fully Distributed Non-Interactive Adaptatively-Secure Threshold Signature Scheme with Short Shares 11/03/2019 14/19 Outline of the Scheme ▶ Public key is PK = ( ĝ, ĥ, {ĝk = ĝak ¡ ĥbk}2k=1 ) ∈ Ĝ4 and SK = {(ak,bk)}2k=1 is shared as SKi = {(Ak(i),Bk(i))}2k=1 using Ak[X] = ak0 + ak1X+ ¡ ¡ ¡+ aktXt, Bk[X] = bk0 + bk1X+ ¡ ¡ ¡+ bktXt ▶ Player i computes (H1,H2) = H(M) ∈ G2 and (zi, ri) = ( 2∏ k=1 HAk(i) k , 2∏ k=1 HBk(i) i ) . For any (t+ 1)-set S ⊂ {1, . . . ,n}, partial signatures {(zi, ri)}i∈S yield (z, r) = (∏ i∈S z∆i,S(0) i , ∏ i∈S r∆i,S(0) i ), such that e(z, ĝ) ¡ e(r, ĥ) ¡ ∏2 k=1 e(Hk, ĝk) = 1GT Fabrice Mouhartem Fully Distributed Non-Interactive Adaptatively-Secure Threshold Signature Scheme with Short Shares 11/03/2019 14/19 Security Theorem In the ROM, the fully distributed scheme is adaptively secure (under chosen-message attacks) if the DDH problem is hard in G and Ĝ Proof idea: ▶ PK = ( ĝ, ĥ, {ĝak ĥbk}2k=1 ) reveals limited information about {(ak,bk)}2k=1 ▶ For any message M, two distinct signatures allow breaking DDH in Ĝ ▶ Strategy: get the adversary to produce a different forgery σ⋆ than the reduction’s for M⋆ ▶ Problem: PK is not uniform ▶ For each k ∈ {1, 2}, (ak,bk) = (ak,G + ak,Q\G ,bk,G + bk,Q\G) ▶ Key homomorphism allows turning a forgery for the private key {(ak,bk)}2k=1 into a forgery for the key {(ak,G ,bk,G)}2k=1 Fabrice Mouhartem Fully Distributed Non-Interactive Adaptatively-Secure Threshold Signature Scheme with Short Shares 11/03/2019 15/19 Security Theorem In the ROM, the fully distributed scheme is adaptively secure (under chosen-message attacks) if the DDH problem is hard in G and Ĝ Proof idea (cont.): ▶ Other problem: make sure that signing queries do not leak too much information on {(ak,G ,bk,G)}2k=1 ▶ Program H : {0, 1}∗ → G2 so that H(M⋆) ∈R G2 for the forgery message M⋆ H(M) ∈ G2 lives in a 1-dimensional subspace of G2 for each M ̸= M⋆ Change not noticeable if DDH is hard in G ▶ With probability Θ(1/q), the reduction gets two distinct signatures for a uniform key {(ak,G ,bk,G)}2k=1 Fabrice Mouhartem Fully Distributed Non-Interactive Adaptatively-Secure Threshold Signature Scheme with Short Shares 11/03/2019 16/19 Performances Algorithm Dist-KeyGen Share-Sign Combine Verify ( 1, 2) 26 2 23 11 ( 5,11) 787 13 69 11 (11,20) 4 371 22 137 12 (26,51) 202 763 112 493 13 Table 1: PoC implementation results for (t, n)-threshold signatures in ms Remarks on the implementation: ▶ It is a proof of concept implementation in C++ and is not optimized ▶ It is sequential and does not capture parallel computations ▶ Uses a wrapper on the Relic toolkit for pairing computations Source code available: https://gitlab.inria.fr/fmouhart/threshold-signature Fabrice Mouhartem Fully Distributed Non-Interactive Adaptatively-Secure Threshold Signature Scheme with Short Shares 11/03/2019 17/19 https://gitlab.inria.fr/fmouhart/threshold-signature Summary ▶ Our results: an optimized threshold construction from pairings First adaptively secure non-interactive threshold signatures with • Robustness, O(1)-size private key shares, no erasures • One-round distributed key generation • Short signatures (i.e., 512 bits at the 128-bit security level) in the ROM The construction can be made proactive (Ostrovsky-Yung, PODC’91) ▶ Open problems: Construction in the standard model with short public parameters Constructions based on the hardness of search (rather than decision) problems (e.g., RSA or computational Diffie-Hellman) Fabrice Mouhartem Fully Distributed Non-Interactive Adaptatively-Secure Threshold Signature Scheme with Short Shares 11/03/2019 18/19 Thank you for your attention. Fabrice Mouhartem Fully Distributed Non-Interactive Adaptatively-Secure Threshold Signature Scheme with Short Shares 11/03/2019 19/19 Security notions: chosen-message security under adaptive corruptions Construction in the Random Oracle Model A Construction in the standard model ";"""pdf:unmappedUnicodeCharsPerPage"",""1"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""pdf:PDFVersion"",""1.5"" ""pdf:docinfo:title"",""Fully Distributed Non-Interactive Adaptively-Secure Threshold Signature Scheme with Short Shares: Efficiency Considerations and Implementation"" ""xmp:CreatorTool"",""LaTeX with Beamer class"" ""pdf:hasXFA"",""false"" ""access_permission:modify_annotations"",""true"" ""access_permission:can_print_degraded"",""true"" ""dc:creator"",""BenoĂŽt Libert, Marc Joye, Moti Yung, Fabrice Mouhartem "" ""dcterms:created"",""2019-03-11T03:40:01Z"" ""language"",""en"" ""dc:format"",""application/pdf; version=1.5"" ""title"",""Fully Distributed Non-Interactive Adaptively-Secure Threshold Signature Scheme with Short Shares: Efficiency Considerations and Implementation"" ""pdf:docinfo:creator_tool"",""LaTeX with Beamer class"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"",""Fully Distributed Non-Interactive Adaptively-Secure Threshold Signature Scheme with Short Shares: Efficiency Considerations and Implementation"" ""pdf:hasMarkedContent"",""false"" ""Content-Type"",""application/pdf"" ""pdf:docinfo:creator"",""BenoĂŽt Libert, Marc Joye, Moti Yung, Fabrice Mouhartem "" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"",""BenoĂŽt Libert, Marc Joye, Moti Yung, Fabrice Mouhartem "" ""meta:author"",""BenoĂŽt Libert, Marc Joye, Moti Yung, Fabrice Mouhartem "" ""meta:creation-date"",""2019-03-11T03:40:01Z"" ""created"",""2019-03-11T03:40:01Z"" ""access_permission:extract_for_accessibility"",""true"" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""27"" ""Creation-Date"",""2019-03-11T03:40:01Z"" ""resourceName"",""2019-03-11.NTCW.pdf"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""468"",""766"",""215"",""527"",""527"",""714"",""714"",""750"",""543"",""543"",""576"",""576"",""576"",""689"",""573"",""472"",""472"",""546"",""438"",""499"",""499"",""499"",""631"",""579"",""563"",""617"",""145"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""Author"",""BenoĂŽt Libert, Marc Joye, Moti Yung, Fabrice Mouhartem "" ""producer"",""XeTeX 0.99999"" ""access_permission:can_modify"",""true"" ""pdf:docinfo:producer"",""XeTeX 0.99999"" ""pdf:docinfo:created"",""2019-03-11T03:40:01Z"" ";https://scholar.google.com/scholar?start=710&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094623-1010;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[PDF][PDF] QOS AND DEFENSE ENHANCEMENT USING BLOCK CHAIN FOR FLY WIRELESS NETWORKS;N Bhalaji ; Journal of trends in Computer Science and Smart …, 2019 researchgate.net;;"… Valdeolmillos, et al [2] the paper address the challenges in the different types of the crypto currencies with the highest capitalization in the market and also … ""Trust management in a blockchain based fog computing platform with trustless smart oracles."" Future …";Cité 8 fois;Les 2 versions;[PDF] researchgate.net;https://www.researchgate.net/profile/Bhalaji_Natarajan2/publication/337649800_QOS_AND_DEFENSE_ENHANCEMENT_USING_BLOCK_CHAIN_FOR_FLY_WIRELESS_NETWORKS/links/5e1acfaa4585159aa4c8c86d/QOS-AND-DEFENSE-ENHANCEMENT-USING-BLOCK-CHAIN-FOR-FLY-WIRELESS-NETWORKS.pdf;;;https://scholar.google.com/scholar?start=820&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094640-1075;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[PDF][PDF] Elastic Smart Contracts across Multiple Blockchains;S Dustdar, P Fernandez, JM García, A Ruiz;Cortés infosys.tuwien.ac.at;;"… the trustless characteristic of blockchains, an additional agent, namely an oracle, needs to … of the whole ecosystem; in this particular case, the software oracles are just … Furthermore, glue contracts need to address possible divergences between blockchain implementations and …";Autres articles;;[PDF] tuwien.ac.at;http://www.infosys.tuwien.ac.at/Staff/sd/papers/FAB_2019_SD_Elastic.pdf;" Found The document has moved here. Apache/2.4.25 (Debian) Server at www.infosys.tuwien.ac.at Port 80 ";"""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""dc:title"",""302 Found"" ""Content-Encoding"",""ISO-8859-1"" ""resourceName"",""FAB_2019_SD_Elastic.pdf"" ""language"",""en"" ""Content-Length"",""338"" ""title"",""302 Found"" ""Content-Type"",""text/html; charset=ISO-8859-1"" ";https://scholar.google.com/scholar?start=890&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094607-940;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[PDF][PDF] 2 Digital identity protection using blockchain for academic qualification certificates;L Mrsic, G Fijacko, M Balkovic ; Big Data Security, 2019 library.oapen.org;;"… is more powerful than it origi- nally thought, so if Bitcoin as a cryptocurrency does not live … is an open- source platform that allows you to create or block your own blockchain, and man … 1 operating system with virtual machine on a single physical server using Oracle VM VirtualBox …";Autres articles;;[PDF] oapen.org;https://library.oapen.org/bitstream/handle/20.500.12657/43819/external_content.pdf?sequence=1#page=23;" Shibakali Gupta, Indradip Banerjee, Siddhartha Bhattacharyya (Eds.) Big Data Security De Gruyter Frontiers in Computational Intelligence Edited by Siddhartha Bhattacharyya Volume 3 Already published in the series Volume 2: Intelligent Multimedia Data Analysis S. Bhattacharyya, I. Pan, A. Das, S. Gupta (Eds.) ISBN 978-3-11-055031-3, e-ISBN (PDF) 978-3-11-055207-2, e-ISBN (EPUB) 978-3-11-055033-7 Volume 1: Machine Learning for Big Data Analysis S. Bhattacharyya, H. Baumik, A. Mukherjee, S. De (Eds.) ISBN 978-3-11-055032-0, e-ISBN (PDF) 978-3-11-055143-3, e-ISBN (EPUB) 978-3-11-055077-1 Big Data Security Edited by Shibakali Gupta, Indradip Banerjee, Siddhartha Bhattacharyya Editors Dr. Shibakali Gupta Department of Computer Science & Engineering, University Institute of Technology The University of Burdwan Golapbag North 713104 Burdwan, West Bengal, India skgupta.81@gmail.com Dr. Indradip Banerjee Department of Computer Science & Engineering, University Institute of Technology The University of Burdwan Golapbag North 713104 Burdwan, West Bengal, India ibanerjee2001@gmail.com Prof. (Dr.) Siddhartha Bhattacharyya RCC Institute of Information Technology Canal South Road, Beliaghata 700 015 Kolkata, India dr.siddhartha.bhattacharyya@gmail.com ISBN 978-3-11-060588-4 e-ISBN (PDF) 978-3-11-060605-8 e-ISBN (EPUB) 978-3-11-060596-9 ISSN 2512-8868 Library of Congress Control Number: 2019944392 Bibliographic information published by the Deutsche Nationalbibliothek The Deutsche Nationalbibliothek lists this publication in the Deutsche Nationalbibliografie; detailed bibliographic data are available on the Internet at http://dnb.dnb.de. Š 2019 Walter de Gruyter GmbH, Berlin/Boston Typesetting: Integra Software Services Pvt. Ltd. Printing and binding: CPI books GmbH, Leck Cover image: shulz/E+/getty images www.degruyter.com An electronic version of this book is freely available, thanks to the support of libra- ries working with Knowledge Unlatched. KU is a collaborative initiative designed to make high quality books Open Access. More information about the initiative can be found at www.knowledgeunlatched.org This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 4.0 License, as of February 23, 2017. For details go to http://creativecommons.org/licenses/by-nc-nd/4.0/. http://dnb.dnb.de http://www.degruyter.com Dr. Shibakali Gupta would like to dedicate this book to his daughter, wife & parents. Dr. Indradip Banerjee would like to dedicate this book to his son, wife & parents. Prof. (Dr.) Siddhartha Bhattacharyya would like to dedicate this book to his parents Late Ajit Kumar Bhattacharyya and Late Hashi Bhattacharyya, his beloved wife Rashni, and his youngest sister’s parents-in-laws Late Anil Banerjee and Late Sandhya Banerjee. Preface With the advent of a range of data-driven avenues and explosion of data, research in the field of big data has become an important thoroughfare. Big data produces exceptional amounts of data points, which give greater insights that determine sen- sational research, better business decisions, and greater value for customers. To ac- complish these endings, establishments need to be able to handle the data while including measures for using sensitive private information efficiently and quickly, and thus the implementation of security issue creates a vigorous role. End-point de- vices create the main factors for observance of the big data. Processing, storage, and other necessary responsibilities have to be performed with the help of input data, which is generated by the end-points. Therefore, an association should make sure to use an authentic and valid end-point security. Due to large amounts of data generation, it is quite impossible to maintain regular checks by most of the estab- lishments. Therefore, periodic observation and performing security checks can be utmost promising in real time. On the other hand, cloud-based storage has enabled data mining and collection. However, this big data and cloud storage incorporation have introduced concerns for data secrecy and security threats. This volume intends to deliberate some of the latest research findings regarding the security issues and mechanisms for big data. The volume comprises seven well- versed chapters on the subject. The introductory chapter provides a brief and concise overview of the subject matter with reference to the characteristics of big data, the inherent security con- cerns, and mechanisms for ensuring data integrity. Chapter 2 deals with the motivation for this research that came from lack of practical applications of block chain technology, its history, and the principle of how it functions within the digital identity and importance of EDU certificate trans- parency and challenges in their sharing. In the theoretical part of the chapter, a comparison of the “classical” identity and digital identity is set out, which is de- scribed through examples of personal identity cards and e-citizen systems. Then, following the introduction into block chain technology and describing the method of achieving consensus and transaction logging, the principle of smart contracts is described, which provide the ability to enter code or even complete applications and put them into block chains, enabling automation of a multitude of processes. The chapter also explains common platforms through examples that are described as business models that use block chain as a platform for developing their pro- cesses based on digital identity. Chapter 3 describes the anomaly detection procedure in cloud database metric. Each and every big data source or big database needs a security metric monitoring. The monitoring software collects various metrics with the help of custom codes, plugging, and so on. The chapter describes the approach of modifying the normal metric thresholding to anomaly detection. https://doi.org/10.1515/9783110606058-201 https://doi.org/10.1515/9783110606058-201 With the tangible and exponential growth of big data in various sectors, every day-to-day activities like websites traversed, locations visited, movie timings, and others were stowed by various companies such as Google through Android cell phone. Even bank details are accessible by Google. In such situations, wherein a person’s identity can be mentioned almost completely by just a small number of datasets, the security of those datasets is of huge importance especially in terms of situations where human manipulations are involved. Using social engineering to re- trieve few sensitive information could lead to completely rip off a person’s identity and his/her personal life. Chapter 4 deals with similar facts, that is, social engineer- ing angle of hacking for big data along with other hacking methodologies that can be used for big data and how to secure the systems from the same. This chapter helps the users to visualize major vulnerabilities in data warehousing systems for big data along with an insight of major such hacking in recent past, which lead to disclosure of major private and sensitive data of millions of people. Chapter 5 describes the information hiding technique as well as consumptions of this one in big data. Global communication has no bounds and more information is being exchanged over the public medium that serves an important role in the communication mode. The rapid growth in the usage of sensitive information ex- change through the Internet or any public platform causes a major security concern in these days. More essentially, digital data has given an easy access to communica- tion of its contents that can also be copied without any kind of degradation or loss. Therefore, the urgency of security during global communication is obviously quite tangible nowadays. Some of the big data security Issues have been discussed in Chapter 6 with some solution mechanisms. Big data is a collection of huge sets of data of different categories, where it could be distinguished as structured and unstructured ways. As are revolutionizing to zeta bytes from Giga/Tera/Peta/Exabytes in this phase of computing, the threats have also increased in parallel. Big data analysis is flattering essential means for automatic determination of astuteness that is concerned in the recurrently stirring outline and secreted convention. This can facilitate companies to obtain an improved resolution, to envisage and recognize revolution, and to cate- gorize new fangled prospects. Dissimilar procedure in support of big data analysis as well as numerical analysis, batch processing, machine learning, data mining, in- telligent investigation, cloud computing, quantum computing, and data stream pre- paring become possibly the most important factor. Chapter 7 summarizes the main contributions and findings of the previously discussed chapters and offers future research directions. A conclusion has also been derived out on possible scope of extension or future direction. In this book, several security issues have been addressed in big data domain. The book is targeted to meet the academic and research interests of the big data community. It would come to use to students and faculty members involved in the disciplines of computer science, information science, and communication VIII Preface engineering. The editors would be more than happy if the readers find it useful in exploring further ideas in this direction. Shibakali Gupta October 2019 Indradip Banerjee Kolkata, India Siddhartha Bhattacharyya Preface IX Contents Preface VII List of Contributors XIII Shibakali Gupta, Indradip Banerjee, Siddhartha Bhattacharyya 1 Introduction 1 Leo Mrsic, Goran Fijacko and Mislav Balkovic 2 Digital identity protection using blockchain for academic qualification certificates 9 Souvik Chowdhury and Shibakali Gupta 3 Anomaly detection in cloud big database metric 25 Shibakali Gupta, Ayan Mukherjee 4 Use of big data in hacking and social engineering 47 Srilekha Mukherjee, Goutam Sanyal 5 Steganography, the widely used name for data hiding 75 Santanu Koley 6 Big data security issues with challenges and solutions 95 Shibakali Gupta, Indradip Banerjee, Siddhartha Bhattacharyya 7 Conclusions 143 List of Contributors Ayan Mukherjee Cognizant, Kolkata, India mukherjeeayan16@gmail.com Goran Fijacko Algebra University College, Zagreb, Croatia gfijacko@gmail.com Goutam Sanyal National Institute of Technology, Durgapur, India nitgsanyal@gmail.com Indradip Banerjee Department of Computer Science & Engineering University Institute of Technology, The University of Burdwan Burdwan, West Bengal, India ibanerjee2001@gmail.com Leo Mrsic Algebra University College, Zagreb, Croatia leo.mrsic@algebra.hr Mislav Balkovic Algebra University College, Zagreb, Croatia mislav.balkovic@algebra.hr Santanu Koley Department of Computer Science and Engineering Budge Budge Institute of Technology, Kolkata, India santanukoley@yahoo.com Shibakali Gupta Department of Computer Science & Engineering University Institute of Technology, The University of Burdwan Burdwan, West Bengal, India skgupta.81@gmail.com Siddhartha Bhattacharyya RCC Institute of Information Technology, Kolkata, India dr.siddhartha.bhattacharyya@gmail.com Souvik Chowdhury Oracle India, Bangalore, India souvikcho@gmail.com Srilekha Mukherjee National Institute of Technology, Durgapur, India srilekha.mukherjee3@gmail.com https://doi.org/10.1515/9783110606058-202 https://doi.org/10.1515/9783110606058-202 Shibakali Gupta, Indradip Banerjee, Siddhartha Bhattacharyya 1 Introduction Security is one of the leading accomplishment of awareness in information technol- ogy and communication system. In the contemporary communication epoch, digital channels are used to communicate hypermedia content, which governs the field of arts, entertainment, education, commerce, research, and so on. The users of the field of the digital media technology are increasing massively, and they realized that data on web is an extremely important aspect of modern life. Devising discoursed certain security issues, there exist some chief principles. Privacy principles specify that only sender and the receiver have a duty to be able to access the message from the web. No other unsanctioned creature can access this one. Authentication apparatuses help to launch the proof of identity. The au- thentication confirms that the origin of a digital message is correctly recognized. When the content of the message is altered after directing by the sender and be- fore obtaining by the receiver, the uprightness of the message is lost. Access con- trol regulates who should be able to admit the system and what. It has two areas: role and rule management. The digital data content includes audio, video, and image media, which can be easily stored and manipulated. The superficial transmission and manipulation of dig- ital content constitute an authentic threat to multimedia content engenderers and traders. Big data is a term that is used to explain datasets that are enormous in size against normal database. Big data is becoming more and more popular each day. Big data generally consists of unstructured, semistructured, or structured datasets. Some algorithms as well as tools are used to process these data within the reasonable finite amount of time, but the main prominence is known on the unstructured data [1]. The characteristics of big data mainly depend on 4Vs (volume, velocity, variety, veracity) [2, 3]. Volume is a key characteristic of big data, which decides whether the information is a normal dataset or not, the size of raw data or the data generated is important because the time complexity, specifications cost which depend on it. Velocity is the speed with a direction, which means the throughput or the speed of the data processed. How fast the information can be generated in real time is to meet the requirements. Variety is important in this literature because it stands for the qual- ity and the type of data required in order to process it successfully. Data can be text, audio, video, image, and so on. The quality of data on which the processing will be done is vital, because if the information is corrupted or stolen then anybody can’t expect accurate result from it. https://doi.org/10.1515/9783110606058-001 https://doi.org/10.1515/9783110606058-001 To resolve these potential threats, the awareness of “Information Hiding” has been weighed [4, 5]. The idiom Information Hiding is discussed to construct the in- formation undetectable as well as keeping the survival of the information secret. According to the Oxford English Dictionary [6], the implication of information is the “formation or molding of the mind or character, training, instruction, teaching.” This word is originated in the fourteenth century for English and some other European languages. The theories of cryptography [7] and watermarking [8] were also developed after the birth of the information concept. But elevating computa- tional supremacy of those has been developed with the generation of modern-day cryptographic and watermarking algorithms. The word “Security” is not identically synonymous what it was in 10 years back, because the research in capsizal engineering techniques has incremented the proc- essing power and the most important race between the study in cryptanalysis [9] and watermarking detection [10]. To solve the above specified problems, the concepts of steganography [11] has been proposed by the researchers. Steganography diverges from cryptography. Cryptography refers to a secure communication, which trans- mutes the data into a concrete form and for that reason an eavesdropper can’t under- stand it. Steganography techniques can endeavor to obnubilate the subsistence of the message itself, so that an observer or eavesdropper does not know that the infor- mation is present or not. The term big data is used for large and complex dataset, which systematically analyzes and processes data easily with a lesser amount of time ensemble. The key responsibility of big data is data capturing and storage, searching of data through several behaviors, sharing and transfer of information, data analysis, querying like visualization, updating, and so on. Thus the security of information is very much important in this terminology. From these points of view, the big data security is very challenging in this literature. In the last few decades, researchers, engineers, and scientists have developed new models, techniques, and algorithms for the generation of robust security system and better analysis principle. Nowadays, the researchers used different methodologies for achieving better performance as well as improving the privacy of the hidden infor- mation. This book investigates the current state-of-the-art big data security systems. There are different types of information in today’s world, which are in the form of Text information, Digital Image or Video Frames related information and infor- mation of Audio signal additionally. This book aims at contributing toward the un- derstanding of big data security in the form of Text and Digital Images through various security principles which addresses both the theoretical parts and practical observations. In this book, a throughout mathematical restorative has been carried out for achieving better security models. The book has been organized into eight chapters. Following is a brief descrip- tion of each chapter: 2 Shibakali Gupta, Indradip Banerjee, Siddhartha Bhattacharyya Chapter 2: Digital identity protection using blockchain for academic qualification certificates This chapter deals with the motivation for this research came from lack of practical applications of block chain technology, its history, and the principle of how it func- tions within the digital identity and importance of EDU certificate transparency and challenges in their sharing. In the theoretical part of the chapter, a comparison of the “classical” identity and digital identity is set out, which is described through exam- ples of personal identity cards and e-citizen systems. Then, following the introduc- tion into block chain technology and describing the method of achieving consensus and transaction logging, the principle of smart contracts is described, which provides the ability to enter code or even complete applications and put them into block chains, enabling automation of a multitude of processes. This chapter explains com- mon platforms through examples describing business models that use block chain as a platform for developing their processes based on digital identity. Also, traditional models with those based on smart deals have been compared. Through examples of cancelation or delays in air travel, voting, music industry, and tracking of personal health records, it was established that how existing models are actually sluggish, in- effective, and prone to manipulation, and through examples of block chain imple- mentation, they showed that these systems functioned faster, more transparent, and most importantly, safer. The application of technology in several industries, from the Fintech industry to the insurance and real estate industry, is also described in this chapter. Concepts and test solutions are described, which are slowly implemented in the production phase and show excellent results. For this reason, we believe that sim- ilar solutions will implement increasing adoption of block chain technology globally. In the last, practical part of the chapter, a survey of existing solutions that offer crea- tion of its own block chain and a multichain platform was selected. By having easy to apply and understand guidelines, it is easier for wider audience to accept and use/ reuse sometimes complex digital concepts as part of their solutions and business processes. Chapter 3: Anomaly detection in cloud big database metric This chapter describes the anomaly detection procedure in cloud database metric. Each and every big data source or big database needs a security metric monitoring. The monitoring software collects various metrics with the help of custom codes, plugging, and so on. The chapter describes the approach of modifying the normal metric thresholding to anomaly detection. In this concept, system administration 1 Introduction 3 possesses a common problem to deal with some intelligent alarm method, which can produce predictive warnings, that is, the system can detect any anomalies or problems before it occurs. The novel concept detects all the anomalies by analyzing previous metric data continuously. The chapter also deals with the power exponen- tial moving average and exponential moving standard deviation method to produce an effective solution. The work has been tested on CPU utilization and memory uti- lization of big database servers, which reflects the real-time quality of the solution. Chapter 4: Use of big data in hacking and social engineering With the tangible and exponential growth of big data in various sectors, every day-to- day activities like websites traversed, locations visited, movie timings, and so on were stowed by various companies such as Google through Android cell phone. Even bank details are accessible by Google. In such situation, wherein a person’s identity can be mentioned almost completely by just few datasets, the security of those datasets is of huge importance especially in terms of situations where human manipulations are involved. Using social engineering to retrieve few sensitive information could lead to completely rip off a person’s identity and his personal life. This chapter deals with similar facts, that is, social engineering angle of hack- ing for big data along with other hacking methodologies that can be used for big data and how to secure the systems from the same. This chapter helps users to visu- alize major vulnerabilities in data warehousing systems for big data along with an insight of such major hacking in recent past, which lead to disclosure of major pri- vate and sensitive data of millions of people. The insight provided in this chapter will help single users and corporates to visualize how their data are at stake and what precautions they can take to secure them, let it be phishing type of social en- gineering attack or Scareware type of attacks. Chapter 5: Steganography, the widely used name for data hiding This chapter describes the information hiding technique as well as consumptions of this one in big data. Global communication has no bounds and more information is being exchanged over the public medium, which serves an important role in the communication mode. The rapid growth in the usage of sensitive information ex- change through the Internet or any public platform causes a major security concern 4 Shibakali Gupta, Indradip Banerjee, Siddhartha Bhattacharyya these days. More essentially, digital data has given an easy access to communica- tion of its content that can also be copied without any kind of degradation or loss. Therefore, the urgency of security during global communication is obviously quite tangible nowadays. Without the communication medium, the field of technology seems to downfall. But appallingly, these communications often turn out to be fatal in terms of preserving the sensitivity of vulnerable data. Unwanted sources hamper the privacy of the communication and may even annoyance with such data. The importance of security is thus gradually increasing in terms of all aspects of protect- ing the privacy of sensitive data. Various concepts of data hiding are hence into much progress. Cryptography is one such concept, the others being watermarking, and so on. But to protect the complete data content with some seamlessness, this chapter incorporates concepts of steganography. The realm of steganography rati- fies the stated fact to safeguard the privacy of data. Unlike cryptography, steganog- raphy brings forth various techniques that strive to hide the existence of any hidden information along with keeping it encrypted. On the other hand, any appar- ently visible encrypted information is definitely more likely to captivate the interest of some hackers and crackers. Therefore, precisely saying, cryptography is a prac- tice of shielding the very contents of the cryptic messages alone. On the other hand, steganography is seriously bothered with camouflaging the fact that some confiden- tial information is being sent, along with concealing the very contents of the mes- sage. Hence, the data hiding in the seemingly unimportant cover medium is perpetuated. The field of big data is quite into fame these days as they deal with complex and large datasets. Steganographic methodologies may be used for the purpose of enhancing security of big data since they also find ways of doing so. Chapter 6: Big data security issues with challenges and solutions Some of the big data security issues have been discussed in this chapter with some solution mechanism. Big data is a collection of huge sets of data of different catego- ries, where it could be distinguished as structured and unstructured ways. As are rev- olutionizing to zeta bytes from Giga/Tera/Peta/Exabytes in this phase of computing, the threats have also increased in parallel. Big data analysis is flattering essential means for automatic determination of astuteness that is concerned in the recurrently stirring outline and secreted convention. This can facilitate companies to obtain an improved resolution, to envisage and recognize revolutionize, and to categorize new- fangled prospects. Dissimilar procedure in support of big data analysis as well as numerical analysis, batch processing, machine learning, data mining, intelligent in- vestigation, cloud computing, quantum computing, and data stream preparing be- come possibly the most important factor. There is a gigantic open door for the big 1 Introduction 5 data industry in addition to plenty of possibilities for research and enhancement. Besides big organizations, cost reduction is the criterion for the use of small- and me- dium-sized organizations too, thus increasing the security threat. Checking of the streaming data once is not the solution as security breaches cannot be understood. The data stack up within the clouds is not the only preference as big data technology is available for dispensation of both structured and unstructured data. Nowadays an enormous quantity of data is provoked by mobile phones (Smartphone) of equally the symphony form. Big data architecture is comprehend among the mobile cloud de- signed for supreme consumption by means. The best ever implementation is able to be conked out realistic for the use of a novel data-centric architecture of MapReduce technology, while HDFS also acts immense liability in using data with divergent ar- rangement. As time approaches the level of information and data engendered from different sources, enhanced and faster execution is the claim for the same. Here in this chapter the aim is to find out big data security vulnerable and also find out the best possible solutions for them. Considering this attempt will dislodge a stride for- ward along the way to an improved evolution in secure propinquity to opportunity. Chapter 7: Conclusions This chapter summarizes the main contributions and findings of the previously dis- cussed chapters and offers future research directions. A conclusion has also been derived out on the possible scope of extension or future direction. In this book, sev- eral security issues have been addressed in big data domain. The book covers a wide area of big data security as well as steganography and points to a fairly large number of ideas, where the concepts of this book may be improvised. Design of nu- merous big data security concept through steganography has been discussed, which can meet different requirements like robustness, security, embedding capac- ity, and imperceptibility. Experimental studies are carried out to compare the per- formance of these developments. The comparative study of each method along with the existing method is also established. References [1] Snijders, C., Matzat, U., & Reips, U.-D. “‘Big Data’: Big gaps of knowledge in the field of Internet”. International Journal of Internet Science, (2012), 7(1) [2] Martin, Hilbert. “Big Data for Development: A Review of Promises and Challenges. Development Policy Review”. martinhilbert.net. Retrieved 7 October 2015. [3] DT&SC 7-3: What is Big Data?. YouTube. 12 August 2015. [4] Cheddad, Abbas., Condell, Joan., Curran, Kevin., & Kevitt, Paul Mc. Digital image steganography: Survey and analysis of current methods Signal Processing 90, 2010,pp. 727–752. 6 Shibakali Gupta, Indradip Banerjee, Siddhartha Bhattacharyya [5] Capurro, Rafael., & Hjørland, Birger. (2003). The concept of information. Annual review of information science and technology (s. 343–411). Medford, N.J.: Information Today. A version retrieved November 6, 2011. [6] Anthony Reading. Meaningful Information: The Bridge Between Biology, Brain, and Behavior. Originally published: January 1, 2011. [7] Liu, Shuiyin., Hong, Yi., & Viterbo, E. “Unshared secret key cryptography”. IEEE Transactions on Wireless Communications, 2014, 13(12), 6670–6683. [8] Hsu, Fu-Hau., Min-Hao, Wu., & WANG, Shiuh-Jeng., “Dual-watermarking by QR-code Applications in Image Processing”, 2012 9th International Conference on Ubiquitous Intelligence and Computing and 9th International Conference on Autonomic and Trusted Computing. [9] Kaminsky, A., Kurdziel, M., & Radziszowski, S.”An overview of cryptanalysis research for the advanced encryption standard”, Military Communications Conference, 2010 – MILCOM 2010, San Jose, CA, Oct.31 2010-Nov.3 2010, 1310–1316, ISSN: 2155-7578 [10] Bian, Yong., & Liang, S. “Locally optimal detection of image watermarks in the wavelet domain using Bessel K Form distribution”. IEEE Transactions on Image Processing, 2013, 22 (6), 2372–2384. [11] EL-Emam, N.N. “Hiding a large amount of data with high security using steganography algorithm,” Journal of Computer Science, 3(4), 223–232, April 2007. 1 Introduction 7 Leo Mrsic, Goran Fijacko and Mislav Balkovic 2 Digital identity protection using blockchain for academic qualification certificates Abstract: Although it was always an important issue, digital era increases the im- portance of both questions “what identity is” and “why is important to manage and protect one.” There are many views and definitions of digital identity in the litera- ture; however, this chapter explains the identity related to the identification of an individual, his/her qualification, and his/her status in society. Using modern ap- proach, this chapter focuses on the academic qualification of an individual where blockchain is presented as an efficient concept for publishing, storing, and verify- ing educational certificates/diplomas. Motivation for this research came from lack of practical applications of blockchain and importance of EDU certificate transpar- ency and challenges in their sharing (policy issues, national standard, etc.). By hav- ing easy to apply and understand guidelines, it is easier for wider audience to accept and use/reuse sometimes complex digital concepts as part of their solutions and business processes. As part of institution research lab, explained approach and proof of concept solution was developed in Algebra University College. Keywords: digital identity, blockchain, smart contracts, academic qualification cer- tificates, certificate Mrsic, Fijacko and Balkovic 2.1 Introduction If we talk about a classical identity of an individual, we can think of personal identity card, a birth certificate, a driving license but also a university certificate/diploma or other EDU certificate. In terms of the digital identity of an individual, we can talk about an e-personal ID card, e-birth certificate, e-homepages, e-driver’s license or e-diplomas [1]. The e-name tag is electronic, which means these documents also have a digital component. This digital component can be, for example, an electronic data carrier (chip) that stores certain data or certificates that are readily uploaded to the computer by a reader if needed. The data being displayed are centralized and are guaranteed by and responsible to the institution issuing them, where the data is stored [2]. Digital identity does not necessarily have to be a physical document or docu- ment [3]. It also includes our email addres";"""date"",""2020-04-02T07:44:59Z"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""1"",""2"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""pdf:PDFVersion"",""1.6"" ""pdf:hasXFA"",""false"" ""access_permission:modify_annotations"",""true"" ""access_permission:can_print_degraded"",""true"" ""dcterms:created"",""2020-04-02T07:36:17Z"" ""language"",""en"" ""Last-Modified"",""2020-04-02T07:44:59Z"" ""dcterms:modified"",""2020-04-02T07:44:59Z"" ""dc:format"",""application/pdf; version=1.6"" ""xmpMM:DocumentID"",""uuid:0d2da0a8-a966-4ae7-a7e9-bccdc47df8ec"" ""Last-Save-Date"",""2020-04-02T07:44:59Z"" ""access_permission:fill_in_form"",""true"" ""pdf:docinfo:modified"",""2020-04-02T07:44:59Z"" ""meta:save-date"",""2020-04-02T07:44:59Z"" ""pdf:encrypted"",""false"" ""xmp:CreateDate"",""2020-04-02T10:36:17Z"" ""modified"",""2020-04-02T07:44:59Z"" ""Content-Length"",""2160105"" ""pdf:hasMarkedContent"",""false"" ""Content-Type"",""application/pdf"" ""xmp:ModifyDate"",""2020-04-02T10:44:59Z"" ""xmp:MetadataDate"",""2020-04-02T10:44:59Z"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""pdf:producer"",""iTextSharp 5.0.6 (c) 1T3XT BVBA"" ""meta:creation-date"",""2020-04-02T07:36:17Z"" ""created"",""2020-04-02T07:36:17Z"" ""access_permission:extract_for_accessibility"",""true"" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""158"" ""Creation-Date"",""2020-04-02T07:36:17Z"" ""resourceName"",""external_content.pdf"" ""pdf:hasXMP"",""true"" ""pdf:charsPerPage"",""76"",""440"",""78"",""1499"",""360"",""0"",""2670"",""2808"",""191"",""0"",""581"",""0"",""1098"",""0"",""2371"",""2717"",""2375"",""2136"",""2591"",""2416"",""1194"",""0"",""2151"",""1128"",""2501"",""2665"",""1346"",""2610"",""2546"",""2020"",""2340"",""2132"",""1985"",""1059"",""1386"",""1616"",""2653"",""1723"",""2074"",""2782"",""2311"",""1678"",""963"",""929"",""2086"",""1695"",""1522"",""1843"",""2006"",""780"",""1518"",""856"",""1539"",""1264"",""592"",""296"",""1440"",""3134"",""943"",""0"",""2545"",""2550"",""2042"",""2147"",""2509"",""1282"",""2263"",""2161"",""2288"",""2636"",""2324"",""2412"",""2367"",""2019"",""2325"",""2367"",""2562"",""446"",""2148"",""2240"",""1830"",""1282"",""2342"",""1143"",""2886"",""1552"",""2295"",""3011"",""2087"",""2497"",""1802"",""2605"",""2524"",""2659"",""2477"",""2696"",""2154"",""1087"",""1162"",""612"",""2245"",""2251"",""1953"",""3211"",""3101"",""3122"",""495"",""0"",""2123"",""2894"",""2803"",""2488"",""2422"",""1920"",""1493"",""2517"",""953"",""2645"",""1672"",""1809"",""1957"",""1927"",""719"",""2149"",""2093"",""2248"",""2490"",""2077"",""2387"",""2046"",""2197"",""1443"",""2929"",""1627"",""2240"",""2147"",""1918"",""1828"",""2067"",""2321"",""1345"",""1627"",""2285"",""797"",""2286"",""1868"",""2795"",""788"",""2203"",""2333"",""2891"",""1633"",""2477"",""1667"",""3348"",""3114"",""2574"",""1352"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""producer"",""iTextSharp 5.0.6 (c) 1T3XT BVBA"" ""access_permission:can_modify"",""true"" ""pdf:docinfo:producer"",""iTextSharp 5.0.6 (c) 1T3XT BVBA"" ""pdf:docinfo:created"",""2020-04-02T07:36:17Z"" ";https://scholar.google.com/scholar?start=750&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094637-1063;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Strong authenticity with leakage under weak and falsifiable physical assumptions;F Berti, C Guo, O Pereira, T Peters… ; … Conference on Information …, 2019 Springer;;"… (\mathsf {Oracle}\) \(mathsf {Vrfy … To model the ability of an adversary to get leakage on tag generation and verification, we extend the \(\mathsf {FORGE}^{\mathsf {suf}\text {-}\mathsf {vcma}}\) experiment by allowing the oracles to additionally return the evaluation of \(\mathsf {L} …";Cité 4 fois;Les 3 versions;[PDF] iacr.org;https://eprint.iacr.org/2019/1413.pdf;" Strong Authenticity with Leakage under Weak and Falsifiable Physical Assumptions Francesco Berti1, Chun Guo2, Olivier Pereira1, Thomas Peters1, and François-Xavier Standaert1 1 ICTEAM/ELEN/Crypto Group, UCL, Louvain-la-Neuve, Belgium 2 School of Cyber Science and Technology and Key Laboratory of Cryptologic Technology and Information Security, Ministry of Education, Shandong University Abstract. Authenticity can be compromised by information leaked via side-channels (e.g., power consumption). Examples of attacks include direct key recoveries and attacks against the tag verification which may lead to forgeries. At FSE 2018, Berti et al. described two authenticated encryption schemes which provide authenticity assuming a leak-free implementation of a Tweakable Block Cipher (TBC). Precisely, security is guaranteed even if all the intermediate computations of the target implementation are leaked in full but the TBC long-term key. Yet, while a leak-free implementation reasonably models strongly protected implementations of a TBC, it remains an idealized physical assumption that may be too demanding in many cases, in particular if hardware engineers mitigate the leakage to a good extent but (due to performance constraints) do not reach leak-freeness. In this paper, we get rid of this important limitation by introducing the notion of Strong Unpredictability with Leakage for BC’s and TBC’s. It captures the hardness for an adversary to provide a fresh and valid input/output pair for a (T)BC, even having oracle access to the (T)BC, its inverse and their leakages. This definition is game-based and may be verified/falsified by laboratories. Based on it, we then provide two Message Authentication Codes (MAC) which are secure if the (T)BC on which they rely are implemented in a way that maintains a sufficient unpredictability. Thus, we improve the theoretical foundations of leakage- resilient MAC and extend them towards engineering constraints that are easier to achieve in practice. 1 Introduction Message Authentication Codes (MAC) are widely used to authenticate data. Efficient MAC are usually constructed from conceptually simpler symmetric primitives such as (tweakable) block ciphers (e.g., CBC [5]) and hash functions (e.g., HMAC [5,4]), and enjoy reliable “provable security guarantees”, i.e., security reductions to the underlying primitives. Side-channel attacks, since introduced in the 1990s [21,22], have now been recognized as one of the main real-world security threats (e.g., see [2, chapter 1.2]). In response, var- ious implementation-level countermeasures have been proposed and even formally proved effective. However, they typically induce significant overheads. As a complementary, the methodology of leakage-resilience was proposed [14] and followed by many (see [20] for a sur- vey). Schemes proved leakage-resilient enjoy security even if a moderate amount of sensitive information is leaked via side-channels. Consequently, their implementations could leverage less protected circuits and thus reduce the overall overheads. It is not a surprise that with leakages, classical MAC such as CBC and HMAC are not se- cure at all, even if leakages only contain the input/output values of the underlying functions (see, e.g., [12]). This means their implementations have to be heavily protected when used in sensitive settings such as the IoT, which may be hard to achieve given application cost con- straints. Therefore, exploring the construction of leakage-resilient MAC is a natural direction, which was initiated in [18,24,25,8] and later improved in [9,3,7] to achieve security in the presence of both tag generation and verification leakages.1 We remark that the premises used in these works are significantly different. For example, [24,3] leveraged bilinear maps in the generic group model to ease secret-sharing/masking-based implementations of their MAC, while [25,8,9,7] model a heavily protected (tweakable) block cipher (e.g., using high-order masking [15,19]) as leak-free and focus on making the other mode-level leakages harmless. From the efficiency viewpoint, sticking with simple symmetric primitives is naturally desirable.2 Yet, a drawback of the aforementioned papers [25,8,9,7] is the use of leak-free cipher model. Despite it is theoretically possible to reach very high security levels with masking (approaching black box security [15,19]), it implies (very) high overheads that may not be acceptable in practice. Besides, the leak-free assumption (that is, nothing is leaked about the key used and the outputs remain pseudorandom) cannot be accompanied by any well-defined security game—somewhat resembling the random oracle model. Our contribution. The goal of this paper is to bridge the above theory gap (i.e., seeking for some well-defined leakage assumptions on the block cipher that allows the leakage-resilient MAC security reductions) while also enabling more modular security guarantees that may degrade gracefully when the physical assumption is respected only to some extent. Our answer to this challenge is Strong Unpredictability in the presence of Leakages for a (T)BC, henceforth abbreviated as SUL2. In detail, it captures the hardness of providing a fresh input/output pair for the (T)BC even having access to its leaking oracle and leaking inverse oracle (following the notations of [17], the variant without leaking inverse oracle would be SUL1). It can be viewed as a natural extension of the unpredictable block cipher assumption introduced by Dodis and Steinberger [12,13]. With this new assumption, we revisit existing (tweakable) block cipher-based leakage- resilient MAC. We first consider the simplest Hash-then-BC scheme τ = Fk(H(m)), the leakage security of which was analyzed by Berti et al. [8,9]. While the security reduction seems straightforward, Berti et al. [9] changed the verification process of Vrfyk(m, τ) from “If τ = F∗k(H(m)), then return 1” to “If H(m) = F∗,−1k (τ), then return 1” (i.e., leveraging the inverse F∗,−1k to avoid leaking sensitive information).3 As a result, they achieve better mode-level leakage-resilience as the intermediate value F∗,−1k (τ) does not have to be protected: even given this additional value it is still hard to forge a tag. However, their proof relies on leak- free block ciphers. We show that the SUL2 assumption for F∗ is actually sufficient to obtain similar guarantees, further assuming an ideal hash H.4 We then revisit the recently proposed Hash-then-TBC scheme [7], which was also used in the NIST AE submission Spook [6]. In detail, its tag generation is Tagk(m) = τ = F∗k(h1, h2), where h2 is the tweak of F∗ and h1‖h2 = H(m) (i.e., the 2n-bit output of H is divided into two halves h1 and h2), while for verification Vrfyk(m, τ) we compute h̃1 = F∗,−1k (τ, h2) and compare it with h1, with 1 Note that some MACs were parts of authenticated encryption (AE) proposals. 2 The MAC of [24,3] consumes ≈ 4 seconds to generate a tag on a 32-bit ARM. 3 F∗ means that the BC F is implemented in a leak-free way 4 This idealized assumption is used for simplifying our analyzes, since our focus is on the leak-free blocks. We leave its relaxation as an interesting open problem. 2 h1‖h2 = H(m). We show that using a 2n-bit hash, we can improve the birthday bound of the previous Hash-then-BC construction. Both schemes are natural, extremely simple and should be easy to implement for practical uses. We expect the block cipher based construction (next: HBC) to be slightly more efficient than the tweakable version (next: HTBC) as a secure TBC typically consumes more rounds than a secure BC. However, we also note that HBC admits forgery attacks with lower data complexity (simply utilizing a hash collision), while HTBC solves this problem by doubling the size of the hash and using a TBC (that has a larger input size) to absorb the digest. In summary, our results improve the theory foundations for existing efficient (tweakable) block cipher-based leakage-resilient MAC. We believe the SUL2 assumption could find more applications in future leakage-resilient analyses. In practice, unpredictability is widely be- lieved to be more relaxed than PRP [12].5 Thus it potentially enables using reduced-round (tweakable) BCs for MAC. As the heavily protected ciphers are much more costly than the hash functions (that do not need protection), they are expected to be the performance bottle- neck, and reducing the number of rounds may significantly improve the overall performance (e.g., in terms of latency and energy consumption). Related work. The idea of basing MAC security on unpredictable ciphers is not new, dating back to [1] and witnessing recent achievements [12,28,13]. In fact, as argued in [12], it is natural to consider reducing the unpredictability of the “bigger” MAC to the unpredictability of the “smaller” ciphers. 2 Background Notations. A (q1, ..., qd, t)-adversary A in an experiment against Π is an algorithm A having oracle access to Algo1, ...,Algod, making at most qi queries to oracle Algoi, running in time bounded by t, and outputting a finite string of bits. The leakage function due to the imple- mentation of an algorithm Algo is denoted LAlgo. This function might be non deterministic. A leaking query to Algo is denoted LAlgo and results in running both Algo and LAlgo on the same input. The set of binary strings of length n is denoted by {0, 1}n, while the set of all finite strings by {0, 1}∗. Given two strings, x and y, we let x||y denote the concatenation of these two strings. The view of a game consists of all queries made by the adversary to his oracles, the oracles’ answers and the final output of the adversary. In a transcript every oracle query is immediately followed by its answer. A value is fresh if it has never appeared in the view. 2.1 Multi-Collisions Let 1 ≤ s ≤ q ≤ N . We consider the experiment where we uniformly throw q balls at random into N bins. MultiColl(N, q) ≥ s denotes the event that at least one bin contains at least s balls. We recall a useful upper-bound on the probability of multi-collisions. 5 Indeed, Unpr can be based on weaker complexity assumptions [11]. 3 Theorem 1 ([26]). Pr[MultiColl(N, q) ≥ s] ≤ 1 N s−1 ( q s ) . We also need the following technical result. Lemma 1. If 2q ≤ N , q∑ s=1 (s− 1) ¡ Pr[MultiColl(N, q) ≥ s] ≤ 1 N ( q 2 )( 1 + 2q N ) . Proof. Looking at the generic term for s ≥ 3 after applying the theorem leads to s− 1 N s−1 ( q s ) ≤ 1 N s−2 ( q s− 1 ) ¡ q N ≤ 1 N ( q 2 ) ¡ ( q N )s−2 . Then, the whole sum is upper-bounded by 1 N ( q 2 ) ¡ q∑ s=2 ( q N )s−2 ≤ 1 N ( q 2 ) N N − q = 1 N ( q 2 )( 1 + q N − q ) . Hence, the result since q ≤ N − q. ut 2.2 Cryptographic Primitives Tweakable block ciphers A tweakable block cipher [23] (TBC) is a function F : K×T W× X 7−→ Z, where K and T W are respectively called the key space and the tweak space, and such that for any key k ∈ K and any tweak tw ∈ T W , the function Ftw k : X 7→ Z;x 7→ Ftw k (x) := Fk(tw, x) := F(k, tw, x) is a permutation. We denote the inverse of this function by F−1k,tw so that, if Ftw k (x) = y, then F−1k (tw, y) := F−1k,tw(y) = x. A Block Cipher (BC) is a TBC with an empty tweak space: the only tweak is the “empty string”. Message authentication codes with leakage A message authentication code (MAC) is a couple of algorithms (Tag,Vrfy), Tag : K ×M 7−→ T and Vrfy : K ×M× T 7−→ {0, 1}, where K, M and T are respectively called the key space, the message space and the tag space, and such that for any key k ∈ K and any message m ∈M, 1← Vrfyk(m,Tagk(m)). Definition 1. A MAC = (Tag,Vrfy) is (qT , qV , t, Îľ) strongly existentially unforgeable against chosen-message and verification attacks, or simply (qT , qV , t, Îľ)-suf-vcma for short, if for all (qT , qV , t)-adversary A, we have Pr[FORGEsuf-vcma A,MAC = 1] ≤ Îľ where the FORGEsuf-vcma experiment is defined in Tab. 1. 4 FORGEsuf-vcma MAC,A experiment. Initialization: Oracle Tag(m): k $← K τ ← Tagk(m) S ← ∅ S ← S ∪ {(m, τ)} Return τ Finalization: (m, τ)← ATag(¡),Vrfy(¡,¡) Oracle Vrfy(m, τ): If (m, τ) ∈ S Return 0 Return Vrfyk(m, τ) Return Vrfyk(m, τ) Table 1. The FORGEsuf-vcma experiment. To model the ability of an adversary to get leakage on tag generation and verification, we extend the FORGEsuf-vcma experiment by allowing the oracles to additionally return the evaluation of LTag and LVrfy, where L = (LTag, LVrfy) is the leakage function pair due to an implementation of the MAC. Given an adversary A, we write AL to specify that the adversary knows the implementation and that it can learn the leakage for chosen keys, which models any leakage learning phase on other devices with the same implementation. Definition 2. A MAC = (Tag,Vrfy), whose implementation has leakage function pair L = (LTag, LVrfy) is (qT , qV , qL, t, Îľ) strongly existentially unforgeable against chosen message and verification attacks with leakage in tag-generation and verification, or (qT , qV , qL, t, Îľ)-suf-L2, if for any (qT , qV , qL, t)-adversary A, we have Pr[FORGE-L2suf-vcma A,MAC,L = 1] ≤ Îľ, where the FORGE-L2suf-vcma experiment is defined in Tab. 2, and where AL makes at most qL queries to L. FORGE-L2suf-vcma MAC,A experiment. Initialization: Oracle LTag(m): k $← K τ ← Tagk(m), `m ← LTag(k,m) S ← ∅ S ← S ∪ {(m, τ)} Return (τ, `m) Finalization: (m, τ)← ALTag(¡),LVrfy(¡,¡),L Oracle LVrfy(m, τ): If (m, τ) ∈ S, return 0 `v ← LVrfy(k,m, τ) Return Vrfyk(m, τ) Return (Vrfyk(m, τ), `v) Table 2. The FORGE-L2suf-vcma experiment. Note that the L2 notation is for leakage during both tag generation and verification (the variant without tag verification leakage would use L1, following [17]). Unbounded leakage In the rest of this paper, we will consider that all the components of our system, except for the BC/TBC, have an unbounded leakage. That is, all the I/Os of these components (the compression function of hash functions, for instance) are offered by the leakage function. Our paper then focuses on the single component that is not expected to 5 leak its I/Os in full and is used once per MAC computation or tag verification (independently of the length of the message to be authenticated): the BC/TBC. 3 Unpredictability of leaking TBC Dodis and Steinberger [12] introduced the definition of unpredictability with leakage for BC. At a high level, the definition says it is unfeasible to produce a valid input-output couple of the BC even if we got the leakage besides of the outcome of the computation of the BC on chosen inputs. We extend this notion by granting the adversary with the inverse oracle of the BC and its leakage. To save some place, we directly describe this notion for TBCs. We get the corresponding notion for BCs by removing all the tweaks in the definition below. We denote by L = (LEval, LInv) the leakage function pair associated to an implementation of the TBC, where LEval(k, tw, x) (resp. LInv(k, tw, z)) is the leakage resulting from the com- putation of Fk(tw, x) (resp. F−1k (tw, z)). We also allow the adversary A to profile the leakages and write AL as before, like in [25]. Definition 3. A tweakable block cipher F : K × T W × X 7−→ Z with leakage function pair L = (LEval, LInv) is (qE, qI , qL, t, Îľ) strongly unpredictable with leakage in evaluation and inversion, or (qE, qI , qL, t, Îľ)-SUL2, if for any (qE, qV , qL, t)-adversary A, we have Pr[SUL2A,F,L ⇒ 1] ≤ Îľ, where the SUL2 experiment is defined in Tab. 3, and where AL makes at most qL (offline) queries to L. SUL2A,F,L experiment. Initialization: Oracle LEval(tw, x): k $← K z = Fk(tw, x) L ← ∅ `e = LEval(k, tw, x) L ← L ∪ {(x, tw, z)} Finalization: Return (z, `e) (x, tw, z)← ALEval(¡,¡),LInv(¡,¡),L If (x, tw, z) ∈ L Oracle LInv(tw, z): Return 0 x = F−1 k (tw, z) If z == Fk(tw, x) `i = LInv(k, tw, z) Return 1 L ← L ∪ {(x, tw, z)} Return 0 Return (x, `i) Table 3. Strong unpredictability with leakage in evaluation and inversion experiment. 4 First leakage-resilient MAC: HBC We now revisit one of the most common designs to build a MAC from a hash function H and a block cipher F. This MAC is the well-known hash-then-BC scheme, named here HBC, except that we analyze it in a leakage setting and through the lens of the unpredictability of 6 F. As we want to show the security of HBC even when F leaks its inputs and outputs in full, we just have to tweak the usual verification algorithm by using the inversion of the BC to avoid leaking valid tags just by processing invalid pairs (m, τ). As mentioned in introduction, our analysis models H as a random oracle for simplicity and since our focus is on the leak-free blocks. Yet, it does not suggest any reason why an ideal object would be needed, and its relaxation is an interesting open problem. 4.1 HBC description Let M = {0, 1}∗ and X = Z = {0, 1}n. Considering a hash function H : M 7→ X and a block cipher F : K ×X 7→ Z, we build HBC = (Tag,Vrfy): Tagk(m): compute h = H(m), then compute and output τ = Fk(h). Vrfyk(m, τ ): compute h = H(m) and h̃ = F−1k (τ), then output 1 if h = h′, and 0 otherwise. We highlight that Tag only evaluates F while Vrfy only computes its inverse. This feature is at the core of the argument showing that unbounded leakages do not decrease the unforge- ability of this hash-then-BC design. This idea was already used for the authentication part of the AE modes DTE2, EDT and FEMALE [9,17]. We illustrate HBC in Fig. 1. Fig. 1. The leakage resilient MAC HBC. Leakage reveals the orange value. 4.2 Security of HBC In the unbounded leakage model, the adversary receives all the ephemeral values computed during the tag generation and the verification. Only the key of the BC, which is the key of the MAC, remains hidden as implicitly defined by the leakage function pair of its implementation L = (LEval, LInv). More precisely, the unbounded leakage function pair L∗ = (L∗Tag, L ∗ Vrfy) of HBC is thus: 7 L∗Tag(k,m): return h = H(m) and LEval(k, h); L∗Vrfy(k,m, τ): return h = H(m) and h̃ = F−1k (τ) as well as LInv(k, τ). Despite H is a public function, we explicitly include its outputs in the leakage. It can be considered as redundant but, as we rely on a random oracle to prove the security of HBC, we prefer making them fully available to avoid any confusion. Theorem 2. Let F : K × {0, 1}n 7−→ {0, 1}n be a (qT , qV , qL, t, ÎľSUL2)-strongly unpredictable block cipher in the presence of leakage, and H : S × {0, 1}∗ 7−→ {0, 1}n be a hash function modeled as a random oracle that is queried at most qH times, then, HBC is a (qT , qV , qL, t, Îľ)- strongly unforgeable MAC in the unbounded leakage setting, with L∗ = (L∗Tag, L ∗ Vrfy) defined above, where Îľ ≤ (qH + qV + 1)(qV + 1)ÎľSUL2 + (qH + qT + qV + 1)2/2n, and tH(qH + qT + qV + 1) + (qT + qL − q)tF + (qV + q)tF−1 ≤ t for any q ≤ qL, and where we assume that all the H-query involved in the qL queries are already among the qH queries, and if qV ≤ qH (which can be artificially fulfilled at the end of the experiment). The advantage is bounded by 2qHqV ÎľSUL2 + 4q2H2−n under the natural assumption qT + qV + 1 ≤ qH (since qT and qV correspond to online queries while qH corresponds to offline queries, it is expected to hold comfortably). The leading term is 2qHqV ÎľSUL2: for ÎľSUL2 = 2−128, it implies that security holds up to qH = 264 and qV = 263 (i.e., slightly below the birthday bound). For a more realistic ÎľSUL2 = 2−96, it only holds with a stronger limit on the number of verification queries (e.g., qH ≈ 264 and qV = 231). Note that the factor qHqV may be due to the reduction proof technique, as it relates to a case where the adversary is likely to produce a forgery early in the experiment and therefore much of the computational power of the reduction seems useless to the adversary. Hence, it might be possible to obtain tighter bounds using a different reduction approach. It would also be interesting to explore the possibility of making a proof based on standard assumptions on the hash function. Such assumptions would require to exclude damaging and implausible interactions between the hash function and the PRF, and would be an interesting area for future research. Idea of the proof. Assuming that an adversary A succeeds in the FORGE-L2suf-vcma A,HBC,L∗ exper- iment by making a total of qT leaking tag queries and qV leaking verification queries, let (m, τ) be the forgery, i.e., the couple returned by A in the finalization phase. To bound this winning probability, we partition this event into sub events: (1) The tag τ appears in the answer to a leaking tag query (and thus, as an output of Fk); (2) The tag τ never appears in the answer to a leaking tag query (and thus, τ can only be involved as an input of F−1k ) and: (a) m appears as an input of H before F−1k (τ) was ever computed in the experiment; (b) τ appears as an input of F−1k before H(m) was ever computed in the experiment. We cover all the cases since when both m and τ are fresh in a verification query, we always compute (or ask the computation of) H(m) first so that we can say that m appears “before” (the computation of F−1k on input) τ , and since we view the last verification in the finalization as the (qV + 1)-th verification query. 8 The goal of the proof is to show that the collision resistance of H ensures that winning in case 1 is negligible, the unpredictability of F ensures that winning in case 2a is negligible and that preimage resistance of H ensures that winning in case 2b is negligible as well. In case 1, there is a tag query on m′ which defines τ = Fk(H(m′)). Since (m, τ) is a forgery we have Fk(H(m)) = τ with m 6= m′. Then, m and m′ produce a collision as Fk is a permutation: H(m) = F−1k (τ) = H(m′). In case 2a, we assume that F is SUL2-secure. Since m appears before τ , as a challenger we have to use the value h = H(m) and we “wait” for the good tag in a verification query to win the SUL2 game. We do not have to consider the message for which A makes a tag query. However, we cannot know in advance what will be the right tag and we cannot wait until the finalization of the unfogeability experiment because even if A’s output (m, τ) is the right pair, τ may have been already used in a previous verification query. If so, the challenger should have already made a leaking inverse query of the block cipher with input τ to get h̃ = F−1k (τ) and `i ← LInv(k,m) to simulate LVrfy(m, τ), and it could no more win the game against F with τ . Therefore, for all possible m involved in a H-query or a verification query, we have to guess what will be the right τ in verification. Then, we need to consider all the possible such pairs and we thus have to make at most (qH + qV + 1)(qV + 1) reductions. In case 2b, the reduction can generate the key k itself and then evaluate F and its inverse by itself. The first time τ appears (in a leaking verification query) we define the H-target h̃ = F−1k (τ) since the winning corresponding m is still not hashed by assumption. Note that we even do not care whether h̃ already appeared or not in a response to an H-query since fresh queries will result in independent hashes. Therefore, the validity of (m, τ) means that m is a preimage of h̃, as H(m) = F−1k (τ), while H(m) is random. Proof. To prove the theorem, we use a sequence of games. Given an adversary A, we start with Game 0 which is the FORGE-L2suf-vcma A,HBC,L∗ experiment and we end with a game where all the leaking verification queries deem the given input pair (mi, τi) invalid, including the last verification at the finalization which is the (qV + 1)-th verification query by convention. Game 0. This game is depicted in Tab 2. Let E0 be the event that the adversary AL∗ wins this game, that is, the output of the experiment is 1. Game 1. We introduce a failure event F1 with respect to Game 0, where F1 occurs if among the at most (qH + qT + qV + 1) hash computations there is at least one collision. In Game 1, if F1 occurs we abort the game and return 0. We let E1 be the event that the adversary AL wins this game. Bounding |Pr[E0]− Pr[E1]|. Since Game 0 and Game 1 are identical as long as F1 does not occur, if Q = qH + qT + qV + 1, we have |Pr[E0]− Pr[E1]| ≤ Pr[F1] ≤ Q(Q+ 1)/2n+1. Note: from now on, A wins if τ never appears in a leaking tag query. Moreover, h̃ = F−1k (τ) is fresh when τ appears in a leaking verification query for the first time if m was never used as input of H at that time. (See above.) 9 Game 2. We modify the winning condition of the previous game. In the finalization, once A outputs (m, τ) we say that A does not win and return 0 if A fails as before or if m appears as an input of H before the first apparition of τ during a leaking verification query. If we call F2 the event that makes the adversary winning in Game 1 but loosing in Game 2, we have |Pr[E2]− Pr[E1]| ≤ Pr[F2], where E2 is the event that A wins in this game. Bounding Pr[F2]. If we call Vi the event that (m, τ) appears for the first time in the i-th leaking verification query (mi, τ i), we just have to bound Pr[F2∊Vi], for all i = 1 to qV +1. By considering all the input-output pairs defined by H before the i-th leaking verification query, except those defined during a leaking tag query, we can build straightforwards reduction to the SUL2-security of F. We thus have, Pr[F2 ∊ Vi] ≤ (qH + qV + 1)ÎľSUL2 and finally Pr[F2] = qV +1∑ i=1 Pr[F2 ∊ Vi] ≤ (qH + qV + 1)(qV + 1)ÎľSUL2. Note: in Game 2, the adversary wins only if τ appears before m and τ first appears in a leaking verification. The random value of H(m) is still undefined at that time. Game 3. In this game we follow the specification of FORGE-L2suf-vcma A,HBC,L∗ except that we always output 0 at the end of the game. Bounding |Pr[E3] − Pr[E2]| = Pr[E2]. From the last note, we know that h̃ = F−1k (τ) must be reached from a fresh computation of H. Since any fresh H evaluation results in a uniform output which is thus independent of the view of τ , Pr[H(m′) = h̃] = 1/2n for all hash eval- uations on some m′ appearing after τ in a H-query or in a LVrfy query. But the number of targets h̃ during the game is actually the number of different τ ′ in the LVrfy queries when considering the hash evaluations after each such τ ′. Then Pr[E2] ≤ qV (qH + qV )/2n. To summarize, we have Pr[E0] ≤ (qH + qV + 1)(qV + 1)ÎľSUL2 + qV (qH + qV ) 2n + Q(Q+ 1) 2 ¡ 2n from which the result follows as 2qV (qH + qV ) ≤ Q(Q− 1). ut In the next section we show how to improve the security bound. 5 Second leakage-resilient MAC: HTBC The design of our second construction is similar to that of HBC. The main difference in HTBC is that the hash function has a double output length. A TBC replaces the BC to use the tweak as a support for the additional part of the digest. The primary goal of this modification is to get a better bound, even in the unbounded leakage setting. However, we analyze this design under the perspective of the unpredictability of the TBC for the first time. 10 5.1 HTBC description Let M = {0, 1}∗ and T W = X = Z = {0, 1}n. Considering a hash function H : M 7→ X ×T W = {0, 1}2n and a tweakable block cipher F : K×T W ×X 7→ Z, we build HTBC = (Tag,Vrfy): Tagk(m): first compute h1‖h2 = H(m) and τ = Fk(h2, h1) and output τ . Vrfyk(m, τ ): first compute h1‖h2 = H(m) and h̃1 = F−1k,h2 (τ), then output 1 if h1 = h̃1, and 0 otherwise. We stress again that Tag only evaluates F while Vrfy only computes its inverse. HTBC was proposed as the authenticator of TEDT [7] (also adopted in [16,6]), with the motivation to break the birthday security barrier in the Hash-then-Block-cipher HBC. As the hash digest has been increased to 2n bits, the standard hash collision-based attack turns unfeasible. We illustrate HTBC in Fig. 2. Fig. 2. The leakage resilient HBC-scheme. 5.2 Security of HTBC The unbounded leakage function pair L∗ = (L∗Tag, L ∗ Vrfy) of HTBC is defined as L∗Tag(k,m): return h1‖h2 = H(m) and LEval(k, h2, h1); L∗Vrfy(k,m, τ): return h1‖h2 = H(m) and h̃1 = F−1k,h2 (τ) as well as LInv(k, h2, τ). As we rely on the random oracle model to prove the security of HTBC, we include the digests in the leakage to capture the fact that H is actually a public function. Theorem 3. Let H : {0, 1}∗ 7−→ {0, 1}n × {0, 1}n be a hash function modeled as a random oracle, and F∗ : K × {0, 1}n × {0, 1}n 7−→ {0, 1}n be a (qT , qV , qL, t + t3, ÎľSUL2)-strongly un- predictable tweakable block cipher with leakage L = (LEval, LInv), then HTBC is a (qT , qV , t, Îľ)- suf-L2 strongly unforgeable MAC with unbounded leakage function pair L∗ = (L∗Tag, L ∗ Vrfy) as 11 defined above, where Îľ ≤ (qH + qT + qV )2 22n + (qV + 1) ¡ ÎľSUL2 + q2HqV 2n ¡ ÎľSUL2 + qV (qH + qV ) 22n , and tH(qH + qT + qV + 1) + (qT + qL − q)tF + (qV + q)tF−1 ≤ t for any q ≤ qL, and where we assume that all the H-query involved in the qL queries are already among the qH queries, as long as 4 ≤ qH + qT + qV , 4qV ≤ qH and 10qH ≤ 2n. The leading term in the security bound is ÎľSUL2 ¡ q2HqV 2−n. This time, for n = 128 and ÎľSUL2 ≈ 2−96, security holds up to qH ≈ 280 and qV = 264. As for Theorem 2, we are not aware of a realistic matching attack (i.e., if a reasonable hash function and TBC are used in the construction). Investigating whether the additional qH2−n factor that we gain compared to the BC-based construction can get closer to 2−n is an interesting open problem. The structure of the proof for HTBC is different from that of HBC. The main reason is that the collision resistance of H does not cover all the winning cases when the adversary’s τ of the forgery appears in an LTag query. Indeed, we might have H(m) = h1‖h2 6= h′1‖h′2 = H(m′) such that Fk(h2, h1) = τ = Fk(h′2, h ′ 1) with m′ in an LTag query. That is because Fk,h2 and Fk,h′2 can be seen as two different permutations given that h2 6= h′2: an output τ defines many possible tweak-input pairs. As we will see the distribution and the freshness of (h2, τ) will play an important role in the proof. Idea of the proof. Let (m, τ) be a forgery and write H(m) = h1‖h2. If no triple of the form (?, h2, τ) appears during the computation of all the evaluations and inversions of F, (h1, h2, τ) is a valid fresh triple for F which breaks the unpredictability of the TBC. However, if it is not the case, the triple (?, h2, τ) appears either in the evaluation of F during an LTag query or only in the inversion of F in an LVrfy query. In the former case, as the answer to an LTag query is necessarily valid, the triple (?, h2, τ) must actually be (F−1k (h2, τ), h2, τ), i.e. (h1, h2, τ). Of course, if the adversary has made an LTag query on m, it cannot win. If the adversary is successful, it means that it managed to request the computation of a hash value which collides on H(m), which only occurs with a beyond-birthday probability. We can thus focus on the latter case where the triple (?, h2, τ) only appears when answering an LVrfy query, i.e. in an inversion of F. We split the remaining winning conditions into: (1) m appears as an input of H before ever computing a TBC inversion on input (h2, τ) when answering a leaking verification query; (2) m appears strictly after the first computation of a TBC inversion on input (h2, τ) when answering a leaking verification query; no matter whether τ appears first in an LTag answer or in an LVrfy query. We note that we no more need to consider the H computation in the LTag queries as we already dealt with H-collisions. In a nutshell, the first case means the adversary chooses τ depending on the view of the hash value h1‖h2 and hence it relates to the unpredictability of F. In the second case, the target h1‖h2 is fixed in the leaking verification query while the output of H(m) remains uniformly random and independent of the view at that time. By convention, if m and τ first appear for the first time together in an LVrfy query, 12 we first compute H(m) so that we always consider that m appears “before” τ . In addition, w";"""date"",""2019-12-05T20:45:22Z"" ""pdf:PDFVersion"",""1.5"" ""pdf:docinfo:title"","""" ""xmp:CreatorTool"",""LaTeX with hyperref package"" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""subject"","""" ""language"",""en"" ""dc:format"",""application/pdf; version=1.5"" ""pdf:docinfo:creator_tool"",""LaTeX with hyperref package"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"","""" ""modified"",""2019-12-05T20:45:22Z"" ""cp:subject"","""" ""pdf:docinfo:subject"","""" ""pdf:hasMarkedContent"",""false"" ""pdf:docinfo:creator"","""" ""PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017/Debian) kpathsea version 6.2.3"" ""meta:author"","""" ""trapped"",""False"" ""meta:creation-date"",""2019-12-05T20:45:22Z"" ""created"",""2019-12-05T20:45:22Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2019-12-05T20:45:22Z"" ""resourceName"",""1413.pdf"" ""Author"","""" ""producer"",""pdfTeX-1.40.18"" ""pdf:docinfo:producer"",""pdfTeX-1.40.18"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""1"",""1"",""36"",""7"",""8"",""3"",""10"",""7"",""10"",""10"",""24"",""23"",""16"",""29"",""10"",""0"",""0"" ""Keywords"","""" ""access_permission:modify_annotations"",""true"" ""dc:creator"","""" ""dcterms:created"",""2019-12-05T20:45:22Z"" ""Last-Modified"",""2019-12-05T20:45:22Z"" ""dcterms:modified"",""2019-12-05T20:45:22Z"" ""title"","""" ""Last-Save-Date"",""2019-12-05T20:45:22Z"" ""pdf:docinfo:keywords"","""" ""pdf:docinfo:modified"",""2019-12-05T20:45:22Z"" ""meta:save-date"",""2019-12-05T20:45:22Z"" ""pdf:docinfo:custom:PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017/Debian) kpathsea version 6.2.3"" ""Content-Length"",""966424"" ""Content-Type"",""application/pdf"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"","""" ""dc:subject"","""" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""18"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""3016"",""3088"",""2451"",""1317"",""1762"",""1773"",""1336"",""2645"",""2563"",""2002"",""1275"",""2607"",""2764"",""2497"",""1662"",""2608"",""3744"",""1906"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""pdf:docinfo:trapped"",""False"" ""meta:keyword"","""" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2019-12-05T20:45:22Z"" ";https://scholar.google.com/scholar?start=880&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094647-1106;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Automated Technology Transfer in MDE as a Service: Experiences and Research Directions;FP Basso, D Kreutz, E Rodrigues… ; Anais do I Workshop em …, 2019 sol.sbc.org.br;;"… Big market leaders like IBM, Google and Oracle embrace these soft- ware development assistants innovations … produced in this direction, highlighting the potential of distributed architectures, which can be built with technologies for smart contracts and blockchain, in gaining …";Autres articles;Version HTML;[PDF] sbc.org.br;https://sol.sbc.org.br/index.php/mssis/article/download/7563/7438;" Automated Technology Transfer in MDE as a Service: Experiences and Research Directions FĂĄbio Paulo Basso1, Diego Luiz Kreutz1, Elder de Macedo Rodrigues1, Maicon Bernardino1 1Laboratory of Empirical Studies in Software Engineering (LESSE), Federal University of Pampa (UNIPAMPA), Alegrete, RS, Brazil {fabiobasso,diego.kreutz,elderrodrigues}@unipampa.edu.br,bernardino@acm.org Abstract. For years, researchers have sought to assist in the execution of Soft- ware Engineering (ES) activities with toolboxes developed in the laboratory and in-house. Big market leaders like IBM, Google and Oracle embrace these soft- ware development assistants innovations. Unfortunately, innovations launched by independent researchers simply cannot get space and are shelved. Due to the lack of maturity of the product, there is a difficulty, in less than three years, that it is the threshold for success or failure of a startup in Brazil, to enable the transfer of these technologies from academia to industry. This paper presents some experiences with a future vision for research that seeks to automate the transfer of technology in the area through integration mechanisms for assets. In particular, we discuss a set of works produced in this direction, highlighting the potential of distributed architectures, which can be built with technologies for smart contracts and blockchain, in gaining credibility within short time-to- market. Resumo. HĂĄ tempo os pesquisadores vĂŞm tentando apoiar a execução de ati- vidades da Engenharia de Software (ES) com suporte ferramental desenvolvido em laboratĂłrio e in-house. LĂ­deres de mercado como IBM, Google e Oracle abraçam estas inovaçþes de base tecnolĂłgica para ES e, infelizmente, ainda se observa que inovaçþes lançadas por pesquisadores independentes enfrentam muitas dificuldades para conseguir espaço. Devido Ă  falta de credibilidade do produto por sua imaturidade, ĂŠ difĂ­cil nos primeiros trĂŞs anos determinantes ao sucesso ou fracasso de uma startup no Brasil, se viabilizar a transferĂŞncia de tecnologias da academia para a indĂşstria. Neste cenĂĄrio, o presente ar- tigo apresenta algumas experiĂŞncias com uma visĂŁo de futuro para pesquisas que buscam automatizar a transferĂŞncia de tecnologia da ĂĄrea por meio de me- canismos de integração para assets. Em especial, discute-se um conjunto de trabalhos produzidos neste rumo, destacando o potencial de arquiteturas distri- buĂ­das, as quais podem ser construĂ­das com tecnologias como smart contracts e blockchain, no ganho de credibilidade dentro do curto tempo de mercado. 1. Introdução Atualmente, a sociedade brasileira impĂľe pressĂŁo para que as pesquisas conduzidas na academia tenham aplicação na prĂĄtica. Hoje se questiona se de fato, como pesquisa- dores, estamos prontos para responder positivamente a esta pressĂŁo. Nesse cenĂĄrio, se percebe que boa parte das pesquisas conduzidas na ĂĄrea de Engenharia de Software tem um cunho prĂĄtico e sĂŁo realizadas por meio de estudos aplicados [Sommerville 2010]. No entanto, sĂŁo raros os relatos de transferĂŞncia de tecnologia observados na literatura desta ĂĄrea [Mikkonen et al. 2018], o que ĂŠ algo bastante controverso. Para uma ĂĄrea de pes- quisa da computação construĂ­da nos estudos aplicados, ĂŠ necessĂĄrio entender os motivos que atrapalham a transferĂŞncia de tecnologia. HĂĄ anos, pesquisadores buscam apoiar a execução de atividades de Engenharia de Software com suporte ferramental desenvolvido em laboratĂłrio e in-house [Mussba- cher et al. 2014]. Empresas como IBM, Google e Oracle abraçam as inovaçþes de base tecnolĂłgica para ES, o que ĂŠ positivo para algumas startups de base tecnolĂłgica que ti- veram a competĂŞncia e sorte de convencĂŞ-los como investidores. PorĂŠm, isto tambĂŠm deixa pouco espaço para pesquisadores independentes. Por exemplo, Flutter ĂŠ um um toolkit bastante adotado em fĂĄbricas de software para desenvolvimento de apps1. Este toolkit ĂŠ mantido pela Google, oferece uma Domain Specific Language (DSL) [France and Rumpe 2007] para desenvolvimento e permite a geração de cĂłdigo para mĂşltiplas plataformas. O fato interessante associado com a transferĂŞncia de tecnologia de ES ĂŠ que, antes de 2000 [France and Rumpe 2007], muitas DSLs e toolkits foram concebidas com o mesmo propĂłsito do Flutter, mas como parte de pesquisas em Model-Driven Enginee- ring (MDE) [Mussbacher et al. 2014]. No entanto, sua expressiva adoção por fĂĄbricas de software nĂŁo foi observada atĂŠ entĂŁo [Basso 2017]. Segundo estudo recente executado pelo Sebrae, uma em cada quatro start-ups bra- sileiras fecha antes de completar dois anos2. A julgar pelo perĂ­odo mĂŠdio dedicado por incubadoras de base tecnolĂłgica como a RAIAR e Incubadora PampaTec Alegrete para as startups, as novas ideias tĂŞm menos de trĂŞs anos para provar o seu valor ao mercado. Isso requer agilidade para lançar o produto no mercado e para se obter o mĂĄximo de reputação positiva para este produto em um curto espaço de tempo. Logo, ĂŠ preciso romper com o modus operandi da transferĂŞncia de tecnologia, uma vez que ĂŠ impossĂ­vel adquirir repu- tação para tecnologias desenvolvidas in-house para assistir processos de desenvolvimento de software, como ferramentas de produção construĂ­das para MDE, em tĂŁo pouco tempo. Portanto, para pesquisadores independentes e start-ups, aqui entra o grande desafio: aten- der ao tempo de mercado, uma vez que alĂŠm de desenvolver o produto com qualidade ĂŠ tambĂŠm preciso obter reputação para que o mesmo se torne visĂ­vel para o pĂşblico alvo. Em um trabalho anterior, constatou-se que uma dificuldade estĂĄ em fazer os ativos de tecnologia alcançarem o mercado [Neto et al. 2019], propondo ecossistemas como um meio de se conseguir algumas facilidades, como busca de concorrentes e estabeleci- mento de parcerias na comercialização e integração de ativos. Para a ĂĄrea de Engenharia de Software, a nossa definição de ativos, ou asset, inclui ferramentas de modelagem ou de refinamento de modelos, bem como qualquer recurso que dĂŞ suporte para atividades da Engenharia de Software por meio de modelos [Basso 2017]. Tais assets visam au- mentar a qualidade dos produtos de software, assim como automatizar atividades como a assistĂŞncia para representação arquitetural do modelo do software [Basso et al. 2016] e desenvolvimento de software baseado em modelos e geração de cĂłdigo [Basso et al. 1www.flutter.dev 2https://exame.abril.com.br/negocios/dino/1-a-cada-4-empresas-fecha-antes-de-completar-2-anos-no- mercado-segundo-sebrae/ 2013]. Portanto, independentemente da natureza do asset e de seus criadores (indĂşstria ou academia), tem-se como meta introduzi-lo em fĂĄbricas de software, sendo o suporte ferramental algo essencial para o sucesso neste tipo de serviço. Esse artigo aborda a transferĂŞncia de tecnologia por meio de serviços especialis- tas, denominados por MDE como um Serviço (MDEaaS - MDE as a Service) [Basso et al. 2017a]. MDEaaS inclui a execução de fases de integração de ativos em cadeias de ferramentas (toolchains) e processos que atendem contextos especĂ­ficos de fĂĄbricas de software operando em cenĂĄrios de coopetição, isto ĂŠ, cenĂĄrios que envolvem a cola- boração entre empresas competidoras [Ritala et al. 2014]. Nestes serviços, cadeias de ferramentas sĂŁo customizadas e processos automatizados para cada caso de uma empresa prospectada para transferĂŞncia de tecnologia. Outra caracterĂ­stica peculiar no MDEaaS ĂŠ que cadeias de ferramentas e processos incluem ativos hĂ­bridos, geralmente ferramentas produzidas por mais de um indivĂ­duo/empresa em contextos inter-organizacionais [Basso 2017]. Como operaram sobre negociaçþes inter-organizacionais, estes serviços precisam considerar uma perspectiva tridimensional de dados [Neto et al. 2019], os quais incluem visĂľes tĂŠcnicas, sociais e de negĂłcios como fontes de influĂŞncia na tomada de decisĂŁo. Nesse contexto, o presente artigo destaca os benefĂ­cios que podem ser alcançados com o uso de tecnologias como smart contracts e blockchains, que fornecem mecanismos para se obter confiança nos ativos produzidos por desenvolvedores independentes, em curto tempo de mercado. O artigo estĂĄ organizado da seguinte forma: a Seção 2 relata as experiĂŞncias no MDEaaS; a Seção 3 apresenta lacunas de pesquisa; e, por fim, a Seção 4 apresenta as conclusĂľes. 2. ExperiĂŞncias no MDE como um Serviço A transferĂŞncia de tecnologia na Engenharia de Software caracteriza-se pela transferĂŞncia de conhecimento tĂŠcnico ou cientĂ­fico para produção de software. Um dos elementos cen- trais da transferĂŞncia de tecnologias ĂŠ elencar os fatores de produção associados com uma determinada tecnologia, resultantes de pesquisas e investigaçþes cientĂ­ficas. Fatores de produção, como a velocidade de entrega de histĂłrias de usuĂĄrio por iteração do processo de desenvolvimento e nĂşmero de defeitos detectados e corrigidos, sĂŁo sempre conside- rados pelas fĂĄbricas de software em processos de tomada de decisĂŁo por determinadas tecnologias. Estes fatores sĂŁo muito associados com a adoção de tecnologias introduzidas no mercado como forma de melhoria da qualidade e produtividade de software. Sendo assim, o desconhecimento desses fatores ocasiona um dos principais problemas relatados pela indĂşstria na adoção de tecnologias de MDE: a falta de dados para investir em tecnolo- gias produzidas in-house; dados estes que convençam candidatos Ă  adoção de tecnologias para automação de tarefas do processo de desenvolvimento. A transferĂŞncia dessas tecnologias da ĂĄrea ainda ĂŠ realizada de modo ad-hoc. Em pesquisas associadas com o MDEaaS, buscou-se tornar isto algo mais sistemĂĄtico e as- sistido por ferramentas. Dessa forma, o MDEaaS pode ser uma possĂ­vel solução para a automação na transferĂŞncia de tecnologias em negĂłcios de ES. Ele ĂŠ visto como um nicho de negĂłcio por algumas empresas, indivĂ­duos atuando como profissionais liberais, bem como visionĂĄrios que buscam criar suas primeiras empresas de serviços na ĂĄrea, e ĂŠ carac- terizado por uma demanda de empresas que contratam tais profissionais para a introdução de tecnologias para MDE em contextos de fĂĄbricas de software. Sob uma perspectiva pu- ramente tĂŠcnica, tal demanda inclui a automação de uma ou mais atividades da Engenharia de Software, usando-se um conjunto de ativos de MDE. Por exemplo, DSLs para repre- sentação de requisitos de software em modelos, representação de processos de negĂłcio e de software, bem como ativos que transformam tais modelos em formatos interpretados por ferramentas utilizadas ao longo de toda a cadeia produtiva do software. Por meio das experiĂŞncias anteriormente citadas, prospectou-se que MDEaaS ĂŠ de grande relevância para a automação da transferĂŞncia de tecnologia em geral e pode promover benefĂ­cios ainda nĂŁo tangĂ­veis para as inovaçþes da ĂĄrea como: 1) a possibi- lidade de realizar colaboraçþes/negociaçþes casadas de ativos, o que requer autenticação das partes interessadas na composição de cadeias de ferramentas produzidas de modo in- dependente de provedor/lĂ­der de tecnologia; 2) a abertura de novos negĂłcios por meio de ativos representados e armazenados na deep-web, como assets distribuĂ­dos e sem a pre- sença de um lĂ­der no processo; 3) ruptura total na forma como se aborda credibilidade em relação a ativos, por meio de uma relação mais direta entre fĂĄbricas de software e fornecedores de tecnologias. O foco do MDEaaS nĂŁo estĂĄ na modelagem dos sistemas e processos, mas no ser- viço fornecido por um Engenheiro de Software na transferĂŞncia de tecnologia de MDE para um contexto de adoção. Logo, um portfĂłlio de serviços pode incluir a automação de diversas atividades em muitas fases de processos de desenvolvimento de software. Essa automação atualmente ĂŠ custosa e sua implementação depende de uma equipe interna de uma fĂĄbrica de software que domina profundamente um conjunto bem limitado de tecnologias. Como geralmente nĂŁo hĂĄ uma especialidade dentro da fĂĄbrica de software para tratar disso, a automação ĂŠ desencorajada. JĂĄ os profissionais no MDEaaS devem ser especialistas na transferĂŞncia de tecnologias de MDE. Eles devem dominar mĂşltiplas tecnologias de MDE (ativos), que tĂŞm muitas aplicaçþes nas fases de processos de desen- volvimento de software. Portanto, MDEaaS pode ser a solução que a indĂşstria de software busca na automação de seus processos. MDE como um Serviço trata da introdução de ativos de MDE em contextos inter- organizacionais, isto ĂŠ, quando mais de uma empresa estĂĄ prospectada para adoção desses ativos. Para exemplificar estes contextos, parte-se de um pequeno relato de implantação de um negĂłcio focado no MDEaaS: uma spin-off de mestrado provedora de serviços de transferĂŞncia dessas tecnologias. Para dar suporte para estes serviços, em 2006 propĂ´s- se a FOMDA DSL, uma ferramenta para tratar de questĂľes tĂŠcnicas na transferĂŞncia de tecnologia de MDE. Em seguida, criou-se uma start-up, chamada Adapit, que operou de 2007 atĂŠ 2011 em um projeto para a implementação do MDEaaS. Por meio dessa start-up, foi possĂ­vel gerenciar semelhanças e diferenças de trĂŞs contextos inter-organizacionais. Em termos tĂŠcnicos, fez-se a transferĂŞncia de tecnologia de MDE pela representação de reutilização em ativos de MDE, em uma abordagem de reĂşso sistemĂĄtico assistida por fer- ramenta que implementa conceitos de Linha de Produtos de Software, Desenvolvimento Baseado em Componentes, Cadeia de Transformação de Modelos e Testes Adaptativos. A partir dessa representação, o Engenheiro de Software adapta automaticamente os ativos para os contextos de adoção de tecnologias. Essa experiĂŞncia mostrou que, apesar dos conhecimentos da Engenharia de Soft- ware serem aplicĂĄveis ao MDEaaS, diversos desafios tĂŠcnicos e metodolĂłgicos precisa- vam ser resolvidos para viabilizar tais serviços. Assim, de 2012 atĂŠ 2017, investigou-se um desses problemas: uma abordagem para reĂşso oportunista, construĂ­da sobre uma re- presentação comum para assets, que almeja viabilizar a colaboração e competição (coo- petição) entre empresas de desenvolvimento de software como um desafio na transferĂŞn- cia de tecnologias de MDE. Coopetição ĂŠ caracterizada pela colaboração entre empresas competidoras como, por exemplo, duas empresas A e B, que desenvolvem software em- barcado, cada qual atendendo e mantendo a sua base de clientes isoladamente. Elas sĂŁo competidoras em seus portfĂłlios. Mas, por nĂŁo possuĂ­rem especialistas e, para dividir os custos na implantação de ativos de MDE, pretendem colaborar na automação de seus pro- cessos. Nesse sentido, o MDEaaS ĂŠ uma possĂ­vel solução, em que o profissional atende ambas as empresas e amortiza os custos na transferĂŞncia de tecnologias. Em nossos estudos preliminares, se ofereceu soluçþes voltadas para problemas tĂŠcnicos na implementação do MDEaaS [Basso et al. 2013, Basso et al. 2015, Basso et al. 2016,Basso et al. 2017b]. PorĂŠm, estas contribuiçþes nĂŁo tratam adequadamente de questĂľes mais voltadas para negĂłcio e tambĂŠm nĂŁo ajudam com critĂŠrios de informaçþes que se deve prover aos possĂ­veis clientes para a tomada de decisĂŁo na transferĂŞncia de tecnologia como composição de sistemas. Assim, uma vez que se progrediu nas questĂľes tĂŠcnicas que fundamentam uma representação comum para tais tecnologias, deve-se tam- bĂŠm tratar de desafios tĂŠcnicos e metodolĂłgicos envolvendo a aquisição de tecnologias como ativos negociados em cadeias de ferramentas. Transferir uma tecnologia de Engenharia de Software para um determinado con- texto parece uma atividade trivial, no entanto, isto provou-se bastante desafiador na teoria e na prĂĄtica. Na prĂĄtica, a dificuldade para transferĂŞncia de tecnologia estĂĄ em tornar a inovação atrativa para um grande provedor de tecnologia, a ponto deste adotĂĄ-la. Esta dificuldade se deve a um modelo de negĂłcio ruim, baseado em competição, em vez de uma colaboração com os grandes provedores de tecnologia da ĂĄrea, como Google, IBM e Oracle. É muito difĂ­cil convencer estas empresas a tornarem-se colaboradoras, entĂŁo elas sĂŁo tratadas como concorrentes para aquilo que se produz em laboratĂłrio ou em in-house. Isso ĂŠ ruim para a inovação tecnolĂłgica, pois mata os produtos e serviços jĂĄ na raiz. Falta uma visĂŁo mais mercadolĂłgica daquilo que se produz em ambiente acadĂŞ- mico. Por exemplo, serviços de transferĂŞncia de tecnologia envolvendo integração de ferramentas em cadeias de ferramentas sĂŁo atualmente realizados de modo ad-hoc, ou seja, sem uma boa fundamentação para sua execução, tanto processual quanto implemen- tacional, que inclua a visĂŁo de negĂłcios. Isso gera desconfiança do mercado potencial. Neste sentido, as duas principais limitaçþes, nĂŁo relacionadas com suporte ferramental, que hoje atrapalham a automação da transferĂŞncia de tecnologia na ĂĄrea sĂŁo: 1 - Faltam metodologias que sistematizam a transferĂŞncia de tecnologia da ĂĄrea. Devido Ă  existĂŞncia de poucos relatos de experiĂŞncia, percebe-se uma limitação na litera- tura para sistematizar a transferĂŞncia de tecnologia de Engenharia de Software para MDE. Logo, nĂŁo se tem conhecimento de uma abordagem sistemĂĄtica que possa ser repetida diversas vezes para diferentes contextos de empresas, muito menos uma que considere negociaçþes por meio de contratos inteligentes que garanta a segurança nas transaçþes e a validade na integração dos ativos. Esta falta de uma sistematização se deve muito Ă s limitaçþes do corpo de conhecimento empĂ­rico na ĂĄrea, o que gera incerteza de sucesso na implementação do MDEaaS e aumenta os riscos na transferĂŞncia dessas tecnologias para as fĂĄbricas de software. 2 - Fatores de produção associados com ativos da ĂĄrea sĂŁo desconhecidos. Em anĂĄlises do estado da arte anteriores, percebe-se a falta de um corpo de conhecimento para fomentar tais iniciativas na ĂĄrea. Por exemplo, nĂŁo hĂĄ contribuiçþes cientĂ­ficas que auxiliam no mapeamento dos riscos do MDEaaS por meio de blockchains, nem das boas prĂĄticas para a condução destes serviços. TambĂŠm inexiste uma abordagem sistemĂĄtica de suporte ao Engenheiro de Software para definir fatores de produção, como a anĂĄlise e prospecção da curva de aprendizado derivada de transferĂŞncias casadas de tecnologia, melhoria/prejuĂ­zo de produção e o Retorno de Investimento (ROI) associado com os ativos de MDE. Fatores de produção sĂŁo sempre avaliados pela indĂşstria de software antes de investir na adoção de qualquer tecnologia, mas pouco se entende desses fatores no que tange serviços de Engenharia de Software em geral. JĂĄ em relação ao suporte ferramental, nossa contribuição anterior trata de algumas lacunas de pesquisa proeminentes [Neto et al. 2019]. A prĂłxima seção ĂŠ complementar e trata da transferĂŞncia casada de tecnologia usando-se arquiteturas distribuĂ­das de ativos. 3. Lacunas de Pesquisa Em experiĂŞncias anteriores, buscou-se, por exemplo, o desenvolvimento de outras inova- çþes em laboratĂłrio, incluindo DSLs e geradores de cĂłdigo para Internet of Things (IoT) por meio de redes de sensores sem fio [Paulon et al. 2014]. Na prĂĄtica, percebe-se que a dificuldade nĂŁo estĂĄ em conceber o produto, mas em conseguir espaço no mercado, fornecendo credibilidade. Aprendeu-se que, sendo uma empresa pequena, assim como sĂŁo hoje tambĂŠm os grupos de pesquisa das universidades, ĂŠ impossĂ­vel comercializar algo para competir com grandes provedores de tecnologia para desenvolvimento de soft- ware. Eles ditam as regras, ditam o que ĂŠ bom e o que ĂŠ ruim e, como consequĂŞncia, por mais potencial que tenham alguns produtos e serviços, eles acabam engavetados. Neste sentido, busca-se promover uma disruptura no modus operandi da transferĂŞncia de tecno- logias da ĂĄrea de Engenharia de Software, que pode ser realizada por meio da integração do MDEaaS com contratos inteligentes e blockchain. Contratos inteligentes (smart contracts) sĂŁo protocolos de transação computado- rizada que executam em termos de um contrato [Szabo 1996]. Os contratos inteligentes vĂŞm sendo largamente utilizados e difundidos no contexto de blockchains e criptomoe- das [Christidis and Devetsikiotis 2016]. No contexto de blockchains, os contratos inte- ligentes sĂŁo scripts armazenados no blockchain, que possuem um endereço Ăşnico e sĂŁo acionados por meio da associação de uma transação. O contrato ĂŠ, entĂŁo, independente e segue, automaticamente, instruçþes prĂŠ-definidas em todos os nĂłs da rede. Tipicamente, em blockchains de criptomoedas, os contratos inteligentes sĂŁo utili- zados para definir funçþes de depĂłsito e negociação de criptomoedas. De forma resumida e simplificada, um usuĂĄrio A cria o contrato e deposita unidades de X no contrato. A fun- ção de negociação estabelece que 1 unidade de X equivale a 5 unidades de Y. Assim que o usuĂĄrio A receber 5 unidades de Y de um usuĂĄrio B, o contrato liberarĂĄ 1 unidade de X para B e 5 unidades de X para A. Um contrato inteligente possui tambĂŠm uma função de “cancelamento”, que permite ao usuĂĄrio A “reverter” uma negociação e remover as suas unidades X do contrato. Todas as negociaçþes utilizando este tipo de contrato ocorrem entre partes mu- tuamente nĂŁo confiĂĄveis, o que ĂŠ uma das caracterĂ­sticas mais interessantes e potencial- mente disruptivas de contratos inteligentes e blockchains. NĂŁo ĂŠ para menos que hoje os contratos inteligentes sĂŁo divulgados em mĂşltiplos domĂ­nios do conhecimento como ferramentas confiĂĄveis para eliminar intermediĂĄrios e estabelecer negociaçþes de ativos ou qualquer coisa de valor. Como exemplo, podemos utilizar um contrato inteligente para garantir um acordo de nĂ­vel de serviço, em que caso o acordo seja cumprido, uma recompensa ĂŠ dada, ou entĂŁo uma penalidade, em caso contrĂĄrio (podendo ou nĂŁo usar criptomoedas). Um dos desafios para integrar estas trĂŞs novidades ĂŠ identificar os requisitos de armazenamento de informação, nos blocos da blockchain, e a definição de funçþes para contratos inteligentes no escopo de negociação de ativos, no que se refere ao casamento de informaçþes sobre ferramentas de produção de software em nĂ­vel semântico e sintĂĄtico, tambĂŠm com autenticação das partes envolvidas no estabelecimento de cadeias de ferra- mentas (cadeias de ferramentas). Assim, a tecnologia proposta deve permitir ao Enge- nheiro de Software gerenciar todo o processo de integração, hoje executado manualmente na automação de processos de desenvolvimento de software. Isso requer a execução de pesquisas focadas e de longa duração, realizadas por pesquisadores com diferentes visĂľes e experiĂŞncias na transferĂŞncia de tecnologia. Por mais revolucionĂĄria que seja a palavra ""blockchain"", sua aplicação em outros cenĂĄrios, que nĂŁo criptomoedas, ainda nĂŁo estĂĄ consolidada e diversas pesquisas sĂŁo ne- cessĂĄrias atĂŠ ela se tornar estabelecida. Existe a perspectiva que isto sĂł venha a acontecer entre 5 e 10 anos, quando blockchain deve atingir o platĂ´ da produtividade, segundo o Gartner [K. Panetta 2018]. Neste sentido, a aplicação de tecnologias para contratos in- teligentes como um meio de promover automaticamente a transferĂŞncia de tecnologia de MDE em contextos de Engenharia de Software nĂŁo ĂŠ tratada pela literatura, mas altamente desejĂĄvel para a cadeia produtiva, visĂŁo tambĂŠm compartilhada pelo Gartner [Gartner 2013]. Embora as implementaçþes mais conhecidas de blockchain sĂŁo em criptomoedas, onde os blocos da cadeia armazenam conjuntos de transaçþes que guardam os registros de movimentaçþes de valores especĂ­ficos, abre-se espaço para investigar um problema aplicado aos cenĂĄrios de negĂłcios da engenharia de software. AlĂŠm disso, os estudos preliminares no MDEaaS focaram no desenvolvimento de tecnologias e no levantamento de fatores de produção que afetam a transferĂŞncia destas inovaçþes para contextos de fĂĄ- bricas de software por meio de cadeias de transformação de modelos. Prospecta-se que para uma aplicação em transferĂŞncia automĂĄtica de tecnologias, novas pesquisas utiliza- rĂŁo da temĂĄtica para desenvolver novas plataformas distribuĂ­das de assets com base em blockchains e contratos inteligentes. A expectativa ĂŠ que o produto final desta integra- ção viabilize e potencialize negociaçþes derivadas da pesquisa cientĂ­fica, inicialmente, em Engenharia de Software, viabilizando a rĂĄpida disseminação de assets desenvolvidos em laboratĂłrio e in-house, por meio de contratos inteligentes e negociaçþes par-a-par. Portanto, promoverĂĄ um meio alternativo para se obter credibilidade na transferĂŞncia de tecnologias, uma vez que negociaçþes se dariam entre entidades nĂŁo confiĂĄveis, isto ĂŠ, eliminando a necessidade de entidades intermediadoras (os grandes lĂ­deres). Blockchain, com sua segurança e confiabilidade, garante que a transação na trans- ferĂŞncia de tecnologia tenha ocorrido e nĂŁo possa ser alterada, ou seja, trata-se de uma tecnologia que permite, hoje, a condução de estudos aplicados. O cĂłdigo da blockchain automatiza as prĂłximas etapas de transaçþes feitas pelos participantes de um bloco de negĂłcio, o que, em nĂ­vel tĂŠcnico, significa estabelecer cadeias de ferramentas como cola- boraçþes/vendas casadas entre mĂşltiplas empresas. Assim, novas pesquisas podem inves- tigar a aplicação do que jĂĄ se tem fundamentado em termos de MDEaaS, para estabelecer negĂłcios implementados por meio de contratos inteligentes. Atualmente, por meio de integração (semi-)automĂĄtica de ativos [Basso 2017], ĂŠ possĂ­vel divulgar inovaçþes em repositĂłrios de assets, estabelecendo, por meio de pla- taformas de assets, oportunidades para vendas, como produtos e serviços. Contratos in- teligentes podem ser explorados neste sentido. AlĂŠm disso, tais tecnologias estĂŁo sendo integradas de modo facilitado, quando construĂ­das sobre o guarda-chuva de MDE. Ou seja, os ativos que podem ser negociados via contratos inteligentes sĂŁo ativos elabora- dos com tecnologias de suporte ao MDE, mas de qualquer natureza para processos de desenvolvimento de software, e que precisam ser introduzidos em contextos de fĂĄbricas de software em negociaçþes que envolvem a transferĂŞncia de tecnologia entre mĂşltiplas empresas. Logo, a tecnologia de blockchain pode promover uma ruptura em como essas negociaçþes e integraçþes podem ser realizadas, necessitando investigaçþes em termos de metodologias, ferramentas/plataformas e de formação de base de conhecimento na ĂĄrea. Por fim, uma vez que se tem por objetivo de longo prazo estabelecer as fundamen- taçþes para a ruptura nos negĂłcios envolvendo a transferĂŞncia de tecnologia, conclui-se que tecnologias para smart contract, blockchain e MDEaaS devem ser investigadas de modo integrado. Em se tratando da transferĂŞncia de tecnologia pra a ĂĄrea foco, cujo ar- tigo foi divulgado, assume-se que o foco de estudos futuros sĂŁo tecnologias especĂ­ficas de Engenharia de Software, livres ou comerciais. As pesquisas de Engenharia de Software tĂŞm, atĂŠ entĂŁo, desenvolvido tais tecnologias de forma isolada, sem preocupação com sua transferĂŞncia para a indĂşstria de software. É hora de promover mudanças. 4. ConclusĂľes Como produtores de tecnologias que auxiliam nas atividades de Engenharia de Software (ES), a dificuldade dos pesquisadores dessa ĂĄrea estĂĄ em fazer seus inventos adquiri- rem um status de ativos de valor comercial. Por meio de experiĂŞncias em uma start-up concebida para esta finalidade, percebeu-se que outras limitaçþes tambĂŠm atrapalham a transferĂŞncia destas tecnologias (generalizadas como ativos): o corpo de conhecimento escasso que fornece suporte metodolĂłgico ao Engenheiro de Software e a falta de suporte ferramental que viabilize uma integração semi-automĂĄtica desses ativos em processos de fĂĄbricas de software do mundo real. A dificuldade para se progredir nessa temĂĄtica estĂĄ, principalmente, na novidade do tema. O corpo de conhecimento em Engenharia de Software carece de estudos empĂ­ricos que forneçam as bases para computação dos fa- tores de produção associados com tecnologias de MDE e nĂŁo fornece uma base para se implementar vendas casadas de serviços em negociaçþes que ocorrem em cenĂĄrios inter- organizacionais. É preciso fundamentaçþes para a transferĂŞncia de tecnologia da ĂĄrea. Percebe-se tambĂŠm que nĂŁo hĂĄ uma abordagem sistemĂĄtica para o MDEaaS que possa ser repetida diversas vezes para diferentes contextos de empresas. Esta falta de uma sistematização se deve muito Ă s limitaçþes do corpo de conhecimento empĂ­rico na ĂĄrea, o que gera incerteza de sucesso na implementação do MDEaaS e aumenta os riscos na transferĂŞncia do que se produz na academia, como tecnologias, para as fĂĄbricas de software. Portanto, sem essas bases, a transferĂŞncia de tecnologia continuarĂĄ uma tarefa ad-hoc, propensa a erros e com um grande risco associado na oferta e contratação destes serviços pelos clientes. Neste sentido, pesquisas em blockchain e contratos inteligentes (smart contracts), em conjunto com uma linguagem de representação comum para ativos denominada RAS++ [Basso 2017] (construĂ­da sobre o guarda-chuva de MDE), oferecem uma solu- ção promissora. Tais tecnologias podem, por exemplo, promover benefĂ­cios ainda nĂŁo tangĂ­veis para o cenĂĄrio, como: 1) a possibilidade de realizar colaboraçþes/negociaçþes casadas de ativos, o que requer autenticação das partes interessadas na composição de ca- deias de ferramentas produzidas de modo independente de provedor/lĂ­der de tecnologia; 2) a abertura de novos negĂłcios por meio de ativos representados e armazenados na deep- web, como assets em repositĂłrios distribuĂ­dos e sem a presença de um lĂ­der no processo; e 3) a ruptura total na forma como se aborda credibilidade em relação a ativos, por meio de uma relação mais direta entre fĂĄbricas de software e micro-fornecedores de tecnologias. Por fim, vale ressaltar que uma solução para a transferĂŞncia de tecnologia nĂŁo ĂŠ meramente uma questĂŁo de oferecer um suporte ferramental, como as de foco de inves- tigação neste artigo, mas que envolve uma mudança cultural do pesquisador. Observa-se que na pesquisa brasileira, pouco se faz para ter um produto de mercado, pois se foca em protĂłtipos. AlĂŠm disso, existe um viĂŠs na academia em que pesquisadores criam tecnolo- gias muito incipientes, muitas vezes com o objetivo de publicar artigos e nĂŁo exatamente de fomentar a literatura com dados que auxiliem na transferĂŞncia de tecnologia. Relaci- onado com a divulgação da tecnologia, repositĂłrios abertos como ReMoDD e SEMAT, que recomendam o compartilhamento de diversos assets Ăşteis para a indĂşstria de software, infelizmente nĂŁo sĂŁo muito explorados. JĂĄ alternativas interessantes para publicação de material em revistas que podem ser utilizadas com este propĂłsito, como Data in Brief, MethodsX e SoftwareX, começam a ganhar notoriedade. ReferĂŞncias [Basso 2017] Basso, F. P. (2017). RAS++: Representing Hybrid Reuse Assets for MDE as a Service. Av at . PhD thesis, Universidade Federal do Rio de Janeiro (UFRJ). [Basso et al. 2017a] Basso, F. P., Oliveira, T. C., Werner, C. M., and Becker, L. B. (2017a). Building the foundations for ‘mde as service’. IET Software, 11:195–206(11). [Basso et al. 2013] Basso, F. P., Pillat, R. M., Oliveira, T. C., and Becker, L. B. (2013). Supporting large scale model transformation reuse. In 12th International Conference on Generative Programming: Concepts & Experiences., GPCE’13, pages 169–178. [Basso et al. 2016] Basso, F. P., Pillat, R. M., Oliveira, T. C., Roos-Frantz, F., and Frantz, R. Z. (2016). Automated design of multi-layered web information systems. Journal of Systems and Software, 117:612 – 637. [Basso et al. 2015] Basso, F. P., Pillat, R. M., Roos-Frantz, F., and Frantz, R. Z. (2015). Combining mde and scrum on the rapid prototyping of web information systems. In- ternational Journal of Web Engineering and Technology, 10(3):214–244. [Basso et al. 2017b] Basso, F. P., Werner, C. M. L., and de Oliveira, T. C. (2017b). Automa- ted approach for asset integration in eclipse IDE. In 2017 IEEE/ACM Joint 5th Interna- tional Workshop on Software En";"""date"",""2019-08-18T19:52:19Z"" ""pdf:PDFVersion"",""1.5"" ""pdf:docinfo:title"","""" ""xmp:CreatorTool"",""LaTeX with hyperref package"" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""subject"","""" ""language"",""pt"" ""dc:format"",""application/pdf; version=1.5"" ""pdf:docinfo:creator_tool"",""LaTeX with hyperref package"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"","""" ""modified"",""2019-08-18T19:52:19Z"" ""cp:subject"","""" ""pdf:docinfo:subject"","""" ""pdf:hasMarkedContent"",""false"" ""pdf:docinfo:creator"","""" ""PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017) kpathsea version 6.2.3"" ""meta:author"","""" ""trapped"",""False"" ""meta:creation-date"",""2019-08-18T19:52:19Z"" ""created"",""2019-08-18T19:52:19Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2019-08-18T19:52:19Z"" ""resourceName"",""7438"" ""Author"","""" ""producer"",""pdfTeX-1.40.18"" ""pdf:docinfo:producer"",""pdfTeX-1.40.18"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""Keywords"","""" ""access_permission:modify_annotations"",""true"" ""dc:creator"","""" ""dcterms:created"",""2019-08-18T19:52:19Z"" ""Last-Modified"",""2019-08-18T19:52:19Z"" ""dcterms:modified"",""2019-08-18T19:52:19Z"" ""title"","""" ""Last-Save-Date"",""2019-08-18T19:52:19Z"" ""pdf:docinfo:keywords"","""" ""pdf:docinfo:modified"",""2019-08-18T19:52:19Z"" ""meta:save-date"",""2019-08-18T19:52:19Z"" ""pdf:docinfo:custom:PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017) kpathsea version 6.2.3"" ""Content-Length"",""115828"" ""Content-Type"",""application/pdf"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"","""" ""dc:subject"","""" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""10"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""2421"",""3081"",""3079"",""3104"",""3149"",""2994"",""3122"",""3046"",""2952"",""2471"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""pdf:docinfo:trapped"",""False"" ""meta:keyword"","""" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2019-08-18T19:52:19Z"" ";https://scholar.google.com/scholar?start=920&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094537-633;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Sustainable Development Report: Blockchain, the Web3 & the SDGs;S Voshmgir, M Wildenberg, C Rammel, T Novakovic ;2019 epub.wu.ac.at;;"… Agenda 2030 & the SDGs 6 Socio-ecological transformations & the SDGs 6 Innovation and the SDGs 7 Blockchain & the Web3 9 Blockchain Networks 9 Other Distributed Ledgers 11 Smart Contracts 14 Oracles 15 Tokens 15 Interoperability 16 Scalability 17 Legal Challenges …";Autres articles;;[PDF] wu.ac.at;https://epub.wu.ac.at/7453/1/SustainableDevelopment%20Report_BlockchainWeb3_SDGs.pdf;" S U S TA I N A B L E D E V E L O P M E N T R E P O R T D E C 2 0 1 9 BLOCKCHA IN , WEB 3 & TH E S DGS Published by: Research Institute for Cryptoeconomics, Dec 2019 Vienna University of Economics, Welthandelsplatz 1, 1020 Wien This is an output paper of the applied research that was conducted between July 2018 - October 2019 funded by the Austrian Development Agency (ADA) and conducted by the Research Institute for Cryptoeconomics at the Vienna University of Economics and Business and RCE Vienna (Regional Centre of Expertise on Education for Sustainable Development). Authors & other contributors: Main authors of this report are Dr. Shermin Voshmgir, Tatjana Novakovic, Dr. Martin Wildenberg, Dr. Christian Rammel. Other contributions to this report have been provided by Valentin Kalinov, Armin GreinĂścker, Alberto Medina, Sofya Parfenova, Mirna Smoljan and Marc Johnson.     Table of Contents    Executive Summary 3  Introduction 4  How to read this Paper 5  Background of this Report 5  Agenda 2030 & the SDGs 6  Socio-ecological transformations & the SDGs 6  Innovation and the SDGs 7  Blockchain & the Web3 9  Blockchain Networks 9  Other Distributed Ledgers 11  Smart Contracts 14  Oracles 15  Tokens 15  Interoperability 16  Scalability 17  Legal Challenges 17  Energy Consumption of Blockchain Networks 17  “Good Governance” Applications 19  Use Case 1: Supply Chains 20  Use Case 2: Impact Assessment 25  Use Case 3: Collective Value Creation with Purpose-Driven Tokens 27  Use Case 4: Corruption Prevention 28  Use Case 5: Inclusion of Undocumented   & Underbanked 28  Use Case 6: Impact Entrepreneurship  & Impact Investment 29  Use Case 7: Energy Markets 30  Potential Pilot Projects 34  SDG 7: 3Fsolar, Africa Green Tech & The Sun Protocol 34  SDG12: WWF & Tuna 36  Successful Project Implementation 37  Rethinking Development Funding 38  Outlook 40  Overview of Blockchain Projects   in ADA (Austrian Development Agency) Partner Countries 41  References 48                Executive Summary  The report explores how blockchain networks            as a backbone of the Web3 and the                cryptoeconomic mechanisms that enable them          can support achieving the SDGs defined by the                United Nations. Cryptoeconomics and        sustainability researchers of the Vienna          University of Business and Economics have            worked closely together examining blockchain          networks and their applications, and          researching relevant sustainability issues,        analysing use-cases and identifying relevant          stakeholders. Outputs of this applied research            are provided in this report.   Analysing the potential of blockchain          applications for the implementation of the            SDGs in partner countries of the Austrian              Development Agency, we came to the            conclusion that the most promising cases for              the successful application of blockchain are            found in the context of SDG 7 (affordable and                  clean energy) and in the context of SDG 12                  (responsible consumption and production).   In the broad field energy, blockchain networks              can build smart contracts, decentralized          organizations and tokens which are driving            radical innovations in decentralized,        environmentally friendly energy supply        systems while offering sound bridges to the              community engagement aspects of energy          networks. Blockchain networks can also          provide quickly an effective and decentralised            market structure between suppliers and          consumers (or prosumers) which are of special              importance in the development context,          especially in regions, with a fundamental lack              of infrastructure and efficient public          institutions.  In the context of consumption and production              blockchain networks and other distributed          ledgers can refer to its already well explored                and well documented advantages in supply            chain management and to its strengths in the                increasingly important field of impact          assessment. Herein, supply chain management          as well as for impact assessment provide              promising links to recent initiatives in the              context of fair trade or the integration of                regional stakeholders for decentralized impact          assessment along international supply chains.  By examining use-cases in a number of              different fields and industries such as supply              chain, energy, impact and entrepreneurship,          the report outlines not only the possible              benefits but also challenges, like the large              energy consumption of the Proof-of-Work          consensus mechanisms which is partly being            tackled by tailoring alternative consensus          mechanisms and planning the transitions to            less energy demanding networks.        Technological advancements like scalability and          interoperability of blockchain networks and          other distributed ledgers remain to be seen in                the near future. The rigidity of current legal                systems might slow down the process of              overcoming legal challenges and jurisdictions’          readiness to adapt to decentralised governance            models.   Recording data on distributed ledgers like            blockchain networks requires a comprehensive          system design that examines the economic,            legal, environmental and societal implications          of such data models and events that derive                from them. Grasping the wide range of              implications and aligning them towards          desirable outcomes demands collaboration        across different institutions, juristictions and          knowledge domains and strong and long            lasting relationships between all stakeholders.  On the journey of achieving such            collaborations, a lot more attention should be              dedicated to interdisciplinary research than has            been witnessed over the past 10 years. For                future work, identifying the enablers of            interdisciplinary collaborations and      implementing them will play a crucial role for                successful uses of blockchain technology. For            example, clear communication across        disciplines can be supported by agreeing on              term definitions as in case with            ………………………………….………………………………….………………………………….…………………………………………………………………….………………………………….………………………………….…  Sustainable Development Report:​ Blockchain, the Web3 & the SDGs  ​ p. 3   “cryptoeconomics”, a term which has just            recently been confirmed to be context            dependent and been given different definitions            in regard to micro, meso and macro              perspectives (Voshmgir and Zarghan 2019).    Introduction  Emerging technological innovations in specific          the Internet with all its applications and use                cases are setting new trends that provoke              radical cultural and socio-economic        transformation. This ongoing trends, often          referred to as “digital transformation”, already            affects our way of living and will affect it even                    more in the future. Among the most recent                innovations blockchain networks as the          backbone for the next generation Internet,            what some also refer as the Web3, is seen by                    many as a game changer which also could be a                    potential catalyst for achieving the Sustainable            Development Goals of the United Nations            (SDGs) - especially in the development context.              Moreover, blockchain networks are a          governance layer on top of the current Internet                with the potential to create new social- and                market dynamics.   However, there is also criticism about the              negative social and ecological impacts          blockchain applications might have. This also            reflects the global debate on the impact of new                  digital technologies and the often associated,            dangerous reduction of sustainable        development to purely technological aspects.          Against this background, this research report            enters new transdisciplinary territory and dares            to attempt to find a balance within a field of                    tension between belief in technology and            technological fears.  The primary aim of this paper is a critical                  analysis of the opportunities and best practices              of blockchain applications for achieving the            SDGs. This joint publication will further provide              key-criteria and recommendations for the          implementation of specific Blockchain & SDGs            pilot projects in the Austrian Development            Agency (ADA) partner countries. Herein,          companies and impact entrepreneurs will learn            through the analysed use cases and guidelines,              how the adoption of blockchain can support              their SDGs related activities in the Global              South.  Socio-ecological transformations lay in the root            of the Agenda 2030 and call for a radical                  change from “doing things better” to “doing              better things”. In order for the socio-ecological              transformations to take place, we need to              provide an institutional and socio-economic          environment that will enable innovations as            well as new societal, economic, technological            and political models that go far beyond just                increasing efficiency and productivity. In this            regard, blockchain technologies and blockchain          networks have the potential to support the              infrastructure layer of such models,          contributing to transparency, eliminating        power asymmetries, enhancing accountability        and incentivising environmentally friendly        behaviour.    This output paper will examine if and to which                  extent Web3 based use cases like blockchain              networks and similar distributed ledgers can            enable the 2030 Agenda to deliver on its                transformative promise.   It might seem that with this focus, we address                  mainly the field of technological innovations            and their contributions to the Agenda 2020 and                the SDGs. But as Web3 networks and their                applications also provide entirely new modes of              decision-making and governance, our focus          extends the boundary of technological          systems.  The vision of Agenda 2030 stresses the need to                  go beyond existing approaches of improving            unsustainable systems and to transform them            instead. Additionally, transformative change        addresses social and economic structures and            relations that drive unsustainable practices and            call for alternative socio-economic trajectories.          This means that if blockchain networks want to                become real game-changers and help us to              ………………………………….………………………………….………………………………….…………………………………………………………………….………………………………….………………………………….…  Sustainable Development Report:​ Blockchain, the Web3 & the SDGs  ​ p. 4   implement the SDGs, they have to exhibit the                characteristics of disruptive and transformative          innovations. Contributing to more business as            usual, and even providing a new wave of                start-ups improving existing modes of          production and consumption will be an            essential first step, but it’s not enough. This                papers will explore whether Web3 applications            can also be used to find new forms of value                    creation towards a more sustainable future.    How to read this Paper  This paper can be read from three different                perspectives: For researchers we provide an            integrative and critical overview of the            potential of blockchain networks for reaching            the SDGs, highlighting the most promising            applications in the context of development            cooperation.  For companies and policy makers this paper              offers a comprehensive analysis of the current              state and shows existing best practice use              cases. Herein, we provide concrete guidance            and recommendations in the context of            development collaborations and the SDGs.  For those who aim to implement their own                SDGs-oriented-blockchain project, we will offer          a basic roadmap for potential pilot projects.              Herein, the list of key-criteria and            recommendations can be found, and these will              assist in evaluating potential blockchain          applications in the general context of            development cooperation as well as with the              SDGs.    Background of this Report  This report is an output paper of a research                  collaboration funded by the Austrian          Development Agency (ADA). The research was            conducted by the Research Institute for            Cryptoeconomics together with Regional        Centre of Expertise on Education for            Sustainable Development Vienna (RCE Vienna)          both institutions of the Vienna University of              Economics and Business (WU).  During the first phase of the project, we                explored and assessed the potential of            blockchain networks to help address the SDGs.              As a second step, pilot projects were defined in                  the context of development cooperation. We            used an integrative and case-study-based          approach to analyse the potential connections            and contributions of blockchain to the SDGs.              Considering the multidimensional facets of the            SDGs the term ​integrative reflects a systemic              setting in which our target groups, such as                impact entrepreneurs, development agencies,        CSOs, business networks, and international          institutions interact and share knowledge with            those holding expertise in blockchain and            derived technologies. The aim was to:   ● Map potential blockchain applications that  can provide a significant contribution to  the SDGs.  ● Disseminate information about existing  players in the market,possible applications  and research areas.   ● Consolidate the knowledge retrieved and  identify future research and development  needs for blockchain-based development  projects.     In addition to the theoretical work, a              conference - ​(UN)BLOCKED - was held in April                2019 at the Vienna University of Economics and                Business. The aim was to bridge multifaceted              gaps in knowledge between technological          experts with those who work in sustainability,              to find a common ground between policy              makers and developers. 600 people attended            the conference, from researchers to start-ups            and policy makers, including representatives of            local and international institutions.          ………………………………….………………………………….………………………………….…………………………………………………………………….………………………………….………………………………….…  Sustainable Development Report:​ Blockchain, the Web3 & the SDGs  ​ p. 5   https://unblock3d.net/ Agenda 2030   & the SDGs  The Agenda 2030 and its Sustainable            Development Goals (SDGs) were born at the              United Nations Conference on Sustainable          Development in Rio de Janeiro in 2012. The                objective was to produce a set of universal                goals that meet the urgent environmental,            political and economic challenges facing our            world.   The Sustainable Development Goals are often            referred to as “a radical plan for humanity” and                  a new way of “doing development”. They are                organised into 17 goals, which cover 169 more                detailed targets. The goals are holistic – they                cover social, environmental and economic          aspects, and they are interlinked – meaning              they influence each other and cannot be dealt                with in isolation. Although there has been some                success in reaching a number of the targets like                  e.g. poverty reduction or some of the              health-related goals. However, our failure to            achieve most of the others, e.g. preserving the                natural fundament of our societies, will also              render the successes useless in the future.  The UN General Assembly adopted the 17 SDGs                in New York in 2015. They are binding for all                    signatory states, including Austria. The official            title is ""Transformation of our world: Agenda              2030 for sustainable development"". Agenda          2030 is to be seen as a global plan for                    reconciling ""dignity, peace and prosperity for            man and nature now and in the future"". In their                    third year of implementation, the countries are              currently translating this common vision into            national development plans and strategies (UN,            2018).  Although criticism in earlier draft versions of              the SDGs was more or less ignored (Sachs                2012), asking for more incentives for business              (Hajer et al. 2015), demanding inclusion of Safe                Operating Space, Planetary Boundaries and the            activation of societies suggesting priorities (Lu            et al. 2015), the international reaction was              overwhelmingly positive. One of the reasons            for this positive echo from science and civil                society was the fact that the SDGs can be seen                    as concrete guiding posts for both            policymakers as well as for business. Positive              assessments refer to individual targets and to              the overall content, although some authors            highlight that the expected thematic benefits            arise only if the SDGs as a whole are taken into                      account (e.g. Orme et al. 2015; Waage et al.                  2015).  Replacing the Millennium Development Goals          (MDGs), the SDGs are not only highly relevant                for developing countries - the SDGs are of                enormous importance especially for        industrialised countries such as Austria, as            these countries are increasingly confronted          with the task of acting as driving forces for a                    necessary socio-ecological transformation and        of driving it forward rapidly. Addressing the              SDGs also means that traditional boundaries            for classifying countries as developing or            developed have to be rethought: when a              sustainability lens is applied, all countries are              “developing” (…). The fight against global            warming, the progressive loss of biodiversity,            the increasing scarcity of natural resources,            global inequalities, but also developments such            as digitalisation, automation and changing          demographics are just some of the many              problems that make innovation and above all              courageous action in economic, ecological and            social areas indispensable – in all parts of the                  globe.    Socio-ecological  transformations & the SDGs  “Transforming our world”, as the 2030 Agenda              is titled, is a far more challenging task than                  business as usual and it goes far beyond the                  narrow focus on efficiency gains and            technological progress. Regarding the        imperative of change emphasised by the            climate and biodiversity crisis and our crossing              ………………………………….………………………………….………………………………….…………………………………………………………………….………………………………….………………………………….…  Sustainable Development Report:​ Blockchain, the Web3 & the SDGs  ​ p. 6   of several other planetary boundaries, this task              is very necessary, and it lies at the very heart of                      sustainable development itself. Transformation        requires attacking the root causes that            generate and reproduce economic, social,          political and environmental problems, not          merely their symptoms. It means nothing less              than a radical shift in the way we produce,                  consume, and make our decisions (Global            Sustainable Development Report 2019).  Therefore, the new transformative 2030          Agenda is more than welcomed and highly              needed. Instead of segregated policies in            separate domains and economic sectors, it            could lead to policy integration and push for an                  “eco-social” shift that helps us to embark on                different socio-economic trajectories, both in          terms of human well-being and inclusive            development. Such a transformative agenda          aims at doing better things and not at doing                  things better. This emphasises doing things            differently to achieve radically different          outcomes, rather than doing more of the same                but in a more efficient way. Such a vision of                    radical change inspires hope for breaking the              vicious circle of poverty, inequality and            environmental destruction confronting people        and the planet.  Against this imperative of change, we have to                ask ourselves, what needs to happen to enable                the 2030 Agenda to deliver on its              transformative promise? What kind of new            models, innovations and new approaches to            socio-economic development do we need to            enhance necessary transformations?  Referring to the implicit transformative          fundament of the SDGs, the challenges of              implementing the SDGs are challenges of            initiating qualitative changes in different          societal, technological, economic and political          domains that are necessary to achieve the              SDGs. Obviously, innovation is key to these              challenges, but the term ​innovation goes far              beyond improving the status quo through            increased efficiency and productivity.  Innovation and the SDGs  Researchers, as well as the UN, agree that to                  achieve the SDGs, transformational processes          are necessary, and these go far beyond              business as usual. It is required to attack the                  root causes that “generate and reproduce            economic, social, political and environmental          problems and inequities, not merely their            symptoms… Indeed, it is the vision of doing                things differently to achieve radically different            outcomes, rather than doing more of the same,                that inspires hope for breaking the vicious              circle of poverty, inequality and environmental            destruction confronting people and the          planet.” (UNDRISD 2016)   The UNDRISD Flagship Report 2016 (UNDRISD            2016) names three characteristics that mark            desirable transformative change: (i) progressive          (in a normative sense of social justice), (ii)                systemic (addressing various factors        simultaneously and in an interrelated way), and              (iii) long term (cannot be easily reversed in the                  short term). This calls for innovation that              supports transformation – leaving us with the              question how such innovation could be            characterised. In their paper on          sustainability-oriented innovation (SOI) Broken        et al (2015) present a model that can also be                    used to characterise the transformative          potential of innovation (see figure below).     Figure 1. Model of SOI. Adapted from ‘Sustainability-oriented                Innovation: A Systematic Review, by Adam et al., 2015,                  International Journal of Management Reviews, 18, p.180 -                205  ………………………………….………………………………….………………………………….…………………………………………………………………….………………………………….………………………………….…  Sustainable Development Report:​ Blockchain, the Web3 & the SDGs  ​ p. 7   Broken et al distinguish between three types              of innovation which are differentiated along            the axis of their objectives, outcomes and their                relationship to the company. The first type              “Operational optimisation” has an efficiency          focus (doing the same things better) and              represents an old fashioned view on innovation              – often also characterised by a            technology-centred focus on innovation. This          kind of innovation might reduce harm but does                not contribute to a transformation as defined              above. The two other types of innovation              “Organisational transformation” and “System        building” both focus on “doing good by doing                new things” – the former approach also              including a strong community or          cooperation-centred approach. Both of them          open the possibility to foster sustainable            transformation. Both also apply a wider            people-centred approach to innovation.   In this light, we ask the question how can                  blockchain as an emerging and novel            technology contribute to the SDGs, e.g. by              introducing new, transformative changes in          relevant sectors. Keeping the SOI model in              mind, the answer is that transformation            potential depends more on the context of the                innovation and the resulting application case            then on the technology itself.   Blockchain Networks offer the potential to            foster and enable new business models – and                through the use case of the Bitcoin network, it                  has shown its transformational potential          (although not in the sense of sustainable              transformation) in the field of finances and              banking. The increase in efficiency in            transactions and the like that is often brought                forward as the main contribution of the              technology in the context of its transformative              potential actually is the least impactful            contribution to the needed sustainable          transformations - although it might be the best                selling point for blockchain projects towards            companies locked in the first stage of SOI.   On the other hand, its ability to create                self-organised and independent systems        together with its focus on fostering            behavioural change has a big potential for              businesses interested in the second and third              stage of SOI. Important for all blockchain              projects striving to support sustainability          transformation through innovation is to shift            the focus from purely technological fixes to              problems to a more holistic view on              sustainability problems, conceptualising them        as socio-technological challenges. The effects          of a cluster of elements like, for example,                regulations, user practice and markets cultural            meaning, infrastructure and supply networks          have to be considered leading to innovation              beyond pure technical domains, i.e. adopting            new business models.   Implementing transformative change requires        innovative approaches: in conceptualising";"""date"",""2020-01-22T14:58:26Z"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""pdf:PDFVersion"",""1.3"" ""pdf:hasXFA"",""false"" ""access_permission:modify_annotations"",""true"" ""access_permission:can_print_degraded"",""true"" ""dcterms:created"",""2020-01-22T14:58:26Z"" ""language"",""en"" ""Last-Modified"",""2020-01-22T14:58:26Z"" ""dcterms:modified"",""2020-01-22T14:58:26Z"" ""dc:format"",""application/pdf; version=1.3"" ""Last-Save-Date"",""2020-01-22T14:58:26Z"" ""access_permission:fill_in_form"",""true"" ""pdf:docinfo:modified"",""2020-01-22T14:58:26Z"" ""meta:save-date"",""2020-01-22T14:58:26Z"" ""pdf:encrypted"",""false"" ""modified"",""2020-01-22T14:58:26Z"" ""Content-Length"",""11667626"" ""pdf:hasMarkedContent"",""false"" ""Content-Type"",""application/pdf"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""meta:creation-date"",""2020-01-22T14:58:26Z"" ""created"",""2020-01-22T14:58:26Z"" ""access_permission:extract_for_accessibility"",""true"" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""62"" ""Creation-Date"",""2020-01-22T14:58:26Z"" ""resourceName"",""SustainableDevelopment%20Report_BlockchainWeb3_SDGs.pdf"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""63"",""775"",""1027"",""6"",""3912"",""3912"",""3425"",""3806"",""3549"",""3120"",""3788"",""4134"",""4052"",""3927"",""4184"",""3107"",""3904"",""3874"",""3569"",""3208"",""3259"",""3882"",""3582"",""4186"",""3948"",""4067"",""3922"",""3864"",""4497"",""3704"",""3969"",""4006"",""3891"",""3869"",""2401"",""3719"",""3492"",""4119"",""3153"",""2859"",""3165"",""3300"",""6"",""6"",""3523"",""5162"",""4075"",""4644"",""4797"",""4424"",""3405"",""6"",""6"",""4515"",""5836"",""4478"",""2530"",""4765"",""859"",""6"",""0"",""96"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""producer"",""Mac OS X 10.12.6 Quartz PDFContext"" ""access_permission:can_modify"",""true"" ""pdf:docinfo:producer"",""Mac OS X 10.12.6 Quartz PDFContext"" ""pdf:docinfo:created"",""2020-01-22T14:58:26Z"" ";https://scholar.google.com/scholar?start=450&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094546-675;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;DeMetrA-Decentralized Metering with user Anonymity and layered privacy on Blockchain;M Vasile, B Groza ; … Conference on System Theory, Control and …, 2019 ieeexplore.ieee.org;;"… without random oracles. In International Conference on the Theory and Applications of Cryptographic Techniques, pages 223–238. Springer, 2004. [6] M. Cebe, E. Erdin, K. Akkaya, H. Aksu, and S. Uluagac. Block4forensic: An integrated lightweight blockchain framework for …";Autres articles;;[PDF] ieee.org;https://ieeexplore.ieee.org/iel7/8880038/8885414/08885761.pdf?casa_token=qBq9XZ6QEZwAAAAA:2XyJ7n3yntTgMAZzHKgMar9S1HPz0c97wdJleuEYbGzRbE4vNrv0O0hAIsiKktb83PPWR2qj3D0;" Skip to Main Content IEEE Account Change Username/Password Update Address Purchase Details Payment Options Order History View Purchased Documents Profile Information Communications Preferences Profession and Education Technical Interests Need Help? US & Canada: +1 800 678 4333 Worldwide: +1 732 981 0060 Contact & Support About IEEE Xplore Contact Us Help Accessibility Terms of Use Nondiscrimination Policy Sitemap Privacy & Opting Out of Cookies A not-for-profit organization, IEEE is the world's largest technical professional organization dedicated to advancing technology for the benefit of humanity. Š Copyright 2021 IEEE - All rights reserved. Use of this web site signifies your agreement to the terms and conditions. ";"""og:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""twitter:title"",""DeMetrA - Decentralized Metering with user Anonymity and layered privacy on Blockchain"" ""twitter:card"",""summary"" ""Description"",""Wear and tear are essential in establishing the market value of an asset. From shutter counters on DSLRs to odometers inside cars, specific counters, that encod"" ""og:title"",""DeMetrA - Decentralized Metering with user Anonymity and layered privacy on Blockchain"" ""resourceName"",""08885761.pdf"" ""language"",""en"" ""title"",""DeMetrA - Decentralized Metering with user Anonymity and layered privacy on Blockchain | IEEE Conference Publication | IEEE Xplore"" ""og:description"",""Wear and tear are essential in establishing the market value of an asset. From shutter counters on DSLRs to odometers inside cars, specific counters, that encode the degree of wear, exist on most products. But malicious modification of the information that they report was always a concern. Our work explores a solution to this problem by using the blockchain technology, a layered encoding of product attributes and identity-based cryptography. Merging such technologies is essential since blockchains facilitate the construction of a distributed database that is resilient to adversarial modifications, while identity-based signatures set room for a more convenient way to check the correctness of the reported values based on the name of the product and pseudonym of the owner alone. Nonetheless, we reinforce security by using ownership cards deployed around NFC tokens. Since odometer fraud is still a major practical concern, we discuss a practical scenario centered on vehicles, but the framework can be easily extended to many other assets."" ""twitter:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-UA-Compatible"",""IE=Edge"" ""viewport"",""width=device-width, initial-scale=1.0"" ""dc:title"",""DeMetrA - Decentralized Metering with user Anonymity and layered privacy on Blockchain | IEEE Conference Publication | IEEE Xplore"" ""twitter:description"",""Wear and tear are essential in establishing the market value of an asset. From shutter counters on DSLRs to odometers inside cars, specific counters, that encode the degree of wear, exist on most products. But malicious modification of the information that they report was always a concern. Our work explores a solution to this problem by using the blockchain technology, a layered encoding of product attributes and identity-based cryptography. Merging such technologies is essential since blockchains facilitate the construction of a distributed database that is resilient to adversarial modifications, while identity-based signatures set room for a more convenient way to check the correctness of the reported values based on the name of the product and pseudonym of the owner alone. Nonetheless, we reinforce security by using ownership cards deployed around NFC tokens. Since odometer fraud is still a major practical concern, we discuss a practical scenario centered on vehicles, but the framework can be easily extended to many other assets."" ""Content-Encoding"",""UTF-8"" ""Content-Type-Hint"",""text/html; charset=utf-8"" ""Content-Length"",""41320"" ""Content-Language"",""en-US"" ""Content-Type"",""text/html; charset=UTF-8"" ";https://scholar.google.com/scholar?start=490&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094588-854;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Towards Blockchain-enabled Searchable Encryption;Q Tang ; International Conference on Information and …, 2019 Springer;;"… One of the notable examples is Ethereum, which is the second largest cryptocurrency system after … r)\) which is a random value if \(\mathsf {H}\) is modelled as a random oracle. Therefore, the Blockchain does not affect the privacy guarantee regarding all potential attackers: one …";Cité 2 fois;Les 3 versions;[PDF] arxiv.org;https://arxiv.org/pdf/1908.09564;" Towards Blockchain-enabled Searchable Encryption Qiang Tang Luxembourg Institute of Science and Technology 5 Avenue des Hauts-Fourneaux 4362 Esch-sur-Alzette, Luxembourg qiang.tang@list.lu November 21, 2019 Abstract. Distributed Leger Technologies (DLTs), most notably Blockchain technologies, bring decentralised platforms which eliminate a single trusted third party and avoid the notorious single point of failure vulnerability. Since Nakamoto’s Bitcoin cryptocurrency system, an enormous number of decentralised applications have been proposed on top of these tech- nologies, aiming at more transparency and trustworthiness than their traditional counterparts. These applications spread over a lot of areas, e.g. financial services, healthcare, transportation, supply chain management, and cloud computing. While Blockchain brings transparency and decen- tralised trust intuitively due to the consensus of a (very large) group of nodes (or, miners), it introduces very subtle implications for other desir- able properties such as privacy. In this work, we demonstrate these subtle implications for Blockchain-based searchable encryption solutions, which are one specific use case of cloud computing services. These solutions rely on Blockchain to achieve both the standard privacy property and the new fairness property, which requires that search operations are carried out faithfully and are rewarded accordingly. We show that directly replacing the server in an existing searchable encryption solution with a Blockchain will cause undesirable operational cost, privacy loss, and security vul- nerabilities. The analysis results indicate that a dedicated server is still needed to achieve the desired privacy guarantee. To this end, we propose two frameworks which can be instantiated based on most existing search- able encryption schemes. Through analysing these two frameworks, we affirmatively show that a carefully engineered Blockchain-based solution can achieve the desired fairness property while preserving the privacy guarantee of the original searchable encryption scheme simultaneously. 1 Introduction With the prevalence of cloud computing, many organizations are outsourcing their data and services to the cloud. By doing so, an organization or individ- ual can enjoy a wide spectrum of benefits such as agileness and cost-saving. Moreover, the cloud service provider can deploy sophisticated cybersecurity solutions to meet the requirements from the relevant security regulations. It is widely perceived that the big cloud service providers, such as Amazon and ar X iv :1 90 8. 09 56 4v 2 [ cs .C R ] 1 9 N ov 2 01 9 Microsoft, provide better protection in practice than most organizations if they do it by themselves. However, there are indeed drawbacks for the outsourced data and corresponding operations, among which loss of privacy is the most sig- nificant one. As the cloud service provider can observe the data usage patterns and potentially have access to the plain data, it becomes a concern when the data contains sensitive information. The issue becomes more complex when the services are cross-border and need to comply with privacy regulations from dif- ferent regimes. Besides privacy, the verifiability of outsourced computing tasks might also be a serious concern. In order to save cost, the cloud service provider might not carry out the promised tasks faithfully. At the end, the incomplete or even flawed computing results might damage the client’s business severely. Therefore, how to guarantee privacy and verifiability in outsourcing has been an active research area for many years. Regarding the potential computing tasks on outsourced data, search is the most fundamental one. To cater to the privacy needs, searchable encryption is a category of cryptographic primitives that allows data to be outsourced in an encrypted form while still being able to be searched over. Searchable encryption typically assumes a standard client-server setting, where a client outsources its encrypted data to a cloud server, which can then search on the client’s behalf without decrypting the data. Existing searchable encryption schemes can be broadly classified into two settings. In the asymmetric setting [2], the client can publish a public key, by which anybody can generate searchable encrypted data and store it on the server. Later, the client, who has access to the private key, can let the server search on its behalf by issuing a trapdoor. In the symmetric setting [16], a client uses symmetric keys to encrypt its own data and stores the ciphertexts on the server. Later on, as in the asymmetric setting, the client can let the server search on its behalf by issuing a trapdoor. Compared to the symmetric setting, the asymmetric setting poses higher challenges to data privacy, as shown in [1]. This implies that asymmetric searchable encryption schemes leak much more information in reality, and potentially make such schemes very undesirable facing strong attackers. In this paper, we focus on symmetric searchable encryption schemes and show how to properly leverage Blockchain to achieve verifiability and more properties without sacrificing privacy. Nevertheless, our discussions and ap- proaches could also be applied to other tasks. 1.1 Preliminary on Symmetric Searchable Encryption We assume the client has a database DB, which contains the files which will be searched based on an inverted inverted index. We assume a basic version of symmetric searchable encryption scheme which only consists of two stages Setup and Search, with an example shown in Section 3.1. In the Setup stage, the client extracts a keyword set W from the files in the DB and builds an encrypted inverted index, which is then stored on the server. In the Search stage, the client interacts with the server to search for the files which contain any keyword w ∈ W. 2 Remark 1. Since search is done over an inverted index, the actual files are not relevant anymore once the inverted index has been constructed. Therefore, the protection of the real files from DB can be done separately (e.g. they can be encrypted via standard symmetric encryption schemes and stored on the same or a different server). As a result, the search will result in file identifiers instead of real files. Some schemes support additional operations, such as add, delete or update the encrypted index, while others enable more complex search queries such as conjuncted keywords. We leave them out for simplicity reasons. Nevertheless, extending our discussions to these more general schemes will be an interesting and separate line of research work. To facilitate our discussions, we provide a high-level workflow of both stages. Existing schemes might optimize their performances or security with very specific tricks, e.g. index data structure. Nevertheless, most of them follow the workflow. In the Setup stage, the following operations will occur. 1. Run by the client, it first generates the key materials, namely private key(s). 2. Given the database DB, a keyword set W is extracted and a plaintext inverted index is built. The index is informally a table, shown in Figure 1 for example, where each row contains the file identifiers associated with a specific keyword. Note that the client might choose to pad the rows so that they contain certain number of file identifiers, e.g. all rows can be padded to contain the same number of file identifiers. Fig. 1. Inverted Index Example 3. Using the private key(s), the client encrypts the inverted index and obtains an encrypted form of it. Note that the encryption here means not only the hiding of keyword and identifier information but also can be the hiding of other pattern information such as the ordering of the encrypted keywords and identifiers. Finally, the encrypted index is stored on the server. In the Search stage, if the client wants to find all the file identifiers associated with a keyword w, the following operations will occur. 1. Using the private key(s), the client generates a trapdoor Tw based on its private keys(s) and w, and sends it to the server. 3 2. With the trapdoor Tw, the server can go through the encrypted index and match those elements which contain the same keyword (i.e. w) as that em- bedded in the trapdoor. 3. For the matched elements, the server recovers the associated file identifiers, denoted as a set IDw and return them to the client. 1.2 Privacy and Fairness Challenges Searchable encryption can be seen as a derivative of standard encryption primi- tives, but it is more complex due to the fact that, concerning privacy, we need to consider not only the encrypted index but also the trapdoors. If there is a secure channel between the client and the server, then the server is the main privacy attacker. Intuitively, we will expect at least the encrypted index or trapdoors alone do not leak any information about the embedded keywords. This can be formulated in a similar way to the semantic security property of encryption schemes [9], and easy to achieve. However, the situation is more complex for searchable encryption, due to the fact that search operations link the encrypted index and trapdoors so that more information will be leaked. In more detail, there are concerns of access pattern leakage and search pattern leakage. – Informally, access pattern is the file identifier information resulted from the client’s search queries. – While, search pattern is about whether two trapdoors contain the same keywords or not. These two types of leakages are clearly closely related. After receiving several trapdoors, even if the server might not learn the keywords, it can derive sta- tistical information about the keywords based on access pattern. In practice, the statistical information can disclose the search pattern and even lead to full recovery of the keywords. Besides privacy, the other practical concern related to searchable encryption is the verifiability of search results. As we have men- tioned before, it is desirable for the server to assure the client that the search results have come from a faithful execution of the protocol. On the other side, it is also desirable that the server is rewarded properly for the faithful execution of the search protocol. Follow the literature work, if a searchable encryption solution satisfies both requirements simultaneously, we say it is fair. So far, very little has been done to design privacy-preserving and fair search- able encryption solutions, except for some recent solutions that leverage on Blockchain to achieve fairness [4,10]. We note that there are verifiable symmet- ric searchable encryption schemes, e.g. [3], which however only guarantee that a semi-honest server will follow the protocol. Being a technology that brings trust as many believe, Blockchain infact results in very subtle tradeoffs among the desirable properties, e.g. privacy and verifiability. Unfortunately, these trade- offs have been ignored by many researchers. As such, it remains as an open question how well these recent searchable encryption solutions have addressed the privacy and fairness requirements. 4 1.3 Contribution and Organisation Our contribution in this paper is two-fold. We start by examining some recent Blockchain-based searchable encryption solutions, i.e. [4,10]. We show that di- rectly replacing the server of a searchable encryption scheme with a Blockchain is a very undesirable solution. First of all, it introduces considerable cost with respect to storing the encrypted index and executing the smart contract which implements the search operation. Secondly, these solutions suffer from the in- herent issues of Blockchain, e.g. the forking problem1. This might cause serious usability issues for these solutions. Thirdly, the privacy concerns of the under- lying scheme are amplified by the Blockchain platform. The access pattern and search pattern leakages are exposed to all entities who can access the Blockchain. To mitigate the identified issues in our analysis, we then propose two frame- works that can be instantiated based on most existing searchable encryption schemes. In both frameworks, search operations are carried out by the server(s) as in the traditional schemes, while Blockchain is leveraged to achieve the fair- ness property only. The rest of this paper is organised as follows. In Section 2, we give a brief summary to Blockchain technologies. In Section 3, we present and analyse the existing Blockchain-based solutions. In Section 4, we present our new frame- works and provide corresponding analysis. In Section 5, we conclude the paper. 2 Blockchain in a Nutshell Since the seminal report from Nakamoto [11], the concept of Blockchain has become very popular not only in the research community but also in the society at large. Its popularity largely comes from the fact that it is the key enabling technology for the variety of cryptocurrency systems, including Bitcoin 2 and the altcoins, even though the history of both the idea of cryptocurrency and the techniques in Blockchain can be traced back to much earlier era [13]. As a matter of fact, today there are over 1600 such systems according to Wikipedia 3. 2.1 Blockchain Overview Informally, the data on a Blockchain is organized in the form shown in Figure 2. Depending on who maintains the chain (i.e. generate and approve new blocks), Blockchain systems can be roughly divided into two categories. If anyone can publish and approve a new block, it is permissionless. Otherwise, if only par- ticular nodes are allowed to do it, it is permissioned. More details about the categorisation can be found in the NIST report [18]. From now on, we refer to these particular privileged nodes as miners in the paper. 1 https://en.wikipedia.org/wiki/Fork_(blockchain) 2 https://bitcoin.org/en/ 3 https://en.wikipedia.org/wiki/List_of_cryptocurrencies 5 https://en.wikipedia.org/wiki/Fork_(blockchain) https://bitcoin.org/en/ https://en.wikipedia.org/wiki/List_of_cryptocurrencies Fig. 2. Blockchain Structure As the core characteristic of Blockchain, repeatedly, a certain number of new data entries (e.g. transactions) will be packed into a new block and appended to the existing (longest) chain. In the case of Bitcoin Blockchain, a new block also includes the hash value of the last block of the current chain. The block is formed with some specific features, e.g. a proof of work needs to be carried out so that the hash value of the new block contains some number of consecutive zeros. The new block will be broadcast to the whole network, and it will be accepted in the network after everything being validated. Depending on the variants and implementations, there are many subtle details on how a block is formed and accepted to the chain, we refer the readers to the corresponding technical specifications for the precise information. Besides cryptocurrencies, Blockchain systems act as the key foundation plat- form for smart contracts, which facilitate automated execution of software pro- grams in a verifiable manner. One of the notable examples is Ethereum 4, which is the second largest cryptocurrency system after Bitcoin and gains the popu- larity because of its powerful smart contracts functionality. In practice, smart contracts can enable a variety of trustworthy distributed applications, e.g. build- ing digital Decentralized Autonomous Organizations (DAOs). It is worth noting that Blockchain represents one special case of the broader distributed ledger technologies (DLTs), which are decentralised databases that rely on independent computers to record, share and synchronize digital transac- tions. In many cases, say IOTA 5 and Hyperledger 6, the decentralised database is not organised in a single chain of blocks. Instead, it can be a graph (e.g. IOTA) or multiple chains of blocks (e.g. Hyperledger). Despite the different forms, a DLT can possess similar properties to those from a Blockchain. For a more com- prehensive review of cryptocurrencies, Blockchain and DLT technologies, we refer the readers to the comprehensive books such as [8,12,17]. 4 https://www.ethereum.org/ 5 https://www.iota.org/ 6 https://www.hyperledger.org/ 6 https://www.ethereum.org/ https://www.iota.org/ https://www.hyperledger.org/ 2.2 Properties of Blockchain Regardless of the forms of a Blockchain or DLT in general, the following useful properties can be expected. – Democracy and Decentralised Control. Everyone can potentially act as a miner and has the same privilege to generate blocks and approve blocks to the Blockchain. This is generally true for systems employing the proof of work (PoW) as the consensus mechanism in the permissionless scenario, while it can be different in other cases. Regardless, Blockchain eliminates a sin- gle fully trusted party and avoids the single point of failure vulnerability correspondingly. – Integrity and Immutability. If an attacker or a group of colluded attackers does not dominate the consensus process, e.g. in the case of Bitcoin Blockchain more than 51% of the computing power is at the hands of semi-honest miners (see the explanation below for the semi-honest assumption), then it will not be able to modify the existing blocks that have been agreed on by the consensus. – Consistency. There is a single consistent view of the chain even facing strong attackers, based on assumptions mentioned above. However, note that when nodes deviate from the predefined rules, forks could be generated and there will be different views from different players, e.g. in the case of Ethereum7. These properties further provide certain levels of auditability and trans- parency, and generally increase the trustworthiness of the system. These afore- mentioned properties or even a subset of them can be very desirable for many applications from different sectors. Some people have considered Blockchain as a trust machine for the society 8. The trust that users have towards Blockchain systems is mainly from the fact that the majority of miners will be semi-honest from the cryptographic perspective. The semi-honest assumption basically says that these miners will follow the predefined protocols to perform what has been specified and programmed in the Blockchain software, and particularly this excludes the possibility that they will collude to interfere with the nor- mal Blockchain operations. For PoW-based Blockchain, the trust depends on the common assumption that 51% of the computing power lies at the hands of semi-honest miners. While for other types of Blockchain, corresponding as- sumptions need to be made. For example, for Proof of Stake (PoS)-based DLTs, we need to assume that the parties that possess the majority of stakes will behave honestly. Besides cryptocurrencies, Blockchain has been widely promoted in design- ing decentralised protocols, e.g. fair secure multiparty computation protocols [6], confidentiality-preserving smart contracts [5], double auction [19], and the Blockchain-based searchable encryption schemes [4,10]. In most of these works, Blockchain is treated as a trusted platform that achieves some of the aforemen- tioned properties persistently. However, we observe a dilemma with this trust 7 https://en.wikipedia.org/wiki/Ethereum 8 https://www.economist.com/leaders/2015/10/31/the-trust-machine 7 https://en.wikipedia.org/wiki/Ethereum https://www.economist.com/leaders/2015/10/31/the-trust-machine assumption and raise concerns about the feasibility of (some) existing solutions. Let’s suppose a client originally deploys a service at a dedicated cloud server, and now it wants to leverage Blockchain to improve the security. – On one hand, all the promises of a Blockchain come from the holy assump- tion that no single entity can significantly influence the operations of the system and everything should be based on a consensus 9. This means that a normal user like the client, will not play any significant role, particularly the client may not be able to determine the miners or even know them. – On the other hand, from the perspective of the client, it may desire absolute certainty regarding the status of the Blockchain, the promised properties, and other aspects such as efficiency and cost. Unfortunately, the satisfaction of these requirements will depend on the consensus of some entities, which are not supposed to be influenced by the client. Clearly, there is a governance dilemma facing the client when it wants to de- ploy its service on Blockchain. More consequences of this dilemma can be found in Section 3.2 and 3.3. Nowadays, this dilemma is hindering the deployment of Blockchain-based services , e.g. see the IBM-Maersk case 10. 3 Blockchain-enabled Searchable Encryption In this section, we first briefly recap the Blockchain-based searchable solutions from [4,10], and then present our analysis results from the economic, security and privacy aspects. 3.1 Description of the Existing Solutions The central idea of solutions from [4,10] is to treat Blockchain (that supports smart contracts) as a transparent and neutral platform. Intuitively, these solu- tions just replace the server in traditional scenarios with a Blockchain, which interacts with the client via a smart contract. All search and fairness-related logics are programmed into the smart contract. Based on the transparency and neutrality assumptions, the following notion of ”fairness” can be achieved: (1) search operations will be performed in the pre-defined manner if we assume that a majority of the miners will not collude with each other; (2) the miner(s) will be rewarded for their search operations due to the fact that deposits are required before any search operation is carried out. Let the client’s database be denoted asDB. Next we review the solution from [10]. For simplicity, we only review the Setup and Search stages, while skipping the add and delete stages as they do not affect our analysis. – Setup(DB, Îť): run by the client, the following operations are performed. 9 In fact, it is more complex when it comes to questions such as how the evolution of a Blockchain platform should proceed, see the case of Bitcoin Blockchain 10 https://www.coindesk.com/ibm-blockchain-maersk-shipping-struggling 8 https://www.coindesk.com/ibm-blockchain-maersk-shipping-struggling 1. Initialize an empty list L, an empty dictionary σ, a counter c, and a block size p. 2. Extract a keyword setW fromDB. 3. Select two pseudorandom functions F and G; Generate a secret key K $ ← {0, 1}Îť. 4. For every keyword w ∈ W, do the following (a) Compute K1 = F(K, 1||w) and K2 = F(K, 2||w), where || is a concatena- tion operator. (b) Set Îą = b |DB(w)| p c and c = 0, where DB(w) is the file identifier set associated with w and |DB(w)| indicates the number of identifiers in the set. (c) Divide DB(w) into Îą + 1 blocks, and pad the last block into p entries if necessary. (d) For each block in DB(w), do the following i. Set ĩd = id1|| ¡ ¡ ¡ ||idp, r $ ← {0, 1}Îť, d = ĩd ⊕G(K2, r), l = F(K1, c). ii. Add (l, d, r) to the list L in lex order. iii. Set c = c + 1. 5. Set EDB = L, partition EDB into n blocks EDBi (1 ≤ i ≤ n) and send them to the smart contract. 6. For each received EDBi, the smart contract parses each entry in EDBi into (l, d, r) and add it to the Blockchain. – Search(K,w; ∗): run between the client and the Blockchain (via the smart contract), the following steps are followed. 1. The client computes K1 = F(K, 1||w), K2 = F(K, 2||w). 2. The client sets c = 0, and sets an iteration number R and step size step. 3. For 0 ≤ i ≤ R, do the following (a) The client sets STi = (K1,K2, c) and sends it to the smart contract. (b) The smart contract asserts the gas cost is lower than the balance, and then performs the following steps for i = 0 until i ≥ step. Note that the solution assumes an Ethereum platform. i. Set ` = F(K1, c). ii. If Get(`) =⊥ stop; otherwise, set the result to be (d, r). The Get function simply retrieves the tuple with the same `. iii. Compute ĩd = d ⊕G(K2, r); iv. Parse and save ĩd. v. Set c = c + 1. vi. Set i = i + 1. The solution from [4] is pretty the same as the above solution. The main difference is that it assumes a specific electronic health record (EHR) application scenario and the keyword is in the form of an expression like ”(disease = ‘disease name‘) AND (num1 ≤ age ≤ num2)”. 9 3.2 General Analysis w.r.t. Blockchain Usage From an economic perspective, in comparison to a dedicated server based solu- tion, it is clear that a Blockchain-based solution will incur more costs regarding storage and computations, because several miners will need to perform the same tasks in parallel. The computational cost might become a more significant concern if a PoW-based consensus is employed by the underlying Blockchain platform. In connection to fairness, one hidden concern is about the cost model for the miners of the Blockchain. By default, it is common to estimate the cost of operations based on the computations incurred by the smart contract execu- tions. However, the real cost for the miners goes beyond that. For example, there is also cost for the communication and storage. In addition, the miners need to guarantee their availability for the searchable encryption services, which means investment in security and diaster recovery countermeasures. In the proposed solutions [4,10], it remains as a question how the client should estimate these costs and include them in the offer. In connection to search complexity, a potential concern is the storage of the encrypted index when addition and deletion are enabled11. Suppose the Blockchain serves for searchable encryption services for many clients, it will be the case that the newly added encrypted index for a specific client will be stored in block(s) which are far away from those storing the previous encrypted index. This means the search operation may need to traverse through the whole chain to cover all relevant indexes for the specific client. The situation gets much worse if a permissionless Blockchain is employed because other applications will add a tremendous number of blocks over the time. Contrary to the common belief that Blockchain could act as a ”trust” ma- chine to build secure applications, it actually brings its inherent security risks that can be fatal to the applications on top. One prominent security issue is around smart contracts, where one well-known example is the decentralized autonomous organization (DAO) attack in 201612, which has exploited some software bugs in the underlying Ethereum smart contracts, that leads to the transfer of 3.6 million Ether to the attacker’s account. As a result of the attack, the Ethereum Blockchain had to make a hard fork due to the lack of a unani- mous consensus on the solution. Besides smart contracts, Blockchain systems in general are also subject to other attacks, e.g. those against consensus mech- anisms and distributed denial-of-service (DDoS) attacks [15]. In the traditional setting, these issues might be easier to avoid or solve, or at least they can be solved much more quickly. 3.3 Specific Analysis w.r.t. Privacy Guarantee As noted in Section 1.2, almost all searchable encryption schemes leak certain information to the server. Although a symmetric searchable encryption scheme 11 Note that such features are included in the solution by Hu et al. [10]. 12 https://en.wikipedia.org/wiki/The_DAO_(organization) 10 https://en.wikipedia.org/wiki/The_DAO_(organization) leaks less than its asymmetric counterpart, the leakage might still be considered to be non-negligible. Take the scheme from Section 3.1 as an example, there are (at least) two kinds of leakages, which are commonly shared by other similar schemes. – search pattern leakage. The Search algorithm is a deterministic function. This means that if the client searches the same keyword more than once, then the Blockchain miners will notice it. Based on such information, statistics such as frequency of searched keywords can be established. In turn, such statistics may allow the miners to recover the underlying keywords. – access pattern leakage. In the Setup(DB) algorithm, DB(w) will be padded to guarantee that every block has exactly p entries. However, this padding operation does not anonymize the index length very well. Let’s assume DB(w1) has p+1 entries and DB(w2) has 2p+1 entries. In this case, even after the padding, the keyword w2 will result in p more entries on the Blockchain than the keyword w1. As a result, the Search operation may reveal the size relationship of the file identifier sets associated with the searched keywords. Specific to this scheme, it is undesirable to reveal ĩd to the smart contract. Nevertheless, this can be easily resolved by not sending K2 to the smart contract and instead the client decrypts d by itself to recover ĩd at the end of the search operation. In comparison to the traditional scenario without using a Blockchain, where the privacy information leakage is only limited to a single server, the leakage is amplified in Blockchain-based solutions. The degree of the amplification effect depends on which type of Blockchain is chosen by the solution. – If a permissionless Blockchain is used, then the information leakage is avail- able to everybody on the Internet. This is very likely not acceptable. – If a permissioned Blockchain is used, then the information leakage is pro- visionally available to those entities that can access the Blockchain. At the first glance, the privacy issue is less serious than the other case. However, the situation is rather complex, unless the searchable encryption scheme is deployed on a dedicated Blockchain where the right to read the Blockchain data is controlled by the client. Otherwise, the client will have no control over who will see its encrypted index and search history (e.g. no control over who will be the miners), which means it suffer from unexpected pri- vacy leakage. This exemplifies the dilemma stated in Section 2.2. For searchable encryption applications, the immutability property of Blockchain might not be really necessary. In the contrary, this property might be undesir- able concerning privacy protection. If the encrypted index and search histories live forever on a Blockchain, then it will stay as a persistent attack surface for any (emerging) attackers. 3.4 Summary and Roadmap So far, we have analysed the advantages as well as disadvantages of Blockchain- based solutions. Our analysis indicates that a solution built directly based on 11 a Blockchain, either permissioned or permissionless, causes issues from differ- ent aspects, including cost, security and privacy. For the studied solutions, it seems that the disadvantages will outweigh the advantages in practice. Nev- ertheless, this does not imply that Blockchain is useless for these applications, rather we believe that Blockchain will be a very useful tool to guarantee the fairness property. Without it, it will be a very sophisticated task to design fair and privacy-preserving searchable encryption solutions, and it may need to make significant changes to existing privacy-preserving searchable encryption schemes. Based on our analysis, towards designing privacy-preserving and fair search- able encryption solutions, a modular approach seems more appropriate: exploit- ing Blockchain for the fairness guarantee and relying on dedicated server(s) for the actual search operations on the basis of an existing searchable encryption scheme. The key challenge is to guarantee that the involvement of Blockchain does not affect the privacy guarantees of the underlying searchable encryption scheme. This leads to two new frameworks in the next section. 4 New Generic Blockchain-based Frameworks In this section, we propose two generic Blockchain-based frameworks, that can be instantiated based on most symmetric searchable encryption schemes. In both frameworks, there are three types of entities involved. – Client: The client is the party that wants to outsource its encrypted index. – Server(s): As in the traditional setting, the server(s) store the encrypted index and carry out the search operations. – Blockchain: The Blockchain acts as a semi-trusted platform to ensure fairness. We assume there is a secure communication channel ( for confidentiality and integrity) between the client and all server(s), while there is no such a link between any entity and the Blockchain";"""date"",""2019-11-21T01:49:00Z"" ""pdf:PDFVersion"",""1.5"" ""pdf:docinfo:title"","""" ""xmp:CreatorTool"",""LaTeX with hyperref package"" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""subject"","""" ""language"",""en"" ""dc:format"",""application/pdf; version=1.5"" ""pdf:docinfo:creator_tool"",""LaTeX with hyperref package"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"","""" ""modified"",""2019-11-21T01:49:00Z"" ""cp:subject"","""" ""pdf:docinfo:subject"","""" ""pdf:hasMarkedContent"",""false"" ""pdf:docinfo:creator"","""" ""PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) kpathsea version 6.2.2"" ""meta:author"","""" ""trapped"",""False"" ""meta:creation-date"",""2019-11-21T01:49:00Z"" ""created"",""2019-11-21T01:49:00Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2019-11-21T01:49:00Z"" ""resourceName"",""1908.09564"" ""Author"","""" ""producer"",""pdfTeX-1.40.17"" ""pdf:docinfo:producer"",""pdfTeX-1.40.17"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""5"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""2"",""0"",""0"" ""Keywords"","""" ""access_permission:modify_annotations"",""true"" ""dc:creator"","""" ""dcterms:created"",""2019-11-21T01:49:00Z"" ""Last-Modified"",""2019-11-21T01:49:00Z"" ""dcterms:modified"",""2019-11-21T01:49:00Z"" ""title"","""" ""Last-Save-Date"",""2019-11-21T01:49:00Z"" ""pdf:docinfo:keywords"","""" ""pdf:docinfo:modified"",""2019-11-21T01:49:00Z"" ""meta:save-date"",""2019-11-21T01:49:00Z"" ""pdf:docinfo:custom:PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) kpathsea version 6.2.2"" ""Content-Length"",""498184"" ""Content-Type"",""application/pdf"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"","""" ""dc:subject"","""" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""20"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""2262"",""2724"",""1848"",""2544"",""2319"",""1845"",""2592"",""2358"",""1616"",""2598"",""2563"",""2344"",""1297"",""2699"",""2637"",""1292"",""2377"",""2566"",""2561"",""2493"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""pdf:docinfo:trapped"",""False"" ""meta:keyword"","""" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2019-11-21T01:49:00Z"" ";https://scholar.google.com/scholar?start=670&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094558-723;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[HTML][HTML] An efficient linkable group signature for payer tracing in anonymous cryptocurrencies;L Zhang, H Li, Y Li, Y Yu, MH Au, B Wang ; Future Generation Computer …, 2019 Elsevier;;"… address this issue by proposing a linkable group signature for signing cryptocurrency transactions, which can be used to trace a payer's identity in consortium blockchain based anonymous … achieves full-anonymity, full-traceability and linkability in the random oracle model …";Cité 10 fois;Les 7 versions;[HTML] sciencedirect.com;https://www.sciencedirect.com/science/article/pii/S0167739X19303115?casa_token=JuytUlAT_rsAAAAA:J2XHiSeDKc2VrWtHRdnoc6BMB4HzZIqSOHdEtlFivxEyq6gadEYx8NwixzznItjZGCKUqiqI;;;https://scholar.google.com/scholar?start=540&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094614-969;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Tight proofs of space and replication;B Fisch ; Annual International Conference on the Theory and …, 2019 Springer;;"… It has been proposed as an alternative Sybil resistance mechanism (eg for a blockchain) that is not only ASIC resistant and eco-friendly, but … the pebbling game, but involves a cryptographic hash function \(H: \{0,1\}^{dm} \rightarrow \{0,1\}^m\), often modeled as a random oracle …";Cité 24 fois;Les 4 versions;[PDF] iacr.org;https://eprint.iacr.org/2018/702.pdf;" Tight Proofs of Space and Replication Ben Fisch Abstract We construct a concretely practical proof-of-space (PoS) with arbitrarily tight security based on stacked depth robust graphs and constant-degree expander graphs. A proof-of-space (PoS) is an interactive proof system where a prover demonstrates that it is persistently using space to store information. A PoS is arbitrarily tight if the honest prover uses exactly N space and for any Îľ > 0 the construction can be tuned such that no adversary can pass verification using less than (1 − Îľ)N space. Most notably, the degree of the graphs in our construction are independent of Îľ, and the number of layers is only O(log(1/Îľ)). The proof size is O(d/Îľ). The degree d depends on the depth robust graphs, which are only required to maintain Ω(N) depth in subgraphs on 80% of the nodes. Our tight PoS is also secure against parallel attacks. Tight proofs of space are necessary for proof-of-replication (PoRep), which is a publicly verifiable proof that the prover is dedicating unique resources to storing one or more retriev- able replicas of a file. Our main PoS construction can be used as a PoRep, but data extraction is as inefficient as replica generation. We present a second variant of our construction called ZigZag PoRep that has fast/parallelizable data extraction compared to replica generation and maintains the same space tightness while only increasing the number of levels by roughly a factor two. 1 Introduction Proof-of-space (PoS) has been proposed as an alternative to proof-of-work (PoW) for applications such as SPAM prevention, DOS attacks, and Sybil resistance in blockchain-based consensus mechanisms [18, 21, 31]. Several industry projects1 are underway to deploy cryptocurrencies similar to Bitcoin that use proof-of-space instead of proof-of-work. Proof-of-space is promoted as more egalitarian and eco-friendly that proof-of-work because it is ASIC-resistant and does not consume its resource (space instead of energy), but rather reuses it. A PoS is an interactive protocol between a prover and verifier in which the prover use a minimum specified amount of space in order to pass verification. The protocol must have compact communication relative to the prover’s space requirements and efficient verification. A PoS is persistent if repeated audits force the prover to utilize this space over a period of time. More precisely, there is an “offline” phase in which the prover obtains challenges from a verifier (or simulates them non-interactively via Fiat-Shamir), generates an advice string S that it stores, and outputs a compact tag τ to the verifier. This is followed by an “online” challenge-response protocol in which the prover uses its advice S to efficiently compute responses to the verifier’s challenges. The soundness of the PoS relies on timing bounds on the online prover’s runtime enforced by frequent verifier audits. Timing bounds are necessary as otherwise the prover could 1https://chia.net/,https://spacemesh.io/, https://filecoin.io/ 1 https://chia.net/ https://spacemesh.io/ https://filecoin.io/ store its compact transcript and simulate the setup to re-derive the advice whenever it needs to pass an online proof. If the PoS resists parallelization attacks then it is unconditionally secure in this audit model because the prover must use the minimum amount of space to pass challenges within the wall-clock time allotted. Alternatively, soundness is reasoned through a cost benefit analysis; it is assumed that a rational prover will not trade significant computation for a relatively small reduction in its space utilization. In an (S, T )-sound PoS protocol where the prover commits to persistently utilize N blocks of space, the honest prover uses S = O(N) persistent space and any adversary who passes audits in less than time T provably uses S = Ω(N) space. There is generally a gap between the honest space utilization and the lower bound on the adversary’s space. If the honest prover uses N space and some adversary might be able to use ÎľN space then this PoS has an Îľ space gap. A tight PoS makes Îľ arbitrarily small depending on a construction parameter that will typically impact concrete efficiency. All else equal, a tighter PoS is obviously more desirable as it has tighter provable security. Nearly all existing PoS constructions have enormous space gaps [2,18], including those that are currently being used in practice. The one exception is a recent PoS protocol by Pietrzak [33] based on depth robust graphs, although it does not achieve a tight space gap for concretely practical parameters. Proof-of-replication (PoRep) [1, 19, 20, 33] is a recently proposed hybrid of PoS with proof- of-retrievability (PoR) [23]. A PoR demonstrates that the prover can retrieve a particular data file of interest, either known to the verifier, committed in a public commitment, or privately preprocessed by a client who produces a verification tag for the file. A PoRep demonstrates that the prover is dedicating unique resources to storing a retrievable copy of the file, and is therefore a useful proof of space. It has therefore been proposed as an alternative Sybil resistance mechanism that is not only ASIC resistant and eco-friendly, but also has a useful side-effect: it provides file storage on real data. Furthermore, since the prover may run several independent PoReps for the same file that each require unique resources, PoReps may be used as a publicly verifiable proof of data replication/duplication. A PoRep is required to be a PoS, and its security as a proof of data replication is closely related to the space gap of the PoS. Formally, the security notion for PoReps is Îľ-rational replication [19], which says that an adversary can save at most an Îľ fraction of its space by deviating from storing the data in a replicated format. Storing data in a replicated format is therefore an Îľ-Nash-equilibrium. This is the best possible security notion because a prover can always sabotage its replicated format by scrambling its storage in an efficiently decodable (yet no longer replicated) way. A PoRep that satisfies Îľ-rational replication is also a PoS with an Îľ space gap. Intuitively, if a PoRep is not a tight proof of space then there may be some adversary that would be rationally incentivized to deviate from honest behavior and therefore likely destroy the replication format. This gives a whole new relevance to tight proofs of space, because the security of PoReps is only meaningful when Îľ is reasonably small. The goal of this work is to construct a practical and provably tight PoS that can also be used as PoRep that satisfies Îľ-rational replication for arbitrarily small Îľ. 1.1 Related work The original PoS of Dziembowski et. al. [18] was based on hard to pebble directed acyclic graphs (DAGs), using a blend of techniques from superconcentrators, random bipartite expander graphs and depth robust graphs [32]. During the offline initialization the prover computes a certain 2 labeling of the graph using a collision-resistant hash function where the label ev on each node v ∈ G of the graph is the output of the hash function on the labels of all parent nodes of v. It outputs a commitment to this labeling along with a proof (either interactive or non-interactive) that the committed labeling was “mostly” correct. This offline proof consists of randomly sampled labels and their parent labels, which the verifier checks for consistency. During the online challenge-response phase the verifier simply asks for random labels that the prover must produce along with a standard proof that these labels are consistent with the commitment. Their construction leaves a space gap of at least 1− 1 512 . The construction of Ren and Devadas from stacked bipartite expander graphs dramatically improved on the space gap, although it is not secure against parallel attacks. Their construction involves Îť levels V1, ..., VÎť consisting of n nodes each, with edges between the layers defined by the edges of a constant-degree bipartite expander. The prover computes a labeling of the graph just as in the Dziembowski et. al. PoS, however it only stores the labels on the final level. Otherwise, the protocol is roughly the same. Their construction still leaves a space gap of at least 1/2 (and much larger with practical parameters, e.g. their construction requires at least degree 40 graphs to achieve a space gap of less than 2/3). Recently, Abusalah et. al. [2] revived the simple PoS approach based on storing tables of random functions. The basic idea is for the prover to compute and store the function table of a random function f : [N ] → [N ] where f is chosen by the verifier or a random public challenge. During the online challenge-response the verifier simply asks the prover to invert f on a randomly sampled point x ∈ [n]. The intuition for why this should be secure is that a prover who has not stored most of the function table will likely have to brute force f−1(x), performing Ω(N) work. Unfortunately, this simple approach fails to be a PoS due to Hellman’s time/space tradeoffs which enable a prover to succeed with S space and T computation for any ST = O(N). However, Abusalah et. al. build on this approach to achieve a provable time/space tradeoff of SkT = Ω(ÎľkT k). This PoS is not secure against parallel attacks, and also has a very large (even asymptotic) space gap of 1− 1 64 logN . Pietrzak [33] and Fisch et. al [20] independently proposed a simpler variant of the graph labeling PoS by Dziembowski et. al. based solely on pebbling a depth robust graph (DRG). A degree d DAG on n nodes is (Îą, β)-depth robust if any subgraph on Îąn nodes contains a path of at least length βn. It is trivial to construct DRGs of large degree (a complete DAG is depth robust), but much harder to construct DRGs with small (constant or poly-logarithmic) degree. Achieving constant Îą, β is only possible asymptotically with degree Ω(logN). Simply instantiating the graph labeling PoS on a DRG results in a PoS with a 1 − Îą space gap that is also secure against parallel attacks. Fisch et. al. also suggested combining this labeling PoS with a verifiable delay function (VDF) [11] to increase the expense of labeling the graph without increasing the proof verification complexity. The delay on the VDF can be tuned depending on the value of n. Both of these constructions were proposed in the context of designing PoReps. In this variant of the PoS protocol, the prover uses the labeling of the graph to encode a data file on n blocks D = d1, ..., dn. The ith label ei is computed by first deriving a key ki by hashing the labels on the parents of the ith node, and then setting ei = ki ⊕ di. If all the labels are stored then any data block can be quickly extracted from ei by recomputing ki. We’ll call this a DAG encoding of the data input. The VDF approach uses an additional encoding scheme (enc, dec) inside the DAG encoding, where enc is sequentially slow and dec is fast, to derive ei = enc(ki ⊕ di). The data is decoded by computing di = dec(ei ⊕ ki). The labeling PoS on a DRG is not technically a tight PoS because decreasing Îą also decreases 3 the time bound βn on the prover’s required computation to defeat the PoS. Moreover, while there exist constructions of (Îą, β) DRGs for arbitrarily small Îą, these constructions are purely theoretical and are not viable in practice. Pietrzak [33] improved on the basic construction by relying on a stronger property of special DRGs [6, 32] that are (Îą, β,O(log n/Îľ))-depth robust for all (Îą, β) such that 1−α+ β ≥ 1− Îľ. In Pietrzak’s modified construction, the prover builds a DRG on 4n nodes and only stores the labels on the topologically last n nodes. This can similarly be used as a PoRep where the data is encoded only on the last level and the labels on previous levels are just used as keys. This sacrifices on data extraction time because extracting the data requires recomputing most of the keys from scratch, which is as expensive as the PoS initialization. Pietrzak shows that a prover who deletes an ε′ fraction of the labels on the last n nodes will not be able to re-derive them in fewer than n sequential steps. The value ε′ can be made arbitrarily small, but at the expense of increasing the degree of the graph proportionally to 1/ε′. Moreover, although these special DRGs achieve asymptotic efficiency and are incredibly intriguing from a theoretical perspective, they still do not have concretely practical degree. According to the analysis in [6], achieving just a 1/2 space gap with a PoS on N 32 byte data blocks in Pietrzak’s construction would require instantiating these graphs with degree 2, 760 logN . The proof size is at least O(Îťd), so even for Îť = 10 (i.e. 10 bit security) and N = 230 the proof size would be at least 26MB. Furthermore, as Îľ decreases Îť = O(1/Îľ) to maintain the same security level. To achieve a space gap of 1/10 with 10-bit security would require d = 19, 310 logN and Îť = 60 for a proof size of at least 1GB. Boneh et. al. [11] describe a simple PoRep (also a PoS) just based on storing the output of a decodable VDF on N randomly sampled points, which generalizes an earlier proposal by Sergio Demian Lerner [25]. This is in fact an arbitrarily tight PoS with very practical proof sizes (essentially optimal). However, the time complexity of initializing the prover’s O(N) storage is O(N2), and therefore is not practically feasible for large N . This construction is similar to the PoS based on storing function tables [2], but uses the VDF as a moderately hard (non- parallelizable) function on a much larger domain (exponential in the security parameter) and stores a random subset of its function table. The reason for the large initialization complexity is that the prover cannot amortize its cost of evaluating the VDF on the entire subset of points. In an independent concurrent work, Cecchetti et. al [14] developed a similar idea to our stacked DRGs, using butterfly networks instead of expander graphs, to construct a primitive they called publicly incompressible encodings (PIEs). We elaborate on a comparison in the Appendix. 1.2 Summary of Contributions We construct a new tight PoS based on graph labeling with asymptotic proof size O(logN/Îľ) where Îľ is the achieved space gap. We can instantiate this construction with relatively weak depth robust graphs that do not require any special properties other than retaining Ω(N) depth in subgraphs on some constant fraction of the nodes bounded away from 1 (e.g. our concrete analysis is for 80% subgraphs). PoS from Stacked DRGs Our basic approach is a combination of the stacked bipartite expanders of Ren and Devadas [35] with depth robust graphs. Instead of stacking Îť line graphs we stack O(log(1/Îľ)) levels of fixed-degree DRGs where Îľ is a construction parameter. We refer 4 to this graph construction as Stacked DRGs. We are able to show that this results in a PoS that has only an Îľ space gap. Intuitively, the expander edges between layers amplify the dependence of nodes on the last layer and nodes on earlier layers so that deletion of a small Îľ fraction of node labels on the last level will require re-derivation of nearly all the node labels on the first several layers. Thus, since every layer is a DRG, recomputing the missing Îľ fraction of labels requires Ω(N) sequential computation. It is easy to see that this would be the case if the prover were only storing (1− Îľ)n labels on the last level and none of the labels on earlier levels, however the analysis becomes much more difficult when the prover is allowed to store any arbitrary (1− Îľ)n labels. This analysis is the main technical contribution of this work. Concretely, we analyze the construction with an (n, 0.80n,Ω(n)) DRG, i.e. deletion of 20% of nodes leaves a high depth graph on the 80% remaining nodes, regardless of the value of Îľ. Our construction is efficient compared to prior constructions of tight PoS primarily because we can keep the degree of the graphs fixed for arbitrary Îľ while only increasing the number of levels logarithmically in 1/Îľ. In a graph labeling PoS, the offline PoS proofs sample O(1/Îľ) labels along with their parent labels, which the verifier checks for consistency. Thus, any construction based on this approach that requires scaling the degree of graphs by 1/Îľ also scales the proof size by 1/Îľ, resulting in a proof complexity of at least O(1/Îľ2). In our stacked DRG PoS construction the offline proof must include queries from each level to prove that each level of computed labels are “mostly” correct. If done naively, O(1/Îľ) challenge labels are sampled from each level, resulting in a proof complexity O(d/Îľ ¡ log(1/Îľ)) where d is the degree of the level graphs. This is already an improvement, however with a more delicate analysis we are able to go even further and show that the total number of queries over all layers can be kept at O(1/Îľ), achieving an overall proof complexity O(d/Îľ).2 The PoS on Stacked DRGs can also be used as the basis for a PoRep that satisfies Îľ-rational replication for arbitrarily small Îľ. The PoRep variant on this PoS simply uses the labels on the `− 1st level as keys to encode the n-block data input D = d1, ..., dn on the `th (last) level, using the same method described earlier for encoding data into the labels of a PoS (see Related Work, [19, 20, 33]). However, extracting data from this PoRep is as expensive as initializing the PoRep space because it requires recomputing the keys on the `− 1st level. PoRep from ZigZag Expander DRGs Our second contribution is a variant of the PoS on Stacked DRGs that compromises slightly on efficiency (requires double the number of levels for the same security guarantee) but improves the efficiency of extracting data when this is used as a PoRep. Instead of adding edge dependencies between the layers, every layer is the union of a DRG and a constant degree non-bipartite expander graph. The only edges between layers are between nodes at the same indices. Since the graph is a DAG this means that the union of a subset with its dependencies and targets is a constant fraction larger than the subset itself. By alternating the direction of the edges between layers, forming a “zig-zag”, the dependencies of a subset in one layer become targets of the same subset in the adjacent layer, and the dependencies between layers expands. We refer to this graph construction as ZigZag DRGs. The PoRep on ZigZag DRGs encodes in the labels of each layer the labels of the previous levels. The edges within a layer enforce dependencies between labels by deriving a key for each encoding using a 2Asymptotically, this is close to the optimal proof complexity achievable for any PoS based on graph labeling that has an Îľ space gap. If the prover claims to be storing n labels and the proof queries less than 1/Îľ then a random deletion of an Îľ fraction of these labels evades detection with probability at least (1− Îľ)1/Îľ ≈ 1/e. 5 cryptographic hash function. A special key is derived for the encoding on each ith node from the labels on the parents of the ith node within the same layer. Essentially, this construction iterates the basic DAG encoding of the data inputs ` times (treating each layer as an independent DAG) rather than performing a long key derivation. The labels in any layer can be used to recover the labels in the preceding layer. Furthermore, the decoding step can be done in parallel. c1 c2 c3 c4 c5 d1 d2 d3 d4 d5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 Stacked DRGs c1 c2 c3 c4 c5 d1 d2 d3 d4 d5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 ZigZag DRGs Figure 1.1: The topologies of the stacked DRGs and ZigZag DRGs are depicted with 3 layers and 5 nodes per layer. Red edges are the DRG edges and blue edges are expander edges. The blue edges in ZigZag DRGs are the same as in Stacked DRGs but projected into the layers. Blue edges in ZigZag DRGs are reversed every other layer while red edges are redefined by reversing the order of the nodes. Dashed edges correspond to encoding instead of hashing dependencies. In the PoS on Stacked DRGs the prover computes a labeling of the graph and stores the labels on the nodes in green. In the PoRep on ZigZag DRGs each labeling on a layer encodes the previous layer and the prover stores only the encoding labels of the green nodes. Contents 1 Introduction 1 1.1 Related work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Summary of Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2 Preliminaries 7 2.1 Proof of Retrievable Commitment . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2 Proofs of Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3 Proofs of Replication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.4 Graph pebbling games . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.5 Verifiable Delay Encodings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.6 Depth Robust Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 6 2.7 Expander graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3 Stacked DRG Proof of Space 21 3.1 Review of the Stacked-Expander PoS . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.2 A tight PoS from stacked DRGs . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4 “ZigZag” DRG Proof of Replication 30 4.1 ZigZag PoRep Construction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.2 Invertible pebbling games . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.3 PoS analysis of ZigZag PoRep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 A Concurrent work: PIEs 41 B Stacked DRGs with Superconcentrators 44 C Mixing Data Labels in Stacked DRGs with Expanders 48 2 Preliminaries 2.1 Proof of Retrievable Commitment A proof-of-retrievability (PoR) is an interactive proof system in which a verifier sends a file F to a prover, retains a compact verification key, and later obtains a compact proof that prover can retrieve F intact. The compactness requirement excludes trivial solutions, such as sending the full file F back to the verifier or requiring the verifier to retain F . They were introduced in [8,23] and further developed in [12,17,37]. An important security property of PoR is that the verifier can extract and recover the file F through sufficiently many successful challenge-response queries to the prover. A proof-of-retrievability (PoR) [12,17,23,37], or the related proof-of-data-possession (PDP) [8], is an interactive protocol that enables a prover to convince a verifier that it can retrieve the correct contents of a prespecified file without incurring costly communication. The file is first preprocessed by a client who publishes a data tag. The verifier does not need to store the file and only retains the short data tag for verification. In a private-key PoR the verifier needs to also know the private-key used to generate the data tag whereas in a public-key PoR the verification can be performed by anyone without access the private-key. Crucially, the prover cannot learn the private-key as otherwise this compromises the PoR/PDP security. PoR security is distinct from PDPs because it requires that there is a public extraction algorithm that can actually extract the contents of the file through sufficiently many repeated interactions with the prover. A simple public PoR can be constructed from a Merkle commitment (i.e. a Merkle tree over the blocks of the file). The verifier need only retain the Merkle commitment root. To verify that the prover is still storing a (1 − Îľ) fraction of the committed file blocks it queries for a randomly selected constant number of blocks. The prover then responds with the blocks and Merkle inclusion proofs for each. This public PoR is distinct from both public-key and private-key PoRs in that it is keyless and thus there is no secret key for the prover to potentially compromise. This is a stronger form of public verifiability. Another way to describe this protocol is as a proof-of-retrievable-commitment (PoRC) [19], i.e. a publicly verifiable proof that the prover can retrieve the contents of a committed file. The 7 security of a PoRC does not rely on any client preprocessing. In fact, this technique is used ubiquitously in interactive proofs, including proofs of space, CS proofs [29], and more generally interactive oracle proofs (IOPs) [10]. Note that without erasure codes this is only a proof that a (1− Îľ) fraction of the file blocks can be retrieved. This is a special case of a (1− Îľ, C)-PoRC, where C is a set cover of the committed data, and the protocol guarantees that a (1− Îľ) fraction of the sets (in this case blocks) can be retrieved. The PoRC based on a Merkle commitment can be more generally constructed from any vector commitment (VC) [13,27], which is a compact commitment to a vector of m values (x1, ..., xm) that can be opened at any index with a succinct opening proof. A VC is position binding in the sense that each ith position can only be opened to a unique value xi. This makes VCs distinct from set commitments (e.g cryptographic accumulators), which only guarantee that membership in the set can be verified. Merkle trees have O(logm) size opening proofs and there exist VCs that trade larger public parameters for constant size opening proofs [13,26]. Similar to a PoR, the soundness of a PoRC is defined in terms of a public extraction algo- rithm. An important distinction is that the public extraction algorithm does not require a key to extract the data. Without going into the details of the security definition, a PoRC scheme is a Âľ-sound (1 − Îľ)-PoRC if for any adversary passing the PoRC protocol with probability Âľ there is a public extraction algorithm that can rewind the online adversary on challenges and ultimately extract a (1− Îľ) fraction of the blocks of the file. 2.2 Proofs of Space A (persistent) proof of space (PoS) [18] is an interactive proof between and prover and verifier in which the prover can only succeed if it persistently stores some advice of a minimum size. There is an “offline” phase in which the prover generates this advice and outputs a compact tag to the verifier. This is followed by an “online” phase where the verifier challenges the prover and the prover uses its advice to generate a response. Formally, the PoS interactive protocol involves three protocols: 1. Setup The setup runs on security parameters Îť and outputs public parameters pp for the scheme. The public parameters are implicit inputs to the next two protocols. 2. Initialization is an interactive protocol between a prover P and verifier V that run on shared input (id,N). P outputs ÎŚ and S, where S is its storage advice and ÎŚ is a compact O(polylog(N)) string given to the verifier. 3. Execution is an interactive protocol between P and V where P runs on input S and V runs on input ÎŚ. V sends challenges to P , obtains back a proof π, and outputs accept or reject. The correctness and security requirements are as follows. Efficiency. The commitment ÎŚ isO(polylog(N)) size and the verifier runs in timeO(polylog(N)). Completeness. The prover succeeds with probability 1 (causes verifier to accept) if it follows the protocol honestly. 8 Soundness. The PoS is (s, t, Âľ)-sound if any for all adversaries P ∗ running in time t and storing advice of size s during Execution passes verification with probability at most Âľ = negl(Îť). The PoS is parallel (s, t, Âľ)-sound if P ∗ may run in parallel time t. 2.3 Proofs of Replication We review the syntax of a PoRep scheme from [19]. PoRep operates on arbitrary dataD ∈ {0, 1}∗ of up to O(poly(Îť)) size for a given security parameter Îť. 1. PoRep.Setup(Îť, T ) → pp is a one-time setup that takes in a security parameter Îť, time parameter T , and outputs public parameters pp. T determines the challenge-response period. 2. PoRep.Preproc(sk,D)→ D̃, τD is a preprocessing algorithm that may take a secret key sk along with the data input D and outputs preprocessed data D̃ along with its data tag τD, which at least includes the size N = |D| of the data. The preprocessor operates in keyless mode when sk = ⊥ . 3. PoRep.Replicate(id, τD, D̃)→ R, aux takes a replica identifier id and the preprocessed data D̃ along with its tag τD. It outputs a replica R and (compact) auxilliary information aux which will be an input for the Prove and Verify procedures. (For example, aux could contain a proof about the replication output or a commitment). 4. PoRep.Extract(pp, id,R)→ D̃ on input replica R and identifier id outputs the data D̃. 5. PoRep.Prove(R, aux, id, r)→ π on input replica R, auxilliary information aux, replica iden- tifier id, and challenge r, outputs a proof πid. 6. PoRep.Poll(aux)→ r: This takes as input the auxiliary replica information aux and outputs a public challenge r. 7. PoRep.Verify(id, τD, r, aux, π) → {0, 1} on input replica identifier id, data tag τD, public challenge r, auxilliary replication information aux, and proof π it outputs a decision to accept (1) or reject (0) the proof. PoRep interactive protocol The PoRep interactive protocol is illustrated in Figure 1. The setup (whether a deterministic, trusted, or transparent public setup) is run externally and pp is given as an input to all parties. For each file D, a preprocessor (a special party or the prover when operating in keyless mode, but not the verifier) runs (D̃, τD) ← PoRep.Preproc(sk,D). The outputs D̃, τD are inputs to the prover and τD to the verifier. Îľ-Rational Replication An ideal security goal for PoRep protocols would be to guarantee that any prover who simultaneously passes verification in k distinct PoRep protocols (under k distinct identities) where the input to PoRep.Replicate is a file Di in the ith protocol must be storing k independent replicas, one for each Di, even if several of the files are identical. Formally, “storing k independent replicas” means that the file can be partitioned into k independent blocks (or more generally substrings) such that each block encodes the file and there is a universal decode algorithm that can decode the file independently from each block. 9 Prover Verifier Replication Phase 1 : R, aux←R PoRep.Replicate(id, τD, D̃) id, aux Challenge-Response Phase 2 : r ←R PoRep.Poll(aux) r 3 : π ←R PoRep.Prove(R, aux, id, r) id, π 4 : b←R PoRep.Verify(id, τD, r, aux, π) Figure 2.1: The PoRep interactive protocol is depicted above. The setup and data preprocessing is run externally generating pp and D̃, τD. The challenge-response protocol is timed, and the verifier rejects any response that is received more than T time steps after sending the challenge. This is formally captured by requiring PoRep.Prove to run in parallel time at most T . A PoRep protocol is a special case of a PoS protocol where Initialization is the Replication Phase and Execution is the challenge-response phase. We call this a k-replication of a file. Unfortunately, this security property is impossible to achieve. An adversary can easily “sabotage” its replication storage, e.g. by encrypting it with a key and storing the key separately. This still allows the adversary to decode the original string quickly and otherwise interact with the verifier in exactly the same way. Instead, a rational model of security is defined in [19]. This security model, called Îľ-rational replication roughly says that a PoRep is a Âľ-sound Îľ-rational replication if for any adversary passing the protocol with probability Âľ there is an “equivalent” adversary who passes with at least the same probability and store a k-replication of the file without incurring more than a 1/(1−ε) storage overhead (i.e. the adversary saves at most an Îľ fraction of its storage by deviating from a k-replication strategy). The security model also accounts for auxiliary information that the adversary might be storing and ensures that the “equivalent” adversary can still extract all the same information from its storage including data unrelated to the PoRep protocol. Proof of space and PoRC A PoRep is implicitly a publicly verifiable proof of space (Sec- tion 2.2). A prover t";"""date"",""2018-08-16T00:28:02Z"" ""pdf:PDFVersion"",""1.5"" ""pdf:docinfo:title"",""Tight Proofs of Space and Replication"" ""xmp:CreatorTool"",""LaTeX with hyperref package"" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""subject"","""" ""language"",""en"" ""dc:format"",""application/pdf; version=1.5"" ""pdf:docinfo:creator_tool"",""LaTeX with hyperref package"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"",""Tight Proofs of Space and Replication"" ""modified"",""2018-08-16T00:28:02Z"" ""cp:subject"","""" ""pdf:docinfo:subject"","""" ""pdf:hasMarkedContent"",""false"" ""pdf:docinfo:creator"",""Ben Fisch"" ""PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.16 (TeX Live 2015) kpathsea version 6.2.1"" ""meta:author"",""Ben Fisch"" ""trapped"",""False"" ""meta:creation-date"",""2018-08-16T00:28:02Z"" ""created"",""2018-08-16T00:28:02Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2018-08-16T00:28:02Z"" ""resourceName"",""702.pdf"" ""Author"",""Ben Fisch"" ""producer"",""pdfTeX-1.40.16"" ""pdf:docinfo:producer"",""pdfTeX-1.40.16"" ""pdf:unmappedUnicodeCharsPerPage"",""5"",""11"",""1"",""14"",""27"",""1"",""1"",""5"",""1"",""5"",""5"",""6"",""1"",""7"",""1"",""4"",""26"",""12"",""11"",""8"",""9"",""23"",""6"",""48"",""55"",""118"",""80"",""75"",""61"",""73"",""11"",""10"",""10"",""10"",""19"",""80"",""118"",""102"",""18"",""0"",""0"",""5"",""34"",""2"",""6"",""39"",""48"",""16"" ""Keywords"","""" ""access_permission:modify_annotations"",""true"" ""dc:creator"",""Ben Fisch"" ""dcterms:created"",""2018-08-16T00:28:02Z"" ""Last-Modified"",""2018-08-16T00:28:02Z"" ""dcterms:modified"",""2018-08-16T00:28:02Z"" ""title"",""Tight Proofs of Space and Replication"" ""Last-Save-Date"",""2018-08-16T00:28:02Z"" ""pdf:docinfo:keywords"","""" ""pdf:docinfo:modified"",""2018-08-16T00:28:02Z"" ""meta:save-date"",""2018-08-16T00:28:02Z"" ""pdf:docinfo:custom:PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.16 (TeX Live 2015) kpathsea version 6.2.1"" ""Content-Length"",""873677"" ""Content-Type"",""application/pdf"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"",""Ben Fisch"" ""dc:subject"","""" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""48"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""2551"",""3255"",""3419"",""3054"",""3399"",""1585"",""2520"",""2523"",""2392"",""1946"",""2774"",""2803"",""2354"",""2234"",""2658"",""2460"",""2389"",""2471"",""2176"",""1912"",""2929"",""3023"",""2792"",""3177"",""2474"",""2803"",""2111"",""2382"",""2133"",""2254"",""2529"",""3212"",""2913"",""3063"",""2908"",""1833"",""2338"",""2175"",""1841"",""2730"",""2718"",""3257"",""3340"",""2013"",""3067"",""3163"",""2956"",""2987"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""pdf:docinfo:trapped"",""False"" ""meta:keyword"","""" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2018-08-16T00:28:02Z"" ";https://scholar.google.com/scholar?start=780&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094544-667;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[PDF][PDF] The New ICO Intermediaries;V Villanueva Collao, V Winship ; Italian LJ, 2019 HeinOnline;;"… promoters ask participants to send funds (often in cryptocurrency) to a smart contract, which is … architecture that makes certain terms self-executing.4 Smart contracts built on blockchain were, at … has shifted to include retail investors as well.7 During the 2018 crypto exploit, retail …";Cité 5 fois;Les 5 versions;[PDF] heinonline.org;https://heinonline.org/hol-cgi-bin/get_pdf.cgi?handle=hein.journals/italj5§ion=39&casa_token=T7YwpBErNEYAAAAA:GdLfk-R8itAxKW89df8uoYM-18PcZ1HYi4kMiDJuFZIpnAP8SGAw_1oeyPDsXJMEa666agg;" ";"""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""REFRESH"",""1; url=https://heinonline.org/HOL/Page?handle=hein.journals/italj5&div=39&g_sent=1&casa_token=T7YwpBErNEYAAAAA:GdLfk-R8itAxKW89df8uoYM-18PcZ1HYi4kMiDJuFZIpnAP8SGAw_1oeyPDsXJMEa666agg"" ""Content-Encoding"",""UTF-8"" ""resourceName"",""get_pdf.cgi"" ""language"","""" ""Content-Type"",""text/html; charset=UTF-8"" ";https://scholar.google.com/scholar?start=480&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094562-743;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[PDF][PDF] Automatic Contracts and the Automatic Stay;A Rosenberg ; American Bankruptcy Institute Journal, 2019 mrthlaw.com;;"… in some of their vehicles, albeit for other applications.18 If GPS/SIDs are used to enforce blockchain-based smart … to Smart-Contract Issues One way to prevent an inadvertent stay violation is through the use of oracles — more specifically, an oracle that references the …";Cité 2 fois;Les 3 versions;[PDF] mrthlaw.com;http://www.mrthlaw.com/wp-content/uploads/2019/07/feature1_07-19.pdf;;;https://scholar.google.com/scholar?start=560&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094593-878;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Smart Contracts aus Sicht des Vertragsrechts-Funktionsweise, Anwendungsfälle und Leistungsstörungen;L Müller, R Seiler ; Aktuelle Juristische Praxis, 2019 alexandria.unisg.ch;;"… N 10 ff.; Bundesrat, DLT (FN 3), 23 f.; PHILIPP HACKER/CHRIS THOMALE, Crypto-Securities Regulation … zuzugreifen, welche sich auf der Blockchain befinden.48 Um externe Informationen in die Blockchain einzuspeisen, werden sogenannte Smart Oracles einge- setzt …";Cité 3 fois;Les 3 versions;[PDF] unisg.ch;https://www.alexandria.unisg.ch/256729/1/MUELLER_SEILER_AJP%2003_2019_S.317-328.pdf;" 317 S m a r t C o n t r a c t s a u s S i c h t d e s V e r t r a g s r e c h t s AJP/PJA 3/2019 Smart Contracts aus Sicht des Vertragsrechts Funktionsweise, Anwendungsfälle und LeistungsstĂśrungen Smart Contracts lassen sich als automatisierbare, durchsetzbare digi- tale Abbildungen von Obligationen umschreiben, welche mittels Block- chain-Technologie einen automatischen ErfĂźllungsprozess vorsehen. In diesem Beitrag werden potenzielle Anwendungsbereiche von Smart Contracts besprochen, zu denen insbesondere standardisierbare, län- gerfristige Geschäftsbeziehungen oder die Abwicklung von Kaufverträ- gen gehĂśrt. Die Technologie, auf der Smart Contracts basieren, birgt dabei gewisse rechtliche Herausforderungen. Smart Contracts dienen als Ergänzung zur Standardisierung bestehender Vertragsverhältnisse und rufen daher nur wenige Probleme im Vertragsrecht hervor. Wichtig ist es, das System der LeistungsstĂśrungen bereits bei der Gestaltung der Smart Contracts zu berĂźcksichtigen. Falls die rechtlichen Vorgaben adäquat berĂźcksichtigt werden, kĂśnnen operative Risiken, insbesonde- re LeistungsstĂśrungen, minimiert werden. InhaltsĂźbersicht I. Smart Contracts im Überblick A. Blockchain und Smart Contracts 1. Präzisierung des Begriffs ÂŤSmart ContractÂť 2. Funktionsweise und AnwendungsmĂśglichkeiten von Smart Contracts B. Die Nutzung von Smart Contracts 1. Smart Contracts in der Lebensmittel industrie 2. Smart Oracles als Verbindung der Smart Contracts mit der Aussenwelt II. Rechtliches Grundverständnis im Umgang mit Smart Contracts A. Smart Contracts und Verträge im rechtlichen Sinn B. Vertragsabschluss und Leistungs erfĂźllung III. LeistungsstĂśrungen bei der Nutzung von Smart Contracts A. Selbstdurchsetzung und Unveränderlichkeit der Smart Contracts B. LeistungsstĂśrungsrecht bei Smart Contracts 1. LeistungsunmĂśglichkeit 2. Positive Vertragsverletzungen 3. Verzug im Falle von Smart Contracts IV. Fazit und Ausblick I. Smart Contracts im Überblick A. Blockchain und Smart Contracts Die britische Wochenzeitung ÂŤThe EconomistÂť hat 2015 der Blockchain-Technologie das Potenzial zugesprochen, die Funktionsweise der globalen Wirtschaft massgeblich beeinflussen zu kĂśnnen.1 Smart Contracts werden hierbei als eine verheissungsvolle Anwendung der Blockchain gesehen.2 Ob sich diese hohen Erwartungen erfĂźllen, wird sich indes erst noch zeigen. Derzeit stellt sich die Frage, wie Smart Contracts und deren angedachte Nutzung im geltenden Recht einzuordnen sind.3 Aus technischer Sicht sind Smart Contracts grundsätz- lich als Software auf Basis der Blockchain zu verstehen.4 Sobald bestimmte im Programmcode definierte Bedin- 1 ÂŤThe trust machineÂť, The Economist vom 31.10.2015, Internet: https://www.economist.com/news/leaders/21677198-technology- behind-bitcoin-could-transform-how-economy-works-trust-machine (Abruf 6.2.2019). 2 Karen e. c. LeVy, Book-Smart, Not Street-Smart: Blockchain- Based Smart Contracts and The Social Workings of Law, Engaging Science, Technology, and Society 2017, 1 ff., 3. 3 Siehe Bericht des Bundesrates vom 14.12.2018, ÂŤRechtliche Grundlagen fĂźr Distributed Ledger Technologie und Blockchain in der SchweizÂť (zit. Bundesrat, DLT), passim. 4 micha roon, Schlichtung und Blockchain, Anwaltsrevue 2016, 359 ff., 361. Les smart contracts (contrats intelligents) peuvent ĂŞtre dĂŠcrits comme des reprĂŠsentations numĂŠriques automatisables et exĂŠcutoires d’obli- gations prĂŠvoyant un processus d’exĂŠcution automatique au moyen d’une technologie de type blockchain. Cet article traite des champs d’application potentiels des smart contracts, parmi lesquels on compte notamment les relations d’affaire standardisables et Ă  long terme ou encore l’exĂŠcution de contrats de vente. La technologie sur laquelle les smart contracts sont basĂŠs prĂŠsente certains dĂŠfis juridiques. Les smart contracts servent de complĂŠment Ă  la standardisation de rela- tions contractuelles prĂŠexistantes et ne soulèvent donc que peu de problèmes dans le droit des contrats. Il est important de prendre en compte le système des perturbations de performance lors de la concep- tion des smart contracts. Pourvu que les prescriptions lĂŠgales soient adĂŠquatement respectĂŠes, les risques opĂŠrationnels, notamment les perturbations de performance, peuvent ĂŞtre minimisĂŠs. Lukas mĂźLLer* reto seiLer** * LuKas mĂźLLer, Prof. Dr. oec. HSG, Rechtsanwalt, lic. iur., LL.M., MA UZH, Assistenzprofessor fĂźr Wirtschaftsrecht mit Schwerpunkt Gesellschaftsrecht, Institut fĂźr Finanzwissenschaft, Finanzrecht und Law and Economics (IFF-HSG), Universität St. Gallen. ** reto seiLer, B.A. HSG in Rechtswissenschaft mit Wirtschafts- wissenschaften. Buch_AJP_03_2019.indb 317 01.03.19 10:41 318 L u k a s M Ăź l l e r / R e t o S e i l e r AJP/PJA 3/2019 griffs ÂŤSmart ContractÂť vermuten liesse, ist der Begriff nicht wĂśrtlich zu verstehen.12 Einerseits bedarf es nicht zwingend einer Intelligenz, wie es die im Zusammen- hang mit der Industrie 4.0 geläufige Bezeichnung ÂŤsmartÂť implizieren kĂśnnte. Auf der anderen Seite ist ein Smart Contract nicht einfach mit einem Vertrag im juristischen Sinne gleichzusetzen.13 Zudem wird der Begriff oftmals unscharf verwendet,14 was auch den unterschiedlichen Nuancierungen in der konkreten technischen Ausgestal- tung von Smart Contracts geschuldet ist.15 Smart Contracts lassen sich im weitesten Sinne als eine mit Datenquellen verknĂźpfte Software auf Basis der Blockchain beschreiben, welche die darin veranker- ten vertraglichen Rechte und Pflichten bei ErfĂźllung be- stimmter Bedingungen selbstständig vollzieht.16 Smart Contracts zeichnen sich durch die Eigenschaft aus, Trans- aktionen als Konsequenz erfĂźllter Bedingungen automa- tisch und ohne menschlichen Einfluss zu vollziehen.17 Der Inhalt mĂśglicher Transaktionen, die von einem Smart Contract ausgefĂźhrt werden, hängt entscheidend vom zugrunde liegenden Begriffsverständnis ab. Smart Contracts im weiteren Sinne sind in der Lage, traditionel- le Transaktionen wie eine Kreditkartenzahlung auszulĂś- sen. Die Vorteile der Smart Contracts werden hingegen erst mit der (rechtlichen und faktischen) VerfĂźgungs- macht Ăźber digitale VermĂśgenswerte und Daten – etwa 12 Vgl. reggie o’shieLds, Smart Contracts: Legal Agreements for the Blockchain, North Carolina Banking Institute Journal 2017, 177 ff., 178 m.w.H.; pauLus/matzKe (FN 6), 432 ff. 13 KauLartz/hecKmann (FN 6), 618 f.; meyer/schuppLi (FN 5), 208. 14 Siehe hierzu auch diedrich (FN 5), 166. 15 Jaccard (FN 11), N 9. 16 martin Fries, Smart Contracts: Brauchen schlaue Verträge noch Anwälte?, AnwBl 2018, 86 ff., 86; KauLartz/hecKmann (FN 6), 618; siehe zu weiteren ähnlichen Definitionen: WaLter bLo- cher, The next big thing: Blockchain – Bitcoin – Smart Contracts, AnwBl 2016, 618 ff., 618; bettina mieLKe/christian WoLFF, E-Justice, Justiz 3.0 und Legal Tech – eine Analyse, Jusletter IT vom 18.5.2017, N 49; christoph simmchen, Blockchain (R) Evolution – VerwendungsmĂśglichkeiten und Risiken, MMR 2017, 162 ff., 164. 17 diedrich (FN 5), 167. gungen erfĂźllt sind, vollziehen Smart Contracts automa- tisch vorprogrammierte Prozesse.5 Smart Contracts sollen Transaktionskosten und Risi- ken im Rahmen der VertragserfĂźllung minimieren.6 Un- ternehmen identifizieren beispielsweise in Logistikpro- zessen Potenzial fĂźr Effizienzsteigerungen dank Smart Contracts.7 Ungeachtet der damit verbundenen Chancen birgt die Technologie rechtliche Herausforderungen, etwa im Kontext des Vertragsrechts,8 weshalb sich eine nähere Analyse anbietet.9 DiesbezĂźglich eignet sich eine Betrachtung der Lebensmittelindustrie, da die Logis- tik – beispielsweise durch Sicherstellung der lĂźckenlosen KĂźhlkette und der Einhaltung der Haltbarkeitsdaten – wesentlichen Einfluss auf die Qualität der Produkte hat. Analoge Überlegungen lassen sich bei Spezialtransporten in der Medizin oder in der Finanzindustrie beim Handel und bei der Übertragung von Wertpapieren sowie anderen VermĂśgenswerten anstellen.10 1. Präzisierung des Begriffs ÂŤSmart ContractÂť Eine einheitliche Definition des Smart Contracts konnte sich bisher nicht etablieren,11 weshalb es einer Präzisie- rung des Begriffs bedarf. Anders als der Wortlaut des Be- 5 henning diedrich, Ethereum: Blockchains, Digital Assets, Smart Contracts, Decentralized Autonomous Organizations, Lon- don 2016, 167; stephan d. meyer/benediKt schuppLi, ÂŤSmart ContractsÂť und deren Einordnung in das schweizerische Vertrags- recht, recht 2017, 204 ff., 208. 6 marKus KauLartz/JĂśrn hecKmann, Smart Contracts – Anwen- dungen der Blockchain-Technologie, CR 2016, 618 ff., 618; daVid pauLus/robin matzKe, Smart Contracts und das BGB – Viel Lärm um nichts?, ZfPW 2018, 431 ff., 432 ff. 7 Etwa die Smart Containers Group, Internet: https://smartcontain ers.ch/en/about.html (Abruf 6.2.2019), oder Ambrosus, Internet: https://ambrosus.com/de/ (Abruf 6.2.2019). 8 aLexander saVeLyeV, Contract law 2.0: ÂŤSmartÂť contracts as the beginning of the end of classic contract law, Information & Com- munications Technology Law 2017, 116 ff., 128. 9 Zu einigen rechtlichen Herausforderungen siehe beispielsweise marKus KauLartz: Die Blockchain-Technologie – HintergrĂźnde zur Distributed Ledger Technology und zu Blockchains, CR 2016, 474 ff.; christoph g. pauLus/robin matzKe, Digitalisierung und private Rechtsdurchsetzung – Relativierung der Zwangsvoll- streckung durch smarte IT-LĂśsungen?, CR 2017, 769 ff. 10 Vgl. Bundesrat, DLT (FN 3), 29; christoph g. pauLus/robin matzKe, Smart Contracts und Smart Meter – Versorgungssperre per Fernzugriff, NJW 2018, 1905 ff., diskutieren zudem die Leis- tungsnutzung und -abrechnung von Strom oder Kommunikations- medien mittels Smart Meter und Smart Contract. 11 Vgl. gabrieL Jaccard, Smart Contracts and the Role of Law, Jus- letter IT vom 23.11.2017, N 9; diedrich (FN 5), 166; vgl. Kau- Lartz/hecKmann (FN 6), 618; in IT-Kreisen wird der Begriff häu- fig als Schlagwort genutzt, weshalb bei der Betrachtung von Smart Contracts jeweils eine klare Definition erforderlich ist. Buch_AJP_03_2019.indb 318 01.03.19 10:41 319 S m a r t C o n t r a c t s a u s S i c h t d e s V e r t r a g s r e c h t s AJP/PJA 3/2019 Software, Tondateien oder Bilder18 – ausgeschĂśpft.19 Aus diesem Grund kategorisieren Vertreter einer engen Defi- nition Formen, welche Transaktionen im traditionellen Sinn auslĂśsen, bloss als elektronische Verträge, da Smart Contracts – dem restriktiven Verständnis folgend – aus- schliesslich Ăźber digitale Daten auf der Blockchain ver- fĂźgen kĂśnnen.20 Zurzeit schränkt ein solcher Ansatz die potenziellen Anwendungsbereiche allerdings entschei- dend ein, weshalb in diesem Beitrag – auch zugunsten einer Vereinfachung – einem weitergehenden Verständnis des Begriffs ÂŤSmart ContractÂť gefolgt wird. Dementspre- chend lassen sich Smart Contracts als automatisierbare, durchsetzbare digitale Abbildungen von Obligationen de- finieren, welche durch Software auf Basis der Blockchain automatisiert werden und mittels (relativ) manipulations- sicherer AusfĂźhrung des Codes durchsetzbar sind.21 Ver- einfacht formuliert handelt es sich bei Smart Contracts um auto matisierte Geschäftsabläufe und Rechtsvorgänge.22 Im Gegensatz zu vereinzelten ausländischen Jurisdik- tionen ist der Begriff ÂŤSmart ContractÂť im Gesetz noch 18 Auch Messdaten oder Software sind als digitale Daten zu verstehen und kĂśnnten gemäss der Meinung von ecKert de lege lata gar als Sachen qualifiziert werden, vgl. hierzu martin ecKert, Digita- le Daten als Wirtschaftsgut: Digitale Daten als Sache, SJZ 2016, 245 ff., 247 f. Der sachenrechtlich zwingende Numerus clausus der dinglichen Rechte steht jedoch einer Qualifikation von digitalen Daten als Sache entgegen; vgl. LuKas mĂźLLer/miLena reut- Linger/phiLippe J. a. Kaiser, Entwicklungen in der Regulierung von virtuellen Währungen in der Schweiz und der Europäischen Union, EuZ 2018, 80 ff., 87; gemäss Bundesrat, DLT (FN 3), 47, sei kein allgemeines Eigentumsrecht an Daten mĂśglich, sondern lediglich mit verschiedenen Instrumenten eine eigentumsähnliche Position an Daten vermittelbar. 19 diedrich (FN 5), 168. 20 Vgl. hierzu saVeLyeV (FN 8), 127. 21 Vgl. christopher d. cLacK/ViKram a. baKshi/Lee braine, Smart Contract Templates: foundations, design landscape and re- search directions, 2016, Internet: https://arxiv.org/pdf/1608.00771. pdf (Abruf 6.2.2019), 2: Die darin vorgeschlagene Definition ist weit gefasst, da ein solches Verständnis nicht zwingend eine au- tomatische ErfĂźllung vorsieht, vgl. hierzu max rasKin, The Law and Legality of Smart Contracts, Georgetown Law Technology Re- view 2017, 305 ff., 311; saVeLyeV (FN 8), 127. 22 Vgl. pauLus/matzKe (FN 6), 431 ff. Des Weiteren wird der Be- griff des Smart Contracts gelegentlich in ÂŤSmart Contract CodeÂť und ÂŤSmart Legal ContractsÂť unterteilt. Smart Contract Code um- schreibt den Code, welcher auf der Blockchain gespeichert wird. Smart Legal Contracts hingegen beschreiben die konkreten An- wendungen, wie Verträge in Code ausgedrĂźckt und implementiert werden kĂśnnen, vgl. JOSH STARK, Making Sense of Blockchain Smart Contracts, coindesk vom 4.6.2016, Internet: https://www. coindesk.com/making-sense-smart-contracts/ (Abruf 6.2.2019); cLacK/baKshi/braine (FN 21), 2; meyer/schuppLi (FN 5), 207. Im Folgenden soll der Begriff des Smart Contracts aufgrund der besseren Verständlichkeit sowohl Smart Contract Code als auch Smart Legal Contracts umfassen. nicht explizit geregelt. Die US-Bundesstaaten Arizona, Delaware und Nevada haben jedoch Smart Contracts bereits gesetzlich ausdrĂźcklich erfasst, um die Rahmen- bedingungen zur Nutzung festzusetzen.23 Exemplarisch wird in der Gesetzgebung Arizonas die rechtliche GĂźl- tigkeit und Durchsetzbarkeit von Smart Contracts fest- gehalten.24 DiesbezĂźglich stellt sich die Frage, ob es im Schweizer Recht ebenfalls einer ausdrĂźcklichen gesetzli- chen Regelung bedarf. Aufgrund der technologieneutra- len Konzeption des Schweizer Rechts scheint prima facie der Anwendung bestehender Normen auf Smart Contracts grundsätzlich nichts im Wege zu stehen. Inwiefern dies zu Herausforderungen fĂźhrt, wird nachfolgend erläutert. 2. Funktionsweise und AnwendungsmĂśglich- keiten von Smart Contracts Grundlage der Smart Contracts ist die Blockchain-Tech- nologie. Es existieren verschiedene Formen von Block- chain-Anwendungen, die jeweils unterschiedliche Funk- tionalitäten aufweisen. Die bekannte Bitcoin-Blockchain fokussiert sich beispielsweise einzig auf die Zahlungsab- wicklung mittels Bitcoins.25 2015 wurde sodann mit der EinfĂźhrung der Ethereum-Blockchain die Basis fĂźr die AusfĂźhrung komplexerer Programme auf einer Block- chain entwickelt.26 Die Kernfunktion von Smart Contracts liegt darin, Parteivereinbarungen auf der Blockchain aufzuzeichnen und anschliessend die hierfĂźr notwendigen Transaktionen automatisch auszufĂźhren, sobald bestimmte, vordefinierte Bedingungen erfĂźllt sind.27 Der programmierte Inhalt des Smart Contracts wird mittels Blockchain grundsätzlich unveränderlich. Hinzu tritt die selbstständige Durchset- zung der LeistungserfĂźllung als zweites entscheidendes Wesens merkmal.28 23 Vgl. gayLe m. hyman/mattheW p. digesti, New Nevada le- gislation recognizes Blockchain and Smart Contract Technologies, Nevada Lawyer 2017, 13 ff., 13. 24 Arizona Revised Statutes, § 44-7061. 25 diedrich (FN 5), 27 f.; LuKas mĂźLLer/thomas stoLtz/ tobias a. KaLLenbach, Liberierung des Aktienkapitals mittels Kryptowährung – Eignen sich Bitcoins und andere Kryptowährun- gen zur Kapitalaufbringung?, AJP 2017, 1319 ff. 26 Kristian LausLahti/Juri mattiLa/timo seppäLä, Smart Contracts – How will Blockchain Technology Affect Contractual Practices?, ETLA Report 2017, Internet: https://www.etla.fi/wp- content/uploads/ETLA-Raportit-Reports-68.pdf (Abruf 6.2.2019), 12 m.w.H. 27 LeVy (FN 2), 3. 28 KauLartz/hecKmann (FN 6), 619; siehe zum Inhalt und zur Funktionsweise der grundsätzlich unveränderbaren Daten ausfĂźhr- lich roon (FN 4), 360 ff. Buch_AJP_03_2019.indb 319 01.03.19 10:41 320 L u k a s M Ăź l l e r / R e t o S e i l e r AJP/PJA 3/2019 Die Unveränderlichkeit und Sicherheit, die sich aus der Blockchain-Technologie in Kombination mit der selbstständigen Durchsetzung ergeben kann, soll dabei das in herkĂśmmlichen Verträgen notwendige gegenseitige Vertrauen der Parteien ergänzen oder ersetzen, wodurch Märkte erschlossen werden kĂśnnten, in denen es bisher aufgrund des mangelnden Vertrauens kaum zu Vertrags- abschlĂźssen kommen konnte.29 Ebenso ist der Einsatz von Smart Contracts als Ersatz von Escrow-Agenten mĂśglich, wie dies bereits in einer internationalen Immobilientrans- aktion erfolgte.30 Nichtsdestotrotz birgt die Funktionsweise von Smart Contracts Risiken, denn die grundsätzliche Unveränder- lichkeit setzt das fehlerlose Programmieren von Smart Contracts voraus. Das ist bei zunehmender Komplexität des vorgesehenen Inhalts indes kaum zu erreichen.31 Dies zeigt sich besonders im Zusammenhang mit sogenann- ten DAOs (ÂŤdecentralized autonomous organisationsÂť), welche sich aus verschiedenen, miteinander verknĂźpften Smart Contracts zusammensetzen und so in der Lage sein sollen, funktionierende Geschäftsmodelle zu automati- sieren.32 Ein Beispiel zur Veranschaulichung der Risiken ist ÂŤThe DAOÂť, ein auf der Basis von Smart Contracts agierender Investmentfonds, dem aufgrund eines Pro- grammierfehlers USD 50 Millionen entwendet werden konnten.33 Die NutzungsmĂśglichkeiten von Smart Contracts sind auf digital abbildbare Transaktionen beschränkt.34 Man denke dabei etwa an den Verkauf von digitalen Daten wie Bildern oder Musikdateien oder anderen VermĂśgenswer- ten mithilfe eines Smart Contracts. Vertragsverhältnisse, die notwendigerweise eine physische Handlung in der ErfĂźllung voraussetzen, kĂśnnen allerdings nicht unmittel- 29 Siehe zu der mĂśglichen Chance, neue Märkte durch den Einsatz von Smart Contracts zu schaffen, diedrich (FN 5), 173; LuKas mĂźLLer, Der Bitcoin- und Blockchain-Goldrausch, AJP 2018, 680 f. 30 Vgl. andreas gLarner/stephan d. meyer, Smart Contracts in Escrow-Verhältnissen, Jusletter vom 4.12.2017, N 4 f. m.w.H. 31 Lee bacon/george bazinas, ÂŤSmart ContractsÂť: The Next Big Battleground?, Jusletter IT vom 18.5.2017, n 11. 32 meLanie sWan, Blockchain: blueprint for a new economy, Peking 2015, 24 f.: Als Beispiel zu nennen wäre die Cloud-Speicherplatt- form Storj, Internet: https://storj.io/ (Abruf 6.2.2019); eLeonor gyr, Dezentrale Autonome Organisation DAO, Jusletter vom 4.12.2017, N 1 ff. 33 Siehe zum Fall ÂŤThe DAOÂť bacon/bazinas (FN 31), N 10 ff.; Bundesrat, DLT (FN 3), 23 f.; phiLipp hacKer/chris thomaLe, Crypto-Securities Regulation: ICOs, Token Sales and Cryptocur- rencies under EU Financial Law, European Company and Financial Law Review 2018, 645 ff., 647 ff. 34 KauLartz/hecKmann (FN 6), 619 f. bar in einem Smart Contract abgebildet und automatisiert werden.35 Mit zunehmender Verbreitung vernetzter Gegenstände (des sogenannten ÂŤInternet of ThingsÂť bzw. ÂŤIoTÂť) er- Ăśffnen sich zukĂźnftig neue Anwendungsfälle.36 Vielfach handelt es sich bei den angedachten EinsatzmĂśglichkei- ten jedoch um blosse Konzepte, die zunächst einer funk- tionierenden Umsetzung bedĂźrfen. Die Anwendung von Smart Contracts erscheint dort sinnvoll, wo ein hoher Grad an Automatisierung erzielt werden kann und deshalb standardisierte Smart Contracts genutzt werden kĂśnnen, etwa im Handel oder in der Verwaltung von Finanzinst- rumenten.37 Der Smart Contract kĂśnnte etwa den Handel von Aktien und die Verwaltung damit verbundener Rechte (etwa Dividendenzahlungen, AusĂźbung der Stimmrech- te, Meldung des Erwerbs von vinkulierten Namenaktien) Ăźbernehmen. Denkbar ist eine Anwendung derweil auch in standardisier- und automatisierbaren Vertriebsketten, wie nachfolgend am Beispiel der Lebensmittelindustrie näher darzulegen ist. Aus betriebswirtschaftlicher Sicht sollten Smart Con- tracts insbesondere Effizienzgewinne erzielen, die aus der automatisierten Transaktionsabwicklung und durch den Verzicht auf Intermediäre erreicht werden sollen.38 Da- von kĂśnnte etwa der globale Handel, Versicherungen oder Compliance-Abteilungen profitieren.39 Aber auch die Übertragung von VermĂśgenswerten mithilfe von Smart Contracts kĂśnnte ein Thema werden.40 Obwohl die Transaktionskosten durch den Verzicht auf Intermediäre im Rahmen der VertragserfĂźllung in ge- wissen Fällen abnehmen, kann nicht zwangsläufig davon ausgegangen werden, dass der Smart-Contract-Einsatz eine Vertragsbeziehung tatsächlich Ăśkonomisch effizien- ter macht. Insbesondere die erforderliche Infrastruktur 35 eLiza miK, Smart contracts: terminology, technical limitations and real world complexity, Law, Innovation and Technology 2017, 269 ff., 298. 36 LeVy (FN 2), 3. 37 Siehe dazu das Beispiel der Smart Contract Templates: cLacK/ baKshi/braine (FN 21), 6 ff. 38 Vgl. diedrich (FN 5), 171: Intermediäre kĂśnnten in Zukunft der- weil neue Aufgaben Ăźbernehmen wie die Verwaltung der erforder- lichen Technologie zum Betrieb von Smart Contracts. 39 Vgl. hierzu WEF, The future of financial infrastructure, Financial Services Series 2016, Internet: https://www.weforum.org/reports/ the-future-of-financial-infrastructure-an-ambitious-look-at-how- blockchain-can-reshape-financial-services (Abruf 6.2.2019), 39 ff. 40 Siehe zur Übertragung von Asset-backed-Token auf der Block- chain hans caspar Von der crone/Franz J. KessLer/Luca angstmann, Token in der Blockchain – privatrechtliche Aspekte der Distributed Ledger Technologie, SJZ 2018, 337 ff., 345; siehe zu den zivilrechtlichen Grundlagen der Übertragung von Token auf der Blockchain ausfĂźhrlich Bundesrat, DLT (FN 3), 47 ff. Buch_AJP_03_2019.indb 320 01.03.19 10:41 321 S m a r t C o n t r a c t s a u s S i c h t d e s V e r t r a g s r e c h t s AJP/PJA 3/2019 und die aufwendigere Vertragsgestaltung fĂźhren – zumin- dest in einem Anfangsstadium und solange nur wenig Er- fahrung vorhanden ist – zu nicht unerheblichen Kosten.41 Des Weiteren kĂśnnten die Wartungsarbeiten fĂźr die Soft- ware ein zusätzlicher wichtiger Kostenpunkt werden.42 Ein weiteres Risiko besteht darin, dass Smart Contracts automatisiert massenweise die gleiche Transaktionsstruk- tur abwickeln sollen. Falls ein Programmfehler lange un- erkannt bleibt, kĂśnnten die Folgen eines Fehlers ebenfalls im Massengeschäft auftauchen und damit erhebliche Aus- wirkungen haben. Das bedeutet, dass der Smart Contract besonders sorgfältig konzipiert werden muss. B. Die Nutzung von Smart Contracts 1. Smart Contracts in der Lebensmittel- industrie Die Lebensmittelindustrie ist aus verschiedenen GrĂźnden ein sinnvolles Einsatzgebiet fĂźr Smart Contracts. Einer- seits wird im Supply-Chain-Management bewusst auf eine Effektivitäts- und Effizienzsteigerung abgezielt und andererseits begĂźnstigt die Häufigkeit ähnlicher Transak- tionen eine potenzielle Verwendung von Smart Contracts. Dies scheint auch deshalb mĂśglich, weil vielverspre- chende Ansätze der Technologie bereits vorhanden sind. So sollen die mit Sensoren ausgestatteten Container der Unternehmung FoodGuardians mithilfe der Blockchain- Technologie eine ständige Überwachung der im Laufe der Vertriebskette wesentlichen Parameter wie der Tem- peratur oder der Feuchtigkeit ermĂśglichen.43 Die laufende Überwachung und Qualitätskontrolle ist in der Lebens- mittellogistik zentral, da verderbliche Lebensmittel bei unsachgemässer Distribution nicht nur ein Thema fĂźr (rechtliche) LeistungsstĂśrungen sind, sondern auch die Gesundheit der Konsumenten schädigen kĂśnnen. Eine weitere Integration von Smart Contracts in die WertschĂśpfungskette zeigt das Unternehmen Ambrosus 41 Siehe hierzu saVeLyeV (FN 8), 127. 42 Im Zusammenhang mit den Ăźblicherweise hohen Unterhaltskosten eines IT-Systems wird davon ausgegangen, dass die Nutzung der Blockchain-Technologie diese Kosten durch die zusätzliche Effi- zienz in der Abwicklung reduzieren kann, wie es am Beispiel einer mĂśglichen Nutzung der Blockchain durch das Medicaid Manage- ment Information System (kurz ÂŤMMISÂť) der USA vorgebracht wird; siehe hierzu daVid randaLL/pradeep goeL/ramzi abu- Jamra, Blockchain Applications and Use Cases in Health Informa- tion Technology, Journal of Health & Medical Informatics 2017, 2. 43 Siehe hierzu FoodGuardians, Technology, Internet: https://foodgu- ardians.ch/technology.html (Abruf 6.2.2019). auf.44 Im Kern geht es um ein Blockchain-gestĂźtztes IoT- Netzwerk, welches gemäss selbsterklärter Absicht neue Massstäbe im Supply-Chain-Management setzen soll.45 Das dezentralisierte Protokoll mit dem Namen AMB-NET soll mithilfe von Sensoren in der Lage sein, die wichtigs- ten Informationen Ăźber Lebensmittel in Echtzeit zu sam- meln.46 Diese Daten sind der SchlĂźssel fĂźr eine mĂśgliche Anwendung von Smart Contracts, die gemäss Angaben von Ambrosus im AMB-NET programmiert werden und mithilfe der Inputs der Sensoren automatisch vordefinier- te Handlungsprozesse auslĂśsen kĂśnnen.47 In bestimmten Fällen kĂśnnten Smart Contracts in der Lebensmittel industrie sinnvoll eingesetzt werden. Ein vereinfachtes Beispiel soll im Folgenden eine potenzielle Anwendung aufzeigen: Im Rahmen der Produktion von Fleischerzeugnissen kĂśnnen im Verarbeitungsprozess be- reits die lebenden Tiere gekennzeichnet und entsprechen- de Daten erhoben sowie verifiziert werden. So wĂźrde die artgerechte Haltung nach den gesellschaftlich erwĂźnsch- ten Standards dokumentiert und von unabhängigen Stel- len geprĂźft werden. Im Zuge der Fleischverarbeitung wĂźrden die Produkte verpackt und gekennzeichnet wer- den. Während der Belieferung der Grosshändler zeichnen Sensoren in den Transportcontainern jegliche Temperatur- schwankungen auf. Nun kommen Smart Contracts ins Spiel. Wenn im Lager eines Lebensmittelgeschäfts durch die entsprechenden Aufzeichnungen ein Mangel an ei- nem bestimmten Produkt erkannt wird, kann ein Smart Contract automatisch eine Bestellung beim Grosshändler auslĂśsen, woraufhin unmittelbar die entsprechende Be- stellung im Grosslager fraktioniert und versendet wird. Gleichzeitig Ăźberwachen Sensoren die gesamte Wert- schĂśpfungskette. Bei einer Unterbrechung der KĂźhlket- te oder bei einem Verstoss gegen Tierschutzvorschriften kĂśnnte beispielweise die Annahme der via Smart Contract bestellten Ware automatisch rechtlich und tatsächlich ver- hindert werden. Dabei wird offensichtlich, wie wichtig die Schnittstellen zur physischen Welt, etwa die ange- sprochenen Sensoren, tatsächlich sind. Sie werden in der Fachsprache als ÂŤSmart OraclesÂť bezeichnet und sind fĂźr Smart Contracts von grosser Bedeutung. 44 Vgl. hierzu Ambrosus, Internet: https://ambrosus.com/ (Abruf 6.2.2019). 45 Siehe hierzu Ambrosus, Mission, Internet: https://ambrosus.com/ de/#mission (Abruf 6.2.2019). 46 Siehe hierzu Ambrosus, Sensoren, Internet: https://ambrosus.com/ de/#sensors (Abruf 6.2.2019). 47 Siehe hierzu Ambrosus, blockchain protocols, Internet: https://am brosus.com/de/#blockchain_protocols (Abruf 6.2.2019). Buch_AJP_03_2019.indb 321 01.03.19 10:41 322 L u k a s M Ăź l l e r / R e t o S e i l e r AJP/PJA 3/2019 2. Smart Oracles als Verbindung der Smart Contracts mit der Aussenwelt Smart Contracts sind per definitionem nur fähig, auf In- formationen zuzugreifen, welche sich auf der Blockchain befinden.48 Um externe Informationen in die Blockchain einzuspeisen, werden sogenannte Smart Oracles einge- setzt. Sie ermĂśglichen den Informationsaustausch mit Quellen ausserhalb der Sphäre von Smart Contracts.49 So kĂśnnen die zuvor angesprochenen Sensoren etwa die Temperatur der Lebensmittel während des Transports auf- zeichnen oder andere als relevant definierte Daten erfas- sen.50 Der Nutzen solcher Smart Oracles liegt im Wesentli- chen in ihrer Fähigkeit, einen entsprechenden Smart Con- tract mit den notwendigen Informationen zu versorgen. Entdeckt ein Temperatursensor eine Unterbrechung der KĂźhlkette, wird der Smart Contract in der Lage sein, diese Information zu verwerten und entsprechende Massnah- men auszulĂśsen. In einem solchen Fall wäre eine automa- tische, mittels Smart Contract vorgenommene MängelrĂź- ge denkbar.51 Wenn von einer externen Quelle Informationen auf den Smart Contract einwirken, ist es wichtig, deren Au- thentizität zu gewährleisten. DiesbezĂźglich besteht auf der Blockchain die MĂśglichkeit, entsprechende Prozesse zu implementieren, um festzustellen, ob die Information von der dafĂźr vorgesehenen Stelle stammt.52 Gerade in solchen Fallkonstellationen, welche der Gefahr einer ein- seitigen Beeinflussung der entsprechenden Smart Oracles ausgesetzt sind, scheint es angebracht, Sicherungsprozes- se einzusetzen, um ein bestimmtes Mass an Vertrauen in 48 diedrich (FN 5), 188. 49 Siehe hierzu diedrich (FN 5), 187 f.; christoFF graFF/mat- thias zscherp/heLmut stoiber, Plattform sicherheit – Smart Contracts und TPM, Frankfurt 2015, 7. 50 Vgl. zum Beispiel zu den Sensoren in modernen Fahrzeugen, die Daten aufzeichnen und weiterleiten kĂśnnen, hans rudoLF trĂźeb, Smart Contracts, in: Pascal Grolimund et al. (Hrsg.), Fest- schrift fĂźr Anton K. Schnyder zum 65. Geburtstag, ZĂźrich/Basel/ Genf 2018, 723 ff., 730; auch ausserhalb der Lebensmittelindust- rie sind verschiedene Anwendungen von Smart Oracles denkbar, beispielsweise die Meldung eines Zahlungseingangs auf einem be- stimmten Konto oder das Erzielen eines vordefinierten Quorums an einer Abstimmung, siehe hierzu andreas Furrer, Die Einbettung von Smart Contracts in das schweizerische Privatrecht, Anwaltsre- vue 2018, 103 ff., 103; vgl. WiLLiam mougayar, The Business Blockchain, Promise, Practice, and Application of the Next Internet Technology, Hoboken 2016, 44 f. 51 Siehe zur Veranschaulichung der Funktionsweise von Smart Con- tracts im Zusammenspiel mit Smart Oracles ferner tim sWanson, Great Chain of Numbers, A Guide to Smart Contracts, Smart Pro- perty, and Trustless Asset Management, San Francisco 2014, 61. 52 Siehe hierzu ausfĂźhrlich Furrer (FN 50), 104. Smart Oracles gewährleisten zu kĂśnnen.53 Insgesamt birgt die VerknĂźpfung mit der physischen Welt stets ein Risiko fĂźr die automatische ErfĂźllung des Smart Contracts, da es die Fehleranfälligkeit erhĂśht.54 II. Rechtliches Grundverständnis im Umgang mit Smart Contracts A. Smart Contracts und Verträge im rechtlichen Sinn Der Vertrag als zweiseitiges Rechtsgeschäft ist ein wich- tiges Gestaltungsmittel im Rahmen der Privatautonomie des Vertragsrechts.55 Gemäss Art. 1 OR bedarf es Ăźberein- stimmender gegenseitiger Willenserklärungen, um einen Vertrag zu schliessen.56 Smart Contracts sind allerdings nicht mit herkĂśmmlichen Verträgen im juristischen Sin- ne gleichzusetzen und kĂśnnen grundsätzlich unabhängig von der Blockchain oder vom Programmcode existieren.57 Ebenso entsprechen sie nicht einfach einem digitalen Vertragsdokument, welches die Parteien in Ăźbereinstim- mender Auffassung in Programmiersprache aufsetzen. Vielmehr kĂśnnen sie als AusfĂźhrung der Vertragsverein- barung – im Sinne einer Abbildung des Vertragswillens mittels Programmcode – verstanden werden.58 Der Vertragsinhalt bleibt vom Smart Contract und vom jeweiligen Inhalt auf der Blockchain grundsätzlich unab- hängig. Im Regelfall bestimmt der Vertragsinhalt eben- falls den Vertragstyp; der Smart Contract ist als solches fĂźr den Vertragsschluss grundsätzlich nicht notwendig.59 Eine Ausnahme hierzu besteht, wenn der Smart Contract als Offerte qualifiziert. In diesem Fall kann die Annah- meerklärung mit dem Smart Contract abgegeben werden. Ein Vertrag ist somit grundsätzlich – mangels anderslau- tender Abmachung – immer noch gĂźltig, selbst wenn der 53 Vgl. hierzu gLarner/meyer (FN 30), N 37 m.w.H. 54 meyer/schuppLi (FN 5), 209; miK (FN 35), 299. 55 peter gauch/WaLter r. schLuep/JĂśrg schmid, Schweizeri- sches Obligationenrecht, Allgemeiner Teil Band I, 10. A., ZĂźrich/ Basel/Genf 2014, N 612; aLFred KoLLer, Schweizerisches Obli- gationenrecht, Allgemeiner Teil, 4. A., Bern 2017, § 3 n 1. 56 Vgl. BSK OR I-zeLLWeger-gutKnecht/bucher, Art. 1 N 1 ff., in: Heinrich Honsell";"""date"",""2019-03-13T12:55:54Z"" ""pdf:PDFVersion"",""1.6"" ""xmp:CreatorTool"",""Adobe InDesign CC 13.1 (Macintosh)"" ""pdf:docinfo:title"",""Buch_AJP_03_2019.indb"" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""language"",""de"" ""dc:format"",""application/pdf; version=1.6"" ""pdf:docinfo:creator_tool"",""Adobe InDesign CC 13.1 (Macintosh)"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"",""Buch_AJP_03_2019.indb"" ""xmp:CreateDate"",""2019-03-01T10:41:22Z"" ""modified"",""2019-03-13T12:55:54Z"" ""pdf:hasMarkedContent"",""true"" ""xmp:ModifyDate"",""2019-03-13T13:55:54Z"" ""trapped"",""False"" ""meta:creation-date"",""2019-03-01T09:41:22Z"" ""created"",""2019-03-01T09:41:22Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2019-03-01T09:41:22Z"" ""resourceName"",""MUELLER_SEILER_AJP%2003_2019_S.317-328.pdf"" ""xmpMM:DerivedFrom:DocumentID"",""xmp.did:03c7268d-c64d-4a84-b89f-0c79bd7eb575"" ""GTS_PDFXVersion"",""PDF/X-4"" ""producer"",""Adobe PDF Library 15.0"" ""pdf:docinfo:producer"",""Adobe PDF Library 15.0"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""pdf:docinfo:custom:GTS_PDFXVersion"",""PDF/X-4"" ""access_permission:modify_annotations"",""true"" ""dcterms:created"",""2019-03-01T09:41:22Z"" ""Last-Modified"",""2019-03-13T12:55:54Z"" ""dcterms:modified"",""2019-03-13T12:55:54Z"" ""title"",""Buch_AJP_03_2019.indb"" ""xmpMM:DocumentID"",""xmp.id:3339e351-0c38-4684-bcc0-3a4f7a090b9f"" ""Last-Save-Date"",""2019-03-13T12:55:54Z"" ""pdf:docinfo:modified"",""2019-03-13T12:55:54Z"" ""meta:save-date"",""2019-03-13T12:55:54Z"" ""Content-Length"",""1056052"" ""Content-Type"",""application/pdf"" ""xmp:MetadataDate"",""2019-03-13T13:55:54Z"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""pdf:producer"",""Adobe PDF Library 15.0"" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""12"" ""pdf:hasXMP"",""true"" ""pdf:charsPerPage"",""4606"",""5257"",""5828"",""5577"",""5190"",""5447"",""5327"",""4959"",""5197"",""5116"",""5179"",""1798"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""pdf:docinfo:trapped"",""False"" ""xmpMM:DerivedFrom:InstanceID"",""xmp.iid:cd47a0e1-b851-4eb4-a57a-9b59d24a9a99"" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2019-03-01T09:41:22Z"" ";https://scholar.google.com/scholar?start=690&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094654-1137;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Digital transformation of airline management as the basis of innovative development;A Sukhorukov, N Koryagin, J Sulyagina… ; International Scientific …, 2019 Springer;;"… As the analysis of the table shows, at present the majority of airlines use information systems of manufacturers (SAP, Microsoft and Oracle), however, 1C: ERP is gaining more and more popularity in Russia … Distributed ledger technology (Blockchain). Quantum technology …";Cité 5 fois;Les 3 versions;null;;;;https://scholar.google.com/scholar?start=950&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094640-1072;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[PDF][PDF] On the Impossibility of Structure-Preserving Deterministic Primitives;M Abe, J Camenisch, R Dowsley, M Dubovitskaya ; Journal of Cryptology, 2019 Springer;;"… The non-interactive versions of generalized Schnorr protocols are secure only in the random oracle model, as they are obtained via the Fiat–Shamir heuristic [32], and it is well known that random oracles cannot be instantiated securely [25,36] …";Cité 1 fois;Les 4 versions;[PDF] springer.com;https://idp.springer.com/authorize/casa?redirect_uri=https://link.springer.com/content/pdf/10.1007/s00145-018-9292-1.pdf&casa_token=pY-QoSKJA3YAAAAA:Guc6tS836DTQPso_XP67evL0a6xOHJsxiKy0CcXEZQ4SjLAWG5Acfix0yBJSvvoYSayLoO5uZhf7GFQ;;;https://scholar.google.com/scholar?start=890&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094665-1176;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Can blockchain solve the hold-up problem for shared databases?;C Barrera, S Hurder ; Prysm White Paper May, 2019 papers.ssrn.com;;"Page 1. Can Blockchain Solve the Hold-Up Problem for Shared Databases? Dr. Cathy Barrera? Dr. Stephanie Hurder … tion partners. Blockchain can provide the economic structure for organizations to enter shared databases without fear of being victim to the hold-up problem …";Cité 3 fois;;null;;;;https://scholar.google.com/scholar?start=420&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094621-1000;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Uma Visăo De Futuro Para Adoçăo De Smart Contracts Em M&A (A Future Vision for the Adoption of Smart Contracts in M&A);D Schechtman ; Available at SSRN 3430795, 2019 papers.ssrn.com;;"… “Ripple CEO: Facebook libra cryptocurrency push makes me happy” … 7 O principal exemplo é a iniciativa Hyperledger, descrita oficialmente conforme segue: “Hyperledger is an open source collaborative effort created to advance cross-industry blockchain technologies …";Cité 1 fois;;null;;;;https://scholar.google.com/scholar?start=810&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094569-772;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[LIVRE][B] R3 Corda for Architects and Developers: With Case Studies in Finance, Insurance, Healthcare, Travel, Telecom, and Agriculture;D Mohanty ;2019 books.google.com;;"… 70 Vault.....70 Oracles.....70 Project … and Perfect Money in 2007 were all crypto or digital … Chapter 1 Barter to BloCkChain Note While all these currencies are …";Cité 7 fois;Les 4 versions;null;;;;https://scholar.google.com/scholar?start=590&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094565-752;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Digital Solidarity: Contracting in the Age of Smart Contracts;F Ghodoosi ; Available at SSRN 3449674, 2019 papers.ssrn.com;;"… 38 The future effectiveness of the blockchain is also dependent on the reliability of Oracle-type blockchain platform for uncontroversial cases. Oracles “feed the smart contract with external information that can trigger” actions by smart contracts, Blockchain Oracles …";Cité 1 fois;;null;;;;https://scholar.google.com/scholar?start=570&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094633-1048;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[CITATION][C] Testing Smart Contract;A D'Arco;;;null;Autres articles;;null;;;;https://scholar.google.com/scholar?start=860&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094656-1148;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Biased nonce sense: Lattice attacks against weak ECDSA signatures in cryptocurrencies;J Breitner, N Heninger ; … Conference on Financial Cryptography and Data …, 2019 Springer;;"… References. 1. The most repeated r value on the blockchain (2015) … https://en.bitcoin.it/wiki/ Address_reuse. 3. Akavia, A.: Solving hidden number problem with one bit oracle and advice. In: Halevi, S. (ed.) CRYPTO 2009. LNCS, vol. 5677, pp. 337–354 …";Cité 32 fois;Les 7 versions;[PDF] nsf.gov;https://par.nsf.gov/servlets/purl/10174436;" Biased Nonce Sense: Lattice Attacks against Weak ECDSA Signatures in Cryptocurrencies Joachim Breitner1[0000−0003−3753−6821] and Nadia Heninger2 1 DFINITY Foundation, Zug, joachim@dfinity.org 2 University of California, San Diego, nadiah@cs.ucsd.edu Abstract. In this paper, we compute hundreds of Bitcoin private keys and dozens of Ethereum, Ripple, SSH, and HTTPS private keys by carrying out cryptanalytic attacks against digital signatures contained in public blockchains and Internet-wide scans. The ECDSA signature algorithm requires the generation of a per-message secret nonce. If this nonce is not generated uniformly at random, an attacker can potentially exploit this bias to compute the long-term signing key. We use a lattice- based algorithm for solving the hidden number problem to efficiently compute private ECDSA keys that were used with biased signature nonces due to multiple apparent implementation vulnerabilities. Keywords: Hidden number problem, ECDSA, Lattices, Bitcoin, Crypto 1 Introduction The security of the ECDSA signature algorithm relies crucially on the proper generation of a per-signature nonce value that is used as an ephemeral private key. It is well known that if an ECDSA private key is ever used to sign two messages with the same signature nonce, the long-term private key is trivial to compute.[18,7,37,13,11,8] Repeated nonce values are not the only type of bias that can render an ECDSA key insecure, however. In fact, many types of nonuniformities in the ECDSA signature nonces can reveal the private key, given sufficiently many signatures. In this paper, we carry out lattice-based cryptanalytic attacks against ECDSA signatures collected from the Bitcoin, Ethereum, and Ripple blockchains as well as Internet-wide scans of HTTPS and SSH hosts, and efficiently compute hundreds of Bitcoin private keys and a handful of Ethereum and SSH private keys. As a side effect, we also find numerous Bitcoin, Ethereum, Ripple, SSH, and HTTPS private keys that were compromised through repeated signature nonces. The lattice attacks we apply are based on algorithms for solving the hidden number problem. [6] While the hidden number problem is a popular tool in the cryptanalytic literature for recovering private keys based on side channel attacks [5,14], to our knowledge we are the first to apply these techniques to already-generated keys in the wild, and the first to observe that these techniques may apply to signatures in cryptocurrencies. In total, we computed around 300 2 Joachim Breitner and Nadia Heninger Bitcoin keys with these techniques. As of this writing, 818,975 satoshis, or around $54, and 30.40 XRP, or about $14, remain in Bitcoin and Ripple accounts whose keys we were able to compute, suggesting that these flaws do not yet appear to be known, or else the funds would have already been stolen. The attacks we use are significantly faster than naive brute force or the state of the art algorithms for the elliptic curve discrete log problem. Using a square root-time algorithm like Pollard rho [28], one could feasibly carry out a targeted attack against a small number of the 64-bit or 128-bit nonces we discovered; carrying out this attack against all of the approximately 230 signatures in the Bitcoin blockchain would have required significantly more computational resources than we have access to. In contrast, we spent around 40 CPU-years total on our computations, implemented in Python, for all of the blockchains. The nonce vulnerabilities fall into several classes that suggest that we have found several independent implementation vulnerabilities. We first use the hidden number problem algorithm to discover the long-term ECDSA signature key when used with nonces that are shorter than expected, and found keys used with nonces with lengths 64 bits, 110 bits, 128 bits, and 160 bits. We extend this technique to discover nonces with shared prefixes and suffixes, and found keys used with signature nonces that shared prefixes and varied in their 64 least significant bits, as well as keys used with signature nonces that shared suffixes and varied in their 128 and 224 most significant bits. Ethics. We are unable to validate the existence of these vulnerabilities without actually computing the private keys for vulnerable addresses. In the case of cryptocurrencies, these keys give us, or any other attacker, the ability to claim the funds in the associated accounts. In the case of SSH or HTTPS, these keys would give us, or any other attacker, the ability to impersonate the end hosts. We did not do so, and in the course of our research we did not carry out any cryptocurrency transactions or active attacks ourselves; our research is entirely passive, and requires only observation of transactions or general-purpose network measurements. However, given that we find evidence that other attackers are already emptying the accounts of cryptocurrency users whose keys are revealed through known vulnerabilities (both repeated nonces and private keys posted online), we anticipate that users will be affected once knowledge of this flaw becomes public. We have attempted to disclose flaws to the small number of parties we were able to identify, but in most cases we were unable to identify any particular vendors, maintainers, or users to responsibly disclose to. Countermeasures. All of the attacks we discuss in this paper can be pre- vented by using deterministic ECDSA nonce generation [29], which is already implemented in the default Bitcoin and Ethereum libraries. 2 Related Work The Hidden Number Problem and ECDSA. The Hidden Number Problem and the lattice-based algorithm we used to solve it were formulated by Boneh and Venkatesan, who used it to prove the hardness of computing most significant Biased Nonce Sense 3 bits for Diffie-Hellman [6]. Howgrave-Graham and Smart [19] and Nguyen and Shparlinski [26] applied the hidden number problem to show that the DSA and ECDSA signature schemes are insecure if an attacker can learn some most significant bits of the signature nonces. Since then, this technique has been applied in practice in the context of side-channel attacks [5,14]. Repeated DSA/ECDSA signature nonces. A number of works have examined vulnerabilities in DSA and ECDSA due to repeated signature nonces in the wild. Heninger, Durumeric, Wustrow, and Halderman [18] compromised SSH host keys for 1% of SSH hosts in 2012 by searching for repeated DSA signature nonces from SSH handshakes. They traced the problems primarily back to implementation vulnerabilities in random number generation on low-resource devices. Bos, Halderman, Heninger, Moore, Naehrig, and Wustrow [7] documented repeated nonces in the Bitcoin blockchain in 2013, as part of a broader study of elliptic curve cryptography use. Valsorda studied repeated Bitcoin nonces in 2014 [37]. Courtois, Emirdag, and Valsorda [13] studied repeated Bitcoin nonces in 2014 and noted that it would be possible to chain compromises across keys. Castellucci and Valsorda studied repeated nonces and variants of weak keys and nonces repeated across keys in Bitcoin in 2016 [11]. Brengel and Rosow examined repeated nonces within signatures from the same key and chained compromised nonces across signatures from different keys in the Bitcoin blockchain in 2018 [8]. Key generation issues in cryptocurrencies. In 2013, a major bug in Android SecureRandom was blamed for the theft of Bitcoin from many users of Android wallets, due to the faulty random number generators generating repeated ECDSA signature nonces [20,22]. In 2015, the Blockchain.info Android application was discovered to be generating duplicate private keys because the application was seeding from random.org, which had started serving a 403 Redirect to their https URL several months prior [35]. Cryptocurrency cryptanalysis. The Large Bitcoin Collider is a project that is searching for Bitcoin private keys using an apparently linear brute force search algorithm [30] that has searched up to a 54 bit key space. For public keys that are already revealed, it would be more efficient to use square root discrete log algorithms [28,34] to recover short private keys of this type, but we are unaware of any dedicated efforts in this direction. 3 The elliptic curve digital signature algorithm (ECDSA) The public domain parameters for an elliptic curve digital signature include an elliptic curve E over a finite field and a base point G of order n on E. The private signing key is an integer d modulo n, and the public signature verification key is a point Q = dG. Elliptic curve public keys can be represented in uncompressed form by providing both the x and y coordinates of the public point Q, or in compressed form by providing the x coordinate only and a single parity bit from the y value. [9] To sign a message hash h, the signer chooses a per-message random integer k modulo n, computes the point kG, and then computes the values (xr, yr) = 4 Joachim Breitner and Nadia Heninger kG mod n, and outputs r = xr and s = k−1(h+ dr) mod n. The signature is the pair (r, s). To verify a message hash using a public key Q, the verifier computes (x′ r, y ′ r) = hs−1G+ rs−1Q and verifies that x′ r ≡ r mod n. If the bit length ` of the curve is shorter than the bit length of the hash function used to compute h, h is truncated to its ` most significant bits prior to the calculation. [25] 3.1 ECDSA in cryptocurrencies. Bitcoin [23], Ethereum [10], and Ripple [33] all use the elliptic curve secp256k1 [9]. A Bitcoin address is derived from a public key by repeatedly hashing the un- compressed or compressed ECDSA public key with SHA-256 and RIPEMD-160. An Ethereum address is the last 20 bytes of the Keccak-256 hash of the un- compressed ECDSA public key, where Keccak-256 is an early version of the SHA-3 standard. Ethereum public keys are not explicitly included along with the signature; instead, the signature includes an additional byte v that allows the public key to be derived from the signature. A Ripple address is derived from a compressed public key by repeatedly hashing with SHA-256 and RIPEMD-160, and concatenating portions of the hashes. For the purposes of the analysis in our paper, in all of these cryptocurrencies the ECDSA public key is only revealed after an address has been used to sign a transaction. Bitcoin and Ripple explicitly reveal the ECDSA public key in uncompressed or compressed format along with a signature; in Ethereum, clients must derive the public key from the signature itself using key recovery. ECDSA signatures are used to authenticate the sending party of a transaction. Addresses can be single signature, corresponding to a single public key, or multisignature addresses, which require valid signatures from k out of a set of n public keys in order to spend money from a transaction. Users are typically recommended to use a fresh new address for every transaction [2]. Signature normalization. ECDSA signatures have the property that both the signatures (r, s) and (r,−s) will validate with the same public key. In October 2015, Bitcoin introduced a change in the signing procedure to use the smaller of s and −s mod n in a signature in order to make signatures unique.3 Ethereum and Ripple also do this type of signature normalization, which affects our attack. 3.2 ECDSA in network protocols. ECDSA signatures can also be used in other network protocols. In TLS, every certificate is signed either by a certificate authority or is self-signed. Most of these signatures remain RSA signatures in practice. However, when ephemeral Diffie-Hellman key exchange is chosen as part of the cipher suite in TLS 1.2 and below, the server signs its portion of the the key exchange, and the client uses the public key in the certificate to validate this signature [16]. In SSH, every host has a host key that it uses to sign the entire handshake between client and server [38]. The client authenticates the server by verifying the signature with the host public key. 3 https://github.com/bitcoin-core/secp256k1/commit/0c6ab2ff Biased Nonce Sense 5 3.3 Elementary attacks on ECDSA If an attacker learns the per-message nonce k used to generate an ECDSA signature, the long-term secret key d is easy to compute as d = (sk−h)r−1 mod n. It is also well known that if the same nonce k is used to sign two different messages h1 and h2 with the same secret key, then the secret key is revealed. Let (r1, s1) be the signature generated on message hash h1, and (r2, s2) be the signature on message hash h2. We have immediately that r1 = r2, since r1 = r2 = x(kG). Then we can compute k = (h1 − h2)(s1 − s2) −1 mod n, and recover the secret key as above. 4 Lattice Attacks on ECDSA The signature nonce k must also be generated uniformly at random modulo n. If only a subset of the possible values module n are produce as nonces, techniques for solving the hidden number problem can be used to solve for the secret key d. 4.1 The hidden number problem. In the hidden number problem as formulated by Boneh and Venkatesan [6], there is a secret integer Îą modulo a public prime p, and one is given information about the most significant bits of multiples tiÎą mod p, where the ti are generated at random and known to the attacker. In other words, one is given m pairs of integers {(ti, ai)}mi=1 such that tiα− ai mod p = bi with |bi| < B for some B < p. One can reformulate this problem as seeking a solution x1 = b1, x2 = b2, . . . , xm = bm, y = Îą to the underconstrained system of linear equations x1 − t1y + a1 ≡ 0 mod p ... xm − tmy + am ≡ 0 mod p (1) There are two techniques used to solve this problem in the literature. The first uses lattice-based techniques [6,19,26] to solve this system in the case of M =          p p . . . p t1 t2 . . . tm B/p a1 a2 . . . am B          (2) larger biases and fewer samples (up to around 100 in practice, with B several bits smaller than p), and the second uses Fourier anal- ysis [3,15] and is more suitable with many samples (at least 232) and very small bias. In this paper, we focus on the former technique, which is better suited to the limited number of signatures we encounter in the wild. To solve the hidden number problem us- ing lattices, consider the lattice generated by the rows of matrixM in Equation (2). The m×m upper left quadrant is a slightly rescaled version of the lattice given by Boneh and Venkatesan, who suggest using a CVP algorithm to find a vector that 6 Joachim Breitner and Nadia Heninger is close to the target, which is the (m+ 1)st row in our lattice basis. The most efficient implementations of lattice algorithms are SVP approximation algorithms, so we follow [5] in embedding this lattice basis into a slightly larger one and using an SVP approximation algorithm instead. The vector vb = (b1, b2, . . . , bm, BÎą/p,B) is a short vector generated by the rows of Equation (2), and by construction |vb| < √ m+ 2B. When |vb| ≤ detL1/ dimL, we hope to recover vb among the short vectors of a reduced basis for the lattice generated by M . We have detM = B2pm−1 and dimM = m+2. The LLL [21] or BKZ [31,32] lattice basis reduction algorithms can be used to find short vectors in this lattice. In practice on random lattices, the LLL algorithm will find a vector satisfying |v| ≤ 1.02dimL(detL)1/ dimL in polynomial time [27]. The performance of BKZ depends on the block size, and will in time exponential in the block size β find vectors |v| ≤ (1 + Îľ)dimL β (detL)1/ dimL where ξβ depends on the block size, but ξβ = 0.01 is achievable in practice [12]. In this paper, we focus on relatively small dimension lattices, so that the approximation factor of LLL or BKZ is largely insignificant. In this case, we expect to solve the problem when logB ≤ blog p(m− 1)/m− (logm)/2c. 4.2 Optimizations. There are two further optimizations that should be applied to this attack. The first is that in the case of most significant bits known, the value bi is always positive, and thus one can increase the bias by recentering the bi by writing each equation as x′ i − tiy + am +B ≡ 0 mod p which has a solution x′ i = bi −B. The second improvement is to decrease the dimension of the lattice by one by eliminating the variable y from Equations (1) so that one has m− 1 equations in m unknowns, all bounded. 4.3 Implicit prefixes. We are also interested in the case where the bi share an identical prefix, or in other words, that they share most significant bits when viewed as an integer between 0 and p, but we do not know this prefix. That is, the input to the problem is samples {ti, ai}mi=1 satisfying bi + c+ ai ≡ tiÎą mod p, with |bi| < B and 0 ≤ c < p is unknown. We can reduce this problem to the previous problem with m − 1 samples by using one of the samples to eliminate the unknown c. That is, we solve the hidden number problem with input {t′i = ti − tm]}m−1 i=1 , a′i = ai − am, and the desired solutions b′i = bi − bm satisfy |b′i| ≤ 2B. 4.4 Implicit suffixes. The technique described in Section 4.3 can also be adapted to solve for bi that share an identical suffix, that is, that they share least significant bits when viewed as an integer between 0 and p. More precisely, the input to our problem in this case is samples {ti, ai}mi=1 satisfying 2`bi + c+ ai ≡ tiÎą mod p, with 0 ≤ bi < B, Biased Nonce Sense 7 0 ≤ c < p unknown, and 2`B ≤ p. We can reduce this problem to the case of shared prefixes by multiplying each sample by 2−` mod n, so that our rescaled input is samples {2−`ti, 2 −`ai}mi=1 satisfying bi + 2−`c+ 2−`ai ≡ (2−`ti)Îą mod p, where |bi| < B and 2−`c is still unknown. At this point this is precisely the case of shared prefixes, so we may use the hidden number problem algorithm to solve the case of m− 1 samples generated as {t′i = 2−`(ti − tm) mod n}m−1 i=1 , a′i = 2−`(ai−am) mod n, and the desired solutions b′i = bi− bm satisfy |b′i| ≤ 2B. 4.5 Breaking ECDSA with the hidden number problem To attack ECDSA with biased k values using the hidden number problem [19,26], note that each signature (ri, si) on hi satisfies ki − s−1 i rid− s−1 i hi ≡ 0 mod n (3) If the ki are all small (|ki| < B) or share a common prefix or suffix, then this is precisely our setting for the hidden number problem variants we describe above, with ki = bi, Îą = d, p = n, and si, ri, and hi public per signature. We construct the input to our problem by hypothesizing that a set of signatures contains one of the vulnerabilities necessary to carry out the attacks described in Sections 4.1, 4.3, or 4.4, construct the corresponding lattice, and apply a lattice basis reduction algorithm. For each candidate solution for ki, we compute the value dki = (siki−hi)r −1 i mod n, and compare dki G to the public key or address. Experimentally, we found that for a 256-bit n, our case of interest for secp256k1, we were able to recover the private key from two signatures with 128- bit nonces by reducing a 3-dimensional lattice with 75% probability, from three signatures with 170-bit nonces with a 4-dimensional lattice with 95% probability, from 4 samples with 190-bit nonces with 100% probability; from 20 samples with 242-bit nonces by reducing a 21-dimensional lattice with 100% probability, and from 40 samples with 248-bit nonces and 41-dimensional lattices. One can keep continuing by increasing the dimension of the lattice, to a practical limit of a bias of three or four bits for this 256-bit curve order, at the cost of solving near-exact SVP, which runs in time exponential in the lattice dimension, in a high-dimensional lattice. Unfortunately for the attacker applying these attacks to cryptocurrency signatures, the signature normalization described in Section 3.1 adds complexity. We expect half of the signatures to contain a negated s value, but we will not be able to tell which. From Equation (3), negating s will negate the derived value of ki. Thus an attack on small ki would still be expected to succeed, since the lattice algorithm can recover both small positive or small negative values, but the normalizations required to solve for the case of shared prefixes in Section 4.3 or shared suffixes in Section 4.4 would produce outputs that do not have the desired properties. For these cases, we brute forced signs for the si. The signature normalization also means that the relations defining ECDSA private key recovery from known or repeated nonces as described in Section 3.3 may not hold as described. For these cases we also brute forced sign values for s. 8 Joachim Breitner and Nadia Heninger 5 Bitcoin 5.1 Collecting data To collect Bitcoin signatures we modified the official client to output hash values and signatures as they are verified, and re-validated the entire blockchain. We used a snapshot of the blockchain from September 13, 2018 (block height 541,244). At this point, the blockchain contained 975,560,082 signatures from 446,605,479 distinct keys. 40,497,752 of these keys had been used to generate more than one signature. 569,396,463, or 58% of the signatures in our snapshot had been generated by one of these keys. 5.2 Cryptanalytic tests for biased nonces We clustered signatures by public key and eliminated signatures that were fully identical, that is, that shared both the hash h and the signature (r, s). For keys associated with m > 1 distinct signatures, we ran the following randomized tests on subsamples of the signatures: – Check if the set of distinct signatures generated by this key contains any duplicate r values. If so, we compute the private key and all signature nonces k using Section 3.3 and do not run any of the following. – Select two signatures at random and check for nonces of length less than 128 bits. We repeated this test 2m times for each key. – Select three signatures at random and check for nonces of length less than 170 bits. We repeated this test 2m times for each key. – Select three signatures at random and check for nonces sharing 128 most significant bits, brute forcing signature normalizations. We repeated this test 2m times for each key. – Select three signatures at random and check for nonces sharing 128 least significant bits, brute forcing signature normalizations. We repeated this test 2m times for each key. – For m ≤ 40, check for nonces of length less than b256(m− 1)/mc − 1 bits, using all m signatures without signature normalization. – For m > 40, choose a random subset of 41 signatures and check for nonces of length less than 248 bits. We repeated this test m/20 times for each key, without signature normalization. The parameters were chosen so that these tests would complete in a reasonable length of time even for the most common keys. 5.3 Running the cryptanalysis We implemented these tests in Sage [36], using the built-in BKZ implementation for lattice basis reduction. We ran the computation parallelized across 2000 cores of a heterogeneous cluster with mostly Intel Xeon E5 processors. We ended up running the computation twice, once without signature normalization on a Biased Nonce Sense 9 snapshot of the blockchain from March 2018 and once with normalization in September 2018. For the low-dimensional lattice attacks, the bottleneck of the computation was the elliptic curve multiplications required to check whether we had found the correct private key. The total running time for both jobs was 38 CPU years, and the longest-running job (corresponding to a single key that had generated 1,021,572 signatures in March 2018) completed in 30 calendar days. 5.4 Results and analysis Biased nonces. After running our attacks, we had computed the private keys for 302 distinct keys that were compromised via small nonces, nonces with shared prefixes, or nonces with shared suffixes. These keys had generated 6,026 signatures with these vulnerable nonces in the blockchain, and 7,328 signatures overall, including signatures that we did not classify as using vulnerable nonces. For further analysis, we used the BlockSci library [4]. We classified keys by the signature nonce vulnerability that had compromised them and summarize the data in Table 1. Nearly all of the compromised keys had been used as part of multisignature addresses of type 1-out-of-1, 1-out-of-2, 1-out-of-3, 2-out-of-2, 2-out-of-3, 2-out-of-5, or 3-out-of-5. On September 23, 2018, a total of 745,990 satoshis were in non-multisignature addresses whose keys were compromised by these biased nonces. An additional 72,985 satoshis were in a multisignature address where we possessed all of the necessary keys for the account. A further 6,480,000 satoshis were present in addresses for which we possessed one out of two necessary signatures. We plot the signatures from biased nonces over time in Figure 1. Nearly all of the compromised nonces fell into a few clear classes based on the length of the variable portion of the nonce. We found short nonces of length 160 bits, 128 bits, 110 bits, 64 bits, and a few sporadic nonces below 32 bits. We also found nonces that shared a fixed prefix followed by a variable 64-bit suffix, and nonces that varied in the 128 most significant bits and shared a fixed 128-bit suffix. Most of the affected keys were part of multisignature addresses. Table 1. Biased signatures and keys. We classified the compromised keys and signatures by the type of nonce vulnerability that had compromised the private key. Nearly all of the compromised keys had been used as part of multisignature addresses. Nonce Type Signatures Distinct Keys Multisignature Keys Prefix + 64 bits 27 2 0 128 bits + Suffix 121 13 4 160 bits 3 1 0 128 bits 4 2 2 110 bits 2 1 0 64 bits 5,863 280 279 ≤ 32 bits 6 3 0 10 Joachim Breitner and Nadia Heninger 2014 2015 2016 2017 2018 32 64 64∗ 110 128∗ 160 128+suffix 128+suffix∗ prefix+64 N o n ce ty p e Fig. 1. Bitcoin signatures with small and biased nonces over time. We plot signatures with biased nonces over time, grouped by the class of bias we observed, and whether they are used with multisignature addresses (marked with ∗). Larger circles correspond to more signatures on a given date. We note that the different types of biases appear at different date ranges, suggesting that these vulnerabilities are specific to distinct implementations. 64-bit nonces. We found 5,863 signatures from 280 distinct keys that used 64-bit nonces. All but one of these keys was used as part of multisignature addresses. All of these signatures appeared between July 26, 2014 and June 1, 2015. Two accounts related to these keys have a non-zero balance: One 2-out-of-2 address, for which we have one private key, has a single satoshi. One 2-out-of-3 address, for which we have two private keys, has a balance of 72,985 satoshis. After we posted a preprint of this paper online, Gregory Maxwell in personal communication identified the likely culprit: On July 12th, the bitcore library, a general purpose JavaScript bitcoin library provided by BitPay, was updated to use a different elliptic curve library. The changes introduced in this update included setting the length of the random nonces to eight bytes.4 This matches the July 2014 appearance of the vulnerable 64-bit nonces we identified. The bug was fixed on August 11, 2014.5 Yet we observed these nonces for almost a full year; this indicates that not all products that build on top of bitcore upgrade their dependencies in a timely manner. 64-bit nonces and single-signature keys. Our lattice attack only applies when at least two signatures with a small nonce are created using the same secret key. A single 64-bit nonce requires only 232 time to break using Shanks’s baby-step- giant-step algorithm [34] or the Pollard rho algorithm [28], feasible with only modest computation resources. However, applying this attack to all of the 230 Bitcoin signatures was beyond our resources, so we searched a random sample. 4 https://github.com/bitpay/bitcore/pull/409/commits/ac4d318 5 https://github.com/bitpay/bitcore/commit/9f9e2f1d Biased Nonce Sense 11 We precomputed a set of 239 small powers, storing the low 64 bits of the x coordinate, and also computed a lookup table mapping 232 small powers to their exponent. The bottleneck is the random accesses into the precomputed lookup tables, so we chose the parameters so that they fit into the RAM of our largest-memory machine (2.2TB). One signature takes approximately five minutes on one core to search.6 We spent 4 calendar days of computation time, or 4,000 core-hours, to check a random sample of 50,000 Bitcoin multisig signatures from the relevant period in 2014-2015. We found 169 small nonces this way, revealing 116 private keys. Of these, 108 were already compromised using the lattice attacks. 110-, 128-, and 160-bit nonces. We found a few sporadic signatures that used larger nonce lengths that were broken by our lattice techniques. These may be individual programming errors, but do not appear to be part of common implementations. None of the affected accounts had a non-zero balance. – Three 160-bit nonces, all of which were used with the same key, all on the same date in September 2017. This key did not produce any more signatures in our data. We hypothesized that a 160-bit nonce length might be explained by a user generating a nonce using a hash function with 160-bit output, as in deterministic ECDSA, but were unable to verify this. – Four 128-bit nonces from two keys. Each key generated two signatures with 128-bit nonces on the same two days in March 2016, and no further signatures. – One signed 110-bit nonce, used with one key in January 2017, which had also generated a normal-looking 256-bit nonce on the same day. 256-bit nonces with shared 128-bit suffixes. 121 signatures were compromised by nonces that shared a 128-bit suffix with at least one other signature. 55 of these signatures were used with multisignature addresses and 66 were generated by non-multisignature addresses. 13 keys were compromised this way, which had generated a total of 224 signatures. There were 20 distinct suffixes that had been used by these keys. The earliest signature of this type that we found was from March 2015, and the most recent was from August 2018. Some of the keys were used with nonces that all shared the same suffix, and some were used with nonces of varying and occasionally unique suffixes. We found that a number of the addresses associated with these compromised signatures had been posted on the web along with their private keys for a variety of reasons: they corresponded to small integer private keys, private keys derived from easy-to-guess passwords such as “satoshi”, or private keys used as examples in documentation. All of the affected accounts had a zero balance. Interestingly, in 54 of the signatures, the 128-bit nonce suffix is identical to the 128 most significant bits of the private key. The vulnerable transactions emptied the relevant accounts. We hypothesize that the vulnerable nonce suffixes we observe may actually be due to a custom implementation used by an attacker 6 The code can be found at:https://github.com/nomeata/secp265k1-lookup-table. 12 Joachim Breitner and Nadia Heninger 2011 2012 2013 2014 2015 2016 2017 2018 other repeat other repeat∗ (n− 1)/2 Fig. 2. Bitcoin signatures with repeated nonces over time. We plot repeated signature nonces over time, separating the value (n−1)/2, which seems to have been used intentionally, from other repeated nonces. Larger circles correspond to more signatures on a given date. Signatures involving multisignature addresses are marked with ∗. The vertical bars mark when the development (left) and release (right) versions of the official bitcoin client began to create nonces deterministically [29]. who is emptying accounts from Bitcoin addresses that were already compromised online. The overlapping bits between the nonce and the private key might be an artifact from a bug in a program written in a memory-unsafe language like C. 256-bit nonces with shared 192-bit prefixes. We computed 2 keys that had been used with 27 signatures with nonces sharing prefixes. Each key had some signatures with the shared prefix and some without. One of the two keys has a balance of 495,990 satoshis, and seems to be in current use at the time of writing. Repeated nonces As a side effect of our analysis, we";"""date"",""2020-07-22T23:13:23Z"" ""pdf:PDFVersion"",""1.4"" ""xmp:CreatorTool"",""LaTeX with hyperref"" ""pdf:docinfo:title"","""" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""subject"","""" ""pdfa:PDFVersion"",""A-1b"" ""language"",""en"" ""dc:format"",""application/pdf; version=""""A-1b"""""",""application/pdf; version=1.4"" ""pdf:docinfo:creator_tool"",""LaTeX with hyperref"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"","""" ""xmp:CreateDate"",""2020-07-22T19:13:23Z"" ""modified"",""2020-07-22T23:13:23Z"" ""cp:subject"","""" ""pdf:docinfo:subject"","""" ""pdf:hasMarkedContent"",""false"" ""xmp:ModifyDate"",""2020-07-22T19:13:23Z"" ""pdf:docinfo:creator"","""" ""meta:author"","""" ""meta:creation-date"",""2020-07-22T23:13:23Z"" ""created"",""2020-07-22T23:13:23Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2020-07-22T23:13:23Z"" ""resourceName"",""10174436"" ""pdfaid:part"",""1"" ""Author"","""" ""producer"",""Neevia Document Converter Pro v7.1 build 94 (http://neevia.com)"" ""pdf:docinfo:producer"",""Neevia Document Converter Pro v7.1 build 94 (http://neevia.com)"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""5"",""0"",""12"",""14"",""2"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""Keywords"","""" ""access_permission:modify_annotations"",""true"" ""dc:creator"","""" ""dcterms:created"",""2020-07-22T23:13:23Z"" ""Last-Modified"",""2020-07-22T23:13:23Z"" ""dcterms:modified"",""2020-07-22T23:13:23Z"" ""title"","""" ""xmpMM:DocumentID"",""uuid:71018f24-cecc-11ea-0000-63782dcfd35d"" ""Last-Save-Date"",""2020-07-22T23:13:23Z"" ""pdf:docinfo:keywords"","""" ""pdf:docinfo:modified"",""2020-07-22T23:13:23Z"" ""meta:save-date"",""2020-07-22T23:13:23Z"" ""Content-Length"",""249867"" ""Content-Type"",""application/pdf"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"","""" ""pdfaid:conformance"",""B"" ""pdf:producer"",""Neevia Document Converter Pro v7.1 build 94 (http://neevia.com)"" ""dc:subject"","""" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""18"" ""pdf:hasXMP"",""true"" ""pdf:charsPerPage"",""2130"",""2724"",""2664"",""2580"",""1909"",""2277"",""2616"",""2085"",""2167"",""1936"",""2595"",""2288"",""1985"",""2106"",""2135"",""2623"",""2887"",""1146"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""meta:keyword"","""" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2020-07-22T23:13:23Z"" ";https://scholar.google.com/scholar?start=960&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094668-1184;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Themis: Towards decentralized escrow of cryptocurrencies without trusted third parties;H Meng, E Bian, C Tang ; 2019 Sixth International Conference …, 2019 ieeexplore.ieee.org;;"… A. Transactions Between Different Digital Currencies Traditionally, transactions between digital currencies are executed on cryptocurrency exchanges … Jiang Zhang, Yu Chen, Zhenfeng Zhang, CRYPTO 2016 … [11] Astraea: A Decentralized Blockchain Oracle, Ryan Berryhill and …";Cité 2 fois;;[PDF] ieee.org;https://ieeexplore.ieee.org/iel7/8764267/8768486/08768704.pdf?casa_token=AJtNPmZtkz4AAAAA:rcrXF7sNxgnNoPQnFpRFN3o0Xw_2WMUdcSNOuBzSix_I8hQKX2TVTkBrrYri7KADgAq5kJZVa-4;" Skip to Main Content IEEE Account Change Username/Password Update Address Purchase Details Payment Options Order History View Purchased Documents Profile Information Communications Preferences Profession and Education Technical Interests Need Help? US & Canada: +1 800 678 4333 Worldwide: +1 732 981 0060 Contact & Support About IEEE Xplore Contact Us Help Accessibility Terms of Use Nondiscrimination Policy Sitemap Privacy & Opting Out of Cookies A not-for-profit organization, IEEE is the world's largest technical professional organization dedicated to advancing technology for the benefit of humanity. Š Copyright 2021 IEEE - All rights reserved. Use of this web site signifies your agreement to the terms and conditions. ";"""og:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""twitter:title"",""Themis: Towards Decentralized Escrow of Cryptocurrencies without Trusted Third Parties"" ""twitter:card"",""summary"" ""Description"",""We introduce an improvement fair exchange method called Themis, which does not require Trusted Third Parties. Themis system is implemented based on blockchain, "" ""og:title"",""Themis: Towards Decentralized Escrow of Cryptocurrencies without Trusted Third Parties"" ""resourceName"",""08768704.pdf"" ""language"",""en"" ""title"",""Themis: Towards Decentralized Escrow of Cryptocurrencies without Trusted Third Parties | IEEE Conference Publication | IEEE Xplore"" ""og:description"",""We introduce an improvement fair exchange method called Themis, which does not require Trusted Third Parties. Themis system is implemented based on blockchain, and can provide escrow services for secure exchanging between cryptocurrencies and physical goods. We propose many application scenarios for Themis, such as peer-to-peer escrow payments, exchanges among digital currencies. We implement a test-net for Themis and the experimental results shows that Themis protocol is practical in real-world distributed environment."" ""twitter:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-UA-Compatible"",""IE=Edge"" ""viewport"",""width=device-width, initial-scale=1.0"" ""dc:title"",""Themis: Towards Decentralized Escrow of Cryptocurrencies without Trusted Third Parties | IEEE Conference Publication | IEEE Xplore"" ""twitter:description"",""We introduce an improvement fair exchange method called Themis, which does not require Trusted Third Parties. Themis system is implemented based on blockchain, and can provide escrow services for secure exchanging between cryptocurrencies and physical goods. We propose many application scenarios for Themis, such as peer-to-peer escrow payments, exchanges among digital currencies. We implement a test-net for Themis and the experimental results shows that Themis protocol is practical in real-world distributed environment."" ""Content-Encoding"",""UTF-8"" ""Content-Type-Hint"",""text/html; charset=utf-8"" ""Content-Length"",""39464"" ""Content-Language"",""en-US"" ""Content-Type"",""text/html; charset=UTF-8"" ";https://scholar.google.com/scholar?start=410&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094583-840;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Lattice RingCT V2. 0 with multiple input and multiple output wallets;WA Torres, V Kuchta, R Steinfeld, A Sakzad… ; … on Information Security …, 2019 Springer;;"… and decentralised cryptocurrency to date, having its three underlying building blocks: transactions, blockchain and consensus … We now list all the adversarial oracles used in RCT, and we define them as … AddGen(i): on input a query number i, this oracle picks randomness \(\tau _i …";Cité 8 fois;Les 7 versions;[PDF] iacr.org;https://eprint.iacr.org/2019/569.pdf;" Lattice RingCT v2.0 with Multiple Input and Multiple Output Wallets Wilson Alberto Torres1, Veronika Kuchta1, Ron Steinfeld1, Amin Sakzad1, Joseph K. Liu1 and Jacob Cheng2 1 Faculty of IT, Monash University, Melbourne, Australia {Wilson.Torres,Veronika.Kuchta,Ron.Steinfeld, Amin.Sakzad,Joseph.Liu}@monash.edu 2 Collinstar Capital, Melbourne, Australia jacob@collinstar.com Abstract. This paper presents the Lattice-based Ring Confidential Transactions “Lattice RingCT v2.0” protocol. Unlike the previous Lattice RingCT v1.0 (LRCT v1.0) protocol, the new protocol supports Multiple-Input and Multiple-Output (MIMO) wallets in transactions, and it is a fully functional protocol construction for cryptocurrency applications such as Hcash. Since the MIMO cryptocurrency setting introduces new balance security requirements (and in particular, security against out-of-range amount attacks), we give a refined balance security model to capture such attacks, as well as a refined anonymity model to capture amount privacy attacks. Our protocol extends a previously proposed ring signature scheme in the LRCT v1.0 protocol, to support the MIMO requirements while preserving the post-quantum security guarantees, and uses a lattice-based zero-knowledge range proof to achieve security against out-of-range attacks. Preliminary parameter estimates and signature sizes are proposed as a point of reference for future studies. Keywords: Cryptocurrencies, Lattice-Based Cryptography, Post-Quantum Cryptography, RingCT. 1 Introduction In the current digital age, cryptocurrencies are applications that use virtual assets and cryptographic mechanisms to conduct e-commerce operations such as electronic payments or money transfers. Those payments can be carried out among accounts or wallets, independently of a central party [11]. Cryptocur- rencies lead to some advantages like lower transaction fees, theft resistance and anonymous transactions. Bitcoin [26] is by far the most widely known and decentralised cryptocurrency to date, having its three underlying building blocks: transactions, blockchain and consensus protocol. Contrary to the traditional banking model, Bitcoin allows electronic financial operations in a decentralised Peer-to-Peer (P2P) net- work. Although Bitcoin was intended to achieve the security properties of privacy and anonymity by using pseudonyms, some analyses [30, 17] show that these security properties can be compromised, therefore information about the payers, payees and transactions can be revealed. Thus Bitcoin is only a pseudo- anonymous cryptocurrency. Nonetheless, since its creation, Bitcoin has revolutionised the field of digital currency and motivated the invention of new cryptocurrencies, also known as alcoins. As an example, CryptoNote [34] was proposed to address the privacy weaknesses of Bitcoin, as it also offers a framework that can be extended by other cryptocurrencies such Bytecoin [7] and Monero [25]. CryptoNote uses traceable ring signatures [16] as a fundamental component to achieve true anonymity, where any member of the ring (or group) can create a signature, but it is infeasible by a verifier to identify the real signer. This type of signature hides information about the sender and receiver, and it also has a linking tag to prevent double spending coins. Further enhancements to this framework have resulted in an extended protocol called Ring Confidential Transactions “RingCT” [27]. The RingCT protocol uses three techniques: a new type of ring signature Linkable Ring Signatures [19], a homomorphic commitment and a range proof, to preserve the privacy of the sender and the receiver as well as the transaction amounts. However, the security of this RingCT protocol relies on classical number-theory assumptions, such as the hardness of discrete logarithms [14]. As a consequence, this protocol will be vulnerable in the 2 W. Alberto Torres et al. event of powerful quantum computers [31]. This situation has motivated researchers in the area of post- quantum cryptography to construct secure approaches against quantum attacks. Among the alternatives, lattice-based cryptography has attracted attention due to its distinguishing features and robust security guarantees [24, 9]. To the best of our knowledge, the first post-quantum RingCT scheme using Lattice-based cryptography was proposed in [1]. However, this proposal is limited. Firstly, it only enables transfers from a single input wallet to a single output wallet (SISO). In the RingCT model, signatures are one-time, then if one needs to receive change after making a payment or transfer, a new output wallet is required, so this points out the importance of supporting multiple input and output wallets. Secondly, having more than one output wallet also introduces a new security problem like the negative output amount (or out-of-range) attack [6], where an adversary is capable of creating extra coins. This attack is addressed in the previous RingCT [27] by using a range proof technique; however, this technique is not post-quantum secure. 1.1 Contributions – We construct the Lattice-based Ring Confidential Transactions (LRCT) for Multiple-Input and Multiple-Output wallets (MIMO). This construction is a generalisation of the SISO.LRCT scheme in [1] where we changed its underlying framework (L2RS signature) to be compatible. Our MIMO.LRCT inherits the post-quantum security guarantees, like the hardness of lattice mathematical assumptions as well as unconditional anonymity. – We improve the MIMO.LRCT’s security model, in particular, the balance and anonymity properties. We explicitly define a balance model that considers out-of-range attacks [6], and we prove the security of our protocol which previous RingCT’s proposals [1, 33] did not address. User anonymity is only addressed in [33], while we include the analysis of both user anonymity and amount privacy. – We show how to incorporate a lattice-based range proof into our MIMO.LRCT protocol, which was a missing ingredient in former proposals [1, 33]. To begin with, our protocol deals with the difficulties of the imperfection of lattice-based zero-knowledge proofs, Section 5.1 discusses more on this. In particular, range proofs follow the approach based on 1-of-2 OR-proofs, but our analysis shows that directly applying lattice-based OR-proofs from [12] does not provide soundness for the range proof. This argument leads us to carefully select the challenge space as we describe in Lemma 3. Although these challenges are smaller (in norm) than the ones used in the OR-proofs, they are still larger than the challenges in [18]. In this framework, we achieve lower soundness error than the previous lattice- based range proof [18]. We also provide a thorough concrete analysis of the MIMO.LRCT protocol by including this range proof analysis. – We apply our concrete bounds to derive preliminary scheme parameters for regular RingCT transac- tions that support 64-bit amounts along with fewer Multiple Input and Output wallets. This analysis serves as a benchmark for future practical implementations. The organisation of this work is as follows. Section 1.2 presents CryptoNote and RingCT protocols litera- ture. After introducing the notation and concepts used in our work in Section 2, we define the MIMO.LRCT as well as its security model in Section 3. Section 4.1 involves the concrete construction of the homomor- phic commitment and the MIMO.L2RS signature schemes, then Section 5 illustrates the construction of MIMO.LRCT. Section 6 and 7 point out the MIMO.LRCT’s security and performance analyses, respectively. 1.2 Related Work Evaluations [22, 28] of CryptoNote have discovered serious vulnerabilities which impact the privacy of the involved parties in the transactions. Therefore, the Ring Confidential Transactions RingCT [27] protocol was devised to address these issues. The RingCT extends the CryptoNote scheme by using a new class of linkable ring signature called Multi-layered Linkable Spontaneous Anonymous Group Signature (MLSAG) [19]. This signature is spontaneous (or ad-hoc), which removes the dependency of a trusted third party and group members are unaware of belonging to a determined group, thereby enhancing the anonymity property. It is also multilayered, meaning that it enables multiple input and output wallets in transactions. The security of RingCT is ameliorated by introducing the Confidential Transactions [23], which enables Lattice RingCT v2.0 with Multiple Input and Multiple Output Wallets 3 amounts to be hidden by using the Pedersen Commitment [29] technique. This cryptographic primitive enables a party to commit to a chosen secret value while keeping it hidden to other parties, where this commitment can later be opened. Such a primitive offers homomorphic properties allowing parties to prove the account balance by computing homomorphically input and output accounts to show that their result is zero. RingCT added another verification mechanism for the committed output amounts which was called range proof, guaranteeing that this amount lies in a range of non-negative values and avoiding the creation of free money. Bulletproofs [6] is an efficient technique for this range preservation. RingCT v2.0 [33] was later proposed. It provided sound security analysis of the (RingCT) protocol as well as improved the size of the signature by using one-way accumulators [4] along with signatures of knowledge “SoK” [8]. However, it requires a trusted setup for its accumulator to achieve the signature constant size. The first post-quantum RingCT protocol was proposed in [1], where the authors named it Lattice RingCT v1.0. This construction uses lattice-based cryptography to design a new Linkable Ring Signature, which is called Lattice-based Linkable Ring Signature (L2RS). The L2RS follows the well known Fiat-Shamir [15] transformation signature: Bimodal Lattice Signature Scheme (BLISS) [13], a practical and secure lattice-based signature scheme. The L2RS offers computational security as per the hardness of lattice assumptions for unforgeability, linkability and non-slanderability, it also achieves unconditional anonymity. However, the proposed Lattice RingCT v1.0 showed no security definition or proofs, and transactions were restricted to Single Input and Single Output wallets. 2 Preliminaries The polynomial ring R = Z[x]/f(x), where f(x) = xn + 1 with n being a power of 2. The ring Rq is then defined to be the quotient ring Rq = R/(qR) = Zq[x]/f(x), where Zq denotes the set of all positive integers modulo q (a prime number q = 1 mod 2n) in the interval [−q/2, q/2]. The challenge space Sn,Îş, is the set of all binary vectors of length n and weight Îş. A hash function modeled as Random Oracle Model (ROM), H1 with range Sn,Îş ⊆ R2q. When we use x← D for a distribution D, it means that x is sampled from D, and when we use x← S for a set S, it means that x is uniformly sampled at random from S. If we use r||, it means r is concatenated such ( r(1), . . . , r(θ) ) for any θ. The discrete Gaussian distribution over Zm with standard deviation σ ∈ R and center at zero, is defined by Dm σ (x) = ρσ(x)/ρσ(Zm), where ρσ is the m-dimensional Gaussian function ρσ(x) = exp(−‖x‖2/(2σ2)). Vector transposition is denoted by vT . The hardness assumption of this work is the Module-SIS (Short Integer Solution) problem and is defined as follows. Definition 1 (MSISKq,m,k,β problem). Let K be some uniform distribution over the ring Rk×mq . Given a random matrix A ∈ Rk×mq sampled from K distribution, find a non-zero vector v ∈ Rm×1 q such that Av = 0 and ‖v‖2 ≤ β, where ‖ ¡ ‖2 denotes the Euclidean norm. Lemma 1 (Rejection Sampling-BLISS). (Based on [13], Lemma 2.1). Let V be an arbitrary set, and h : V → R and f : Zm → R be probability distributions. If gv : Zm → R is a family of probability distributions indexed by v ∈ V with the property that there exists a M ∈ R such that ∀v ∈ V,∀v ∈ Zm,M ¡ gv(z) ≥ f(z). Then the output distributions of the following two algorithms are identical: 1. v ← h, z← gv, output(z, v) with probability f(z)/(M ¡ gv(z)). 2. v ← h, z← f, output(z, v) with probability 1/M . Lemma 2 (Rejection Sampling-Gaussian Distribution). Lemma 3. (Based on [5]) Let R = Z[X]/(Xn + 1) where n > 1 is a power of 2 and 0 < i, j < 2n − 1. Then all the coefficients of 2(Xi−Xj)−1 ∈ R are in {−1, 0, 1}. This implies that ‖2(Xi−Xj)−1‖ ≤ √ n. Lemma 4. For a, b ∈ Rq = Zq[X]/(Xn + 1) the following relations hold ‖a‖ ≤ √ n‖a‖∞, ‖a ¡ b‖ ≤√ n‖a‖∞ ¡ ‖b‖∞, ‖a ¡ b‖∞ ≤ ‖a‖ ¡ ‖b‖. Lemma 5 (Leftover Hash Lemma (LHL)). (Based on [13], Lemma B.1). Let H be a universal hash family of hash functions from X to Y. If h← H and x← X are chosen uniformly and independently, then the statistical distance between (h,h(x)) and the uniform distribution on H× Y is at most 1 2 √ |Y |/|X|. 4 W. Alberto Torres et al. Remark 1. We use this lemma for a SIS family of hash function H(S) = A ¡ S ∈ Rq,with S ∈ DomS, where each function is indexed by A ∈ R1×(m−1) q and DomS ⊆ R1×(m−1) q consists of vectors of Rq elements with coefficients in Γ , (−2Îł , 2Îł). This is a universal hash family if for all S 6= S′, we have Pr [ A ¡ S = A ¡ S′ ] = 1 |Rq| . This is a universal hash family if there exists 1 ≤ i ≤ m − 1 such that si − s′i is invertible in Rq with si, s ′ i ∈ Γn. This can be guaranteed by appropriate choice of q, e.g. as shown in ([21], Corollary 1.2), it is sufficient to use q such that f(x) = xn + 1 factors into k irreducible factors modulo q and 2Îł < 1√ k ¡ q1/k. We assume that Rq is chosen to satisfy this condition. 2.1 Homomorphic Commitment Definition This is a cryptographic technique that is used to provide confidential transactions, in particular cryp- tocurrencies [27]. This primitive allows one party to commit to a chosen value while keeping it secret to other parties, then this committed value can be revealed later. The definition of such technique, which is based on [2], has three algorithms: (KeyGen, Com, Open), such that: – Pub-Params ← KeyGen(1Îť): A PPT algorithm that produces a public commitment parameter Pub- Params after receiving the security parameter (Îť). – c← Com: A PPT algorithm that receives the Pub-Params, the randomness r and the message m. This algorithm generates the commitment c. – m′ ← Open: A PPT algorithm that receives the commitment c along with the randomness r, and it outputs m′. A valid commitment c is opened if (m′ = m). The security properties of this non-interactive homomorphic commitment scheme are defined as: Definition 2 (Hiding). This property ensures that the commitment Com(m, r) does not leak information on m, that is, for any PPT adversary A, it holds that:∣∣∣∣Pr [ A(cb) = b : Pub-Params← KeyGen(1Îť); r← RandGen(Pub-Params); (m,m′)← A(Pub-Params); b← {0, 1}; cb ← Com(r,mb) ] − 1 2 ∣∣∣∣ , is negl(Îť). Definition 3 (β−Binding). This property ensures that the commitment Com(m, r) can only be opened in one way, that is, for any PPT adversary A, it holds that: Pr  r 6= r′ ∧ m 6= m′ ∧ Com(m, r) = Com(m′, r′) : Pub-Params← KeyGen(1Îť); r← RandGen(Pub-Params); (m, r,m′, r′)← A(r)  ≤ negl(Îť), where ‖r‖, ‖r′‖ ≤ β. 2.2 Fiat-Shamir Non-Interactive Zero-Knowledge Proofs in the Random Oracle Model Zero-knowledge proof of knowledge (ZKPoK) is a two party protocol between the prover and the verifier, which allows the prover to convince the verifier that he knows some information, without revealing anything about the secret apart from what the claim itself already reveals [5]. Definition 4. Let be L ⊆ {0, 1}∗ the language that has witness relationship R ⊆ {0, 1}∗ × {0, 1}∗ if x ∈ L ↔ ∃(x,w) ∈ R. We call w a witness for x ∈ L. Let (P,V) be a two-party protocol where P (prover) and V (verifier) are PPT algorithms, and L,L′ be languages with witness relations R,R′ with R ⊂ R′. Then (P,V) has a proof σ with completeness error Îą, public input x and private input w, if the following conditions are satisfied: Lattice RingCT v2.0 with Multiple Input and Multiple Output Wallets 5 – The protocol uses a hash function H modeled as a random oracle which is called by both P and V. This protocol has the following form: on input (x,w), P outputs a proof σ that is sent to V. On input x, the verifier V accepts or rejects σ. – Completeness: whenever (x,w) ∈ R, the honest verifier accepts the proof σ with probability at least 1− Îą. – Soundness: given a dishonest prover A with input x, it outputs a valid proof σ with non-negligible probability, then there there exists a PPT algorithm E (the knowledge extractor) that extracts a witness w′ satisfying (x,w′) ∈ R′. – Special honest-verifier zero-knowledgeness (HVZK): there exists two PPT algorithms S (the simulator) and SH (random oracle simulator) that take x ∈ L, and output the proofs σsim = S(x) and SH(x, ¡) such that is computationally indistinguishable from σ = P(x,w) and H(¡) generated by a real protocol. 3 Ring Confidential Transaction Protocol (RCT) The RCT protocol is defined based on the former RingCT 2.0 protocol in [33]. Definition 5 (Account or wallet). A wallet has a public component “act” and a private component “ask”. The act is composed of the user’s pk (or a valid address) and the coin cn, while the ask is formed of the user’s sk along with the coin-key ck. The RCT protocol has five PPT algorithms (RCT.Setup, RCT.KeyGen, RCT.Mint, RCT.Spend, RCT.Verify) as well as the correctness (RCT.Correctness). The RCT’s algorithms are defined as follows: – RCT.Setup: this PPT algorithm takes the security parameter Îť and outputs the public parameters Pub-Params. – RCT.KeyGen: this PPT algorithm uses the Pub-Params to produce a pair of keys, the public-key pk and the private-key sk. – RCT.Mint: a PPT algorithm generating new coins by receiving Pub-Params and the amount $. This algorithm outputs a coin cn and a coin-key ck. – RCT.Spend: a PPT algorithm that receives the Pub-Params, a set of input wallets {IWi}i∈[w] with w being the size of the ring, a user π’s input wallets IWπ along with its set of secret keys Kπ, a set of output addresses OA, some transaction string Âľ ∈ {0, 1}∗, the output amount $ and the set of output wallets OW . Then, this algorithm outputs: the transaction TX = (Âľ, IW,OW ), the signature sig and a set of transaction/serial numbers TN , which is used to prevent the double spending coins. – RCT.Verify: a deterministic PPT algorithm that takes as input the Pub-Params, the signature sig, the TX, and the TN and verifies if the transaction was legitimately generated and outputs either: Accept or Reject. Transaction Correctness requirements: RCT.Correctness ensures that an honest user (payer) is able to spend or transfer any of his accounts (wallets) into a group of destination accounts (payee), where this transaction is accepted with overwhelming probability by a verifier. Thus the correctness of RCT is guaranteed if for all PPT adversaries A, it holds that: Pr  LRCT.Verify ( TX, sig, TN ) = 1: Pub-Params←LRCT.Setup(1Îť); (Âľ, IW,OA)←A(Pub-Params, IWπ,Kπ) with (IWπ,Kπ) as in Table 1; (pk, sk)←LRCT.KeyGen(Pub-Params); (cn, ck)←LRCT.Mint(Pub-Params, $); (TX, sig, TN)←LRCT.Spend(Âľ, Pub-Params, IWπ,Kπ, IW,OA, $(out)).  =1. 3.1 Oracles for adversaries We now list all the adversarial oracles used in RCT, and we define them as: – AddGen(i): on input a query number i, this oracle picks randomness τi, runs algorithm ( pki, ski ) ← RCT.KeyGen(Pub-Params, τi), and returns the public-key or one-time address pki. 6 W. Alberto Torres et al. – ActGen(i, $i): on input a query number i and an amount $i, it runs (cni, cki) ← RCT.Mint ( Pub-Params, $i ) . Then, ActGen adds i and the account acti = ( pki, cni ) to empty lists I and IW , respectively. ActGen outputs (acti, cki) for the one-time address pki, where these addresses are added to a list PK. The associated secret key with account acti is defined as aski , (ski, cki). With this aski, the challenger calls MIMO.L2RS.SigGen(ski, ¡ , ¡ , ¡ ) to determine the transaction num- ber TNi of acti and adds it to a list T N . – O-Spend(Âľ, IW, IWπ, OA, $(out),Pub-Params): on input the transaction string Âľ, input ac- counts (wallets) IW containing IWπ and output addresses OA, it runs (TX, sig, TN) ← RCT.Spend(Âľ,Kπ, IW, IWπ, OA, $(out),Pub-Params) and adds the outputs to T , where IWπ ∈ IW . We assume that at least one account/address in IWπ has not been corrupted. We define the set of transaction numbers in the RCT.Spend queries as T N ∗. – Corrupt(i): on input query number i ∈ I, uses account key aski to determine the transaction/serial number TNi of account acti with address pki, then adds TNi and (TNi, $i) to lists C and B respectively and finally returns τi. 3.2 Threat Model The protocol RCT is modeled in terms of balance, anonymity and non-slanderability for security analysis purposes, which are defined as follows. Definition 6 (Balance). This property requires that any adversary cannot spend any account without her control and cannot spend her own accounts with a larger output amount. This security property is guaranteed if for all PPT adversaries A, it holds that: Pr [ A wins : Pub-Params← LRCT.Setup(1Îť); ({IW (k) i }i∈[w],k∈[Nin], T )← AAddGen,ActGen,O-Spend,Corrupt(Pub-Params) ] , is negl(Îť), where adversaries’ oracles are defined in Section 3.1. We have that IW (k) i = {pk (k) (in),i, cn (k) (in),i}i∈[w],k∈[Nin] and T = (TX, sig, TN). These spends can be transferred to the challenger with the account address pk(out) = {pk (j) (out)}j∈[Nout], where we assume not all of them are corrupted, and at least one of them is honest. This pk(out) has been created by the AddGen oracle, so the challenger knows all balances of the spent accounts and output accounts involved in the adversarial spends T . This means that TX = (Âľ, IW,OW ) with OW = {OW (j)}j∈[Nout] = {pk (j) (out), cn (j) (out)}j∈[Nout] being the output wallet corresponding to output account pk(out). The adversary A wins this experiment if her outputs satisfy the following conditions: 1. RCT.Verify(TX, sig, TN) = 1. 2. ∑ k∈E(in) $ (k) (in),π < ∑ j∈G(out) $ (j) (out), where we let π ∈ [w] s.t. π′s row {pk (1) (in),π, . . . , pk (Nin) (in),π} are the ones that have {TN (1) π , . . . , TN (Nin) π } which are found in ActGen, E(in) are the corrupted inputs, and G(out) are the not corrupted outputs in T . For each TN (k) let $ (k) (in) be the amount queried to ActGen at the index query i such TN ⊆ T N . $ (k) (in) is also defined as equal to zero if IW (k) i is equal to some input wallet IW queried to O-Spend, using same TN , which means that IW (k) i has been spent. 3. TN cannot be the output of previous queries to the O-Spend(¡) (i.e. TN ∊ T N ∗ = ∅). 4. pkπ is queried to O-Spend oracle only once. 5. PK ⊆ PK, where PK , {pk (k) (in),i}i∈[w],k∈[Nin]. Our extended anonymity property captures two types of attacks (compared to one type in [33]) that depend on the adversary’s choices for users π0, π1 ∈ [w] and output amounts $(out),0, $(out),1. It starts with the user anonymity attack where the adversary selects π0 6= π1 with $(out),0 = $(out),1, while in the amount privacy attack this adversary chooses π0 = π1 with $(out),0 6= $(out),1. We formally define this property as: Lattice RingCT v2.0 with Multiple Input and Multiple Output Wallets 7 Definition 7 (Anonymity). This property requires that two proofs of knowledge with the same trans- action string Âľ, input accounts IW , output addresses OA, distinct both output amounts ($(out),0, $(out),1) and spent accounts IWπ0 , IWπ1 ∈ IW are indistinguishable, meaning that the spender’s accounts and amounts are successfully hidden among all the honestly generated accounts. The protocol RCT is called anonymous if for all PPT adversaries A = (A1,A2), it holds that: ∣∣∣∣∣∣∣∣∣∣ Pr b′ = b : Pub-Params← Setup(1Îť); (Âľ, IWπ0 , IWπ1 , IW,OA, $(out),0, $(out),1)← AAddGen,ActGen,O-Spend,Corrupt 1 (Pub-Params); b← {0, 1}; (TX∗, sig∗b , TN ∗)← LRCT.Spend(Âľ,Kπb , IWπb , IW,OA, $(out),b,Pub-Params); b′ ← AO-Spend,Corrupt 2 (Pub-Params, (TX∗, sig∗b , TN ∗)) − 1 2 ∣∣∣∣∣∣∣∣∣∣ , is negl(Îť), where adversaries’ oracles are defined in Section 3.1. In addition, the following restrictions should be satisfied: 1. For all b ∈ {0, 1}, any account in IWπi has not been corrupted. 2. Any query in the form of (¡, IWπ, ¡, ¡), such that IWπ ∊ IWπi 6= ∅ has not been issued to O-Spend oracle. Definition 8 (Non-Slanderability). This property requires that a malicious user cannot slander any honest user after observing an honestly generated spending. That is, it is infeasible for any malicious user to produce a valid spending that shares at least one transaction/serial number with a previously generated honest spending. The protocol RCT is non-slanderable if for all PPT adversaries A, it holds that: Pr [ A wins : Pub-Params← LRCT.Setup(1Îť);( (TX, sig, TN), (TX∗, sig∗, TN∗) ) ← AAddGen,ActGen,O-Spend,Corrupt(Pub-Params) ] , is negl(Îť), where adversaries’ oracles are defined in Section 3.1, and (TX, sig, TN) is one output of the oracle O-Spend for some (Âľ, IWπ, IW,OA). We say A succeeds if the output satisfies: 1. RCT.Verify(TX∗, sig∗, TN∗) = 1, 2. (TX∗, sig∗, TN∗) /∈ T , and 3. TN ∊ C = ∅ but TN ∊ TN∗ 6= ∅. 4 Building Blocks Construction In this section, we summarize the underlying lattice-based primitives that are used in the construction of MIMO.LRCT. This includes a lattice-based homomorphic commitment scheme and a MIMO version of L2RS signatures, specified in Appendix C. 4.1 Lattice-based Commitment Construction The MIMO.LRCT protocol requires a non-interactive homomorphic commitment (Com) as an essential primitive. We construct the three algorithms: (KeyGen, Com, Open), using the MIMO.L2RS scheme (Ap- pendix C): – A ← KeyGen(1Îť): A PPT algorithm that produces a public commitment parameter A ∈ R2×(m−1) q after receiving the security parameter (Îť). In doing so, we call the MIMO.L2RS.Setup (Appendix C) to generate A ∈ R2×(m−1) q . – c← ComA(m, sk): A PPT algorithm that receives the public parameter A (from KeyGen), the random- ness sk and the message formed as m = (0,m)T ∈ R1×2 q . This algorithm generates the commitment c ∈ R2 q. The randomness sk ∈ Domsk ⊆ R(m−1)×1 q with every component chosen uniformly and inde- pendently with coefficients in (−2Îł , 2Îł), is produced by calling the MIMO.L2RS.KeyGen (Algorithm 1) and the message m ∈ Domm = Rq, then the commitment c = ComA(m, sk) = A ¡ sk + m ∈ R2 q. 8 W. Alberto Torres et al. – m′ ← OpenA(c, sk): A PPT algorithm receiving commitment c and randomness sk, and it outputs m′. A valid c is opened if (m′ = m). This algorithm computes m′ = (0,m′)T = OpenA(c, sk) = c−A ¡ sk. Remark 2. Domm is full and not a small subset Rq, whereas Domsk is only a small domain versus q. These adjustments help us to obtain better parameters than SISO.LRCT and security against out-of- range attacks. This homomorphic commitment scheme performs the following operations: ComA(m, sk) Âą ComA(m′, sk′) , ComA(m, sk)Âą ComA(m′, sk′) mod q , ComA(mÂąm′, skÂą sk′) mod q. (1) Theorem 1 (Hiding). If 1 2 √ q2n 2(Îł+1)¡(m−1)¡n is negligible in security parameter Îť, then the above Com is information theoretically hiding. Proof. Suppose that a PPT adversary A is given two messages (m,m′), the public parameter A ∈ R2×(m−1) q and the randomness sk. A bit b is chosen uniformly at random from b = {0, 1}, and the commitment is generated as cb ← ComA(mb, sk) = A ¡ sk + mb. This adversary A outputs a guess b′ ∈ {0, 1}, where A succeeds in breaking the hiding property when (b = b′). We now analyze the generated commitment cb with a uniformly random element fromR2 q. We know that sk is chosen small with coefficients in (−2Îł , 2Îł). By applying the Leftover Hash Lemma (Lemma 5), we argue that the statistical distance between the distribution of c and the uniform distribution onR2 q is at most ( 1 2 ¡ √ q2n 2(Îł+1)¡(m−1)¡n ) , which is negligible in (Îť). ut Theorem 2 (β−Binding). The described Commitment Scheme is computationally β−binding if the MSISKq,m,k,2β problem is hard. Proof. Suppose that an adversary A generates (c, sk, sk′) such that m = OpenA(c, sk) and m′ = OpenA(c, sk′) with m = (0,m)T ∈ R1×2 q and m′ = (0,m′)T ∈ R1×2 q being valid messages and m 6= m′. Using the Open algorithm, we have A ¡ (sk− sk′) = (m−m′) = (0,m−m′)T 6= 0, where we find a small non-zero vector v = ( sk− sk′ )T with respect to the first row A1 of the public commitment parameter A, such that A1 ¡v = 0 mod q, with ‖v‖ ≤ 2β. Therefore, this vector v gives a solution to the MSISKq,m,k,2β problem. ut 4.2 Multiple-Input Multiple-Output Wallets L2RS (MIMO.L2RS) We adapt all the notations from [1] into our MIMO.L2RS. The MIMO.L2RS signs a signature for multiple wallets, which means that it signs Nin L2RS signatures in parallel. This MIMO.L2RS is an extension of the single-input and single-output proposal from [1]. In such extension, we needed to modify the Lattice-based Linkable Ring Signature (L2RS) to be capable of signing multiple wallets. Precisely, we adjusted the key generation, the signature generation and the verification algorithms to sign the total number of input wallets that a user wants to transfer to some output wallets. We call these algorithms: MIMO.L2RS.KeyGen, MIMO.L2RS.SigGen and MIMO.L2RS.SigVer, and we describe them in Algorithms 1 2 and 3, respectively. Algorithm 1 MIMO.L2RS.KeyGen - Key-pair Generation (a,S) Input: Pub-Param: A ∈ R2×(m−1) q . Output: (a,S), being the public-key and the private-key, respectively. 1: procedure MIMO.L2RS.KeyGen(A) 2: Let ST = (s1, . . . , sm−1) ∈ R1×(m−1) q , where si ← (−2Îł , 2Îł)n, for 1 ≤ i ≤ m− 1 3: Compute a = (a1, a2)T = A ¡ S mod q ∈ R2 q . 4: return (a,S). Lattice RingCT v2.0 with Multiple Input and Multiple Output Wallets 9 Algorithm 2 MIMO.L2RS.SigGen - MIMO Signature Generation σL′(Âľ) Input: {S(k) (in),π }k∈[Nin+1], Âľ, L′ as in (4), and Pub-Params. Output: σL′ (Âľ) = ( c1, { t (k) 1 , . . . , t(k)w } k∈[Nin+1] , { h(k) } k∈[Nin] ) 1: procedure MIMO.L2RS.SigGen(S (k) (in),π , Âľ, L′,Pub-Params) 2: for (1 ≤ k ≤ Nin + 1) do 3: Set H (k) 2q = ( 2 ¡H,−2 ¡ h(k) + q ) ∈ R2×m 2q , where h(k) = H ¡ S(k) (in),π ∈ R2 q . 4: Call MIMO.L2RS.Lift(A, a (k) (in),π ) to obtain A (k) 2q,π = (2 ¡A,−2 ¡ a(k) (in),π + q) ∈ R2×m 2q . 5: Let u(k) = (u1, . . . , um)T , where ui ← Dnσ , for 1 ≤ i ≤ m. 6: Compute cπ+1 = H1 ( L′, { H (k) 2q } k∈[Nin+1] , Âľ, { A (k) 2q,π ¡ u (k) } k∈[Nin+1] , { H (k) 2q ¡ u (k) } k∈[Nin+1] ) . 7: for (i = π + 1, π + 2, . . . , w, 1, 2, . . . , π − 1) do 8: for (1 ≤ k ≤ Nin + 1) do 9: Call MIMO.L2RS.Lift(A, a (k) (in),i ) to obtain A (k) 2q,i = (2 ¡A,−2 ¡ a(k) (in),i + q) ∈ R2×m 2q . 10: Let t (k) i = (ti,1, . . . , ti,m)T , where ti,j ← Dnσ , for 1 ≤ j ≤ m. 11: Compute ci+1 = H1 ( L′, { H (k) 2q } k∈[Nin+1] , Âľ, { A (k) 2q,i ¡ t (k) i + q ¡ ci } k∈[Nin+1] , { H (k) 2q ¡ t (k) i + q ¡ ci } k∈[Nin+1] ) . 12: for (1 ≤ k ≤ Nin + 1) do 13: Choose b(k) ← {0, 1}. 14: Let t(k)π ← u(k) + S (k) 2q,π ¡ cπ ¡ (−1)b (k) , where S (k) 2q,π = [(S(k) π )T , 1]T . 15: Continue with prob. ( M exp ( − ‖S(k) 2q,π ¡ cπ‖ 2 2σ2 ) cosh ( 〈t(k)π ,S (k) 2q,π ¡ cπ〉 σ2 ))−1 otherwise Restart. 16: return σL′ (Âľ) = ( c1, { t (k) 1 , . . . , t(k)w } k∈[Nin+1] , { h(k) } k∈[Nin] ) . Algorithm 3 MIMO.L2RS.SigVer - MIMO Signature Verification Input: σL′ (Âľ) as in (7), L′ as in (4), Âľ, and Pub-Params. Output: Accept or Reject 1: procedure MIM";"""date"",""2020-09-16T04:52:57Z"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""27"",""38"",""7"",""13"",""28"",""40"",""75"",""54"",""19"",""20"",""62"",""38"",""28"",""33"",""24"",""0"",""34"",""65"",""71"",""71"",""44"",""35"",""29"",""38"",""5"",""30"",""16"",""81"",""53"",""25"",""55"",""84"",""47"",""40"",""26"",""55"",""15"" ""pdf:PDFVersion"",""1.5"" ""xmp:CreatorTool"",""TeX"" ""pdf:hasXFA"",""false"" ""access_permission:modify_annotations"",""true"" ""access_permission:can_print_degraded"",""true"" ""dcterms:created"",""2020-09-16T04:52:57Z"" ""language"",""en"" ""Last-Modified"",""2020-09-16T04:52:57Z"" ""dcterms:modified"",""2020-09-16T04:52:57Z"" ""dc:format"",""application/pdf; version=1.5"" ""Last-Save-Date"",""2020-09-16T04:52:57Z"" ""pdf:docinfo:creator_tool"",""TeX"" ""access_permission:fill_in_form"",""true"" ""pdf:docinfo:modified"",""2020-09-16T04:52:57Z"" ""meta:save-date"",""2020-09-16T04:52:57Z"" ""pdf:encrypted"",""false"" ""pdf:docinfo:custom:PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017) kpathsea version 6.2.3"" ""modified"",""2020-09-16T04:52:57Z"" ""Content-Length"",""729808"" ""pdf:hasMarkedContent"",""false"" ""Content-Type"",""application/pdf"" ""PTEX.Fullbanner"",""This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017) kpathsea version 6.2.3"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""trapped"",""False"" ""meta:creation-date"",""2020-09-16T04:52:57Z"" ""created"",""2020-09-16T04:52:57Z"" ""access_permission:extract_for_accessibility"",""true"" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""39"" ""Creation-Date"",""2020-09-16T04:52:57Z"" ""resourceName"",""569.pdf"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""3336"",""3887"",""3583"",""2508"",""2933"",""3025"",""2666"",""2652"",""1805"",""3343"",""2358"",""2304"",""2798"",""2900"",""1242"",""1407"",""2791"",""3358"",""2732"",""1760"",""1254"",""2620"",""2949"",""2941"",""2983"",""2373"",""2401"",""2740"",""2237"",""2337"",""2206"",""2015"",""2715"",""2690"",""2593"",""2865"",""2249"",""2714"",""1021"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""pdf:docinfo:trapped"",""False"" ""producer"",""pdfTeX-1.40.18"" ""access_permission:can_modify"",""true"" ""pdf:docinfo:producer"",""pdfTeX-1.40.18"" ""pdf:docinfo:created"",""2020-09-16T04:52:57Z"" ";https://scholar.google.com/scholar?start=650&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094560-734;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Inovaçăo na governança da água: o papel da tecnologia blockchain e dos sistemas complexos de fluxos;RP Sobrinho, JR Garcia, AG Maia… ; Revista Brasileira …, 2019 periodicos.sbu.unicamp.br;;"… Oracles are reliable sources of information and data that serve as inputs for smart contracts … the temperature measurement service of a government institution could use an oracle to provide … However, blockchain technology can also be used as a tool for solving several problems …";Autres articles;Version HTML;[PDF] unicamp.br;https://periodicos.sbu.unicamp.br/ojs/index.php/rbi/article/download/8654757/21017/;" AT 157Rev. Bras. Inov., Campinas (SP), 18 (1), p. 157-176, janeiro/junho 2019Rev. Bras. Inov., Campinas (SP), 18 (1), p. 157-176, janeiro/junho 2019 Blockchain technology and complex flow systems as opportunities for water governance innovation1 Ranulfo Paiva Sobrinho* Junior Ruiz Garcia** Alexandre Gori Maia*** Ademar Ribeiro Romeiro**** * Universidade Estadual de Campinas (Unicamp), Campinas (SP), Brazil. E-mail: ranulfo17@gmail.com. ** Universidade Federal do ParanĂĄ (UFPR), Curitiba (PR), Brazil. E-mail: jrgarcia1989@gmail.com. *** Universidade Estadual de Campinas (Unicamp), Campinas (SP), Brazil. E-mail: alexandregorimaia@gmail.com. **** Universidade Estadual de Campinas (Unicamp), Campinas (SP), Brazil. E-mail: arromeiro@gmail.com. Received: 13 February 2018 Revised version: 23 February 2019 Accepted: 17 April 2019 Abstract According to the World Economic Forum, the water crisis ranks among the five most dangerous risks to global welfare. In this context, water governance is becoming increasingly vital in various regions, especially as the multiple and competitive uses of water mount increasing pressures on its supply. Despite the evolution of water governance rationales, global water resources are, unfortunately deteriorating. Current water governance models are limited by two intertwined aspects: financial sources and trust. In this context, the objective of this paper is to discuss how blockchain technology can aid in improving water governance, increasing 1 This work is a result of the project “Abordagem simultânea e inter-relacionada das dimensĂľes de sustentabilidade para a melhoria da gestĂŁo de recursos hĂ­dricos: o caso da bacia do Rio Jundiaí”, 2016-2021, support by Programa de Apoio Ă  PĂłs-graduação e Ă  Pesquisa CientĂ­fica e TecnolĂłgica em Desenvolvimento SocioeconĂ´mico no Brasil (PGPSE), Coordenação de Aperfeiçoamento de Pessoal de NĂ­vel Superior (Capes), notice n. 42/2014. Revista Brasileira de Inovação ISSN 2178-2822 DOI: https://doi.org/10.20396/rbi.v18i1.8654757 Artigo https://orcid.org/0000-0001-5202-941X https://orcid.org/0000-0002-9625-3859 https://orcid.org/0000-0003-0075-5094 https://orcid.org/0000-0003-0683-3030 Ranulfo Paiva Sobrinho Junior, Ruiz Garcia. Alexandre Gori Maia, Ademar Ribeiro Romeiro 158 159Rev. Bras. Inov., Campinas (SP), 18 (1), p. 157-176, janeiro/junho 2019Rev. Bras. Inov., Campinas (SP), 18 (1), p. 157-176, janeiro/junho 2019 financial transparency, and stakeholders’ trust. Such an improvement could be achieved, for example, with the creation of cryptocurrencies to encourage actions aimed at the conservation of water resources, and also via the adoption of smart contracts. Keywords | Blockchain Technology; Management of River Basins; Cryptocurrencies; Smart Contracts Inovação na governança da ĂĄgua: o papel da tecnologia blockchain e dos sistemas complexos de fluxos Resumo A crise hĂ­drica estĂĄ entre os cinco principais riscos globais apontados pelo FĂłrum EconĂ´mico Mundial. A governança ĂŠ importante porque os mĂşltiplos e competitivos usos da ĂĄgua se acentuam, colocando pressĂľes adicionais sobre a sua oferta em vĂĄrias regiĂľes. Apesar da evolução na governança da ĂĄgua, infelizmente se observa globalmente uma deterioração dos recursos hĂ­dricos. Dentre as principais limitaçþes da governança da ĂĄgua estĂŁo o aspecto financeiro e a confiança. Nesse contexto, o objetivo do presente trabalho ĂŠ discutir como a tecnologia blockchain pode auxiliar na melhoria da governança da ĂĄgua, tais como no aumento da transparĂŞncia, no financiamento e na confiança. Esse aprimoramento poderia ser alcançado, por exemplo, com a criação de criptomoedas para incentivar a adoção de açþes voltadas para conservação dos recursos hĂ­dricos e adoção de smart contracts. Palavras-chave | Tecnologia Blockchain; GestĂŁo de Bacias HidrogrĂĄficas; Criptomoedas; Contratos Inteligentes Blockchain technology and complex flow systems ... 158 159Rev. Bras. Inov., Campinas (SP), 18 (1), p. 157-176, janeiro/junho 2019Rev. Bras. Inov., Campinas (SP), 18 (1), p. 157-176, janeiro/junho 2019 1. Introduction The importance of governance in ensuring the availability and quality of water for present and future generations has been widely accepted by society and is actively discussed by various institutions and researchers. (BICUDO; TUNDISI; SCHEU- ENSTUHL, 2017; OCDE, 2015; PAHL-WOSTL, 2015; UN ENVIRONMENT, 2018; WORLD RESOURCES INSTITUTE, 2017). According to Tundisi (2013), water governance is one of the critical factors in regional and socioeconomic de- velopment and is poised to become a strategic problem as the 21st century pro- gresses. In this sense, various regions are seeing the multiple and competitive uses of water mount increasing pressures on its availability and quality (AALST et al., 2014; FREIRE-GONZÁLEZ; DECKER; HALL, 2017; WORLD RESOURCES INSTITUTE, 2017; WWAP, 2015). Due to the increasing complexity of the problems caused by these social and economic pressures, water governance models have been going through several adaptations (CAMPOS, 2007; LANNA, 2001; OCDE, 2015). According to Tundisi (2013), for most of the twentieth-century water governance was centralized and sectorized, guided mainly by the concern for public supply and quality, to meet the demands of public consumption, fishing, and navigation. More recently, the governance process has changed its focus to river basin management, incorporating actions to allow for multiple water uses in an integrated and non-sectorized man- ner. Water governance has also become predictive, aiming to anticipate processes and phenomena. The Brazilian case reflects this trajectory. The 1934 Water Code (BRASIL, 1934) strictly heeded the economical use of water. The National Water Act of 1997, on the other hand, moved forward to identify the river basin as a management unit, while recognizing the multiple uses of water (BRASIL, 1997). Despite the evolution of water governance, global water resources are, unfortunately deteriorating (PAHL-WOSTL, 2015). In the World Water Forum, held in 2000, the Global Water Partnership’s Framework for Action declared that the water crisis was mainly a crisis of management (i.e., governance) (TUNDISI, 2013; WORLD WATER COUNCIL, 2000). This assertion is echoed by the WWAP (2006),2 according to which the water crisis has little to do with a lack of technology, its causes stemming from governance-related shortcomings. The “OECD Principles on Water Governance” document (OCDE, 2015) presents ample 2 World Water Assessment Program – WWAP, by Unesco. Ranulfo Paiva Sobrinho Junior, Ruiz Garcia. Alexandre Gori Maia, Ademar Ribeiro Romeiro 160 161Rev. Bras. Inov., Campinas (SP), 18 (1), p. 157-176, janeiro/junho 2019Rev. Bras. Inov., Campinas (SP), 18 (1), p. 157-176, janeiro/junho 2019 evidence of significant governance failures. Such failures hamper the formulation and implementation of water management policies. To overcome them requires a set of responses and good practices. According to OCDE (2015), no single solution fits the myriad of water governance challenges. Instead, models must be tailored to regional particularities, recognizing that governance is highly context-dependent, and that water policies need to adjust to different realities. In other words, the present consensus is that management is contextual, that public policies have to adapt to various water resources and territories, and that governance models have to adapt to ever-changing circumstances (OCDE, 2015). The water crisis is one of the top five global risks identified by the World Economic Forum (WEF, 2018). This finding reflects, among other factors, that water management actions have come short of safeguarding the provision and quality of water resources (BICUDO; TUNDISI; SCHEUENSTUHL, 2017; HIPEL et al., 2015; NEWTON, 2016; PAHL-WOSTL, 2015; ZIOLKOWSKA; PETERSON, 2017). One of the main limitations of current water governance models lies in their funding sources (CURLEY, 2016). They still rely heavily on enterprises that have been contributing to environmental degradation (LIETAER et al., 2012). According to Paiva Sobrinho and CĂłrdoba-Brenes (2017), the introduction of the current inter- national monetary system, known as the dollar standard (DUNCAN, 2011; LUND et al., 2013; PAIVA SOBRINHO; ROMEIRO, 2016a), has produced a significant expansion of global credit, causing increased economic pressures on ecosystems and compromising their conservation status. Also, the sharp expansion of credit has led to the acceleration and aggravation of global economic and financial crises (DUNCAN, 2011; MILNE, 2009; PAIVA SOBRINHO; ROMEIRO, 2016b). In this dire scenario, it is imperative for innovation to take place in water governance’s theoretical and practical framework, especially in regards to two points: increasing the financial resilience of systems that aim to solve water problems at various spa- tiotemporal scales; and increasing the participation of civil society3 in actions for resolving rural or urban water problems. The crux of our argument is that water governance’s theoretical framework should incorporate knowledge derived from the sustainability of complex flow systems (ULANOWICZ et al., 2009). In practical and operational terms, it should employ blockchain technology for the creation of 3 According to the European Union, civil society “is a collective term for all types of social action, by individuals or groups, that do not emanate from the state and are not run by it” (EUROPEAN UNION, 2019). For a theoretical discussion on the concept of civil society, see Avritzer (2012). Blockchain technology and complex flow systems ... 160 161Rev. Bras. Inov., Campinas (SP), 18 (1), p. 157-176, janeiro/junho 2019Rev. Bras. Inov., Campinas (SP), 18 (1), p. 157-176, janeiro/junho 2019 new governance structures, based on smart contracts and water governance-oriented cryptocurrencies (PAIVA SOBRINHO et al., 2017a). Thus, the objective of this paper is to discuss how blockchain technology can aid in improving water governance, increasing financial transparency, and trust. Such an improvement could be achieved, for instance, with the creation of cryptocurrencies and the adoption of smart contracts to foster actions aimed at the conservation of water resources (PAIVA SOBRINHO et al., 2017b). Traditional financing methods make governance systems more susceptible to economic and financial crises – as in the Brazilian fiscal crisis, which had a significant impact on environmental policies (WWF, 2017). This article has four sections, besides Introduction and Conclusions. The second one presents blockchain technology, different consensus mechanisms, and smart contracts. Next, we discuss the theoretical aspects of water governance. The fourth section offers information on the sustainability of complex flow systems. In the last, we discuss how water governance can be improved by incorporating knowledge on the sustainability of complex flow systems and blockchain technology. 2.2 Blockchain technology Nakamoto (2008) created the blockchain technology together with the first and most famous and well-known application is Bitcoin.4 Narayanan et al. (2016) define blockchain technology simply as a chain of blocks connected by hash functions. Hash functions are mathematical functions that are easily calculated from an input value. Conversely, however, it is almost impossible for the input value to be derived from the one output by the function. This feature of the hash function endows the blockchain with a property of immutability: in other words, once the data is stored in blocks, these blocks are made immutable by the hash function and thenceforth cannot be changed. Any attempt to tamper with the stored data will be noticed since such an effort would alter the values output by the hash function. It is worth noting that the blockchain is stored in multiple devices, such as servers and personal computers. Thus, every device belonging to the cryptocurrency’s peer-to-peer (P2P) network can have a complete copy of all its records. These copies are synchronized, so every new record has to be validated by the system, according to specific consensus mechanisms (NARAYANAN et al., 2016). In this 4 . Ranulfo Paiva Sobrinho Junior, Ruiz Garcia. Alexandre Gori Maia, Ademar Ribeiro Romeiro 162 163Rev. Bras. Inov., Campinas (SP), 18 (1), p. 157-176, janeiro/junho 2019Rev. Bras. Inov., Campinas (SP), 18 (1), p. 157-176, janeiro/junho 2019 sense, different consensus mechanisms can be said to represent different paths for the evolution of blockchain technology. 2.1 Proof-of-Work consensus mechanism The first-generation blockchain came to fruition in 2009, with the code implementation of the ideas of Nakamoto (2008). This early iteration used a Proof-of-Work (PoW) algorithm as its consensus mechanism. PoW is computationally expensive because it requires nodes of the cryptocurrency’s network – known as miners – to solve intensive mathematical puzzles, and then offer the solution as a proof-of-work used to validate new data for insertion into the blockchain. As a reward for their efforts, miners receive freshly minted Bitcoins. In the beginning, anyone could mine Bitcoin (i.e., solving these mathematical puzzles) using an ordinary laptop. Today this is no longer possible. Due to the expansion of the Bitcoin network and the considerable computational effort required – an effort that increases periodically as the difficulty rises – mining is now restricted to companies able to purchase and maintain computer farms with significant processing capacity. These entail high investments and maintenance costs, that is, large amounts of capital.5 These massive investments could lead to the restriction of access to new Bitcoins to a few significant players, negating Bitcoin’s decentralized nature. To avoid this risk, new consensus mechanisms have emerged, such as Proof-of-Stake (PoS) and Delegated Proof-of-Stake (DPoS). 2.2 Proof-of-Stake consensus mechanism To overcome the limitations of the Proof-of-Work consensus mechanism, Peercoin developers created the Proof-of-Stake (PoS)6 mechanism, announced in 2012. The coin adopts a hybrid approach, combining PoW and PoS. The first cryptocurrency employing the PoS mechanism was NXT.7 In the PoS mechanism, the participant of the system can certify transactions and insert them into the blockchain without possessing significant hardware capabilities. One only has to own cryptocurrencies. Moreover, the chance of an account being chosen as the creator of a new block depends on the number of cryptocurrencies 5 Currently, mining pools also exist. 6 . 7 . Blockchain technology and complex flow systems ... 162 163Rev. Bras. Inov., Campinas (SP), 18 (1), p. 157-176, janeiro/junho 2019Rev. Bras. Inov., Campinas (SP), 18 (1), p. 157-176, janeiro/junho 2019 owned by this account. Generally speaking, PoS also implies that all cryptocurrencies are created at launch, although the total amount can remain constant or increase over time. Given the above, the basic version of the PoS mechanism also differs from Bitcoin by offering no block rewards. Validators are rewarded with transaction fees. Larimer (2014) states that “while NXT and Peercoin have each solved the problem of who should generate the next block, they have not sufficiently solved the problem of making the blockchain irreversibly secure on time.” Peercoin’s version of the mechanism requires at least six blocks (1 hour), while NXT’s one needs a minimum of 10 blocks. 2.3 Delegated Proof-of-Stake consensus mechanism Delegated Proof-of-Stake (DPoS) is a consensus algorithm that allows stakeholders and system users to have control over who is responsible for certifying the transactions that will be inserted into the blockchain. This mechanism was introduced in 2013 by the team responsible for the Bitshares blockchain platform. In DPoS, even small- time cryptocurrency holders can delegate their transaction certification prerogatives. In other words, agents in this kind of network have a voice regardless of the number of cryptocurrencies they own and can use it to transfer their certification rights to another agent (with better capabilities). The difference between a regular PoS system and a DPoS system is akin to the difference between direct democracy and representative democracy. In the PoS system, every cryptocurrency portfolio can be a part of the transaction validation process, forming the distributed consensus and receiving cryptocurrencies in return. In the DPoS system, every cryptocurrency portfolio is empowered to vote for delegates, and these delegates are the ones who perform the function of validating transactions and maintaining the blockchain while being rewarded with transaction fees (LISK ACADEMY, 2019). Thanks to the DPoS consensus mechanism, BitShares can manage roughly 50,000 transactions per second (tps), while ensuring block integrity and security.8 The evolution of the BitShares blockchain is the EOSIO, released in June 2018.9 EOSIO development is still in early stages, so parallel computing is yet to be introduced. However, its transaction rate can already exceed 3,000 tps. After incorporating parallel processing and other computational features, the EOSIO blockchain should be able 8 Further details can be obtained at the BitShares (https://goo.gl/m5JGJm). 9 . Ranulfo Paiva Sobrinho Junior, Ruiz Garcia. Alexandre Gori Maia, Ademar Ribeiro Romeiro 164 165Rev. Bras. Inov., Campinas (SP), 18 (1), p. 157-176, janeiro/junho 2019Rev. Bras. Inov., Campinas (SP), 18 (1), p. 157-176, janeiro/junho 2019 to operate at more than 500,000 tps. It will also be able to execute smart contracts without the operating costs of other blockchain platforms, such as Ethereum.10 2.4 Smart contracts Smart contracts are self-contained sets of digital instructions, computer programs, which operate within a blockchain. Nick Szabo coined the term in 1994.11 Szabo (1994) defines smart contract as: […] a computerized transaction protocol that executes terms of a contract. The general objectives of smart contract design are to satisfy common contractual conditions (such as payment terms, liens, confidentiality, and even enforcement), minimize exceptions both malicious and accidental, and minimize the need for trusted intermediaries. Related economic goals include lowering fraud loss, arbi- trations and enforcement costs, and other transaction costs. ( The term smart contract came about before the introduction of blockchain technology but gained more relevance with the appearance of the Ethereum blockchain in 2014. Ethereum allows these contracts to be executed once they have been allocated adequately within the blockchain. As the first blockchain platform to support smart contracts, as in the case of Bitcoin, its limitations are already overcome by alternatives such as EOS. The first of these limitations, which we have previously discussed, lies in Ethereum’s limited transactions per second (tps) capabilities. A second limitation is related to transaction costs, which are significantly higher in comparison to those of the EOSIO platform. Regardless of the particularities of different blockchain platforms, smart contracts have standard features, such as the use of oracles. Oracles are reliable sources of information and data that serve as inputs for smart contracts. For example, the temperature measurement service of a government institution could use an oracle to provide temperature data, which would then be utilized in a smart contract representing a bet between two people. In this example, the smart contract would work as follows: if on a specific day, at a given time, the temperature equals a specific value, one of the gamblers loses the bet, while the smart contract automatically transfers an asset (cryptocurrencies) to the winning party. 10 . 11 . Blockchain technology and complex flow systems ... 164 165Rev. Bras. Inov., Campinas (SP), 18 (1), p. 157-176, janeiro/junho 2019Rev. Bras. Inov., Campinas (SP), 18 (1), p. 157-176, janeiro/junho 2019 Smart contracts can also help organized civil society to come up with new institutions, which could issue their own cryptocurrencies and establish rules of self-regulatory administration. Thus, smart contracts could enable the management of water resources in a decentralized manner, with less exposure to the pitfalls of the economic system (DUNCAN, 2011; MILNE, 2009; PAIVA SOBRINHO; ROMEIRO, 2016a). This rationale is directly related to the development of Decentralized Autonomous Organizations (DAOs). The operating rules for a DAO can be defined in smart contracts stored in a blockchain platform. The use of a public blockchain platform would make these rules openly accessible. It is worth noting that all forms of blockchain technology, regardless of consensus mechanism, allow people who do not trust each other to collaborate without relying on a central authority or centralized management. In this sense, blockchain technology is known as a trust-building “machine” (THE ECONOMIST, 2015). According to Mougayar and Buterin (2016), the blockchain makes intermediary financial agents – such as conventional banks – wholly obsolete. Avoiding intermediaries financial agents opens a path for the creation of parallel monetary systems, immune to the structural shortcomings of the current international monetary system (DUNCAN, 2011; PAIVA SOBRINHO; ROMEIRO, 2016a). In any case, the use of blockchain technology to solve socio-ecological problems is already a reality. One example is SolarCoin, created to promote the use and generation of solar energy (SOLARCOIN, 2019). The SolarCoin foundation makes their cryptocurrency available to those able to prove that they have generated solar electricity. It states that 99% of SolarCoins will be transferred to solar producers over the next 40 years. Each SolarCoin in circulation represents 1 MWh of solar energy, generated by solar panels installed in residential and commercial establishments. Paiva Sobrinho and Romeiro (2016b) propose a prototype cryptocurrency known as Oxys, aimed at promoting sustainable development. The coin would foster actions targeting issues such as greenhouse gas emissions and the recovery and conservation of green areas. As the name suggests, Oxys’ rationale is inspired by oxygen’s life-giving role in nature. Oxys would be generated when an agent performs verifiable actions aimed at solving socio-ecological problems at any spatial scale—local, regional, national, or international. Verberne (2018), for instance, proposes the use of blockchain technology for tracking maritime fish populations. Other, novel applications will gradually emerge, especially in water governance. Ranulfo Paiva Sobrinho Junior, Ruiz Garcia. Alexandre Gori Maia, Ademar Ribeiro Romeiro 166 167Rev. Bras. Inov., Campinas (SP), 18 (1), p. 157-176, janeiro/junho 2019Rev. Bras. Inov., Campinas (SP), 18 (1), p. 157-176, janeiro/junho 2019 3. Principles of water governance Several research contributions are defining the concept of water governance (BICUDO; TUNDISI; SCHEUENSTUHL, 2017; PAHL-WOSTL, 2015). Interestingly, some of these contributions highlight popular participation as an essential component (EMPINOTTI; JACOBI; FRACALANZA, 2016). The document “OECD Principles on Water Governance” (OCDE, 2015) merits special consideration, although it suffers from several theoretical limitations, which we will point out here. The OCDE (2015) has established general principles to help countries develop their water governance models. It has also contributed to the development of transparent and result-oriented public policies. The organization’s water governance principles are based on three complementary and mutually reinforcing dimensions: • effectiveness: [to define] clear sustainable water policy goals and targets at different levels of government, to implement those policy goals, and to meet expected objectives or targets; • efficiency: [to maximize] the benefits of sustainable water management and welfare at the least cost to society; • trust and engagement: [to build] public confidence and [ensure] inclusiveness of stakeholders through democratic legitimacy and fairness for society at large. These principles and OCDE’s contribution as a whole are of vital importance. Nevertheless, knowledge is in constant evolution and, in this sense, we argue that water governance should incorporate innovations stemming from the theory of sustainability of complex flow systems (ULANOWICZ et al., 2009). The approach conceptually and empirically demonstrates that, in these systems, sustainability relies on the combination of resilience and efficiency. The degree of magnitude of these components depends on two variables: structural diversity and connectivity. Socio-ecological systems, such as those related to water resources management, fall within the category of complex flow systems. Thus, their sustainability is a function of their resilience and efficiency (LIETAER et al., 2012; ULANOWICZ et al., 2009). Further details on the sustainability of complex flow systems are presented in section 4. In addition to those indicated by OCDE (2015), other aspects of water governance would also have to undergo a process of innovation. Several authors agree that improved water governance should also incorporate anti-corruption practices, introducing greater transparency to water resources management, especially Blockchain technology and complex flow systems ... 166 167Rev. Bras. Inov., Campinas (SP), 18 (1), p. 157-176, janeiro/junho 2019Rev. Bras. Inov., Campinas (SP), 18 (1), p. 157-176, janeiro/junho 2019 in regards to financial resources (EMPINOTTI; JACOBI; FRACALANZA, 2016; UNDP, 1997; UNESCO, 2003). In this sense, we are convinced that the application of blockchain technology to water governance can increase resource allocation transparency, providing security against data tampering practices, and growing trust among stakeholders. Adoption of this technology to solve water resources-related problems should increase as more people and institutions become aware of its potential. Precisely in this vein, Paiva Sobrinho et al. (2017b) outline a cryptocurrency system for the conservation of water resources in the JundiaĂ­ River basin, in the state of SĂŁo Paulo. The cryptocurrency’s goal is to encourage the basin’s inhabitants to carry out actions aiming at the conservation of water resources, both in rural and urban areas. 4. Sustainability of complex flow systems A complex flow system is composed of several interconnected parts, through which the flow of water, energy, money, species, or products and services occurs (ULANOWICZ et al., 2009). In other words, it is a system naturally or artificially delineated to allow the transfer of objects between its parts. As previously explained, the sustainability of these systems depends on two properties (LIETAER et al., 2012; ULANOWICZ et al., 2009): resilience, and efficiency. The authors show that sustainability is greater when resilience surpasses efficiency. However, if too much resilience or efficiency is introduced, sustainability decreases. The region where the sustainability of the system is maximum is called the window of viability. Thus, the challenge is to design socio-ecological systems that lie precisely within this region. The concept of resilience is related to the number of alternative pathways a system can rely on to remain functional, in case of a disruption of the system’s main flow pathway. In the economic systems of several nations, for example, small and medium enterprises depend on a single type of credit: bank credit. These enterprises are subject to the negative consequences of economic crises, which create unfavorable bank credit conditions. In this case, resilience is zero because entrepreneurs have no alternative to bank credit. Since 1934, entrepreneurs in Switzerland have the WIR at their disposal. The WIR currency differs from the Swiss franc, the dollar or the euro, which are created by central (FEDERAL RESERVE OF BOSTON, 1982), commercial banks whenever their customers get into debt (MCLEAY; RADIA; THOMAS, 2014; WERNER, Ranulfo Paiva Sobrinho Junior, Ruiz Garcia. Alexandre Gori Maia, Ademar Ribeiro Romeiro 168 169Rev. Bras. Inov., Campinas (SP), 18 (1), p. 157-176, janeiro/junho 2019Rev. Bras. Inov., Campinas (SP), 18 (1), p. 157-176, janeiro/junho 2019 2016). The WIR is offered by the WIR Bank, whose governance depends on small and medium entrepreneurs, and not on the financial system. The WIR Bank issues credit through a mutual credit clearing system, that is, small and medium-sized businesses obtain a loan without incurring debt as they would in a traditional bank.12 Stodder (2009) argues that the WIR bank favors the development of small and medium-sized businesses, especially in times of economic and financial crisis (when traditional credit is more difficult to obtain). In this context, entrepreneurs can receive credit from the WIR bank using a mutual credit clearing system. According to Lietaer et al. (2012), the current financial system is unsustainable due to its high efficiency and zero resilience. High efficiency implies that the components of a system have a greater connection to and dependence on a single source of resources. In the case of an economic system, this refers to the relationship and interdependence of economic sectors on the traditional banking system. The issue here is that banks generally do not provide credit for solving socio-ecological problems since this activity will rarely yield any financial returns. Additionally, banking system problems negatively impact other economic sectors, as the credit flow is interrupted or no more extended functions as before.13 To ensure that the economic system remains operational even when one source of credit is compromised, different financial sources have to be created. Otherwise, even a state intervention will not be able to circumvent the situation completely. In the case of the economic system, several authors (LIETAER et al., 2012; PAIVA SOBRINHO; ROMEIRO, 2015) point to the incorporation into the monetary system of new types of money, or complementary currencies,14 outside the control of traditional financial institutions. One alternative type of money is comprised of cryptocurrencies developed based on blockchain technology. Although water governance models have been through a significant evolution (OCDE, 2015; TUNDISI, 2013), they continue to have zero resilience due to relying on only one type of money as a financial source. This dependence is a severe fault in the governance of water resources, but could be solved with a combination of multiple actions, such as a) creating awareness of the existence of various types of money, such as cryptocurrencies (PAIVA SOBRINHO; CÓRDOBA-BRENES, 12 For more details on the operation of the mutual credit clearing system, see Paiva Sobrinho (2016). 13 Another example would be an automobile able to run on petrol, ethanol and natural gas. Such an automobile would be more resilient than one depending entirely on petrol. In case petrol supply problems start occurring, the former can rely on other sources of energy, maintaining its flow, while the latter cannot. 14 Lietaer (1999) defines complementary currency as an agreement within a community to accept a non-national currency as a medium of exchange. The complementary currency performs social functions for which the official currency was not intended. Blockchain technology and complex flow systems ... 168 169Rev. Bras. Inov., Campinas (SP), 18 (1), p. 157-176, janeiro/junho 2019Rev. Bras. Inov., Campinas (SP), 18 (1), p. 157-176, janeiro/junho 2019 2016; PAIVA SOBRINHO; ROMEIRO, 2016a); b) using blockchain technology to ensure transparency and trust. One should also po";"""date"",""2019-07-19T12:26:37Z"" ""pdf:PDFVersion"",""1.3"" ""xmp:CreatorTool"",""Adobe InDesign CC 2017 (Windows)"" ""pdf:docinfo:title"",""6_artigo_8655757_2a_prova.indd"" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""language"",""en"" ""dc:format"",""application/pdf; version=1.3"" ""pdf:docinfo:creator_tool"",""Adobe InDesign CC 2017 (Windows)"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"",""6_artigo_8655757_2a_prova.indd"" ""xmp:CreateDate"",""2019-07-18T17:26:01Z"" ""modified"",""2019-07-19T12:26:37Z"" ""pdf:hasMarkedContent"",""false"" ""xmp:ModifyDate"",""2019-07-19T09:26:37Z"" ""trapped"",""False"" ""meta:creation-date"",""2019-07-18T20:26:01Z"" ""created"",""2019-07-18T20:26:01Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2019-07-18T20:26:01Z"" ""xmpMM:DerivedFrom:DocumentID"",""xmp.did:dc2a2e2b-f106-4f41-b3a2-b081c4440df3"" ""GTS_PDFXVersion"",""PDF/X-1:2001"" ""producer"",""Adobe PDF Library 15.0"" ""GTS_PDFXConformance"",""PDF/X-1a:2001"" ""pdf:docinfo:producer"",""Adobe PDF Library 15.0"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""pdf:docinfo:custom:GTS_PDFXVersion"",""PDF/X-1:2001"" ""access_permission:modify_annotations"",""true"" ""dcterms:created"",""2019-07-18T20:26:01Z"" ""Last-Modified"",""2019-07-19T12:26:37Z"" ""dcterms:modified"",""2019-07-19T12:26:37Z"" ""title"",""6_artigo_8655757_2a_prova.indd"" ""xmpMM:DocumentID"",""xmp.id:1f2124c8-faae-0948-8137-728f763700fe"" ""Last-Save-Date"",""2019-07-19T12:26:37Z"" ""pdf:docinfo:modified"",""2019-07-19T12:26:37Z"" ""meta:save-date"",""2019-07-19T12:26:37Z"" ""Content-Length"",""596867"" ""Content-Type"",""application/pdf"" ""xmp:MetadataDate"",""2019-07-19T09:26:37Z"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""dc:language"",""pt-BR"" ""pdf:producer"",""Adobe PDF Library 15.0"" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""20"" ""pdf:hasXMP"",""true"" ""pdf:charsPerPage"",""2024"",""1665"",""2671"",""3040"",""2640"",""2446"",""2730"",""2585"",""2855"",""2702"",""2714"",""3325"",""2687"",""2814"",""2859"",""2240"",""2261"",""2301"",""2132"",""479"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""pdf:docinfo:trapped"",""False"" ""pdf:docinfo:custom:GTS_PDFXConformance"",""PDF/X-1a:2001"" ""xmpMM:DerivedFrom:InstanceID"",""xmp.iid:6b9c9a34-0008-6344-a085-ee6e5183976b"" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2019-07-18T20:26:01Z"" ";https://scholar.google.com/scholar?start=550&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094581-829;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Tight reductions for Diffie-Hellman variants in the algebraic group model;T Mizuide, A Takayasu, T Takagi ; Cryptographers' Track at the RSA …, 2019 Springer;;"… In Crypto'18, Fuchsbauer, Kiltz, and Loss [FKL18] introduced an algebraic group model (AGM) … Although the algebraic algorithm is not required to interact with an oracle for the computation, it should output a record of a group operation which Fuchsbauer et al …";Cité 6 fois;Les 5 versions;[PDF] iacr.org;https://eprint.iacr.org/2018/1220.pdf;" Tight Reductions for Diffie-Hellman Variants in the Algebraic Group Model∗ Taiga Mizuide†, Atsushi Takayasu‡, Tsuyoshi Takagi§ June 29, 2019 Abstract Fuchsbauer, Kiltz, and Loss (Crypto’18) gave a simple and clean definition of an alge- braic group model (AGM) that lies in between the standard model and the generic group model (GGM). Specifically, an algebraic adversary is able to exploit group-specific structures as the standard model while the AGM successfully provides meaningful hardness results as the GGM. As an application of the AGM, they showed a tight computational equivalence between the computing Diffie-Hellman (CDH) assumption and the discrete logarithm (DL) assumption. For the purpose, they used the square Diffie-Hellman assumption as a bridge, i.e., they first proved the equivalence between the DL assumption and the square Diffie-Hellman assumption in the AGM, then used the known equivalence between the square Diffie-Hellman assumption and the CDH assumption in the standard model. In this paper, we provide an alternative proof that directly shows the tight equivalence between the DL assumption and the CDH assumption. The crucial benefit of the direct reduction is that we can easily extend the approach to several variants of the CDH assumption, e.g., the bilinear Diffie-Hellman assumption. Indeed, we show several tight computational equivalences and discuss applicabilities of our techniques. In this full version, we provide further applications (including the matrix computational Diffie-Hellman assumption and the kernel matrix Diffie-Hellman assumption) and a detailed overview of our techniques. ∗We would like to thank anonymous reviewers of CT-RSA 2019 for their helpful comments and suggestions. This research was supported by JST CREST Grant Number JPMJCR14D6, Japan. This is the full version of [MTT19]. †Department of Creative Informatics, The University of Tokyo. ‡Department of Mathematical Informatics, The University of Tokyo and National Institute of Advanced Industrial Science and Technology (AIST). (takayasu@mist.i.u-tokyo.ac.jp) §Department of Mathematical Informatics, The University of Tokyo. Contents 1 Introduction 3 1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Our Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.3 Technical Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.4 Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2 Computational Problems 6 2.1 Diffie-Hellman Variants in Cyclic Groups . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2 Diffie-Hellman Variants in Symmetric Bilinear Groups . . . . . . . . . . . . . . . . . 7 2.3 Matrix Diffie-Hellman Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3 Algebraic Group Model 11 4 Reductions for Diffie-Hellman Variants in Cyclic Groups 13 4.1 DL to CDH Reduction via Affine Embedding . . . . . . . . . . . . . . . . . . . . . . 13 4.2 Master Theorem in Cyclic Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 5 Reductions for Diffie-Hellman Variants in Symmetric Bilinear Groups 16 5.1 Algebraic Symmetric Bilinear Group Model . . . . . . . . . . . . . . . . . . . . . . . 16 5.2 BDL to CBDH Reduction via Affine Embedding . . . . . . . . . . . . . . . . . . . . 16 5.3 Master Theorem in Symmetric Bilinear Groups . . . . . . . . . . . . . . . . . . . . . 18 6 Reduction for Matrix Computational Diffie-Hellman Problem 20 6.1 Algebraic Group Model for Matrix Computational Diffie-Hellman Problem . . . . . . 21 6.2 BDL to Computational k-Lin Reduction via Implicit Embedding . . . . . . . . . . . 21 6.3 Master Theorem for Matrix Computational Diffie-Hellman Problem . . . . . . . . . 22 7 Reduction for Matrix Kernel Diffie-Hellman Problem 26 7.1 Algebraic Group Model for Matrix Kernel Diffie-Hellman Problem . . . . . . . . . . 27 7.2 Master Theorem for Matrix Kernel Diffie-Hellman Problem . . . . . . . . . . . . . . 27 8 Conclusion 29 1 Introduction 1.1 Background Diffie-Hellman Problem in the Generic Group Model. The discrete logarithm (DL) as- sumption and the computational Diffie-Hellman (CDH) assumption including its variants have been devoted to constructing numerous cryptographic protocols. Hence, estimating the computational hardness of solving the problems is a fundamental research topic in cryptography. For the pur- pose, the generic group model (GGM) [Nec94, BL96, Sho97, MW98, Mau05] over cyclic groups is a wonderful tool and has successfully provided several fantastic results in the context. Generic al- gorithms are not able to exploit specific structures of cyclic groups in the sense that the algorithms are given group elements only via abstract handles. Then, the algorithms are able to output only group elements which are computed by interacting with an oracle and applying group operations to given elements. Therefore, generic algorithms such as a baby-step giant-step algorithm, the Pohlig-Hellman algorithm [PH78] (in composite-order groups), and Pollard’s rho algorithm [Pol78] work in any cyclic groups. Furthermore, the most substantial benefit of the GGM is that we are able to derive information theoretic lower bounds of computational problems, where analogous analyses seem infeasible in the standard model. For example, any generic algorithms require at least O( √ p) group operations to solve the DL problem in cyclic groups of a prime-order p. Analogous analyses have also been made for the CDH problem and its variants in an ad-hoc manner. Thus far, the GGM has been extended and used for studying computational problems in bilinear (and multilinear) groups [BB08, Boy08, KSW13, MRV16, EHK+17]. One main criticism of the GGM is that computational problems that are generically hard may not be hard when instantiated in concrete groups. Jager and Schwenk [JS13] proved that computing a Jacobi symbol of an integer modulo a composite n generically is equivalent to factorization; however, the computation is easy when given an actual representation of Zn. Similarly, the number field sieves [Gor93] in specific groups are able to solve the DL problem in subexponential time in log p, i.e., faster than the generic algorithms. Hence, the GGM gives us certain confidence of computational hardness while we want to obtain analogous results in the standard model or less restricted models than the GGM. Algebraic Group Model. In Crypto’18, Fuchsbauer, Kiltz, and Loss [FKL18] introduced an algebraic group model (AGM). The definition of the AGM lies in between the standard model and the GGM. Like the standard model and unlike the GGM, an algebraic algorithm is given an actual representation of cyclic groups. On the other hand, like the GGM and unlike the standard model, an algebraic algorithm is able to output only group elements by applying group operations to given elements. Although the algebraic algorithm is not required to interact with an oracle for the compu- tation, it should output a record of a group operation which Fuchsbauer et al. called a representa- tion. Let G := (G, G, p) be a group description, where G is an additive cyclic group of a prime-order p and G is a generator. When an algebraic algorithm is given ( G, X⃗ := (X1, . . . , Xℓ) ∈ Gℓ ) and outputs Z ∈ G, it has to also output a vector z⃗ := (z0, z1, . . . , zℓ) ∈ Zℓ+1 p as a representation of Z with respect to X⃗ such that Z = ∑ℓ i=0 ziXi, where X0 := G. Similar definitions of an algebraic algorithm are already known in [BV98, PV05]; however, Fuchsbauer et al.’s definition is simpler and clearer. The AGM is not allowed to derive computational lower bounds as the standard model. In turn, as opposed to the standard model, Fuchsbauer et al. showed that the AGM is able to make a tight reduction from the DL to the CDH. To be precise, they used the square Diffie-Hellman (DH) 3 problem [MW96, BDS98] as an intermediate step. They first proved a tight reduction from the DL to the square DH in the AGM. Let (G, X) be a DL instance such that X := xG. The reduction algorithm gives (G, X) to a square DH algorithm and receives an answer Z = x2G along with a representation vector z⃗. Fuchsbauer et al. showed that the vector z⃗ and the relation z0G+ z1X = Z are sufficient to recover the DL solution x by solving an equation modulo a prime p. Then, thanks to the known computational equivalence between the square DH and the CDH [MW99, BDZ03], their reduction implies a tight reduction from the DL to the CDH in the AGM. Furthermore, a valuable feature of the result is that the reduction algorithm is generic. Due to the fact, an existence of the tight reduction implies an information theoretic lower bounds of the CDH as O( √ p) in the GGM. Fuchsbauer et al. claimed that a benefit of the AGM is that we are able to derive information theoretic lower bounds of the CDH in the GGM via quite simple arguments. Indeed, Fuchsbauer et al.’s reduction in the AGM is much simpler than the analogous analysis in the GGM. Therefore, providing generic reductions from the DL to other computational problems of the CDH family in the AGM has to be an interesting open problem. 1.2 Our Contributions In this paper, we provide generic and tight reductions from the DL to several computational prob- lems of the CDH family in the AGM. A starting point of our technique is a direct reduction from the DL to the CDH without using the square DH as the intermediate step. Given the DL in- stance (G, X), our reduction algorithm randomly samples r ∈ Zp and gives (G, (X1, X2)) to a CDH algorithm, where X1 := X = xG and X2 := X + rG = (x+ r)G. Here, (G, (X1, X2)) is a properly distributed CDH instance in the sense that x and x + r are independently distributed to uniform in Zp from the CDH algorithm’s view. Then, the reduction algorithm receives a solution of the CDH Z = x(x+ r)G along with a representation vector z⃗. We show that the vector z⃗ and the relation z0G+ z1X1 + z2X2 = Z are sufficient to recover x by solving an equation modulo a prime p. The approach is very simple as Fuchsbauer et al.’s one and easily applicable to several CDH variants which are not studied in [FKL18]. We believe that the simplicity is a main benefit of our result. To explain our technique as simple as possible, we consider only tight reductions in the sense that the reduction algorithm uses an algorithm for CDH variants only once. Furthermore, we extend the AGM to an algebraic bilinear group model (ABGM) for studying computational problems in symmetric bilinear groups equipped with a map e : G × G → GT . We define an algebraic bilinear algorithm so that it is given ( G := (G,GT , G, e, p), X⃗ := (X1, . . . , Xk) ∈ Gk, Y⃗ := (Y1, . . . , Yℓ) ∈ Gℓ T ) and outputs Z ∈ GT along with a representation vector z⃗ that indicates how Z is computed by the given elements. Then, we extend the approach used in cyclic groups and provide generic and tight reductions from the DL to several computational problems of the CDH family including the computational bilinear Diffie-Hellman problem. Finally, we provide our master theorems that indicate what kind of computational assumptions can be reduced to from the DL assumption both in cyclic groups and bilinear groups of a prime- order. 4 In the preliminary version [MTT19], our master theorem in cyclic groups does not capture the computational k-linear problem. Thus, we gave a tailor-made reduction for the problem. In this full version, we provide a new master theorem for the matrix computational Diffie-Hellman problem that includes the computational k-linear problem as a special case. Furthermore, we show a new application called the kernel matrix Diffie-Hellman problem in this full version. 1.3 Technical Overview In this subsection, we provide more detailed explanation of our technique, where the discussion did not appear in the preliminary version [MTT19]. In [FKL18], the reduction algorithm of Fuchsbauer et al. gives (G, X), which is exactly the DL instance, to a square DH algorithm. We call the reduction approach an identity embedding since the DL solution x is used only by xG = X as a group element. In other words, even if we want to use an algorithm which takes multiple group elements (X1, X2, . . .) as the input, the identity embedding can embed the DL solution x into only one group element. Since the square DH is computationally equivalent to the CDH in the standard model, the identity embedding is enable to show a computational equivalence between the DL and the CDH by using the square DH as the intermediate bridge. However, the identity embedding looks insufficient for providing a direct reduction from the DL to the CDH. The limitation of the identity embedding is that the DL solution is used only for one group element. When we try to use the identity embedding to provide a reduction for the CDH, the reduction algorithm randomly samples r ∈ Zp and sets X1 := X = xG and X2 := rG. However, in this case the relation z0G+ z1X1 + z2X2 = Z obtained by the output of the CDH algorithm is insufficient for recovering the DL solution x. Intuitively, the output of the CDH algorithm xrG does not give the reduction algorithm any additional information, since the reduction algorithm is able to compute Z = xrG = rX by itself. To this end, we introduce a new embedding which we call an affine embedding. As claimed above, when we provide a reduction for the CDH problem, the reduction algorithm gives (G, (X1, X2)) to a CDH algorithm, where X1 := X = xG and X2 := X + rG = (x+ r)G by picking a random r ∈ Zp. The affine embedding embeds the DL solution x into two group elements (X1, X2), where x + r that is an exponent of X2 has an affine relation of x. Then, the reduction algorithm is able to obtain non-trivial information since it is not able to compute Z = x(x+ r)G (or x2G) by itself. Similarly, the affine embedding is able to embed the DL solution x into multiple group elements ((x + r1)G, . . . , (x + rℓ)G) by picking random (r1, . . . , rℓ) ∈ Zℓ p. Note that the discrete logarithm of group elements (x, x+ r1, . . . , x+ rℓ) look random in Zℓ+1 p from Diffie-Hellman algorithm’s view. The affine embedding is still insufficient for the computational k-linear problem, i.e., given (G, X1 := x1G, . . . ,Xk := xkG,Y1 := x1y1, . . . , Yk := xkykG) for random (x1, . . . , xk, y1, . . . , yk) and compute (y1 + ¡ ¡ ¡ + yk)G. Specifically, by embedding an affine relation of the DL solution x into some (x1, . . . , xk, y1, . . . , yk), then a relation obtained by the k-linear algorithm’s output 5 may result in a zero polynomial. To avoid the obstacle, we sample a random x1 by ourselves and implicitly embed the DL solution x into x1y1. We call the embedding implicit embedding since we do not know a value of y1. In other words, a k-linear algorithm enables us to obtain a non-trivial value y1 = x1/x that enables us to provide a reduction from the DL to the k-linear problem. 1.4 Organization In Section 2, we review several computational problems which we study in this paper. In Section 3, we review a definition of the algebraic group model (AGM) defined by Fuchsbauer et al. [FKL18]. In Sections 4 and 5, we show our technique to provide generic and tight reductions from the DL to the CDH family in cyclic groups and symmetric bilinear groups along with master theorems, respectively. In Sections 6 and 7, we show new applications of this full version, i.e., generic and tight reductions from the DL problem to the matrix computational Diffie-Hellman problem and the matrix kernel Diffie-Hellman problem, respectively. Notations. We use x $← Zp to denote a uniformly random sampling from Zp and (x1, . . . , xℓ) $← Zℓ p to denote every element is sampled by xi $← Zp independently. Let a capital case bold letter A and a lower case bold letter a denote a matrix and a column vector, respectively. Let 0k denote a k-dimensional zero vector. For an (m+n)-variate polynomial f(x1, . . . , xm, y1, . . . , yn), we use deg f to denote a degree of the polynomial and degx1,...,xm f to denote a degree of the polynomial only with respect to variables x1, . . . , xm. As an example for f(x, y, z) := x2yz, we use the notations deg f = 4, degx f = 2, and degx,y = 3. As a notational convenience, we use deg f = 1/k for f = x1/k and deg f = −k for f = x−k. 2 Computational Problems In this section, we review several computational problems that we study in this paper. Specifically, in Sections 2.1, 2.2, and 2.3, we review Diffie-Hellman variants in cyclic groups, symmetric bilin- ear groups, and matrix Diffie-Hellman problems in asymmetric bilinear groups, respectively. The contents of this section refer to [Boy08, KSW13, MRV16, EHK+17]. 2.1 Diffie-Hellman Variants in Cyclic Groups We review computational problems in cyclic groups. Let G := (G, G, p) be a group description, where G is an additive group generated by G and has a prime-order p.1 For simplicity, when given G we use the notation [a] := aG for a ∈ Zp. We first define a discrete logarithm problem to which other problems will be reduced. Definition 1 (Discrete Logarithm (DL) Problem). Given a group description G := (G, G, p) and a group element X := [x] ∈ G;x $← Zp, compute x ∈ Zp. Then, we summarize the CDH problem and its variants which we study in this paper. Definition 2 (Computational Diffie-Hellman (CDH) Problem [DH76]). Given a group description G := (G, G, p) and group elements (X1 := [x1], X2 := [x2]) ∈ G2; (x1, x2) $← Z2 p, compute Z := [x1x2] ∈ G. 1 To construct a reduction, we solve an equation modulo an order of G. Hence, if the order is composite, we do not know how to solve it in general. Hence, we study only a prime-order group in this paper as [FKL18]. 6 Definition 3 (k-party Diffie-Hellman (k-PDH) Problem [Bis08]). Given a group description G := (G, G, p) and group elements (X1 := [x1], . . . , Xk := [xk]) ∈ Gk; (x1, . . . , xk) $← Zk p, compute Z := [x1 ¡ ¡ ¡xk] ∈ G. The following k-exponent Diffie-Hellman assumption for k = 2 called the square Diffie-Hellman assumption was used in [MW96, BDS98]. Definition 4 (k-exponent Diffie-Hellman (k-EDH) Problem). Given a group description G := (G, G, p) and a group element X := [x] ∈ G;x $← Zp, compute Z := [xk] ∈ G. The following k-th root Diffie-Hellman problem for k = 2 called the square root Diffie-Hellman problem was used in [KMS04]. Definition 5 (k-th Root Diffie-Hellman (k-RDH) Problem). Given a group description G := (G, G, p) and a group element X := [x] ∈ G;x $← Zp, compute Z := [x1/k] ∈ G. The following k-Inverse Diffie-Hellman problem for k = 1 called the inverse computational Diffie-Hellman problem was used in [BDZ03]. Definition 6 (k-Inverse Diffie-Hellman (k-IDH) Problem). Given a group description G := (G, G, p) and a group element X := [x] ∈ G;x $← Zp, compute Z := [x−k] ∈ G. To provide our master theorem in cyclic groups, we define a generalized version of the Diffie- Hellman problem as follows. Definition 7 (Generalized Diffie-Hellman (GDH) Problem). Let f1(x1, . . . , xm, y1, . . . , yn), . . . , fℓ(x1, . . . , xm, y1, . . . , yn), and g(x1, . . . , xm) be known fixed non-zero polynomials. Given a group description G := (G, G, p) and group elements (X1 := [f1(x1, . . . , xm, y1, . . . , yn)], . . . , Xℓ := [fℓ(x1, . . . , xm, y1, . . . , yn)]) ∈ Gℓ; (x1, . . . , xm, y1, . . . , yn) $← Zm+n p , compute Z := [g(x1, . . . , xm)] ∈ G. Note that the GDH problem contains the CDH, the k-PDH, the k-EDH, the k-RDH, and the k-IDH problem as special cases. 2.2 Diffie-Hellman Variants in Symmetric Bilinear Groups We review computational problems in bilinear groups. For simplicity, we focus only on symmetric bilinear maps e : G×G → GT . Let G := (G,GT , G, e, p) be a bilinear group description, where G is an additive group generated by G and has a prime-order p, and GT is a multiplicative group of order p associated with a non-degenerate bilinear map e : G×G→ GT , i.e., e(G,G) is a generator of GT and e(xG, yG) = e(G,G)xy. For simplicity, when given G we use the notations [a] := aG and [a]T := e(G,G)a for a ∈ Zp. We will provide a reduction from the DL in source groups G to CDH variants. Hence, we define a bilinear discrete logarithm problem as follows. Definition 8 (Bilinear Discrete Logarithm (BDL) Problem). Given a bilinear group description G := (G,GT , G, e, p) and a group element X := [x] ∈ G;x $← Zp, compute x ∈ Zp. 7 Then, we summarize the CDH variants in symmetric bilinear groups. Definition 9 (Computational Bilinear Diffie-Hellman (CBDH) Problem [BF03, Jou04]). Given a bilinear group description G := (G,GT , G, e, p) and group elements (X1 := [x1], X2 := [x2], X3 := [x3]) ∈ G3; (x1, x2, x3) $← Z3 p, compute Z := [x1x2x3]T ∈ GT . Definition 10 (k-party Bilinear Diffie-Hellman (k-PBDH) Problem). Given a group description G := (G,GT , G, e, p) and group elements (X1 := [x1], . . . , Xk := [xk]) ∈ Gk; (x1, . . . , xk) $← Zk p, compute Z := [x1 ¡ ¡ ¡xk]T ∈ GT . Definition 11 (k-exponent Bilinear Diffie-Hellman (k-EBDH) Problem). Given a group description G := (G,GT , G, e, p) and a group element X := [x] ∈ G;x $← Zp, compute Z := [xk]T ∈ GT . Definition 12 (k-th Root Bilinear Diffie-Hellman (k-RBDH) Problem). Given a group description G := (G,GT , G, e, p) and a group element X := [x] ∈ G;x $← Zp, compute Z := [x1/k]T ∈ GT . Definition 13 (k-Inverse Bilinear Diffie-Hellman (k-IBDH) Problem). Given a group description G := (G,GT , G, e, p) and a group element X := [x] ∈ G;x $← Zp, compute Z := [x−k]T ∈ GT . To provide our master theorem in bilinear groups, we define a generalized version of the bilinear Diffie-Hellman problem as follows. Definition 14 (Generalized Bilinear Diffie-Hellman (GBDH) Problem). Let f1(x1, . . . , xm, y1, . . . , yn), . . . , fk(x1, . . . , xm, y1, . . . , yn), g1(x1, . . . , xm, y1, . . . , yn), . . . , gℓ(x1, . . . , xm, y1, . . . , yn), and h(x1, . . . , xm) be known fixed non-zero polynomials. Given a bilinear group description G := (G,GT , G, e, p) and group elements( X1 := [f1(x1, . . . , xm, y1, . . . , yn)], . . . , Xk := [fk(x1, . . . , xm, y1, . . . , yn)], Y1 := [g1(x1, . . . , xm, y1, . . . , yn)]T , . . . , Yℓ := [gℓ(x1, . . . , xm, y1, . . . , yn)]T ) ∈ Gk ×Gℓ T ; (x1, . . . , xm, y1, . . . , yn) $← Zm+n p , compute Z := [h(x1, . . . , xm)]T ∈ GT . Note that the GBDH problem contains the CBDH, the k-PBDH, the k-EBDH, the k-RBDH, and the k-IBDH problem as special cases. 2.3 Matrix Diffie-Hellman Problem We review matrix Diffie-Hellman problems in asymmetric bilinear groups2. Let G := (G,GT , G1, G2, e, p) be an asymmetric bilinear group description, where G1 and G2 are additive groups generated by G1 and G2 respectively, and has a prime-order p, and GT is a multiplicative group of order p associated with a non-degenerate bilinear map e : G1 × G2 → GT , i.e., e(G1, G2) is a generator of GT and e(xG1, yG2) = e(G1, G2) xy. For simplicity, when given G we use the notations [a]1 := aG1, [a]2 := aG2, and [a]T := e(G1, G2) a for a ∈ Zp. Furthermore, for a matrix A = (ai,j) we use the notation [A]1 to denote a matrix whose every (i, j) element is [ai,j ]1. We use analogous notations to denote [A]2 and [A]T . Matrix Distribution. Let Dk be a matrix distribution to sample a matrix A ∈ Z(k+1)×k p . Let Ā and a⊤ denote a top k × k submatrix and a bottom row vector of A, respectively. Escala 2The problem did not appear in the preliminary version [MTT19]. 8 et al. [EHK+17] introduced a matrix decisional Diffie-Hellman (matrix DDH) problem. Roughly speaking, the matrix DDH problem states that ([A]1, [As]1) and ([A]1, [u]1) in G(k+1)×k 1 × Gk+1 1 are computationally indistinguishable, where A ← Dk, s $← Zk p, and u $← Zk+1 p . The matrix DDH contains several decisional problems as special cases. For example, we show examples of matrix distributions Dk for the Symmetric k-Cascade assumption (SCk), the k-Cascade assumption (Ck), the decisional k-linear assumption (Lk), the incremental k-linear assumption (ILk) that were introduced in [EHK+17], and the randomized k-linear assumption (RLk) that were introduced in [JR14] (they called the assumption k-lifted assumption and the randomized k-linear assumption was named in [MRV16]) as follows: Lk : A =  a1 0 . . . 0 ak 1 ¡ ¡ ¡ 1  , SCk : A =  a 0 1 . . . . . . a 0 1  , Ck : A =  a1 0 1 . . . . . . ak 0 1  , ILk : A =  a 0 a+ 1 . . . 0 a+ k − 1 1 ¡ ¡ ¡ 1  , RLk : A =  a1 0 . . . 0 ak ak+1 ¡ ¡ ¡ a2k  . We define a generalized matrix distribution to provide our master theorems as follows: Definition 15 (Generalized Matrix Distribution GMk). Let fi,j(x1, . . . , xm) be known fixed poly- nomials (which may include zero polynomials) for (i, j) ∈ {1, 2, . . . , k + 1} × {1, 2, . . . , k}. The generalized matrix distribution GMk is defined by A = (ai,j) ∈ Z(k+1)×k p for ai,j = fi,j(x1, . . . , xm); (x1, . . . , xm) $← Zm p , where • Ā is full rank with overwhelming probability. • There is at least one index j ∈ {1, 2, . . . , k} such that fk+1,j(x1, . . . , xm) are non-zero polyno- mials. We use the notation Xi,j to denote [ai,j ]1. We will provide generic and tight reductions for computational counter parts of matrix Diffie- Hellaman problems based on the following bilinear discrete logarithm problem in a group G1. Definition 16 (Bilinear Discrete Logarithm (BDL) Problem in G1). Given a bilinear group de- scription G := (G1,G2,GT , G1, G2, e, p) and a group element X := [x]1 ∈ G1;x $← Zp, compute x ∈ Zp. In this paper, we study computational counterparts of the matrix DDH assumption in the following two ways as [MRV16]. Matrix Computational Diffie-Hellman Problem. The first computational counterpart is the matrix computational Diffie-Hellman (MCDH) problem. Roughly speaking, the MCDH problem states that given ([A]1, [Ās]1) ∈ G(k+1)×k 1 × Gk+1 1 then computing [a⊤s]1 ∈ G1 is computationally hard, where A← Dk and s $← Zk p. 9 Definition 17 (Computational k-Linear (k-Lin) Problem). Given a group description G := (G,GT , G1, G2, e, p) and group elements (X1 := [x1]1, . . . , Xk := [xk]1, Y1 := [x1y1]1, . . . , Yk := [xkyk]1) ∈ G2k+1 1 ; (x1, . . . , xk, y1, . . . , yk) $← Z2k p , compute Z := [y1 + ¡ ¡ ¡+ yk]1 ∈ G1. Definition 18 (Computational Symmetric k-Cascade (k-SCasc) Problem). Given a group de- scription G := (G,GT , G1, G2, e, p) and group elements (X := [x]1, Y1 := [xy1]1, Y2 := [y1 + xy2]1, . . . , Yk := [yk−1 + xyk]1) ∈ Gk+1 1 ; (x, y1, . . . , yk) $← Zk+1 p , compute Z := [yk]1 ∈ G1. Definition 19 (Computational k-Cascade (k-Casc) Problem). Given a group description G := (G,GT , G1, G2, e, p) and group elements (X1 := [x1]1, . . . , Xk := [xk]1, Y1 := [x1y1]1, Y2 := [y1 + x2y2]1, . . . , Yk := [yk−1 + xkyk]1) ∈ G2k 1 ; (x1, . . . , xk, y1, . . . , yk) $← Z2k p , compute Z := [yk]1 ∈ G1. Definition 20 (Computational Incremental k-Linear (k-IL) Problem). Given a group description G := (G,GT , G1, G2, e, p) and group elements (X := [x]1, Y1 := [x1y1]1, Y2 := [(x+1)y2]1, . . . , Yk := [(x+ k − 1)yk]1) ∈ Gk+1 1 ; (x, y1, . . . , yk) $← Zk+1 p , compute Z := [y1 + ¡ ¡ ¡+ yk]1 ∈ G1. Definition 21 (Computational Radnomized k-Linear (k-RL) Problem). Given a group descrip- tion G := (G,GT , G1, G2, e, p) and group elements (X1 := [x1]1, . . . , X2k := [x2k]1, Y1 := [x1y1]1, . . . , Yk := [xkyk]1) ∈ G3k 1 ; (x1, . . . , x2k, y1, . . . , yk) $← Z3k p , compute Z := [xk+1y1 + ¡ ¡ ¡ + x2kyk]1 ∈ G1. When the matrix distribution follows a generalized matrix distribution GMk in Definition 15, we call the computational problem a generalized matrix computational Diffie-Hellman problem. We formally define it as follows. Definition 22 (Generalized Matrix Computational Diffie-Hellman (GMCDH) Problem). Let fi,j(x1, . . . , xm) for (i, j) ∈ {1, 2, . . . , k + 1} × {1, 2, . . . , k} be polynomials in Definition 15. Given a group description G := (G,GT , G1, G2, e, p) and group elements ((Xi,j := [fi,j(x1, . . . , xm)]1)(i,j)∈{1,2,...,k+1}×{1,2,...,k}, (Yi := [ k∑ j=1 fi,j(x1, . . . , xm)yj ]1)j∈{1,2,...,k}) ∈ Gk(k+2) 1 ; (x1, . . . , xm, y1, . . . , yk) $← Zm+k p , compute Z := [ k∑ j=1 fk+1,j(x1, . . . , xm)yj ]1 ∈ G1. Note that the GMCDH problem contains computational variants of the k-SCasc, the k-Casc, the k-Lin, k-IL, and the k-RL problems as special cases. Matrix Kernel Diffie-Hellman Problem. The other computational counterpart is the matrix kernel Diffie-Hellman (MKDH) problem. Roughly speaking, the MKDH problem states that given [A]1 ∈ G(k+1)×k 1 then computing [v]2 ∈ Zk+1 p \ {0k+1} such that A⊤v = 0k is computationally hard, where A← Dk. Definition 23 (Kernel k-Linear (k-Lin) Problem). Given a group description G := (G,GT , G1, G2, e, p) and group elements (X1 := [x1]1, . . . , Xk := [xk]1) ∈ Gk; (x1, . . . , xk) $← Zk p, compute (Z1 := [z1]2, . . . , Zk+1 := [zk+1]2) ∈ Gk+1 2 such that x1z1 + zk+1 = ¡ ¡ ¡ = xkzk + zk+1 = 0 and (z1, . . . , zk+1) ̸= 0k+1. 10 Definition 24 (Kernel Symmetric k-Cascade (k-SCasc) Problem). Given a group description G := (G,GT , G1, G2, e, p) and a group element X := [x]1 ∈ G1;x $← Zp, compute (Z1 := [z1]2, . . . , Zk+1 := [zk+1]2) ∈ Gk+1 2 such that xz1 + z2 = ¡ ¡ ¡ = xzk + zk+1 = 0 and (z1, . . . , zk+1) ̸= 0k+1. Definition 25 (Kernel k-Cascade (k-Casc) Problem). Given a group description G := (G,GT , G1, G2, e, p) and group elements (X1 := [x1]1, . . . , Xk := [xk]1) ∈ Gk; (x1, . . . , xk) $← Zk p, compute (Z1 := [z1]2, . . . , Zk+1 := [zk+1]2) ∈ Gk+1 2 such that x1z1 + z2 = ¡ ¡ ¡ = xkzk + zk+1 = 0 and (z1, . . . , zk+1) ̸= 0k+1. Definition 26 (Kernel Incremental k-Linear (k-IL) Problem). Given a group description G := (G,GT , G1, G2, e, p) and a group element X := [x]1 ∈ G1;x $← Zp, compute (Z1 := [z1]2, . . . , Zk+1 := [zk+1]2) ∈ Gk+1 2 such that xz1 + zk+1 = (x + 1)z2 + zk+1 = ¡ ¡ ¡ = (x + k − 1)zk + zk+1 = 0 and (z1, . . . , zk+1) ̸= 0k+1. Definition 27 (Kernel Radnomized k-Linear (k-RL) Problem). Given a group description G := (G,GT , G1, G2, e, p) and group elements (X1 := [x1]1, . . . , X2k := [x2k]1) ∈ G2k 1 ; (x1, . . . , x2k) $← Z2k p , compute (Z1 := [z1]2, . . . , Zk+1 := [zk+1]2) ∈ Gk+1 2 such that x1z1 + xk+1zk+1 = ¡ ¡ ¡ = xkzk + x2kzk+1 = 0 and (z1, . . . , zk+1) ̸= 0k+1. When the matrix distribution follows a generalized matrix distribution GMk in Definition 15, we call the kernel problem a generalized matrix kernel Diffie-Hellman problem. Definition 28 (Generalized Matrix Kernel Diffie-Hellman (GMKDH) Problem). Let fi,j(x1, . . . , xm) for (i, j) ∈ {1, 2, . . . , k + 1} × {1, 2, . . . , k} be polynomials in Definition 15. Given a group description G := (G,GT , G1, G2, e, p) and group elements (Xi,j := [fi,j(x1, . . . , xm)]1)(i,j)∈{1,2,...,k+1}×{1,2,...,k} ∈ Gk(k+1) 1 ; (x1, . . . , xm) $← Zm p , compute (Z1 := [z1]2, . . . , Zk+1 := [zk+1]2) ∈ Gk+1 2 such that f1,j(x1, . . . , xm)z1 + ¡ ¡ ¡+ fk+1,j(x1, . . . , xm)zk+1 = 0 for all j ∈ {1, 2, . . . , k} and (z1, . . . , zk+1) ̸= 0k+1. Note that the GMKDH problem contains kernel variants of the k-SCasc, the k-Casc, the k-Lin, k-IL, and the k-RL problems as special cases. 3 Algebraic Group Model In this section, we review basic notions of security games, the generic group model, and the algebraic group model. The contents of this section heavily refer to [FKL18]. Algebraic Security Game. Let GG be an algebraic security game relative to a group description G := (G, G, p); an adversary A receives G and an instance of the problem X⃗ from a challenger, then returns an output. For example, we use CDHG to denote security games of the CDH problem relative to G; an adversary A receives G and (X1, X2) from a challenger, then returns an output Z. We use GA G to denote an output of a game GG between a challenger and an adversary A. A is said to win if GA G = 1; CDHA G = 1 when Z = [x1x2]. We define an advantage and a running time of an adversar";"""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""pdf:PDFVersion"",""1.5"" ""xmp:CreatorTool"","" TeX output 2019.06.29:1757"" ""pdf:hasXFA"",""false"" ""access_permission:modify_annotations"",""true"" ""access_permission:can_print_degraded"",""true"" ""dcterms:created"",""2019-06-29T08:57:36Z"" ""language"",""en"" ""dc:format"",""application/pdf; version=1.5"" ""pdf:docinfo:creator_tool"","" TeX output 2019.06.29:1757"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""Content-Length"",""193267"" ""pdf:hasMarkedContent"",""false"" ""Content-Type"",""application/pdf"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""meta:creation-date"",""2019-06-29T08:57:36Z"" ""created"",""2019-06-29T08:57:36Z"" ""access_permission:extract_for_accessibility"",""true"" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""31"" ""Creation-Date"",""2019-06-29T08:57:36Z"" ""resourceName"",""1220.pdf"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""1823"",""1350"",""3218"",""2744"",""2664"",""2555"",""2104"",""2354"",""2005"",""2326"",""2329"",""2860"",""1826"",""1784"",""1910"",""2346"",""1872"",""1928"",""1784"",""1728"",""2227"",""2302"",""1535"",""1715"",""1154"",""1820"",""2568"",""2277"",""2674"",""2584"",""1953"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""producer"",""dvipdfmx (20160307)"" ""access_permission:can_modify"",""true"" ""pdf:docinfo:producer"",""dvipdfmx (20160307)"" ""pdf:docinfo:created"",""2019-06-29T08:57:36Z"" ";https://scholar.google.com/scholar?start=640&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094539-648;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Uso de blockchain en la administración pública;E Mereles, J Ortellado ;2019 colibri.udelar.edu.uy;;"Page 1. UNIVERSIDAD DE LA REPÚBLICA FACULTAD DE INGENIERÍA Instituto de Computación - InCo PROYECTO DE GRADO Uso de blockchain en la administración pública Autores: Tutor: Eduardo Mereles Javier Barreiro Juan Ortellado … 2.1 Blockchain …";Autres articles;Version HTML;[PDF] udelar.edu.uy;https://www.colibri.udelar.edu.uy/jspui/bitstream/20.500.12008/20646/1/tg-mereles-ortellado.pdf;" UNIVERSIDAD DE LA REPÚBLICA FACULTAD DE INGENIERÍA Instituto de ComputaciĂłn - InCo PROYECTO DE GRADO Uso de blockchain en la administraciĂłn pĂşblica Autores: Tutor: Eduardo Mereles Javier Barreiro Juan Ortellado Montevideo, Uruguay 2019 RESUMEN Blockchain es una tecnologĂ­a emergente que ha cobrado gran notoriedad en los Ăşltimos aĂąos en relaciĂłn a su uso en criptomonedas como Bitcoin. Esto ha provocado que se analicen en profundidad sus funcionalidades y se evalĂşe su aplicabilidad en otros contextos. Esta tecnologĂ­a presenta una serie de caracterĂ­sticas que dan indicios de aplicabilidad en escenarios que poco tienen que ver con criptomonedas, como lo son la descentralizaciĂłn en escenarios donde no hay confianza entre los participantes, escenarios donde es importante la inmutabilidad de la informaciĂłn agregada, escenarios donde la informaciĂłn no se pueda corromper, o en definitiva cualquier combinaciĂłn de estos tres. El objetivo de este proyecto fue investigar la tecnologĂ­a, asĂ­ como herramientas que permitan trabajar con blockchain y a travĂŠs de ellas evaluar su aplicabilidad a un caso de uso en la administraciĂłn pĂşblica. Se investigĂł Bitcoin, dado que es la primera implementaciĂłn en producciĂłn y habiendo comprendido los conceptos expuestos por la criptomoneda, se investigĂł la tecnologĂ­a abstrayĂŠndose de la misma. Luego el foco se puso en estudiar frameworks de desarrollo para blockchain, analizando las prestaciones ofrecidas en relaciĂłn a los distintos escenarios posibles donde aplicarlo. Por Ăşltimo, y en base al conocimiento adquirido, se relevaron casos de uso posibles en dĂłnde aplicar la tecnologĂ­a blockchain en el entorno de la administraciĂłn pĂşblica. Sobre los casos relevados, se consultaron distintos involucrados para entender mĂĄs en profundidad cada una de las realidades y de esa forma buscar el mejor escenario para el proyecto. Este proceso permitiĂł seleccionar un caso de uso particular, que fue sometido a dos cuestionarios genĂŠricos que asisten a quien lo usa para entender si el caso puede o no ser resuelto con blockchain, y en caso de que el resultado sea afirmativo, da indicios de quĂŠ tipo de blockchain se deberĂ­a utilizar. En base al anĂĄlisis previo, se eligiĂł uno de los casos de uso para el desarrollo de una aplicaciĂłn sobre la tecnologĂ­a blockchain, el cual implica una mejora en relaciĂłn a la soluciĂłn actual. Adicionalmente, el desarrollo fue realizado pensando en que este caso pueda ser extendido fĂĄcilmente, dado que fueron encontradas otras funcionalidades en las que tambiĂŠn serĂ­a de gran valor el uso de blockchain, pero se optĂł por no implementarlo debido al alcance del proyecto. Palabras clave: blockchain, Hyperledger, cadena de bloques. Contenido 1. IntroducciĂłn .................................................................................................................. 7 1.1. Objetivos ................................................................................................................ 8 1.2. OrganizaciĂłn del documento ................................................................................. 8 2. Marco Conceptual ...................................................................................................... 11 2.1 Blockchain ............................................................................................................ 11 2.1.1. Conceptos de blockchain .............................................................................. 13 2.1.2. Tipos de blockchain ...................................................................................... 15 2.1.3. Integridad ...................................................................................................... 18 2.1.4. Smart Contracts ............................................................................................ 21 2.1.5 Otros componentes ........................................................................................ 22 2.2. Bitcoin .................................................................................................................. 23 3. Casos de aplicaciĂłn ................................................................................................... 25 3.1. SituaciĂłn actual ................................................................................................... 25 3.2. Casos de uso en ĂĄmbito pĂşblico .......................................................................... 28 4. Plataformas de blockchain ......................................................................................... 33 4.1 Plataformas investigadas ...................................................................................... 34 4.1.1 Ethereum ........................................................................................................ 34 4.1.2 Corda ............................................................................................................. 34 4.1.3 Credits ............................................................................................................ 35 4.2 Hyperledger Fabric ............................................................................................... 35 5. Caso de uso en administraciĂłn pĂşblica ...................................................................... 45 5.1. Caso de uso: empadronamiento vehicular .......................................................... 45 5.2. ValidaciĂłn de aplicabilidad .................................................................................. 45 5.2.1. Primera validaciĂłn ......................................................................................... 46 5.2.1. Segunda validaciĂłn ....................................................................................... 48 6. Arquitectura de la soluciĂłn ......................................................................................... 51 6.1. Vista lĂłgica .......................................................................................................... 51 6.2. Vista fĂ­sica ........................................................................................................... 56 6.3. Escenario ............................................................................................................. 57 7. ImplementaciĂłn .......................................................................................................... 59 7.1. TecnologĂ­as utilizadas ......................................................................................... 59 7.2. Aspectos de la implementaciĂłn ........................................................................... 60 7.3. Dificultades y limitaciones encontradas ............................................................... 63 8. GestiĂłn del proyecto .................................................................................................. 67 8.1. OrganizaciĂłn ........................................................................................................ 67 8.2. PlanificaciĂłn y ejecuciĂłn ...................................................................................... 67 9. Conclusiones y trabajo a futuro .................................................................................. 71 Referencias .................................................................................................................... 73 GLOSARIO ..................................................................................................................... 79 APÉNDICE A - InstalaciĂłn de Hyperledger Fabric ......................................................... 83 APÉNDICE B - InstalaciĂłn de la aplicaciĂłn ................................................................... 85 APÉNDICE C - Cambio versiĂłn Hyperledger ................................................................. 89 ANEXO ........................................................................................................................... 91 7 1. IntroducciĂłn Aproximadamente en el aĂąo 2009 surge la criptomoneda llamada Bitcoin [1], a travĂŠs de la cual tambiĂŠn se le da origen a la tecnologĂ­a hoy conocida como blockchain. En los aĂąos subsiguientes, fueron creadas muchas otras criptomonedas emulando el funcionamiento de Bitcoin y a pesar de su gran uso en este contexto, blockchain es observado como una tecnologĂ­a revolucionaria por sus caracterĂ­sticas y posible aplicabilidad en muchos otros contextos. Muchas plataformas o servicios que se ofrecen en la actualidad dependen de un tercero de confianza para poder funcionar con las garantĂ­as que los usuarios exigen, como por ejemplo las aplicaciones bancarias. AquĂ­ los usuarios que desean transferir dinero entre ellos, delegan en los bancos el control sobre los saldos, confiando en que estos realizarĂĄn correctamente las transferencias. Este tipo de requerimientos, hace que se centralice el control y el punto de falla del sistema y por tanto se convierta en un componente crĂ­tico para la soluciĂłn. Esta situaciĂłn, se ve alentada por la intervenciĂłn de actores con malas intenciones, que encuentran vulnerabilidades y sacan provecho de ellas, afectando en algunos casos a todo el sistema informĂĄtico. Esta situaciĂłn ha despertado el interĂŠs de la aplicaciĂłn de la tecnologĂ­a blockchain por parte de mĂşltiples sectores, tales como la salud, gestiĂłn de mercaderĂ­a y propiedades, almacenamiento de informaciĂłn, verificaciĂłn de identidad y administraciĂłn pĂşblica, entre otros, por lo que han empezado a evaluar e implementar distintos casos de aplicaciĂłn [2]. En el gobierno uruguayo, AGESIC es una instituciĂłn que lidera el desarrollo del gobierno digital, la sociedad de la informaciĂłn y el conocimiento, desde Presidencia de la RepĂşblica. Es responsable por el desarrollo de la polĂ­tica digital del Estado y del Uruguay Digital. Algunos de los objetivos estratĂŠgicos son impulsar el gobierno abierto, facilitar el relacionamiento con el Estado, integrar digitalmente a los distintos organismos, fortalecer el ecosistema de ciberseguridad, simplificar los trĂĄmites mejorando los servicios, contribuir con la alfabetizaciĂłn digital, aportar soluciones informĂĄticas innovadoras para mejorar los servicios, entre otros. A travĂŠs del plan de gobierno digital 2020 [3] propuesto por AGESIC uno de los medios a travĂŠs de los cuales se pretende alcanzar los objetivos es facilitando instrumentos normativos, institucionales y tĂŠcnicos que habiliten el uso de nuevas tecnologĂ­as para la validez de registros, como blockchain. De esta forma es que surge el interĂŠs de investigar sus caracterĂ­sticas y si realmente es aplicable en otros contextos, en particular en la administraciĂłn pĂşblica. 8 1.1. Objetivos El objetivo general del proyecto es evaluar la aplicabilidad de la tecnologĂ­a blockchain en la administraciĂłn pĂşblica e implementar una prueba de concepto donde se pueda apreciar esa aplicabilidad. Para cumplir con este objetivo, es que se subdivide en los siguientes objetivos especĂ­ficos: ● Entender el funcionamiento de la tecnologĂ­a y los escenarios donde aporta valor aplicarlo. ● Investigar herramientas disponibles que existen para implementar los distintos tipos de blockchain. ● Evaluar casos de uso en la administraciĂłn pĂşblica, en los que sea de utilidad aplicar una soluciĂłn basada en la tecnologĂ­a blockchain. ● Elegir un caso de uso de los evaluados anteriormente e implementar una prueba de concepto. 1.2. OrganizaciĂłn del documento El documento se encuentra dividido en 9 capĂ­tulos, los cuales se detallarĂĄn a continuaciĂłn. En el capĂ­tulo 2 se presenta el marco conceptual, donde se desarrollan los conceptos bĂĄsicos para comprender quĂŠ es blockchain y cĂłmo funciona, detallando componentes, su utilidad y otros conceptos fuertemente relacionados con la tecnologĂ­a. En el capĂ­tulo 3 se puede encontrar una descripciĂłn de los casos donde existe una mejor aplicabilidad y ejemplos de contextos en los que se estĂĄ aplicando o se encuentra en fases de pruebas, asĂ­ como tambiĂŠn casos en la administraciĂłn pĂşblica en los que se entiende es aplicable. En el capĂ­tulo 4 se presentan algunas de las herramientas utilizadas actualmente para implementar blockchain, asĂ­ como la elecciĂłn de una herramienta especĂ­fica para el desarrollo, profundizando en aspectos tĂŠcnicos y limitantes. En los capĂ­tulos 5 y 6 se presenta el caso de uso elegido sobre el cual se realizĂł la prueba de concepto y la arquitectura definida para su implementaciĂłn. El capĂ­tulo 7 hace referencia a la implementaciĂłn y allĂ­ se desarrollan las tecnologĂ­as utilizadas para poder realizar dicha implementaciĂłn y las decisiones tomadas. En el capĂ­tulo 8 se desarrolla todo lo referente a la gestiĂłn del proyecto, donde se puede encontrar principalmente lo planificado para su ejecuciĂłn y las situaciones que generaron desvĂ­os. 9 En el capĂ­tulo 9 se expone el trabajo a futuro y las conclusiones tanto de la tecnologĂ­a en sĂ­, como de la prueba de concepto realizada. 10 11 2. Marco Conceptual En este capĂ­tulo se profundizarĂĄ en cada uno de los aspectos que se entienden relevantes para la comprensiĂłn de la tecnologĂ­a blockchain, analizando su funcionamiento, su utilidad y los componentes necesarios para su creaciĂłn. Esto serĂĄ de utilidad para comprender el anĂĄlisis e implementaciĂłn realizado sobre el caso de uso. Adicionalmente se describen problemĂĄticas y aspectos tĂŠcnicos relevantes para blockchain, asĂ­ como tambiĂŠn se mostrarĂĄ una categorizaciĂłn realizada en base a las caracterĂ­sticas que se pueden encontrar en la tecnologĂ­a. 2.1 Blockchain La idea principal que se introduce con la tecnologĂ­a blockchain es la de eliminar a los intermediarios en las transacciones, pero esto supone un problema mayor, ya que estos intermediarios existen en gran medida para brindar confianza a las partes involucradas y al no estar, podrĂ­an generarse hechos maliciosos entre ellos, como por ejemplo el ataque gasto doble. Se define gasto doble [4] [5] como el ataque del uso acertado de los mismos medios dos veces. Para explicar este concepto, supongamos que entregamos a otra persona o entidad un objeto como por ejemplo una manzana, la propiedad de ese objeto deja de pertenecernos y pasa a esa persona o entidad y solo podremos recuperarlo si nos lo devuelve voluntariamente o por la fuerza, pero no podremos gastar ese objeto fĂ­sico de nuevo si no lo recuperamos. En este sentido, el problema con los ficheros digitales es que se pueden reproducir infinitamente, como por ejemplo un documento PDF y por este motivo, los sistemas digitales tienden a ser centralizados, de forma de garantizar que nadie mĂĄs pueda generar copias digitales de los activos con los que se trabaja. Como soluciĂłn al ataque de gasto doble, se propone que el control realizado por los intermediarios se lleve a cabo de forma distribuida, pero esto introduce un nuevo problema. Para realizar este control, los datos deben de estar distribuidos, lo cual genera la necesidad de asegurar la incorruptibilidad de los mismos. Esta problemĂĄtica es atacada utilizando la tĂŠcnica propuesta por Habert y Stornetta en 1991, en su investigaciĂłn ""How to time-stamp a digital document"" [6]. Esta plantea cĂłmo se podrĂ­an patentar documentos digitales, archivos de audio, video, etc, de forma que estas patentes no puedan alterarse. La investigaciĂłn menciona que no basta con agregar una fecha de creado o modificado, pues esto no es confiable y puede ser modificado fĂĄcilmente con otras intenciones y plantea que para resolverlo se debe utilizar una funciĂłn hash, que a partir de la informaciĂłn que se quiere patentar, genera un cĂłdigo Ăşnico llamado hash. Esto implica que, ante el cambio mĂĄs mĂ­nimo en la entrada, el cĂłdigo generado se vea modificado, dando como resultado los primeros fundamentos de la tecnologĂ­a blockchain. 12 En el aĂąo 2008, surge un documento de investigaciĂłn cuyo nombre es “Bitcoin: A peer to peer electronic cash system” [1], el cual toma como insumo el concepto mencionado en el pĂĄrrafo anterior. Un aĂąo mĂĄs tarde, luego del desarrollo realizado por su autor en conjunto con otros colaboradores, se realiza la puesta en producciĂłn del sistema y es lo que hoy se conoce como Bitcoin, la primera moneda digital descentralizada. En la secciĂłn “2.2. Bitcoin” se profundizarĂĄ en el concepto, ya que es fundamental en la investigaciĂłn para la definiciĂłn de blockchain. Por tanto, blockchain [7] se puede definir como un registro, un libro mayor de acontecimientos digitales que estĂĄ distribuido o es compartido entre muchas partes diferentes, y solo puede ser actualizado a partir del consenso de los participantes del sistema y, una vez introducida, la informaciĂłn nunca podrĂĄ ser borrada. Profundizando en las caracterĂ­sticas [8] de la tecnologĂ­a blockchain, la primera que se encuentra es que la informaciĂłn no puede ser borrada fĂĄcilmente. Esto es debido a que la informaciĂłn se encuentra replicada en cada uno de los participantes y en caso de que uno de ellos sufra un ataque, siempre existirĂĄ otro participante que tenga una copia de la informaciĂłn. La Ăşnica forma en que se podrĂ­a alcanzar ese objetivo, serĂ­a realizando un ataque simultĂĄneo a todos los participantes, lo cual acompaĂąado de medidas bĂĄsicas de seguridad, como por ejemplo el uso de certificados digitales, usuario y contraseĂąa, lo vuelve una tarea que requiere un gran poder computacional para poder ser llevada a cabo. Claramente, a medida que se aumenta en nĂşmero de participantes mĂĄs difĂ­cil se vuelve esta tarea. La segunda caracterĂ­stica estĂĄ relacionada con la mencionada anteriormente y hace referencia a la incorruptibilidad de la informaciĂłn. Si bien en parte la forma de protegerse contra este tipo de problemas viene dado por la replicaciĂłn de la informaciĂłn, aĂşn quedan situaciones en las que se podrĂ­a llegar a vulnerar lo registrado. Para protegerse de esas situaciones, es que se adapta la propuesta de Haber y Stornetta, haciendo uso de hashes para proteger la informaciĂłn guardada en la blockchain, como serĂĄ explicado en la secciĂłn “2.1.5. Componentes”. La tercera caracterĂ­stica es que la informaciĂłn es actualizada a partir del consenso de los participantes de la red. Esta caracterĂ­stica juega un rol fundamental en el proceso de aprobaciĂłn o rechazo de la informaciĂłn a agregar en la blockchain y es el mecanismo que se utiliza para sustituir al intermediario que brinda confianza en la red. La idea detrĂĄs del consenso es que la propia red se defienda de los participantes maliciosos o agentes externos que intentan agregar informaciĂłn falsa, bajo la hipĂłtesis de que la mayorĂ­a de los participantes estarĂĄ en contra de esos actos. Cabe aclarar que dependiendo de las necesidades del negocio, puede variar la definiciĂłn de consenso para ese escenario. 13 En base a estas caracterĂ­sticas se puede identificar que esta tecnologĂ­a aplica a problemĂĄticas de coordinaciĂłn, confiabilidad y seguridad de datos entre mĂşltiples actores y sin intermediarios, asegurando tener en cada actor una copia fiel y ordenada de los mismos. Ejemplo de estos casos son [2]: moneda digital, registro catastral, voto electrĂłnico, manejo de identidad, trazabilidad en cadena de suministros, salud, sistema tributario, administraciĂłn de tĂ­tulos, etc. 2.1.1. Conceptos de blockchain Los componentes [7] [9] de la blockchain bĂĄsicamente son tres: nodos, transacciones y bloques. A modo de ejemplo, se representa la blockchain como un libro de cuentas, donde los bloques se corresponden a hojas de ese libro, las transacciones pĂĄrrafos de cada hoja y los nodos cada lugar del mundo donde se encuentra una copia de ese libro. En la figura 2.1 [10] se muestra un diagrama ilustrativo de los componentes antes mencionados. Figura 2.1 - IlustraciĂłn de componentes de blockchain En algunos casos es posible encontrar otros componentes como lo son autoridades certificadoras u orĂĄculos y su uso varĂ­a dependiendo del tipo de blockchain sobre el cual se estĂŠ trabajando y la herramienta que se estĂŠ utilizando para su implementaciĂłn. A continuaciĂłn, se define y profundiza en cada uno de los componentes antes mencionados. 14 Transacciones Una transacciĂłn [9] [11] es un mensaje firmado digitalmente que autoriza alguna acciĂłn particular asociada a la red blockchain. Para el caso de las criptomonedas, el tipo de transacciĂłn dominante son las que involucran por lo menos a dos partes y estĂĄn asociadas al intercambio de bienes o servicios a cambio del capital correspondiente. A modo de ejemplo, supongamos una red blockchain compuesta por bancos, una transacciĂłn podrĂ­a ser representada por una transferencia de un monto de dinero de un banco a otro, o bien podrĂ­a representarse como suscripciĂłn de un nuevo cliente en uno de los bancos. De forma que los participantes de la red puedan leer y si corresponde validar la veracidad de las transacciones, las mismas no se encuentran encriptadas y los datos que conforman una transacciĂłn varĂ­an dependiendo de la plataforma sobre la cual se trabaje. De acuerdo a lo investigado se pueden identificar tres elementos que siempre se encuentran presentes, el identificador de la transacciĂłn, una marca de tiempo de cuando es ingresada la transacciĂłn a la red y un identificador de quiĂŠn es el emisor de la transacciĂłn. Adicionalmente dependiendo de la implementaciĂłn se pueden incluir otros elementos como: costo de realizar la transacciĂłn en la criptomoneda asociada, nĂşmero de bloque al cual pertenece, estado de transacciĂłn, conjunto de datos leĂ­dos y escritos al ejecutar la transacciĂłn, firma digital del origen de la transacciĂłn y firmas digitales de los participantes validadores. Bloque Los bloques [11] son un conjunto de registros que representan la informaciĂłn de la blockchain. Un bloque estĂĄ formado por un conjunto de transacciones confirmadas e informaciĂłn adicional que se ha incluido en la blockchain. Al igual que sucede con las transacciones, dependiendo de la plataforma sobre la que se trabaje, puede variar la informaciĂłn que lleva el bloque, pero en lĂ­neas generales algunos de estos campos se mantienen. Estos campos que forman parte de cualquier bloque de la cadena (excepto el bloque generatriz, que inicia la cadena) son: 1. Un hash que enlaza con el bloque anterior 2. El conjunto de transacciones que incluye (cuyo nĂşmero viene determinado por diferentes factores) 3. Marca de tiempo de cuando se genero el bloque 4. Otro hash que enlazarĂĄ con el siguiente bloque. A continuaciĂłn, se muestra la figura 2.2 [7] ilustrativa de cĂłmo se verĂ­a una cadena de bloques en construcciĂłn. 15 Figura 2.2 - Estructura de bloques El bloque en proceso o en construcciĂłn, es el siguiente bloque a ser ingresado en la blockchain, en este se ingresan las nuevas transacciones a ser agregadas. Antes de agregar este bloque en la blockchain, se debe obtener mediante cĂĄlculos el cuarto punto anteriormente indicado. Este punto refiere a un hash que es calculado a partir de los datos del bloque en progreso junto con el hash del bloque anterior, provocando que si algĂşn dato en ese bloque o el anterior es alterado, el hash generado no coincidirĂĄ con el original. De esta forma es posible detectar si un bloque fue corrompido y asegurar la detecciĂłn de cambios en los bloques. Nodo Un nodo es un ordenador conectado a la red blockchain utilizando un software que almacena y distribuye una copia de la informaciĂłn de la blockchain en tiempo real. Conceptualmente este nodo puede representar una organizaciĂłn, como por ejemplo una empresa o un organismo del estado. Dependiendo del tipo de blockchain y los privilegios que tenga el nodo, ĂŠste podrĂĄ validar bloques y transacciones, agregar transacciones a un bloque y aĂąadir bloques a la blockchain. Cada vez que un bloque es confirmado y se aĂąade a la cadena, es comunicado a todos los nodos y este se aĂąade a la copia que cada uno almacena. Cada nodo mantiene viva la plataforma blockchain, por lo que cuantos mĂĄs nodos haya en la plataforma, mĂĄs copias habrĂĄ y por tanto mĂĄs segura estarĂĄ la informaciĂłn en la blockchain. A continuaciĂłn, se identifican los distintos tipos de blockchain destacando sus distintas caracterĂ­sticas. 2.1.2. Tipos de blockchain Dependiendo de las necesidades del caso de uso donde se va a aplicar, se pueden presentar distintos requerimientos para los participantes de la red blockchain. A modo de ejemplo, una instituciĂłn privada como un banco podrĂ­a querer utilizar la tecnologĂ­a restringiendo el acceso a ciertos participantes, otorgando permisos a quienes son de interĂŠs para el banco. Profundizando en el ejemplo, tambiĂŠn podrĂ­a requerir que 16 algunos de los que pueden acceder solo puedan leer y el resto agregar informaciĂłn. Este tipo de situaciones presentan la necesidad de categorizar los distintos tipos de tecnologĂ­a blockchain [12]que pueden ser construidos. Una primera categorizaciĂłn para las blockchain puede ser en tres tipos distintos, pĂşblicas, federadas y privadas, donde ĂŠstas refieren a los permisos de escritura y lectura que pueden tener los nodos sobre los datos, aunque ademĂĄs refieren a la relaciĂłn que tienen los participantes. A continuaciĂłn, se detalla cada una de estas. Blockchain pĂşblica [12] Las blockchains pĂşblicas, como lo indica su nombre se encuentran abiertas al mundo, por lo que cualquier interesado que desee, puede unirse. AdemĂĄs, todos pueden copiar los datos de la misma, leer o escribir nuevas transacciones y comenzar a participar del proceso de validaciĂłn de transacciones. Dado que en este tipo de blockchains todos los participantes validan transacciones, se deben utilizar mecanismos para prevenir posibles alteraciones de la informaciĂłn. Para protegerse de ello, se recomienda que al momento de agregar nueva informaciĂłn a la blockchain, se haga uso de algoritmos de consenso como proof of work o proof of stake, los cuales serĂĄn mencionados en la secciĂłn “2.1.3. Integridad”. Es importante destacar que la utilizaciĂłn de estos algoritmos presenta problemas de performance, ya que estos se basan en realizar cĂĄlculos que implican un gran costo computacional y que terminan generando demoras a la hora de agregar nueva informaciĂłn, como se explicarĂĄ en la secciĂłn mencionada anteriormente. Blockchain federada [12] Por otra parte, las blockchains federadas operan bajo el control de un grupo, estas no permiten que todos los miembros de la red blockchain participen del proceso de validaciĂłn. El derecho a leer de la blockchain puede ser pĂşblico o restringido a los participantes. Dado que en estas blockchains los nodos que validan las transacciones son un conjunto reducido e identificado, generalmente utilizan certificados para firmar sus transacciones, por lo que el ingreso de una transacciĂłn se realiza de forma ĂĄgil. Si bien esto reduce el costo de transacciĂłn, ĂŠste no es disruptivo. Este tipo de blockchain se ajusta fĂĄcilmente al sector bancario, dado que en este caso los bancos son las Ăşnicas autoridades capaces de validar las transacciones generadas por los usuarios. Por ejemplo, imaginemos un conjunto federado de 15 instituciones financieras, donde cada una opera un nodo y 10 de ellas deben firmar cada bloque para que sea vĂĄlido. 17 Existen argumentaciones que dicen que este tipo de sistemas no puede ser definido como blockchain, pero la tecnologĂ­a aĂşn se encuentra en sus primeras etapas y no es claro cĂłmo serĂĄ adoptado. Blockchain privada [12] Las blockchains privadas son las que pertenecen a una Ăşnica organizaciĂłn, en donde todos los participantes estĂĄn plenamente identificados. Pero a diferencia de las anteriores, el derecho a leer de la blockchain es restringido Ăşnicamente a los participantes. Al igual que en las blockchains federadas, al estar los nodos identificados se suelen firmar las transacciones con certificados, por lo que el ingreso de las mismas tambiĂŠn se hace de forma ĂĄgil, lo que reduce el costo de transacciĂłn, aunque este no es disruptivo. Este tipo de blockchain son ideales para el manejo de los procesos internos de las organizaciones, como por ejemplo datos de stock, lista de precios por cliente y demĂĄs datos internos y privados. Resumiendo, estos tipos de blockchains, en la figura 2.3 se presenta una tabla comparativa de aspectos como son el acceso, velocidad, seguridad e identidad. Publica Privada Federada Acceso Lectura / Escritura libre Lectura / Escritura libre (para los miembros de la red) Lectura / Escritura solo para los nodos autorizados. El resto de los participantes solo lectura. Velocidad Lento RĂĄpido RĂĄpido Seguridad Proof of Work, Proof of Stake, Otros mecanismos de consenso Participantes autorizados Participantes autorizados Identidad Anonimos, Pseudoanonimos Identidades conocidas Identidades conocidas Figura 2.3: Tabla comparativa de tipos de blockchain 18 Otro tipo de categorizaciĂłn utilizado generalmente es en blockchain permisionadas [13] y no permisionadas [13], donde estas solo refieren a los permisos de escritura, lectura y validaciĂłn de las transacciones. Blockchain no permisionadas En este tipo de blockchain cualquier participante puede unirse a la red sin restricciones, ademĂĄs los mismos pueden leer, escribir y verificar transacciones. La validez de las transacciones es establecida mediante un algoritmo de consenso y, por otra parte, aunque las transacciones pueden ser leĂ­das por cualquier participante, es posible ocultar informaciĂłn sensible, mediante un algoritmo de cifrado de informaciĂłn, como por ejemplo AES-256 [14]. Blockchain permisionadas Para este tipo de blockchain hay una autoridad central encargada de otorgar permisos de lectura, escritura y verificaciĂłn de transacciones a los distintos participantes. Dado que el permiso de escritura es otorgado solo a participantes de confianza, se hace posible que el algoritmo de consenso sea mĂĄs simple y eficiente. Al igual que en las blockchains no permisionadas, el acceso de lectura puede ser pĂşblico. 2.1.3. Integridad Como se vio en la secciĂłn “2.1.1. Conceptos de blockchain” la tecnologĂ­a blockchain utiliza bloques para agrupar la informaciĂłn que allĂ­ se agrega, asegurando la integridad mediante la utilizaciĂłn de hashes. Existen distintas implementaciones de la tecnologĂ­a blockchain, las cuales implementan distintos mecanismos para garantizar la integridad de sus datos. Es importante destacar que la dificultad de violar la integridad no es solamente debido a la modificaciĂłn de los datos y la generaciĂłn de un nuevo hash en base a esas modificaciones, esto Ăşltimo es necesario por lo mencionado respecto al proceso de construcciĂłn. Para que tenga probabilidades, los subsiguientes bloques tambiĂŠn deben ser modificados de la misma forma y esta tarea debe ser llevada a cabo en todos los nodos de la red. Es por este motivo que se dice que es incorruptible. Algunos de los mecanismos mĂĄs utilizados para esto son: proof of work [1], proof of stake [15] y proof of authority [16]. Los mismos se comentan a continuaciĂłn. Proof of work Proof of work o prueba de trabajo, es el mecanismo utilizado por Bitcoin [1], Litecoin [17], Namecoin [18], Dogecoin [19] en la actualidad, y tambiĂŠn fue utilizado por Ethereum [20] en su orĂ­gen. Este hace referencia a la generaciĂłn de un hash que sea difĂ­cil de producir, pero fĂĄcil de verificar. Esto implica que se genera un hash de un valor, o una transacciĂłn en este caso, con un determinado algoritmo, como por ejemplo 19 SHA-256 [21] y que tambiĂŠn se ajuste a ciertas condiciones. Lo que se busca es que el generador de ese hash tenga que dedicar gran parte de sus recursos en la generaciĂłn del mismo, para satisfacer la prueba de trabajo y que a su vez la generaciĂłn de uno de esos hashes no sea fĂĄcil de reproducir o modi";"""date"",""2019-05-24T13:34:35Z"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""pdf:PDFVersion"",""1.4"" ""pdf:hasXFA"",""false"" ""access_permission:modify_annotations"",""true"" ""access_permission:can_print_degraded"",""true"" ""dcterms:created"",""2019-04-22T18:13:52Z"" ""language"",""es"" ""Last-Modified"",""2019-05-24T13:34:35Z"" ""dcterms:modified"",""2019-05-24T13:34:35Z"" ""dc:format"",""application/pdf; version=1.4"" ""xmpMM:DocumentID"",""uuid:f6788e2b-f151-4555-af39-1e79aadbaf93"" ""Last-Save-Date"",""2019-05-24T13:34:35Z"" ""access_permission:fill_in_form"",""true"" ""pdf:docinfo:modified"",""2019-05-24T13:34:35Z"" ""meta:save-date"",""2019-05-24T13:34:35Z"" ""pdf:encrypted"",""false"" ""xmp:CreateDate"",""2019-04-22T18:13:52Z"" ""modified"",""2019-05-24T13:34:35Z"" ""Content-Length"",""4517561"" ""pdf:hasMarkedContent"",""false"" ""Content-Type"",""application/pdf"" ""xmp:ModifyDate"",""2019-05-24T10:34:35Z"" ""xmp:MetadataDate"",""2019-05-24T10:34:35Z"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""pdf:producer"",""macOS Version 10.14.4 (Build 18E226) Quartz PDFContext"" ""meta:creation-date"",""2019-04-22T18:13:52Z"" ""created"",""2019-04-22T18:13:52Z"" ""access_permission:extract_for_accessibility"",""true"" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""91"" ""Creation-Date"",""2019-04-22T18:13:52Z"" ""resourceName"",""tg-mereles-ortellado.pdf"" ""pdf:hasXMP"",""true"" ""pdf:charsPerPage"",""261"",""2"",""2472"",""3"",""2925"",""2325"",""2698"",""2123"",""142"",""6"",""2821"",""2944"",""1340"",""2429"",""2030"",""2560"",""1594"",""2596"",""1554"",""2868"",""2642"",""2674"",""996"",""1292"",""2614"",""2918"",""1616"",""1493"",""1379"",""3101"",""3049"",""2527"",""2813"",""2637"",""2549"",""948"",""970"",""2718"",""2623"",""2525"",""1935"",""1423"",""2034"",""16633"",""2324"",""2970"",""1353"",""1043"",""2437"",""1442"",""2404"",""1769"",""1465"",""954"",""697"",""1747"",""430"",""857"",""2112"",""1339"",""2687"",""1738"",""2415"",""2855"",""222"",""6"",""1666"",""1543"",""1021"",""6"",""2937"",""2900"",""2525"",""2450"",""2760"",""2848"",""1235"",""6"",""2276"",""2437"",""399"",""6"",""1094"",""6"",""1215"",""484"",""287"",""137"",""2184"",""6"",""1946"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""producer"",""macOS Version 10.14.4 (Build 18E226) Quartz PDFContext"" ""access_permission:can_modify"",""true"" ""pdf:docinfo:producer"",""macOS Version 10.14.4 (Build 18E226) Quartz PDFContext"" ""pdf:docinfo:created"",""2019-04-22T18:13:52Z"" ";https://scholar.google.com/scholar?start=460&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094555-717;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Protecting Data Privacy for Permissioned Blockchains using Identity-Based Encryption;M Zhang, S Wang, P Zhang, L He, X Li… ; 2019 IEEE 3rd …, 2019 ieeexplore.ieee.org;;"… without random oracles, has short public parameters and has a tight security reduction … https://www.ibm.com/blogs/blockchain/2018/02/one-nations- move-to-increase-food-safety-with- blockchain/,2018 … In: Blakely, GR, Chaum, D. (eds.) CRYPTO 1984. LNCS, vol. 196, pp …";Cité 2 fois;;[PDF] ieee.org;https://ieeexplore.ieee.org/iel7/8717364/8728967/08729244.pdf?casa_token=6E3Yw8SFy68AAAAA:-34E9VkwiS6rK1T3bDZGiJBP5p0PixzFt4WYJXx7SXN5Y_uLVafIxlgOLg2I14bnE9sgnKErTX0;" Skip to Main Content IEEE Account Change Username/Password Update Address Purchase Details Payment Options Order History View Purchased Documents Profile Information Communications Preferences Profession and Education Technical Interests Need Help? US & Canada: +1 800 678 4333 Worldwide: +1 732 981 0060 Contact & Support About IEEE Xplore Contact Us Help Accessibility Terms of Use Nondiscrimination Policy Sitemap Privacy & Opting Out of Cookies A not-for-profit organization, IEEE is the world's largest technical professional organization dedicated to advancing technology for the benefit of humanity. Š Copyright 2021 IEEE - All rights reserved. Use of this web site signifies your agreement to the terms and conditions. ";"""og:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.html.HtmlParser"" ""twitter:title"",""Protecting Data Privacy for Permissioned Blockchains using Identity-Based Encryption"" ""twitter:card"",""summary"" ""Description"",""Blockchain is an emerging decentralized architecture and distributed public ledger technology underlying Bitcoin, and has recently attracted intensive attention"" ""og:title"",""Protecting Data Privacy for Permissioned Blockchains using Identity-Based Encryption"" ""resourceName"",""08729244.pdf"" ""language"",""en"" ""title"",""Protecting Data Privacy for Permissioned Blockchains using Identity-Based Encryption | IEEE Conference Publication | IEEE Xplore"" ""og:description"",""Blockchain is an emerging decentralized architecture and distributed public ledger technology underlying Bitcoin, and has recently attracted intensive attention from governments, financial institutions and high-tech enterprises. It is believed that blockchain can improve efficiency, reduce costs and enhance data security, but it is still in the face of serious privacy issues which may hinder the wide application of blockchain. In this paper, We present a practical scheme by adding the Identity-Based encryption system, which effectively improves the data privacy for non-transaction applications. Analyses show that our proposal has a high security level which can prevent both disguise and passive attacks, and is functional, effective and practical in many applications for non-transactional scenarios."" ""twitter:image"",""https://ieeexplore.ieee.org/assets/img/ieee_logo_smedia_200X200.png"" ""X-UA-Compatible"",""IE=Edge"" ""viewport"",""width=device-width, initial-scale=1.0"" ""dc:title"",""Protecting Data Privacy for Permissioned Blockchains using Identity-Based Encryption | IEEE Conference Publication | IEEE Xplore"" ""twitter:description"",""Blockchain is an emerging decentralized architecture and distributed public ledger technology underlying Bitcoin, and has recently attracted intensive attention from governments, financial institutions and high-tech enterprises. It is believed that blockchain can improve efficiency, reduce costs and enhance data security, but it is still in the face of serious privacy issues which may hinder the wide application of blockchain. In this paper, We present a practical scheme by adding the Identity-Based encryption system, which effectively improves the data privacy for non-transaction applications. Analyses show that our proposal has a high security level which can prevent both disguise and passive attacks, and is functional, effective and practical in many applications for non-transactional scenarios."" ""Content-Encoding"",""UTF-8"" ""Content-Type-Hint"",""text/html; charset=utf-8"" ""Content-Language"",""en-US"" ""Content-Type"",""text/html; charset=UTF-8"" ";https://scholar.google.com/scholar?start=530&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094607-933;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[PDF][PDF] Signature Scheme from Trapdoor Functions.;Y Wang, M Xiao, Y Miao, W Liu, Q Huang ; J. Internet Serv. Inf. Secur., 2019 isyou.info;;"… Random oracles are practical: A paradigm for designing efficient protocols … The random oracle methodology, revisited … of the 29th Annual International Cryptology Conference (CRYPTO'09), Santa Barbara, California, USA, volume 5677 of Lecture Notes in Computer Science …";Cité 1 fois;;[PDF] isyou.info;http://isyou.info/jisis/vol9/no2/jisis-2019-vol9-no2-02.pdf;" Signature Scheme from Trapdoor Functions Yuanhao Wang, Meiyan Xiao, Ying Miao, Wenbo Liu, and Qiong Huang∗ South China Agricultural University, Guangzhou 510642, China yuanhao.wang@stu.scau.edu.cn, maymayxiao@scau.edu.cn, {scauym, wenboliu}@stu.scau.edu.cn, qhuang@scau.edu.cn Abstract Digital Signature is a basic cryptographic primitive. Security of signature scheme has been studied for decades. How to build an efficient signature scheme based on simple and standard assumptions without relying on random oracle heuristic has been an interesting problem. In this paper we provide a solution to this problem from another angle. We present a generic construction of digital signature schemes existentially unforgeable under chosen message attacks from adaptive trapdoor function, which has shown its power in building other important cryptographic primitives. Furthermore, we extend the generic construction and present a construction of secure digital signature schemes from tag-based adaptive trapdoor function. Since there are many instantiations of (tag-based) adaptive trapdoor function, our constructions could be instantiated based on simple assumptions like CDH and RSA in the standard model. Keywords: digital signature, standard model, trapdoor function 1 Introduction As the analogy of handwritting signatures in the digital world, digital signatures are a basic public-key cryptographic primitive which ensure the integrity of an electronic document. The party who generates signatures, usually named the signer, could not deny the source of a signature if it passes the prescribed verification algorithm. This is called non-repudiation, and is usually achieved by requiring that no one is able to forge a signature w.r.t. the signer’s public key if it is not given the corresponding secret key. How to build a secure signature scheme has been a hot research topic in the community. There are two ingredients to consider. The first is to define the security of signature schemes. Goldwasser et al [6] clarified the security of signature schemes into several levels. The de facto security definition is existentially unforgeable under adaptive chosen message attacks (EUF-CMA), in which the adversary is required to forge signatures on a new message after seeing many signatures on messages of its choice adaptively. The other ingredient is how to construct a scheme with EUF-CMA security. The community has put great efforts on the construction of secure signature schemes. To name a few, a well-known and efficient signature scheme is modified from Schnorr’s identification scheme [15], which was proved by Pointcheval et al. [12] to be secure based on the discrete logarithm (DL) assumption in the random oracle model [1]. Boneh et al. [2] proposed another signature scheme with short signature representation, which is based on bilinear pairing and is EUF-CMA secure based on Computational Diffie-Hellman (CDH) assumption in the random oracle model. Although powerful and admitting many efficient constructions, random oracle model does not necessarily guarantee security when the random oracles are replaced with real-life hash functions [4]. Researchers have been devoted to the construction of signature schemes secure without random oracles. Remarkably, Cramer and Shoup proposed a practically efficient signature scheme based on Strong RSA assumption with EUF-CMA security in the standard model [5]. Waters Journal of Internet Services and Information Security (JISIS), volume: 9, number: 2 (May 2019), pp. 31-41 ∗Corresponding author: Room 208, College of Mathematics and Informatics, South China Agricultural University, 483 Wushan Road, Guangzhou 510642, P.R. China, Tel: +86-20-85285389 31 Signature Scheme from Trapdoor Functions Wang, Xiao, Miao, Liu and Huang proposed the first signature scheme secure based on CDH assumption without random oracles [16], which works in groups equipped with a bilinear pairing. The scheme has been widely studied and used to build other primitives, for example verifiably encrypted signature [10], multi-signature [10], aggregate signature [10] and etc. Hohenberger and Waters proposed to associate each signature with an index representing the number of signatures that the signer has issued [7], and gave two new signature schemes based on RSA assumption and CDH assumption in bilinear groups. However, the signer is stateful so that it has to remember the signature index. Soon after that, the same authors enhanced their results [8], and proposed a new method of constructing stateless signature schemes with security based on RSA and CDH assumptions in the standard model. Brakerski and Kalai described in [3] an approach to building EUF-CMA secure signature scheme from AMU-SCMA secure (cf. Def. 2.4) one, which abstracts the construction of Hohenberger and Waters [8]. (Trapdoor Functions). Trapdoor functions (TDF) are a special class of one-way functions, which allow the inversion of images with the knowledge of a trapdoor. A trapdoor function consists of three prob- abilistic polynomial-time algorithms. The key generation algorithm outputs a key pair of the function, an evaluation key ek and a trapdoor td. Given ek, the evaluation algorithm outputs the image y of an input x. Without td, it is infeasible to find the correct pre-image of a given y; however, it is easy to do so if given the knowledge of td. The first trapdoor in the literature was due to Rivest et al. [13]. Trap- door functions are an important cryptographic tool, and have played a central role in the construction of cryptographic primitives, especially for secure public key cryptosystems. For example, Peikert and Waters introduced a variant of trapdoor functions, called lossy trapdoor functions (lossy TDF) [11], and showed its power in the construction of chosen-ciphertext secure (CCA secure) public key encryption schemes. Their construction, different from the non-interactive zero-knowledge (NIZK) proof approach, is very efficient and its security is solely based on that of the underlying lossy TDF and all-but-one TDF (ABO-TDF, a variant of lossy TDF) [11]. It has been shown that lossy TDF can be constructed based on various number-theoretic assumptions, for example, Decisional Diffie-Hellman assumption (DDH), Decisional Composite Residuosity assumption (DCR), Learning With Error assumption (LWE) and etc. Rosen and Segev weakened the requirement on trapdoor functions, and proposed a black-box construc- tion of public key encryption from a new notion called correlated product TDF (CP-TDF). They also showed that CP-TDF is a potentially weaker primitive than lossy TDF. 1.1 Our Work In this paper we provide a new construction of digital signature schemes. We show how to build a EUF-CMA secure signature scheme from adaptive trapdoor function by presenting generic transforms step by step. First we give a construction of AMU-CMA secure (Def. 2.4) signature from adaptive one- way TDF (Def. 2.5). Then we show how to transform AMU-CMA security to SMU-CMA security. We complete the construction of EUF-CMA secure signature by giving a transform from SMU-CMA security to EUF-CMA security, which makes use of a one-time signature. As an extension of our transform, we show how to build a EUF-CMA secure signature scheme from tag-based trapdoor functions. Since adaptive trapdoor functions could be instantiated based on various number-theoretic assump- tions, as well as the underlying one-time signature, in turn we can obtain EUF-CMA secure signatures based on these assumptions as well by applying our transform. 1.2 Paper Organization In Sec. 2 we review some basic notions of digital signature and trapdoor functions. We provide the generic constructions of EUF-CMA secure signature schemes from adaptive trapdoor functions and tag- based adaptive trapdoor functions in Sec. 3 and Sec. 4, respectively. Finally we conclude the paper in 32 Signature Scheme from Trapdoor Functions Wang, Xiao, Miao, Liu and Huang Sec. 6. 2 Backgrounds 2.1 Digital Signature Definition 2.1 (Signature). A digital signature scheme consists of the following (probabilistic) polynomial- time algorithms. • Kg: On input 1k, output a public/private key pair (Pk,Sk). • Sig: On input Sk and a message m ∈M to be signed, output a signature σ . • Ver: On input Pk, m∈M and σ , output 1 if σ is a valid signature on m under Pk, and 0 otherwise. Security of Signature Scheme: The de facto security requirement of a signature scheme is existential unforgeability under chosen-message attacks (EUF-CMA for short). For any probabilistic polynomial- time algorithm A , consider its advantage defined as below: Adveuf-cma A (k) def = Pr[Ver(Pk,m∗,σ∗) = 1∧m∗ 6∈Q | (Pk,Sk)← Kg(1k);(m∗,σ∗)←A O(Sk)(Pk)], where O(Sk) is the signing oracle which takes as input a message m and outputs σ ← Sig(Sk,m), and Q is the set of messages that A issued to O(Sk). Definition 2.2 (EUF-CMA Security). A signature scheme is EUF-CMA secure if for any probabilistic polynomial-time adversary A , Adveuf-cma A (k) is negligible. A weak variant of EUF-CMA security is called selective-message unforgeability under chosen- message attacks (SMU-CMA for short). For any probabilistic polynomial-time algorithm A = (A1,A2), consider its advantage defined as below: Advsmu-cma A (k) def = Pr[Ver(Pk,m∗,σ∗) = 1∧m∗ 6∈Q | (m∗,st)←A1(1k);(Pk,Sk)← Kg(1k);σ ∗←A O(Sk) 2 (Pk,st)], where st is the state of A . Definition 2.3 (SMU-CMA Security). A signature scheme is SMU-CMA secure if for any probabilistic polynomial-time adversary A , Advsmu-cma A (k) is negligible. Another even weaker but still useful security definition is a-priori-message unforgeability under chosen-message attacks (AMU-CMA for short). For any probabilistic polynomial-time algorithm A , consider its advantage defined as below: Advamu-cma A (k) def = Pr[Ver(Pk,m∗,σ∗) = 1∧m∗ 6∈Q | m∗←M ;(Pk,Sk)← Kg(1k);σ ∗←A O(Sk)(Pk,m∗)]. Definition 2.4 (AMU-CMA Security). A signature scheme is AMU-CMA secure if for any probabilistic polynomial-time adversary A , Advamu-cma A (k) is negligible. 33 Signature Scheme from Trapdoor Functions Wang, Xiao, Miao, Liu and Huang 2.2 Adaptive Trapdoor Functions Recall that a trapdoor function (TDF) is a triple of (probabilistic) polynomial-time algorithms, where Tdg takes as input 1k and generates an evaluation/trapdoor key pair (ek, td)← Tdg(1k), F(ek, ¡) imple- ments a function fek(¡) over {0,1}k and F−1(td, ¡) implements its inverse f−1 ek (¡). We require TDFs to be injective. Briefly, a TDF is adaptive if it remains one-way after revealing the pre-images of points chosen by the adversary adaptively. Let A be any probabilistic polynomial-time inverter. Consider its advantage defined as below: AdvaowA (k) def = Pr[x′ = x | (ek, td)← Tdg(1k);x←{0,1}k;y← F(ek,x);x′←A F−1(td,¡)(ek,y)], where A is prohibited from querying y to F−1(td, ¡). Definition 2.5 (Adaptive One-wayness [9]). A TDF is adaptive one-way if for any probabilistic polynomial- time adversary A , AdvaowA (k) is negligible. A TDF with adaptive one-wayness is called Adaptive Trapdoor Function (ATDF). We also consider tag-based trapdoor function. Let TDFtag = (Tdgtag,Ftag,F −1 tag) be a tag-based TDF with associated tag space TagSp(k), where Tdgtag is probabilistic and on input 1k generates an evalua- tion/trapdoor key pair (ek, td)← Tdgtag(1k). Besides, for every t ∈ TagSp(k), Ftag(ek, t, ¡) implements a function fek,t(¡) over {0,1}k and F−1 tag(td, t, ¡) implements its inverse f−1 td,t(¡). Definition 2.6 (Tag-based Adaptive One-wayness [9]). A tag-based TDF is tag-based adaptively one- way if for any probabilistic polynomial-time adversary A = (A1,A2), its advantage defined as below is negligible: Advtb-aow A (k) def = Pr [ x′ = x t←A1(1k);(ek, td)← Tdgtag(1k);x←{0,1}k y← Ftag(ek, t,x);x′←A F−1 tag(td,¡,¡) 2 (ek, t,y) ] , where A is prohibited from querying y to F−1 tag(td, ¡, ¡). 3 Signature Scheme from Adaptive Trapdoor Functions 3.1 A Warmup As a warmup, let us consider the following construction. Let {0,1}k be the message space to be signed and TDF= (Tdg,F,F−1) be an adaptive trapdoor function over {0,1}k. The signature scheme works as below. Key Generation: On input 1k, run (ek, td)← Tdg(1k). Set Pk := ek and Sk := td. Return (Pk,Sk). Signing: On input Sk= td and m ∈ {0,1}k, return σ ← F−1(td,m). Verification: On input Pk= ek, m ∈ {0,1}k and σ ∈ {0,1}k, check if F(ek,σ) = m. (1) Output 1 if the equation holds, and 0 otherwise. Observe that the definition of adaptive one-wayness of TDF (w.r.t. Definition 2.5) shares a close similarity with that of AMU-CMA security (w.r.t. Definition 2.4) of signature schemes. Therefore, we have the following theorem directly. 34 Signature Scheme from Trapdoor Functions Wang, Xiao, Miao, Liu and Huang Theorem 3.1. If TDF is adaptive one-way, the signature scheme above is AMU-CMA secure. The signature scheme supports to sign messages of fixed-length. To extend the message space to include arbitrarily long strings, one may consider to make use of a collision-resistant hash function H : {0,1}∗→ {0,1}k, and modify the scheme by replacing every occurrence of message m with its hash H(m). Indeed, this is the common practice in the design of signature schemes. However, in contrary to signature schemes with standard EUF-CMA security, the well-known ‘hash-then-sign’ paradigm does not work for signature schemes with AMU-CMA security, i.e. we could not prove the resulting scheme to be AMU-CMA secure. The difficulty is in that after receiving the target image y (as well as the evaluation key ek), we do not know how to connect it with some ‘known’ message m∗ (that will be given to the forger) so that H(m∗) = y, except by modeling H as a random oracle, by which we cannot achieve the desired objective of this work. Hence, in the following, we overcome the difficulty and propose a new signature scheme based on TDF, which supports to sign arbitrarily long messages. We show its SMU-CMA (instead of AMU-CMA) security if the given TDF is adaptive one-way. 3.2 The Basic Scheme: an Efficient Method to Achieve SMU-CMA Security from TDF To overcome the difficulty aforementioned, we choose to separate the image y (to be inverted under F) into two parts. One is the hash of message m and the other is another image Îą which is set as part of the public key. Every signature is set to be the inversion of the combination of the message’s hash and Îą . After receiving the target image y∗, we can connect it with the challenge message m∗ by setting Îą := y∗⊕H(m∗) and adding Îą to the public key. Formally, our signature scheme works as follows. Let TDF= (Tdg,F,F−1) be an adaptive trapdoor function over {0,1}k, and H : {0,1}∗→{0,1}k be a collision-resistant hash function. We construct a signature scheme SIG = (Kg,Sig,Ver) from TDF as follows. Key Generation: On input 1k, run (ek, td)← Tdg(1k) and select at random Îą ← {0,1}k. Set Pk := (ek,Îą) and Sk := td. Return (Pk,Sk). Signing: On input Sk= td and m ∈ {0,1}∗, compute σ ← F−1(td,H(m)⊕α). Verification: On input Pk= (ek,Îą), m ∈ {0,1}∗ and σ ∈ {0,1}k, check if F(ek,σ) = H(m)⊕α. (2) Output 1 if the equation holds, and 0 otherwise. Immediately, we have the following theorem. Theorem 3.2. If TDF is adaptive one-way and H is collision-resistant, the signature scheme SIG con- structed above is SMU-CMA secure. Proof. Let G0 be the original SMU-CMA security game as defined in Def. 2.4. We first modify G0 so that if there exists any two message m,m′ during the game satisfying that H(m) = H(m′), the game aborts. Denote by G1 the new game, and by Advsmu-cma A ,i (k) the advantage of an adversary A in game Gi. Obviously, we have the following claim: Claim 3.3. If H is collision-resistant, Advsmu-cma A ,0 (k)−Advsmu-cma A ,1 (k) is negligible in k. 35 Signature Scheme from Trapdoor Functions Wang, Xiao, Miao, Liu and Huang Next we consider the adversary’s advantage in game G1. Let F be an SMU-CMA adversary against SIG under game G1, in which we omit the case where the game aborts. We build another algorithm A to break the adaptive one-wayness of TDF. Given (ek,y) from its challenger, A invokes F on input 1k and obtains a message m∗ on which F intends to forge a signature. It then sets α← H(m∗)⊕y, and invokes F on input Pk := (ek,Îą). Note that Îą looks uniform to F due to the randomness of y. After receiving a signing query mi from F , A computes m′i← H(mi)⊕α , sends m′i to its inversion oracle and obtains the inversion xi so that F(ek,xi) = m′i. A then returns σi := xi as the signature on mi to F . Finally, F outputs its forgery σ∗ on m∗ w.r.t. Pk. We have that F(ek,σ∗) = H(m∗)⊕α = H(m∗)⊕ (H(m∗)⊕ y) = y. A simply outputs σ∗, which is a correct inversion of y as long as the forgery of F is valid. Remark. One may observe that the definition of adaptive one-way security of TDF shares a close similarity with that of SMU-CMA security of signature schemes, and would consider a simpler variant of our proposal above, in which a signature on m is simply the inversion of H(m) under F. It seems that if the TDF is adaptive one-way, the resulting signature scheme would be AMU-CMA (not SMU-CMA) secure. However, we could not make a formal proof. The difficulty is in that after receiving the target image y (and the evaluation key ek), we do not have a way to connect it with some ‘known’ message m∗ so that H(m∗) = y, except by modeling H as a random oracle. 3.3 From SMU-CMA Security to EUF-CMA Security In this part we give a transform that given a signature scheme S= (Kg,Sig,Ver) that is SMU-CMA secure and has message space {0,1}≤`, produces a scheme S′ = (Kg′,Sig′,Ver′) that is EUF-CMA secure. Let OTS = (Kg,Sig,Ver) be a one-time signature scheme with space of verification key being {0,1}`. The transform works as follows. • Kg′(1k). Run (Pk,Sk)← S.Kg(1k). Return (Pk′,Sk′) := (Pk,Sk). • Sig′(Sk′,m). Recall that Sk′ = Sk. Generate a one-time key pair (otvk,otsk)← OTS.Kg(1k). Then for 1 ≤ i ≤ `, compute σi ← S.Sig(Sk,otvk≤i). Finally compute δ ← OTS.Sig(otsk,m). Return σ ′ = ({σi}`i=1,δ ,otvk). • Ver′(Pk′,m,σ ′). Recall that Pk′ = Pk and σ ′ = ({σi}`i=1,δ ,otvk). Output 1 if for all 1 ≤ i ≤ `, S.Ver(Pk,otvk≤i,σi) outputs 1 and OTS.Ver(otvk,m,δ ) outputs 1 as well. Otherwise, output 0. Theorem 3.4. If the underlying signature scheme S is SMU-CMA secure and OTS is one-time secure, the resulting scheme S′ is EUF-CMA secure. Proof. Let G0 be the original EUF-CMA security game as defined in Def. 2.4. Let σ∗=({σ∗i }`i=1,δ ∗,otvk∗) be the signature output by the adversary, and σ ′( j) = ({σ ( j) i }`i=1,δ ( j),otvk( j)) be the answer to the ad- versary’s j-th signing query m( j). We first modify G0 so that if there exists some 1 ≤ i ≤ q (where q is the number of signing queries issued by the adversary), otvk∗ = otvk( j), the game aborts. Denote by G1 the new game, and by Adveuf-cma A ,i (k) the advantage of an adversary A in game Gi. Via a standard argument we have that 36 Signature Scheme from Trapdoor Functions Wang, Xiao, Miao, Liu and Huang Claim 3.5. If OTS is one-time secure, Adveuf-cma A ,0 (k)−Adveuf-cma A ,1 (k) is negligible in k. Next we consider the adversary’s advantage in game G1, in which we omit for simplicity the case where G1 aborts. Let F ′ be an EUF-CMA adversary against S′ under G1. We construct another algorithm F to break the SMU-CMA security of S. It works as below. First of all, F generates q key pairs for the one-time signature scheme, denoted by (otvk( j),otsk( j)) for 1 ≤ i ≤ q, which will be used to answer the q signing queries submitted by F ′. It then samples at random (i∗, j∗)← [`]× [q] and sets m̂∗← otvk ( j∗) ≤i∗ ⊕ei∗ , where ei∗ = 0i∗−11. F sends m̂∗ to its challenger as the selective message to be forged in the SMU-CMA game. After receiving the j-th signing query m( j), F sends otvk ( j) ≤1, ¡ ¡ ¡ ,otvk ( j) ≤` to its signing oracle for signatures, and is returned σ ( j) 1 , ¡ ¡ ¡ ,σ ( j) ` . It then computes δ ( j) ← OTS.Sig(otsk( j),m( j)), and returns σ ′( j) := ({σ ( j) i }`i=1,δ ( j),otvk( j)) to F ′. It is readily seen that the returned signature is identically dis- tributed as in a real attack. Finally, F ′ outputs its forgery (m∗,σ∗) = (m∗,({σ∗i }`i=1,δ ∗,otvk∗)). F returns σ̂∗ := σ∗i∗ as its forgery on the selective message m̂∗. Suppose that F ′ is successful in forging. We have that ∀1≤ i≤ `, S.Ver(Pk,otvk∗≤i,σ ∗ i ) = 1, and OTS.Ver(otvk∗,m∗,δ ∗) = 1. Since otvk∗ 6∈ {otvk( j)} j∈[q], there must exist an i′ ∈ [`] such that otvk∗≤i′−1 ∈ {otvk ( j) ≤i′−1} j∈[q] but otvk∗≤i′ 6∈ {otvk ( j) ≤i′} j∈[q]. As the pair (i∗, j∗) was selected at random and the view of F ′ is independent of the pair, it holds that Pr [ (i∗ = i′)∧ (otvk∗≤i′−1 = otvk ( j∗) ≤i′−1) ] ≥ 1 `q . Suppose it is indeed the case where i∗ = i′ and otvk∗≤i′−1 = otvk ( j∗) ≤i′−1. Since otvk∗≤i∗ 6= otvk ( j∗) ≤i∗ , we have otvk∗≤i∗ = otvk ( j∗) ≤i∗ ⊕ ei∗ = m̂∗. That is, otvk∗≤i∗ is the selective message that F was committed to at the onset of the game. As shown above, the signature σ̂∗ output by F could pass the verification of S . Namely, it holds that S.Ver(Pk, m̂∗, σ̂∗) = 1. Furthermore, the fact that otvk∗≤i∗ 6∈ {otvk ( j) ≤i∗} j∈[q] means that m̂∗ 6∈ {otvk( j) ≤i }(i, j)∈[`]×[q]. That is, F did not ask its signing oracle for a signature on m̂∗. Therefore, F wins the SMU-CMA game. Remark. Brakerski et al.’s construction [3] goes in three steps. First, they obtain SMU-SCMA security from AMU-SCMA security, then obtain EUF-SCMA security from SMU-SCMA security, and finally obtain EUF-CMA security from EUF-SCMA security. While in this work we first show how to build a SMU-CMA secure signature scheme from adaptive trapdoor functions, in which the adversary could issue signing queries adaptively instead of statically, and then show how to transform SMU-CMA security to EUF-CMA security. 37 Signature Scheme from Trapdoor Functions Wang, Xiao, Miao, Liu and Huang 4 Signature from Tag-based Adaptive Trapdoor Functions Let TDFtag = (Tdgtag,Ftag,F −1 tag) be a tag-based TDF with associated tag space TagSp(k) and range Range(Ftag). We construct a signature scheme SIG= (Kg,Sig,Ver) from TDFtag as follows. Key Generation: On input 1k, run (ek, td)← Tdgtag(1k) and select a collision-resistant hash function H : {0,1}∗→ TagSp(k). Select at random y← Range(Ftag) and set Pk := (ek,y,H) and Sk := td. Return (Pk,Sk). Signing: On input Sk= td and m ∈ {0,1}∗, compute t← H(m) and x← F−1 tag(td, t,y). Return σ = x. Verification: On input Pk= (ek,y,H), m ∈ {0,1}∗ and σ = x, compute t← H(m) and check if Ftag(ek, t,x) = y. (3) Output 1 if the equation holds, and 0 otherwise. Theorem 4.1. If TDFtag is tag-based adaptive one-way and H is collision-resistant, the resulting signa- ture scheme above is SMU-CMA secure. Proof. Let G0 be the original SMU-CMA security game as defined in Def. 2.4. We first modify G0 so that if there exists any two message m,m′ during the game satisfying that H(m) = H(m′), the game aborts. Denote by G1 the new game, and by Advsmu-cma A ,i (k) the advantage of an adversary A in game Gi. Obviously, we have the following claim: Claim 4.2. If H is collision-resistant, Advsmu-cma A ,0 (k)−Advsmu-cma A ,1 (k) is negligible in k. Next we consider the adversary’s advantage in game G1. Let F be an SMU-CMA adversary against SIG under game G1, in which we omit the case where the game aborts. We build another algorithm A to break the tag-based adaptive one-wayness of TDFtag. Given the input 1k, A invokes F on input 1k and obtains m∗ from F . It then sets t∗← H(m∗) and submits t∗ to its own challenger. After receiving (ek,y) from the challenger, A sets Pk := (ek,y), and gives it to the adversary. After receiving the j-th signing query m j, A computes t j ← H(m j), sends (t j,y) to its inversion oracle, and obtains the pre-image x j so that Ftag(ek, t j,x j) = y. A returns σ j := x j to the adversary. Finally, F outputs its forgery σ∗ on message m∗. A simply outputs x∗ := σ∗ as the inversion of y under the selective tag t∗. Suppose that F succeeds in the SMU-CMA game. We have that Ftag(ek, t∗,x∗) = y∗, which means that x∗ is the correct inversion. Furthermore, F did not ask for a signature on m∗, nor did A ask the inversion of y under the tag t∗. Therefore, A wins in the tag-based adaptive one-wayness game. Full Security. The signature scheme above is SMU-CMA secure. To obtain the standard EUF-CMA security, we could apply the transform presented in Sec. 3.3. 38 Signature Scheme from Trapdoor Functions Wang, Xiao, Miao, Liu and Huang 5 Discussions Kiltz et al. [9] showed that adaptive trapdoor functions can be constructed from correlated-product trapdoor functions [14], which in turn can be constructed from lossy trapdoor functions [11]. There are many concrete and efficient constructions of lossy trapdoor functions, based on DDH, DCR and SIS assumptions, respectively. Furthermore, as demonstrated in [9], tag-based trapdoor functions could be constructed from instance-independent RSA assumption. Therefore, we could obtain signature schemes based on a bunch of simple assumptions without random oracles, which enriches the research of secure digital signatures from another angle. On the other hand, Kiltz et al. showed the power of adaptive trapdoor function in the construction of CCA-secure public key encryption schemes [9], while we showed its usage in constructing existentially unforgeable digital signature schemes, further demonstrating the power of adaptive trapdoor functions. 6 Conclusion In this paper we provided another solution to the construction of EUF-CMA secure digital signature schemes in the standard model. We present a generic transform from SMU-CMA secure signature scheme to EUF-CMA secure one without resorting to the random oracle model, which makes use of one-time signature and the ‘prefix’ method. As an extension of the transform, we also showed how to build a EUF-CMA secure signature scheme from tag-based adaptive trapdoor functions. Our construction is generic so that it can be instantiated based on various number-theoretic assumptions, for example, RSA assumption, CDH assumption and etc. Acknowledgments This work was supported by the National Natural Science Foundation of China (No. 61872152, 61472146). References [1] M. Bellare and P. Rogaway. Random oracles are practical: A paradigm for designing efficient protocols. In Proc. of the 1st ACM Conference on Computer and Communications Security (CCS’93), Fairfax, Virginia, USA, pages 62–73. ACM, November 1993. [2] D. Boneh, B. Lynn, and H. Shacham. Short signatures from the weil pairing. Journal of Cryptology, 17(4):297–319, September 2004. [3] Z. Brakerski and Y. T. Kalai. A framework for efficient signatures, ring signatures and identity based encryp- tion in the standard model. IACR Cryptology ePrint Archive, 2010:86, 2010. [4] R. Canetti, O. Goldreich, and S. Halevi. The random oracle methodology, revisited. In Proc. of the 30th Annual ACM Symposium on the Theory of Computing (STOC’98), Dallas, Texas, USA, pages 209–218. ACM, May 1998. [5] R. Cramer and V. Shoup. Signature schemes based on the strong rsa assumption. In Proc. of the 6th ACM Conference on Computer and Communications Security (CCS’99), Singapore, pages 46–51. ACM, Novem- ber 1999. [6] S. Goldwasser, S. Micali, and R. Rivest. A digital signature scheme secure against adaptive chosen-message attack. SIAM Journal on Computing, 17(2):281–308, 1988. [7] S. Hohenberger and B. Waters. Realizing hash-and-sign signatures under standard assumptions. In Proc. of the 28th Annual International Conference on the Theory and Applications of Cryptographic Techniques (EUROCRYPT’09), Cologne, Germany, volume 5479 of Lecture Notes in Computer Science, pages 333–350. Springer, April 2009. 39 Signature Scheme from Trapdoor Functions Wang, Xiao, Miao, Liu and Huang [8] S. Hohenberger and B. Waters. Short and stateless signatures from the RSA assumption. In Proc. of the 29th Annual International Cryptology Conference (CRYPTO’09), Santa Barbara, California, USA, volume 5677 of Lecture Notes in Computer Science, pages 654–670. Springer, August 2009. [9] E. Kiltz, P. Mohassel, and A. O’Neill. Adaptive trapdoor functions and chosen-ciphertext security. In Proc. of the 29th Annual International Conference on the Theory and Applications of Cryptographic Techniques (EUROCRYPT’10), Monaco / French Riviera, volume 6110 of Lecture Notes in Computer Science, pages 673–692. Springer, May-June 2010. [10] S. Lu, R. Ostrovsky, A. Sahai, H. Shacham, and B. Waters. Sequential aggregate signatures and multisig- natures without random oracles. In Proc. of the 25th Annual International Conference on the Theory and Applications of Cryptographic Techniques (EUROCRYPT’06), St. Petersburg, Russia, volume 4004 of Lec- ture Notes in Computer Science, pages 465–485. Springer, May-June 2006. [11] C. Peikert and B. Waters. Lossy trapdoor functions and their applications. In Proc. of the 40th Annual ACM Symposium on Theory of Computing (STOC’08), Victoria, British Columbia, Canada, pages 187–196. ACM, May 2008. [12] D. Pointcheval and J. Stern. Security arguments for digital signatures and blind signatures. J. Cryptology, 13(3):361–396, 2000. [13] R. Rivest, A. Shamir, and L. M. Adleman. A method for obtaining digital signatures and public-key cryp- tosystems. Communications of ACM, 21(2):120–126, 1978. [14] A. Rosen and G. Segev. Chosen-ciphertext security via correlated products. In Proc. of the 6th Theory of Cryptography Conference (TCC’09), San Francisco, CA, USA, volume 5444 of Lecture Notes in Computer Science, pages 419–436. Springer, March 2009. [15] C. Schnorr. Efficient signature generation by smart cards. J. Cryptology, 4(3):161–174, 1991. [16] B. Waters. Efficient identity-based encryption without random oracles. In Proc. of the 24th Annual Interna- tional Conference on the Theory and Applications of Cryptographic Techniques (EUROCRYPT’05), Aarhus, Denmark, volume 3494 of Lecture Notes in Computer Science, pages 114–127. Springer, May 2005. —————————————————————————— Author Biography Yuanhao Wang received the B.S. degree in Network Engineering from South China Agricultural University in 2017. He is currently pursuing the M.S. degree at Col- lege of Mathematics and Informatics, South China Agricultural University. His re- search interests include information security, digital signature and searchable encryp- tion. Meiyan Xiao received her master’s degree from South China Agricultural Univer- sity, Guangzhou, China, in 2009. Currently, she is a teacher and also a PhD student at College of Mathematics and Informatics, South China Agricultural University. Her re- search interests include cyberspace security, public key cryptography and blockchain security. 40 Signature Scheme from Trapdoor Functions Wang, Xiao, Miao, Liu and Huang Ying Miao received her B.S. degree in Network Engineering from South China Agri- cultural University in 2018. Currently, she is a master student at College of Mathe- matics and Informatics, South China Agricultural University. Her research interests include cryptography and blockchain. Wenbo Liu received the B.S. degree from College of Computer Science and En- gineering, Cangzhou Normal University in 2018. Currently, he is a M.S. degree student at College of Mathematics and Informatics, South China Agricultural Uni- versity. His research interests include public key encryption and functional encryp- tion. Qiong Huang got his PhD degree from City University of Hong Kong in 2010. Now he is a professor at South China Agricultural University. His research interests include cryptography and information security, in particular, cryptographic protocols design and analysis. ";"""date"",""2019-06-05T03:46:44Z"" ""pdf:PDFVersion"",""1.5"" ""pdf:docinfo:title"","""" ""xmp:CreatorTool"",""LaTeX with hyperref package"" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""subject"","""" ""language"",""en"" ""dc:format"",""application/pdf; version=1.5"" ""pdf:docinfo:creator_tool"",""LaTeX with hyperref package"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"","""" ""modified"",""2019-06-05T03:46:44Z"" ""cp:subject"","""" ""pdf:docinfo:subject"","""" ""pdf:hasMarkedContent"",""false"" ""pdf:docinfo:creator"","""" ""PTEX.Fullbanner"",""This is MiKTeX-pdfTeX 2.9.6668 (1.40.19)"" ""meta:author"","""" ""trapped"",""False"" ""meta:creation-date"",""2019-06-05T03:46:44Z"" ""created"",""2019-06-05T03:46:44Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2019-06-05T03:46:44Z"" ""resourceName"",""jisis-2019-vol9-no2-02.pdf"" ""Author"","""" ""producer"",""pdfTeX-1.40.19"" ""pdf:docinfo:producer"",""pdfTeX-1.40.19"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""3"",""6"",""2"",""29"",""35"",""2"",""0"",""0"",""0"" ""Keywords"","""" ""access_permission:modify_annotations"",""true"" ""dc:creator"","""" ""dcterms:created"",""2019-06-05T03:46:44Z"" ""Last-Modified"",""2019-06-05T03:46:44Z"" ""dcterms:modified"",""2019-06-05T03:46:44Z"" ""title"","""" ""Last-Save-Date"",""2019-06-05T03:46:44Z"" ""pdf:docinfo:keywords"","""" ""pdf:docinfo:modified"",""2019-06-05T03:46:44Z"" ""meta:save-date"",""2019-06-05T03:46:44Z"" ""pdf:docinfo:custom:PTEX.Fullbanner"",""This is MiKTeX-pdfTeX 2.9.6668 (1.40.19)"" ""Content-Length"",""1831047"" ""Content-Type"",""application/pdf"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"","""" ""dc:subject"","""" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""11"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""3169"",""3541"",""1812"",""2189"",""2533"",""2565"",""2313"",""2131"",""2820"",""2576"",""815"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""pdf:docinfo:trapped"",""False"" ""meta:keyword"","""" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2019-06-05T03:46:44Z"" ";https://scholar.google.com/scholar?start=750&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094642-1089;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[PDF][PDF] Ethereum Transactions and Smart Contracts among Secure Identities.;F Buccafurri, G Lax, L Musarella, A Russo ; DLT@ ITASEC, 2019 researchgate.net;;"… every line of the code: we assume the reader is familiar with Solidity and Oraclize, which is the leading oracle service for … Thanks to the assurance of authenticity and uniqueness of transactions, blockchain starts to become the technical core of cryptocurrency, access control …";Cité 8 fois;Les 4 versions;[PDF] researchgate.net;https://www.researchgate.net/profile/Lorenzo_Musarella/publication/331981235_Ethereum_Transaction_and_Smart_Contracts_among_Secure_Identities/links/5c98b33f92851cf0ae9620cf/Ethereum-Transaction-and-Smart-Contracts-among-Secure-Identities.pdf;;;https://scholar.google.com/scholar?start=900&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094633-1049;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;[PDF][PDF] Hyperledger-based Data Provenance in Distributed Computing Environments;AP Demichev, AP Kryukov, NV Prikhod'ko… ; … ??? ? ??????, 2019 russianscdays.org;;"… that do not require resource-consuming and slow “proof-of-work” mechanism which is intrinsic for cryptocurrency blockchain networks [9 … history with the history recorded in a blockchain is outside the scope of the blockchain technology (the so-called the Oracle Problem, see …";Autres articles;;[PDF] russianscdays.org;https://russianscdays.org/files/2019/pdf/24.pdf;" Hyperledger-based Data Provenance in Distributed Computing Environments∗ A.P. Demichev1, A.P. Kryukov1, N.V. Prikhod’ko2, J.Yu. Dubenskaya1, E.Yu. Fedotova1 and S.P. Polyakov1 1Skobeltsyn Institute of Nuclear Physics, Lomonosov Moscow State University, Moscow, Russia, 2Yaroslav-the-Wise Novgorod State University, Velikiy Novgorod, Russia A new approach to managing provenance metadata and data access rights in a dis- tributed environment is proposed. It is based on the integration of blockchain tech- nology, smart contracts and provenance metadata driven data management. We also suggest a new method for delegation of rights from a user or service to another service within distributed computing systems. The implementation of the proposed approach, entitled ProvHL, is based on the permissioned blockchains and on the Hyperledger Fabric blockchain platform in conjunction with Hyperledger Composer. Keywords: distributed storage, provenance metadata, blockchain, smart contracts, access rights, delegation of rights, Hyperledger Fabric. 1. Introduction When implementing large-scale scientific or business projects related to storing and process- ing large amounts of data and involving participants from different administrative domains, the best solution may be that the project participants combine their local storage resources into a single distributed pool and, if necessary, rent additional cloud storage resources, possibly from several providers. Indeed, in existing centralized solutions, the main functions are performed by data centers that collect and store (possibly with subsequent processing) data from periph- eral (user) nodes of the network. Therefore, in this case, the need to store big data in any scientific or production area leads to the necessity to build large and very expensive specialized data centers. At the initial stage of implementing a project, it is very problematic both to find sufficient funding for the establishment of such a center, and to estimate in advance the necessary storage capacity for a sufficiently long period of time. The approach based on the peer-to-peer (P2P) paradigm of storage networks (see the review [1] and references therein) is totally opposite to the completely centralized approach. In this case, data storage services are evenly distributed among all network participants, which provides a natural load balancing, the absence of bottlenecks and points of failure. Special mechanisms of coding, fragmentation and distribution of information over nodes can provide privacy and reliability of the system even in case of failure of some storage nodes. However, a significant problem with this approach is to ensure a stable pool of peers, that is storage resource providers, especially at the initial stage of development of such a network. In other words, before such a P2P-based storage can work stably, it will require significant technical, organizational and time costs from its orga- nizers in the absence of a result guarantee, that is, a workable network with sufficient storage capacity. Therefore, in many cases of large-scale projects, the above-mentioned solution that is intermediate between the fully centralized and fully decentralized (P2P) solutions may be opti- mal. In science, examples of such large projects are the Large Hadron Collider (CERN, Geneva; https://home.cern/science/accelerators/large-hadron-collider) and experiments in astrophysics (see e.g., [2]). In the case of this intermediate approach, the problem arises of combining all local storages and data in them into a unified storage system in a dynamically changing environment, as well ∗This work was funded by the Russian Science Foundation (grant No. 18-11-00075). Суперкомпьютерные дни в РОссии 2019 // Russian Supercomputing Days 2019 // RussianSCDays.org 24 as ensuring the implementation of mutual access policies to the data of the parties involved. This implies the existence of methods for decentralized management of data access rights in such a dynamically changing environment, ensuring consensus among the parties involved on the content and order of data operations and ensuring reliable, immutable recording of proven operations history, that is, provenance metadata. The latter are necessary for data storage and usage consistency, as well as for consideration and resolving possible conflicts among project participants or with the storage providers. In other words, it is necessary to provide tools to support the implementation of business processes of storing and exchanging data in a distributed environment and in the presence of administratively unrelated or loosely related organizations involved in joint projects, or simply sharing data under certain conditions. In this work, we propose an approach to solving this problem based on the use of blockchain technology and smart contracts within the Hyperledger platform (https://www.hyperledger.org) [3]. The basic principles of operation, architecture and algorithms of the ProvHL system (Prove- nance HyperLedger) for managing provenance metadata and data access rights in distributed storages are developed. At present, a testbed has been created in SINP MSU, on which a pre- liminary version of the ProvHL prototype is deployed for elaboration of these principles and algorithms. The paper is organized as follows. In Section 2 we describe business processes of data storage and sharing in distributed environments. In Sections 3 and 4 the Hyperledger blockchain platform and distributed consensus algorithms are presented, respectively. Section 5 is devoted to presentation of the ProvHL system and Section 6 describes delegation of rights in the framework of this system. In Section 7 a short review of related works is given and, finally, Section 8 contains conclusions. 2. Business Processes of Data Storage and Sharing in Distributed Environments The basic scenario of using the proposed system assumes that a virtual organization (VO) is formed for the joint implementation of a certain project. VO includes several real organizations which include, in turn, data providers, users and data handlers affiliated with them. It is assumed that the implementation of such a project requires the use of a distributed data storage. This distributed storage can be formed by renting multiple cloud storages, as well as integrating the own storage resources of the organizations that form the VO. Thus, the hardware and software basis of the business environment in this case is formed by a set of storages (possibly of different types, e.g., cloud storages, file servers, tape storages, etc.), each of which can be managed by its own data management system (DMS). For certainty, it is further assumed that the data is stored as files, i.e. the file is a unit of data. Generally speaking, several VOs can coexist; the storages with which they interact can form partially overlapping sets. In such an environment, an immutable and distributed (as the environment itself) registry and a consensus on the order of data operations are needed to resolve possible conflicts between the VO/project participants related to the use of the data. In other words, to resolve possible conflicts, one needs an undistorted history of data use by VO members. Conflicts may be caused by priority issues upon obtaining results of data processing, use of results (including funding issues), etc. A simple example of the causes of such conflicts are cases of deliberate or accidental violation of the data access rights policy. Another example is when, based on shared resources, participants from different administrative domains obtain similar important results, and questions arise about how independently they were received and which of the participants obtained them first. The state of a data unit (file) is determined by its provenance metadata (PMD), which consist of its global file identifier (ID) and its attributes, including: (1) local file name in a storage; (2) storage identifier; (3) creator identifier; (4) owner identifier; (5) source; (6) number of file downloads, etc. Here we mentioned only themost common possible attributes. The attribute Суперкомпьютерные дни в РОссии 2019 // Russian Supercomputing Days 2019 // RussianSCDays.org 25 set chosen may depend on the needs of a particular project using the distributed storage. The full set of possible attributes is defined by the corresponding standard. In particular, in this work we rely on one of the most widely used PMD standards, namely, W3C PROV [4]. The set of values for all attributes of a file determines its current state. The state of the entire distributed storage system is determined by the set of files stored in it with their states at the moment. It is supposed that the distributed storage works in the framework of immutable shared files semantics [5]. Basic operations (comprising of a set of transactions) can be of the following types: new file upload; file download; file copy within a storage; file deletion; file copy to another storage; file transfer to another storage. Each active transaction, and therefore operation, corresponds to an update of some state keys, for example, after the operation “file download” the values of the following keys change: “number of file downloads” and “users who downloaded the file”. There are, of course, transactions for changing file attributes, for example, changing the owner of a file. In addition to the task of recording the immutable history of working with data in a dis- tributed storage environment, there exists the task of providing distributed management of access rights to data. For example, the owner of a data file (the user who created the data or the organization to which it belongs through its authorized representative) must be able to manage its access rights for other users. Another example is when a cloud storage service grants access to data stored on it only to users from organizations that have paid for this storage service. 3. Hyperledger Blockchain Platform A natural solution for the establishment of a distributed immutable registry for the PMD records is the use of the blockchain technology. To implement this solution, it is convenient to use existing blockchain platforms. We require the platform to be used to have the following prop- erties: working with permissioned blockchains; using smart contracts to manage transactions and organize business processes for sharing data and storage resources by project participants located in different administrative domains; availability of tools for managing access rights to certain actions with metadata; using a modular structure that allows one to use various algo- rithms to achieve consensus between the participants of business processes, depending on the needs of a specific distributed data computing system and its users; possibility of simultane- ous independent work of several virtual organizations. Analysis of existing platforms (see, e.g., the reviews [6–8] and refs. therein) shows that the requirements above practically unambigu- ously distinguish the Hyperledger Fabric blockchain platform (HLF; www.hyperledger.org) [3] together with Hyperledger Composer (HLC; hyperledger.github.io/composer) as the best can- didate (HLF&C-platform). The Hyperledger Composer is a set of tools for simplified use of the blockchain. A smart contract along with the registry form the basis of a blockchain system. While the registry contains information about the current and historical state of a set of business objects, a smart contract determines the executable logic that generates new states to be added to the registry. Before parties of a business process can enter into interactions with each other, they must define a common set of contracts covering common terms, data, rules, concept definitions and processes. Taken together, these contracts define a business model that governs all interac- tions between transactional parties. A smart contract defines these rules between the parties in the form of executable code. In the framework of the HLF&C-platform the smart contracts are implemented under the name chaincode. In particular, access rights to data files are defined by the smart contracts in conjunction with special system acl-file (“acl” stands for “access control language”). To describe the business process within the framework of HLF&C-platform, a number of Суперкомпьютерные дни в РОссии 2019 // Russian Supercomputing Days 2019 // RussianSCDays.org 26 concepts are used, the main ones are assets, participants, transactions and events. Assets are tangible or intellectual resources, services or property, records of which are kept in registries. Assets can represent almost anything in a business network, such as a house for sale, a listing for sale, a land registration certificate for that house, while insurance documents for that house can be assets in one or more business networks. Assets must have a unique identifier, but they can also contain any properties defined for them. In our case, the assets are data files; their properties (attributes) are provenance metadata, as defined in the previous Section 2. Participants are members of the business network. They can own assets and make transac- tion requests. Like assets, the participants must have an ID and can have any other properties if necessary. The transaction is the mechanism of interaction of participants with assets. The definition of events is also established in the process of a business network construction, simi- larly to the assets or participants. According to these definitions, event messages can be sent by transaction processors to inform external software components of changes in the blockchain. Applications can subscribe to receive event information via the HLC API. From a functional point of view, the nodes in the HLF network are divided into three types: clients make requests to execute transactions, participate in their processing, and broadcast transactions to ordering services; peers carry out the transaction processing workflow, validate them and manage the blockchain registry; ordering service nodes (OSN) establish the general order of all transactions in the blockchain based on the distributed consensus algorithm. Unlike public blockchain networks, which allow non-authenticated users to participate in their work, members of the HLF&C-network must be registered with Membership Service Provider (MSP), which, among other things, performs the functions of Certification Authority (CA). It should be emphasized that although the CA is a centralized service, it does not violate the decentralized nature of the HLF&C-network, distributed storage and PMD management system for two main reasons: (1) the CA is not a party to the business process, but only a trusted third-party that provides cryptographic material (digital certificates); although HLF&C provides software for the organization of its own CA for the deployed network, third-party public CAs can also be used; (2) the CA is not involved in the process of transaction processing and block formation, so it does not affect system performance and fault tolerance. In other words, the CA is outside the business network. Other MSP components, in particular those providing authentication and authorization of participants, are distributed across network nodes. 4. Consensus Algorithms As it was mentioned in the Introduction, data management via PMD requires a method of ensuring consensus among participants in the business process about the content and or- der of transactions with data. Nowadays there exits a number of consensus algorithms that do not require resource-consuming and slow “proof-of-work” mechanism which is intrinsic for cryptocurrency blockchain networks [9]. One of the first and most well known consensus algorithms is the Paxos algorithm [10]. This algorithm is not designed to work in distributed systems with possible Byzantine errors. It is very difficult for understanding and implementing [11]. The Raft algorithm [11, 12] realizes the consensus by choosing a single leader, giving it full responsibility for managing the transaction recordings. The leader accepts requests from clients, copies them to other servers, and tells the rest of the servers when it is safe to use the entries in their replicated ledgers. The idea of having a special leader simplifies the management of the replicated ledger. If the leader for some reason stops working, the procedure for selecting a new leader begins. However, Raft is also not designed to work in distributed systems in which a Byzantine type of error is possible (malicious distortion of information by nodes). The Practical Byzantine Fault Tolerance (PBFT) algorithm [13] was the first practical solution to achieve consensus in the face of Byzantine failures. It uses the concept of replicated Суперкомпьютерные дни в РОссии 2019 // Russian Supercomputing Days 2019 // RussianSCDays.org 27 state machine, and nodes in a PBFT system are sequentially ordered with one node being the leader and others referred to as backup nodes. All nodes in the system communicate with one another with the goal being that all honest nodes will come to an agreement of the state of the system using a majority rule. This algorithm requires 3n + 1 replicas to be able to tolerate n failing nodes. Communication between nodes has two functions: nodes must prove that messages came from a specific peer node, and they must verify that the message was not modified during transmission. This approach imposes a low overhead on the performance of the ordering service nodes (OSNs). However messaging overhead in the case of PBFT increases significantly as the number of OSNs increase. However it remains acceptable for a couple of dozens of OSNs (parties in a project using a distributed storage under the blockchain-based management) [13, 14]. Currently we consider PBFT as a most suatable distributed consensus algorithm since its properties match the system requirements and there exist exploratory studies for its implementation within the HLF&C platform [14]. In the future we plan to consider and test other BFT algorithms, such as SIEVE [15], XFT [16] and Hashgraph [17]. 5. ProvHL System This section outlines the basic principles of our ProvHL system for managing provenance metadata and access rights to data in distributed storages based on the HLF&C blockchain platform. In general, two approaches are possible: (1) data management systems (DMS) manage data and use blockchain as a distributed log (data driven data management); (2) first, the metadata is written to the blockchain, and DMSs refer to the blockchain and performs the transactions recorded there (metadata driven data management). In the first case, the functionality of the blockchain system is very limited, it only provides a ledger which is resistant to malicious attempts to modify the history of data in distributed storage. HLF&C-platform enables one to implement the second approach, which in addition to simply maintaining the registry allows us to solve the problem of distributed data access management. Note that the term “metadata driven” is most often used in the context of ETL-technology (Extract, Transform, Load); we use it solely to designate a way to manage data by pre-writing metadata to the HLF. For each data operation, at least two types of transaction records aremade in the blockchain: one corresponds to the client request, and the second corresponds to the server response.The algorithms used are aimed at ensuring consistency between the state of the distributed storage and the entries in the blockchain. In particular, when the “new file upload” transaction is per- formed, the transaction on creating the new asset, that is the data file, with the “temporary” label is first recorded in the blockchain. And only after the actual upload of the file in the stor- age, DMS initiates a transaction removing the label “temporary” and turns the uploaded file into a fully valid asset. This makes the level of correspondence between the history recorded in the blockchain and the real history of the data in the distributed storage practically acceptable. As is known, ensuring full compliance of the real world history with the history recorded in a blockchain is outside the scope of the blockchain technology (the so-called the Oracle Problem, see e.g., https://medium.com/@DelphiSystems/the-oracle-problem-856ccbdbd14f). The com- pliance of ProvHL to the PMD standard W3C PROV [4], mentioned in Section 2, is provided by the conformity of the basic triples in the both data models, namely {Asset, Operation/Trans- action, Participant} (for HLF&C/ProvHL) and {Entity, Activity, Agent} (for W3C PROV). A simplified scheme of the testbed with a preliminary version of the ProvHL system is presented in figure 1. The operational purpose of the HLF&C-network nodes (peers, OSNs, MSP modules) is specified in Section 3; the servers provide interaction with data management systems of local storages. Суперкомпьютерные дни в РОссии 2019 // Russian Supercomputing Days 2019 // RussianSCDays.org 28 Figure 1. A simplified scheme of the ProvHL testbed. 6. Blockchain-Based Delegation of Rights in Distributed Storages Delegation is the process of a user or a Web service handing over their authentication credentials to another executing Web service. We will present themechanism of rights delegation between services on the example of the data copy operation from one local storage (Storage1) to another (Storage2). The definition of operations with files as the assets makes the mechanism of the delegation very natural and flexible. In the framework of the HLF&C-platform assets (as well as other business network entities) are defined with the help of an object-oriented modeling language [18] in the so called .cto-file. For the delegation mechanism it is important the operation definitions contain the obligatory attributes “requester” and “executor” as well as inherit “file owner” attributes from the file asset definition. Upon receiving a request from a User for a file copying, the DMS Storage1 (the data management system of the Storage1 which contains the file to be copied) detects the type of the copy operation, namely decides if this is local copying (within the Storage1) or copying to another storage. In the latter case it initiates, on behalf of the User, the operation of uploading the required file to destination Storage2. For this aim it interacts with the chaincode which, among other actions, defines that: (a) while for the initial copy operation the value of the requester attribute is equal to the User and the executor is DMS Storage1, for the induced upload operation the requester is DMS Storage1 and the executor is DMS Storage2; (b) the owner of the file copy on the Storage2 is the same as the owner of source file on the Storage1. Thus, the second request is executed at the request of the User, but by the DMS Storage1 (source storage), and the file ownership does not change. Thismeans that all goals of a delegation are completed. It is worth stressing that in contrast to the scheme based on proxy certificates [19], in the blockchain-based approach the delegation is restricted solely to the specified operation. 7. Related Works Although a number of projects have been implemented in recent years to create systems for supporting and managing metadata, including the provenance of data, but the vast majority of the implemented solutions are centralized (see the surveys [20, 21] and refs. therein), which is poorly consistent with the use of a distributed dynamically changing environment, and the pos- sibility of using metadata by organizationally unrelated or weakly related research communities. On the other hand, in recent years, distributed registries based on blockchain technol- ogy have become very popular in various applied areas due to a number of important advan- tages [9,22]. Most recently, on the basis of blockchains, PMD management systems for storages Суперкомпьютерные дни в РОссии 2019 // Russian Supercomputing Days 2019 // RussianSCDays.org 29 have also been developed. The system ProvChain [23] is designed to work with one cloud stor- age, not a distributed environment. The validation of the data provenance is done off-chain by a centralized provenance auditor. The system consists of five components: users, cloud service providers, blockchain network, provenance database, and the provenance auditor. The block- chain network consists of virtual nodes inside the cloud and keep the data provenance records in the blocks. The auditor retrieves the provenance data from the blockchain database and validates the blockchain receipt. The system is based on a bitcoin-like blockchain. To solve the issues of the initial distribution of ownership shares of resources during the operation of the Proof-of-Stake algorithm, as well as the validation of this share, a special service is used. This service starts with the beginning of the process of developing consensus and constantly works together with blockchain validators (the blockchain nodes being virtual machines in the cloud) to check their share of resources and select a leader in each round. This service also has the right to determine remuneration for the successful creation of new blocks and at the same time to punish (deprive a share of resources) if the validators act maliciously. The SmartProvenance (DataProv) system [24] is implemented on top of the Ethereum block- chain platform and consists of two types of components. They are the blockchain components, which mainly consist of Ethereum smart contracts for access control, creating/storing PMDs and conducting the voting process, as well as modules not related to the blockchain including the client module that interacts with smart contracts and a script, working in the cloud, to check the validity of changes to data files. A smart contract Document Tracker is used to track changes in data and maintaining access control policies. Each PMD-related event, such as a modification of a document, must be approved by voting with a special smart Vote contract. The main purpose of the voting process is to prevent harmful changes that clearly violate the conditions of use of the data. At the end of the voting stage, if a change decision is made, the Vote contract submits a change in the Document Tracker contract to create a PMD record. Authorized voting users use a special verification script that is located in the cloud storage of the system. In the SmartProvenance system, the rejection of changes as a result of voting is punishable by a fine using smart contracts and cryptocurrency (Ether) of the Ethereum platform. On the contrary, voters who have discovered an attempt at unlawful changes receive a reward in the form of a certain amount in the cryptocurrency. Actually both ProvChain and SmartProvenance/DataProv does not utilize full fledged blockchain technology and distributed consensus algorithms because though they use the block- chain registries to store the data provenance records, the blockchain nodes do not represent interests of the parties involved and the verification of the operations and the records is done outside the blockchain network by centralized provenance service. Therefore they do not really support business processes of data sharing between administratively unrelated parties. They also inherit the bitcoin/Ethereum platform properties which poorly matching the needs of a system for supporting business processes of data sharing in distributed storages. In particular, the both systems use permissionless blockchains with their inherent shortcomings with which we have to put up in the case of open blockchain networks but which are not inevitable in the case of distributed storages. Other existing suggestions and developments in the field of PMD management, including those based on blockchains, are further from the ProvHL system proposed in this article, both in their goals and objectives, as well as in the ways of their implementations. The reader may find discussion of them in Section V of the survey [25]. Thus the traditional centralized techniques are mostly inefficient and have no specific pro- tection for sensitive information [20, 21, 25]. The shortcomings and half-way solutions of the discussed blockchain-based systems show that the blockchain-based data provenance needed more research effort and can be further enhanced by proper utilization of the smart contracts. We believe that our ProvHL system meets the challenge. Суперкомпьютерные дни в РОссии 2019 // Russian Supercomputing Days 2019 // RussianSCDays.org 30 8. Conclusion In this paper, the new approach based on the integration of the blockchain technology, smart contracts and metadata driven data management was suggested. On its basis, the principles and algorithms of the system called ProvHL (Provenance HyperLedger) were developed. This system is a fault-tolerant, secure and reliable system for managing provenance metadata, as well as access rights to data in distributed storages. The problems of optimal choice of the blockchain type for such a system, as well as the choice of the blockchain platform were studied. Namely, it was proposed to use a permissioned type of blockchain and the Hyperledger blockchain platform, on the basis of which the ProvHL system is implemented. Provenance metadata are written to the blockchain beforehand, and the data management system refers to the blockchain and performs the transactions recorded there (metadata driven data management). At present, a testbed has been created on the basis of SINP MSU, where a preliminary version of the ProvHL prototype is deployed to implement the developed principles and refine the algorithms of the system. Within the testbed, smart contracts are implemented to support basic operations with files (upload, download, copy to another storage, etc.). This infrastructure is free from the significant drawbacks inherent to existing solutions, in particular, from the vulnerabilities associated with the presence of a central services and the problems related to the using permissionless blockchains. In addition, the suggested blockchain-based delegation proves to be simple, natural and flexible. Creation of the ProvHL production level system will significantly improve the quality and reliability of the results obtained on the basis of data processing and analysis in a distributed computer environment. References 1. Kryukov A. and Demichev A. Decentralized Data Storages: Technologies of Construction // Programming and Computer Software. 2018. Vol. 44, No. 5. P.303-315. 2. Berghöfer, T., et al. Towards a model for computing in european astroparticle physics. 2015. arXiv preprint, arXiv:1512.00988. 3. Androulaki E.,et al. Hyperledger Fabric: A Distributed Operating System for Permissioned Blockchains // Proceedings of the Thirteenth EuroSys Conference, EuroSys’18, April 2326, 2018, Porto, Portugal, article No. 30. ACM, 2018. 4. PROV-DM: The PROV Data Model. W3C Recommendation. 2013. URL: https://www.w3.org/TR/prov-dm (accessed 03.06.2019). 5. Levy E. and Silberschatz A. Distributed File Systems: Concepts and Examples // ACM Computing Surveys. 1990. Vol. 22, No. 4. P.321-374. 6. Hamida E. B., et al. Blockchain for Enterprise: Overview, Opportunities and Challenges // The Thirteenth International Conference on Wireless and Mobile Communications, ICWMC2017,Nice, France, 2017. 7. Cachin C. and Vukolic M. Blockchain Consensus Protocols in the Wild. 2017. arXiv preprint, arXiv:1707.01873. 8. Valenta M., Sandner P. Comparison of Ethereum, Hyperledger Fabric and Corda. FSBC Working Paper. 2017. PP. 1-8. 9. Baliga A. Understanding Blockchain Consensus Models. Tech. rep., Persistent Systems Ltd. 2017. 10. Lamport, L. The Part-Time Parliament.// ACM Transactions on Computer Systems. 1998. Vol 16. No. 2. PP. 133-169. Суперкомпьютерные дни в РОссии 2019 // Russian Supercomputing Days 2019 // RussianSCDays.org 31 11. Ongaro, D. and Ousterhout J.K. In search of an understandable consensus algorithm // Proceedings of the USENIX Annual Technical Conference, USENIX Association, 2014. PP. 305-319. 12. Howard H. ARC: analysis of Raft consensus. 2014. Technical Report No. UCA";"""date"",""2019-10-08T12:14:37Z"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""pdf:PDFVersion"",""1.5"" ""xmp:CreatorTool"",""pdftk 2.02 - www.pdftk.com"" ""pdf:hasXFA"",""false"" ""access_permission:modify_annotations"",""true"" ""access_permission:can_print_degraded"",""true"" ""dcterms:created"",""2019-10-08T12:14:37Z"" ""language"",""en"" ""Last-Modified"",""2019-10-08T12:14:37Z"" ""dcterms:modified"",""2019-10-08T12:14:37Z"" ""dc:format"",""application/pdf; version=1.5"" ""Last-Save-Date"",""2019-10-08T12:14:37Z"" ""pdf:docinfo:creator_tool"",""pdftk 2.02 - www.pdftk.com"" ""access_permission:fill_in_form"",""true"" ""pdf:docinfo:modified"",""2019-10-08T12:14:37Z"" ""meta:save-date"",""2019-10-08T12:14:37Z"" ""pdf:encrypted"",""false"" ""modified"",""2019-10-08T12:14:37Z"" ""Content-Length"",""186724"" ""pdf:hasMarkedContent"",""false"" ""Content-Type"",""application/pdf"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""meta:creation-date"",""2019-10-08T12:14:37Z"" ""created"",""2019-10-08T12:14:37Z"" ""access_permission:extract_for_accessibility"",""true"" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""9"" ""Creation-Date"",""2019-10-08T12:14:37Z"" ""resourceName"",""24.pdf"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""3272"",""3758"",""3578"",""3795"",""3523"",""2525"",""3857"",""2881"",""2557"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""producer"",""itext-paulo-155 (itextpdf.sf.net-lowagie.com)"" ""access_permission:can_modify"",""true"" ""pdf:docinfo:producer"",""itext-paulo-155 (itextpdf.sf.net-lowagie.com)"" ""pdf:docinfo:created"",""2019-10-08T12:14:37Z"" ";https://scholar.google.com/scholar?start=860&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094668-1188;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;… of blockchain technologies in manufacturing. Study of applicability of blockchain technology in manufacturing: blockchain typologies, manufacturing scenarios …;S VACCA TORELLI ;2019 politesi.polimi.it;;"… its paper (Nakamoto, 2009) the Blockchain structure, taking inspiration from the Hash- Chain. Nakamoto proposed this block-based design as a core component of the crypto- currency Bitcoin which was deployed the following year. Page 27. 26 …";Autres articles;Version HTML;[PDF] polimi.it;https://www.politesi.polimi.it/bitstream/10589/150965/1/2019_12_Vacca_Torelli.pdf;" SCUOLA DI INGEGNERIA INDUSTRIALE E DELL’INFORMAZIONE Laurea Magistrale in Ingegneria Gestionale Potentials of Blockchain Technologies in Manufacturing: Study of applicability of Blockchain technology in manufacturing: Blockchain typologies, manufacturing scenarios, application benefits and technology constraints. Supervisor: Prof. Marco TAISCH Co-Supervisor: Ing. Claudio PALASCIANO Master of Science Thesis of: Simone VACCA TORELLI 905294 Academic Year: 2018/19 1 This page is intentionally left blank 2 “So, the problem is not so much to see what nobody has yet seen, as to think what nobody has yet thought concerning that which everybody sees.” Arthur Schopenhauer. 3 This page is intentionally left blank 4 Acknowledgements The process of writing this thesis has been both challenging and an invaluable learning experience. The writing of this thesis would not have been possible without the help of several knowledgeable and resourceful people, and I would like to take this opportunity to express my sincerest gratitude for their assistance. First, I would like to show my deepest gratitude to my academic supervisor, Prof. Marco Taisch, and, in particular, to my co-supervisor, Eng. Claudio Palasciano, for giving me the opportunity to work on this thesis and for the feedbacks that I have received which have been highly useful in setting the structure and the direction of this thesis. Lastly, I would like to express my sincerest gratitude and appreciation to my family and friends, for always supporting me and being there for me throughout all my studies. Thank you! Milan, December 2019. 5 This page is intentionally left blank 6 Abstract This thesis analyses the possibility of application of the innovative Blockchain technology within Manufacturing, taking into consideration different application scenarios, the possible resulting benefits and the technological constraints. Thanks to the diffusion of Bitcoins, which have gained great notoriety in recent years, the Blockchain has attracted the attention not only of researchers but also of investors who have begun to investigate the possibility of using this technology in other areas as well. Therefore, in this thesis this technology is first examined from an informatics point of view to understand the basic working mechanism and to find out what are the motivations that make it so interesting and so versatile; then the phenomenon of the fourth industrial revolution, the so-called Industry 4.0, is investigated in order to contextualize the current production scenario and the technologies with which the manufacturing world is evolving; finally, the definition of a decision-making framework will make it possible to establish the applicability of the Blockchain within different industrial applications taking into account the main technologies with which it will have to interface, the requirements it will have to respect and the benefits it will bring. 7 This page is intentionally left blank 8 Abstract (Italian Version) La tesi analizza la possibilitĂ  di applicazione della innovativa tecnologia Blockchain all’interno del Manufacturing, tenendo in considerazioni diversi scenari di applicazione, i possibili benefici risultanti ed i vincoli tecnologici. Grazie alla diffusione dei Bitcoin, che hanno acquisito una grande notorietĂ  negli ultimi anni, la Blockchain ha richiamato l’attenzione non solo di ricercatori ma anche di investitori che hanno iniziato ad indagare la possibilitĂ  di utilizzare questa tecnologia anche in altri ambiti. Pertanto, in questa tesi viene dapprima analizzata questa tecnologia da un punto di vista informatico per capire il meccanismo base di funzionamento e per scoprire quali sono le motivazioni che la rendono cosĂŹ interessante e cosĂŹ versatile; quindi viene analizzato il fenomeno della quarta rivoluzione industriale, il cosiddetto Industry 4.0, al fine di contestualizzare al meglio l’attuale scenario produttivo e le tecnologie con cui il mondo del Manufacturing si sta evolvendo; infine, la definizione di un framework decisionale permetterĂ  di stabilire l’applicabilitĂ  della Blockchain all’interno di diverse applicazioni industriali tenendo conto delle principali tecnologie con cui essa dovrĂ  interfacciarsi, dei requisiti che dovrĂ  rispettare e dei benefici che potrĂ  portare. 9 This page is intentionally left blank 10 SUMMARY Acknowledgements ............................................................................................ 4 Abstract ............................................................................................................. 6 Abstract (Italian Version) .................................................................................. 8 Table of Figures ................................................................................................. 14 Table of Tables ..................................................................................................18 Table of Acronyms ........................................................................................... 20 1) Introduction to the Research ........................................................................ 22 2) Introduction to the Blockchain Technology .................................................. 24 2.1) What Blockchain Is ................................................................................. 24 2.1.1) History: from the Hash-Chain to the Bitcoin Block-Chain ..................................... 24 2.1.2) Main Elements of a Blockchain .............................................................................. 26 2.1.2.1) Centralised, Decentralised, Distributed systems .............................................. 26 2.1.2.2) Blocks in the Blockchain .................................................................................. 27 2.1.2.3) Mining .............................................................................................................. 27 2.1.2.3.1) Rewards and Transactions Fees ................................................................. 28 2.1.2.4) Hash Value ....................................................................................................... 29 2.1.2.4.1) Hash Algorithm: SHA256 .......................................................................... 29 2.1.2.5) The Timestamp ................................................................................................. 30 2.1.2.6) The Genesis Block ............................................................................................. 31 2.1.2.7) Digital signature: Public & Private Key Pairs ................................................... 32 2.2) How Blockchain Works .......................................................................... 34 2.2.1) Stepping through key elements of Blockchain: ...................................................... 34 2.2.2) Network Propagation of the Blockchain ................................................................ 42 2.2.2.1) Block Size and Propagation Delay .................................................................... 43 2.2.2.2) Blocks Dissemination and Forks ..................................................................... 44 2.2.2.3) Improving Network Propagation Speed .......................................................... 47 2.2.3) Fork Classes and Hard & Soft Types ...................................................................... 47 2.2.4) Scalability and the Trilemma ................................................................................. 49 2.2.5) Access Control ........................................................................................................ 54 2.2.6) Consensus Mechanism ........................................................................................... 57 2.2. Unanimity in unreliable distributed systems: The Byzantine Generals Problem . 58 2.2.6.1.1 Illustration of the problem .......................................................................... 59 2.2.6.1.2 Solutions to the problem ............................................................................. 59 2.2.6.2 Consensus Algorithm ........................................................................................ 60 2.2.6.2.1 Classification of Consensus Algorithms ...................................................... 60 2.2.6.2.1.1) Proof of Work (PoW) ............................................................................ 61 2.2.6.2.1.2) Proof of Stake (PoS) ............................................................................ 65 2.2.6.2.1.3) Delayed Proof of Work (dPoW) .......................................................... 66 2.2.6.2.1.4) Delegated Proof of Stake (dPoS) ......................................................... 67 11 2.2.6.2.1.5) Leased Proof of Stake (lPoS) ............................................................... 68 2.2.6.2.1.6) Proof of Authority (PoA) ..................................................................... 69 2.2.6.2.1.7) Proof of Reputation (PoRep) .............................................................. 69 2.2.6.2.1.8) Proof of Elapsed Time (PoET) ............................................................ 70 2.2.6.2.1.9) Proof of Space (PoSp) ......................................................................... 70 2.2.6.2.1.10) Proof of History (PoH) ....................................................................... 71 2.2.6.2.1.11) Proof of Stake Velocity (PoSV) ........................................................... 71 2.2.6.2.1.12) Proof of Importance (PoI) ................................................................. 72 2.2.6.2.1.13) Proof of Identity (PoId) ..................................................................... 72 2.2.6.2.1.14) Proof of Retrievability (PoR) ............................................................. 73 2.2.6.2.1.15) Proof of Activity (PoAc) ..................................................................... 73 2.2.6.2.1.16) Proof of Time (PoT) ........................................................................... 74 2.2.6.2.1.17) Proof of Weight (PoWe) .................................................................... 74 2.2.6.2.1.18) Proof of Burn (PoB) ........................................................................... 75 2.2.6.2.1.18) Ouroboros ......................................................................................... 75 2.2.6.2.1.19) Proof of Authentication (PoAh) ........................................................ 76 2.2.6.2.1.20) Proof of Devotion (PoD) ................................................................... 76 2.2.6.2.1.21) Byzantine Fault Tolerance (BFT) .......................................................77 2.2.6.2.1.22) Proof of Believability (PoBe) ............................................................. 79 2.2.6.2.1.23) RAFT ................................................................................................. 80 2.2.6.2.2) General comparison between consensus algorithms ................................ 81 2.3) Evolution of Blockchain ......................................................................... 82 2.3.1) Directed Acyclic Graphs (DAG) .............................................................................. 82 2.3.2) Smart Contracts ....................................................................................................... 91 2.3.3) Side Chains ............................................................................................................. 92 2.5) Blockchain Application Industries ......................................................... 94 2.4.1) Classification of Blockchain Application by Industries .......................................... 94 2.4.2) Classification of Blockchain Applications in the Manufacturing Industry ............ 99 2.4.2.1) Inbound & Outbound Logistic/Procurement................................................. 102 2.4.2.2) Product, Process & Technology Development ............................................... 102 2.4.2.3) Operations ..................................................................................................... 103 2.4.2.4) Sales & Marketing .......................................................................................... 105 2.4.2.5) Human Resource Management/Firm Infrastructure .................................... 106 2.4.3) Smart Contracts for Manufacturing ......................................................................107 3) The Industry 4.0 Scenario .......................................................................... 108 3.1) Industry 4.0 and the rise of Smart Manufacturing Systems .................. 109 3.1.1) The Evolution of Industrial Production: from 1.0 to 4.0 ..................... 109 3.1.2) Definition and Key Components of Industry 4.0 ................................. 110 3.2) Design Principles .................................................................................. 115 3.2.1) Interconnection ...................................................................................................... 115 12 3.2.2) Information Transparency .................................................................................... 116 3.2.3) Decentralized Decisions ........................................................................................ 116 3.2.4) Technical Assistance .............................................................................................. 117 3.3) Objectives .............................................................................................. 117 3.4) Benefits .................................................................................................120 3.5) Main Technological Pillars .................................................................... 123 3.5.1) Autonomous Robots ...............................................................................................124 3.5.2) Big Data & Analytics .............................................................................................. 125 3.5.3) Cloud Computing ................................................................................................... 125 3.5.4) Industrial Internet of Things (IIoT) ...................................................................... 127 3.5.5) Horizontal and Vertical System Integration ......................................................... 130 3.5.6) Simulation ............................................................................................................ 130 3.5.7) Augmented & Virtual Reality ................................................................................. 131 3.5.8) Additive Manufacturing ........................................................................................ 131 3.5.9) Cybersecurity ......................................................................................................... 131 3.6) Requirements for Industry 4.0 ............................................................. 133 3.7) Challenges ............................................................................................. 135 4) Potential Blockchain Applications in Manufacturing .................................. 138 4.0.1) Preliminary Considerations .................................................................................. 138 4.0.2) Definition of a Framework for Assessing Potential Blockchain Application ........139 4.1) Blockchain Key Functions for Manufacturing Applications ................... 141 4.2) Classification of Blockchain typologies based on their Characteristics . 148 4.3) Requirements for Potential Manufacturing Applications ...................... 151 4.4) Blockchain Typologies for Effective Manufacturing Applications ......... 156 4.4.1) Blockchains for Internet of Things in Manufacturing Applications ...................... 157 4.4.2) Blockchains for Horizontal & Vertical System Integration in Manufacturing Applications ..................................................................................................................... 159 4.4.3) Blockchains for Big Data & Analytics in Manufacturing Applications ................. 161 4.4.4) Blockchains for Augmented & Virtual Reality in Manufacturing Applications ....162 4.4.5) Blockchains for Autonomous Robots & Vehicles in Manufacturing Applications 164 4.4.6) Blockchains for Cloud Storage & Computing in Manufacturing Applications ..... 165 4.4.7) Blockchains for Additive Manufacturing in Manufacturing Applications ........... 166 4.4.8) Blockchains for Cybersecurity in Manufacturing Applications ........................... 168 4.4.9) Blockchains for Simulation in Manufacturing Applications ................................ 168 4.6) Final Results for Potentials of Blockchain Technologies in Manufacturing ..................................................................................................................... 169 4.5) Further Conclusive Considerations ....................................................... 174 4.5.1) Blockchain Achieved Benefits for Manufacturing Application .............................. 174 4.5.2) Blockchain Solved Challenges for Manufacturing Application ............................. 177 4.5.3) Main Blockchain Future Implementation Challenges for Manufacturing ............ 178 13 5) Conclusions ................................................................................................. 182 Annex: Literature Review Research Methodology ........................................... 187 Bibliography ................................................................................................... 191 14 Table of Figures Figure 1: Working Mechanism of a Hash Algorithm ............................................................... 24 Figure 2: Possible Typologies of Network Structure ................................................................ 26 Figure 3: Timestamp Effect on the Possible Event Occurence ................................................ 30 Figure 4: Implication of the Genesis Block .............................................................................. 30 Figure 5: Representation of Two Blocks with Two Different Hashes ...................................... 34 Figure 6: Representation of a Replacing Activity on a Block ................................................... 35 Figure 7: An Example of Simple Blockchain Consisting of Three Different Blocks ................ 35 Figure 8: Effects of a Violation Attempt on the Original Blockchain ...................................... 36 Figure 9: Effect of the Remining Activity on the Second Block ............................................... 36 Figure 10: A Distributed Blockchain Owned by Two Different Nodes .................................... 37 Figure 11: Node B’s Violation Attempt on the Distributed Database....................................... 37 Figure 12: Token-based Distributed Blockchain ...................................................................... 38 Figure 13: Example of a Couple of Private and Public Key ...................................................... 39 Figure 14: Effect of Using the same Couple of Key on the same Message ............................... 39 Figure 15: Transaction Signature in the Blockchain ................................................................ 40 Figure 16: Representation of a Distributed and Signed Blockchain ......................................... 41 Figure 17: Exchange of a Block between Two Nodes ............................................................... 42 Figure 18: Influence of Block Size on the Propagation Delay .................................................. 43 Figure 19: Propagation of a Block over the Blockchain Network ............................................ 44 Figure 20: Propagation of Two Different Blocks over the Blockchain Network ...................... 44 Figure 21: Representation of Two Partitions of the Network .................................................. 45 Figure 22: Representation of a Detected Forking Event and coexistence of Two Partitions .. 46 Figure 23: Resolution of a Forking Event and Synchronization Starting ................................ 46 Figure 24: Normal and Rare Forkings ..................................................................................... 48 Figure 25: Representation on a Hard Fork Event .................................................................... 49 Figure 26: The Scalability Trilemma Represented in a Mechanical Logic .............................. 50 Figure 27: Directed Acyclic Graph Representation.................................................................. 54 Figure 28: Representation of the Logic for Access Control ..................................................... 55 Figure 29: Ordinary Block Production in PoS ......................................................................... 67 Figure 30: Example of a Malfuctioning or Malicious Activities in PoS ................................... 68 Figure 31: Reaching the Limit of One-Third of Malevolent Node in PoS ................................ 68 Figure 32: PoAh Representation in the Blockchain ................................................................. 76 Figure 33: Phases in a Practical Byzatine Fault Tolerance ...................................................... 78 Figure 34: Simple Cyclic Graph ............................................................................................... 83 Figure 35: Directed Acyclic Graph ........................................................................................... 83 Figure 36: Blockchain-Similar Directed Acyclic Graphs ......................................................... 83 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436902 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436903 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436907 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436913 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436915 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436918 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436919 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436920 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436925 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436926 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436927 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436928 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436929 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436932 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436933 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436934 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436937 15 Figure 37: Forking Event in a Directed Acyclic Graph ............................................................ 84 Figure 38: Complex Directed Acyclic Graph ............................................................................ 84 Figure 39: Tangle Directed Acyclic Graph ............................................................................... 85 Figure 40: Couples on the same horizontal level are incomparable with each other but also some other pairs at different level, such as {b} and {g}, are also incomparable. .................... 86 Figure 41: Double Spending on a Directed Acyclic Graph ....................................................... 87 Figure 42: Representation of Account Balance (on the left) and Fund Transfer (on the right) in Block-Lattice Data Structure ............................................................................................... 87 Figure 43: Events Representation on Hashgraph .................................................................... 88 Figure 44: Comparison Between Blockchain and Hashgraph ................................................. 89 Figure 45: Round Creation and Election Starting ................................................................... 89 Figure 46: Election Mechanism for Reaching Consensus and Confirming Events ................. 90 Figure 47: Representation of a Sidechain Network with Three Sidechains ............................ 93 Figure 48: Decentralization of Factory in Industry 4.0 with Blockchain. Adapted from (Rüßmann, et al., 2017) .......................................................................................................... 100 Figure 49: Porter’s Value Chain. Adapted from (Porter, 1985) ............................................. 102 Figure 50: Single modular cells in SMSs. ............................................................................... 113 Figure 51: Interconnection between cells in SMSs. ................................................................ 113 Figure 52: The whole physical system is represented and controlled at application level. .... 114 Figure 53: Design Principles for Industry 4.0 (Hermann, Pentek & Otto, 2016) ................... 115 Figure 54: Main Technologies in Industry 4.0 (Rüßmann, et al., 2017) .................................124 Figure 55: Framework for the Assessment of Blockchain Application in Manufacturing (Author’s Own Finding) ......................................................................................................... 140 Figure 56: Focus on Functions in the Framework (Author's Own Finding)........................... 141 Figure 57: Classification of Blockchain Functions (Author's Own Findings) ......................... 141 Figure 58: Focus on How Functions Satisfy Requirements in the Framework (Author's Own Finding) ................................................................................................................................... 147 Figure 59: Focus of What Blockchain Types Enable Certain Functions in the Framework (Author's Own Finding) ......................................................................................................... 148 Figure 60: Focus of Which Requirements each Manufacturing Application Needs in the Framework (Author's Own Finding) ....................................................................................... 152 Figure 61: Application of the Results over the Whole Framework (Author's Own Findings) 156 Figure 62: Level of Integrability of Blockchain with Main Technologies of Industry 4.0 (Author's Own Findings)Table 21: Results for Potential Blockchain Application in Manufacturing (Author's Own Findings) ................................................................................ 171 Figure 63: Level of Integrability of Blockchain with Main Technologies of Industry 4.0 (Author's Own Findings) ......................................................................................................... 172 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436941 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436941 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436943 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436943 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436944 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436945 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436946 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436947 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436948 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436949 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436949 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436951 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436952 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436953 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436955 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436956 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436956 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436959 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436959 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436963 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436963 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436963 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436964 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436964 16 Figure 64: Potentiality of Application of Blockchain in Manufacturing with Each Technology in Industry 4.0 (Author's Own Findings) ............................................................................... 173 Figure 65: Literature Review Research Process ..................................................................... 189 Figure 66: Distribution of Documents over Years from 2009 and 2018 ............................... 189 Figure 67: Google Trends Results regarding the Blockchain Keyword ................................. 189 Figure 68: Documents Classification based on Three Main Categories ................................ 190 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchain%20Technologies%20in%20Manufacturing%20Final_V1.docx%23_Toc26436965 file:///C:/Users/VZ793XJ/Desktop/Potentials%20of%20Blockchai";"""date"",""2019-12-05T10:14:08Z"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""pdf:PDFVersion"",""1.7"" ""xmp:CreatorTool"",""MicrosoftÂŽ Word for Office 365"" ""pdf:hasXFA"",""false"" ""access_permission:modify_annotations"",""true"" ""access_permission:can_print_degraded"",""true"" ""dc:creator"",""Simone Vacca Torelli"" ""language"",""en"" ""dcterms:created"",""2019-12-05T10:14:08Z"" ""Last-Modified"",""2019-12-05T10:14:08Z"" ""dcterms:modified"",""2019-12-05T10:14:08Z"" ""dc:format"",""application/pdf; version=1.7"" ""xmpMM:DocumentID"",""uuid:09B4814D-4F64-408A-BF25-D486C84CBEB4"" ""Last-Save-Date"",""2019-12-05T10:14:08Z"" ""pdf:docinfo:creator_tool"",""MicrosoftÂŽ Word for Office 365"" ""access_permission:fill_in_form"",""true"" ""pdf:docinfo:modified"",""2019-12-05T10:14:08Z"" ""meta:save-date"",""2019-12-05T10:14:08Z"" ""pdf:encrypted"",""false"" ""xmp:CreateDate"",""2019-12-05T11:14:08Z"" ""modified"",""2019-12-05T10:14:08Z"" ""pdf:hasMarkedContent"",""true"" ""Content-Type"",""application/pdf"" ""xmp:ModifyDate"",""2019-12-05T11:14:08Z"" ""pdf:docinfo:creator"",""Simone Vacca Torelli"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"",""Simone Vacca Torelli"" ""dc:language"",""en-US"" ""meta:author"",""Simone Vacca Torelli"" ""pdf:producer"",""MicrosoftÂŽ Word for Office 365"" ""meta:creation-date"",""2019-12-05T10:14:08Z"" ""created"",""2019-12-05T10:14:08Z"" ""access_permission:extract_for_accessibility"",""true"" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""211"" ""Creation-Date"",""2019-12-05T10:14:08Z"" ""resourceName"",""2019_12_Vacca_Torelli.pdf"" ""pdf:hasXMP"",""true"" ""pdf:charsPerPage"",""476"",""44"",""176"",""44"",""908"",""44"",""1298"",""44"",""1336"",""44"",""4442"",""4373"",""4241"",""338"",""4095"",""4004"",""655"",""46"",""4002"",""593"",""1046"",""459"",""2512"",""931"",""1863"",""2173"",""2140"",""2460"",""2721"",""2145"",""1821"",""2919"",""2652"",""1711"",""1736"",""820"",""868"",""574"",""1581"",""1375"",""1477"",""651"",""2098"",""1980"",""1101"",""1728"",""623"",""2090"",""1641"",""1649"",""1814"",""2732"",""2707"",""2195"",""1779"",""1668"",""2941"",""2674"",""2883"",""2224"",""2738"",""2809"",""2934"",""3011"",""3021"",""2817"",""2643"",""2606"",""1462"",""2584"",""2505"",""2507"",""2043"",""2907"",""2031"",""1790"",""2133"",""2628"",""1825"",""2833"",""2065"",""774"",""2673"",""923"",""1542"",""2368"",""1989"",""1491"",""2137"",""1058"",""1823"",""2517"",""2420"",""530"",""2197"",""2367"",""2002"",""2657"",""2039"",""2857"",""1692"",""2602"",""1473"",""2923"",""2814"",""2696"",""690"",""2388"",""2690"",""2849"",""2442"",""2931"",""2869"",""2698"",""2391"",""1642"",""2981"",""2849"",""2749"",""2347"",""2580"",""3501"",""1129"",""2782"",""1237"",""2919"",""2482"",""2547"",""2707"",""2373"",""2923"",""2767"",""586"",""2790"",""1820"",""3032"",""3834"",""2418"",""2823"",""2877"",""1164"",""1069"",""2786"",""2769"",""2805"",""2792"",""2771"",""207"",""2244"",""2733"",""2305"",""169"",""2273"",""2980"",""107"",""110"",""2297"",""3122"",""3029"",""2964"",""3117"",""2841"",""2889"",""2590"",""3137"",""3227"",""2913"",""2908"",""2884"",""2543"",""2810"",""103"",""119"",""139"",""2502"",""2688"",""2671"",""2574"",""2651"",""2981"",""2779"",""949"",""2390"",""2758"",""2221"",""2354"",""1899"",""1964"",""2679"",""1055"",""941"",""2196"",""2133"",""2256"",""2206"",""2422"",""2248"",""2141"",""2185"",""2329"",""2237"",""2312"",""2075"",""2160"",""2205"",""2136"",""2313"",""2240"",""2314"",""2452"",""1394"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""Author"",""Simone Vacca Torelli"" ""producer"",""MicrosoftÂŽ Word for Office 365"" ""access_permission:can_modify"",""true"" ""pdf:docinfo:producer"",""MicrosoftÂŽ Word for Office 365"" ""pdf:docinfo:created"",""2019-12-05T10:14:08Z"" ";https://scholar.google.com/scholar?start=410&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094567-765;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Enhance generalized exchange economy using blockchain: a time banking case study;X Lin, R Xu, Y Chen, JK Lum ; the IEEE Blockchain Technical …, 2019 blockchain.ieee.org;;"… Enhance Generalized Exchange Economy Using Blockchain: A Time Banking Case Study. Xuheng Lin, Dept … of Electrical and Computing Engineering, Binghamton University, SUNY. IEEE Blockchain Technical Briefs, March 2019. Discuss this topic on IEEE Collabratec …";Cité 2 fois;;null;;;;https://scholar.google.com/scholar?start=580&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094593-872;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Key legal issues surrounding smart contract applications;P Sanz Bayón ; KLRI Journal of Law and Legislation, 2019 papers.ssrn.com;;"… external oracles that are under the control of the party that must perform the obligation.28 … by alternative mechanisms, such as the creation of a SC linked to an oracle (a notary … Introducing a blockchain ledger to record joint venture transactions and using SC to define, negotiate …";Cité 1 fois;Les 2 versions;[PDF] comillas.edu;https://repositorio.comillas.edu/xmlui/bitstream/handle/11531/36961/KJLL%20Vol9%20No1%202019%20article.pdf?sequence=-1&isAllowed=y;" Legal Issues in Facilitation & Fair-Use of E-Procurement System - Lessons from Korean Experience - ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Dae-in Kim “Trade Wars are Good and Easy to Win” : from Security Exceptions to Post-WTO World ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Alexandr Svetlicinii Key Legal Issues Surrounding Smart Contract Applications ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ Pablo Sanz BayĂłn Ensuring the Rights of Juvenile Offenders in Vietnam’s Juvenile Justice – Towards Better Compliance with the Convention on the Rights of the Child ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Duc Tien Nguyen The EU Legal Protection System against the Effects of Extra-territorial Application of Legislation Adopted by a Third Country, and Actions Based Thereon or Resulting Therefrom ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Stefan Brocza Formation, Development and Improvement of the Constitutional Justice in the Republic of Uzbekistan in the Modern Conditions of the Society ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Mukhamedjanov Amanulla Zakirovich KLRI Journal of Law and Legislation Volume 9 Number 1 2019 Articles KLRI Journal of Law and Legislation Editor-in-Chief Soo-Geun Oh, Professor, Ewha Womans University Editorial Board Asif Qureshi, Professor, Korea University Birgit Daiber, Professor, Seoul National University Dan Puchniak, Professor, National University of Singapore Dae-In Kim, Professor, Ewha Womans University Kyung-Sin Park, Professor, Korea University Woo-Young Rhee, Professor, Seoul National University Alexander Graser, Professor, University of Regensburg Adam Pritchard, Professor, University of Michigan Yuki Katagiri, Professor, Otaru University of Commerce Lincoln Davies, Professor, University of Utah Managing Editors Hyung-Gun Kim, KLRI, Korea Min-Young Jang, KLRI, Korea Hyun-Jung Lee, KLRI, Korea Chair of the Executive Board Ik-Hyeon Rhee, President, KLRI, Korea KLRI Journal of Law and Legislation ISSN 2234-7526 Printed by KS Sensation Co Publication Date: May 31, 2019 Korea Legislation Research Institute 15 Gukchaegyeonguwon-ro Sejong-si 30147 Republic of Korea Tel : 82-44-861-0446 Fax : 82-44-868-9913, 14 www.klri.re.kr CopyrightŠ 2019 Korea Legislation Research Institute All materials in this issue may be reproduced or distributed, in whole or in part, by nonprofit institutions for educational purposes including distribution to students, provided that the copies are distributed at or below cost and identify the author, the KLRI Journal of Law and Legislation, the volume, for educational and nonprofit purpose, and the year of the article’s publication. For-profit inquiries concerning the reproduction of articles should be addressed to the Managing Editor at KJLL@KLRI.RE.KR. All views expressed in KLRI Journal of Law and Legislation are those of the authors only and do not KJLL, or any associates of the journal. KLRI Journal of Law and Legislation Volume 9 Number 1 2019 KLRI Journal of Law and Legislation VOLUME 9 NUMBER 1, 2019 ������� Legal Issues in Facilitation & Fair-Use of E-Procurement System - Lessons from Korean Experience - 1 Dae-in Kim “Trade Wars are Good and Easy to Win”: From Security Exceptions to the Post-WTO World 29 Alexandr Svetlicinii Key Legal Issues Surrounding Smart Contract Applications 63 Pablo Sanz BayĂłn Ensuring the Rights of Juvenile Offenders in Vietnam’s Juvenile Justice �� Towards Better Compliance with the Convention on the Rights of the Child 93 Duc Tien Nguyen The EU Legal Protection System against the Effects of Extra-territorial Application of Legislation Adopted by a Third Country, and Actions Based Thereon or Resulting Therefrom 145 Stefan Brocza Formation, Development and Improvement of the Constitutional Justice in the Republic of Uzbekistan in the Modern Conditions of the Society 199 Mukhamedjanov Amanulla Zakirovich Contents Key Legal Issues Surrounding Smart Contract Applications Pablo Sanz BayĂłn*1 I. A Basic Concept of Smart Contract II. Blockchain as a Suitable Technology for Smart Contracts III. Operation of Smart Contracts on Blockchain Platforms A. The Main Problem of Contracts B. The Blockchain Solution to the Main Problem of Contracts IV. Legal Categorization of Smart Contracts and Some Problematic Aspects A. Premises for a Legal Categorization of Smart Contracts B. Problematic Aspects that Arise with Smart Contracts C. The Path towards the Design of a Harmonized Supranational Legislative Policy for Smart Contracts: Main Challenges V. Final Remarks * Assistant Professor in Commercial Law. School of Law, Comillas Pontifical University (Madrid, Spain). Tel: +34 91 542 28 00, Email: psbayonďż˝comillas.edu. Abstract2 The aim of this work is to delve into some key legal issues surrounding Smart Contract applications. In the first and second parts, this paper defines the concept of Smart Contract and how it applies within the blockchain ecosystem. In the third part, this work exposes the functioning of this digital technology and the main advantage that it implies for solving the crucial issues of execution and breach of contracts. In the fourth section, this paper analyzes a set of problematic aspects that arise around Smart Contracts such as the scope and delimitation of them or the validity and certification of blockchain transactions. It also analyzes different issues related to the design of a legislative policy that addresses the design of a supranational and harmonized legal framework. Keywords: Smart Contract, Blockchain, Distributed-Ledger Technology, Transactions, Self-executing Agreements, Enforcement, Legislative Policy Manuscript received: Feb. 7, 2019; review completed: Mar. 14, 2019; accepted: Apr. 15, 2019 I. A Basic Concept of Smart Contract The concept of Smart Contract (SC) was introduced at the end of the last century by the computer cryptographer Nick Szabo, who proposed it to automate the fulfillment of computerized promises.1 Szabo defined SC as a set of promises and specified in digital form, including protocols within which the parties perform on the other promises.2 The automation of the execution of contractual obligations is made possible through the translation of the terms of the contract into an executable program. This program allows the control over the physical or digital objects necessary to perform such execution. In this way, once the possibility of a dispute regarding the conditions has been closed (because they are codified and previously agreed upon by the parties), the key point is to wait for the conditions in the programming to be fulfilled or not in order to carry out the agreed obligations. The functioning of the SC is given through conditional statements that have the form [if this (X), then (Y)]. This task can be entrusted to a software thanks to the possibility of putting in computer code some of the provisions of a contract (which may have been previously formalized in natural language).3 The 1) Mr. Szabo was the first author to use the term “smart contracts” and is theorized to be the person behind the pseudonym of Satoshi Nakamoto, the creator of the cryptocurrency Bitcoin. For more information regarding these claims. See Nathaniel Popper, Decoding the Enigma of Satoshi Nakamoto and the Birth of Bitcoin, The New York Times (Apr. 26, 2019), https://www.nytimes .com/2015/05/17/business/decoding-the-enigma-of-satoshi-nakamoto-and-the-birth-of-bitcoin .html. For more information: SZABO, N. (1997), The Idea of Smart contract. Retrieved from https://web.archive.org/web/20060615044959/http:/szabo.best.vwh.net/smart_contracts_idea.html 2) Nick Szabo, Smart contracts, Âś 1, (Apr. 26, 2019), Phonetic Sciences, University of Amsterdam http://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwint erschool2006/szabo.best.vwh.net/smart.contracts.html. 3) One of the SC applications based on private blockchain is led by a consortium of major international banks called R3. R3 successfully used its proprietary Corda blockchain for the first time to trade bonds as part of a pilot project. This is another case where blockchain-based SC has the potential to cut costs and speed up processes by automating manual tasks. Corda blockchain allows members to use the transaction platform whilst receiving exclusive access to the data and combining this system with SC in order to trade derivatives, as Barclays demonstrated in April 2016. The vision is for the SC to be capable of automatically transferring the value of a derivative to the account of the transaction´s beneficiary from the account of its counterparty. As Deloitte states in its report, the current legal framework still requires the counterparty owing the payment to authorize automated transfers, but technically it is already possible today to fully automate the process without leaving any possibility for intervention by the parties. The same process is possible for energy networks to be controlled through SC, since 66 Key Legal Issues Surrounding Smart Contract Applications Pablo Sanz BayĂłn importance of SC is of such magnitude that the Nobel Prize Laureate in Economics 2016, Oliver Hart, for his contribution to the Theory of Contracts, announced his interest in participating in some projects that are developing innovations in this field.4 II. Blockchain as a Suitable Technology for Smart Contracts The blockchain technology constitutes a very useful computational platform for programming and registering this type of operations whoseself-execution depends on verifying the conditions previously established between the parties.All this is achieved without the intervention of any of the parties or of an intermediary or central authority. In this sense, any agreement between individuals or companies can include clauses whose execution is automated thanks to the use of blockchain technology.5 Blockchain is more well-known as the means to the end that it serves, since it is the technology that enables the functioning of Bitcoin (which is the most well-known cryptocurrency).6 This technology is a type of Distributed Ledger Technology (DLT),7 which has been characterized as “a distributed, shared, and they would signal to the system when to initiate what transactions based ojn predefined rules. See Felix Hasse, Axel von Perfall, Thomas Hillebrand, Erwin Smole, Lena Lay, and Maximilian Charlet, Blockchain - an opportunity for energy producers and consumers?, PwC global power & utilities, available at https://www.pwc.com/gx/en/industries/assets/pwc-blockchain -opportunity-for-energy-producers-and-consumers.pdf. 4) Michael del Castillo, Nobel Prize Winner Joins Blockchain Startup to Fix Smart Contracts, Forbes (Aug. 1, 2018), https://www.forbes.com/consent/?toURL=https://www.forbes.com/sites /michaeldelcastillo/2018/08/01/nobel-prize-winner-joins-blockchain-startup-to-fix-smart-contra cts/#2faf421e7cc7. 5) Tessa Hoser, Blockchain basics, commercial impacts and governance challenges, 68 Governance Directions, 608-12 (2016). 6) Bitcoin is a cryptocurrency created in 2009 that serves the function of money without requiring the control of a central authority, since it depends on cryptography through a consensus network. This cryptocurrency works via a peer to peer network that enables the use of this digital money. For more information, see Satoshi Nakamoto, Bitcoin: A Peer-to-Peer Electronic Cash System, available at https://bitcoin.org/bitcoin.pdf; see also Reuben Grinberg, Bitcoin: An Innovative Alternative Digital Currency, 4 Hastings Sci. & Tech. L.J. (2011), available at https://ssrn.com/abstract=1817857. 7) See A Report by the UK Government Chief Scientific Adviser, Distributed Ledger Technology: beyond block chain, Government Office for Science (2016), available at https://www.gov.uk/government KLRI Journal of Law and Legislation VOLUME 9 NUMBER 1, 2019 67 encrypted database that serves as an irreversible and incorruptible repository of information.”8 Blockchain operates as a digital platform that validates and stores the history and timeline of transactions of all users throughout the network. By creating a new “block” in the chain, the platform contains all the information created from the transactions, and timestamps them in order to preserve all the information unaltered. Its operating is close to a double-entry bookkeeping system, in the sense that once the transaction has been carried out, the blockchain registers and sends it to all the users in the network. The blocks are chronologically saved and also connected to a database that will enable a secure and trustworthy way of ensuring the origin and owner of the digital file or asset that has been transferred.9 The transactions are verified by high-advanced cryptographic system, and once validated, they are stored in different blocks that are also later verified by the whole network of members (each through its node), and thus chained to one another, which is synchronized among the other nodes via Peer-to-Peer (P2P) protocol.10 The main difference, and its main advantage over the more traditional systems of bookkeeping is that this digital accounting system is completely decentralized. This ensures that the possibility of tampering with the records is close to null. If some altering were to be done to a certain block or piece of information, the author would have to change all records of the whole blockchain network. This means to alter all the records which were sent to the network members, one by one, and in the shortest time as possible.11 In practice, this technological advantage allows for transactions to occur and be approved without requiring the services of a middle-man or intermediary, since the whole network will ensure the instant legitimacy of the transaction deployed in the Peer-to-Peer platform.12 For this reason, the main virtue of this /uploads/system/uploads/attachment_data/file/492972/gs-16-1-distributed-ledger-technology.pdf. 8) See Hossein Kakavand, Nicolette Kost De Sevres, and Bart Chilton, The Blockchain Revolution: An Analysis of Regulation and Technology Related to Distributed Ledger Technologies, (2017), available at https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2849251. 9) See Matthew Spoke, How Blockchain Tech Will Change Auditing for Good (2015), coindesk, available at https://www.coindesk.com/blockchains-and-the-future-of-audit/. 10) See Kakavand, Sevres, and Chilton, supra note 8. 11) See Douglas W. Arner, Janos Nathan Barberis, and Ross P. Buckley, The Evolution of Fintech: A New Post-Crisis Paradigm?, Univ. H.K. Fac. L. Res. Paper No. 2015/047 (2015), UNSW L. Res. Paper No.2016-62 (2016), available at https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2676553. 12) See Special Report: Slings and Arrows, Blockchain - The Next Big Thing, The Economist (2015), 68 Key Legal Issues Surrounding Smart Contract Applications Pablo Sanz BayĂłn new digital technology is its unlimited applications.13 In fact, blockchain can be applied in all technological dimensions, but it can also be used in order to solve and fulfil operational, legal, and regulatory issues, by covering all aspects of market and corporate concerns, which could include: public registrars and filings (commercial and property ones, management of securities or intellectual property rights), notarization and public faith, and even invoice tracking.14 III. Operation of Smart Contracts on Blockchain Platforms As indicated above, a SC is an automatable and enforceable agreement. Although some parts may require human input and control, it can be automated by computer. It is enforceable either by legal enforcement of rights and obligations or via tamper-proof execution of computer code.15 Its main utility in the network consists of serving as a condition to execute orders that allow the available at https://www.economist.com/news/special-report/21650295-or-it-next-big-thing. 13) For more information, see James Ray, Decentralized apps (dapps), Ethereum / wiki (2018), available at https://github.com/ethereum/wiki/wiki/Decentralized-apps-(dapps). 14) According to Maria Pedernal, Legal framework and international comparison of regulatory technologies (Regtech) and its implications for the financial sector, Universidad Pontificia Comillas (2018): “A great example of the interest that corporations have regarding this technology is the photograph-company Kodak, which caused a major fuzz in the markets once they announced that they were entering into a partnership agreement with WENN Digital to establish the management of photographers’ image rights on the blockchain, along with the launching of a “photo-centric cryptocurrency.” The result was prompt: their shares’ value increased in a 200%, despite the fact that they had filed for bankruptcy in 2012 and their revenues were declining since they returned to the printing business in 2013.” For more information, see Cory Johnson and Olga Kharif, Kodak CEO Plans to Seize Blockchain Moment and Win Over Skeptics, Bloomberg (2018), available at https://www.bloomberg.com /news/articles/2018-01-12/kodak-ceo-plans-to-seize-blockchain-moment-and-win-over-ske ptics. 15) The use of the expression ""tamper-proof"" reflects the definition's indebtedness to the aforementioned blockchain technologies, which are fundamentally a way of creating tamper-proof electronic record of transactions – i.e. a record which neither the parties nor any third party can modify. What the definition is getting at here is that the enforceability of a SC may not necessarily lie in the fact that the output (i.e. its performance) can be enforced by a court, but, as an alternative sense of ""enforceable"", that it may be affected by an autonomous technological process which, once initiated, cannot be interfered with. See CLIFFORD CHANCE (2017), Are smart contracts contracts? Retrieved from http://globalmandatoolkit. cliffordchance.com/downloads/Smart_Contracts.pdf. KLRI Journal of Law and Legislation VOLUME 9 NUMBER 1, 2019 69 administration of digital assets (tokens), and therefore, of the data encrypted in the blocks of the chain. From a computer perspective, each SC involves the processing of a set of automated orders. The SC is executed when an external agent to the chain (but connected to it) intervenes by stating a fact or verifying the fulfillment of a condition.16 Once the agent (usually a machine or an application called “oracle”) issues the command, the SC triggers a programmed digital event.17 The execution of the provisions of a SC allows the virtual operators of the blockchain platform (or even of other interconnected blockchains) to display the consequences of the scheduled event online. Normally, such event will consist of a payment, the conclusion of a transaction, the transfer of digital assets, or any other predetermined event. Therefore, the automatic operation of SC in a blockchain platform is intended to produce facts with legal relevance. Consequently, it is necessary to clarify that SC is a useful program to exchange digital assets when certain conditions are met or the external scheduled events occur. Thanks to this way of operating, SC can be very useful to automate markets, products, services, and even new systems of business organizations (Decentralized Autonomous Organizations or DAO).18 This automation of SC requires support and legal recognition in order to provide not only full effects among the parties but also erga omnes, insofar as the material consequences that they deploy on the network are the object of legal recognition regarding registered data with full evidentiary effects.19 16) See Vitalik Buterin, A Next Generation Smart contract and Decentralized Application Platform, Ethereum White Paper (2018), available at http://blockchainlab.com/pdf/Ethereum_white_paper-a _next_generation_smart_contract_and_decentralized_application_platform-vitalik-buterin.pdf. 17) See Angela Walch, The Path of the Blockchain Lexicon (and the Law), 36 Rev. Banking & Fin. L. 713 (2017), available at https://www.academia.edu/32573448/The_Path_of_the_Blockchain _Lexicon_and_the_Law. 18) See Andrew Hinkes, The Law of the DAO, coindesk, (2016), available at https://www.coindesk.com /the-law-of-the-dao/ and Reuben Bramanathan, Blockchains, Smart contracts and the Law. Unravelling the legal issues surrounding the DAO, The Coinbase Blog (2016), available at https://blog.coinbase.com/blockchains-smart-contracts-and-the-law -709c5b4a9895. 19) For example, in the Ethereum platform, SC is executed to achieve any goals pursued with the data incorporated into the token (transfer properties or credits or the creation of cryptocurrencies). Software developers are designing decentralized applications, strengthening the ecosystem and demand for Ether (Ethereum's gas or currency). See Financial Services Regulatory Authority, Supplementary Guidance - Regulation of Initial Coin Offerings and Virtual Currencies under the Financial Services and Market Regulations, Abu Dhabi Global Market (2017), available at https:// www.adgm.com/media/192772/20171009-fsra-guidance-for-icos-and-virtual-currencies.pdf. 70 Key Legal Issues Surrounding Smart Contract Applications Pablo Sanz BayĂłn A. The Main Problem of Contracts Blockchain has gained considerable strength in relation to the actual implementation of SC. This is because the technology of SC aims to solve the biggest inconvenience that economic agents have encountered throughout history: total, partial, or late non-compliance with the contractual obligations between the parties. When, for example, two parties agree to carry out any exchange, it is natural that the expectation of both is directed to both the one and the other complying with the agreement. However, over time, the interests or intentions of each of the parties may vary. If the fulfillment of a contract depends on the will of the parties, it may happen that one of them changes his or her mind and refrains from fulfilling it or does so incompletely or defectively. If this situation were to occur, the legitimate expectations of its counterpart would be frustrated. The traditional solution would be to go to court or to arbitration to demand compliance with the terms of the contract or the termination of the contract with compensation for damages. All this uncertainty about the execution of the contract implies time and costs for the plaintiff.20 B. The Blockchain Solution to the Main Problem of Contracts Thanks to the SC and blockchain technology, the risk of lack of execution of contracts can be reduced and solved very efficiently. This is achieved through an automated mechanism that assurances a quick and cheap execution of the contract when certain agreed conditions are met. This mechanism is completed through the programming of algorithms. The algorithm itself searches the data it needs and then checks whether the condition has been met or not according to an 20) The introduction of blockchain-based SC in a shared-ledger platform drives substantial efficiency, fraud prevention and cost take out. In the chemicals and petroleum industry, for instance, due to the vast and intricate geographies in which the companies operate, each participant in a supply chain must maintain their records, updated with their transactions and systems, which must be reconciled among other participants in the network. As a result, all participants in the supply chain incur costs and delays associated with this reconciliation. These issues are further complicated when third-party validation or intermediaries have to be brought to resolve disputes. As IBM states, much more than a technology to automate business transactions, blockchain create a new model for trust by establishing transactional relationship between businesses via SC, certifications and digital compliance. IBM Cross Business Unit White Paper, Blockchain can help transform supply chain networks in the chemicals and petroleum industry (2018), available at https://www.ibm.com/downloads/cas/B4OYMO5Q. KLRI Journal of Law and Legislation VOLUME 9 NUMBER 1, 2019 71 oracle (which is a source of external information, for example, a webpage with information on asset prices).21 If the condition has been met, the transaction is executed by the SC (for example, a purchase order, payments, etc.).22 In this sense, blockchain helps solve potential difficulties in the execution of contracts. This is achieved thanks to the generation and maintenance of the information through an encrypted and decentralized registry that is supervised by each member of the network (nodes).23 Consequently, since there is no central depositor of the information with which the SC is going to operate, it would be necessary to hack or crack the entire network in order to modify the terms of the contract or take possession of the digital assets that it can dispose of. This hypothesis is practically impossible. This advantageous feature of blockchain provides a very high level of security and transparency that is consistent with the objectives of operations carried out with SC. For this reason, it said that the great advantage of SC is that they are very difficult to be altered or revoked, once they have been operated and even more so when the automatic execution of the contracts has taken plac e.24 The irreversibility and immutability of blockchain guarantee the fulfillment and effectiveness of the legal obligations. Thus, the nature of SC fits very well with the Blockchain ecosystem. Once programmed by the parties, the execution of the SC does not need any intermediary to carry them out. This means that many commercial exchanges are potentially more efficient by reducing the transaction costs associated with both the default of the counterparty and those derived from going to court to claim compensation.25 21) See Alexander Preukschat, Blockchain: la revoluciĂłn industrial de internet, (GestiĂłn 2000, 2017). 22) Thanks to a blockchain platform operating SC some practices in certain sectors could be improved such as work order which are manually created and processed, inefficient notification across parties, lack of compliance checks, discrepancies in services performed and included on the invoice resulting in errors and unauthorized spend. See Accenture, A Digital Future for Oil and Gas: Blockchain – Understanding New Technologies (Sep. 12, 2017), available at h t tps : / / s3 .amazonaws.com/bizzabo.users . f i les /27UDMvJRJ6w3WSvUq8j1 _BC%201%20-%20Rich%20Meszaros%20-%20Accenture.pdf. 23) For more information, please see S. Asharaf and S. Adarsh, Decentralized Computing Using Blockchain Technologies and Smart contracts: Emerging Research and Opportunities, (Information Science Reference, 2017). 24) See Max Raskin, The law and legality of smart contracts, 1 Geo. Tech. L. R. 305 (2017). 25) Blockchain-based SC have the potential of simplifying processes that can lead to enhanced efficiency and cost reductions, offering transactional verification instantly across the network, without relying on a central authority. This advantage has the potential of reducing operating 72 Key Legal Issues Surrounding Smart Contract Applications Pablo Sanz BayĂłn IV. Legal Categorization of Smart Contracts and Some Problematic Aspects A. Premises for a Legal Categorization of Smart Contracts Both legal traditions, Common Law and Civil Law, give the parties to a contract ample scope to reach agreements and negotiate the terms of a contract. Since the SC is based exclusively on the algorithmic configuration of a condition or a set of conditions, it is obvious that the contractual freedom will be subject to the limits of the conditions in accordance with the legal system under which it is celebrated. For instance, this is the case of the existing prohibitions for certain contracts because of their purpose (illicit activities or contrary to public order) or restrictions on what can or cannot be agreed, as it happens with consumers or labor contracts. Criminal law, consumer law, or labor law, in this sense, would operate as certain limits to contractual conditions. Therefore, a SC should respect them, to be considered valid and legally enforceable. Nothing prevents a contract from being subject to conditions. There are relatively simple contractual conditions to formulate in programming language and that the SC itself can verify. This verification can occur in two ways: using reliable sources within the blockchain environment itself (or outside through an external oracle) or through the contribution of a certain document of assessed content. For instance, this last method would be the proper one to execute an escrow contract.26 cost, managing data and improving the speed of transaction processing. Regarding oil and gas industry, Deloitte states that supply chains will be a good place to start in assessing practical value. SC in blockchain for this sector and markets can enhance supply chain efficiency, better secure real-time data generated during delivery, by creating a chain of order requests connecting engineers, analysts and laboratories. In this sense, through blockchain platforms oil and gas companies could forge new agreements with producers, suppliers, financial experts, record-keeping departments and third-party vendors, potentially leading to reduced cost, streamlined management and a clearer understanding of the assignments and expectations of each player on the field. See Mark Koeppen, David Shrier, and Morgan Bazilian, Is blockchain´s future in oil and gas transformative or transient?, Deloitte (2017), available at https://www2.deloitte.com/content/dam/Deloitte/de/Documents/energy-resources/gx -blockchain-report-future-in-oil-and-gas.pdf. 26) SC can be an extraordinary instrument to improve value chain efficiency in the oil and gas sector. As Deloitte has explained, many years of volatility in commodity prices, growth stagnancy and limited expansion have put exploration and production companies in a tough spot. Because of this situation, they have been forced to drastically reduce drilling times and KLRI Journal of Law and Legislation VOLUME 9 NUMBER 1, 2019 73 B. Problematic Aspects that Arise with Smart Contracts The previous legal categorization opens sev";"""date"",""2019-06-03T10:16:38Z"" ""pdf:PDFVersion"",""1.5"" ""xmp:CreatorTool"",""Adobe Acrobat Pro 10.1.16"" ""pdf:docinfo:title"",""KJLL Vol9 No1 2019.pdf"" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""language"",""en"" ""dc:format"",""application/pdf; version=1.5"" ""pdf:docinfo:creator_tool"",""Adobe Acrobat Pro 10.1.16"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"",""KJLL Vol9 No1 2019.pdf"" ""xmp:CreateDate"",""2019-06-03T12:16:38Z"" ""modified"",""2019-06-03T10:16:38Z"" ""pdf:hasMarkedContent"",""false"" ""xmp:ModifyDate"",""2019-06-03T12:16:38Z"" ""pdf:docinfo:creator"",""Windows 사용자"" ""meta:author"",""Windows 사용자"" ""meta:creation-date"",""2019-06-03T10:16:38Z"" ""created"",""2019-06-03T10:16:38Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2019-06-03T10:16:38Z"" ""resourceName"",""KJLL%20Vol9%20No1%202019%20article.pdf"" ""Author"",""Windows 사용자"" ""producer"",""Acrobat Distiller 10.0.0 (Windows)"" ""pdf:docinfo:producer"",""Acrobat Distiller 10.0.0 (Windows)"" ""pdf:unmappedUnicodeCharsPerPage"",""0"",""102"",""0"",""10"",""1"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"" ""access_permission:modify_annotations"",""true"" ""dc:creator"",""Windows 사용자"" ""dcterms:created"",""2019-06-03T10:16:38Z"" ""Last-Modified"",""2019-06-03T10:16:38Z"" ""dcterms:modified"",""2019-06-03T10:16:38Z"" ""title"",""KJLL Vol9 No1 2019.pdf"" ""xmpMM:DocumentID"",""uuid:bbb86521-ebf7-4be6-aeb9-84304237d4e7"" ""Last-Save-Date"",""2019-06-03T10:16:38Z"" ""pdf:docinfo:modified"",""2019-06-03T10:16:38Z"" ""meta:save-date"",""2019-06-03T10:16:38Z"" ""Content-Length"",""354893"" ""Content-Type"",""application/pdf"" ""xmp:MetadataDate"",""2019-05-31T14:35:39Z"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"",""Windows 사용자"" ""pdf:producer"",""Acrobat Distiller 10.0.0 (Windows)"" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""34"" ""pdf:hasXMP"",""true"" ""pdf:charsPerPage"",""1847"",""1841"",""52"",""882"",""788"",""1029"",""3253"",""2822"",""3007"",""3107"",""3174"",""2891"",""3061"",""2970"",""3043"",""2755"",""2661"",""3163"",""2504"",""2824"",""2707"",""3013"",""3029"",""2610"",""3307"",""2825"",""3318"",""2501"",""1226"",""2236"",""2316"",""2352"",""1409"",""14"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2019-06-03T10:16:38Z"" ";https://scholar.google.com/scholar?start=690&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094630-1033;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;The function-inversion problem: Barriers and opportunities;H Corrigan;Gibbs, D Kogan  Theory of Cryptography Conference, 2019 Springer;;"… We are particularly interested in function-inversion algorithms that only make black-box use of the function f—or formally, that have only oracle access to f—since these algorithms invert all functions … In this case, we will often denote the oracle as \(\pi \) instead of f. Definition 2 …";Cité 12 fois;Les 2 versions;[PDF] iacr.org;https://eprint.iacr.org/2019/1046.pdf;" The Function-Inversion Problem: Barriers and Opportunities Henry Corrigan-Gibbs and Dmitry Kogan Stanford University {henrycg,dkogan}@cs.stanford.edu Abstract. The task of function inversion is central to cryptanalysis: breaking block ciphers, forging signatures, and cracking password hashes are all special cases of the function-inversion problem. In 1980, Hellman showed that it is possible to invert a random function f : [N ] → [N ] in time T = Õ(N2/3) given only S = Õ(N2/3) bits of precomputed advice about f . Hellman’s algorithm is the basis for the popular “Rainbow Tables” technique (Oechslin, 2003), which achieves the same asymptotic cost and is widely used in practical cryptanalysis. Is Hellman’s method the best possible algorithm for inverting functions with preprocessed advice? The best known lower bound, due to Yao (1990), shows that ST = Ω̃(N), which still admits the possibility of an S = T = Õ(N1/2) attack. There remains a long-standing and vexing gap between Hellman’s N2/3 upper bound and Yao’s N1/2 lower bound. Understanding the feasibility of an S = T = N1/2 algorithm is cryptanalytically relevant since such an algorithm could perform a key-recovery attack on AES-128 in time 264 using a precomputed table of size 264. For the past 29 years, there has been no progress either in improving Hellman’s algorithm or in strengthening Yao’s lower bound. In this work, we connect function inversion to problems in other areas of theory to (1) explain why progress may be difficult and (2) explore possible ways forward. Our results are as follows: – We show that any improvement on Yao’s lower bound on function- inversion algorithms will imply new lower bounds on depth-two circuits with arbitrary gates. Further, we show that proving strong lower bounds on non-adaptive function-inversion algorithms would imply breakthrough circuit lower bounds on linear-size log-depth circuits. – We take first steps towards the study of the injective function- inversion problem, which has manifold cryptographic applications. In particular, we show that improved algorithms for breaking PRGs with preprocessing would give improved algorithms for inverting injective functions with preprocessing. – Finally, we show that function inversion is closely related to well- studied problems in communication complexity and data structures. Through these connections we immediately obtain the best known algorithms for problems in these domains. 1 Introduction A central task in cryptanalysis is that of function inversion. That is, given a function f : [N ] → [N ] and a point y ∈ [N ], find a value x ∈ [N ] such that f(x) = y, if one exists. The hardness of function inversion underpins the security of almost every cryptographic primitive we use in practice: block ciphers, hash functions, digital signatures, and so on. Understanding the exact complexity of function inversion is thus critical for assessing the security of our most important cryptosystems. We are particularly interested in function-inversion algorithms that only make black-box use of the function f—or formally, that have only oracle access to f—since these algorithms invert all functions. A straightforward argument shows that any black-box inversion algorithm that makes at most T queries to its f -oracle succeeds with probability at most O(T/N), over the randomness of the adversary and the random choice of the function. This argument suggests that an attacker running in o(N) time cannot invert a black-box function on domain [N ] with good probability. When the inversion algorithm may use preprocessing, this logic breaks down. An algorithm with preprocessing runs in two phases: In the preprocessing phase, the algorithm repeatedly queries f and then outputs an “advice string” about f . In the subsequent online phase, the algorithm takes as input its preprocessed advice string and a challenge point y ∈ [N ]. It must then produce a value x ∈ [N ] such that f(x) = y. When using these algorithms for cryptanalysis, the attacker typically seeks to jointly minimize the bit-length S of the advice string and the running time T of the online algorithm. The computation required to construct the advice string, though usually expensive, can often be amortized over a large number of online inversions. A trivial preprocessing algorithm stores a table of f−1 in its entirety as its advice string using S = Õ(N) bits and can then invert the function on all points using a single lookup into the table. In contrast, constructing algorithms that simultaneously achieve sublinear advice and online time S = T = o(N) is non-trivial. In a seminal paper, Hellman [48] introduced time-space tradeoffs as a tool for cryptanalysis and gave a black-box preprocessing algorithm that inverts a function f : [N ] → [N ] using only S = Õ(N2/3) bits of advice and online time T = Õ(N2/3), where the algorithm is guaranteed to succeed only on a constant fraction of functions. (More precisely, the algorithm has a constant success probability over the uniformly random choice of the function f .) Fiat and Naor [29, 30] later gave a rigorous analysis of Hellman’s algorithm and extended it to invert all possible functions, albeit with a slightly worse trade-off of the form S3T = Õ(N3) for any choice of N3/4 ≤ S ≤ N . Hellman’s trade-off is the best known today, and his algorithm is a fundamental tool in real-world cryptanalysis [7, 8, 61,63]. In this work, we investigate the following question: Is it possible to improve upon Hellman’s time-space trade-off? 2 Yao first asked this question in 1990 [79] and proved that any preprocessing algorithm for function inversion that uses S bits of advice and T online queries must satisfy ST = Ω̃(N). (Counting only queries—and not online computation— only strengthens lower bounds in this model.) Notably, this lower bound does not rule out an algorithm that achieves S = T = Õ(N1/2). In contrast, Hellman’s algorithm only gives an upper bound of S = T = Õ(N2/3), even for the slightly easier case of inverting a random function. The question resurfaces in the work of Fiat and Naor [30], Barkan, Biham, and Shamir [5] (who show that Hellman’s method is optimal for a certain natural but restricted class of algorithms), De, Trevisan and Tulsiani [23], and Abusalah et al. [1]. In addition to the problem’s theoretical appeal, determining the best possible time-space trade-offs for function inversion is relevant to practice, since the differ- ence between an online attack time of N2/3 and an N1/2 becomes crucial when dealing with 128-bit block ciphers, such as the ubiquitous AES-128. Hellman’s algorithm gives the best known preprocessing attack against AES-128, with S = T ≈ 286. If we could improve Hellman’s algorithm to achieve S = T = N1/2, matching Yao’s lower bound, we could break AES-128 in time 264 with a data structure of size 264, albeit after an expensive preprocessing phase. While today’s S = T = 286 attack is likely far beyond the power of any realistic adversary, an improved S = T = 264 attack would leave us with an alarmingly narrow security margin. Recent work proves new lower bounds on preprocessing algorithms for various cryptographic problems, using both incompressibility arguments [1, 25,34] and the newer presampling method [20,67]. While this progress might give hope for an improved lower bound for function inversion as well, both techniques mysteriously fail to break the ST = Ω̃(N) barrier. Non-adaptive algorithms. Another avenue for study is to explore the role of parallelism or adaptivity in preprocessing algorithms for function inversion. All non-trivial algorithms for function inversion, including Hellman’s algorithm and Rainbow-table methods [63], critically use the adaptivity of their queries. It would be very interesting to construct a highly parallelizable preprocessing algorithm for function inversion. Such an algorithm would achieve the same advice and time complexity S = T = Õ(N2/3) as Hellman’s algorithm, but would make all Õ(N2/3) of its queries to the f -oracle in one non-adaptive batch. Such a non-adaptive inversion algorithm could speed up function inversion on cryptanalytic machines with a very large number of parallel processing cores. We do not even know if there exists a non-adaptive algorithm with S = T = o(N). Can we find new non-adaptive inversion algorithms, or is adaptivity necessary for good time-space trade-offs? Proving lower bounds in this more restricted model could be a stepping stone to improving the general lower bounds on function inversion. 3 1.1 Our results This work establishes new connections between the function-inversion problem and well-studied problems in cryptography, complexity theory, and data structures. These connections are useful in two directions. First, they shed new light on the function-inversion problem: a connection to circuit complexity suggests that improving on the known lower bounds for function-inversion will be difficult. In particular, we show that new lower bounds for function inversion will imply new circuit lower bounds and could even resolve complexity-theoretic questions that predate Hellman’s results [68]. Moreover, a new connection to the problem of breaking PRGs with preprocessing suggests a new avenue for better inversion algorithms for injective functions. For many of the cryptanalytic applications, progress on this variant of function inversion would in fact be sufficient. Second, these connections, together with classic cryptanalytic algorithms, give rise to better algorithms for problems in the other areas of theory. For example, a connection to communication complexity leads to the best known algorithm for the multiparty pointer-jumping problem, improving upon a twenty-year-old upper bound [65]. Similarly, a connection to data structures leads to a new upper bound for the systematic substring-search problem, resolving an open question [31]. We now state our results in detail. Proving better lower bounds for function-inversion implies new circuit lower bounds. A major question in circuit complexity, open since the 1970s [68, 69], is to give an explicit family of functions Fn: {0, 1}n → {0, 1}n that cannot be computed by fan-in-two circuits of size O(n) and depth O(log n). Following ideas of Brody and Larsen [13], we demonstrate a close connection between this classic problem in circuit complexity and non-adaptive preprocessing algorithms for function inversion. Specifically, we show that proving that every non-adaptive black-box function- inversion algorithm that uses S = N logN/log logN bits of advice requires at least T = Ω(N Îľ) oracle queries, for some constant Îľ > 0, would give an explicit family of functions that cannot be computed by linear-size log-depth Boolean circuits. This, in turn, would resolve a long-standing open problem in circuit complexity. Though we cannot prove it, we suspect that the above lower bound holds even for Îľ = 1. This connection implies that proving lower bounds against non-adaptive function-inversion algorithms that use the relatively large amount of advice S = N logN/log logN should be quite difficult. A much more modest goal would be to rule out any non-adaptive algorithm using S = T = Õ(N1/2+Îľ), for some Îľ > 0. This would represent only a slight strengthening of Yao’s ST = Ω̃(N) bound for adaptive algorithms. However, we show that achieving even this far- more-modest goal would improve the best known lower bound for circuits in Valiant’s common-bits model [68,69]. This, in turn, would represent substantial progress towards proving lower bounds against linear-size log-depth circuits. In particular, since any lower bound against algorithms without a restriction 4 on adaptivity would only be more general, improving the ST = Ω̃(N) lower bound for function inversion would imply new circuit lower bounds in Valiant’s common-bits model. We believe that the difficulty of proving such a circuit lower bound suggests that beating the square-root barrier exhibited by both the compression [35,79] and presampling [20,67] techniques might prove more difficult than previously expected. One-to-one function inversion from PRG distinguishers. Many cryptan- alytic applications of Hellman tables (cryptanalysis of block ciphers, password cracking, etc.) only require inverting injective functions. Does there exist a better- than-Hellman algorithm for inverting injective functions with preprocessing? One reason to hope for a better algorithm for injective functions is that for the very special case of permutations, there exists an inversion algorithm with preprocessing that achieves the improved trade-off ST = Õ(N) (i.e., S = T = N1/2) [79]. Can we achieve the same trade-off for injective functions? While we have not been able to answer this question yet, we do open one possible route to answering it. In particular, we show that the problem of inverting injective functions with preprocessing has a close connection to the problem of breaking pseudorandom generators (PRGs) with preprocessing [2, 20,23,25,26]. Specifically, De, Trevisan, and Tulsiani [23] show that black-box PRG distinguishers with preprocessing can realize the trade-off S = Õ(Îľ2N), for T = Õ(1) and for any choice of distinguishing advantage Îľ. We show that achieving a more general trade-off of the form ST = Õ(Îľ2N), for any constant Îľ, would imply a better-than-Hellman algorithm for invert- ing injective functions. Thus, improving the known PRG distinguishers with preprocessing can improve the known injective inversion algorithms. New protocols for multiparty pointer jumping. We show that algorithms for the black-box function-inversion problem are useful in designing new com- munication protocols for a well-studied problem in communication complexity. In particular, any black-box preprocessing algorithm for inverting permutations yields a protocol for the permutation variant of the “k-party pointer-jumping” problem (MPJpermN,k ) [10, 11, 14, 22, 58, 65, 72] in the number-on-the-forehead model of communication complexity [16]. Then, by instantiating the permutation-inversion algorithm with a variant of Hellman’s method, we obtain the best known protocol for MPJpermN,k for k = ω(logN/log logN) players (this regime is in fact the most consequential for the original motivation for studying this problem), improving the previous best upper bound of O(N log logN/logN), by PudlĂĄk et al. [65], to Õ(N/k + √ N). We thus make progress on understanding the communication complexity of multiparty pointer jumping, a problem with significance to ACC0 circuit lower bounds [6, 49,80]. Beyond the quantitative improvement, our protocol is different from all previous approaches to the problem and is an unexpected application of a cryptanalytic algorithm to a communication-complexity problem. While the use 5 of a cryptanalytic algorithm in this context appears new, prior work has found application of results in communication complexity to lower bounds [46] and constructions [12] in the cryptographic setting. This connection presents a path forward for proving non-adaptive lower bounds for permutation inversion. In particular, we show that for every non-adaptive black-box permutation-inversion algorithm using S bits of advice and T online queries, it must hold that max{S, T} is at least as large as the communication complexity of MPJpermN,3 . Any improvement on the lower bound for MPJpermN,3 would give an improved lower bound for non-adaptive black-box permutation-inversion algorithms. The best lower bound for MPJpermN,3 is Ω( √ N) [3,75]. Interestingly, this matches the best lower-bound for black-box permutation-inversion algorithms, regardless of their adaptivity. New time-space trade-off for systematic substring search. Finally, we show that improved algorithms for function inversion will also imply improved data structures for the systematic substring-search problem [24, 31,32,42,43]. In particular, we prove that there is a preprocessing algorithm for the function- inversion problem using few bits of advice and few online queries if and only if there is a space- and time-efficient data structure for systematic substring search in the cell-probe model [77]. In the systematic substring-search problem, we are given a bitstring of length N (the “text”), and from it we must construct an S-bit data structure (the “index”). Given a query string, we should be able to determine whether the query string appears as a substring of the text by reading the index and by inspecting at most T bits of the original text. This connection is fruitful in two directions: First, we show that instantiating this connection with the Fiat-Naor algorithm for function inversion [30] yields an S3T = Õ(N3) systematic data structure, which is the best known in the parameter regime S = Õ(NÎą) for Îą < 1. GĂĄl and Miltersen [31] ask whether a very strong S + T = Ω̃(N) lower bound on this problem is possible. By beating this hypothetical lower bound, our algorithm answers their open question in the negative. Second, GĂĄl and Miltersen prove an ST = Ω̃(N) lower bound for systematic substring search. Our barrier to proving lower bounds against black-box algo- rithms for function inversion implies that improving this lower bound would also imply new lower bounds in Valiant’s circuit model and therefore may be quite challenging. 1.2 Related work We now recall a few salient related results on function inversion, and we discuss additional related work at relevant points throughout the text. Fiat and Naor [29,30] proved that Hellman’s algorithm [48] achieves a trade-off of the form S2T = Õ(N2), when the algorithm needs only to invert a random function with constant probability (i.e., in the cryptanalytically interesting case). For the worst-case problem of inverting arbitrary functions, Fiat and Naor give an algorithm that achieves a trade-off of the form S3T = O(N3). De, Trevisan, 6 and Tulsiani [23] improve the Fiat-Naor trade-off when the algorithm needs only to invert the function at a sub-constant fraction of points. For inverting functions, Yao [79] proved that every algorithm that uses S bits of advice and makes T online queries must satisfy ST = Ω̃(N) lower bound. Impagliazzo gives a short alternative proof [50]. Dodis et al. [25], building on prior work [23,35], extended the lower bound to capture algorithms that invert only a sub-constant fraction of functions f . Barkan, Biham, and Shamir [5] show that, for a restricted class of preprocessing algorithms, a Hellman-style trade-off of the form S2T = Õ(N2) is the best possible. Their lower bound is powerful enough to capture the known inversion schemes, including Hellman’s algorithm and Oechslin’s practically efficient “Rainbow tables” technique [63]. At the same time, this restricted lower bound leaves open the possibility that an entirely new type of algorithm could subvert their lower bound. For inverting permutations, Yao [79] observed that a Hellman-style algorithm can achieve the ST = Õ(N) upper bound and proved a matching lower bound. Gennaro and Trevisan [35], Wee [73], and De, Trevisan, and Tulsiani [23] extend this lower bound to handle randomized algorithms and those that succeed with small probability. Two recent works [41,54] use the function-inversion algorithm of Fiat and Naor to obtain new algorithms for the preprocessing version of the 3-SUM problem. 1.3 Preliminaries Notation. Through this paper, Z≥0 denotes the non-negative integers, and Z>0 denotes the positive integers. For any N ∈ Z>0 we write [N ] = {1, 2, . . . , N}. We often identify every element x ∈ [N ] with the binary representation of x− 1 in {0, 1}dlogNe. We use x← 4 to denote assignment and, for a finite set X , we use x R← X to denote a uniform random draw from X . For a function f : A→ B, we denote the image of the function as Im(f) = {f(x) | x ∈ A} ⊆ B, and y ∈ B, we define the preimage set of y as f−1(y) := {x ∈ A | f(x) = y}. All logarithms are base-two unless stated otherwise. Parameters S and T are always implicit functions of the parameter N , and to simplify the bounds, we always implicitly take S = T = Ω(1). The notation Ω̃(¡) and Õ(¡) hides factors polynomial in logN . Definition 1 (Black-box inversion algorithm with preprocessing). Let N ∈ Z>0. A black-box inversion algorithm with preprocessing for functions on [N ] is a pair (A0,A1) of oracle algorithms, such that A0 gets oracle access to a function f : [N ]→ [N ], takes no input, and outputs an advice string stf ∈ {0, 1}∗. Algorithm A1 gets oracle access to a function f : [N ] → [N ], takes as input a string stf ∈ {0, 1}∗ and a point y ∈ [N ], and outputs a point x ∈ [N ]. Moreover, for every x ∈ [N ], it holds that Af1 (Af0 (), f(x)) ∈ f−1(f(x)). We can define a black-box inversion algorithm for permutations analogously by restricting the oracle f : [N ]→ [N ] to implement an injective function. In this case, we will often denote the oracle as π instead of f . 7 Definition 2 (Adaptivity). We say that an oracle algorithm is k-round adap- tive if the algorithm’s oracle queries consist of k sets, such that each set of queries depends on the advice string, the input, and the replies to the previous rounds of queries. We call a 1-round adaptive algorithm non-adaptive. Finally, we say that an algorithm is strongly non-adaptive if it issues a single set of queries that only depends on the algorithm’s input, but not on the advice string. In all of the above cases, when referring to the number of queries made by the algorithm, we account for the sum over all rounds. Worst case versus average case. The algorithms in Definition 1 are deter- ministic and successfully invert all functions on all points. It is also interesting to consider algorithms that invert successfully only with probability Îľ < 1, over the random choice of: the function f : [N ] → [N ], the point to invert, and/or algorithm’s randomness. As most of the results in this paper deal with barriers for improving lower bounds, restricting ourselves to deterministic algorithms that always succeed in inverting only makes these results stronger. In any case, assume that all algorithms we consider halt with probability 1. Running time versus query complexity. For the purposes of proving lower bounds, and reductions towards proving lower bounds, it suffices to consider the query complexity of a preprocessing algorithm’s online phase. Counting only queries (and not computation time) only strengthens lower bounds proved in this model. The algorithms we construct can be made to use only Õ(N) preprocessing time in a suitable RAM model, when they are allowed to fail with small probability. Furthermore, the running time of our algorithms’ T -query online phase is Õ(T ). Non-uniformity. Our definition allows for “free” non-uniformity in the param- eter N . Nevertheless, in a model that only “charges” the online algorithm for queries to the oracle and ignores the actual running time, non-uniformity makes little difference since a uniform algorithm can simply search for the optimal choice of non-uniform advice without increasing its query complexity. Shared randomness. We allow the preprocessing and online phases to access a common stream of random bits. Allowing the adversary to access correlated randomness in both phases only strengthens the lower bounds. Only one of our upper bounds (Theorem 8) makes use of this correlated randomness. 2 Lower bounds on inversion imply circuit lower bounds The motivating question of this work is whether Hellman’s S = T = Õ(N2/3) algorithm for inverting random functions is optimal. In this section, we show that resolving this question will require proving significant new lower bounds in Valiant’s “common bits” model of circuits [68]. We also show that proving strong lower bounds on non-adaptive algorithms for function inversion would imply new lower bounds against linear-sized logarithmic-depth circuits. We obtain these connections by observing that the function-inversion problem is an example of a class of so called “succinct” static data-structure problems [4, 8 18, 32, 33, 42, 43, 45, 47, 51, 60, 66]. We show a barrier to proving lower bounds against systematic data structures, which are a special case of succinct data structures. Related work. Brody and Larsen [13] showed that proving certain lower bounds against linear data structures for dynamic problems would imply strong lower bounds on the wire complexity of linear depth-two circuits. We follow their general blueprint, but we instead focus on arbitrary algorithms for solving static data- structure problems (e.g., function inversion), and our connection is to Valiant’s common-bits model of circuits, rather than to linear depth-two circuits. In recent independent work, Viola [71, Theorem 3] shows that lower bounds against a large class of static data-structures problems imply circuit lower bounds. In his work, Viola considers an incomparable circuit model that, on the one hand, admits circuits of depth larger than two, but, on the other hand, restricts the number of wires connected to the common bits. As a result, Viola’s work does not seem to apply to the function-inversion problem within the relevant parameter regime (namely, in the gap between Hellman’s upper bound and Yao’s lower bound). In another recent independent work, Dvir, Golovnev, and Weinstein [28] connect data-structure lower bounds to matrix rigidity and circuit lower bounds. Their focus is on linear data structures, whereas the function inversion problem, considered in our work, does not have an apparent linear structure. Boyle and Naor [9] make a surprising connection between cryptographic algorithms and circuit lower bounds. They show that proving the non-existence of certain “offline” oblivious RAM algorithms (ORAMs) [36,40,64] would imply new lower bounds on the size of Boolean circuits for sorting lists of integers. Larsen and Nielsen [56] recently skirted this barrier by proving a lower bound against ORAMs in the “online” setting. Following that, Weiss and Wichs [74] showed that a variant of the Boyle-Naor barrier still holds against “online read-only” ORAMs. 2.1 Systematic data structures and low-depth circuits A major open question in circuit complexity is whether there exists an ex- plicit family of Boolean functions (from n bits to one bit) that cannot be computed by fan-in-two circuits of size O(n) and depth O(log n). An easier problem, which is still famously difficult, is to find an explicit family of functions Fn: {0, 1}n → {0, 1}n with n-bit output—often called Boolean operators—that cannot be computed by this same class of circuits. Even this question has been open since the 1970s [53,68,69]. More precisely, we say that a family of Boolean operators {Fn}n∈Z>0 , for Fn: {0, 1}n → {0, 1}n, is an explicit operator if the decision problem associated with each bit of the output of Fn is in the complexity class NP. The main result of this section is that proving a certain type of data-structure lower bound implies the existence of an explicit Boolean operator on n bits that cannot be computed by fan-in-two circuits of size O(n) and depth O(log n). We then show that a lower bound on function-inversion algorithms can be cast as 9 x1 x2 x3 x4 Inputs Common bits Outputs Fig. 1: Common-bits circuit with n = 4 inputs, degree d = 2, and width w = 2. a data-structure lower bound, and therefore a function-inversion lower bound implies a circuit lower bound. We now give the necessary background on data-structure problems. A sys- tematic data structure of size s and query complexity t for an operator Fn is a pair of algorithms: – a preprocessing algorithm, which takes as input the data x ∈ {0, 1}n and outputs a string st ∈ {0, 1}s of length s = o(n), and – a query algorithm, which takes as input the string st, and an index i ∈ [n], may probe (read) t bits of the input x, and then outputs the ith bit of Fn(x). A systematic data structure is non-adaptive if the query algorithm probes a set of bits of the input data x whose location depends only on the index i and not on the input data x. The following theorem is the main result of this section. Theorem 3. If an explicit operator {Fn}n∈Z>0 has fan-in-two Boolean circuits of size O(n) and depth O(log n) then, for every Îľ > 0, then this operator admits a non-adaptive systematic data structure of size O(n/log log n) and query complexity O(nÎľ). To prove this, we first recall Valiant’s common-bits model of circuits [68,69]. Valiant’s common-bits model. A circuit in the common-bits model of width w and degree d computing a Boolean operator Fn: {0, 1}n → {0, 1}n contains an input layer, a middle layer, and output layer (Figure 1). The input layer consists of n input bits x1, . . . , xn ∈ {0, 1}, and the output layer consists of n output gates. There are w gates in the middle layer of the circuit (the “common bits”); each input feeds into each of these w middle gates, and the output of each of the w middle gates feeds into each output gate. Further, each output gate reads from at most d of the inputs. Unlike in a standard circuit, the gates in the middle and output layers of the circuit compute arbitrary functions of their inputs. The output of the circuit is the n-bit string formed at the output gates. It is immediate that any Boolean operator Fn: {0, 1}n → {0, 1}n has common- bits circuits of width n and degree 0 or, alternatively, of width 0 and degree 10 n. A non-trivial question is: For a given operator Fn and choice of degree (e.g., d = n1/3), what is minimal width of a common-bits circuit that computes Fn? Lemma 4. If there exists a circuit in the common-bits model of width w and degree d that computes an operator F : {0, 1}n → {0, 1}n, then there exists a non-adaptive systematic data structure for F of size w and query complexity d. Proof. Let C be a circuit in the common-bits model as in the statement of the lemma. The data structure consists of the outputs of the w middle-layer gates in the circuit C (i.e., the circuit’s common bits). On input i ∈ [n], the algorithm reads all the input bits connected to the ith output gate of C and computes the value of the output gate. Since each output gate in the circuit is connected to at most d input bits, the query complexity of the systematic data structure is at most d. Theorem 3 then follows from Lemma 4 and the following result of Valiant: Theorem 5 (Valiant [68, 69]). If every explicit operator has fan-in-two Boolean circuits of size O(n) and depth O(log n), then for every constant Îľ > 0, ev- ery explicit operator has circuits in the common-bits model of width O(n/log log n) and degree nÎľ. Viola [70, Section 3] and Jukna [52, Chapter 13] give detailed proofs of Theorem 5. 2.2 Consequences for function inversion Observe that every function f : [N ]→ [N ] can be described using O(N logN) bits, so there is a trivial strongly non-adaptive algorithm that inverts every function using O(N logN) bits of advice and no queries to the function in the online phase. We know of no non-adaptive function-inversion algorithm that inverts with constant probability using o(N logN) bits of advice and o(N) queries. The following theorem states that ruling out the existence of such a non-adaptive algorithm is as hard as proving lower bounds against linear-size logarithmic-depth Boolean circuits. Theorem 6. If, for some Îľ > 0, every family of strongly non-adaptive black- box algorithms for inverting functions f : [N ] → [N ] that uses O(N Îľ) queries requires ω(N logN/log logN) bits of advice, then there exists an explicit operator that cannot be computed by fan-in-two Boolean circuits of size O(n) and depth O(log n). The theorem considers a restricted class of inversion algorithms that: (i) may only use strongly non-adaptive queries (the most restrictive type of query), (ii) are only allowed, for example, O(N0.0001) queries (very few queries), and (iii) must invert arbitrary functions with probability one (the most difficult variant of the inversion problem). So, even though we may suspect that there are no algorithms for inverting functions f : [N ]→ [N ] using O(N logN/log logN) bits of advice and O(N0.0001) non-adaptive queries, proving such an assert";"""date"",""2019-09-14T01:27:49Z"" ""pdf:PDFVersion"",""1.5"" ""pdf:docinfo:title"","""" ""xmp:CreatorTool"",""LaTeX with hyperref"" ""pdf:hasXFA"",""false"" ""access_permission:can_print_degraded"",""true"" ""subject"","""" ""language"",""en"" ""dc:format"",""application/pdf; version=1.5"" ""pdf:docinfo:creator_tool"",""LaTeX with hyperref"" ""access_permission:fill_in_form"",""true"" ""pdf:encrypted"",""false"" ""dc:title"","""" ""modified"",""2019-09-14T01:27:49Z"" ""cp:subject"","""" ""pdf:docinfo:subject"","""" ""pdf:hasMarkedContent"",""false"" ""pdf:docinfo:creator"","""" ""PTEX.Fullbanner"",""This is MiKTeX-pdfTeX 2.9.7029 (1.40.20)"" ""meta:author"","""" ""trapped"",""False"" ""meta:creation-date"",""2019-09-14T01:27:49Z"" ""created"",""2019-09-14T01:27:49Z"" ""access_permission:extract_for_accessibility"",""true"" ""Creation-Date"",""2019-09-14T01:27:49Z"" ""resourceName"",""1046.pdf"" ""Author"","""" ""producer"",""pdfTeX-1.40.20"" ""pdf:docinfo:producer"",""pdfTeX-1.40.20"" ""pdf:unmappedUnicodeCharsPerPage"",""4"",""4"",""6"",""7"",""10"",""5"",""7"",""4"",""0"",""2"",""4"",""46"",""17"",""9"",""17"",""1"",""4"",""16"",""13"",""12"",""11"",""2"",""4"",""0"",""0"",""0"",""1"",""27"",""3"",""32"",""41"",""15"",""15"",""47"",""2"",""4"",""29"" ""Keywords"","""" ""access_permission:modify_annotations"",""true"" ""dc:creator"","""" ""dcterms:created"",""2019-09-14T01:27:49Z"" ""Last-Modified"",""2019-09-14T01:27:49Z"" ""dcterms:modified"",""2019-09-14T01:27:49Z"" ""title"","""" ""Last-Save-Date"",""2019-09-14T01:27:49Z"" ""pdf:docinfo:keywords"","""" ""pdf:docinfo:modified"",""2019-09-14T01:27:49Z"" ""meta:save-date"",""2019-09-14T01:27:49Z"" ""pdf:docinfo:custom:PTEX.Fullbanner"",""This is MiKTeX-pdfTeX 2.9.7029 (1.40.20)"" ""Content-Length"",""770771"" ""Content-Type"",""application/pdf"" ""X-Parsed-By"",""org.apache.tika.parser.DefaultParser"",""org.apache.tika.parser.pdf.PDFParser"" ""creator"","""" ""dc:subject"","""" ""access_permission:assemble_document"",""true"" ""xmpTPg:NPages"",""37"" ""pdf:hasXMP"",""false"" ""pdf:charsPerPage"",""2080"",""2564"",""2537"",""2669"",""2658"",""2606"",""2483"",""2632"",""2644"",""1788"",""2324"",""2560"",""2572"",""2518"",""2694"",""2461"",""1615"",""2272"",""2433"",""2576"",""2567"",""2466"",""2294"",""2802"",""2989"",""3041"",""2555"",""2087"",""1774"",""1470"",""1278"",""1616"",""2246"",""2254"",""2142"",""2344"",""1651"" ""access_permission:extract_content"",""true"" ""access_permission:can_print"",""true"" ""pdf:docinfo:trapped"",""False"" ""meta:keyword"","""" ""access_permission:can_modify"",""true"" ""pdf:docinfo:created"",""2019-09-14T01:27:49Z"" ";https://scholar.google.com/scholar?start=850&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094588-860;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;Challenges and research directions for blockchains in the internet of things;F Golatowski, B Butzin, T Brockmann… ; … on Industrial Cyber …, 2019 ieeexplore.ieee.org;;"… offers Hyperledger, Ethereum, and Corda for Azure, Amazon offers Blockchain as a Service, Oracle offers Distributed … Examples of these applications are AI Crypto, Synapse Ai, or Dopamine … Traceability applications: AI and blockchain are also being used in tandem to create end …";Cité 8 fois;Les 4 versions;[PDF] researchgate.net;https://www.researchgate.net/profile/Frank_Golatowski/publication/334654307_Challenges_and_Research_Directions_for_Blockchains_in_the_Internet_of_Things/links/5d386838a6fdcc370a5bf3f8/Challenges-and-Research-Directions-for-Blockchains-in-the-Internet-of-Things.pdf;;;https://scholar.google.com/scholar?start=670&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019 1619094532-620;https://scholar.google.com/scholar?start=430&q=Oracles+blockchain&hl=fr&as_sdt=0,5&as_ylo=2019&as_yhi=2019;On the communication complexity of key-agreement protocols;I Haitner, N Mazor, R Oshman, O Reingold… ; Innovations in …, 2019 par.nsf.gov;;"… Unfortunately, as shown by Impagliazzo and Rudich [STOC '89] and Barak and Mahmoody [Crypto '09], such … The focus of the above works is on no-input random oracle protocols. Finding limitation on the usefulness of random oracles for with-input protocols seems to be a more …";Cité 5 fois;Les 5 versions;[PDF] nsf.gov;https://par.nsf.gov/servlets/purl/10086783;" On the Communication Complexity of Key-Agreement Protocols Iftach Haitner∗† Noam Mazor†‡ Rotem Oshman § Omer Reingold Âś Amir Yehudayoff ‖ February 15, 2018 Abstract Key-agreement protocols whose security is proven in the random oracle model are an impor- tant alternative to the more common public-key based key-agreement protocols. In the random oracle model, the parties and the eavesdropper have access to a shared random function (an “oracle”), but they are limited in the number of queries they can make to it. Unfortunately, as shown by Impagliazzo and Rudich [STOC ’89] and Barak and Mahmoody [Crypto ’09], such protocols can only guarantee limited secrecy: the key of any `-query protocol can be revealed by an O(`2)-query adversary. This quadratic gap between the query complexity of the honest parties and the eavesdropper matches the gap obtained by the Merkle’s Puzzles protocol of Merkle [CACM ’78]. In this work we tackle a new aspect of key-agreement protocols in the random oracle model: their communication complexity. In Merkle’s Puzzles, to obtain secrecy against an eavesdrop- per that makes roughly `2 queries, the honest parties need to exchange Ω(`) bits. We show that for protocols with certain natural properties, ones that Merkle’s Puzzle has, such high communication is unavoidable. Specifically, this is the case if the honest parties’ queries are uniformly random, or alternatively if the protocol uses non-adaptive queries and has only two rounds. Our proof for the first setting uses a novel reduction from random-oracle protocols to the set-disjointness problem in two-party communication complexity, which is known to have high communication cost. For the second setting we prove the lower bound directly, using information-theoretic arguments. Understanding the communication complexity of protocols whose security is proven in the random-oracle model is an important question in the study of practical protocols. Our results and proof techniques are a first step in this direction. Keywords: key agreement; random oracle; communication complexity; Merkle puzzles ∗The Blavatnik school of computer science,, Tel Aviv University. E-mail: iftachh@cs.tau.ac.il. Member of the Check Point Institute for Information Security. †Supported by ERC starting grant 638121. ‡The Blavatnik school of computer science, Tel Aviv University. E-mail: noammaz@gmail.com. §The Blavatnik school of computer science, Tel Aviv University. E-mail: rotem.oshman@gmail.com. Supported by the Israeli Centers of Research Excellence program 4/11 and BSF grant 2014256. ÂśComputer Science Department, Stanford University. E-mail: reingold@stanford.edu. Supported by NSF grant CCF-1763311. ‖Department of Mathematics, Technion-Israel Institute of Technology. E-mail: amir.yehudayoff@gmail.com. Supported by ISF grant 1162/15. ISSN 1433-8092 Electronic Colloquium on Computational Complexity, Report No. 31 (2018) 1 Introduction In a key-agreement protocol (Diffie and Hellman [5]), two parties communicating over an insecure channel want to securely agree on a shared secret key, so that an eavesdropper observing their communication cannot find the key. There are numerous candidate constructions of key-agreement schemes, e.g., [16, 14, 1, 11], based on assumptions implying that public-key encryption schemes exist. A fundamental open question is whether we can design key-agreement protocols based on the security of symmetric primitives, e.g., private-key encryption; the security of such primitives is believed to be more robust. A first step in this direction was made by Merkle [12], presenting a key-agreement scheme called Merkle’s Puzzles, which has some level of security in the random oracle model : the parties and the eavesdropper have limited access to a random function (an “oracle”). In Merkle’s Puzzles, the honest parties make ` queries, for an arbitrary parameter ` ∈ N, and the key remains secure as long as the eavesdropper makes o(`2) oracle queries. While the quadratic gap between the `-query honest parties and the `2-query eavesdropper achieved by Merkle’s Puzzles might not seem like much, if the honest parties are willing to work hard enough (take large `) and only need the secrecy of the key to hold for limited time, this limited gap might yield a good enough advantage. It turns out that in the random oracle model it is not possible to achieve a better-than-quadratic gap: Barak and Mahmoody [2] (following Impagliazzo and Rudich [9]) showed that Merkle’s Puzzles have optimal secrecy, as the security of any protocol where the honest parties make O(`) queries can be broken by an adversary that makes O(`2) queries, and can guess the secret key with high success probability. Thus, the trade-off between the number of queries and security is completely characterized in the random oracle model. In this work we consider another crucial aspect of any distributed protocol: communication. In many distributed systems, communication between the parties is the most energy and time- consuming part of the computation, dwarfing even computation-expensive local tasks (e.g., in [4], experiments show that a wireless network running Kerberos spends 95% of its energy consumption on communication and only 5% on local computation). In such settings, even a key-agreement protocol that uses a small number of queries cannot be considered truly efficient if it has high communication requirements. In Merkle’s Puzzles, for example, the players need to send Θ(`) bits (the answers to all their queries). In this work we initiate the study of communication-efficient protocols in the random oracle model. We show that under some restrictions on the protocol, the high communication incurred by Merkle’s Puzzles is unavoidable: in order to achieve security against an adversary that can ask Θ(`2) queries, the two parties must exchange Ω(`) bits of communication. Specifically, we show that the bound above holds for protocols where the parties’ queries are uniformly random subsets, and the bound also holds for any non-adaptive protocol that uses only two rounds of communication. (These are both properties of Merkle’s Puzzles: there, the parties use uniformly random queries and send one message each.) It is our hope that our work will initiate further interest in the communication cost of cryptography in the random oracle model. A key-agreement protocol is measured by two parameters: its agreement guarantee, which is the probability that the honest parties output the same key, and its secrecy guarantee, the probability that an eavesdropper guesses the common key. To simplify the discussion, we focus below on protocols whose agreement guarantee is larger by some constant compared to their secrecy guarantee. Our results generalize to any arbitrary trade-off between the protocol’s communication cost and the eavesdropper’s query complexity. Uniform-query protocols. An oracle protocol has uniform queries, if the parties’ oracle queries are chosen independently and uniformly from a predetermined set. We give the following lower bound on the communication complexity of such protocols. Theorem 1.1 (lower bound on uniform-inputs protocols, informal). Any `-uniform-query key- agreement protocol achieving non-trivial secrecy against o(`2)-query adversaries, has communication complexity Ω(`). Theorem 1.1 is proved by a novel reduction to set-disjointness — a problem in communication complexity known to require high communication complexity, a reduction we believe to be of independent interest. See more details in Section 1.1.1. Two-message non-adaptive protocols. An oracle protocol has non-adaptive queries, if the distribution of queries the parties make is fixed in advance — it is determined (arbitrarily) before the parties communicate with each other and independently of the oracle’s answers. We give the following lower bound on the communication complexity of such protocols. Theorem 1.2 (lower bound on two-message non-adaptive protocols, informal). Any two-message `-query non-adaptive key-agreement protocol of non-trivial secrecy against o(`2)-query adversaries has communication complexity Ω(`). We prove the above bound by presenting an o(`2)-query eavesdropper that prevents the par- ties from exploiting the correlation induced by their random oracle calls, by asking all joint (i.e., intersecting) queries that the parties “understand” to be such. This is very different from the eaves- dropper used by Barak and Mahmoody [2], and by Impagliazzo and Rudich [9]: their eavesdropper, by making Θ(`2) queries, has high probability of finding all joint queries. Finding the right defini- tion for what it means to “learn” that a given query is in the intersection, and constructing a low query-complexity eavesdropper that manages to ask all such queries, is the main difficulty in our proof. See more details in Section 1.1.2. 1.1 Our Technique We give some high-level description of the techniques used for proving our two lower bounds (The- orems 1.1 and 1.2). 1.1.1 Uniform-Query Protocols The lower bound for uniform-query key-agreement protocols is proved via a reduction to set- disjointness — two parties receive sets from a predetermined distribution, and have to decide (by communicating) whether their sets intersect. We emphasize that the parties trying to solve the set-disjointness problem have no oracle, but are allowed to use joint (public) randomness. Set- disjointness was proved to require high communication complexity: for any ` ∈ N there exists “hard” distribution over subsets of [`], such that in order to solve disjointness over this distribution (even only with high probability), the parties have to exchange Θ(`) bits of communication. We show how to transform an `-uniform-query key-agreement protocol of non-trivial secrecy against o(`2)-query adversaries, to a protocol for solving set-disjointness over a hard distribution. This yields an Θ(`) bound on the communication complexity of the key-agreement protocol. More details below. 2 Let Π = (A,B) be an `-uniform-query key-agreement protocol. We assume for simplicity that the key-length is one (i.e., a bit), that Π has perfect agreement (parties always agree) and that an o(`2)-query cannot guess the key with probability larger than 3/4. We use Π to build two (no-oracle) protocols ΛCom = (ACom,BCom) and ΛDist = (ADist,BDist), with the same communication complexity as of Π, such that at least one of them can be used to solve set-disjointness well over an hard distribution. In protocol ΛCom, the parties interact in a random execution of Π using public (common) ran- domness to emulate the random oracle: the common random string is interpreted as the description of a random function. Since the joint distribution of the transcript and outputs induced by a ran- dom execution of ΛCom equals to that induced by a random execution Π, protocol ΛCom has perfect agreement. Furthermore, an adversary seeing only the protocol transcript, cannot guess the com- mon key with probability better than 3/4. Indeed, such an adversary is equivalent to an adversary that is trying to guess the key in a random execution of Π without using the oracle. In the second protocol ΛDist, the parties also interact in a random execution of Π, but use their private randomness to emulate the random oracle. In other words, each party uses a different function as the random oracle. The joint distribution of the transcript and outputs induced by a random execution of ΛDist, might be very far from the distribution induced by of Π. Yet, note that conditioned that the queries are disjoint, it is easy to see that the two distributions are the same. In particular, the perfect agreement of Π yields that the parties of ΛDist output the same key under this conditioning. A second observation is that since the parties of ΛDist use no common (public) randomness, their view is in a product distribution given the transcript. Hence, there exist an adversary E that seeing only the transcript, finds the key with same probability that the parties output the same value. Combining the above observations yields that one of the following must holds: Agreement gap: The agreement probability ΛDist is at most 7/8 (comparing to one in ΛCom), or Secrecy gap: the probability that E guesses ADist’s output in ΛDist is at least 7/8 (comparing to 3/4 in ΛCom). We start by describing the set-disjointness protocol assuming an accuracy gap exists, and later explain how to address the case of secrecy gap. Agreement gap. Recall that ΛDist has perfect agreement if the parties’ queries do not intersect, and that, by assumption, its overall agreement is at most 7/8. Assume for simplicity that the inaccuracy of ΛDist holds for every non zero intersection size. That is, the agreement probability of ΛDist conditioned that the sets intersect with c queries is at most 7/8, for every c ∈ N. We exploit the gap between the imperfect agreement of ΛDist when the parties’ inputs do not intersect, to its perfect agreement when they do, to build a protocol for solving set-disjointness over any distribution.1 The set-disjointness protocol ΛSet = (ASet,BSet) is defined as follows: first, each party permutes its input set using a permutation defined by the common public randomness. The parties then interact in ΛDist, with each party using the permuted value of its private input as its uniform queries. At the end of the execution, party ASet sends its output to BSet, who outputs 1 if the received value is equal to its own output. 1The agreement gap might only exist for some values of c. We handle this complication using specific properties of a known hard distribution for set-disjointness. See Section 3. 3 If the parties’ input sets are disjoint, the permuted input sets are disjoint as well (the parties permute their input sets using the same permutation defined by the public randomness) . Thus, the parties’ outputs are equal with probability one. On the other hand, if the input sets do intersect, the permuted input sets are random sets in the domain of the same intersection size. Thus the parties’ output are equal with probability at most 7/8. It follows that BSet outputs 1 with probability one if the parties’ input sets are disjoint, and with probability at most 7/8 otherwise. Since the latter hold for any input, the above protocol solves set- disjointness with error “too low” over hard distributions, and thus must have high communication complexity. Secrecy gap. We convert ΛCom and ΛDist into a pair of protocols with agreement gap, and then continue as above. Consider protocol Λ′ Dist = (A′ Dist ,B′ Dist ) in which the parties acts as in ΛDist, but at the end of the execution B′ Dist executes E on the transcript and outputs its output. Protocol Λ′ Com is defined analogously with respect to ΛCom. By assumption, E guesses ADist’s output in ΛDist with probability at least 7/8, and guesses ACom’s output in ΛCom with probability at most 3/4. Hence, Λ′ Dist has agreement at least 7/8, and Λ′ Com has agreement at most 3/4. Namely, there is an agreement gap between Λ′ Dist and Λ′ Com , and we can apply a simple variant of the reduction described above to solve set-disjointness. 1.1.2 Two-Message Non-Adaptive Protocols Consider an oracle key-agreement protocol Π = (A,B). We show that to produce a shared key, the parties of Π must transfer information about the intersection between their queries. Moreover, the queries and their intersection need to be “unpredictable” (have high min-entropy) given the transcript, otherwise an eavesdropper can make the same queries and neutralize the honest parties’ advantage. Since A does not know in advance her intersection with B’s queries, if she sends a short message, she will not convey much information about the intersection; and similarly for B’s message. More formally, if each query as probability at most δ of being asked by B, and A’s message has C bits, then B learns no more than δC bits of information about the intersection, and this argument can be carried to B’s return message as well. However, what should we do about queries with probability higher than δ of being asked? To guarantee that all queries have low prior probability of being asked by one of the players (or viewed another way — to “neutralize” queries that are too predictable) we use a variant of the eavesdropper of Barak and Mahmoody [2]. The eavesdropper in their work finds and queries all the “heavy queries” — queries that were asked with probability at least δ given the eavesdropper’s view (the messages it has seen and the queries it has asked). In our proof, we set the “heavy query” threshold δ to Θ(1/C) instead of 1/`, where C is the communication complexity of the protocol. Intuitively, this is because we only care about queries the players have talked to each other about, not queries they asked but did not communicate to the other player.2 The eavesdropper asks all the heavy queries at the beginning of every communication round, and at the end of the protocol, it outputs the key it believes B would output, given the messages the eavesdropper observed between the players and the queries it asked. We prove that the eavesdropper generates a total of only Θ(C`) queries, and breaks the secrecy of the protocol. 2This is an over-simplification, since a player’s message can contain partial information about queries, e.g., XORs of subsets of queries and so on. 4 Note that when C ďż˝ `, an eavesdropper that asks only Θ(C`) queries stands no chance of finding all the intersection queries shared by the parties. For example, if A and B each ask ` random queries, but do not communicate with each other at all (C = 0), then our eavesdropper is not allowed to make any queries (C ¡ ` = 0), and in particular, even though with high probability A and B’s queries intersect, the eavesdropper will not find an intersection query. This is a key difference from the proof of [2, 9], whose eavesdropper with high probability asks all the intersection queries. Nevertheless, we show that unless the parties can learn that a given query is in their intersection, this query is not useful to them. We assume without loss of generality that the secret key is the first bit of one of B’s queries (we show that any protocol can be transformed into a protocol that has this property, without harming consistency or security). The technical key to the proof is to bound the dependence between B’s queries and A’s view: this dependence exactly captures the players’ “advantage” over the eavesdropper. In particular, if the players can figure out an intersection query, they create a lot of dependence that is hidden from the eavesdropper. We show that this does not happen, except with small probability. Thus, the players have very small advantage over the eavesdropper, and when at the end of the protocol the eavesdropper guesses B’s key, it has roughly the same chance of agreeing with A’s key as B does. The proof formalizes the intuition that any dependence between B’s queries and A’s view (or vice-versa) is “created through” the intersection of their queries. We then show that (1) A’s message does not convey much information about the intersection, and hence, (2) B’s message also does not convey much information about the intersection. The argument for (1) uses fairly standard ideas from information theory: when we consider n random variables X1, . . . ,Xn and a function M(X1, . . . ,Xn), and choose an index i ∈ [n] with some distribution that has high min-entropy, then I(M;Xi) is small. In our case, we choose not one index but possibly several (as the intersection can be large), so the argument needs to be generalized somewhat.3 The second message is a different story, because with some small probability, A’s first message revealed too much information about the intersection. (The mutual information I(M;Xi) is, after all, an expectation over messages.) If the players managed to establish such dependence, then the eavesdropper no longer stands any chance of breaking the protocol’s secrecy. To deal with this low-probability event, we switch to using statistical distance instead of mutual information. Mutual information is unbounded, so even low-probability events can cost too much in expectation; statistical distance on the other hand is bounded by one. Statistical distance is less convenient to work with (e.g., it is not additive), so our argument for the second message is more complex. It involves “pretending” that B learned nothing about the intersection, proving that in this case his message also does not reveal much about the intersection, and then switching back to the real distribution, where B knows a little about the intersection, and accounting for the difference. The reason we could not continue this argument to any number of rounds is that perversely, after the second round, the eavesdropper’s own queries may create dependence between the queries of the two parties.4 This means that, even though we bounded the dependence created by the 3For the reader familiar with Shearer’s inequality — we prove a Shearer-like statement for mutual information. 4For instance, A can send the answer to her first query, and B can reply with his first query, followed by the XOR of the answers to his first two queries. In this case, the view of A is independent from the queries of B; however, after the eavesdropper asks B’s first query, she learns whether or not B’s second query is equal to A’s first query. This creates dependence between the honest parties’ views, when we condition on the eavesdropper’s view. 5 messages in the first two rounds, when the eavesdropper asks the heavy queries after the second round, its own queries can increase the dependence and violate our bound. 1.2 Related Work Impagliazzo and Rudich [9] showed that the key of any `-query key-agreement protocol in the random-oracle model can be revealed by an O(`6) query eavesdropper. Barak and Mahmoody [2] have improved upon the above presenting an O(`2) query eavesdropper for this task, yielding that Merkle Puzzles is optimal in this respect. Haitner, Omri, and Zarosim [6] used the machinery of [2], to show that any no-input `-query random oracle protocol, can be mapped into an “equivalent” no- oracle protocol, using an O(`2)-query mapping, yielding that a no input task that is impassible to achieve information theoretical, cannot be computed securely in the random-oracle model against O(`2)-query adversaries. The focus of the above works is on no-input random oracle protocols. Finding limitation on the usefulness of random oracles for with-input protocols seems to be a more difficult question, Chor and Kushilevitz [3], and Mahmoody et al. [10] made some progress in this direction. Finally, Haitner, Hoch, Reingold, and Segev [7] gave lower bounds on the communication complexity of statistically hiding commitments and single-server private information retrieval in a weaker oracle model that captures the hardness of one-way functions/permutation more closely. Paper Organization Formal definitions and notation used throughout the paper are given in Section 2. The bound for uniform-query protocols is formally stated and proved in Section 3, and the bound for two-message non-adaptive protocols is stated and proved in Section 4. 2 Preliminaries 2.1 Notations We use calligraphic letters to denote sets, uppercase for random variables and lowercase for values. For m ∈ N, let [m] = {1, . . . ,m}. For a random variable X, let x R← X to denote that x is chosen according to X. Similarly, for a set S let s R← S to denote that s is chosen according to the uniform distribution over S. The support of the distribution D, denoted Supp(D), is defined as {u ∈ U : PrD [u] > 0}. The statistical distance between two distributions P and Q over a finite set U , denoted SD(P,Q), is defined as 1 2 ∑ u∈U |PrP [u]−PrQ [u] |, which is equal to maxS⊂U (PrP [S]− PrQ [S]). For a vector X = X1, ..., Xn and an index i ∈ [n], let X