<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Compact Multiparty Verification of Simple Computations</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Omri</forename><surname>Ross</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">University of Copenhagen</orgName>
							</affiliation>
						</author>
						<author role="corresp">
							<persName><forename type="first">Johannes</forename><forename type="middle">Rude</forename><surname>Jensen</surname></persName>
							<email>johannes@firmo.network</email>
							<affiliation key="aff1">
								<orgName type="department">Copenhagen Business School</orgName>
							</affiliation>
						</author>
						<title level="a" type="main">Compact Multiparty Verification of Simple Computations</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">9F49A9CF2EEFD291C481FB70AC78578B</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T23:34+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>Domain Specific Languages</term>
					<term>Computational Verification</term>
					<term>Blockchain Technology</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>We present a compact model for blind multiparty verification of compilation results. By employing a simple incentive scheme, we construct a mechanism, staking a deposit value on the correctness of compiled and deployed byte code. A blind committee of peers evaluate the authenticity of the deployed byte code by re-computing the task, hashing the source and target code into checksums, and submitting bids to the contract. If the evaluation round reveals inconsistencies in the checksums provided by the peers, the contract can be rejected and the deposit shared amongst contenders.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>With the proliferation of blockchain and peer-to-peer technologies <ref type="bibr" target="#b1">[2,</ref><ref type="bibr" target="#b4">5]</ref>, an increasing emphasis has been placed on verification of both programming languages and compilers. This is manifested in a growing demand for formally verifiable solutions, strictly typed or purely functional programming languages. <ref type="bibr" target="#b5">[6,</ref><ref type="bibr" target="#b8">9,</ref><ref type="bibr" target="#b10">11,</ref><ref type="bibr" target="#b11">12,</ref><ref type="bibr" target="#b19">20,</ref><ref type="bibr" target="#b23">24,</ref><ref type="bibr" target="#b24">25,</ref><ref type="bibr" target="#b36">37]</ref> This development is, arguably, for good reason. The Ethereum blockchain, a smart contract platform currently supporting a plethora of digital assets, has been subject to multiple episodes resulting in the loss of funds. <ref type="bibr" target="#b32">[33,</ref><ref type="bibr" target="#b39">40,</ref><ref type="bibr" target="#b40">41]</ref> The Ethereum blockchain executes smart-contracts in the Ethereum Virtual Machine, (EVM) a replicated stack machine maintained by nodes in the network. Programmers predominately write smart contracts in the higher level scripting language: Solidity, a JavaScript inspired contract language compiling directly to EVM. <ref type="bibr" target="#b45">[46]</ref> Due to the complexity of Solidity, episodes involving coordinated or accidental loss of funds are often connected to delicate aspects of the EVM semantics. <ref type="bibr" target="#b5">[6,</ref><ref type="bibr" target="#b32">33,</ref><ref type="bibr" target="#b39">40,</ref><ref type="bibr" target="#b40">41]</ref> Atzei et al. <ref type="bibr" target="#b0">[1]</ref> defines a taxonomy of exploits and vulnerabilities observable in smart contracts, written in Solidity. Luu et al. allocates a set of known vulnerabilities in 8,883 of 19,366 smart contracts deployed on the Ethereum blockchain, utilizing the open source symbolic execution tool, Oyente <ref type="bibr" target="#b27">[28,</ref><ref type="bibr" target="#b31">32]</ref>. As is commonly known, the immutable characteristics of the deterministic environment afforded by blockchain technologies, does not permit debugging. Even minor errors, exploits or vulnerabilities can result in severe losses of funds, thus the adage: "Code is law". At the surface, the continuous stream of issues in smart contract technologies, may seem puzzling. After all, smart contracts are simple but high risk computations. So, why is it so difficult to produce correct code? Amongst many plausible causes, a common culprit is the complexity of native scripting languages available today. The DAO hack <ref type="bibr" target="#b39">[40,</ref><ref type="bibr" target="#b40">41]</ref> and the Parity multi-sig Wallet incident <ref type="bibr" target="#b32">[33]</ref>, are well-documented cases, both resulting in significant loss of value. Both cases involved fairly simple computations, expressed in complex programming languages. Due to the openness of the Ethereum blockchain, any user can call the public methods defined in a contract. <ref type="bibr" target="#b5">[6]</ref> Writing and verifying contracts shielded from any potential abuse, has proven to be a difficult task. Fortunately, low fault tolerance in code execution, is not a problem isolated to the domain of blockchain technology. The issue is commonly known in a variety of fields, concerned with safety and mission critical software development. Consider the notoriously prohibitive safety requirements in the aerospace engineering industry as an example. <ref type="bibr" target="#b46">[47]</ref> In mission critical software development, the use of domain specific languages (DSL) is commonly known as good practice. While open-source projects and exhaustive literature on domain specific languages is widely available, <ref type="bibr" target="#b11">[12,</ref><ref type="bibr" target="#b14">15,</ref><ref type="bibr" target="#b19">20,</ref><ref type="bibr" target="#b23">24,</ref><ref type="bibr" target="#b24">25,</ref><ref type="bibr" target="#b25">26]</ref> the broad application of DSL in financial peer-to-peer systems remains absent. One can think of multiple reasons for the lack of language plurality in the blockchain space. A dominant cause, we submit, is the bottleneck occurring in the compilation and deployment of domain specific languages. When a community tasked with the development maintenance of a programming language is small, <ref type="bibr" target="#b42">[43]</ref> verifying the integrity of the compilation process, can prove a cumbersome process. Though language plurality may serve the growing community of users well, the long term implication of the current situation, could be the concentration of open-source participation in just a few select programming languages. Developing a domain specific language requires ressoruces and talent, bearing little probability of any revenue. We perceive this partially, as a problem of trust. How can the end-user verify that her counterparty has compiled the correct contract, to the blockchain? Unless a verifiably correct implementation of a compiler is available online, the user will be required to read and verify assembly code by hand. By proposing a compact solution for the verification of correct compilation in a multitude of programming languages, we aim to encourage language pluralism in blockchain and distributed ledger technologies. Verifying the authenticity of a compiled and deployed contract by imposing simple games for rational agents may, in turn, create a platform of trust for communities or individuals involved in developing domain specific languages. The monetization of such a platform may contribute much needed resources, towards the maintenance and development of open-source niche languages for a variety of use-cases.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.1">Honest Deployment</head><p>We introduce the problem of honest deployment with the following parable: Alice and Bob are non-technical end-users or financial service providers, looking to deploy a series of specific financial contracts to the blockchain. Eve has created a strictly typed, formally verified, domain specific language, perfectly suitable for writing these contracts. Eve is able to write compile and securely deploy any contract specified by Alice and Bob. Now, how can Alice and Bob verify that Eve is compiling and deploying the correct contract? Similar challenges have mobilized attention, in times where out-sourcing large computational tasks has become a viable business model for corporations with large server capacities. Suppliers and consumers of infrastructure-as-a-service (IaaS) share issues, well aligned with the problem addressed here. <ref type="bibr" target="#b34">[35,</ref><ref type="bibr" target="#b38">39]</ref> In most cases, consumers do not have the capacity, know-how or time to re-execute computations. On the other end of the trade, service providers lack the means to demonstrate the validity of their services to their clients or end-users. <ref type="bibr" target="#b43">[44]</ref> The question is thus; how can consumers verify computations, without having to re-execute them locally? As suggested by Walfish and Blumberg <ref type="bibr" target="#b44">[45]</ref> we can formulate the problem as the following: The client delivering an input denoted by x, provides the worker computing the task with a specification, denoted by p. The worker computes an output y, now having to provide the client with succinct proof that y = p(x). A few obvious restrictions apply to a solution for problems of this nature. First, verifying the output y has to be less computationally costly than computing p(x), if the model is to remain relevant. Second, p has to result in a deterministic output, unless very sophisticated and costly verification methods are available. Third, the worker must deliver tangible evidence that malicious behavior would, with high probability, be more expensive than the potential gains of attempting an attack.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.2">Existing Solutions</head><p>We consider currently existing solutions to similar problems in computational verification and associated theory. Due to the generally applicable nature of problems in the verification of computations, the literature on the subject is rich. Theoretical and practical implementation predominantly subscribe to Micali's notion of a Computationally Sound proof (CS proof). Amongst the required properties of a CS proof, Micali lists convenience, feasibility, reasonable complexity, universality, transferability and confidence in the soundness of the proof. <ref type="bibr" target="#b30">[31]</ref> Research on the practical implementation of probabilistic proof schemes has made great advancements in meeting these requirements. Most recently, practical implementations of proofs in quantum computing has generated new interest in the field. <ref type="bibr" target="#b13">[14]</ref> Yet, the general range of practical implementations often prioritize highly specific applications for single classes of computations. Existing implementations are typically composed of hybrid abstractions of interactive proofs and probabilistically checkable proofs <ref type="bibr" target="#b6">[7,</ref><ref type="bibr" target="#b16">17,</ref><ref type="bibr" target="#b17">18,</ref><ref type="bibr" target="#b18">19,</ref><ref type="bibr" target="#b29">30,</ref><ref type="bibr" target="#b34">35,</ref><ref type="bibr" target="#b35">36,</ref><ref type="bibr" target="#b37">38,</ref><ref type="bibr" target="#b38">39]</ref>. Interactive proofs rely on the exchange of a series of messages, determining the authenticity of a proof certificate. PCP proofs generally proceed by checking random selection of bits in a correctly formatted proof. Here, the prover provides the verifier with an encoded transcript of the operation, in the attempt at convincing the verifier that the computation has been correctly executed. <ref type="foot" target="#foot_0">1</ref> A common denominator in these and similar operations, is the overhead and setup costs associated with the required computations. <ref type="bibr" target="#b43">[44,</ref><ref type="bibr" target="#b44">45]</ref> While an extensive cost-profile is permissible in certain scenarios, the aforementioned use-case does not tolerate extraneous costs. As is evident, a cost profile for Alice and Bob, relies more on the probability of Eve acting benevolently, than on the costs associated with a series of trivial compilations and the deployments of contract code. Here, we note the importance of externalities in the verification of computations. The extant literature predominantly approaches verification as a bilateral process between two publically known agents: prover and verifier. In the conventional verification paradigm, the agent's identity is public knowledge, while communications are kept private. Public blockchain technology reverses this tendency with the introduction of openness as a fundamental property. On a public blockchain, communication between agents in the form of transactions or computations are public. To provide a level of anonymity, identities are kept pseudonymous, discernable only by public keys or addresses. <ref type="bibr" target="#b15">[16]</ref> Consequently, the environment presented by public blockchain technologies does not permit tacit notions of reputation in the verification process. <ref type="foot" target="#foot_1">2</ref> A malicious agent is perfectly capable of switching both public keys and addresses at any point, discarding any association with a previous address. This property poses a difference to the general literature on outsourced computations, building on a set of implicit assumptions on the location and identity of agents and infrastructure. When utilizing cloud services, we trust that questionable performance will, eventually, impede financial penalties on the service provider. Whether in the form of lost revenue or contractual penalties, we confide in the public association between brand and output. A practical verification scheme must replicate the relationship between performance and penalty, in the presence of strategic agents with pseudonymous identities. <ref type="bibr" target="#b41">[42,</ref><ref type="bibr" target="#b28">29,</ref><ref type="bibr" target="#b21">22]</ref> addresses this problem in detail. With the TrueBit system, users can submit a computation to the network of Solvers and Challengers. Extending the aforementioned terminology, Solvers compute p(x) and pose a simple proof that y = p(x). Challengers may dispute the solution by computing the same task with a conflicting result. When a challenger disputes a solvers results, a subroutine, known as the 'verification game' is initiated <ref type="bibr" target="#b41">[42]</ref>. A verification game is, essentially, a search problem, in which Solver and Challenger proceed by configuring the disputed computation in ranges. Each range is represented by a Merkle tree, containing the entire state. By indexing the Merkle root for each range on the blockchain, the Challenger can allocate the discrepancy between the two computations and pass this information on to the Solver. This loop is repeated in several iterations, until the range in which Solver and Challenger computes conflicting results is well defined. At this point, the disputed range is executed on-chain. The dispute is resolved by distributing a staked deposit value to the winning party. The TrueBit system offers a novel contribution to the extant literature, by introducing of financial incentives to the verification of computations. As both Solvers and Challengers are prompted to deposit a predefined value in the TrueBit contract, agents can be penalized and rewarded accordingly. Nevertheless, this implementation of the TrueBit system is not ideal for simple or trivial computations involving high-risk, such as the compilation of smart contracts written in domain specific languages.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Teutsch et al. and Reitweißner</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">A Verification Scheme for Simple Computations</head><p>In extension of the model presented and discussed by Teutsch and Reitweißner et al. <ref type="bibr" target="#b41">[42]</ref> we present a verification scheme in the form of an extended game, with perfect information about other player's previous moves, but not their types. <ref type="bibr" target="#b22">[23]</ref> As noted above, the verification of third party computations is a rich and complex issue, addressed at length in the literature. Following the work presented by Teutsch et al. <ref type="bibr">[22 ,42]</ref> this implementation deviates from the general methodologies derived from IP or PCP based proof systems. Departing from these technically dense methodologies, we provide a simple incentive scheme for the peer verification of computational results. The mechanism is an indirect implementation with sequential messages, revealing information about other player's intention. The group of agents in each 'game' is a tuple of n participants, for this limited example N ={A,B,C}. Players have type as elaborated below types are either benevolent or malicious/naive. In this model, types are only defined by weather or not the agent is able to verifiably compute y = p(x). For reasons of simplicity, this implementation only discriminates between two types of agents. We denote type θ1 as the benevolent agent, correctly computing y = p(x). Any other agent is treated as a malicious, naive or otherwise compromised, denoted by type θ2.</p><p>When Eve executes a compilation and deploys the contract code for Alice and Bob, she is required to deposit assets corresponding to a ratio of the contractual value-atrisk. The deposit is locked on-chain with the fees gathered by Alice and Bob. The source code and the compiled byte code is hashed into checksums and logged on chain. The source code is then distributed amongst seven randomly selected peers. Before Alice and Bob signs or executes the deployed contract, the code deployed by Eve is subject to a blind peer review. Five out of seven peers challenge the results by submitting their checksums. If Eve is proven to have computed the contract correctly, the contract is signed and released by Alice and Bob. This action transfers the deposit (d) and the fee (f) back to Eve. If the computation is disputed, the deposit is shared by consenting contenders. The following process details the implementation proposed in this paper. We advise the reader follow along, by viewing the state chart in appendix A. Appendix B provides a visualization of step one through four providing additional visual aid.</p><p>Step 1: Alice A and Bob B, presents a contract x and a set of specifications p to Eve C.</p><p>Step 1a: The required deposit d is calculated from the estimated value-at-risk, denoted vu. The value at risk is multiplied by the deposit to contract value ratio r, expressed as:</p><formula xml:id="formula_0">d = (Avu + Bvu) * r</formula><p>Step 1b: The service-fee f demanded by C, is stored with the deposit d on chain, for the remainder of the process.</p><p>Step 2: C presents a compilation result y to A and B as a transitional proof of y = p(x). Step 3c: With deployment, A,B,C encode the hashed check sums (yc,xc) as input transaction data, together with the compiler pragma (version), denoted by z. Alternatively, simple functions such as uintstoredData on the Ethereum network can be applied. The only requirements for logging data on-chain is that the hashed checksums and the compiler pragma can be easily associated with the contract under scrutiny.</p><p>Step 4: Once the contract is deployed and the checksum and the compiler pragma (yc,xc,z) is logged on the blockchain, C must prove the correctness of y before A,B signs or executes the deployed bytecode, y.</p><p>Step 5: A,B,C distributes x to 7 randomly selected contenders on the network, denoted by: T1....T7.</p><p>Step 5a: Out of contenders T1....T7 at least 5 contenders should respond by challenging the validity of y = p(x). A challenge is submitted by computing and hashing p(x) with the correct compiler pragma (version) denoted by z. Once a reasonable amount of contenders has challenged the result, the tally can be concluded. If a majority of contesters return the equivalent SHA256 checksums such that:</p><formula xml:id="formula_1">Tn (yc, xc) = (A,B(yc, xc))</formula><p>We can assume C to be benevolent, If:</p><formula xml:id="formula_2">∀(Tn(yc,xc)) = (A,B(yc, xc)) ├ C=θ1</formula><p>In this example, if ≧3 contesters return SHA256 checksums such that, (Tn (yc, xc)) ≠ (A,B(yc, xc))</p><p>We can treat C as malicious, if:</p><formula xml:id="formula_3">∃Tn (yc, xc) ≠ (A,B(yc, xc))├ C=θ2</formula><p>If the randomly selected contenders does not arrive at consensus, the contract can be rejected and f, d returned to A,B,C. High value contracts may require full consensus with more challengers. Low value contracts may require only one or two blind peer reviewers.</p><p>Step 6a: Having derived the type of C from the verification game, we can now dispose of the deposited values: d, f. If,</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>C├ C=θ1</head><p>A, B can sign and release the deployed code x. This transfers d, f to C and the process is complete.</p><p>Step 6b: If the anonymous voting process showed that: C├ C=θ2 f is returned to A,B and d divided amongst contesters T1....T5 in consensus.</p><p>Step 7: The division of d to winning contenders can be distributed according to any bespoke mechanism, incentivizing the preferred agent behavior. Here, auction theory may provide useful inspiration. One might consider adopting a Dutch-auction model, allocating the potential d in a descending order, [50, 25, 12.5, 6.25%] incentivizing agents to compute and send their bid as fast as possible.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Discussion</head><p>We have shown a potential implementation of an incentive scheme for blind peer verification of simple computational results. The general framework produced in this paper, has been applied to the verification of compiled and deployed byte-code of smart-contracts. This scheme may be ported to other verticals, calling for the verification of mission critical computations. Adding incentive schemes to the verification of computations is applicable in situations where multiple agents with heterogeneous types are facing a) risk of manipulation, b) risk of hardware malfunction, or c) potentially compromised software. Depending on the computational class in question, adding an incentive layer to the validation of a proof may provide additional certainty, that the agent charged with completing the computation will be financially penalized for any misnomer.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">Potential Concerns in the Suggested Implementation</head><p>We address challenges in the suggested implementation described above. First, we might question the source of true randomness in the peer selection process in step 5. Provable generation of true randomness is a non-trivial issue, addressed widely in the literature. Recent advancements in the field, alongside an increasing attention paid towards this issue, <ref type="bibr" target="#b7">[8]</ref> leads us to the assumption that we will see positive developments in the generation of randomness on public blockchains. Another, similarly pertinent, issue is privacy. This model necessitates the sharing of source-code, which obviously is an undesirable property. The partial encryption and verification of source-code is a potential solution, but has not been pursued in this paper. A different frontier is the habits of strategic agents. If not restrained, agents might attempt to match hashes before submitting their bids, in the attempt at saving transaction fees. This can be mitigated either by encoding bids and evaluating after the tally is final, or by tweaking the incentive scheme as suggested in step 7. Along similar lines, we might be concerned with the frequency of malicious/naive behavior. <ref type="bibr" target="#b41">[42]</ref> Indeed, how often does malicious behavior need to occur before the model becomes self sustainable? The TrueBit system proposes that system moderators simply inject falsified computations at randomized intervals. This measure incentivizes continuous search for malicious agents. Depending on the implementation, number of compiler pragma (z) and contestants, similar considerations might prove necessary in a practical implementation. A necessary concern is the networks capability of handling new releases. This implementation has shown a static scenario, in which only a single pragma or directive is applicable. An optimal implementation must account for multiple possible pragma, whilst supporting the propagation of software updates throughout the network.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">Potential Optimizations to the Suggested Implementation</head><p>We discuss potential optimizations of the model presented in this paper. First, we might reduce on-chain logging by concatenating checksum hashes and compiler pragma into a Merkle tree, indexing only the Merkle root on the blockchain. This design might allow more contenders and faster process times, as checksum matching can be reduced to a simple operation. Additional efficiency gains can be achieved by hashing only the first, and last, n bits of the source and target code. This might enhance the models applicability in verification of slightly larger computational tasks.</p><p>The quality of an agent's reputation may be quantified utilizing Token Curated Registry schemes (TCR). <ref type="bibr" target="#b26">[27]</ref> Agents serving as verifiers and challengers in a certain subset of compiler pragma can be qualified by the number of reputation tokens associated with a designated address. TCR schemes comprise an interesting development in these novel fields, as we may discriminate further amongst the perceived qualifications of agents, without requiring association with identity or location. The scheme proposed here may be instructed to issue a specific number of reputation tokens upon the completion of a successful verification round. Adjacent to the scheme defined above, reputation tokens may be staked with the deposit value (d). Such a model would facilitate the quantification of reputation, as trusted agents would be able to stake large amounts for high-risk computations. Consequently, agents in possession of large quantities of reputation tokens, may require higher fee (f) for their services.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Conclusion</head><p>Smart contracts are generally simple computations, often involving financial risks. The emerging ecosystem for financial applications on public blockchain infrastructure, can benefit from a broader variety of domain specific languages. However, there is little incentive for talent to engage in the commercial development of domain specific languages or verified compilers. We attribute this state of affairs, partially to the problem of honest deployment. How can a non-technical user verify the integrity of a compilation, without re-executing the computation locally? Departing from the extant literature, predominantly consisting of technically dense and computationaly complex solutions, we develop a basic verification scheme for simple high-risk computations. The scheme proposes a solution to the problem of honest deployment, through the introduction of financial incentives. Agents tasked with the compilation of source code is asked to deposit values corresponding to the value at risk in a given contract. The computation is re-executed by a randomly selected committee of peers. If the computation is shown to be flawed or manipulated, the deposit is shared amongst contenders and the fee reimbursed. If the computation is shown to be correct, the deposit is returned and the round is concluded. The current implementation does not account for reputation systems and software updates. We identify these issues as potential future work on this or related models.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Step 3 :</head><label>3</label><figDesc>A,B,C independently produce hashed checksums of the source-code yc and the output: xc Step 3a: If (A,B(yc,xc)) ≠ C(yc,xc) the contract is rejected. Step 3b: If A(yc,xc)∧B(yc, xc) = C(yc,xc) the contract is accepted, and C can deploy y</figDesc></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">We recommend<ref type="bibr" target="#b44">Walfish et al. (2015)</ref> rich survey of exciting practical implementations for an overview of the field.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2" xml:id="foot_1">We address this issue further, in the discussion.</note>
		</body>
		<back>
			<div type="annex">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Appendix B: Verification Scheme  </p></div>			</div>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">A survey of attacks on Ethereum smart contracts (SoK)</title>
		<author>
			<persName><forename type="first">N</forename><surname>Atzei</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Bartoletti</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Cimoli</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="s">Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics</title>
		<imprint>
			<date type="published" when="2017">2017</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Jumping on the blockchain bandwagon: lessons of the past and outlook to the future</title>
		<author>
			<persName><forename type="first">M</forename><surname>Avital</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 37th International conference on information systems</title>
				<meeting>the 37th International conference on information systems<address><addrLine>Dublin</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2016">2016</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<author>
			<persName><forename type="first">S</forename><surname>Barz</surname></persName>
		</author>
		<idno type="DOI">10.1038/nphys2763</idno>
		<ptr target="http://arxiv.org/abs/1309.0005%0Ahttp://dx.doi.org/10.1038/nphys2763" />
		<title level="m">Experimental verification of quantum computations</title>
				<imprint>
			<date type="published" when="2013">2013</date>
			<biblScope unit="page" from="1" to="13" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Merkle tree authentication of HTTP responses</title>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">J</forename><surname>Bayardo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Sorensen</surname></persName>
		</author>
		<ptr target="http://portal.acm.org/citation.cfm?doid=1062745.1062929" />
	</analytic>
	<monogr>
		<title level="m">Special interest tracks and posters of the 14th international conference on World Wide Web -WWW &apos;05</title>
				<imprint>
			<date type="published" when="2005">2005</date>
			<biblScope unit="page">1182</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<monogr>
		<title level="m" type="main">Blockchain Technology in Business and Information Systems</title>
		<author>
			<persName><forename type="first">R</forename><surname>Beck</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Avital</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Rossi</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2017">2017</date>
		</imprint>
		<respStmt>
			<orgName>Business &amp; Information Systems Engineering</orgName>
		</respStmt>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Formal verification of smart contracts: Short paper</title>
		<author>
			<persName><forename type="first">K</forename><surname>Bhargavan</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">PLAS 2016 -Proceedings of the 2016 ACM Workshop on Programming Languages and Analysis for Security, co-located with CCS</title>
				<imprint>
			<date type="published" when="2016">2016. 2016</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Verifying computations with state</title>
		<author>
			<persName><forename type="first">B</forename><surname>Braun</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles</title>
				<meeting>the Twenty-Fourth ACM Symposium on Operating Systems Principles</meeting>
		<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="2013">2013</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">SCRAPE: Scalable randomness attested by public entities</title>
		<author>
			<persName><forename type="first">I</forename><surname>Cascudo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>David</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="s">Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics</title>
		<imprint>
			<date type="published" when="2017">2017</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">A Language-Independent Approach to Smart Contract Verification</title>
		<author>
			<persName><forename type="first">X</forename><surname>Chen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Park</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Rosu</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">8th International Symposium On Leveraging Applications of Formal Methods, Verification and Validation (ISoLA&apos;18</title>
				<imprint>
			<date type="published" when="2018">2018</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<monogr>
		<title level="m" type="main">Proof-of-stake Protocol</title>
		<author>
			<persName><forename type="first">B</forename><surname>David</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Ga</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Russell</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2017">2017</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Step by Step Towards Creating a Safe Smart Contract: Lessons and Insights from a Cryptocurrency Lab</title>
		<author>
			<persName><forename type="first">K</forename><surname>Delmolino</surname></persName>
		</author>
		<ptr target="https://eprint.iacr.org/2015/460.pdf" />
	</analytic>
	<monogr>
		<title level="j">IACR Cryptology ePrint Archive</title>
		<imprint>
			<biblScope unit="page">460</biblScope>
			<date type="published" when="2015">2015. 2015</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<monogr>
		<title level="m" type="main">Certified Compilation of Financial Contracts contracts which can be turned into a concrete contract</title>
		<author>
			<persName><forename type="first">M</forename><surname>Elsman</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2018">2018</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<monogr>
		<ptr target="https://solidity.readthedocs.io/en/v0.4.24/" />
		<title level="m">Solidity, Read the Docs</title>
				<imprint>
			<date type="published" when="2018-08-12">August 12, 2018</date>
		</imprint>
		<respStmt>
			<orgName>Ethereum Foundation</orgName>
		</respStmt>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<monogr>
		<title level="m" type="main">Post hoc verification of quantum computation</title>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">F</forename><surname>Fitzsimons</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Hajdusek</surname></persName>
		</author>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<monogr>
		<title level="m" type="main">Domain-specific languages</title>
		<author>
			<persName><forename type="first">M</forename><surname>Fowler</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2010">2010</date>
			<publisher>Pearson Education</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">Pervasive Decentralisation of Digital Infrastructures : A Framework for Blockchain enabled System and Use Case Analysis</title>
		<author>
			<persName><forename type="first">F</forename><surname>Glaser</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 50th Hawaii International Conference on System Sciences</title>
				<meeting>the 50th Hawaii International Conference on System Sciences</meeting>
		<imprint>
			<date type="published" when="2017">2017. 2017</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">Probabilistic Proof Systems: A Primer</title>
		<author>
			<persName><forename type="first">O</forename><surname>Goldreich</surname></persName>
		</author>
		<ptr target="http://www.nowpublishers.com/article/Details/TCS-023" />
	</analytic>
	<monogr>
		<title level="j">Foundations and Trends® in Theoretical Computer Science</title>
		<imprint>
			<biblScope unit="volume">3</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="1" to="91" />
			<date type="published" when="2007">2007</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">Delegating Computation: Interactive Proofs for Muggles</title>
		<author>
			<persName><forename type="first">S</forename><surname>Goldwasser</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><forename type="middle">T</forename><surname>Kalai</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><forename type="middle">N</forename><surname>Rothblum</surname></persName>
		</author>
		<ptr target="https://www.microsoft.com/en-us/research/wp-content/uploads/2016/12/2008-DelegatingComputation.pdf%0Ahttp://portal.acm.org/citation.cfm?id=1374396" />
	</analytic>
	<monogr>
		<title level="m">40th Annual ACM symposium on Symposium on theory of computing -STOC</title>
				<imprint>
			<date type="published" when="2008">2008</date>
			<biblScope unit="volume">62</biblScope>
			<biblScope unit="page" from="113" to="122" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<analytic>
		<title level="a" type="main">The knowledge complexity of interactive proof systems</title>
		<author>
			<persName><forename type="first">S</forename><surname>Goldwasser</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Micali</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Rackoff</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">SIAM Journal on computing</title>
		<imprint>
			<biblScope unit="volume">18</biblScope>
			<biblScope unit="issue">1</biblScope>
			<date type="published" when="1989">1989</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<analytic>
		<title level="a" type="main">Futhark: purely functional GPU-programming with nested parallelism and in-place array updates</title>
		<author>
			<persName><forename type="first">T</forename><surname>Henriksen</surname></persName>
		</author>
		<ptr target="http://dl.acm.org/citation.cfm?doid=3062341.3062354" />
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation -PLDI 2017</title>
				<meeting>the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation -PLDI 2017</meeting>
		<imprint>
			<date type="published" when="2017">2017</date>
			<biblScope unit="page" from="556" to="571" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b20">
	<analytic>
		<title level="a" type="main">Interactive Proof Systems</title>
		<author>
			<persName><forename type="first">S</forename><surname>Homer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">L</forename><surname>Selman</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Computability and Complexity Theory</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2011">2011</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b21">
	<monogr>
		<title level="m" type="main">How to verify computation with a rational network</title>
		<author>
			<persName><forename type="first">S</forename><surname>Jain</surname></persName>
		</author>
		<ptr target="http://arxiv.org/abs/1606.05917" />
		<imprint>
			<date type="published" when="2016">2016</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b22">
	<monogr>
		<title level="m" type="main">Resource Allocation in Decentralized Systems with Strategic Agents</title>
		<author>
			<persName><forename type="first">A</forename><surname>Kakhbod</surname></persName>
		</author>
		<idno type="DOI">10.1007/978-1-4614-6319-1</idno>
		<ptr target="http://link.springer.com/10.1007/978-1-4614-6319-1" />
		<imprint>
			<date type="published" when="2013">2013</date>
		</imprint>
		<respStmt>
			<orgName>The University of Michigan</orgName>
		</respStmt>
	</monogr>
