Framework: analysis of DLT-systems

 3r3611. 3r3-31. This paper aims to determine whether the object being analyzed is a DLT system. The results obtained are well suited for a comparative analysis of different projects, ranging from the management structure, to the definition of references to which transactions refer. 3r3-3597.  3r3611. 3r3-3597.  3r3611. Framework: analysis of DLT-systems
3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33575. 3r33586. Technical analysis 3r33587. 3r33576. 3r3-3597.  3r3611. 3r33575. 3r33547. The protocol level is 3r33548. 3r33576. 3r3-3597.  3r3611. 3r33575. Genesis 3r33576. 3r3-3597.  3r3611. 3r3-3597.  3r3611. The protocol level refers to the processes that need to be developed and run before the network starts. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33575. Dependence on other networks. 3r33576. 3r3-3597.  3r3611. 3r3-3597.  3r3611. Dependence on other protocols, depends on the boundaries of the analyzed project. This determines whether the system can operate as an independent system (to be self-sufficient) or is under the dependency of another network. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33575. Table 1. Dependence on other systems 3r33576. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33575. The program code is 3r33576. 3r3-3597.  3r3611. 3r3-3597.  3r3611. The code can be based on an existing framework or written from scratch. The most popular frameworks are code databases from open source systems (Bitcoin /Ethereum). Also, there are databases with closed source code for closed platforms provided by projects such as Digital Asset /Clearmatics and SETL. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33575. Table 2. Program code 3r33576. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33575. Defining rules 3r3576. 3r3-3597.  3r3611. 3r3-3597.  3r3611. The introduction of rules refers to the definition of the set of rules on which the DLT system should operate. This process can be performed by different participants and is individual for a particular DLT system. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33575. 3r33547. Update protocol 3r33548. 3r33576. 3r3-3597.  3r3611. Protocol updates refer to existing processes that allow you to modify system rules. Updating the protocol can include eliminating technical errors (bugs), improving the security and functionality of the system, as well as extending or limiting existing protocol rules. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33575. Protocol control [/b] 3r3-3597.  3r3611. 3r3-3597.  3r3611. Protocol management refers to a set of decision-making processes that allow you to change a protocol in an orderly and legal manner. This is a subset of broader project management that covers the complete set of processes and norms that describe and define coordination and actions, but which cannot be embedded formally in the DLT system. 3r3-3597.  3r3611. 3r3-3597.  3r3611. An important element of any proposed protocol change is the way it is accepted and ratified — or, in other words, how legitimacy is provided at the suggestion of network participants. Since legitimacy in this context is a social concept, we find it appropriate to identify some of the possible “socio-political” relationships found in DLT systems. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33575. Table 3. Protocol Management 3r33576. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r3122. 3r3-3597.  3r3611. 3r3-3597.  3r3611. Protocol control takes many forms and is often unclear. Initially, DLT systems are characterized by anarchic power (free), there are no companies or groups of people responsible for making decisions. Most often, they are similar to the open-source movement management processes. An example of a discussion of protocol changes may be the communication of developers in a chat /GitHub /conference. Under dictatorial conditions, the process of discussing change may be exactly the same, but the final decision will be made by one person. In some cases, the form of protocol control can be defined by more than one type of government. For example, the EOS blockchain operates as a federation of manufacturers of blocks that are chosen by users who have an EOS asset in their possession. The weight of the voice is determined by the number of tokens held on the address. This type of government divides the protocol into two sides: the “elite” and the “ordinary” users, taking the characteristics of a hierarchical system: federation, democracy and plutocracy. 3r3-3597.  3r3611.
On-chain control, implies the inclusion of control functions at the data level. The goal is to formalize governance, thereby enhancing legitimacy and avoiding network splits due to disputes or inconsistent protocol updates. A diverse set of on-chain voting schemes have been developed for DLT systems, ranging from a community mood barometer to referendums. However, on-chain control functions, as a rule, are only an addition to other forms of control.
3r33575. Change Protocol 3r33576. 3r3-3597.  3r3611. 3r3-3597.  3r3611. The actual process of updating the protocol implies: 3r33597.  3r3611. 3r3-3597.  3r3611. 3r33352.  3r3611. 3r33357. software update on GitHub, if it is an open-source project;
 3r3611. 3r33357. client update if it is a closed source protocol;
 3r3611. 3r33357. Customers running on the old program code may be considered irrelevant and blacklisted;
 3r3611. 3r33357. clients running on old software code form a fork, which leads to the creation of an alternative version of the protocol.
 3r3611. 3r33360. 3r3-3597.  3r3611. 3r33575. Table 4. Protocol change form 3r33576. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r3164. 3r3-3597.  3r3611. 3r3-3597.  3r3611. Different DLT systems use different methods to update the network. For example, Ethereum accepts donations to finance development, and also updates the network using software from developers funded through grants. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33575. 3r33547. Network level 3r33548. 3r33576. 3r3-3597.  3r3611. The DLT protocol network is a direct result of the implementation of protocol rules. The network consists of the coordinated work of participants and processes that adhere to the technological standard (protocol) and actively participate in the exchange of data and information via certain communication channels. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33575. 3r33547. The process of communication 3r33548. 3r33576. 3r3-3597.  3r3611. The process of transferring data between members of the DLT system. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33575. Network access [/b] 3r3-3597.  3r3611. 3r3-3597.  3r3611. Access to the network implies the ability to connect to the protocol, it can be limited or unlimited. 3r3-3597.  3r3611. 3r3-3597.  3r3611.
 3r3611. 3r33357. 3r33575. Unlimited access [/b] - any user can freely connect /disconnect at any time;
 3r3611. 3r33357. 3r33575. Restricted access [/b] - only certain users can connect to the network, usually this is controlled by a designated subject.
 3r3611.
