LEARN

Accumulate Frequently Asked Questions

Introduction

What is Accumulate?

The Accumulate Protocol is an identity-based, Vetted Delegated Proof-of-Stake blockchain, with secure, scalable, and extensible features to power DeFi applications.  Accumulate can serve as a DNS service for the internet. Other chains under Accumulate can be addressed in a standard way via URLs. A transaction between chains could be accomplished with Accumulate serving as both the communications layer and an audit layer.  Accumulate will drive DeFi adoption by delivering innovative solutions. In this respect, Accumulate will become “the bridge to the digital economy.”

What are the design goals of Accumulate?

Accumulate is designed to address the biggest fundamental issues with blockchain technology: security, validation, scaling, pruning, and real-world integrations. Accumulate allows the construction of protocols and smart contracts that use their own validators to define rules around transactions and data on the blockchain. In contrast, other blockchains define how users can make rules for the protocol to follow. Accumulate provides the infrastructure for users to define and enforce their own rules, which allows users to retain sovereignty.

What makes Accumulate different from Bitcoin, Ethereum or other blockchains?
Accumulate enhances and helps layer 1 protocols like Bitcoin and Ethereum with interoperability that brings speed, scalability, and economical fees. As such, Accumulate helps layer 1 protocols grow their market size. Accumulate is a paradigm shift for how blockchains manage data, tokens, and users. Accumulate is the first blockchain to be completely organized around digital Identities, rather than pseudonymous addresses as is the case with blockchains like Bitcoin.

Accumulate uses Accumulate Digital Identities/Identifiers (ADIs) as its core organizational structure. Accumulate leverages ADIs to build powerful application/blockchain integrations. ADIs are used to collect, organize, validate, and publish data to smart contracts on Ethereum, Solana, Tezos, Cardano, Bitcoin, and other blockchains. ADIs give users the tools they need to dynamically model, manage, and maintain the dynamic nature of blockchain, application, organization integrations.

  • Supporting a user’s need to leverage digital identities by coordinating on chain voting, polling, and group decision making
  • Supporting dynamic distributed validators for decentralized blockchain and application integrations
  • Using the Validator/Accumulator architecture to provide high performance, low cost transactions and data
  • Separating the security and control from the organization of digital assets
  • Addressing all blockchain artifacts via URLs, including the accounts that hold tokens and data for users and applications
  • Providing for “Virtual Blockchains” that extend the control of smart contracts on other blockchains over digital assets on Accumulate

Accumulate succeeds through its ability to create dynamic and distributed integrations between many platforms both in the real world and the entire crypto sector. This is possible by concentrating on Accumulate Digital Identities/Identifiers (ADIs), not smart contracts.

How does Accumulate enhance existing Layer 1 and 2 solutions?

Accumulate enhances existing layer 1 and 2 solutions by providing a path to high transaction rates, low predictable costs, enhanced security, URL addressing, and robust digital identity capabilities.

Using Accumulate, Dapps can funnel tens of thousands of transactions a second into their hosting layer 1 and 2 platforms. Transactions recorded in Accumulate are anchored directly into other platforms, such as Bitcoin or Ethereum to provide cryptographic proofs accessible directly from the host platform. Using Accumulate, for example, an Ethereum based Dapps could support payment rails requiring thousands of transactions per second.

Accumulate allows Dapps to store data and transactions at an affordable cost point and provides a predictable cost model. Transaction costs on Accumulate are held constant by the protocol as businesses cannot be successful without a predictable cost model. The data and transaction are then anchored into layer 1 and 2 solutions for cross-chain access ability.

Accumulate addresses layer 1 and 2 security issues by providing hierarchical private keys. Rather than associating addresses, identities, and other digital assets with a single private key Accumulate uses a set of hierarchical private keys. A compromised or lost key can be replaced using  higher priority keys. By leveraging the Accumulate key management capabilities projects can painlessly add support for standard enterprise security features like key rotation and key recovery.

Accumulate provides human-readable URL-like addressing rather than randomly generated hexadecimal addresses. Using Accumulate Dapps built on existing projects can create less error-prone and more user-friendly human-readable addressing schemes that span, not only the host project but multiple projects.

Accumulate organizes the blockchain under identities, rather than by randomly generated addresses. Existing layer 1 and layer 2 projects can leverage Accumulate identities to model the real world of companies, divisions, campuses, IoT devices, and so on.

The combination of human-readable URLs and identity services provided by Accumulate will facilitate the creation of true Web 3.0 applications on top of existing layer 1 and 2 solutions. At the same time, Accumulate provides the pathway to transaction speeds to support real-world problems at a cost that will fit into real-world budgets.

How does Accumulate address the blockchain trilemma problem?

