1 Introduction

Return to Reference Architecture (RA)

The term Distributed Immutable Data Objects (DIDO) refers to the underlying technologies supporting distributed data and computation across a distributed network of peers using consensus algorithms to maintain integrity and consistency across the network. After the publication of Satoshi Nakamoto’s paper Bitcoin: A Peer-to-Peer Electronic Cash System1) S. Nakamoto, “Bitcoin: A Peer-to-Peer Electronic Cash System,” 24 May 2009. [Online]. Available: https://bitcoin.org/bitcoin.pdf. and the exponential growth of other cryptocurrencies, there is a need to understand in general terms the underlying DIDO architectures and provide a framework to enable engineering due diligence of DIDOs. DIDOs are not limited to cryptocurrencies, the original blockchain, or distributed ledger technologies. DIDOs are also applicable to other non-cryptocurrency domains such as supply chain, registries for birth, deaths etc., and lists of authentication and identification (IA) acceptable certificates including those that have been revoked. The DIDO concepts captured within a Reference Architecture (RA) are intended to represent any architecture relying on distributed networks of peers that store data and allow parallel computation. The DIDO RA is not intended as a physical “must-have” requirements list, but more as a conceptual catalog of what “can-be”.

The relationship of DIDO Reference Architecture to incarnations such as Bitcoins, distributed ledgers and tangles.

As illustrated in the figure, the DIDO RA is an idealized general set of requirements and constraints. Each incarnation of the DIDO software (i.e., cryptocurrency, distributed ledger, etc.) uses a set of stakeholder requirements to filter the DIDO RA and tailor it to suit the unique needs and desires of its community of stakeholders. For example, the DIDO RA provides standards for logging, even though the logging requirements driven by DIDO Software Stakeholders may lead to a decision to opt not to include them. There is a plethora of DIDO Software incarnations available starting with the original Blockchain Software that drives Bitcoin and moving onto IBM’s Distributed Ledger, Ethereum and Iota.

The DIDO Software incarnations are adopted or used by another community of stakeholders that wish to leverage the DIDO Software into a DIDO Network of Nodes to address requirements and needs of a specific domain. For example, one DIDO Network Community wants to provide a cryptocurrency and another public records. The DIDO Software selected by the DIDO Network Stakeholders might be different depending on its intended purpose. In Figure 1, the bi-directional arrows communicate the notion that the DIDO RA influences not only the DIDO Software and Networks, but also that evolution of DIDO software and networks feeds back into subsequent versions of the DIDO RA.