3r3-3597.  3r3611. As a rule, systems with unlimited access are not limited in the number of participants, while closed networks may establish a limited number of participants. 3r3-3597.  3r3611. 3r3-3597.  3r3611. Usually, participants gain direct access to the network by launching full nodes: they are considered “elite” with a large set of rights, since they can send /check and send record data. Network members can also get indirect access to the network by running “light clients” that request data from complete nodes by connecting through a special service (API). 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33575. Table 5. The form of access to the network 3r33576. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33232. 3r3-3597.  3r3611. 3r3-3597.  3r3611. As a rule, the more open a system is, the more susceptible it is to attacks. In particular, these systems are vulnerable to the Sibyl attack, when an attacker creates many fake personalities to increase the impact on the network. 3r3-3597.  3r3611.
A sibyl attack is a type of attack where an attacker gains access to or hides a change in the protocol, creating many false personalities.
Since identification is an exogenous (ie, “real”) property, the DLT system cannot prevent these attacks, it must rely on external participants (certification system) or mechanisms that reduce the likelihood of an attack (PoW /PoS). 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33575. Sending data 3r33576. 3r3-3597.  3r3611. 3r3-3597.  3r3611. Data transfer is the process of distributing data to connected nodes. The data may be raw /unformatted or standardized for a specific format (for example, in the form of a transaction or record). Data can be transferred to each node (universal diffusion), or only to a certain subset of nodes (multichannel diffusion). In the latter case, the dissemination of data is usually limited to the parties to the transaction. This allows you to create a "channel" for data transmission, usually by this means sharding /Lightning Network. 3r3-3597.  3r3611.
Early DLT systems (for example, Bitcoin, Litecoin) use a universal data distribution model, which still remains the most popular data dissemination method.
In order to maintain anonymity and privacy for companies, in later systems a multi-channel diffusion model is implemented (for example, Hyperledger Fabric, Corda). Other systems, such as Cosmos, are designed to act as “Hubs” so that independent DLT systems can be interconnected by sharding. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33575. Table 6. The form for sending data 3r33576. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r3-3597.  3r3611. An example of multichannel data diffusion is that not all network participants should be involved in reaching consensus on channel status: only channel participants must achieve consistency over the data stored in this channel (“local” consensus). This is significantly different from systems with global data diffusion, since each individual node must come to a consensus on the global state of the system (“global” consensus); the impossibility of reaching a consensus of certain nodes may lead to their disconnection, or the creation of a fork. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33575. Creating a transaction 3r33535. 3r3-3597.  3r3611. 3r3-3597.  3r3611. The transaction creation process contains a set of instructions that will be executed after a transaction is added to the network. Transaction creation may be unlimited (i.e. accessible to all) or limited to some participants. Transactions are created by users signing a message with their private key. Various interfaces are available for users to create and send transactions to the network (for example, PCs and mobile wallets). 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33575. The process of transaction processing [/b] 3r3-3597.  3r3611. 3r3-3597.  3r3611. Transaction processing describes the set of actions required to add an unconfirmed transaction to the confirmed list. A transaction is considered (previously) valid after being added to the list (“confirmed”), which results in the execution of instructions embedded in the transaction. However, confirmation alone is not enough for this transaction to become the basis for subsequent operations; before the transaction outputs can be used by the system. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33575. Figure 1. Transaction processing in the DLT system 3r3576. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33300. 3r3-3597.  3r3611. 3r3-3597.  3r3611. Records are subject to a specific consensus algorithm used in the DLT system. This includes the process of determining whether the proposed entry is valid, as well as rejecting invalid entries (for example, entries that are defective or incompatible) and choosing between different, but equally valid entries. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33575. Candidate for the record [/b] 3r3-3597.  3r3611. 3r3-3597.  3r3611. Records that may in future be moved to the list of confirmed transactions are sent by the creators of the blocks, who select them from the list of unconfirmed transactions and combine them to form candidates for entry into the list of confirmed records. There are two properties that determine the right to send a record and its future inclusion in the list of verified records. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33575. Table 6. Forms of creating records 3r33576. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r3-3597.  3r3611. Since the records are subject to consensus, they must adhere to the rules of the protocol. First, they must be correctly formatted and not contain invalid or invalid transactions. In addition, each entry should include a link /pointer to the previous entry and, if necessary, use PoW or any other method that complicates the conduct of the Sibyl attack. 3r3-3597.  3r3611. 3r3-3597.  3r3611. The consensus algorithm can be classified according to its level of complexity (electrical /cash costs). Algorithms with an unlimited level of complexity are measured in the resources that are necessary to achieve a consensus. For example, in the case of calculating PoW Bitcoin, the difficulty of finding the right solution increases as the complexity of data hashing increases. Quite the contrary, other algorithms work (for example, the task of the Byzantine generals /BFT) do not require significant computational costs and have limited complexity. 3r3-3597.  3r3611. 3r3-3597.  3r3611. In open systems, an algorithm should be provided that reduces the chance of a Sybil attack. Private (closed) systems check each participant before allowing them access to the network connection, which prevents the possibility of an attack. In closed systems, a group of nodes usually tends to choose one node that will create blocks. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33575. Conflict resolution [/b] 3r3-3597.  3r3611. 3r3-3597.  3r3611. Conflict can be caused by several reasons: 3r33597.  3r3611. 3r3-3597.  3r3611. 3r33352.  3r3611. 3r33357. participants disagree on which version of the protocol is relevant;
 3r3611. 3r33357. participants disagree on verified transactions.
 3r3611. 3r33360. 3r3-3597.  3r3611. In the event of a situation of the first item in the Bitcoin network, the network selects the longest block chain as the real one and ignores the shorter one. In Tezos, the validity of a block with another is determined by “block weight”; the weight here is the number of “approvals” from validators, whichhe gets a random way from the steakers. 3r3-3597.  3r3611.
