DGT DOCS
  • 1. INTRODUCTION
    • 1.1 Executive Summary
    • 1.2 Why DGT
    • 1.3 Distributed Ledgers Technology
      • 1.3.1 Decentralization approach
      • 1.3.2 Consensus Mechanism
      • 1.3.3 Transactions
      • 1.3.4 Layered Blockchain Architecture
      • 1.3.5 Tokenomics
      • 1.3.6 Web 3 Paradigm
      • 1.3.7 Common Myths about Blockchain
    • 1.4 The DGT Overview
      • 1.4.1 Platform Approach
      • 1.4.2 DGT Functional Architecture
      • 1.4.3 Technology Roadmap
    • 1.5 How to create a Solution with DGT Networks
    • 1.6 Acknowledgments
  • 2. REAL WORLD APPLICATIONS
    • 2.1 Case-Based Approach
      • 2.1.1 DGT Mission
      • 2.1.2 The Methodology
      • 2.1.3 Case Selection
    • 2.2 Supply Chain and Vertical Integration
      • 2.2.1 Logistics Solution for Spare Parts Delivery
      • 2.2.2 DGT Based Solution for Coffee Chain Products
    • 2.3 Innovative Financial Services
      • 2.3.1 Crowdfunding Platform
      • 2.3.2 Real World Assets Tokenization
      • 2.3.3 Virtual Neobank over DGT Network
      • 2.3.4 DGT based NFT Marketplace
    • 2.4 Decentralized Green Energy Market
      • 2.4.1 Peer To Peer Energy Trading
      • 2.4.2 DGT based Carbon Offset Trading
    • 2.5 B2B2C Ecosystems and Horizontal Integration
      • 2.5.1 KYC and User Scoring
      • 2.5.2 Decentralized Marketing Attribution
      • 2.5.3 Case Decentralized Publishing Platform
      • 2.5.4 Value Ecosystem
    • 2.6 More Cases
  • 3. DGT ARCHITECTURE
    • 3.1 Scalable Architecture Design
      • 3.1.1 High Level Architecture
      • 3.1.2 DGT Approach
      • 3.1.3 Unique contribution
      • 3.1.4 Component Based Architecture
    • 3.2 Performance Metrics
    • 3.3 Network Architecture
      • 3.3.1 Nework Architecture in General
      • 3.3.2 Network Identification
      • 3.3.3 H-Net Architecture
      • 3.3.4 Transport Level
      • 3.3.5 Segments
      • 3.3.6 Static and Dynamic Topologies
      • 3.3.7 Cluster Formation
      • 3.3.8 Node Networking
      • 3.3.9 Permalinks Control Protocol
    • 3.4 Fault-Tolerant Architecture
      • 3.4.1 Introduction to Fault Tolerance
      • 3.4.2 F-BFT: The Hierarchical Consensus Mechanism
      • 3.4.3 Cluster Based Algorithms
      • 3.4.4 Arbitrator Security Scheme
      • 3.4.5 Heartbeat Protocol
      • 3.4.6 Oracles and Notaries
      • 3.4.7 DID & KYC
    • 3.5 Transactions and Performance
      • 3.5.1 Transaction Basics
      • 3.5.2 Transaction Processing
      • 3.5.3 Transaction and block signing
      • 3.5.4 Transaction Families
      • 3.5.5 Transaction Receipts
      • 3.5.6 Smart Transactions
      • 3.5.7 Private Transactions
      • 3.5.8 Multi signature
    • 3.6 Data-Centric Model
      • 3.6.1 Data layer overview
      • 3.6.2 Global State
      • 3.6.3 Genesis Record
      • 3.6.4 Sharding
      • 3.6.5 DAG Synchronization
    • 3.7 Cryptography and Security
      • 3.7.1 Security Architecture Approach
      • 3.7.2 Base Cryptography
      • 3.7.3 Permission Design
      • 3.7.4 Key Management
      • 3.7.5 Encryption and Decryption
      • 3.7.6 Secure Multi Party Computation
      • 3.7.7 Cryptographic Agility
      • DGTTECH_3.8.4 Gateway Nodes
    • 3.8 Interoperability
      • 3.8.1 Interoperability Approach
      • 3.8.2 Relay Chain Pattern
      • 3.8.3 Virtual Machine Compatibility
      • 3.8.4 Gateway Nodes
      • 3.8.5 Token Bridge
    • 3.9 DGT API and Consumer Apps
      • 3.9.1 Presentation Layer
      • 3.9.2 Application Architecture
    • 3.10 Technology Stack
    • REFERENCES
  • 4. TOKENIZATION AND PROCESSING
    • 4.1 Introduction to Tokenization
      • 4.1.1 DGT Universe
      • 4.1.2 Driving Digital Transformation with Tokens
      • 4.1.3 Real-World Tokenization
      • 4.1.4 Key Concepts and Definitions
    • 4.2 Foundations of Tokenization
      • 4.2.1 Definition and Evolution of Tokenization
      • 4.2.2 Tokenization in the Blockchain/DLT Space
      • 4.2.3 The Tokenization Process
      • 4.2.4 Tokenization on the DGT Platform
      • 4.2.5 Regulatory and Legal Aspects of Tokenization
      • 4.2.6 Typical Blockchain-Based Business Models
    • 4.3 The DEC Transaction Family
      • 4.3.1 DEC Transaction Family Overview
      • 4.3.2 DEC Token Features
      • 4.3.3 DEC Token Protocol
      • 4.3.4 DEC Account Design
      • 4.3.5 DEC Transaction Family Flow
      • 4.3.6 DEC Commands
      • 4.3.7 DEC Processing
      • 4.3.8 Payment Gateways
    • 4.4 Understanding Secondary Tokens
      • 4.4.1 The different types of tokens supported by DGT
      • 4.4.2 How secondary tokens are produced
  • 5. EXPLORING TOKENOMICS
    • 5.1 Introduction
      • 5.1.1 What does tokenomics mean?
      • 5.1.2 Goals of Building the Model for DGT Network
      • 5.1.3 Tokens vs Digital Money
      • 5.1.4 The Phenomenon of Cryptocurrency
      • 5.1.5 Basic Principles of Tokenomics
      • 5.1.6 AB2023 Model
    • 5.2 Node & User Growth
      • 5.2.1 Node Ecosystem
      • 5.2.2 User Growth and Retention Modeling
    • 5.3 Transactions
      • 5.3.1 Transaction Amount Components
      • 5.3.2 Shaping the Transaction Profile: A Three-pronged Approach
      • 5.3.3 Calculation of Transaction Number
    • 5.4 Network Performance Simulation
      • 5.4.1 Endogenous Model
      • 5.4.2 Network Entropy
      • 5.4.3 Network Utility
    • 5.5 Token Supply Model
      • 5.5.1 Introduction to Supply and Demand Dynamics
      • 5.5.2 Token distribution
      • 5.5.3 Supply Protocol
      • 5.5.4 Token Balance and Cumulative Supply
    • 5.6 Token Demand Model
      • 5.6.1 Node-Base Demand
      • 5.6.2 Transaction-Based Token Demand
      • 5.6.3 Staking Part Modeling
      • 5.6.4 Total Demand
    • 5.7 Token Price Simulation
      • 5.7.1 Nelson-Siegel-Svensson model
      • 5.7.2 The Price Model
    • 5.8 Decentralization Measurement
      • 5.8.1 Active Node Index
      • 5.8.2 Node Diversity in Hybrid Networks
      • 5.8.3 Token distribution
      • 5.8.4 Integral Calculation of Decentralization Metric
    • 5.9 Aggregated Metrics
      • 5.9.1 Transaction Throughput: Evaluating Network Performance and Scalability
      • 5.9.2 Market Capitalization: A Dimension of Valuation in Cryptocurrency
      • 5.9.3 Total Value Locked (TVL): A Spotlight on Network Engagement and Trust
  • 6. ADMINISTRATOR GUIDE
    • 6.1 Introduction
      • 6.1.1 Administrator Role
      • 6.1.2 Platform sourcing
      • 6.1.3 DGT Virtualization
      • 6.1.4 Using Pre-Built Virtual Machine Images
      • 6.1.5 Server Preparation
      • 6.1.6 OS Setup and initialization
    • 6.2 DGT CORE: Single Node Setup
      • 6.2.1 Launch the First DGT Node
      • 6.2.2 Dashboard setup
      • 6.2.3 Nodes Port Configuration
      • 6.2.4 Single Node Check
    • 6.3 DGT CORE: Setup Private/Public Network
      • 6.3.1 Network launch preparation
      • 6.3.2 A Virtual Cluster
      • 6.3.3 A Physical Network
      • 6.3.4 Attach node to Existing Network
    • 6.4 DGT Dashboard
    • 6.5 DGT CLI and base transaction families
    • 6.6 GARANASKA: Financial Processing
      • 6.6.1 Overview of DGT’s financial subsystem
      • 6.6.2 DEC emission
      • 6.6.3 Consortium account
      • 6.6.4 User accounts
      • 6.6.5 Payments
    • 6.7 Adjust DGT settings
      • 6.7.1 DGT Topology
      • 6.7.2 Manage local settings
    • 6.8 DGT Maintenance
      • 6.8.1 Stopping and Restarting the Platform
      • 6.8.2 Backing up Databases
      • 6.8.3 Network Performance
      • 6.8.4 Log & Monitoring
