Skip to content

Developer documentation for the Accumulate protocol

License

Notifications You must be signed in to change notification settings

Pete-LunaNova/accumulate-docs

 
 

Repository files navigation

cover coverY
.gitbook/assets/accumulate-twitter-cover-1-22.png
0

Introduction

What is Accumulate?

Accumulate is a unique blockchain network built to address blockchain technology's most significant fundamental issues like security, validation, scaling, pruning, and integration.

Accumulate is the first blockchain to be organized entirely around Decentralized Digital Identity and Identifiers (DDIIs). Accumulate Digital Identifiers (ADIs) have powerful and novel uses within Accumulate to allow the blockchain network to be applied to a huge set of use cases.

ADIs allow smart contracts, consensus building, validator networks, and enterprise-level management of digital assets beyond the simple and constrained smart contract-based frameworks of other blockchains.

Accumulate blockchain is a network of blockchain services, data, and endpoints for processes supporting payments, business, education, regulation, entertainment, social networks, etc. To this end, Accumulate will be the first indexable blockchain using URLs to index anything within Accumulate.

Why Accumulate?

You should choose Accumulate as your blockchain protocol because of the following features.

  • Decentralized Identifiers
  • Key Management
  • Architecture
  • Synthetic Transactions
  • Scratch Accounts

Decentralized Identifiers

While most protocols today are tied to the paradigm of public-private keys to store and access records, Accumulate is the first blockchain organized around decentralized, self-sovereign digital identifiers. Creating user-friendly, application-friendly, maintainable identifiers is an important challenge this protocol addresses. The core organizational structure used in Accumulate is the Accumulate digital identity/identifier/domain (ADI). Each ADI is uniquely identified by a URL, which facilitates user-friendly, application-ready Web3 integrations.

Key Management

Any organization that handles data has a system of access control for the various levels of authorized users on their system. Accumulate reproduces this capability within a blockchain protocol by providing each ADI with the ability to create Key Books for defining these access controls. Key Books define how decisions are to be made and even how the Key Book itself is managed. Each ADI must contain at least one Key Book, but multiple Key Books may be specified. A Key Book specifies a set of public key hashes and key book authorities organized and prioritized as Key Pages. Prioritization of Key Pages enables the management of security within an ADI.

Architecture

ADIs are distributed over a set of Tendermint networks, each of which is referred to as a Block Validator Network (BVN). Each BVN is responsible for a particular set of ADIs, and as the Accumulate Network grows, more BVNs can be added to scale and maintain high throughput. BVNs feed into a Directory Network (DN) which captures the state of all the BVNs. Each ADI is treated as having its own state and set of accounts and chains. Each ADI is updated independently from the state of other ADIs. This highly branched design allows more parallel processing and greater freedom to distribute the responsibilities of processing state across many networks. This allows for fast transaction finalization and short block times.

Synthetic Transactions

Since each ADI has its own state, transactions that are routed to an ADI must be processed independently of all other ADIs in the network. This becomes challenging when two or more ADIs are involved in a transaction. Accumulate's solution is to generate an additional transaction that performs settlement within an ADI. Transactions generated by the protocol in response to transactions initiated by a user are called synthetic transactions.

Scratch Accounts

Another key vulnerability in many blockchains is the off-blockchain processes that are needed to arrive at an entry on the blockchain. Developers are faced with a trade-off between the expense and difficulty of showing their work on the blockchain and the lack of accountability when the work of coming to consensus is done off-chain. Accumulate provides scratch accounts, which reduce the cost of using the blockchain for consensus building. However, the data availability of scratch accounts is limited. Scratch accounts allow processes to provide cryptographic proof of validation and process without overburdening the blockchain.

About

Developer documentation for the Accumulate protocol

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published