Any consensus algorithm carries a number of trade-offs
3r33575. Table 7. Forms of transaction processing motivation 3r33535. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33333. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33575. Validation 3r33576. 3r3-3597.  3r3611. 3r3-3597.  3r3611. Validation refers to the set of processes necessary to ensure that entities independently arrive at the same conclusion regarding an approved set of records. This includes: checking the transactions sent /checking the recorded data /checking the overall network status. This one is important to distinguish from non-DLT systems, since it provides participants with the opportunity to conduct an independent system audit. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33575. Verify transaction 3r33535. 3r3-3597.  3r3611. 3r3-3597.  3r3611. Verifying a transaction is to ascertain whether an individual entry conforms to the protocol rules before transferring it to other subjects. This includes: the correctness of the transaction format, the presence of an appropriate signature and the fulfillment of the condition that the transaction does not conflict with any other. In some systems, there may be a system that prohibits transactions from occurring until a certain point in time or another reason. Usually, such conditions are met by smart contracts. 3r3-3597.  3r3611.
The 51% attack is a case where a participant or several participants combine their computing power (voices) and process transactions on the network faster than the rest of the protocol. Such attacks allow you to conduct invalid transactions and record them as valid ones. Particularly vulnerable is the system using PoW
3r33575. Record checking 3r33576. 3r3-3597.  3r3611. 3r3-3597.  3r3611. Verification of the entry to be sent, allows you to make sure that the entry conforms to the rules of the protocol. If the proposed entry is recognized as valid, it is added to the list of confirmed entries and is relayed to all connected nodes on the network. Although, this process is different in each system, but, as a rule, it is similar everywhere by general principles, for example, checking that PoW work was performed on a transaction. The combination of checking the sent transactions and their subsequent recording by the validators provides the possibility of an independent audit of the entire system. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33575. Transaction Record 3r33576. 3r3-3597.  3r3611. 3r3-3597.  3r3611. The confirmed transaction /record is not necessarily irreversible. The irreversibility of a record can be probabilistic in nature (for example, a PoW-based system in which it is impractical to re-calculate all recorded transactions), or systems that include “checkpoints” that must be assigned to each transaction. Confirmed entries may be called immutable, but those entries that have been “pre-confirmed” may be canceled. Pre-confirmed records become unchangeable after overcoming the transition state from “pre-confirmed” to “confirmed”. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33575. Figure 2. Transaction processing in DLT systems 3r3576. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33424. 3r3-3597.  3r3611. 3r3-3597.  3r3611. Figure 2 describes a schematic description of the process that occurs during the processing of a transaction. First, the user creates a transaction and sends it to the network. Each node checks if the transaction complies with the protocol rules. If it is considered valid, the node adds the transaction to its list (mempool), where all unconfirmed transactions are stored, waiting to be added to the list of confirmed transactions. 3r3-3597.  3r3611. 3r3-3597.  3r3611. At the transaction processing stage, nodes randomly select unconfirmed transactions from their mempool and then merge them together into a list of “pre-approved” transactions. Further, the transactions will be verified in accordance with the consensus algorithm in order to offer these transactions to all other participants in the network. Nodes will view received transactions and their contents; if a transaction passes validation, the transaction is added to the node list. Lists with transactions of each node are eventually sent to a single, most important list of confirmed transactions and will be considered completed. 3r3-3597.  3r3611. 3r3-3597.  3r3611. However, confirmed transactions can be "canceled" due to an alternative transaction, which means that at the settlement stage, transactions can be canceled - in this case, they are returned to the nodes as unconfirmed transactions, waiting for the creation of a new transaction list. The transaction processing time at the “Settlement” stage depends on the settings of a single system. Some systems implement instant transaction recording and irrevocability, but some protocols have “probabilistic” completeness, in the sense that, in theory, transactions can be canceled. In practice, however, the likelihood of this action decreases with each new transaction added, since the costs of nodes associated with PoW can become high. While transactions are at the “settlement” stage, they cannot be considered “completed”. The transaction settlement process enhances the assurance that transactions are precisely included in the lists of all participating nodes, rather than being stored only on local nodes, this helps prevent double waste attacks. 3r3-3597.  3r3611. 3r3-3597.  3r3611. Some systems implement a system of “control points” to limit the possibility of “long-range” attacks. In the event of this attack, the node creates an alternative chain with its personal transactions (which are stored only in it), these transactions do not appear on the network, but are immediately sent to the nodes in the “settlement” phase to force other nodes to replace them with its local transactions. “Control points” are blocks that will never be canceled or replaced. As a result of control points, attack "reach" decreases. However, control points increase the risk of creating a fork. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33575. Table 8. Properties of confirmed transactions 3r33576. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33575. 3r33586. The data level is 3r?387. 3r33576. 3r3-3597.  3r3611. The protocol level determines how the system will work and which rules to follow. The network layer implements the underlying principles of the protocol. Together, the protocol and network layers form the basis for the data layer, which accumulates over time as transactions are recorded in the list of confirmed records. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33575. Operations 3r33576. 3r3-3597.  3r3611. 3r3-3597.  3r3611. The operations component includes all the processes by which participants perform interactions with the system. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33575. Data Sources 3r3–3576. 3r3-3597.  3r3611. 3r3-3597.  3r3611. The input process refers to the source or method of obtaining data for the protocol. Data sources can be internal or external, which may reflect active user interaction with the system, a change in the state of the protocol caused by an internal system process or received from outside (for example, a transaction sent from another protocol) or a smart contract. 3r3-3597.  3r3611. 3r3-3597.  3r3611. We define internal input sources as any record or transaction created by the user or due to the result of user interaction with the protocol. External input sources, on the other hand, are the result of input from other systems that interact with the protocol, but which are in principle separate from the underlying platform (i.e. they are dependent or interoperable). Hybrid protocols allow users to transfer transactions using "payment channels - the state channel" at any time, but the development of these methods is still at an early stage. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33575. Table 9. Data entry forms 3r33576. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33575. Software executable transactions 3r33576. 3r3-3597.  3r3611. 3r3-3597.  3r3611. Not all data level changes are a direct result of internal or external input data. Some changes in the system occur due to the execution of instructions of the program code. A prime example is smart contracts. When executing the pledged program code, a change in the network state occurs in the protocol, for example, a transaction occurs that is recorded in the confirmed list. Some DLT systems only support scripting language (scripting). For example, Bitcoin Script, it works in a simple scripting language that allows you to create restricted-simple programs. Such systems are called Stateless. Ethereum (Solidity), Tezos (Michelson) and EOS (WebAssembly) - these systems support Turing-complete programming languages ​​to develop complex smart contracts, and Bitcoin and Monero use a scripting language that allows limited operations. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33575. Table 10. Properties of software-executable transactions 3r33576. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r? 3517. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33575. The actual execution of the calculations is 3r33576. 3r3-3597.  3r3611. 3r3-3597.  3r3611. The location of the program determines where the calculations take place. As a rule, the place of execution can be within the network - on-chain or off-chain (outside the network). On-chain calculations are performed on each node. This environment can vary from a simple virtual machine, both to a scripting language, and to be complex (EVM is an Ethereum virtual machine), which ensures the execution of Turing complete programs. Smart contracts in the on-chain are launched by each node in the network and, therefore, are often called "self-executing". 3r3-3597.  3r3611. 3r3-3597.  3r3611. Off-chain computations are performed in environments that are external to the protocol. The event that runs the program code occurs on the on-chain, and the calculations take place on another system, without loading the main network. Also, there is a hybrid (Hybrid) application launcher, for example, Plasma in Ethereum. Or, for example, Cosmos, where the main network serves as a "center", but the calculations themselves occur in the child networks. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33575. Table 11. Properties of the execution of program-executable transactions 3r33576. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33542. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33547. The component of the journal 3r33535. 3r3-3597.  3r3611. 3r33575. References [/b] 3r3-3597.  3r3611. 3r3-3597.  3r3611. From the moment users start interacting with the DLT system, the log is updated over time. However, the magazine is an abstraction. All processes that occur in a DLT system are specific to a particular protocol. For example, an electronic payment protocol should contain information about assets owned by specific users. On the other hand, the DLT system, which includes smart contracts, must have its own virtual machine that implements the execution of program code. Therefore, the concept of the magazine is an abstraction. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33575. Types of links [/b] 3r3-3597.  3r3611. 3r3-3597.  3r3611. There are four different types of source dаta: endogenous, exogenous, hybrid, and self-referenced data. 3r3-3597.  3r3611. 3r3-3597.  3r3611. Endogenous (internal) links refer to data that track information about variables that are “native” to the system. For example, in Bitcoin, one endogenous reference variable is used to track the number of bitcoins that users had at a given time. This internal variable is updated as the user sends and receives Bitcoins to other addresses. Exogenous (external) reference refers to data that tracks information about variables that exist outside the system. Hybrid reference refers to data that has both endogenous and exogenous characteristics. There is still a fourth type, which is neither endogenous, exogenous, nor hybrid: it is a neutral or empty data type — it is a self-referential reference. For example, a smart contract is simply a piece of code that can be executed when certain conditions are met. Although the smart contract may require information about external or internal system variables, the code itself does not have an internal reference to anything outside of itself (“null link”). 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33575. Table 12. Link types and their meanings 3r33576. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r33586. Conclusion 3r33587. 3r3-3597.  3r3611. This paper aims to determine whether the object being analyzed is a DLT system. The results obtained are well suited for a comparative analysis of different projects, ranging from the management structure, to the definition of references to which transactions refer. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r? 3594. 3r3-3597.  3r3611. 3r3-3597.  3r3611. 3r3599.
3r3611. 3r3611. 3r3611.
3r3611.
3r3611. 3r3611. 3r3611. 3r3611.
+ 0 -

Add comment