</biblStruct>

<biblStruct xml:id="b23">
	<monogr>
		<title level="m" type="main">IELE: An intermediate-level Blockchain language designed and implemented using formal semantics</title>
		<author>
			<persName><forename type="first">T</forename><surname>Kasampalis</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2018">2018</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b24">
	<monogr>
		<title level="m" type="main">Marlowe: Financial contracts on blockchain</title>
		<author>
			<persName><forename type="first">P</forename><surname>Lamela</surname></persName>
		</author>
		<ptr target="https://github.com/input-output-hk/scdsl" />
		<imprint>
			<biblScope unit="page" from="1" to="20" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b25">
	<monogr>
		<title level="m" type="main">The CompCert C verified compiler: Documentation and user&apos;s manual</title>
		<author>
			<persName><forename type="first">X</forename><surname>Leroy</surname></persName>
		</author>
		<ptr target="http://scholar.google.com/scholar?hl=en&amp;btnG=Search&amp;q=intitle:The+CompCert+C+verified+compiler+Documentation+and+user+?+s+manual#0" />
		<imprint>
			<date type="published" when="2013">2013</date>
			<biblScope unit="page" from="1" to="10" />
		</imprint>
		<respStmt>
			<orgName>INRIA Paris-Rocquencourt</orgName>
		</respStmt>
	</monogr>
