Blockchain 2.0: Contracts - Blockchain: Blueprint for a New Economy (2015)

Blockchain: Blueprint for a New Economy (2015)

Chapter 2. Blockchain 2.0: Contracts

From its very beginning, complexity beyond currency and payments was envisioned for Bitcoin; the possibilities for programmable money and contracts were baked into the protocol at its invention. A 2010 communication from Satoshi Nakamoto indicates that “the design supports a tremendous variety of possible transaction types that I designed years ago. Escrow transactions, bonded contracts, third-party arbitration, multiparty signature, etc. If Bitcoin catches on in a big way, these are things we’ll want to explore in the future, but they all had to be designed at the beginning to make sure they would be possible later.”32 As we’ll see in Chapter 3, these structures could be applied beyond financial transactions, to any kind of transaction—even “figurative” ones. This is because the concepts and structure developed for Bitcoin are extremely portable and extensible.

Blockchain 2.0 is the next big tier in the development of the blockchain industry, an area of prodigious activity as of the fall of 2014.33 Because the Blockchain 2.0 space is in development, there are many different categories, distinctions, and understandings of it, and standard classifications and definitions are still emerging. Some of the terminology that broadly refers to the Blockchain 2.0 space can include Bitcoin 2.0, Bitcoin 2.0 protocols, smart contracts, smart property, Dapps (decentralized applications), DAOs (decentralized autonomous organizations), and DACs (decentralized autonomous corporations).

Whereas Blockchain 1.0 is for the decentralization of money and payments, Blockchain 2.0 is for the decentralization of markets more generally, and contemplates the transfer of many other kinds of assets beyond currency using the blockchain, from the creation of a unit of value through every time it is transferred or divided.

An approximate technological metaphor for Bitcoin is that it is analogous to the protocol stack of the Web. After the underlying Internet technology and infrastructure was in place, services could be built to run on top of it—Amazon, Netflix, and Airbnb—becoming increasingly sophisticated over time and always adding new ways to take advantage of the underlying technology. Blockchain 1.0 has been likened to the underlying TCP/IP transport layer of the Web, with the opportunity now available to build 2.0 protocols on top of it (as HTTP, SMTP, and FTP were in the Internet model). Blockchain 2.0 protocols either literally use the Bitcoin blockchain or create their own separate blockchains, but are in the same cryptocurrency decentralized technical architecture model of the three-layer stack: blockchain, protocol, and currency. However, it is important to note that these “new Internet plumbing layers” are very much still in development and any metaphor might become quickly outdated. These analogies might be like calling Chrome a “Napster 2.0,” or Facebook or AdBlock a “Web Browser 3.0.”

The key idea is that the decentralized transaction ledger functionality of the blockchain could be used to register, confirm, and transfer all manner of contracts and property. Table 2-1 lists some of the different classes and examples of property and contracts that might be transferred with the blockchain. Satoshi Nakamoto started by specifying escrow transactions, bonded contracts, third-party arbitration, and multiparty signature transactions. All financial transactions could be reinvented on the blockchain, including stock, private equity, crowdfunding instruments, bonds, mutual funds, annuities, pensions, and all manner of derivatives (futures, options, swaps, and other derivatives).

Class

Examples

General

Escrow transactions, bonded contracts, third-party arbitration, multiparty signature transactions

Financial transactions

Stock, private equity, crowdfunding, bonds, mutual funds, derivatives, annuities, pensions

Public records

Land and property titles, vehicle registrations, business licenses, marriage certificates, death certificates

Identification

Driver’s licenses, identity cards, passports, voter registrations

Private records

IOUs, loans, contracts, bets, signatures, wills, trusts, escrows

Attestation

Proof of insurance, proof of ownership, notarized documents

Physical asset keys

Home, hotel rooms, rental cars, automobile access

Intangible assets

Patents, trademarks, copyrights, reservations, domain names

Table 2-1. Blockchain applications beyond currency (adapted from the Ledra Capital Mega Master Blockchain List; see Appendix B)34

Public records, too, can be migrated to the blockchain: land and property titles, vehicle registrations, business licenses, marriage certificates, and death certificates. Digital identity can be confirmed with the blockchain through securely encoded driver’s licenses, identity cards, passports, and voter registrations. Private records such as IOUs, loans, contracts, bets, signatures, wills, trusts, and escrows can be stored. Attestation can be executed via the blockchain for proof of insurance, proof of ownership, and notarized documents. Physical asset keys (which is explored further inChapter 3) can be encoded as digital assets on the blockchain for controlled access to homes, hotel rooms, rental cars, and privately owned or shared-access automobiles (e.g., Getaround). Intangible assets (e.g., patents, trademarks, copyrights, reservations, and domain names) can also be protected and transferred via the blockchain. For example, to protect an idea, instead of trademarking it or patenting it, you could encode it to the blockchain and you would have proof of a specific cargo being registered with a specific datetime stamp for future proof (as is discussed in“Digital Art: Blockchain Attestation Services (Notary, Intellectual Property Protection)”).

Financial Services

A prime area for blockchain businesses is interfacing cryptocurrencies with traditional banking and financial markets. Venture capital–backed Ripple Labs is using blockchain technology to reinvent the banking ecosystem and allow traditional financial institutions to conduct their own business more efficiently. Ripple’s payment network lets banks transfer funds and foreign exchange transactions directly between themselves without a third-party intermediary, as is now required: “Regional banks can now move money bilaterally to other regional banks without having to relay those funds through an intermediary.”35 Ripple is also developing a smart contracts platform and language, Codius. Another potential symbiosis between the traditional banking industry and Bitcoin is exemplified by Spanish bank Bankinter’s Innovation Foundation investment inCoinffeine, a Bitcoin technology startup that aims to make it possible for end users to buy and sell Bitcoin directly without an exchange.36

Other businesses are also connecting Bitcoin to traditional financial and payments market solutions. PayPal is an instructive example because its development as a platform has parallels with Bitcoin, and it is on the Bitcoin adoption curve itself. PayPal was initially an innovative payments market solution outside of the traditional financial-services market, like Bitcoin, but has since become a more formal business within the regulated industry, collecting and validating detailed personal information about its customers. PayPal had been known for being on the edge of financial innovation, but it then became more corporate focused and lost the possibility of providing early market leadership with regard to Bitcoin. Now, PayPal has been incorporating Bitcoin slowly, as of September 2014 announcing partnerships with three major Bitcoin payment processors: BitPay, Coinbase, and GoCoin.37 Also in September 2014, Paypal’s Braintree unit (acquired in 2013), a mobile payments provider, is apparently working on a feature with which customers can pay for Airbnb rentals and Uber car rides with Bitcoin.38

In the same area of regulation-compliant Bitcoin complements to traditional financial services is the notion of a “Bitbank.” Bitcoin exchange Kraken has partnered with a bank to provide regulated financial services involving Bitcoin.39 There is a clear need for an analog to and innovation around traditional financial products and services for Bitcoin—for example, Bitcoin savings accounts and lending (perhaps through user-selected rules regarding fractional reserve levels). BTCjam is an example of such decentralized blockchain-based peer-to-peer lending. Tera Exchangelaunched the first US-regulated Bitcoin swaps exchange, which could make it possible for institutional and individual investors to buy Bitcoin contracts directly through its online trading platforms. Part of the offering includes an institutional Bitcoin price index, the Tera Bitcoin Price Index, to be used as the benchmark for trading USD/XBT contracts.40 In the same space, startup Vaurum is building an API for financial institutions to offer traditional brokerage investors and bank customers access to Bitcoin. Another project is startup Buttercoin, a Bitcoin trading platform and exchange for high-volume transactions (200,000–500,000 Bitcoin, or $70–$175 million), targeted at a business clientele who has a need to complete large-scale Bitcoin transactions.41 Buttercoin is partnered with capital markets firm Wedbush Securities, itself one of the first security analysts to cover Bitcoin and accept Bitcoin payments for its research.

Other ventures are more radically positioned against artificial unregulated monopolies in the current stock trading market infrastructure, like the Depository Trust Company and the National Securities Clearing Corporation, or DTCC, which is involved in the clearing and settlement of securities. Overstock CEO Patrick Byrne and Counterparty created a new venture, Medici, announced in October 2014, to provide a decentralized stock market for equity securities in the blockchain model.42

Crowdfunding

Another prime example of how financial services are being reinvented with blockchain-based decentralized models is crowdfunding. The idea is that peer-to-peer fundraising models such as Kickstarter can supplant the need for traditional venture capital funding for startups. Where previously a centralized service like Kickstarter or Indiegogo was needed to enable a crowdfunding campaign, crowdfunding platforms powered by blockchain technology remove the need for an intermediary third party. Blockchain-based crowdfunding platforms make it possible for startups to raise funds by creating their own digital currencies and selling “cryptographic shares” to early backers. Investors in a crowdfunding campaign receive tokens that represent shares of the startup they support.43

Some of the leading cryptocurrency crowdfunding platforms include Swarm, an incubator of digital currency–focused startups that raised $1 million in its own crowdfunding, completed in July 2014.44 Holding the company’s own cryptocurrency, Swarmcoin, gives investors rights to the dividends from the startups in the incubator’s portfolio.45 Swarm has five projects comprising its first class of funded applications: Manna, a developer of smart personal drone networks; Coinspace, an operator of a decentralized cryptocurrency workplace; Swarmops, a decentralized organizational management software platform; Judobaby, a decentralized gaming platform; and DDP, a decentralized dance-party entertainment concept.46 Another crowdfunding platform is Koinify, whose one project so far is the Gems decentralized social network. Koinify is linked with the Melotic wallet/asset exchange platform to curate a decentralized application marketplace.47 Ironically, or perhaps as a sign of the symbiotic times, Koinify raised $1 million in traditional venture capital finance to start its crowdfunding platform.48 Another project is Lighthouse, which aims to enable its users to run crowdfunding or assurance contracts directly from within a Bitcoin wallet. In Japan, a Bitcoin crowdfunding site, bitFlyer, has launched as part of the general crowdfunding site fundFlyer.49

