====== 4.2.2 Access Control ====== [[dido:public:ra:1.4_req:1_func:access | Return to Functional Requirements]] A major functional requirement is to provide a classifications of allowable [[dido:public:ra:xapend:xapend.a_glossary:n:node|nodes]] within the DIDO network. A detailed explanation of DIDO networks is provided by in [[dido:public:ra:1.2_views:3_taxonomic:2_network_access_ctrll:start| Network Access Control]]. Within each of these two classifications it is possible to have [[dido:public:ra:xapend:xapend.a_glossary:p:public_network| public]] and [[dido:public:ra:xapend:xapend.a_glossary:p:private_network| private]] access. Public and private access define who is able to write data onto a network or [[dido:public:ra:xapend:xapend.a_glossary:l:ledger|ledger]]. In contrast, open (i.e., permissionless) and closed (i.e., permissioned) determine who is able to read the data. Networks are classified as(("Public Vs Private Blockchain In A Nutshell", Demiro Massessi, 12 December 2018, [[https://medium.com/coinmonks/public-vs-private-blockchain-in-a-nutshell-c9fe284fa39f]] )): * [[dido:public:ra:xapend:xapend.a_glossary:p:permissionless]] and [[dido:public:ra:xapend:xapend.a_glossary:p:public_network]] - public and open * [[dido:public:ra:xapend:xapend.a_glossary:p:permissionless]] and [[dido:public:ra:xapend:xapend.a_glossary:p:private_network]] - public and closed * [[dido:public:ra:xapend:xapend.a_glossary:p:permissioned]] and [[dido:public:ra:xapend:xapend.a_glossary:p:public_network]] - private and open * [[dido:public:ra:xapend:xapend.a_glossary:p:permissioned]] and [[dido:public:ra:xapend:xapend.a_glossary:p:private_network]] - private and closed
{{ dido:public:ra:1.2_views:1_stake:3_taxonomic:access_control_taxonomy.png?400 |}} The [[dido:public:ra:xapend:xapend.a_glossary:n:node_network|Node Network]] Access Taxonomy
Determine the [[dido:public:ra:xapend:xapend.a_glossary:a:accesscontrol|Access Control]] required for this DIDO by completing the worksheet presented in Table {{ref>netAccSheet}}. Determine the characteristic required for the particular project of intrest. For example, for the Decentralization the answer should be either Permissioned or Permisionless. When the worksheet is done, use the answers to make the appropriate requirement of Permissionless versus Permissioned, public versus private, or if the requirements are a hybrid. Defining these requirements early can help avoid costly and time consuming changes later. ^ Characteristic ^ Characteristic ^ Description ^ ^ Decentralization | | * **Permissionless** - Permissionless networks are decentralized and distributed. In other words, no one [[dido:public:ra:xapend:xapend.a_glossary:e:entity|entity]] can close or terminate the network, modify the content, or censor parts of it. The larger the distributed and decentralized networks and or history are, the harder it is to tamper with.(( "Nuances Between Permissionless and Permissioned Blockchains", Anant Kadiyala, 18 February 2018, [[https://medium.com/@akadiyala/nuances-between-permissionless-and-permissioned-blockchains-f5b566f5d483]] )) * **Permissioned** - The degree of decentralization for permissioned networks is a business decision. The extent and quality of decentralization depends upon the number of peers (i.e., nodes), the expected number of bad nodes in the network, and the type of [[dido:public:ra:xapend:xapend.a_glossary:c:consensus_algorithm| consensus]] mechanism determined by the [[dido:public:ra:xapend:xapend.a_glossary:s:stakeholder|stakeholder]]. Permissioned blockchains usually employ an algorithm such as [[dido:public:ra:xapend:xapend.a_glossary:b:byzantine_fault_tolerance]], which differs from the [[dido:public:ra:xapend:xapend.a_glossary:p:proof_of_work|proof of work (PoW)]] algorithm(( "Nuances Between Permissionless and Permissioned Blockchains", Anant Kadiyala, 18 February 2018, [[https://medium.com/@akadiyala/nuances-between-permissionless-and-permissioned-blockchains-f5b566f5d483]] )). | ^ Transparency | | * **Permisionless** - Users or nodes have complete access to the ledger, transactions, and blocks in the [[dido:public:ra:xapend:xapend.a_glossary:b:blockchain|blockchains]], which allows for complete auditing of permissionless networks(( "Nuances Between Permissionless and Permissioned Blockchains", Anant Kadiyala, 18 February 2018, [[https://medium.com/@akadiyala/nuances-between-permissionless-and-permissioned-blockchains-f5b566f5d483]] )). * **Permissioned** - Transparency is not a driving force in permissioned networks and is often a major factor in the business decision to choose permissioned over permissionless networks. Most permissioned blockchains do not use cryptoeconomic [[dido:public:ra:xapend:xapend.a_glossary:c:coins|coins]] incentive or [[dido:public:ra:xapend:xapend.a_glossary:t:tokens|tokens]]. The primary incentive of permissioned blockchain participants is to minimize the transparency, cost, time, and ease of sharing information3). | ^ Privacy/Anonymity | | * **Permisionless** - Privacy - In permissionless networks, users or nodes of the network are anonymized. Technically, permissionless networks like [[dido:public:ra:xapend:xapend.a_glossary:b:bitcoin|Bitcoin]] are pseudonymous, and not truly anonymous.(( "Nuances Between Permissionless and Permissioned Blockchains", Anant Kadiyala, 18 February 2018, [[https://medium.com/@akadiyala/nuances-between-permissionless-and-permissioned-blockchains-f5b566f5d483]] )) * **Permissioned** - Anonymity - Permissioned blockchains offer fine-grained visibility into transaction details, as well as, [[dido:public:ra:xapend:xapend.a_glossary:m:metadata|metadata]] about those transactions which, in many ways, compromises the privacy of the Network participants(( "Nuances Between Permissionless and Permissioned Blockchains", Anant Kadiyala, 18 February 2018, [[https://medium.com/@akadiyala/nuances-between-permissionless-and-permissioned-blockchains-f5b566f5d483]] )). | ^ Governance | | * **Permisionless** - As a general rule, permissionless networks rely on [[dido:public:ra:xapend:xapend.a_glossary:o:oss|open source software]], which is ruled by open source communities (see [[dido:public:ra:xapend:xapend.b_stds:defact:todo:start]]). The [[dido:public:ra:xapend:xapend.a_glossary:g:governance]] of the network is by consensus. [[dido:public:ra:xapend:xapend.a_glossary:c:consensus_algorithm| Consensus]] is different for many of the permissionless networksm(i.e., [[dido:public:ra:xapend:xapend.a_glossary:p:proof_of_work]], [[dido:public:ra:xapend:xapend.a_glossary:p:proof_of_stake_pos]], [[dido:public:ra:xapend:xapend.a_glossary:p:proof_of_authority_poa]], etc). (( "Nuances Between Permissionless and Permissioned Blockchains", Anant Kadiyala, 18 February 2018, [[https://medium.com/@akadiyala/nuances-between-permissionless-and-permissioned-blockchains-f5b566f5d483]] )) * **Permissioned** - There are fundamental differences between [[dido:public:ra:1.2_views:3_taxonomic:2_network_access_ctrll:permisionless| permissionless]] and permissioned network [[dido:public:ra:xapend:xapend.a_glossary:g:governance]]. Permissioned governance is decided and agreed upon by members of the business network. Economic incentives, code quality, code changes, and power allocation among peers are based on the business dynamics and the common purpose and goals of the permissioned members. This allows for agile and responsive networks desired by businesses(( "Nuances Between Permissionless and Permissioned Blockchains", Anant Kadiyala, 18 February 2018, [[https://medium.com/@akadiyala/nuances-between-permissionless-and-permissioned-blockchains-f5b566f5d483]] )). | ^ Tokens | | * **Permisionless** - Permissionless blockchains employ fat protocols that compensate network contributors with [[dido:public:ra:xapend:xapend.a_glossary:t:tokens]]. As the value and utility of the network increases, the value of the underlying tokens increases as well. This is the premise of cryptoeconomics and [[dido:public:ra:xapend:xapend.a_glossary:i:ico]] based fundraising. There are two predominant types of tokens today: monetary value tokens and utility tokens. Monetary value tokens are used in myriad ways as instruments for exchanging value. Utility tokens are akin to loyalty points: they have intrinsic value but no monetary value outside of that ecosystem.(( "Nuances Between Permissionless and Permissioned Blockchains", Anant Kadiyala, 18 February 2018, [[https://medium.com/@akadiyala/nuances-between-permissionless-and-permissioned-blockchains-f5b566f5d483]] )) * **Permissioned** - Permissioned blockchains generally do not employ a cryptoeconomic [[dido:public:ra:xapend:xapend.a_glossary:c:coins|coins]] incentive or [[dido:public:ra:xapend:xapend.a_glossary:t:tokens|tokens]](( "Nuances Between Permissionless and Permissioned Blockchains", Anant Kadiyala, 18 February 2018, [[https://medium.com/@akadiyala/nuances-between-permissionless-and-permissioned-blockchains-f5b566f5d483]] )). | ^ Scalability & Performance | | * **Permisionless** - For all the value blockchains bring to modern business processes, their Achilles heel often involves [[dido:public:ra:xapend:xapend.a_glossary:s:scalable|scalability]] and [[dido:public:ra:xapend:xapend.a_glossary:p:performance|performance]]. Both Bitcoin and [[dido:public:ra:xapend:xapend.a_glossary:e:ethereum|Ethereum]] blockchains suffer from poor scores in this area. For example, a recent blockchain game called Crypto kittles clogged the Ethereum network. Having said that, these are just early teething troubles, and startups are experimenting with various strategies to address this issue. Hopefully it is only a matter of time before this issue becomes a non-entity.(( "Nuances Between Permissionless and Permissioned Blockchains", Anant Kadiyala, 18 February 2018, [[https://medium.com/@akadiyala/nuances-between-permissionless-and-permissioned-blockchains-f5b566f5d483]] )) * **Permissioned** - Permissioned blockchains use [[dido:public:ra:xapend:xapend.a_glossary:c:consensus_algorithm| consensus]] mechanisms, which are computationally inexpensive (when compared to [[dido:public:ra:xapend:xapend.a_glossary:p:proof_of_work|proof of work (PoW)]]). Therefore, they enjoy substantially better scalability and performance than their [[dido:public:ra:1.2_views:3_taxonomic:2_network_access_ctrll:permisionless| permissionless network]] cousins(( "Nuances Between Permissionless and Permissioned Blockchains", Anant Kadiyala, 18 February 2018, [[https://medium.com/@akadiyala/nuances-between-permissionless-and-permissioned-blockchains-f5b566f5d483]] )). | ^ Open Read and Write | | * **Public** - Anyone can participate by submitting transactions to the blockchain, such as Ethereum or Bitcoin; transactions can be viewed on the blockchain explorer.(("Public Vs Private [[dido:public:ra:xapend:xapend.a_glossary:b:blkchn]] In A Nutshell", Demiro Massessi, 12 December 2018, [[https://medium.com/coinmonks/public-vs-private-blockchain-in-a-nutshell-c9fe284fa39f]] )) | ^ Ledger Is Distributed | | * **Public** - The database is not centralized like in a [[dido:public:ra:xapend:xapend.a_glossary:c:client-server|client-server]] approach, and all nodes in the blockchain participate in the transaction [[dido:public:ra:xapend:xapend.a_glossary:v:validation|validation]].(("Public Vs Private Blockchain In A Nutshell", Demiro Massessi, 12 December 2018, [[https://medium.com/coinmonks/public-vs-private-blockchain-in-a-nutshell-c9fe284fa39f]] )) | ^ Immutable | | * **Public** - When something is written to the blockchain, it can not be changed, in other words it is [[dido:public:ra:xapend:xapend.a_glossary:i:immutable|immutable]].(("Public Vs Private Blockchain In A Nutshell", Demiro Massessi, 12 December 2018, [[https://medium.com/coinmonks/public-vs-private-blockchain-in-a-nutshell-c9fe284fa39f]] )) | ^ Secure Due to Mining | | * **Public** - For example, with Bitcoin, obtaining a majority of network power could potentially enable massive double spending, and the ability to prevent transaction confirmations, in addition to other potentially malicious acts.(("Public Vs Private Blockchain In A Nutshell", Demiro Massessi, 12 December 2018, [[https://medium.com/coinmonks/public-vs-private-blockchain-in-a-nutshell-c9fe284fa39f]] )) | ^ Enterprise Permissioned | | * **Private** - The enterprise controls the resources and access to the blockchain, hence private and/or permissioned.(("Public Vs Private Blockchain In A Nutshell", Demiro Massessi, 12 December 2018, [[https://medium.com/coinmonks/public-vs-private-blockchain-in-a-nutshell-c9fe284fa39f]] )) | ^ Faster Transactions | | * **Private** - When you distribute the nodes locally, but also have far fewer nodes that participate in the ledger, performance is faster.(("Public Vs Private Blockchain In A Nutshell", Demiro Massessi, 12 December 2018, [[https://medium.com/coinmonks/public-vs-private-blockchain-in-a-nutshell-c9fe284fa39f]] )) | ^ Better Scalability | | * **Private** - Being able to add nodes and services on demand can provide a great advantage to the enterprise.(("Public Vs Private Blockchain In A Nutshell", Demiro Massessi, 12 December 2018, [[https://medium.com/coinmonks/public-vs-private-blockchain-in-a-nutshell-c9fe284fa39f]] )) | ^ Compliance Support | | * **Private** - As an enterprise, you would likely have compliance requirements to adhere to; having control of your infrastructure enhances ability to satisfy this requirement more seamlessly.(("Public Vs Private Blockchain In A Nutshell", Demiro Massessi, 12 December 2018, [[https://medium.com/coinmonks/public-vs-private-blockchain-in-a-nutshell-c9fe284fa39f]] )) | ^ Consensus More Efficient | | * **Private** - Enterprise or private blockchains have fewer nodes and usually a different [[dido:public:ra:xapend:xapend.a_glossary:c:consensus_algorithm|consensus algorithm]], such as BFT vs PoW.(("Public Vs Private Blockchain In A Nutshell", Demiro Massessi, 12 December 2018, [[https://medium.com/coinmonks/public-vs-private-blockchain-in-a-nutshell-c9fe284fa39f]] )) | ^ Private Transactions | | * **Hybrid** - Transaction are private but verifiable using the ledger's immutable data objects (i.e., leverage its public state). In its public state, each transaction gets approved by a massive network and is essentially secure and trustworthy. Hence, there is no need for a central [[dido:public:ra:xapend:xapend.a_glossary:g:gov_body]] or an exhaustive chain of intermediaries to supervise things. So, any change done to a transaction will undergo a "kindred" approval process, making it next to impossible for a single actor to meddle with the transaction or entries(( "If you Thought Blockchain was Amazing, Wait till You Read about Hybrid Blockchain", Atul Khekade, 20 January 2018, [[https://www.entrepreneur.com/article/307794]]. This article uses the term "agnate approval" rather than "kindred approval"; however, [[https://www.dictionary.com/browse/agnate | agnate]] limits a [[https://www.thesaurus.com/browse/agnate|kindred]] relationship to males only. Thus, we prefer the term "kindred" over "agnate" )). | ^ Equality | | * **Hybrid** - Everyone in the network has equal rights to view, modify, and append their consent to a transaction. In addition, the identity of transacting parties is never disclosed to all the visible network participants. (( "If you Thought Blockchain was Amazing, Wait till You Read about Hybrid Blockchain", Atul Khekade, 20 January 2018, [[https://www.entrepreneur.com/article/307794]] )). | ^ Non-Repuddiation | | * **Hybrid** - Anonymity is simply not acceptable to financial institutions and regulated industries with their strict [[dido:public:ra:xapend:xapend.a_glossary:k:kyc]] standards. (( "If you Thought Blockchain was Amazing, Wait till You Read about Hybrid Blockchain", Atul Khekade, 20 January 2018, [[https://www.entrepreneur.com/article/307794]] )). | ^ [[dido:public:ra:xapend:xapend.a_glossary:c:confidentiality|Confidentiality ]] | | * **Hybrid** - Unrestricted visibility of the public state of the network exposes all the data to a colossal network breach, which is counter to data confidentiality obligations, as well as their business concerns.(( "If you Thought Blockchain was Amazing, Wait till You Read about Hybrid Blockchain", Atul Khekade, 20 January 2018, [[https://www.entrepreneur.com/article/307794]] )). |
Network Access Worksheet
* **Note:** Another category of networks is a [[dido:public:ra:xapend:xapend.a_glossary:h:hybrid_network| hybrid network]], which makes it possible to restrict the visibility of information on the network using a combination of [[dido:public:ra:xapend:xapend.a_glossary:p:public_network| public]], [[dido:public:ra:xapend:xapend.a_glossary:p:private_network| private]], [[dido:public:ra:xapend:xapend.a_glossary:p:permissionless| permissionless]] and [[dido:public:ra:xapend:xapend.a_glossary:p:permissioned| permissioned]] networks. Therefore, hybrid networks are appealing to regulated markets because they offer the benefits of public blockchain and private blockchain together.(( "Hybrid Blockchain: Decentralized Option for Highly Regulated Markets - Few players in highly regulated markets have adopted blockchain technology. However, hybrid blockchain will change this.", Mina Down, 14 November 2018 [[https://blog.goodaudience.com/hybrid-blockchain-decentralize-highly-regulated-markets-900f30a37903 ]])) /**=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- /* To add a discussion page to this page, comment out the line that says ~~DISCUSSION:off~~ */ ~~DISCUSSION:on|Outstanding Issues~~ ~~DISCUSSION:off~~