</biblStruct>

<biblStruct xml:id="b26">
	<monogr>
		<title level="m" type="main">Token Curated Registry (TCR) Design Patterns</title>
		<author>
			<persName><forename type="first">M</forename><surname>Lokyer</surname></persName>
		</author>
		<ptr target="https://hackernoon.com/token-curated-registry-tcr-design-patterns-4de6d18efa15" />
		<imprint>
			<date type="published" when="2018-09-08">September 8, 2018</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b27">
	<analytic>
		<title level="a" type="main">Making smart contracts smarter</title>
		<author>
			<persName><forename type="first">L</forename><surname>Luu</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the ACM Conference on Computer and Communications Security</title>
				<meeting>the ACM Conference on Computer and Communications Security</meeting>
		<imprint>
			<date type="published" when="2016">2016</date>
			<biblScope unit="page" from="254" to="269" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b28">
	<analytic>
		<title level="a" type="main">Demystifying Incentives in the Consensus Computer</title>
		<author>
			<persName><forename type="first">L</forename><surname>Luu</surname></persName>
		</author>
		<ptr target="http://dl.acm.org/citation.cfm?doid=2810103.2813659" />
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security -CCS &apos;15</title>
				<meeting>the 22nd ACM SIGSAC Conference on Computer and Communications Security -CCS &apos;15</meeting>
		<imprint>
			<date type="published" when="2015">2015</date>
			<biblScope unit="page" from="706" to="719" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b29">
	<monogr>
		<title level="m" type="main">Enabling Strong Database Integrity using Trusted Execution Environments</title>
		<author>
			<persName><forename type="first">K</forename><surname>Mast</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Chen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><forename type="middle">G</forename><surname>Sirer</surname></persName>
		</author>
		<idno type="arXiv">arXiv:1801.01618v2</idno>
		<ptr target="http://arxiv.org/abs/1801.01618" />
		<imprint>
			<date type="published" when="2018">2018</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b30">
	<monogr>
		<title level="m" type="main">{CS} Proofs (Extended Abstracts</title>
		<author>
			<persName><forename type="first">S</forename><surname>Micali</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1994">1994</date>
			<biblScope unit="page" from="436" to="453" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b31">
	<monogr>
		<ptr target="https://github.com/melonproject/oyente" />
		<title level="m">Open Source Contributors, Oyente: An analysis tool for smart contracts</title>
				<imprint>
			<date type="published" when="2018-09-08">September 8, 2018</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b32">
	<monogr>
		<author>
			<persName><forename type="first">S</forename><surname>Palladino</surname></persName>
		</author>
		<ptr target="https://blog.zeppelin.solutions/on-the-parity-wallet-multisig-hack-405a8c12e8f7" />
		<title level="m">The Parity Wallet Hack Explained</title>
				<imprint>
			<publisher>Zeppelin.Solutions</publisher>
			<date type="published" when="2017-09-02">2017. September 2, 2018</date>
			<biblScope unit="page">19</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b33">
	<monogr>
		<title level="m" type="main">Another Parity Wallet Hack Explained</title>
		<author>
			<persName><forename type="first">S</forename><surname>Patrov</surname></persName>
		</author>
		<ptr target="https://medium.com/@Pr0Ger/another-parity-wallet-hack-explained-847ca46a2e1c[Ac-cessed" />
		<imprint>
			<date type="published" when="2018-09-02">September 2, 2018</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b34">
	<analytic>
		<title level="a" type="main">Scalable Verification for Outsourced Dynamic Databases</title>
		<author>
			<persName><forename type="first">H</forename><surname>Pang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Zhang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Mouratidis</surname></persName>
		</author>
		<ptr target="http://www.vldb.org/pvldb/2/vldb09-625.pdf" />
	</analytic>
	<monogr>
		<title level="m">Proceedings of the VLDB Endowment</title>
				<meeting>the VLDB Endowment</meeting>
		<imprint>
			<date type="published" when="2009">2009</date>
			<biblScope unit="volume">2</biblScope>
		</imprint>
	</monogr>
	<note>Privacy I</note>
</biblStruct>

<biblStruct xml:id="b35">
	<analytic>
		<title level="a" type="main">Pinocchio: Nearly practical verifiable computation</title>
		<author>
			<persName><forename type="first">B</forename><surname>Parno</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings -IEEE Symposium on Security and Privacy</title>
				<meeting>-IEEE Symposium on Security and Privacy</meeting>
		<imprint>
			<date type="published" when="2013">2013</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b36">
	<monogr>
		<author>
			<persName><forename type="first">S</forename><surname>Popejoy</surname></persName>
		</author>
		<ptr target="http://kadena.io" />
		<title level="m">The Pact Smart-Contract Language</title>
				<imprint>
			<date type="published" when="2017">2017</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b37">
	<analytic>
		<title level="a" type="main">Resolving the conflict between generality and plausibility in verified computation</title>
		<author>
			<persName><forename type="first">S</forename><surname>Setty</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 8th ACM European Conference on Computer Systems</title>
				<meeting>the 8th ACM European Conference on Computer Systems</meeting>
		<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="2013">2013</date>
			<biblScope unit="page" from="71" to="84" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b38">
	<analytic>
		<title level="a" type="main">Making argument systems for outsourced computation practical (sometimes)</title>
		<author>
			<persName><forename type="first">S</forename><surname>Setty</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Mcpherson</surname></persName>
		</author>
		<ptr target="http://www.cs.utexas.edu/pepper/pepper-ndss12.pdf" />
	</analytic>
	<monogr>
		<title level="j">NDSS</title>
		<imprint>
			<biblScope unit="volume">1</biblScope>
			<biblScope unit="issue">9</biblScope>
			<biblScope unit="page">17</biblScope>
			<date type="published" when="2012">2012</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b39">
	<monogr>
		<author>
			<persName><forename type="first">D</forename><surname>Siegel</surname></persName>
		</author>
		<ptr target="http://www.coindesk.com/understanding-dao-hack-journalists" />
		<title level="m">Understanding the DAO attack</title>
				<imprint>
			<date type="published" when="2016-09-02">2016. September 2, 2018</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b40">
	<monogr>
		<title level="m" type="main">Thoughts on The DAO hack</title>
		<author>
			<persName><forename type="first">E</forename><forename type="middle">G</forename><surname>Sirer</surname></persName>
		</author>
		<ptr target="http://hackingdistributed.com/2016/06/17/thoughts-on-the-dao-hack/" />
		<imprint>
			<date type="published" when="2016-09-08">2016. 2016. September 8, 2018</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b41">
	<monogr>
		<title level="m" type="main">A scalable verification solution for blockchains</title>
		<author>
			<persName><forename type="first">J</forename><surname>Teutsch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Reitwießner</surname></persName>
		</author>
		<ptr target="https://people.cs.uchicago.edu/~teutsch/papers/truebit.pdf" />
		<imprint>
			<date type="published" when="2017">2017</date>
			<biblScope unit="page">50</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b42">
	<analytic>
		<title level="a" type="main">Community, joining, and specialization in open source software innovation: A case study</title>
		<author>
			<persName><forename type="first">Von</forename><surname>Krogh</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Spaeth</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Lakhani</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><forename type="middle">R</forename></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Research policy</title>
		<imprint>
			<biblScope unit="volume">32</biblScope>
			<biblScope unit="issue">7</biblScope>
			<biblScope unit="page" from="1217" to="1241" />
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b43">
	<analytic>
		<title level="a" type="main">Full Accounting for Verifiable Outsourcing</title>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">S</forename><surname>Wahby</surname></persName>
		</author>
		<ptr target="http://dl.acm.org/citation.cfm?doid=3133956.3133984" />
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security -CCS &apos;17</title>
				<meeting>the 2017 ACM SIGSAC Conference on Computer and Communications Security -CCS &apos;17</meeting>
		<imprint>
			<date type="published" when="2017">2017</date>
			<biblScope unit="page" from="2071" to="2086" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b44">
	<analytic>
		<title level="a" type="main">Verifying computations without reexecuting them</title>
		<author>
			<persName><forename type="first">M</forename><surname>Walfish</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">J</forename><surname>Blumberg</surname></persName>
		</author>
		<ptr target="http://dl.acm.org/citation.cfm?doid=2728770.2641562" />
	</analytic>
	<monogr>
		<title level="j">Communications of the ACM</title>
		<imprint>
			<biblScope unit="volume">58</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="74" to="84" />
			<date type="published" when="2015">2015</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b45">
	<monogr>
		<title level="m" type="main">Ethereum: a secure decentralised generalised transaction ledger</title>
		<author>
			<persName><forename type="first">G</forename><surname>Wood</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2014">2014</date>
		</imprint>
	</monogr>
	<note type="report_type">Ethereum Project Yellow Paper</note>
</biblStruct>

<biblStruct xml:id="b46">
	<analytic>
		<title level="a" type="main">A Trust Model Based Routing Protocol for Secure Ad Hoc Networks</title>
		<author>
			<persName><forename type="first">Lyu</forename><surname>Xiaoqi</surname></persName>
		</author>
		<author>
			<persName><surname>Liu</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings. 2004 IEEE</title>
				<meeting>2004 IEEE</meeting>
		<imprint>
			<date type="published" when="2004-04">2004. 2004. April 2004</date>
			<biblScope unit="page" from="1286" to="1295" />
		</imprint>
	</monogr>
	<note>Aerospace Conference</note>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
