I have a friend who’s doing IT. Recently he’s become interested in Blockchain, and so, he asked on LinkedIn about Blockchain. And then he tagged me and asked for my take on it. Since I wrote at length to answer his queries, I would like to post my answers here, as a record of my “Proof of Work”.
Blockchain was first introduced to the world through Bitcoin, as its underlying technology. Since its introduction, it has taken the world by storm.
The question from LinkedIn on Blockchain
I am curious about block chain technology. Bitcoin, ethereum etc. How is the public able to continuing “support” the requirements? I mean a node need to have very huge storage space to store the copy of the smart contract which is growing every few seconds or minutes. What happen if all of the old copies of transactions deleted from all the nodes?
When at certain time a transaction need to be audited, how is it going to be done? Is it audited all the time or after a few years later, “someone” (or group of nodes) will try to audit the same piece of transaction again? That time, how many nodes will be involve in the audit jobs? I only learn about mining software develop by programmers, never read about the software for the audit process. Is the audit process part of the mining process?
How can people use something like ethereum which is still a piece of software under development which may contain bugs and security issues. If ethereum is not a currency like bitcoin, why we still keep it inside a wallet?
My answers
Hi XXX, I think there are several things here, and I don’t think that I’m the right person to answer them all. But I’ll try to answer part of your questions. Bear in mind, I’m still learning as I go along.
Q: How is the public able to support the requirements?
A: By having a network that runs the software, it provides a failsafe, redundant system. Each node stores the complete copy of the blockchain, and updates the entire blockchain by consensus. Thus even if part or a majority of the nodes are lost, if there is even one node left operating the entire blockchain can be recovered.Q: Does a node need a very large storage space to store the smart contract?
A: A smart contract does not take up much space. However, transactions take place on the blockchain according to the smart contracts, which are recorded. For any transaction to be recorded, a transaction recording fee must be paid. In Ethereum, it’s like an “auction” where he who pays the highest gas fee will get his transaction recorded. (Like the old days when you called for a taxi, without the taxi meter.) Transaction fees are paid to all those who run nodes, as a way of rewarding them for keeping the blockchain running. Hence, it’s called a distributed ledger.
More reading:
More information here: http://ethdocs.org/en/latest/contracts-and-transactions/account-types-gas-and-transactions.htmlQ: How are transactions audited?
A: In a Proof of Work system, like Bitcoin, the transactions are audited at the time the blocks are added to the blockchain. The hash of the latest block must comply with the nonce, and is cryptographically linked to the previous block. The same applies for the previous block, it must comply to the block before it. In Bitcoin the blockchain is elongated based on the longest chain (hence most work).For a case of a real audit, you can use the blockchain explorer, which are provided by most blockchain organizations. You have to remember that there’s more than one blockchain out there, so different blockchains have their own explorers. Bitcoin and Ethereum are just two names.
For a real life case of audit, you can see the Silk Road case, where the US authorities busted a black market that used Bitcoin. Bitcoin isn’t really anonymous, it’s pseudonymous: It’s just names replaced with numbers. If you have a wallet address, you can track the money going in and out of it. But bear in mind that new wallets can be created with ease.
A: Due to the nature of the blockchain, it’s difficult to change previous blocks. Any tampering of an earlier block will cause the nonce/hash of the next block to change. It’s probably easier to tamper with the latest block than one that was recorded yesterday. But even so, you’d need to execute one of several types of attacks, including the Sybil Attack or the 51% attack. (It’s like shareholders in a company: If you own 51% of shares, you can dictate the company’s direction.) For that reason, the more nodes there are, the more secure it is. But one of the concerns today is the increasing frequency of hard forks, which fragments hashing power, and breaks communities into smaller ones. That’s why some blockchains are transitioning to Proof of Stake, instead of Proof of Work. In Proof of Stake you’ll need to have a certain number of native tokens (e.g. ETH for Ethereum, or BTC for Bitcoin) and “stake” them for a certain period. You’re then considered trustworthy enough to start minting coins on the network.
I’m not knowledgeable about auditing the blockchain; perhaps another friend of yours can try to answer that. But that’s my answer above.
Q: If Ethereum is not a currency like Bitcoin, why keep it in a wallet?
A: Ethereum is a currency in the sense that it has value, and is traded on crypto exchanges. It has value simply because people put a value to it. Ethereum itself raised money in an ICO (it wasn’t called an ICO then), raising USD 18 million. People had to pay for it using Bitcoin. In today’s ICOs, Ethereum is often used (alongside Bitcoin) to pay for new tokens, itself a reflection of how Ethereum was first issued. These new tokens are often not native tokens, but asset-backed tokens, and the most popular of these is the ERC 20 token issued on the Ethereum blockchain. But there are also tokens which have been issued on other blockchains, e.g. NEM (used for EcoBit, from Malaysia).Q: How can people use Ethereum which is a software still under development.
A: I think it’s a fair statement from you, but its probably better to think of Ethereum as a protocol, like TCP/IP. Despite continuous evolution, the Ethereum blockchain hasn’t been hacked yet. Most hacks happen on third party service providers, e.g. web wallets. Human greed also plays a role, e.g. Mt Gox. If you move your Ethers to a hardware wallet, e.g. Trezor, you’re safe.