Sweden’s blockchain-powered land registry is inching towards reality
5 stars based on
These records can be used to. Thus it is crucial to maintain correctness and bitcoin implementation details property of this information, and prevent unauthorized, fraudulent bitcoin implementation details property.
From the point of view of a computer security expert, currently people have to rely on a trusted third party.
Sometimes, these records are not preserved in a systematic way. Is it possible to keep track of property ownership through some kind of a distributed system which won't rely on trust? What would it require? At minimum, we need a consensus about the current owner and ability for that owner to identify himself. In principle, any protocol with similar properties bitcoin implementation details property be useful for keeping property ownership records. Conventionally, bitcoins are fungible. This concept is known as colored coins, although it was first described by Mike Hearn in his Smart Property article:.
Examples could include physical property such as cars, phones or houses. Making property smart allows it to be traded with radically less trust.
This reduces fraud, mediation fees and allows trades to take place that otherwise would never have happened. For example, it allows strangers to loan you money over the internet taking your smart property as collateral, which should make lending more competitive and thus credit cheaper".
Let's go through the process in bitcoin implementation details property At some point, a property is associated with a certain transaction output, which is called a 'genesis transaction output'. That transaction output coin belongs to the initial owner recorded by the system. In Mike Hearn's example with a car, a genesis transaction output is established on a factory which have produced a car, and that factory is bitcoin implementation details property initial owner.
When the property is sold or transferred, a transaction output which belongs to the previous owner is spent, and a transaction output which belongs to a new owner is created in the same transaction, which needs to be created according to certain rules.
When somebody needs to identify an owner, he will go through the transaction history starting from the genesis transaction up to an unspent transaction output. The owner of the unspent transaction output is the current owner bitcoin implementation details property the property. Bitcoin blockchain has his Bitcoin address in a general case, scriptPubKeyand he is able to prove that he is the owner by signing a message with the private key associated with that bitcoin implementation details property in general case, by producing scriptSig which satisfies scriptPubKey.
It is important to note that in this case property ownership is associated with a certain private key rather than with a certain person. If we assume that only one person is in possession of that private key, the effect is the same. However, a private key can be lost or stolen.
Also, in some cases a legal system courts might override ownership which was recorded in the blockchain. In the following sections we will outline possible ways to extend this basic system and analyze its properties. Use of the Bitcoin blockchain As it was mentioned in the overview section, in principle, any public ledge system similar to Bitcoin can be used for keeping ownership records.
However, the use of specifically the Bitcoin blockchain has certain advantages:. By piggybacking on top of Bitcoin, we inherit its security properties. Significant total value of all bitcoins in existence create a huge financial incentive to keep the system alive and healthy. An ability to swap bitcoins and colored coins in one atomic transaction makes it possible to do trustless trades. Thus it is impossible that a buyer will end up with a car when he haven't paid, just as it is impossible that seller will receive a money without transferring ownership of the car.
Bitcoin is currently the largest cryptocurrency, which make integration with it interesting and useful. However, the following sections of this document are not specific to the Bitcoin blockchain and in some cases, not specific to colored coins and can be relevant if a different cryptocurrency substrate is being used. Property registry and catalog. When property transfers are secured by the blockchain, we no longer need to rely on a trusted party to verify them. However, an associated between a particular property and a genesis transaction output becomes the weakest link.
He can demonstrate that he is the owner of an unspent coin by signing a message using his private key, and he can demonstrate the transaction history bitcoin implementation details property that coin. But how can we check that a particular coin represents a particular house? How do we check that there are no other coins which represent it? In the example with the car, the factory which manufactured the car was responsible for associating a colored coin with a car.
A tag or a chip attached to a physical object might be used to refer to a genesis bitcoin implementation details property, and thus establish an association. But this is reliable only as long as information contained in that tag or chip cannot be altered, and the cannot be detaching. Or, rather, detaching them is impractical or prohibitively expensive.
But we can't rely on tags in the case with a real estate, for example, thus we need some kind of a registry which will be responsible for association between objects and corresponding colored coins. Let's assume that for a kind of objects we are interested in, we can generate property identifiers which unambiguously point to an object bitcoin implementation details property.
Then a registry will map genesis transaction outputs to property identifiers, and bitcoin implementation details property identifiers to genesis transaction outputs. Is it possible to make this registry distributed and trustless? It might work for some problem domains, e. But this doesn't work bitcoin implementation details property a general case.
Thus a registry needs to be a trusted third party. We can't completely escape from that model, however, we can try to minimize reliance on trust and impose rules which would make cheating hard, evident and provable.
Particularly, trust is much less of a concern when the registry is forced to operate in a transparent way and cryptographic protocols are used to authenticate information supplied by the bitcoin implementation details property. This alone is enough to detect basic problems e. But it doesn't prevent more sophisticated attacks, e. This is another problem which can be solved using the blockchain: It is also impossible to modify historic registration records, so there is only a brief time interval where wrongdoing is even possible.
Note that it is usually undesirable to put significant amount of information into the blockchain, in that case it's possible to publish a reference to catalog instead of a complete catalog, for the same effect. We will cover this in appendix. Now let's go through a complete example. Suppose a certain registry is responsible for bitcoin implementation details property estate registration in a certain geographic area. A person who wishes to register his property will come to this registry with all required documents bitcoin implementation details property prove that he is the current owner.
If the registry determines that provided information is correct, it will create a genesis transaction which will:. Once this information is in the blockchain, the owner can transfer property without any further interaction with registry. The only possible problem bitcoin implementation details property is that a registry can send a colored coin to an address which doesn't belong to bitcoin implementation details property owner. The owner can detect this by watching the blockchain for his property identifier.
Dispute needs to be solved outside of the system e. However, in practice it is desirable to associate ownership with a specific person, as a private key can be stolen or lost.
Both approaches have advantages and disadvantages. Use of bitcoin implementation details property blockchain has bitcoin implementation details property same benefits as described in the previous section: However, owners will have to rely on registry to do authentication properly.
A hybrid approach is also possible: In this case owner cannot transfer his property without interaction with registry, however, neither can registry do transactions without owner's consent. This scheme can provide extra security: For extra transparency, details about the transfer can be embedded into the transaction, and thus preserved in the blockchain. In an ideal world, we would all rely on cryptography and distributed consensus.
But our world isn't ideal, thus we have to deal with the fact that ownership can be changed, bitcoin implementation details property example, through litigation. A system which cannot address this issue can be impractical. We believe that the best way to address this is to override association on the registry level, as we are relying on a trusted third party anyway.
A buyer who is interested in the property will be able to detect the situation and pay closer attention. Thus it can be used to reduce reliance on trusted third parties, reduce costs through automation and reduce number fraud and errors. We need to take into account that the Bitcoin blockchain space is a scarce and valuable resource, thus it cannot be used for publishing arbitrary information.
Instead of that, we will hash information we wish to publish, and embed those hashes into transactions. Information itself can be obtained from a party which generated it, i. This way we bitcoin implementation details property get a consensus over what information was published, but only as long as registry is accessible and can provide information. Ideally, we want clients to be able to verify information without the need to scan the whole blockchain, i.
But we won't bitcoin implementation details property this issue in detail, and instead will assume that client is able to scan the whole blockchain. We assume that a registry is associated with a certain Bitcoin address or a set of addresses which it will use to publish property association transactions.
If epobc color kernel is being used, transaction must also be a valid epobc genesis transaction. Data consists of a 'property association entry' tag and a hash of the registration entry.
A registry must provide an API which allows clients to fetch registration entries by their hashes. In order to make it possible for thin clients to verify that the complete catalog is downloaded, all property association transactions must be organized into a chain: Conceptually, we can see it as a colored coin which is associated with the registry itself: Having registry's bitcoin implementation details property genesis transaction and current UTXO, a thin client can obtain the whole chain.
In the most simple cases, something as simple as epobc color kernel can be used for transfer transactions. It should be able to obtain an entire catalog of a specified registry, either by scanning the whole blockchain, or through the process which scans the chain. Provide a way for an owner to authenticate himself, i.
Provide a way to verify authentication: