Bitcoin is about to get two significant updates: a way to embed information about ‘smart property’ into transactions, and a better way to calculate transaction fees. Bitcoin’s lead developer Gavin Andresen made the announcement yesterday in his fifth Core Development Update.
The latest update uses a new type of transaction to give people the chance to associate their own data with their bitcoin transactions, which is something that wasn’t explicitly allowed before. The team is doing this by enabling OP_RETURN, a transaction parameter that will let people embed a tiny 80 bytes of data into a blockchain transaction record directly.
80 bytes may be tiny, but it is enough to create a hash. Hashing is a way of producing a unique output that can be proven to represent a much larger piece of data, and it is one of the basic techniques in the bitcoin protocol’s toolbox.
Core developer Jeff Garzik says that this could be a good way to enable smart property in the bitcoin network. “The hash is a hash of an ownership token representing a car, or a house, or a stock or bond,” he says. “Using the blockchain, you may securely exchange these tokens for payment (bitcoins), or exchange them with another user, without involving a third party.” This sounds a lot like colored coins, doesn’t it?
There is clearly a demand for embedding data in transactions, because as Gavin Andresen says in the Core Update document, people already use all kinds of bizarre hacks to tie data to their bitcoin transactions.
For example, some may send money to a bitcoin address that isn’t complete or accurate, and which doesn’t actually exist, explains Mike Hearn, another of the core developers. By sending money to a malformed address, they force clients to register it in a part of a transaction known as an unspent output set (UTXO). The bitcoin network has to keep UTXO data immediately available to everyone, because it is an important item when checking that transactions are valid. It has no way of knowing when UTXO data is a malformed address, so it keeps it in fast, quickly-accessible storage.
“OP_RETURN allows people to get data into the blockchain without it entering the UTXO set, which is a side-effect of the hacks a few people are using today.”
That’s a good thing, because the UTXO data set currently constitutes about 250MB, compared to the blockchain’s entire 10GB now, according to core developer Pieter Wuille. The UTXO set may only be a 40th of the blockchain’s size, but that’s still significant.
“Access to the blockchain doesn’t need to be particularly fast or indexed – it just needs to be available,” he says. “The challenge is the database of unspent transaction outputs. It must be accessible in a fast way for any fully validating node, forever. So the more data that can be offloaded from the unspent transaction records to the rest of the blockchain, the better.”
Some (including Wuille) worry that people will use this new transaction type for …read more