Accumulate addresses the blockchain trilemma by completely rethinking how a blockchain should be organized. The trilemma is a direct consequence of the address focused design of first generation blockchains. In Accumulate, everything is organized by identity and every identity is already sharded into its own chain. A transaction between identities will only touch things held in those identity chains, allowing partitioning by identities and true parallel processing. Scaling simply requires more nodes to increase the number of available partitions while maintaining enough nodes in each partition to ensure decentralized security.

How many transactions can Accumulate process and how is high TPS achieved?

Accumulate’s TestNet has shown that we can execute up to 70,000 transactions per second. The transaction rate of Accumulate is bounded by the number of block validators, and the number of transactions each block validator can process. As Accumulate usage grows, the number of transactions that block validators can process can be increased, and the number of block validators can be increased. By scaling up, processing millions of transactions per second is possible.

What is Accumulate’s footprint?
Unlike most distributed ledger platforms, Accumulate has a small footprint whereby a lite node can run on smart phones. As a result, transactions can be fully verified against the entire chain with minimal connectivity such as a mobile phone in rural areas.
How do tokens work in Accumulate?

In Accumulate, transactions are managed in individual token chains identified by the chain’s URL (account). Each token chain represents a list of transactions created by a user against an account, and the deposits created externally to the account. This works much like how typical bank accounts manage dollars.

This partitioning of tokens across individual chains contrasts with blockchains like Ethereum, which record and validate transactions for every account and address in a single ledger.

Each account holds a particular type of token. An Identity can hold accounts for many token types, and even multiple accounts for the same token type. For example, an account can be created for long term savings, and a different account for payments.

Users can also issue their own tokens, and those tokens will be identified by the token’s URL. These user tokens are handled just like the native Accumulate tokens. Users can manage their tokens and define rules for their tokens just like the protocol does for Accumulate tokens.

Is Accumulate suitable for peer-to-peer transactions?
Accumulate supports peer-to-peer transacting. Tokens can be issued by different organizations and protocols to provide the ability to do peer-to-peer transactions in tokens from across the blockchain ecosystem that otherwise would be limited by scale or infrastructure. Transaction fees are not only kept low but also at a fixed, stable rate, allowing users and organizations more seamless management of budgets for on-chain operations.
What advantages does Accumulate have over existing protocols?
Accumulate breaks up the functionality of the blockchain into separate, simple pieces. These pieces can be processed independently and in parallel to give the protocol an unprecedented ability to scale. Accumulate also gives users the ability to add validation rules they process themselves and export those rules across the accumulate protocol. This adds to the processing that is done on Accumulate, without adding any additional overhead onto the Accumulate protocol.
What are some of the benefits of Accumulate?
The novel architecture of Accumulate provides an infrastructure needed in the crypto space to deliver real world applications on the blockchain. Smart contract based blockchains are abound, but many use cases need better integration with logic executing off the blockchain, and management of data on the blockchain. Additionally, cryptocurrencies need better wallets for payments, understandable and secure accounts for token transactions. The user experience needs to be easier. Explorers need to be able to present an individual’s view of the blockchain, not what is easy for blockchain developers to use. Blockchains also need to be scalable require unbounded transaction rates as a blockchain platform grows.
What problems is Accumulate trying to solve in the blockchain ecosystem?
Real world business is rooted in identity. The ownership of an account, the responsible party, and the source of the data attesting to value are all examples of identity. Our protocol is built around identities and lists of data owned by identities. Building on identity, rather than addresses, creates a protocol that can seamlessly interact with the real world through URLs which are already the backbone of web commerce. Using this method, simple to create oracles and smart contracts are not constrained to run on chain.

Freeing smart contracts from the limitations of running on chain, frees them to interact asynchronously with the rest of the financial universe. Breaking smart contracts free of the walled garden inherent in existing protocols means new smart contracts can be built using an organization’s existing technology stack. No new, special purpose, tools and languages are required and all the attendant costs and risks of introducing new technology.

How is interoperability achieved between Accumulate and other layer 1 protocols?
Accumulate writes cryptographic anchors into external layer one protocols such as Bitcoin, Ethereum, and Solana thereby further securing data within Accumulate with the full power of these external networks. Anchors also enhance interoperability and provide cross–chain cryptographic proofs. Accumulate, through anchoring, provides exceptional security as the security models of Accumulate, Bitcoin, and Ethereum, at a minimum, would have to simultaneously be compromised to compromise Accumulate. Furthermore, the small footprint of Accumulate will allow consumers, in most cases, to retain entire copies of ledger segments pertaining to their transactions on smartphones creating high optimization.
How will existing and future technology stacks leverage Accumulate into their platforms?
Accumulate will provide Web and Rest APIs to create transactions, access data, make payments, and manage security.
Does Accumulate do anything to address the Blockchain Oracle Problem?
The Blockchain Oracle Problem refers to the fact that smart contracts that manage real world transactions and processes must somehow utilize data from the real world that does not naturally exist on the blockchain. Some entity or entities must provide that data. ADIs provide the mechanism to organize the entities that collect, attest, and write data to the blockchain. ADIs can use managed chains to apply real world data to transactions on the blockchain.
Is Accumulate’s technology patentable?
The creators of Accumulate are industry leaders in producing patentable blockchain technology. The patent portfolio is robust and foundational, reflecting creators’ pioneering efforts in blockchain long before the current crop of adopters. From as early as 2017, patents have been filed for fundamental blockchain innovations including, but not limited to the following:  

 

