In any decentralized system, the biggest challenge to scaling is the lack of efficient methods for members within the system to quickly arrive at a consensus to make decisions.
We see this phenomenon play out not just in blockchain networks but also in other systems that require some form of decentralized governance.
Generally, the more decision-makers are required to sign off on a particular action, the longer that action tends to take and the more confusion is created about how to take that action. Yet in the opposite case, actions are taken without the approval of others, while leading to quicker outcomes, often come at the cost of only a few benefiting while putting the entire system at risk by creating a single point of failure.
The perfect medium between total decentralization and centralization is a well-designed set of protocols for enabling key decision makers to issue approvals that can then, once approved, be executed via a different set of protocols.
Each protocol is designed to serve a specific purpose; the first for enabling key stakeholders to arrive at a consensus, the second for executing actions that have already been agreed upon.
Naturally, one cannot expect the same approaches to be used when designing these protocols, as their objectives are completely different.
Separating the process for arriving at consensus from the process of executing orders based on agreed terms is a commonly understood strategy for achieving efficient operations within decentralized systems, and one that Accumulate aims to realize through its modular blockchain architecture.
Creating more scalable systems for governance
Accumulate aims to create a system of governance for the largest institutions in the world to coordinate actions between stakeholders in a way that is efficient yet also transparent and secure. In order to achieve this goal, we must design a system that allows institutions to find the balance between decentralization and centralization in order to optimize decision-making.
Accumulate approaches this issue by separating data and token transactions from the signatures required to enforce them through the creation of a signature chain and the main chain.
How it works
As a refresher, Accumulate is a blockchain network that serves as a de-facto communication and audit layer between blockchains, enabling the seamless transfer of data, tokens, or other kinds of digital assets between Accumulate Digital Identifiers (ADIs) across different chains regardless of their consensus mechanism. ADIs are human-readable addresses similar to website URLs that are chosen by individuals or assigned by organizations to represent their presence on the blockchain.
Each ADI is made up of a collection of independent sub-chains known as Accounts.
The 4 main account types are:
- Token accounts – for issuing tokens and tracking deposits and withdrawals from a token account.
- Data accounts – for tracking and organizing data approved by an ADI
- Key book & Key page accounts – for managing and organizing private and public keys
- Scratch accounts – for accruing data that is needed to build consensus across the Accumulate network
Accumulate also provides a key management system that enables entities to generate multiple wallet keys that are linked to their ADI. Entities have access to a set of key books which reference multiple keys within a Key Page. Keys can be arranged based on a set priority. For example, you can create high-priority keys that are placed in cold storage for use in case your other keys are lost or compromised.
Signature Chain & Main Chain
Each Account chain on Accumulate consists of a Signature Chain and the Main Chain.
The signature chain is where digital signatures for transactions are stored, while the main chain is where the transactions themselves are stored. This separation allows there to be an independent consensus-building process for authorizing transactions that are then executed on a separate chain (the main chain).
Transactions of data or transactions of tokens all require signatures that are added to a signature chain. Various types of authorization schemes can be implemented within a signature chain including:
- Single signature transactions (transactions requiring only one signature)
- Multi-sig transactions (transactions that require 2 or more digital signatures)
- Delegated transactions (transactions that can be initiated by an external authority based on 3rd party verification)
- Managed transactions (transactions that include self-imposed limits on spending or frequency)
Transactions that require only 1 signature can be executed on the main chain if the signature is valid and corresponds to a key on the key page of the origin account. Transactions that require multiple signatures must achieve a set number of signatures within a 2 week period or the transaction will fail.
The separation of signatures and transactions on Accumulate is achieved by creating a hash of the transaction by itself, then creating another hash of the transaction with the hash of the signature, and then adding this enveloped hash to the signature chain to provide a cryptographic proof that the signatures were obtained to perform the transaction.
The main chain’s role is to execute transactions and to also store the hashes of transactions without their signature. Only the transaction hashes whose signatures have been validated by the required number of participants on the signature chain will be permanently stored on the mainchain.
The following illustration below gives more insight into this process:
Figure 8 shows the process of collecting signatures on the Signature Chain and promoting the transaction hashes to the Main Chain. The top row (green circles) represents the Main Chain, while the bottom row represents the Signature Chain. Blue circles represent signatures, and red circles represent envelopes for four Key Pages within a Key Book where:
- Priority 0 specifies 1 key required.
- Priority 1 specifies 2 keys required.
- Priority 2 specifies 3 keys required.
- Priority 3 specifies 6 keys required.
Analogy: A programmable DocuSign for your business spending account
One way to think about signature chains and main chains is as follows: Imagine being able to link your DocuSign account directly to your business spending account. You could craft new agreements on DocuSign, email it to the various parties whose signatures you require, and then once all parties sign, it would automatically trigger funds from your account to be spent towards the agreed upon purpose.
This is effectively what can be achieved using Accumulates signature chain and mainchain structure. Like DocuSign, signers can be notified when they need to add their signature, and there can be a time limit for a required number of signatures to be added in order for transactions to go through.
Separating Consensus & Execution to Optimize Blockchain Operations
The core idea behind the signature chain and main chain design is to optimize a decentralized network’s ability to enable participants to trade, spend, communicate and build with each other in a secure, transparent, and yet scalable way.
Each chain is optimized for a different thing; signature chains are optimized for transparency and accountability, while the main chain is optimized for execution.
This framework allows organizations of any size to embrace decentralization while still maintaining a high level of efficiency. It is also the ideal framework for enterprise blockchains to adopt in order to cut down on the costs of managing all members of the network, including reinforcing existing protocols with traditional legal contracts.
Currently, most enterprise blockchains are still heavily reliant on traditional legal and auditing service providers to provide protections and produce tax reports for their operations within the network.
While these services provide a degree of safety for companies still new to the blockchain space, the fact that they are still essential for companies to adopt blockchains is evidence that blockchains have failed to design appropriate mechanisms for managing budgets, enforcing rules for IP ownership, distributing revenue and reporting taxes in a way that reduces or removes the need for traditional methods to be utilized.
Through our signature and main chain design, authorization schemes, and ADI-based key management system, Accumulate empowers organizations of any size to design their own programmable rules for decision making in all key areas of business.
Whether it is between teams within departments, departments within organizations, or groups of organizations working with other groups, rules for custody, transferring and spending tokens or data can be created, enforced, adjusted, and audited in a way that is trustless, secure, transparent and immutable.
The end result is that we minimize the need for even the most complex collaborations between entities on a blockchain to fall back on traditional and costly legal and accounting methods.