Since I am completely powerless to resist stories about Dogecoin: http://www.coindesk.com/dogecoin-is-the-joke-that-wouldnt-die-finally-dying/
After we understand the basic concept of the blockchain – an ever-growing ledger of transactions that each refer back to and thus confirm the previous transaction – we can discuss why the Bitcoin blockchain cannot be used as a global computer. Vitalik goes into a lot of detail in his original whitepaper, but it boils down to this: It was not built for it. It is built to be a digital currency.
How does the Ethereum blockchain differ from the Bitcoin blockchain? While the Bitcoin blockchain contains a long list of UTXO (unspent transactions, essentially many many different wallets with Bitcoin in them), the Ethereum blockchain contains accounts. Each account has four fields:
- The nonce, a counter used to make sure each transaction can only be processed once
- The account’s current ether balance
- The account’s contract code, if present
- The account’s storage (empty by default)
“Ether” is the main internal crypto-fuel of Ethereum, and is used to pay transaction fees. In general, there are two types of accounts: externally owned accounts, controlled by private keys, and contract accounts, controlled by their contract code.
Ethereum processes transactions, which in turn contain messages:
“Messages” in Ethereum are somewhat similar to “transactions” in Bitcoin, but with three important differences. First, an Ethereum message can be created either by an external entity or a contract, whereas a Bitcoin transaction can only be created externally. Second, there is an explicit option for Ethereum messages to contain data. Finally, the recipient of an Ethereum message, if it is a contract account, has the option to return a response; this means that Ethereum messages also encompass the concept of functions.
The term “transaction” is used in Ethereum to refer to the signed data package that stores a message to be sent from an externally owned account. Transactions contain the recipient of the message, a signature identifying the sender, the amount of ether and the data to send, as well as two values called STARTGAS and GASPRICE.
Simply put, Ethereum uses the same underlying technology as Bitcoin (the blockchain), but instead of providing the world with a digital currency, it provides the world with a global computer:
What Ethereum intends to provide is a blockchain with a built-in fully fledged Turing-complete programming language that can be used to create “contracts” that can be used to encode arbitrary state transition functions, allowing the users to create [any system capable of running on a computer], simply by writing up the logic in a few lines of code.
(From the original Ethereum whitepaper by Vitalik Buterin.)
The first concept to understand is the underlying blockchain technology, which powers Bitcoin and the wide array of altcoins:
Suppose Alice wants to send 11.7 BTC to Bob. First, Alice will look for a set of available [unspent money sources] that she owns that totals up to 11.7 BTC. Realistically, Alice will not be able to get exactly 11.7 BTC; say that the smallest she can get is 6+4+2=12. She then creates a transaction with those three inputs and two outputs. The first output will be 11.7 BTC with Bob’s address as its owner, and the second output will be the remaining 0.3 BTC “change,” with the owner being Alice herself.
If we had access to a trustworthy centralized service, this system would be trivial to implement; it could simply be coded exactly as described. However, we are trying to build a decentralized currency system, so we will need to combine the state transition system with a consensus system to ensure that everyone agrees on the order of transactions. Bitcoin’s decentralized consensus process requires nodes in the network to continuously attempt to produce packages of transactions called “blocks” . . . with each block containing a timestamp, a nonce, a reference to (ie. hash of) the previous block and a list of all of the transactions that have taken place since the previous block. Over time, this creates a persistent, ever-growing, “blockchain” that constantly updates to present the latest state of the Bitcoin ledger.
Apparently Hawaii has now joined Wyoming in requiring Bitcoin exchanges to maintain cash reserves equal to their customers’ digital currency balances: http://www.coindesk.com/coinbase-just-stopped-serving-bitcoin-hawaii/
I haven’t seen an explanation for the rationale behind this move, but it seems counterintuitive. Exchanges would essentially need to keep twice as much money on hand as their customers have deposited (the cryptocurrency balance and the fiat equivalent.) It is hard to see how any exchange could survive such a regulation. Indeed, that is what motivated Coindesk’s story: Coinbase has announced that it is pulling out of Hawaii due to the regulation.
Is Bitcoin anonymous? Maybe.
Is Bitcoin private? No.
(I borrowed this distinction, which I think is excellent, from Coindesk.)
What do I mean by that? The entire blockchain is public. Every transaction can be viewed by everyone. (Though some alt-coins, like Monero, are designed to “fix” this problem. And some projects, like payment codes, are designed to increase privacy on the Bitcoin blockchain.)
But if an individual Bitcoin address can be linked to an identity, that Bitcoin address can be used to discover other addresses held by the same person and addresses held by other people. A couple different techniques are described here and here.
There are also suggestions that law enforcement agencies have built tools for matching accounts to identities. Examples here and here. Those tools may be based on known techniques or on something entirely new.
Today, I am borrowing heavily from Andreas M. Antonopoulos’ book Mastering Bitcoin for more term definitions.
A bitcoin address is used to receive and send transactions on the bitcoin network. It contains a string of alphanumeric characters, but can also be represented as a scannable QR code. A bitcoin address is also the public key in the pair of keys used by bitcoin holders to digitally sign transactions (see Public key).
A bitcoin address look like 1DSrfJdB2AnWaFNgSbv3MZC2m74996JafV. It consists of a a string of letters and numbers starting with a “1” (number one). Just like you ask others to send an email to your email address, you would ask others to send you bitcoin to your bitcoin address.
This explanation gives a peek into a much deeper topic. While I am tempted to discuss public and private keys here, I’ll discuss those later. For now, I’ll just offer a warning: Addresses are not account numbers. They are more like a serial number for a check. You can write any amount you want on the check. It can be one bitcoin or a thousand. But the check can’t be reused. Every time a transaction occurs in bitcoin, a new address is created.
Bitcoin Improvement Proposals. A set of proposals that members of the bitcoin community have submitted to improve bitcoin. For example, BIP0021 is a proposal to improve the bitcoin uniform resource identifier (URI) scheme.
A grouping of transactions, marked with a timestamp, and a fingerprint of the previous block. The block header is hashed to produce a proof of work, thereby validating the transactions. Valid blocks are added to the main blockchain by network consensus.
The full list of blocks that have been mined since the beginning of the bitcoin cryptocurrency. The blockchain is designed so that each block contains a hash drawing on the blocks that came before it. This is designed to make it more tamperproof.
To add further confusion, there is a company called Blockchain, which has a very popular blockchain explorer and bitcoin wallet.
A list of validated blocks, each linking to its predecessor all the way to the genesis block.
Once a transaction is included in a block, it has one confirmation. As soon as another block is mined on the same blockchain, the transaction has two confirmations, as so one. Six or more confirmations is considered sufficient proof that a transaction cannot be reversed.
The opinion in In re Dole Food Co. Inc Stockholder Litigation, CA 8703-VCL (Del. Ch. Feb. 15 2017) offers an interesting window into places where blockchain technology could substantially improve current systems. In November 2013, Dole Food Co. went private. Some shareholders filed a lawsuit, seeking additional consideration (more money per share) for the going-private transaction.
The shareholders and the company eventually settled. A price was agreed upon, the class size was defined as 36,793,758 shares, and the settlement was approved. Only one problem: When the claim forms came back, there appeared to be 49,164,415 shares.
Turns out that no one had accounted for a few different quirks of the current system. The Court pointed to at least two problems: (1) the T+3 day clearing rule for trades and (2) the accounting for short sales (technically both the owner of the shares and the short seller hold the shares). The Court ultimately throws up its hands and approves distributing the additional settlement consideration to the same people who received the merger consideration in the first place, which was a known, well-defined list.
But in its frustration with the current system, the Court notes that distributed ledger technology would likely have prevented these issues:
This problem is an unintended consequence of the top-down federal solution to the paperwork crisis that threatened Wall Street in the 1970s. Through the policy of share immobilization, Congress and the Securities and Exchange Commission addressed the crisis using the 1970s-era technologies of depository institutions, jumbo paper certificates, and a centralized ledger. See generally In re Appraisal of Dell Inc. (Dell Ownership), 2015 WL 4313206, at *3–7 (Del. Ch. July 30, 2015).
It was an incomplete solution at the time. Since then, despite laudable and largely successful efforts by the incumbent intermediaries to keep the system working, the problems have grown. See, e.g., In re Appraisal of Dell Inc., 143 A.3d 20, 59 (Del. Ch. 2016) (holding that under current Delaware law, beneficial owners forfeited their appraisal rights by inadvertently voting in favor of the merger due to complexities created by depository system); Dell Ownership, 2015 WL 4313206, at *9–10 (holding that under current Delaware law, beneficial owners forfeited their appraisal rights due to administrative change in the name of the nominee on the share certificate necessitated by depository system).
Distributed ledger technology offers a potential technological solution by maintaining multiple, current copies of a single and comprehensive stock ownership ledger. The State of Delaware has announced its support for distributed ledger initiatives. See Marco A. Santori, Governor Jack Markell Announces Delaware Blockchain Initiative, global Delaware Blog (June 10, 2016), http://global.blogs. delaware.gov/2016/06/10/delaware-to-create-distributed-ledger-based-share-ownership-