Issued Patents   Factom #  Patent # 
Validating Documents via a Blockchain  1  10,419,225 
Secret Sharing via Blockchains  3  10,411,897 
Auditing of Electronic Documents  7  10,817,873 
Due Diligence in Electronic Documents  8  10,685,399 
Data Reproducibility using Blockchains  9  10,270,599 
Secret Sharing via Blockchain Distribution  9 CON1  10,693,652 
Import and Export in Blockchain Environments  12  10,783,164 

 

Patents that have been issued to Factom as well as Inveniam will serve as the intellectual property foundation for the Accumulate Protocol.

Who designed the Accumulate Protocol?
The Accumulate protocol is designed by Paul Snow. Paul Snow is the Chief Blockchain Scientist at Inveniam and its subsidiary DeFi Devs. Previously, he was the CEO and chief architect of the Factom protocol and co-author of the Factom White Paper, developing and implementing a “multi-leader” consensus algorithm for the blockchain network. Of note, he was founder and chief architect for DTRules, an open-source project providing decision table-based rules engines. He is listed as inventor on many of Factom’s 40+ patents, both issued and in progress, which were recently acquired by Inveniam Capital.

Along with Paul, the team consists of blockchain engineers, technologists, executors, and SMEs, with an extensive experience who have previously built and launched successful blockchain products.

What is Accumulate’s relation to Factom?
The Accumulate protocol is based on many of the best concepts that came of the Factom protocol, including data and identity focus while combining the components in a new and unique configuration. The Factom team has learned much from launching and running the Factom protocol since 2015 and those lessons are being incorporated into Accumulate while at the same time leveraging the deep business acumen brought to the table by Inveniam and DeFi Devs.

Factom was acquired by Inveniam in Q2 2021. Inveniam’s subsidiary DeFi Devs is the lead community developer for Accumulate. Factom will hard fork to Accumulate in Q1 2022.

ACME & Credits
What is ACME?

“ACME” is the symbol of a cryptographic token used in the Accumulate protocol. The ACME token, which is a traditional spendable token, like, ETH and BTC and it is issued by the protocol to reward those providing services to the protocol. For example, Validators will be awarded staking fees in ACME.

Is ACME an ERC-20 token?
No, ACME is the native token to the Accumulate Protocol.
When will ACME launch?

ACME will launch in Q2 2022 with the mainnet release of the Accumulate protocol.

Will there be any public sale of ACME before the mainnet launch?

No, there will be no public sale of ACME before the mainnet launch. All Factom (FCT) holders will convert to ACME, so users can buy or hold Factom (FCT) if they would like to have ACME after the mainnet launch. 

Which wallets support ACME?

Presently, only the Accumulate Mobile Wallet. Other wallets for ACME will be announced in the future.

What will be the total supply of ACME and the activation block supply?

500 million will be the fixed total supply. Accumulate will be a hard fork of the Factom protocol. Upon activation of the fork, 150 million ACME will be created in the activation block with 50 million ACME created for the FCT conversion. The total ACME created in the activation block will be 200 million.

Where can ACME be bought?
This information will be available during or around the time of Accumulate’s mainnet launch. Users can currently buy FCT or WFCT to later convert to ACME at the ratio of 1 FCT to 5 ACME or 1 WFCT to 5 ACME.
Is there a burn rate for ACME?
ACME tokens will be burned to generate Credits to support protocol use. Credits tokens are burned to access and pay more network services. The burn rate of the ACME token will depend on demand for network services.
What is the conversion rate of Factom’s FCT to Accumulate’s ACME?

The conversion rate is 5:1. Holders of FCT will receive 5 ACME for every 1 FCT after the hard fork. The hard fork is expected to take place in Q1 2022.

What do I need to do if I hold FCT for it to convert to ACME?
If you have FCT in your own wallet, you will have to import your FCT into an ACME wallet. After the hard fork, a user would use their private key for their Factom wallet to access an Accumulate wallet that would contain the converted ACME (at a 1:5 ratio of 1 FCT to 5 ACME).

