“The practical consequence […is…] for the first time, a way for one Internet user to transfer a unique piece of digital property to another Internet user, such that the transfer is guaranteed to be safe and secure, everyone knows that the transfer has taken place, and nobody can challenge the legitimacy of the transfer. The consequences of this breakthrough are hard to overstate.”
– Marc Andreessen
From a cruising altitude, a blockchain might not look that different from things you’re familiar with, say Wikipedia.
With a blockchain, many people can write entries into a record of information, and a community of users can control how the record of information is amended and updated. Likewise, Wikipedia entries are not the product of a single publisher. No one person controls the information.
Descending to ground level, however, the differences that make blockchain technology unique become more clear. While both run on distributed networks (the internet), Wikipedia is built into the World Wide Web (WWW) using a client-server network model.
A user (client) with permissions associated with its account is able to change Wikipedia entries stored on a centralized server.
Whenever a user accesses the Wikipedia page, they will get the updated version of the ‘master copy’ of the Wikipedia entry. Control of the database remains with Wikipedia administrators allowing for access and permissions to be maintained by a central authority.
Wikipedia’s digital backbone is similar to the highly protected and centralized databases that governments or banks or insurance companies keep today. Control of centralized databases rests with their owners, including the management of updates, access and protecting against cyber-threats.
The distributed database created by blockchain technology has a fundamentally different digital backbone. This is also the most distinct and important feature of blockchain technology.
Wikipedia’s ‘master copy’ is edited on a server and all users see the new version. In the case of a blockchain, every node in the network is coming to the same conclusion, each updating the record independently, with the most popular record becoming the de-facto official record in lieu of there being a master copy.
Transactions are broadcast, and every node is creating their own updated version of events.
It is this difference that makes blockchain technology so useful – It represents an innovation in information registration and distribution that eliminates the need for a trusted party to facilitate digital relationships.
Yet, blockchain technology, for all its merits, is not a new technology.
Rather, it is a combination of proven technologies applied in a new way. It was the particular orchestration of three technologies (the Internet, private key cryptography and a protocol governing incentivization) that made bitcoin creator Satoshi Nakamoto’s idea so useful.
The result is a system for digital interactions that does not need a trusted third party. The work of securing digital relationships is implicit — supplied by the elegant, simple, yet robust network architecture of blockchain technology itself.
Defining digital trust
Trust is a risk judgement between different parties, and in the digital world, determining trust often boils down to proving identity (authentication) and proving permissions (authorization).
Put more simply, we want to know, ‘Are you who you say you are?’ and ‘Should you be able to do what you are trying to do?’
In the case of blockchain technology, private key cryptography provides a powerful ownership tool that fulfills authentication requirements. Possession of a private key is ownership. It also spares a person from having to share more personal information than they would need to for an exchange, leaving them exposed to hackers.
Authentication is not enough. Authorization – having enough money, broadcasting the correct transaction type, etc – needs a distributed, peer-to-peer network as a starting point. A distributed network reduces the risk of centralized corruption or failure.
This distributed network must also be committed to the transaction network’s recordkeeping and security. Authorizing transactions is a result of the entire network applying the rules upon which it was designed (the blockchain’s protocol).
Authentication and authorization supplied in this way allow for interactions in the digital world without relying on (expensive) trust. Today, entrepreneurs in industries around the world have woken up to the implications of this development – unimagined, new and powerful digital relationshionships are possible. Blockchain technology is often described as the backbone for a transaction layer for the Internet, the foundation of the Internet of Value.
In fact, the idea that cryptographic keys and shared ledgers can incentivize users to secure and formalize digital relationships has imaginations running wild. Everyone from governments to IT firms to banks is seeking to build this transaction layer.
Authentication and authorization, vital to digital transactions, are established as a result of the configuration of blockchain technology.
The idea can be applied to any need for a trustworthy system of record.
Authored by Nolan Bauerle; images by Maria Kuznetsov
Working of Bitcoin Transaction
If I want to send some of my bitcoin to you, I publish my intention and the nodes scan the entire bitcoin network to validate that I 1) have the bitcoin that I want to send, and 2) haven’t already sent it to someone else. Once that information is confirmed, my transaction gets included in a “block” which gets attached to the previous block – hence the term “blockchain.” Transactions can’t be undone or tampered with, because it would mean re-doing all the blocks that came after.
Getting a bit more complicated:
My bitcoin wallet doesn’t actually hold my bitcoin. What it does is hold my bitcoin address, which keeps a record of all of my transactions, and therefore of my balance. This address – a long string of 34 letters and numbers – is also known as my “public key.” I don’t mind that the whole world can see this sequence. Each address/public key has a corresponding “private key” of 64 letters and numbers. This is private, and it’s crucial that I keep it secret and safe. The two keys are related, but there’s no way that you can figure out my private key from my public key.
That’s important, because any transaction I issue from my bitcoin address needs to be “signed” with my private key. To do that, I put both my private key and the transaction details (how many bitcoins I want to send, and to whom) into the bitcoin software on my computer or smartphone.
With this information, the program spits out a digital signature, which gets sent out to the network for validation.
This transaction can be validated – that is, it can be confirmed that I own the bitcoin that I am transferring to you, and that I haven’t already sent it to someone else – by plugging the signature and my public key (which everyone knows) into the bitcoin program. This is one of the genius parts of bitcoin: if the signature was made with the private key that corresponds to that public key, the program will validate the transaction, without knowing what the private key is. Very clever.
The network then confirms that I haven’t previously spent the bitcoin by running through my address history, which it can do because it knows my address (= my public key), and because all transactions are public on the bitcoin ledger.
Even more complicated:
Once my transaction has been validated, it gets included into a “block,” along with a bunch of other transactions.
A brief detour to discuss what a “hash” is, because it’s important for the next paragraph: a hash is produced by a “hash function,” which is a complex math equation that reduces any amount of text or data to 64-character string. It’s not random – every time you put in that particular data set through the hash function, you’ll get the same 64-character string. But if you change so much as a comma, you’ll get a completely different 64-character string. This whole article could be reduced to a hash, and unless I change, remove or add anything to the text, the same hash can be produced again and again. This is a very effective way to tell if something has been changed, and is how the blockchain can confirm that a transaction has not been tampered with.
Back to our blocks: each block includes, as part of its data, a hash of the previous block. That’s what makes it part of a chain, hence the term “blockchain.” So, if one small part of the previous block was tampered with, the current block’s hash would have to change (remember that one tiny change in the input of the hash function changes the output). So if you want to change something in the previous block, you also have to change something (= the hash) in the current block, because the one that is currently included is no longer correct. That’s very hard to do, especially since by the time you’ve reached half way, there’s probably another block on top of the current one. You’d then also have to change that one. And so on.
This is what makes Bitcoin virtually tamper-proof. I say virtually because it’s not impossible, just very very, very, very, very difficult and therefore unlikely.
And if you want to indulge in some mindless fascination, you can sit at your desk and watch bitcoin transactions float by. Blockchain.info is good for this, but if you want a hypnotically fun version, try BitBonkers.
Detail article of bitcoin transaction work can be found here.
Source : coindesk