04.11.2014 Views

Great+Chain+of+Numbers+A+Guide+to+Smart+Contracts,+Smart+Property+and+Trustless+Asset+Management+-+Tim+Swanson

Great+Chain+of+Numbers+A+Guide+to+Smart+Contracts,+Smart+Property+and+Trustless+Asset+Management+-+Tim+Swanson

Great+Chain+of+Numbers+A+Guide+to+Smart+Contracts,+Smart+Property+and+Trustless+Asset+Management+-+Tim+Swanson

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Ethereum<br />

Another “2.0” project that is gaining traction is Ethereum, announced in January 2014 which brings<br />

together both a cryptoledger and a Turing-complete programming language. In short, a Turingcomplete<br />

programming language means that the language can be used to simulate any other computer<br />

language (not just its own). The original Bitcoin protocol and software implementation released in 2009<br />

included a language called Script that had many limitations (it was intentionally not Turing-complete)<br />

and as a consequence has largely been underutilized. As a consequence, developers have had to try and<br />

use these duct-taped exoskeleton wrappers to build on top of the protocol to enable new functionality.<br />

Many developers, including those with the Ethereum project, recognized this limitation and, rather than<br />

building and providing a specific feature set, will instead use a Turing-complete C-like language (CLL)<br />

that software developers can then use to build a cornucopia of tools, including any type of smart<br />

contract, asset management instrument or even a decentralized autonomous organization (DAO) that<br />

can then be automatically executed, controlled, and audited by the Ethereum ledger. 122 While its<br />

approach is one of the most holistic thus far, its long-term success still requires a critical mass, mindshare<br />

and the network effect.<br />

To find out more about Ethereum, I corresponded with Vitalik Buterin, head writer at Bitcoin Magazine<br />

and a lead developer on the Ethereum project. 123 Because of the all-encompassing abilities “2.0”<br />

projects are slated to have, it could be confusing for developers to determine on which platform to<br />

initially build their apps, but that may not be the only hurdle. In his view, “I would say the main<br />

challenge in the 2.0 space is going to be (1) building contracts, and (2) building interfaces. These have<br />

always been problems, of course, but up until now they have been eclipsed by other, larger, problems,<br />

like maintaining server infrastructure and scalability, ensuring security of funds, regulatory compliance<br />

and having banking relationships. With decentralized apps, most of those problems are gone, so the<br />

only two issues that still remain - contract design and interface design - are now at the forefront. The<br />

two problems can easily be handled separately; someone should be able to write a derivatives trading<br />

GUI and have that port over automatically to various systems inside of Ethereum, BitsharesX and<br />

whatever else people want to trade on.” 124<br />

Several other developers and investors I spoke with had similar sentiments: creating easy-to-use,<br />

intuitive interfaces for end-users would quickly set your product apart from the pack. While there have<br />

been many advances, especially for merchant plugins, backing up and securing wallets can be quite<br />

cumbersome and even a chore to handle at times, stunting wider-spread adoption. 125<br />

Buterin had previously worked on both the Colored Coins and Mastercoin project. While portable, both<br />

of these currently utilize the Bitcoin protocol, which has a couple of limitations. In Buterin’s view, “one<br />

of the key features of Bitcoin is that it has a concept of "simplified payment verification” (SPV), where a<br />

Bitcoin node can verify the validity of a transaction in the blockchain by only downloading the very small<br />

subset of data in the blockchain that is relevant to that particular transaction. Given that a "full" Bitcoin<br />

node now takes 14 GB of space to run, beyond the reach of many users, this mechanism has become an<br />

essential part of Bitcoin security. The problem with on-blockchain meta-protocols, however, is that they<br />

do not benefit from this protocol. The underlying Bitcoin layer has no way of knowing whether or not a<br />

given transaction is valid in the context of the meta-protocol, so the Bitcoin blockchain will include<br />

transactions that are both valid and invalid, and so the validity of a given meta-protocol transaction can<br />

only be calculated by recalculating the entire state of the protocol up until that point - requiring the full<br />

blockchain. Ethereum solves these issues by not being a meta-protocol, instead relying on an<br />

independent blockchain.”<br />

35

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!