Detailed guides will be published on this in the future.

What do I need to do if I hold FCT on an exchange like Bittrex?

Bittrex and other exchanges with FCT will be updated for the conversion to take place. More information will be published on this in the future.

Will WFCT holders convert to ACME?

Yes, WFCT (Wrapped Factom) holders will be able to convert to ACME at the same ratio that FCT converts to ACME (1 FCT to 5 ACME). The conversion portal will be available at https://wfct.network

What is Accumulate’s Token Model?
Accumulate, like Factom, uses a two ‘token’ model which has two benefits. Accumulate’s two token model exists to support a dependable cost model for users of the protocol. In addition, it allows organizations that cannot hold crypto, for any reason, to use the protocol. Fees for network services are denominated in Credits and the cost of Credits is held constant by the protocol through a built-in oracle. Credits function like forever stamps. Credits are created by burning ACME tokens and are issued to an address when created and the protocol will not allow them to be moved. As non-transferable tokens, they have no value and so do not create a hacking target.
What are the benefits of having Credits in Accumulate?
Since the Credits cannot be moved, they cannot be traded and are therefore not a cryptocurrency. Having a wallet of Credits, on a server does not create a risk as they cannot be taken by a hacker as cryptocurrency could, greatly simplifying and de-risking the deployment of Accumulate applications.
What are the economics of Credits?
The network holds the cost of the Credits constant by adjusting the number of Credits resulting from burning an ACME based on the exchange price of the ACME. If the price of the ACME doubles, the number of Credits generated will double. In this way, $5 will always buy the number of Credits to create an identity. Likewise, the cost of using any service on the network will remain stable.

At the same time, as the network gets busier, putting demand on ACME tokens and driving up the price, the higher price of the tokens will both support the Validators, as they add additional hardware, and generate a greater supply of Credits to service the demand. The network will tend toward a natural balance point at any demand level.

Transactions

What is Accumulate’s fee model and how is Accumulate able to achieve low predictable fees?

In our model, the fees are burned, rather than going to the Miners/Authority Nodes/Validators. In this way, their incentive is fully aligned to maximizing the value of the network rather than trying to produce the set of transactions that will maximize fees. In addition, economic values can be realized by building application on Accumulate protocol due to low and predictable transaction costs. Fees will be dependent on the actions taken by the end user including: 

  • Identity Creation
  • Token URL Creation
  • Token Transactions
  • Data Chain Creation
  • Writing to the Data Chain (per 250 bytes)
  • Scratch Chain Creation
  • Writing to the Scratch Chain (per 250 bytes)
  • Token Issue
  • Key Update

 

What are synthetic transactions?
Synthetic transactions are any transactions that are generated by the protocol. These include transactions that deposit tokens into other token accounts, and refund amounts for failed transactions. Accumulate takes a pragmatic approach to defining the risk and independence of transactions across the protocol by using short block sizes and adding latency between the validation and recording of transactions, and the application of the outcome of a transaction to the state of the blockchain. Accumulate processes transactions as submitted by users of the protocol directly, but rather than these changing the state of the blockchain, user transactions create synthetic transactions that are then processed by the protocol. Because user transactions are limited to changing only one part of the protocol, they can almost always be processed in parallel. Since synthetic transactions are limited to changing only one part of the protocol, they too can be processed in parallel in following blocks.
How long are Accumulate block times, and how many blocks does it take for Accumulate to finalize transactions?
Unlike most blockchains whose blocks contain Merkle Trees, Accumulate uses a Merge DAG to store the state and blocks are used as simple time marks for the Merkle state. Accumulate operates using the concept of transaction flows, where transactions are final in as little as 1 second, and settle over a period of 3-6 blocks. The Accumulate block times are one second so transaction settlement happens in as little as 3-6 seconds.

Accumulate Digital Identifiers (ADIs)

What is an ADI?
Accumulate is a paradigm shift for how blockchains manage data, tokens, and users. Accumulate is the first blockchain to be completely organized 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 that go beyond the simple and constrained smart contract based frameworks of other blockchains.
The W3C Digital Identifier standard outlines how multi blockchain Digital Identifiers (DDIs) can be made interoperable. Why use ADIs instead of DDIs?
Accumulate implements and uses ADIs, which can be thought of as a low-level identity transport. As such, ADIs can support W3C DIDs, but they can also support any other Identity/Identifier protocol.
How can ADIs be used, and what do they add to various blockchain use cases?

ADIs allow smart contracts, consensus building, validator networks, and enterprise level management of digital assets.  ADIs coupled with Accumulate’s unique blockchain architecture allows validators to manage the content of the blockchain dynamically, so that smart contracts can integrate with real world operations. The ADI/Accumulate approach goes beyond the simple and constrained smart contract-based frameworks of other blockchains.  

What is a simple use case of ADIs?
ADIs allow the deployment of token gateways to give the ability of other blockchains to leverage the transaction speed and scale of accumulate. For example, 30 to 50 validators managing an ADI “A” can be used to validate the issuance of a token in Accumulate. A might wish to provide a gateway to Ether tokens. The validators ensure the Ether tokens locked up in Ethereum smart contracts match “A”’s issued Ether tokens on Accumulate. From there, “A”-Ether would be able to leverage the 70,000 TPS of Accumulate and trade between Accumulate users.
How are ADIs used to manage security, tokens, and data?
Users of Accumulate create ADIs, which manage the security and access to the chains within the ADI. In other words, an ADI controls the tokens and data in its own chains.

For instance, an ADI can have a token chain, which keeps track of token transactions and token issuance as well as a data chain that records data entries. Accumulate implements many innovations for organizing and securing a blockchain. One example is the key chain, whereby permissions tied to an ADI are managed by a hierarchy of keys. Another is the option of scratch chains to coordinate the construction of complicated multiparty transactions. Scratch chains are cryptographically secure but pruned from the long-term history of the blockchain.

Can ADIs be used to build networks of blockchain services, data, and endpoints for processes supporting payments, business, education, regulation, entertainment, and social networks?

Yes.

Protocol Overview

Can you show how URLs can be leveraged in Accumulate?

Naming services allow users to easily create human-readable URL addresses for their accounts. Optimized key management enables Accumulate to provide an accessible way for users to organize their accounts using these URLs. Traditional technology stacks easily integrate with URL addressable data and endpoints. 

The following table shows how Accumulate URLs compare to addresses on other major blockchains: 

Accumulate:  acc:// RedWagon 
Bitcoin:  1AALw9rFoX1DKBv57NtQo6Xsi6KVGPr2g3Mi2L2uCRWNY96cbcYdNidZLn2XGSh6jXdbc1qd9qdr257xpultejescdf72y4n005x39x43dnqn 
Litecoin:  LaMT348PWRnrqeeWArpwQPbuanpXDZGEUzM8T1B2Z97gVdvmfkQcAtYbEepune1tzGua 
Ethereum:  0xe2e3880095d133d341400b2b35c0195c7154ccfb 
Ripple:  rUkMKjQitpgAM5WTGk79xpjT38DEJY283d 
Polkadot:  14Y4s6V1PWrwBLvxW47gcYgZCGTYekmmzvFsK1kiqNH2d84t 
Cosmos:  cosmos1t5u0jfg3ljsjrh2m9e47d4ny2hea7eehxrzdgd 
Cardano:  Addr1qx7ct9a7mtxdksyvwuv74d77vm23xqt5umcdy0jx5sy880agqcflg9szn0d06vvwfte2lptddpzaxe0mfajyjz78 
Solana:  C8RYBpPEFdg5C1RBEDBFcHT1J9FjL8hNJprZMv3v967B 

 

The above table shows how the “RedWagon” company might use a URL to define an identity on Accumulate. Building from that identity, the RedWagon company can accept tokens from its URL. Sending 10 ACME from GreenRock to RedWagon could be done with a command like:  

tx create acc://GreenRock/Tokens key1 acc://RedWagon/Tokens 10 

If RedWagon wishes to issue a token, they could name such a token and direct it to another party:  

issue acc://RedWagon/Tokens acc://WagonToken 1000 

tx create  acc://RedWagon/Tokens GreenRock/Tokens WagonToken 10 

What is a Lite Token Account?

A lite token account is an unstructured account that is similar to an address such as Bitcoin, a string of non-human readable characters. Lite Token Accounts are free to create. Accumulate represents these accounts as so:

acc://bf3c639bbce4f523897050de8df9f34f49d8be7d9eb8fa11/ACME

Lite Token Accounts are not associated with an identity and are not acknowledged by the Accumulate network until they have ACME tokens or Credits.

What is an Accumulate Digital Identifier (ADI)?
An Identity or Accumulate Digital Identifier is a human readable URL that can represent users, institutions, devices etc.

An Identity has accounts which holds its assets, whether that is tokens, data, or keys.

An identity can be represented as so:

acc://Bob

Identities provide structure on the Accumulate Blockchain.

What is an ADI Token Account?

An ADI Token Account is one of the types of accounts an ADI can control. An ADI token account holds tokens. An ADI token account can be represented as so:

acc://Bob/Tokens/ACME

When you are sending or receiving tokens you would specify this URL.
Identities provide structure on the Accumulate Blockchain.

What is the relationship between Lite Token Accounts and ADI Token Accounts?

