====== 2.3.3 Node Taxonomy ======
[[dido:public:ra:1.2_views:3_taxonomic:start|return to Taxonomic Views ]]
A [[dido:public:ra:xapend:xapend.a_glossary:n:node|node]]((
"Blockchain Nodes: An In-Depth Guide", [[https://nodes.com/]]
)) is any participant in a DIDO [[dido:public:ra:xapend:xapend.a_glossary:n:node_network|Node Network]]. However, there are different types of nodes within the node network. The types are classified according to the kind of activities (i.e. roles) they need or want to perform within the node network.
All nodes must provide their own hardware to participate. The hardware requirements can range from fairly simple handheld devices to larger [[dido:public:ra:xapend:xapend.a_glossary:s:server|servers]] capable of storing vast amounts of data and processing many transactions. However, servers are not essential for the operation of the node network since all participants operate as peers within a peer-to-peer (P2P) network of equals (i.e., it is not a [[dido:public:ra:xapend:xapend.a_glossary:c:client-server|client-server]] model). The correct value of data (i.e. "Truth") is achieved through consensus and results in each node having a local copy of the "true" values. Thus, there is no need to go to a central server to get the true, accurate, or current values of the data.
{{ dido:public:ra:1.2_views:1_stake:3_taxonomic:node_taxonomy.png?550 |}}
DIDO Node Taxonomy: Node Types
The classifications shown in Figure 1 are generalizations; each domain may define more or fewer types of nodes with each assigned different roles than those described here. For example, [[dido:public:ra:xapend:xapend.a_glossary:b:bitcoin|Bitcoin]] really defines only two kinds of nodes: [[dido:public:ra:1.2_views:3_taxonomic:3_node_tax:full| full nodes]] and [[dido:public:ra:1.2_views:3_taxonomic:3_node_tax:lite| lightweight nodes]]. Full nodes have the entire copy of the [[dido:public:ra:xapend:xapend.a_glossary:l:ledger|ledger]] and can create transactions on their own. Lightweight nodes must work with a full node in order to synchronize the current "true" value of the data. Bitcoin also has a [[dido:public:ra:xapend:xapend.a_glossary:m:mining|mining]] node, which is a full node used to validate that a block of transactions is "true." Sometimes DIDO nodes can be referred to as clients((
**Clients** are nodes able to parse and verify blockchain ledger, transactions, and smart contracts. Clients have access to APIs with which to create transactions and mine blocks. [[https://ethereum.stackexchange.com/questions/269/what-exactly-is-an-ethereum-client-and-what-clients-are-there]]
)) and are classified by their level of engagement with the DIDO; however, any domain can define or modify the definitions for node types.
* **Note:** Nodes should be subject to a [[dido:public:ra:xapend:xapend.a_glossary:d:data_retention_policy]]. These policies were traditionally formulated by the corporation responsible for capturing the data. In a DIDO, the policies are controlled by the DIDO Platforms. Therefore, Data Retention needs to be considered as a [[dido:public:ra:1.4_req:1_func|functional requirement]].
----
/**=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
/* To add a discussion page to this page, comment out the line that says
~~DISCUSSION:off~~
*/
~~DISCUSSION:on|Outstanding Issues~~
~~DISCUSSION:off~~