# Toward Blockchain-Enabled Supply Chain Anti-Counterfeiting and Traceability
## 3 Decentralizing with the Blockchain Technology
### Blockchain 1.0 Versus Blockchain 2.0 and Later Versions  
Blockchain implementations have been phased based on their development and use cases described in [34; 35], respectively. While Blockchain 1.0, with the representative example of the Bitcoin network [18], focused on the development of cryptocurrencies for peer-to-peer electronic payments, Blockchain 2.0, such as Ethereum explained in [20; 28] as well as Hyperledger Fabric discussed in [21], enabled the concept of smart contract. Blockchain 2.0 has a more flexible data structure and functionality enabled by deployed smart contracts. Blockchain 3.0 focuses on developing DApps essentially having back-end logic patterns running on a decentralized peer-to-peer platform with a dedicated user interface of it. Blockchain 4.0 focuses more on matching blockchain technology and its implementations usable especially to those Industry 4.0 business demands, such as process automation, enterprise resource planning, and integration of different execution systems respectively. Starting from Blockchain 1.0, the Bitcoin network [18] is indeed the first use case of blockchain technology, aimed at offering a peer-to-peer version of electronic cash. The Proof-of-Work consensus algorithm applied to Bitcoin network, its unique _UTXOs_ model, and the potential hash rate-based double-spending in [36], which could still exist in Bitcoin network, are the major characteristics and topics discussed and advanced among Bitcoin or even the entire blockchain development community. Blockchain 2.0 moved on enabling programmable blockchains with Ethereum. A variety of underlying concepts of Ethereum blockchain, such as account-based, smart contracts, gas, and Ethereum Virtual Machine, as well as explaining how Ethereum, is designed and progressed to be different from, and even more capable than, Bitcoin network, are explained in [20; 28], respectively, as representative examples. There are indeed extensive differences in terms of implementation and usage in both phases. Figure 6 demonstrates the most crucial differences in different perspectives, followed by explanations on why modern decentralized solutions would be developed with frameworks and functionalities provided and enabled in Blockchain 2.0. Figure 6: Comparison of Blockchain 1.0 and Blockchain 2.0 (including later versions). * _State_: In Bitcoin, there are only two states, not to mention _UTXO_, that could either be \"_spent_\" or \"_unspent_\", and so there is no contract or script to keep any internal state other than these two states. Ethereum enables more flexibility to create such contracts by utilizing the concepts of _externally owned accounts_ and _contract accounts_. The multi-state can be defined given the functionalities of smart contracts. Once transactions are validated, packaged into their respective mined blocks, and appended to the blockchain, they are no longer allowed to be modified. If such modification on the specific blocks took place, it will invalidate every subsequent block intended to be appended to the blockchain. * _Block Time_: The creation of a block in the Ethereum main net takes only 12 s (while block time could be specified in enterprise implementations of Ethereum), which is considerably faster than that in Bitcoin network taking nearly 10 min. Every transaction will then be validated and packed in a block quicker due to the faster block time in Ethereum but it would lead to decreased security, attributed by the faster block time, which has already been addressed by multiple block confirmations. * _Storage_: In the Bitcoin network, only fixed scripts and data can be stored in a block, while self-defined scripts, in a form of smart contracts, can be executed with states stored on Ethereum blockchain implying that more methods are enabled. Many different applications can therefore be implemented on Ethereum or its Blockchain 2.0 counterparts.