Lite Token Accounts can send tokens to other Lite Token Accounts or ADI token accounts. ADI token accounts can also send tokens to other ADI token accounts.

Can you have multiple ADI Token Accounts?
Yes, and you might want to have various token accounts for the same reason you can have a savings account and checking account at a bank. Both hold dollars but are used for different purposes.
How are URLs used in Accumulate?

One of the unique features BUILT IN (not requiring a Layer 2 solution) to the protocol is how Accumulate is structured using human readable URLs.

What are credits?
All actions in Accumulate require credits such as the creation of an identity, sending transactions, creating an ADI token account. Credits can be purchased using ACME and have a fixed cost. For example, creating an ADI costs $5 worth in credit tokens.

Lite Token Accounts can have both an ACME balance and a Credit Balance. Credits reside with an ADI on a Key Page and hold an ACME balance in an ADI token Account.

What is the business value of having fixed credits?
The value is that businesses do not have to worry about fluctuating gas fees and can project their total expenditures. Predictable fees are extremely valuable.
Are credits transferable?
Credits are non-transferable; however, you can buy credits on behalf of a party/entity with a Lite Account or an ADI.
Can you convert credits to ACME?

No, you cannot convert credits to ACME.

Can you buy credits with tokens other than ACME?
No.
How do you create an ADI?

Creating an ADI requires credits. To create an ADI, you need to use a Lite Account which has a credit balance or a previously created ADI that has a credit balance held by an ADI’s Key Page.

Can you explain the management of keys in Accumulate?
Managing a blockchain requires management of keys over time. The security around public and private keys is complex and difficult. The ability to update keys and upgrade technology over time is critical to building a blockchain to manage data and value for organizations. The keys for an Identity (e.g. signers on an account) can be managed so that new Identities do not have to be issued just because a company must shift responsibilities over time. Having a hierarchical set of permission-based keys ensures high security around tokens, data, and the management of that security over time.
What are key books?
Key Books store the Hierarchical Key Management Structure of an ADI using Key Pages and Keys within those pages. A Key Book is an ordered set of Key Pages by priority where any Key Page can modify itself or a Page of lower priority. Modifications include adding, updating, or removing keys. An account specifies what Key Book applies to any transaction within that account.

A Key Book can be represented as so:

acc://Bob/KeyBook

Can you create multiple Key Books?
Yes.
What are key pages?

A Key Page defines the set of Keys required to validate a transaction. A Key Page specify one or more Keys possible and how many such Keys are required to validate a transaction. As an example, a Key Page with an m of n of 3 of 4 means that the page contains 4 keys and 3 of those 4 keys are required to sign transactions. This transaction would be considered multi-sig whereas an m of n of 1 of 1 would be single-sig. Key Pages store credits.

A Key Page can be represented as so:

acc://Bob/KeyPage

Can you create multiple Key Pages?
Yes.
What are keys?
Keys are defined as the hash of the public key for a signature.
Can you have zero keys in the highest priority Key Page?
No, you need one key in the highest priority Key Page to modify itself and other Key Pages of lower priorities.
Can you modify your key without having to meet the m of n requirements in a Key Page?
Yes
When creating an ADI what Key Management needs to be assigned to it?

During the creation of an ADI, a Key Book, Key Page, and Key need to be assigned to it. If none are explicitly assigned, the name of the Key Book is acc://Bob/ssg0, the name of the Key Page is acc://Bob/sigspec0, and a named or unnamed Key.

When creating an ADI account what Key Management needs to be assigned to it?
When creating an ADI account, you specify a Key Book that will define the Key Management for that chain. As an example, at its creation, an ADI token account acc://Bob/tokens, uses a predefined Key Book ssg0 created by the ADI.
What are managed chains?
When creating an ADI account, you can specify an additional Key Book to sign a transaction. Given acc://Bob/tokens governed by acc://Bob/book and managed by acc://Alice/book, a transaction against Bob/tokens must be signed by both Alice and Bob.
What is an example of a use for a managed chain?

For example, a security token could be issued on Accumulate by Bob (an ADI) on a managed chain that Bob manages. These tokens could be distributed to other ADIs by sending tokens to token chains controlled by those ADIs but also managed by Bob. Because Bob is the manager of all chains that hold the security token, Bob could enforce the restriction that chains that hold the security tokens are accredited. Bob would reject attempts to send the token to chains not managed by Bob, or to ADIs that are not accredited.

Note that accreditation is a real-world status, and the protocol allows the validator(s) of Bob to use real-world platforms to establish the accreditation status of ADIs.

Can managed chains be used to implement sophisticated smart contracts involving large real world data sets?

Yes.

What is scratch space?