Powered by GitBook
On this page
  1. 3. DGT ARCHITECTURE

3.1 Scalable Architecture Design

Previous3. DGT ARCHITECTURENext3.1.1 High Level Architecture

Last updated 1 year ago

The DGT Platform is a Distributed Ledger Technology (DLT) class software, deployed to solve objectives of distributed data storage, processing, and presentation to end users of TCP/IP networks. Although the taxonomy of DLT solutions is still evolving, the figure below presents one of the well-known attempts to systematize the concepts of this area (see Hyperledger Sawtooth, Security Assessment Technical Report. The Linux Foundation, 2017 | ). It is easiest to imagine the DLT network as a distributed database (albeit only within certain limits, as the technology is much more versatile than just a data organization and storage system) in which there are N participants (agents, nodes), each of which has its copy of the data.

The entire network is organized in such a way as to ensure the integrity and consistency of data, provided that many participants have access to the record. The main properties of such systems include:

  • Distribution – means the physical separation of the network, whereas the nodes may be or are dispersed across locations and interact through the network.

  • Decentralization – means that different entities act as owners (managers) of nodes and that their interests and motivations may not coincide.

  • Encryption – the network, its operation, as well as data integrity are supported by various technical mechanisms, but the quintessential one is cryptography, which includes hashing (one-way conversion), digital signature, encryption, and similar functions.

  • Immutability – data entered into a distributed database is stored unchanged. It is impossible to change any record without changing the rest. In this case, historical records will be the same for all participants, and imperceptibly substituting records is impossible or extremely unlikely.

  • Tokenization – the ability to represent the value of work in the form of elementary components and distribute the value and costs of maintaining the network among all participants. Tokenization makes it possible to give economic meaning to distributed networks and complements the technological components of DLT systems.

