Skip to content

STRATO Features and Concepts

[//]: # NOT A COMPLETE PAGE, used to dump sections from 'key-concepts' that didn't belong

Genesis Block

[//]: # TODO move to more technical section On STRATO, the Genesis Block is defined by using a JSON file containing the block's headers and data. This is used at boot time to create the STRATO blockchain. The Genesis Block is rarely changed and should not be modified except by a network administrator who knows what they are doing.

Private Chains

[//]: # TODO: Move location of this to separate section STRATO utilizes Private Chains to implement data privacy. Private Chains operate similarly to the Main Chain - they have their own accounts and transactions which operate exclusively within their own space. All Private Chain data is only visible to the permissioned members of the chain. User accounts become members of a private chain by an act of governance from the existing members of the chain. Private Chains combine the audibility and verifiability of a blockchain and add the option to hold or withhold access to data from parties in the network.

Private Chains provide the ability to granularly permission data access at the chain level.

Private Chains connect their private transactions to the Main Chain by putting a secure hash of a transaction into a block's transaction data. This allows the data on a private chain to be verified, but not viewable on the main chain. A user that does not have access to a Private Chain will only see the hashed data on the private chain, but the data will have no other indication of what transactions occurred on the private chain, or any other identifiable information about the chain such as its members or chain ID.

When a Private Chain is created, the user sets the chain's Parent Chain ID. This relationship allows a complex tree of parent and children chains to be built. Members of a child chain necessarily need to be members of its parent chain. Accounts on a chain can only access other accounts on the current chain, or any ancestor of it.

When a Private Chain is created, it is necessary to provide an accompanying smart contract that exists as the first or "base" contract of the Private Chain. This Contract is called the Governance Contract and always lives at a reserved Governance Address.

Governance

Governance is the method through which new members are added or removed from Private Chains. The method of governance is defined in the logic of the Governance Contract. This contract provides a rule set that governs when and how a user can be added or removed from the chain. Members can only be added or removed through the Governance Contract, and any attempt to do so from a different contract will fail.

Example

Here are some simple governance algorithms that model common real-world methods of voting/decision management.

  • Democratic (⅔ members must agree)
  • Duopoly (2 members must agree)
  • Admin Approval (A defined set of members must agree)
  • Membership of Group (A user must be part of a defined group)

The potential for governance models is limitless and is one of the strongest features of STRATO.

See the Private Chain Documentation to learn more about private chains.