Accumulate provides scratch space on the blockchain that can be used by parties to come to consensus, but whose data availability is not retained by Accumulate forever. Scratch space allows processes to provide cryptographic proof of validation and process transactions without overburdening the blockchain.

Scratch Chain Features:

  • Coordination — multi-party transaction construction on the blockchain 
  • Limited availability — Not guaranteed after 20,000 blocks (about 2.3 weeks) 
  • Segregated witness — Bulky authorizations don’t bloat the blockchain 
  • Blockchain rewriting — Blends advantages of 1 second blocks with 10 minute blocks 
What is a pending chain?
A pending chain tracks transactions that haven’t been promoted to the main chain. As an example, a multi-signature that has an m of n of 3 of 4, with only 2 signatures, would sit in the pending chain until 3 of 4 were signed. In addition, if a manager hasn’t signed a transaction, the transactions would sit in the pending chain until the specified m of n was satisfied. The data that is produced in the pending chain is pruned every 2.3 weeks.
What is an ADI data account?
An ADI Data Account is one of the types of accounts an ADI can control. An ADI data account holds data. An ADI data account can be represented as so:

acc://Bob/Data

To write Data you would specify this URL.

What is a lite data chain?
A lite data chain is a chain that anyone can write data to, as opposed to ADI Data Accounts which requires specified keys.
What are scratch chains (ADI scratch data accounts)?
Scratch chains are identical to data chains, however, after 2-3 weeks the chain is compressed, and proof of the transactions is created. A proof is a logical argument used to show the truth of the operations made on the chain. This argument or proof contains less data than the scratch chain it is representing. This allows the blockchain to not be burdened with moving substantial amounts of data over the network.
What is a Token Issuer?
In Accumulate, users will be able to create custom tokens that can be used within the Accumulate protocol.
What is a Sub-ADI?

An ADI can contain another ADI. We call this a sub-ADI. While an ADI contains accounts, a sub-ADI contains sub-accounts.

What is a chain validator/executor?

Chain validators can be thought of as transaction executors. The actual code for executors is per-transaction (type), not per-chain. As an example, the creation of an identity would have a specified executor. The validation of the signature for instance is handled by the overall validator/executor.