Each of the listed properties is not binary and may involve a whole range of solutions. For example, the level of distribution may vary from nodes located in a single virtual space to nodes separated geographically. Moreover, if nodes play the same role and completely coincide in functionality and processes, this would be a peer-to-peer (P2P) network. But there are other types of networks, such as DGT that uses a hierarchical network with different node roles (see ). Decentralization can also take different degrees, depending on the rules for connecting nodes to the network:

  • Public networks. All nodes are free to join the existing network.

  • Private networks. All nodes are controlled by one or a few organizations that delegated network administration to one party. In such a network, outsider nodes cannot join the network without an explicit approval/authorization procedure.

  • Consortium-based networks. In such networks, network participation may be relatively free, but subject to certain conditions. This is like the real situation with private banks: each business participant may want to organize their bank, but they must receive a license and accumulate some capital that would guarantee its operation.

  • Hybrid networks. These networks have different segments with varying access policies. Some are free to join (public), and some are closed and are either private or consortium based.

  • Safety – security, the guarantee that all results are correct and identical on all nodes.

  • Liveness – vitality, guaranteed completion of the transaction, that is, nodes that never fail to provide a result.

  • Fault Tolerance – a system can survive the simultaneous failure of one or more nodes.

  • Transactions are the main object for storage. These can be structured in terms of (1) the transaction header containing important meta-information (sometimes also called the envelope), and (2) the transaction body containing the actual content of the transaction.

  • The very first records (the first whole block when storing data in the blockchain) are called genesis records (genesis block). Unlike all subsequent records, these initial ones do not contain references to any previous ones and are formed relatively arbitrarily.

  • The set of records combined with cryptographic functions forms a ledger (Ledger), which reflects the general state of the networks’ nodes – State. In this context, blockchain-like systems are State machines that move from state to state.

  • The general approach to data storage is done through the Merkle Tree, which is a complete binary tree. Its top leaf branches contain hashes from data blocks, while inner branches contain hashes from adding values in child branches. Such an approach allows DGT to get a fingerprint of all transactions in the block and to effectively verify it.