Crowdfunding is a high-profile topic at Bitcoin industry conferences, and experts argue over its legality. Opponents complain that there is currently no legal way to do crowdfunding whereby one actually owns shares in the underlying organization, and there may be different ways in which crowdfunding violates securities laws. The workaround offered by crowdfunding platforms like Swarm and Koinify, as well as one-off crowdfundings like Ethereum is to sell nonshare items, such as early access to software. However, this is somewhat disingenuous because in many cases the marketing still looks a lot like selling shares. The result is that there can be de facto investors in cryptocurrency projects who are not getting much more than early access to open source software. A better way to crowdfund cryptocurrency projects in a decentralized yet legal way, with more effective checks and balances, is needed.

Bitcoin Prediction Markets

One example of new tech with old tech is Bitcoin prediction markets like Predictious and Fairlay.50 Bitcoin prediction markets offer a betting venue for the usual real-world outcomes as prediction markets always have, such as elections, political legislation, sports matches, and technology product releases, and also serve as a good source of information about the developing blockchain industry. Bitcoin prediction markets are one way to see what insiders think about Bitcoin’s future price directions, the success of different altcoin and protocol 2.0 projects, and industry issues more generally (e.g., technical development issues with Bitcoin, such as when there will be a hard fork—significant change—of the code, and the level of difficulty of the mining algorithm).

Smart Property

The blockchain can be used for any form of asset registry, inventory, and exchange, including every area of finance, economics, and money; hard assets (physical property); and intangible assets (votes, ideas, reputation, intention, health data, and information). Using blockchain technology this way opens up multiple classes of application functionality across all segments of businesses involved in money, markets, and financial transactions. Blockchain-encoded property becomes smart property that is transactable via smart contracts.

The general concept of smart property is the notion of transacting all property in blockchain-based models. Property could be physical-world hard assets like a home, car, bicycle, or computer, or intangible assets such as stock shares, reservations, or copyrights (e.g., books, music, illustrations, and digital fine art). An example of using the blockchain to control and transfer limited-run artworks is Swancoin, where 121 physical-world artworks, crafted on 30 × 30 cm varnished plywood, are available for purchase and transfer via the Bitcoin blockchain (see Figure 2-1).51Any asset can be registered in the blockchain, and thus its ownership can be controlled by whoever has the private key. The owner can then sell the asset by transferring the private key to another party. Smart property, then, is property whose ownership is controlled via the blockchain, using contracts subject to existing law. For example, a pre-established smart contract could automatically transfer the ownership of a vehicle title from the financing company to the individual owner when all the loan payments have been made (as automatically confirmed by other blockchain-based smart contracts). Similarly, mortgage interest rates could reset automatically per another blockchain-based smart contract checking a prespecified and contract-encoded website or data element for obtaining the interest rate on certain future days.