What is a BVN (Block Validator Network? What is a BVNN (Block Validator Network Node)?

A BVN executes transactions against records. At the end of each block, the BVN collects Merkle DAG roots (anchors) from the transaction chain of records modified by one or more transactions in the block, appending them to the BVN’s root chain. The anchor from the root chain is sent to the DN. A BVNN is a node with a BVN.

What is a DN (Directory Network)? What is a DNN (Directory Node Network)?
The DN executes transactions against certain system records, such as the ACME token issuer. The DN also receives root chain anchors sent from BVNs, appending them to the DN’s BVN anchor chain. At the end of each block, the DN collects Merkle DAG roots (anchors) from the transaction chain of records modified by one or more transactions in the block (including the DN’s BVN anchor chain), appending them to the DN’s root chain. The anchor from the root chain is sent to all of the BVNs. A DNN is a node within a DN.
What are Network Anchors?

Anchors represent the state of a particular chain, BVN, or DN up to a certain point in time.

What are minor blocks?

Tendermint collects incoming transactions and presents them to the application in blocks, generally once per second. These are minor blocks. At the end of each minor block, for each record that was modified by a transaction within the block, a Merkle DAG root (anchor) is taken from the main transaction chain of the record and appended to the DN or BVN’s minor root chain.

What are major blocks?
Every 12 hours, the transactions executed in the last 12 hours (since the prior major block) are collected into a new major block. For each record modified by a transaction in the block, a Merkle DAG root (anchor) is taken from the main transaction chain of the record and appended to the DN or BVN’s major root chain.
How does Accumulate Anchor to other Layer 1 blocks?
An anchor is created from the latest Directory Network major block which is then anchored into a Layer 1 Blockchain such as Bitcoin.
How does Accumulate define blocks?
The Accumulate protocol defines minor blocks and major blocks. Minor blocks are once per second synchronization points of the Merkle trees. Major blocks are twice per day.
Smart Contracts
Does Accumulate support Smart Contracts?
Accumulate is a data and identity platform on which multiple smart contract layers are being built. Accumulate has an Ethereum Virtual Machine (EVM) platform on its roadmap and others will be following.

Accumulate supports smart contracts with unique qualities:

Smart contracts can be executed off-chain, due to the validation process being specific to the application on a particular chain. Smart contracts are not limited in terms of parallel execution, which is also allowed through Accumulate’s multi-chain architecture. Unlike first generation protocols, Accumulate does not force mixing the data layer and the application logic layers. All application code should be in one application layer, not split up, some of it on app servers, some of it in a blockchain as it is exponentially more difficult to maintain, test, and debug multi-platform code. The above engineering issue is one of the reasons for many of the very public and costly failures due to smart contract bugs in the DeFi space. Having multiple layers reduces risk because layered systems are far easier to test and less prone to costly bugs. Lower cost because layered software is easier to maintain.

What technology stack is required for creating Smart Contracts?
Through the ability to implement custom validators for sub chains Accumulate allows smart contract functionality to be built, by an organization, using their existing tech stack and tools rather than requiring special purpose smart contract tools. They can be managed, allowing the patching of security holes, and responding to real world events in ways typical smart contracts cannot. Organizations spend time and treasure building, testing, training on, and vetting a tech stack and Accumulate allows them to leverage the investments to build lower cost, lower Total Cost of Ownership (TCO), and lower risk smart contracts.
Validators, Followers, & Staking
Can Accumulate (ACME) tokens be staked?  

Yes, Accumulate will have a Vetted Delegated Proof-of-Stake model.

How does one become a validator node to earn ACME?
Please use this guide: https://docs.accumulatenetwork.io/accumulate/operators/node-setup-guide
What is Accumulate’s consensus building architecture?

Accumulate uses Vetted Delegated Proof of Stake. An approval process ensures a bad actor does not create many sock puppet actors to take control of the Accumulate protocol. 

Additionally, Accumulate minimizes hardware requirements to operate a blockchain. Accumulate requires only standard server hardware for validator nodes to achieve consensus and secure the network. Unlike most distributed ledger platforms, Accumulate also has a small footprint and verifier node that can run on smart phones. As a result, transactions can be fully verified against the entire chain with minimal connectivity such as a mobile phone or edge computing device in rural areas. Accumulate also uses anchoring to make use of the security generated by mined protocols. Billions of dollars of security infrastructure behind mined coins can be inexpensively applied to Accumulate’s historical record.

How many validator nodes are needed for decentralization of the Accumulate Network? How does this decentralization compare to other blockchains?
Our goal is to host between 32 and 100 validator nodes for the DN network and each BVN network. If we are operating 50 BVN networks, there will be between 632 and 5000 validator nodes participating in consensus to secure the network. The number of BVN’s will scale over time to linearly scale the system which will lead towards further decentralization
What are the hardware processing specifications needed to run a validator node?
To run a validator node on the Block Validation Network (BVN), you will need a server with a minimum of 8 CPU, 32 GB of memory, and 1TB storage. A cloud server such as AWS EC2 m5.2xlarge would satisfy the minimum requirement, however it is strongly encouraged validator nodes to be established with other cloud computer providers to ensure censorship resistance and maximum decentralization. To run a validator node on the Directory Network (DN), you will need a server with a minimum of 4 CPUs, 16 GB of memory, and 1TB of storage, such as an AWS EC2 m4.xlarge cloud server.
If I just want to run a follower node, do I need to keep up with the state of the entire blockchain? Do you support light nodes?

You can operate a follower node using a regular off-the-shelf desktop or laptop. If you are running a follower node, the storage requirement will be the same as for running a validator node, however the CPU and memory requirements of the follower nodes are minimal. If you wish to only track user chains that you care about then the storage footprint is even smaller.  For example, to track a token address will only require about 100 MB of storage after several years of transactions.

You mentioned I only need to keep up with the data I care about. Is it possible to run a node on my smartphone?
Yes, this is possible, but also dependent upon what actual data you are tracking. A typical wallet can be a self-hosting node that will require about 100 MB of storage space.
How do I become a validator node?
The exact details are still being worked, however, there will be staking requirements and you will need to establish a history on the testnet as being able to run a stable and reliable node. This includes uptime and response time for updating node software. Other’s will also be able to delegate their tokens to stake with you. Those delegated states help establish your credibility as a reliable operator.
Do validators stake their personal funds, and if so, is there a limit to how much can be staked?
Yes, operators will stake their personal funds. There will most likely be a limit to how much can be personally staked, however, those details will be forthcoming.
What happens if a node validator misbehaves? How does the protocol detect misbehavior and what does it do to correct it?
A misbehaving node validator can have all or a portion of their stake and/or future rewards slashed. Violations can vary from malicious intent to failing to maintain uptime and failing to update validator node in a timely fashion. Other validator nodes within the validator’s BVC will be able to detect misbehavior and be able to initiate mitigation algorithms which include demoting violating node or temporarily removing it from the authority set. If the misbehaving node was a leader, transactions will be reversed for that block and repeated by a newly elected block leader.
I’m not technical, can I delegate my tokens to stake on a validator node to earn passive income? If I delegate my stake, will I still be allowed to participate and vote in governance of the protocol?
Yes, you will be able to delegate your tokens and be given standing to vote in governance. The staking rewards for delegated tokens is to be determined.