Other technical solutions can be used in addition (even in conjunction) with the Merkle Tree. These may include Patricia Trees, which (unlike Merkle ones) store data in the top leaf branches, while each non-leafed node is represented by a unique string symbol that identifies data (similar to hash tables). Other solutions are improvements of the Merkle Tree, such as the Prefix Merkle Tree (used by Ethereum, whereas a dynamic key is added for nodes that allow for fast sum calculations); or HashFusion (a Hewlett Packard Labs solution that allows for the calculation of hash function values to be done in stages). Each header block may contain several Merkle Trees or their equivalents, for example, for storing transactions, receipts (results of accepted transactions), or states.

Storing data in a chain of blocks (blockchain) is not the only option. Common approaches include:

In terms of architecture, there are comparisons of centralized and decentralized systems that are used to solve similar problems. The main attributes of solutions for different types of systems are presented in the table below.

Attribute
Centralized
Decentralized

Approach Comparison

Organization

They are organized as a “client-server” system, in which the client represents the active part of the system close to the end user, while the server is its passive part responsible for responding to client requests. The concept of a 3-level or multi-level organization of a system is often used, in which a data layer, a business logic layer, and a presentation layer are distinguished.

It is assumed that the server is the center of the system, and its update or change is instantly distributed across the entire system. At the same time, real systems can use such approaches as micro-services and federated data organization, which involve significant distribution and even a departure from rigid centralization.

Organized as several/many servers (nodes), each of which can have any number of clients.

Each of the nodes acts about the other nodes both as a client and a server. The nodes may not even have direct interaction with each other, but instead connect through special bridges.

Base attributes

Performance

The performance of centralized systems is easily increased vertically by adding power to the central server, but it is practically limited by the capabilities of the network and equipment.

The performance of decentralized systems is generally not high for each node but can be scaled up horizontally: the nodes as a sum can process significantly more information than centralized systems.

At the same time, decentralized systems are sensitive to network costs.

Availability

System availability is determined by backup procedures and load balancing. At the same time, the classical solution has a single point of failure, which reduces the stability of the system.

Decentralized solutions are less dependent on the network’s fragmentation and failure of individual nodes. On the other hand, until the network reaches a certain level of maturity (volume of running nodes), it is still vulnerable to failures of critical nodes and reduction to under the critical volume of infrastructure.

Scalability

System scalability is limited by hardware.

System scalability is limited by the protocol. In theory, distributed and decentralized systems have infinite scalability.

Security

Determined by border protection.

Determined by the strength of the protocol. In theory, decentralized systems are designed to be highly resilient against attacks of all kinds.

Flexibility

The systems are flexible in terms of increasing new services of a single centralized system.

Systems are flexible if the protocol allows for an increase in functionality. For instance, Ethereum provides network flexibility by expanding functionality through smart contracts.

Maintenance

Support for a centralized system falls entirely on one of the parties and grows with an increase in the number of users and functionality.

Maintenance of individual nodes lies with the administrators of these nodes and allows for distributing the cost of maintaining the network. However, the value to be acquired versus these costs requires effective tokenization.

Interoperability

Integrability of the central system is relatively simple and is done by connecting adapters and/or agents.

