Cold storage is a technique to keep keys offline and inaccessible to attackers. It is used by most major Bitcoin exchanges, occasionally moving funds between a “hot” wallet (used to satisfy user withdrawals) and an offline “cold” wallet. Exchanges then infrequently move Bitcoin between the two as demand changes.

Cold storage requires a mental model of assets tied to an intuitive understanding of countable, physical world things, like gold bars, seashells, or stock certificates. In Bitcoin this picture almost works for Pay-to-Pubkey-Hash (P2PKH) addresses, except for the fact that keys can be in more than one place at once, so the notion of a bitcoin being in any particular place is somewhat flawed. …


Using computers to manage assets is not new. Indeed that’s a major reason computers were invented. What, then, makes Bitcoin and blockchains different?

Image for post
Image for post

All digital financial assets before Bitcoin can be called IOU systems. The systems and databases themselves do not hold assets. The records in the database are an accounting of an external asset. Indeed this kind of accounting has been with us since the earliest days of writing, and computers do not fundamentally change it.

In these kinds of IOU databases, the marginal cost of adding an extra row is zero. Once I’ve decided to eat the initial capital expenditure of obtaining a sharp stick and clay tablet (or 1U server and a copy of MySQL), the cost of adding adding an extra row and tracking an extra asset is zero. The reason we use such record keeping tools is precisely that the cost of keeping the record is much less than the value of the asset being tracked. …


An event (defined by the hash H) can be constrained to exist within a time window A < t < B by hashing H with the most recent block hash A in a blockchain, and incorporating them both into the next block B=hash(H,A,nonce). Bitcoin’s proof-of-work algorithm also has a nonce and I’m glossing over details of combining H from many participants into a Merkle tree. Knowledge or existence of the data corresponding to the hash H can be proven. This is sometimes called proof of existence (in time) and a number of companies are working on it. But spacetime has 4 dimensions (I’m 99% sure, even though silly people write papers about more dimensions than that). …


Charlie Brummitt asked me an interesting question the other day: “can bitcoin mining be changed so that the computations could simultaneously be used for science (e.g., protein folding, SETI)?”

A common complaint about Bitcoin is that it uses a lot of energy, especially among people who first encounter it — including myself. But let’s keep things in perspective. At today’s BTC/USD price of $450, and the 25 BTC subsidy per block, and 1500 transactions per block, the amortized cost per transaction is about $3.33, even though the sender only pays about $0.03. This is a bit high compared to Mastercard/Visa transactions (2%-4%) or ATM fees (~$3.00), but not by much. Furthermore, work is afoot to improve Bitcoin’s scalability, including Bitcoin-NG, “weak blocks”, and replacing the blockchain with a Directed Acyclic Graph or “Braid”. I’ll save these interesting topics for a future BitDevs meetup and blog post. …


The most savage controversies are those about matters as to which there is no good evidence either way. - Bertrand Russell

Bitcoin has come a long way in seven+ years. Being open source software, it lends itself to communal comments and debate. And while we are confident that scaling the Bitcoin network will be accomplished, we would like to set forth some ideas to promote further discussion about alternative ways to scale the network from an engineering perspective.

The conversation around scaling bitcoin has focused on this seemingly innocuous piece of code, and a single number contained therein:

static const unsigned int MAX_BLOCK_SIZE =…


What is Bitcoin? There are two good, possible answers:

  1. Bitcoin is whatever is contained in the longest sha256 proof-of-work chain
  2. Bitcoin is the set of transactions deemed to be valid by the reference implementation of Bitcoin.

As with all great arguments demanding of blood and tears, the source of the argument can be boiled down to a semantic disagreement: the choice of definition of Bitcoin by premise #1 or premise #2 above. Now steel yourself for a hard truth. Arguments on both sides have merit. Both are also profoundly unappealing in their own ways.

Raising the block size is a simple change and reasonable change, but has the unpleasant side effect that old nodes will not see payments made after the change. New money has to be interchangeable (fungible) with old money. The last sentence is basically the definition of a soft-fork. A hard fork means that new money is incompatible with old money. The fear is that let’s say you created a bitcoin-based business, let’s say it’s Satoshi Dice, then you fell ill and were unable to upgrade your bitcoin node. If a hard fork came, your business would cease to function. Let’s call this (hard fork) path violence.


Bitcoin and crypto-currency is a nascent field. There are a lot of new, un-vetted ideas floating about. This field really got kicked off by an pseudonymous person placing a whitepaper and a pile of code on the internet. Due to the nature of Satoshi’s contribution, this mechanism of communication was probably necessary, but duplicating it does not serve the rest of us. As crypto-finance matures, it requires people to stand behind their work, and for them to accept and adapt to criticism. Getting it wrong means money will be lost. We have a well-tested way to propose and vet new ideas: peer review. …

About

Bob McElrath

Reverse-engineering the universe and remaking money. Ph.D. Theoretical Physics; Bitcoin hacker; SolidX CTO

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store