Swancoin: Limited-circulation digital asset artwork (image credit: http://swancoin.tumblr.com/)

Figure 2-1. Swancoin: limited-circulation digital asset artwork (image credit: http://swancoin.tumblr.com/)

The key idea of smart property is controlling ownership and access to an asset by having it registered as a digital asset on the blockchain and having access to the private key. In some cases, physical-world hard assets could quite literally be controlled with the blockchain. Smartphones could unlock upon reaffirming a user’s digital identity encoded in the blockchain. The doors of physical property such as vehicles and homes could be “smartmatter”-enabled through embedded technology (e.g., software code, sensors, QR codes, NFC tags, iBeacons, WiFi access, etc.) so that access could be controlled in real time as users seeking entry present their own hardware or software token to match that of the asset. Absent preconfigured access tokens, when the user submits a real-time access request, the blockchain smart contract could send an acknowledgment or token access mechanism to the physical asset or user ewallet, such as a one-use QR code to open a rental car or hotel room. Blockchain technology offers the ability to reinvent identity authentication and secure access in ways that are much more granular, flexible, and oriented to real-time demand than are currently possible, elegantly integrating physical-world hardware technologies with digital Internet-based software technologies.52

Smart property transacted with blockchains is a completely new kind of concept. We are not used to having cryptographically defined property rights that are self-enforced by code. The code is self-enforced by the technical infrastructure in the sense that it is bound to operate based on the underlying code and cannot deviate. A property transfer specified in the code cannot but occur as encoded. Blockchain-based smart property thus contemplates the possibility of widespread decentralized trustless asset management systems as well as cryptographically activated assets. There could be widespread implications for the entire field of property law—or great simplifications in that property ownership can be recorded on the property itself:

Trustless lending

The trustless networks feature of blockchain technology is a key enabler in the context of smart property and smart contracts. Making property smart allows it to be traded with much less trust. This reduces fraud and mediation fees, but more importantly affords a much greater amount of trade to take place that otherwise would never have happened, because parties do not need to know and trust each other. For example, it makes it possible for strangers to lend you money over the Internet, taking your smart property as collateral, which should make lending more competitive and thus credit cheaper.53 Further, there is the possibility that smart contracts executed in trustless networks could result in much less disputation. Contract disputes in the United States (44%) and United Kingdom (57%) account for the largest type of litigation, and might be avoided with more precision at the time of setting forth agreements, and with automated enforcement mechanisms.54 Related to this, as cryptocurrency visionary and smart contracts legal theorist Nick Szabo points out, is the general problem of poor (i.e., irrational) human decision making, which might be improved with automated mechanisms like smart contracts.

Colored coins

One of the first implementations of smart property on the blockchain is colored coins. Certain Bitcoins are “colored” or “tagged” as corresponding to a particular asset or issuer via the transaction memo field in a Bitcoin transaction. The idea is similar to giving someone a dollar bill with an IOU for another property asset (e.g., a car) written on it. Thus, certain Bitcoins encode some other asset that can be securely transacted with the blockchain. This model still requires some trust—in this case, that the asset called out in the memo field will be deployed as agreed. Consequently, colored coins are intended for use within a certain community, serving as loyalty points or tokens to denote a range of physical and digital goods and services. The basic idea is that colored coins are Bitcoins marked with certain properties to reflect certain digital or physical assets so that more complex transactions can be carried out with the blockchain. The transactions could be asset exchange, and also the conduct of various activities within communities, such as voting, tipping, and commenting in forums.55

Smart Contracts

A general sense of blockchain-based smart contracts emerges from the smart property discussion. In the blockchain context, contracts or smart contracts mean blockchain transactions that go beyond simple buy/sell currency transactions, and may have more extensive instructions embedded into them. In a more formal definition, a contract is a method of using Bitcoin to form agreements with people via the blockchain. A contract in the traditional sense is an agreement between two or more parties to do or not do something in exchange for something else. Each party must trust the other party to fulfill its side of the obligation. Smart contracts feature the same kind of agreement to act or not act, but they remove the need for one type of trust between parties. This is because a smart contract is both defined by the code and executed (or enforced) by the code, automatically without discretion. In fact, three elements of smart contracts that make them distinct are autonomy, self-sufficiency, and decentralization. Autonomy means that after it is launched and running, a contract and its initiating agent need not be in further contact. Second, smart contracts might be self-sufficient in their ability to marshal resources—that is, raising funds by providing services or issuing equity, and spending them on needed resources, such as processing power or storage. Third, smart contracts are decentralized in that they do not subsist on a single centralized server; they are distributed and self-executing across network nodes.56

The classic example used to demonstrate smart contracts in the form of code executing automatically is a vending machine. Unlike a person, a vending machine behaves algorithmically; the same instruction set will be followed every time in every case. When you deposit money and make a selection, the item is released. There is no possibility of the machine not feeling like complying with the contract today, or only partially complying (as long as it is not broken). A smart contract similarly cannot help but execute the prespecified code. As Lessig reminds us, “code is law” in the sense that the code will execute no matter what. This could be good or bad depending on the situation; either way, it is a new kind of situation in society that will require a heavy accommodation period if blockchain-based smart contracts are to become widespread.

There are many considerations raised by smart contracts and systems of cryptographically activated assets with regard to whether we need a new body of law and regulation that distinguishes between technically binding code contracts and our more flexible legally binding human contracts.57Contract compliance or breach is at the discretion of human agents in a way that it is not with blockchain-based or any kind of code-based contracts. Further, smart contracts impact not just contract law, but more broadly the notion of the social contract within society. We need to determine and define what kinds of social contracts we would like with “code law,” automatically and potentially unstoppably executing code. Because it could be nearly impossible to enforce smart contracts with law as currently enacted (for example, a decentralized code swatch running after the fact is difficult to control, regulate, or sue for damages), the legal framework is essentially pushed down to the level of the contract. The endpoint is not lawlessness and anarchy, but that legal frameworks become more granular and personalized to the situation. Parties agreeing to the contract could choose a legal framework to be incorporated into the code. There could be multiple known, vetted, “canned” legal frameworks, similar to Creative Commons licenses, such that users pick a legal framework as a feature of a smart contract. Thus, there could be a multiplicity of legal frameworks, just as there could be a multiplicity of currencies.

Contracts do not make anything possible that was previously impossible; rather, they allow common problems to be solved in a way that minimizes the need for trust. Minimal trust often makes things more convenient by taking human judgment out of the equation, thus allowing complete automation. An example of a basic smart contract on the blockchain is an inheritance gift that becomes available on either the grandchild’s eighteenth birthday or the grandparent’s day of death. A transaction can be created that sits on the blockchain and goes uninitiated until certain future events are triggered, either a certain time or event. To set up the first condition—the grandchild receiving the inheritance at age 18—the program sets the date on which to initiate the transaction, which includes checking if the transaction has already been executed. To set up the second condition, a program can be written that scans an online death registry database, prespecified online newspaper obituaries, or some other kind of information “oracle” to certify that the grandparent has died. When the smart contract confirms the death, it can automatically send the funds.58The Daniel Suarez science-fiction book Daemon implements exactly these kinds of smart contracts that are effected upon a character’s death.

Another use case for smart contracts is setting up automatic payments for betting (like limit orders in financial markets). A program or smart contract can be written that releases a payment when a specific value of a certain exchange good is triggered or when something transpires in the real world (e.g., a news event of some sort, or the winner of a sports match). Smart contracts could also be deployed in pledge systems like Kickstarter. Individuals make online pledges that are encoded in a blockchain, and if the entrepreneur’s fundraising goal is reached, only then will the Bitcoin funds be released from the investor wallets. No transaction is released until all funds are received. Further, the entrepreneur’s budget, spending, and burn rate could be tracked by the subsequent outflow transactions from the blockchain address that received the fundraising.

Blockchain 2.0 Protocol Projects

There are many next-generation blockchain technology development projects that can be very loosely gathered under the header of Blockchain 2.0 protocol projects (Table 2-2), although this label is not perfect. The intent of Table 2-2 is to list some of the current high-profile projects, not to get into the descriptive details of how the projects differ technically or conceptually.

Bitcoin 2.0 project name and URL

Project description

Technical note

Ripple
https://ripple.com/

Gateway, payment, exchange, remittance network; smart contract system: Codius

Separate blockchain

Counterparty
https://www.counterparty.co/

Overlay protocol for currency issuance and exchange

Bitcoin blockchain overlay

Ethereum
http://ethereum.org/

General-purpose Turing-complete cryptocurrency platform

Own blockchain, Ethereum virtual machine

Mastercoin
http://www.mastercoin.org/

Financial derivatives

Bitcoin blockchain overlay

NXT
http://www.nxtcommunity.org/

Altcoin mined with proof-of-stake consensus model

Bitcoin blockchain overlay

Open Transactions
http://opentransactions.org/

Untraceable anonymous, no latency transactions

No blockchain; transactions library

BitShares
http://bitshares.org/

Decentralized crypto-equity share exchange

Separate blockchain

Open Assets
https://github.com/OpenAssets

Colored coin issuance and wallet

Bitcoin blockchain overlay

Colored Coins
http://coloredcoins.org/

Bitcoin asset marking for digital/physical assets

Bitcoin blockchain overlay

Table 2-2. Sample list of Blockchain 2.0 projects (extended from Piotr Piaseki, http://bit.ly/crypto_2_0_comp)

Wallet Development Projects

Perhaps the primary category of applications being built atop blockchain protocols is wallets. Wallets are obviously a core infrastructural element for cryptocurrencies, because they are the mechanism for the secure holding and transfer of Bitcoin and any cryptographic asset. Table 2-3 lists some of the different wallet projects and companies in development, with their name and URL and the underlying platform upon which they are built.

Project name

URL

Underlying infrastructure

Wallet projects

ChromaWallet

http://chromawallet.com/

Open Assets

CoinSpark

http://coinspark.org/

Open Assets

Counterwallet

https://counterwallet.io/

Counterparty

Wallet companies

Coinprism

https://www.coinprism.com/

Open Assets

Melotic

https://www.melotic.com/

Ability to trade curated digital assets (e.g., Storjcoin, LTBCoin) with Bitcoin

OneWallet

https://www.onewallet.io

Bitcoin marketplace and wallet

Table 2-3. Sample list of cryptocurrency wallet projects

Blockchain Development Platforms and APIs

In addition to Blockchain 2.0 protocol projects, there are several developer platform companies and projects offering tools to facilitate application development. Blockchain.info has a number of APIs for working with its ewallet software (it’s one of the largest ewallet providers) to make and receive payments and engage in other operations. Chain has interfaces to make calls to the data available in full blockchain nodes, and standard information queries such as the Bitcoin balances by address and push notifications when there is activity with a certain address. Stellar is asemidecentralized (maintained by gateway institutions, not miners) public ledger platform and unified development environment (blockchain APIs, multisig APIs) linked to the Stripe payment network.59 Related to Stellar are Block.io, Gem, and BlockCypher, which have multisig wallet APIs.

More unified API development environments will be needed that include the many diverse and growing parts of the blockchain ecosystem (storage, file serving, messaging, wallet interactions, mobile payments, identity confirmation, and reputation). There is also an opportunity to link blockchain development environments out to other major segments like the machine-to-machine (M2M) communication and Internet-of-Things (IoT) networks infrastructure for rapid application development. An example of an advanced integrated application of this kind envisioned for the farther future could be a smartwatch that can interact with smart-city traffic-sensor data to automatically reserve and pay for lane space with a Bitcoin-denominated smart contract.

Blockchain Ecosystem: Decentralized Storage, Communication, and Computation

There is a need for a decentralized ecosystem surrounding the blockchain itself for full-solution operations. The blockchain is the decentralized transaction ledger that is part of a larger computing infrastructure that must also include many other functions such as storage, communication, file serving, and archiving. Specific projects that are developing solutions for the distributed blockchain ecosystem include Storj for any sort of file storage (text, images, audio, multimedia); IPFS for file serving, link maintenance, and storage; and Maidsafe and Ethereum for storage, communication, and file serving. First, in terms of storage, perhaps the most obvious need is for secure, decentralized, off-chain storage for files such as an electronic medical record (EMR) or genome, or even any simple Microsoft Word document, which would not be packed into the 40-byte (40-character) OP_RETURN field used for transaction annotation (even in the case of Florincoin’s 528-character annotation field). File storage could either be centralized (like Dropbox or Google Drive) or could be in the same decentralized architecture as the blockchain. The blockchain transaction that registers the asset can include a pointer and access method and privileges for the off-chain stored file.

Second, in the case of file serving, the IPFS project has proposed an interesting technique for decentralized secure file serving. IPFS stands for InterPlanetary File System, which refers to the need for a global and permanently accessible filesystem to resolve the problem of broken website links to files, well beyond the context of blockchain technology for the overall functionality of the Internet. Here, BitTorrent peer-to-peer file-sharing technology has been merged with the tree and versioning functionality of Git (initially applied to software but “confirmable versioning” as a concept being more widely applicable to any digital asset). IPFS, then, is a global, versioned, peer-to-peer filesystem, a system for requesting and serving a file from any of the multiple places it might exist on the Web (versus having to rely on a central repository) per a hash (unique code) that confirms the file’s integrity by checking that spam and viruses are not in the file.60 IPFS is congruent with the Bitcoin technical architecture and ethos, rewarding file-sharing nodes with Filecoin.

Third, in the area of archiving, a full ecosystem would also necessarily include longevity provisioning and end-of-product-life planning for blockchains. It cannot be assumed that blockchains will exist over time, and their preservation and accessibility is not trivial. A blockchain archival system like the Internet Archive and the Wayback Machine to store blockchains is needed. Not only must blockchain ledger transactions be preserved, but we also need a means of recovering and controlling previously recorded blockchain assets at later dates (that might have been hashed with proprietary algorithms) because it is likely that certain blockchains will go out of business. For example, it is great that someone established proof-of-existence of her will on the Bitcoin blockchain in 2014, but how can we know that the will can be rehashed and authenticated in 60 years when it needs to be verified? If blockchains are to become the lingua franca archival mechanism for the whole of a society’s documents, longevity, preservation, and access mechanisms need to be built into the value chain explicitly. Further, the existence of these kinds of tools—those that archive out-of-use blockchains and consider the full product lifecycle of the blockchain—could help to spur mainstream adoption.

Ethereum: Turing-Complete Virtual Machine

Blockchain technology is bringing together concepts and operations from several fields, including computing, communications networks, cryptography, and artificial intelligence. In Satoshi Nakamoto’s original plan, there were three steps, only two of which have been implemented in Bitcoin 1.0. These are the blockchain (the decentralized public transaction ledger) and the Bitcoin protocol (the transaction system to move value between parties without third-party interaction). This has been fine for the Blockchain 1.0 implementation of currency and payment transactions, but for the more complicated tier of Blockchain 2.0 applications such as the recording and transfer of more complex assets like smart property and smart contracts, we need the third step—a more robust scripting system—and ultimately, Turing completeness (the ability to run any coin, protocol, or blockchain). Nakamoto envisioned not just sending money from point A to point B, but having programmable money and a full feature set to enable it. One blockchain infrastructure project aiming to deliver a Turing-complete scripting language and Turing-complete platform is Ethereum.

Ethereum is a platform and a programming language for building and publishing distributed applications. More fundamentally, Ethereum is a foundational general-purpose cryptocurrency platform that is a Turing-complete virtual machine (meaning that it can run any coin, script, or cryptocurrency project). Rather than being a blockchain, or a protocol running over a blockchain, or a metaprotocol running over a protocol like other projects, Ethereum is a fundamental underlying infrastructure platform that can run all blockchains and protocols, rather like a unified universal development platform. Each full node in the Ethereum network runs the Ethereum Virtual Machine for seamless distributed program (smart contract) execution. Ethereum is the underlying blockchain-agnostic, protocol-agnostic platform for application development to write smart contracts that can call multiple other blockchains, protocols, and cryptocurrencies. Ethereum has its own distributed ecosystem, which is envisioned to include file serving, messaging, and reputation vouching. The first component is Swarm (“Ethereum-Swarm,” not to be confused with the crowdfunding site Swarm) as a decentralized file-serving method. A second component is Whisper (“Ethereum-Whisper,” also not to be confused with other similarly named projects), which is a peer-to-peer protocol for secret messaging and digital cryptography. A third component is a reputation system, a way to establish reputation and reduce risk between agents in trustless networks, possibly provided by TrustDavis,61 or ideas developed in a hackathon project, Crypto Schwartz.62

Counterparty Re-creates Ethereum’s Smart Contract Platform

In November 2014, Counterparty announced that it had ported the open source Ethereum programming language onto its own platform.63 The implication was that Counterparty re-created Ethereum on the existing blockchain standard, Bitcoin, so that these kinds of smart contracts might be available now, without waiting for the launch (and mining operation) of Ethereum’s own blockchain, expected in the first quarter of 2015 as of November 2014.

The announcement was a sign of the dynamism in the space and the rapid innovation that open source software enables (like most blockchain industry projects, both Ethereum and Counterparty’s software is all open source). Any individual or any other project can freely examine and work with the code of other projects and bring it into their own implementations. This is the whole proposition of open source software. It means that good ideas can take seed more rapidly, become standardized through iteration, and be improved through the scrutiny and contributions of others. Ethereum and Counterparty both have deep visions for the future architecture of blockchain technology and decentralization, and establishing the infrastructural layers early in the process can help everyone progress to the next levels.64 Given the functionality fungibility across some of the many protocols and platforms in the blockchain industry, perhaps the biggest question is what kinds of value-added services will be built atop these infrastructural layers; that is, what is the Netscape, Amazon, and Uber of the future?

Dapps, DAOs, DACs, and DASs: Increasingly Autonomous Smart Contracts

We can now see a progression trajectory. The first classes of blockchain applications are currency transactions; then all manner of financial transactions; then smart property, which instantiates all hard assets (house, car) and soft assets (IP) as digital assets; then government document registries, legal attestation, notary, and IP services; and finally, smart contracts that can invoke all of these digital asset types. Over time, smart contracts could become extremely complex and autonomous. Dapps, DAOs, DACs, DASs, automatic markets, and tradenets are some of the more intricate concepts being envisioned for later-stage blockchain deployments. Keeping the description here at a summary level, the general idea is that with smart contracts (Blockchain 2.0; more complex transactions than those related to payments and currency transfer), there could be an increasing progression in the autonomy by which smart contracts operate. The simplest smart contract might be a bet between two parties about the maximum temperature tomorrow. Tomorrow, the contract could be automatically completed by a software program checking the official temperature reading (from a prespecified external source or oracle (in this example, perhaps Weather.com), and transferring the Bitcoin amount held in escrow from the loser to the winner’s account.

Dapps

Dapps, DAOs, DACs, and DASs are abbreviated terms for decentralized applications, decentralized autonomous organizations, decentralized autonomous corporations, and decentralized autonomous societies, respectively. Essentially this group connotes a potential progression to increasingly complex and automated smart contracts that become more like self-contained entities, conducting preprogrammed and eventually self-programmed operations linked to a blockchain. In some sense the whole wave of Blockchain 2.0 protocols is Dapps (distributed applications), as is Blockchain 1.0 (the blockchain is a Dapp that maintains a public transaction ledger). Different parties have different definitions of what constitutes a Dapp. For example, Ethereum defines a smart contract/Dapp as a transaction protocol that executes the terms of a contract or group of contracts on a cryptographic blockchain.65

Our working definition of a Dapp is an application that runs on a network in a distributed fashion with participant information securely (and possibly pseudonymously) protected and operation execution decentralized across network nodes. Some current examples are listed in Table 2-4. There is OpenBazaar (a decentralized Craigslist), LaZooz (a decentralized Uber), Twister (a decentralized Twitter), Bitmessage (decentralized SMS), and Storj (decentralized file storage).

Project name and URL

Activity

Centralized equivalent

OpenBazaar
https://openbazaar.org/

Buy/sell items in local physical world

Craigslist

LaZooz
http://lazooz.org/

Ridesharing, including Zooz, a proof-of-movement coin

Uber

Twister
http://twister.net.co/

Social networking, peer-to-peer microblogging66

Twitter/Facebook

Gems
http://getgems.org/

Social networking, token-based social messaging

Twitter/SMS

Bitmessage
https://bitmessage.org

Secure messaging (individual or broadcast)

SMS services

Storj
http://storj.io/

File storage

Dropbox

Swarm
https://www.swarm.co/
Koinify
https://koinify.com/
bitFlyer
http://fundflyer.bitflyer.jp/

Cryptocurrency crowdfunding platforms

Kickstarter, Indiegogo
venture capital funding

Table 2-4. Sample list of Dapps

In a collaborative white paper, another group offers a stronger-form definition of a Dapp.67 In their view, the Dapp must have three features. First, the application must be completely open source, operate autonomously with no entity controlling the majority of its tokens, and its data and records of operation must be cryptographically stored in a public, decentralized blockchain. Second, the application must generate tokens according to a standard algorithm or set of criteria and possibly distribute some or all of its tokens at the beginning of its operation. These tokens must be necessary for the use of the application, and any contribution from users should be rewarded by payment in the application’s tokens. Third, the application may adapt its protocol in response to proposed improvements and market feedback, but all changes must be decided by majority consensus of its users. Overall, however, at present every blockchain project may have a slightly different idea of the exact technicalities of what the term decentralized application comprises.

DAOs and DACs

A DAO (decentralized autonomous organization) is a more complex form of a decentralized application. To become an organization more formally, a Dapp might adopt more complicated functionality such as a constitution, which would outline its governance publicly on the blockchain, and a mechanism for financing its operations such as issuing equity in a crowdfunding. DAOs/DACs (decentralized autonomous organizations/corporations) are a concept derived from artificial intelligence. Here, a decentralized network of autonomous agents perform tasks, which can be conceived in the model of a corporation running without any human involvement under the control of a set of business rules.68 In a DAO/DAC, there are smart contracts as agents running on blockchains that execute ranges of prespecified or preapproved tasks based on events and changing conditions.69 Not only would groups of smart contracts operating on the blockchain start to instantiate the model of an autonomous corporation, but the functions and operation of real physical-world businesses could be reconceived on the blockchain, as well. As Bitcoin currency transactions reinvent and make the remittances market more efficient, DAOs and DACs could do the same for businesses. A remittance operator might have many costs associated with physical plant and locational jurisdiction, and so, too, do businesses, with local jurisdictional compliance such as business licensing, registration, insurance, and taxation at many municipal and regulatory levels. Perhaps some of these functions could be reinvented in a more efficient way or eliminated when moved to the blockchain, and every business could be truly global. Cloud-based, blockchain-based autonomous business entities running via smart contract could then electronically contract with compliance entities like governments to self-register in any jurisdictions in which they wanted to operate. Every business could be a general universal business first, and a jurisdictional business later when better decisions can be made about jurisdictions. The same could be true for individuals as general humans first, and citizens on demand later.

One example of the DAO/DAC concept in terms of automated smart contract operation is Storj. As previously mentioned, Storj is a decentralized cloud storage platform that completed a $461,802 crowdfunding in August 2014.70 Storj uses the Bitcoin blockchain technology and peer-to-peer protocols to provide secure, private, and encrypted cloud storage. There are two apps, DriveShare and MetaDisk, which respectively enable users to rent out their unused hard disk space and store their files on the Storj network. Purported methods for safely sharing unused hard disk space have been developed by other community computing models like Folding@Home and BOINC, whose software is used by SETI@Home. Of course, as with any distributed project that involves opening your computer to others’ use, caveat emptor applies, and participants in Storj or any similar project should satisfactorily inform themselves of the security details. Storj’s altcoin token, Storjcoin X (SJCX), is a cryptocurrency that runs on the Counterparty protocol. The currency is used to purchase space on the Storj network via Metadisk and compensate network DriveShare storage providers. Storj is seen as a decentralized alternative to storage providers like Dropbox or Google; the company estimates that customers overpay for data storage by a factor of 10 to 100, and that blockchain methods could provide cheaper, more secure, and decentralized data storage.71

DASs and Self-Bootstrapped Organizations

Eventually there could be DASs (decentralized autonomous societies)—essentially fleets of smart contracts, or entire ecosystems of Dapps, DAOs, and DACs operating autonomously. An interesting concept related to intellectual property and new ideas is the “self-bootstrapped organization.”72 This is a new business idea arising from the blockchain or via a person, in which the project idea spins out to become a standalone entity with some standardized smart-contract, self-bootstrapping software to crowdfund itself based on a mission statement; operate; pay dividends or other remuneration back to crowdfunding investors; receive feedback (automated or orchestrated) through blockchain prediction markets and decentralized blockchain voting; and eventually dissolve or have periodic confirmation-of-instantiation votes (similar to business relationship contracts evergreening or calling for periodic reevaluations). Automatic dissolution or reevaluation clauses could be critical in avoiding situations like those described in Daniel Suarez’s science-fiction books Daemon and Freedom, in which the world economy ends up radically transformed by the smart-contract type agents inexorably following their programmed code.

Automatic Markets and Tradenets

An automatic market is the idea that unitized, packetized, quantized resources (initially like electricity, gas, bandwidth, and in the deeply speculative future, units of synaptic potentiation in brains) are automatically transacted based on dynamically evolving conditions and preprogrammed user profiles, permissions, and bidding functions.73 Algorithmic stock market trading and real-time bidding (RTB) advertising networks are the closest existing examples of automatic markets. In the future, automatic markets could be applied in the sense of having limit orders and program trading for physical-world resource allocation. Truly smart grids (e.g., energy, highway, and traffic grids) could have automatic bidding functions on both the cost and revenue side of their operations—for both inputs (resources) and outputs (customers) and participation in automatic clearing mechanisms. A related concept is tradenets: in the future there could be self-operating, self-owned assets like a self-driving, self-owning car.74 Self-directing assets would employ themselves for trade based on being continuously connected to information from the Internet to be able to assess dynamic demand for themselves, contract with potential customers like Uber does now, hedge against oil price increases with their own predictive resource planning, and ultimately self-retire at the end of their useful life—in short, executing all aspects of autonomous self-operation. Tradenets could even have embedded, automatically executing smart contracts to trigger the building of new transportation pods based on signals of population growth, demand, and business plan validity.

The Blockchain as a Path to Artificial Intelligence

We should think of smart contracts as applications that can themselves be decentralized, autonomous, and pseudonymously running on the blockchain. Thus, the blockchain could be one potential path to artificial intelligence (AI) in the sense that smart-contract platforms are being designed to run at graduated stages of increasing automation, autonomy, and complexity. With Dapps, DAOs, DACs, and DASs, there could be many interesting new kinds of emergent and complex AI-like behavior. One possible path is bringing existing non-AI and non-blockchain rule-based systems onto the blockchain to further automate and empower their operations. This could include systems like chaining together simple if-this-then-that (or IFTTT) behavior and the open source Huginn platform for building agents that monitor situations and act on your behalf. A second possible path is implementing programmatic ideas from AI research fields such as Wolfram’s cellular automata, Conway’s Game of Life, Dorigo’s Ant Colony Optimization and Swarm Intelligence, Andy Clark’s embodied cognitive robots, and other general agent-based systems.