Integration of decentralized systems is carried out by including nodes of a special type and building inter-network bridges. Such solutions require protocol consideration and scale worse than centralized counterparts.

Operational view

TCO

Total Cost of Ownership

Operational overheads are significant, while the system startup costs are relatively low. Costs rise as users and features increase.

Most of the costs are incurred at the stage of launching and popularizing the solution. In the future, the cost is distributed among a significant number of participants.

Use Cases

Applicable within a homogenous organizational environment. It is a classic solution for regular business models. Main applications: portals, ERP, CRM.

Has appeal for building ecosystems, integrating disparate actors, and operating in the absence of a trusted environment.

Application: cryptocurrency, asset tokenization, logistics, quality control, and more.

Advantages

Ease of use; technology maturity

Scalability and resilience through node autonomy

Limitation

Limited development potential due to scaling issues. Lack of mechanism to effectively balance the interests of participants.

Not suitable for building small systems due to the cost/benefit ratio.

The above list of architectural features allows for the conclusion that there is no panacea, the only solution right for any objective, and that there is a need to take the business model into account when forming an effective solution. This approach leads to the formation of general principles for the design of decentralized systems, which are followed in DGT:

  • Decentralized distributed systems based on the DGT platform greatly depend on business requirements. An effective solution requires building a special business model.

  • Comparing DLT solutions is a difficult task. The most important decision is to support open standards and focus on the community supporting this class’s solutions.

  • Tokenization is mandatory for open and consortium-based solutions, as it allows you to control the distribution of the costs.

  • Blockchain solutions do not provide automatic security for data and require additional protection of end applications and mechanisms for protecting private data.

  • System scaling is directly related to its protocol (consensus) and must be considered in balance with security.

  • The classical principles of building software systems are also true for decentralized solutions. Complex solutions require detailed design and justification. The modularity of solutions is a mandatory requirement for their architecture.

  • The architecture of private and consortium-based solutions should include configuration and support management systems or community adoption of the technology.

One of the most important components of decentralized systems is the rules of consensus, a mechanism for agreeing on various data that determines which of the records (transactions) will ultimately be entered into a distributed database – a ledger (see ). Decentralized distributed systems do not have a built-in mechanism for synchronizing data at the time of their creation. In the asynchronous network model, the arrival of messages at a given point in the network is not guaranteed within a limited time, which may result in the possible loss of messages. Back in 1985, Fisher, Lynch, and Paterson published a theorem about the impossibility of a distributed consensus (the FLP Impossibility, the Fisher-Lynch-Paterson result). According to this theorem, a deterministic asynchronous system can have no more than two of the following three properties:

The F-BFT algorithm that forms the foundation of the DGT platform is designed so that it prefers Fault Tolerance and Safety to Liveness. Such decisions lead to an appropriate system architecture designed to support asynchronous transaction processing. The limitations of the security model resulting from the architecture are discussed in

Today, the name BLOCKCHAIN has become all-encompassing for a wide range of distributed and decentralized solutions. The name is based on a specific way of organizing data – literally in a chain of blocks. Classical blockchain systems pack transactions into blocks (through the so-called Merkle Tree), which in turn are interconnected so that each subsequent block contains the hash of the previous block's header. This data organization provides an easy check of data integrity and makes it impossible to replace previously saved transactions. Features of data organization are discussed in . Here we shall restrict ourselves to general remarks on approaches to data storage:

Blockchain (classic option, see Hyperledger Sawtooth, Security Assessment Technical Report. The Linux Foundation, 2017 | for example)

Directed graph (Directed Acyclic Graph, DAG) – used by the DGT Platform, (see Lima, C. “Developing Open and Interoperable DLT\/ Blockchain Standards [Standards]” in Computer, vol. 51, no. 11, 2018, 106–111. | )

BlockMatrix (see Gavin Wood, Ethereum Yellow Page: A Secure Decentralised Generalised Transaction Ledger, 2022 |)

section 3.4
paragraph 3.6
Available on foundation site
Available at IEEE Site
Available at github
Available on foundation site
3.3.8
Figure 5 DLT/Blockchain Architecture View from IEEE 42010 (IEEE, 2022)
3.7.1.2