2.1 Taxonomies of blockchain system architecture
A blockchain system or network can follow different system architectures depending on desired operation and specific use cases.
Blockchain systems typically consist of network users and validators. User nodes can initiate or receive transactions and hold a copy of the ledger. In addition to read access privileges, validators are responsible for approving modifications of the ledger and reaching consensus throughout the network regarding the valid state of the ledger. Depending on the system configuration, partial or universal access rights and validations rights may apply. All Internet users can join a public blockchain system.
On the contrary, with private blockchains, the access is restricted only to authorized participants. Permissionless ledgers are wholly distributed, and censorship- resistant as any network member can contribute to the validation of transactions. On the contrary, with permissioned ledgers, only specific validator nodes hold write access rights to modify the blockchain (see Fig 2.2). With public and permissionless ledgers, users and validators are entirely unknown to each other; therefore, the collaborative effort and trust required for ledger management are induced by game- theoretic equilibria and rewards. The structure of incentives typically involves spending resources such as computational work, electricity, or penalization that aims to deter selfish behavior.
With private and permissioned ledgers, the users' identity is known similarly to know-your-customer practices (KYC). Furthermore, validator nodes are known and trusted to behave honestly; therefore, artificial incentives are not required to guarantee the system's operation.
Consequently, private and permissioned ledgers can be faster, more flexible, and more efficient; however, this comes at the expense of immutability and censorship resistance. In addition, some ledger architectures can be classified as consortium blockchains, i.e., hybrids that stand between public and private blockchains.
Blockchains can also be classified according to their development purpose,
i.e. in general purpose or specific purpose blockchains. Typical examples are Ethereum, designed to accommodate a wide range of use cases and applications, and Bitcoin, explicitly designed specifically for crypto-currency transactions.
In terms of governance and protocol rules of the system operation, blockchains can be classified as open-source or closed- source. Open-source architectures are open to all network members and can benefit from continuous and transparent peer review, public debate, and community decision- making. Closed-source blockchains operate similarly to private enterprises, where any changes in the rules of the system operation are decided in private.
It is essential to understand that one blockchain solution architecture does not fit all applications and use cases; therefore, hybrid approaches that lay anywhere in the spectrum between public and private blockchains and have various degrees of centralization have been explored for this whitepaper. The resulting system architecture and the consensus algorithm applied in the system environment are jointly responsible for key performance features, such as speed, scalability, and efficiency of the resources spent.