Software infrastructure for the Internet of Impact.
The ixo blockchain is open-source software to provide computational and data storage infrastructure for the Internet of Impact. This implements open standards to form an inter-operable network of networks. Anyone can set up an ixo blockchain based network, which will provide users with a common set of functionalities.
A network running the core ixo blockchain software can fulfil the following functional requirements:
The ixo Blockchain software is modular. Application-specific networks can configure these modules for their purpose, add new modules, or swap-out some of the non-core modules. These modules are written in Go.
The purpose of each module is briefly outlined in the table and described in technical detail on the linked pages.
The ixo blockchain SDK shares a set of core blockchain modules with the Cosmos-SDK and is built using the same standards. The Cosmos-SDK is a software development kit for building application-specific blockchains.
This enables functional interoperability between blockchains that implement the same modules.
For example:
The MsgSend
function transfers fungible tokens of designated denominations between counter-parties, using the bank module
.
The account
querier function, which is part of the Auth Module
, returns information about an account, regardless of which chain this account is created on.
The IBC module
enables messages to be sent between blockchain networks implementing the Inter-Blockchain Communication Protocol.
ixo Blockchain SDK Module | Purpose |
---|---|
Functional Requirement
ixo Blockchain mechanism
Identify agents
Digital Identifiers (DID) & Verifiable Credentials
Identify cell nodes
Digital Identifiers (DID)
Identify projects
Digital Identifiers (DID)
Identify claims
Content Identifiers (CID)
Revoke identifiers
Distributed revocation list
Open knowledge graph
Distributed Hash Table (DHT)
Locate cell nodes
DNSLink
Program state-changes
Virtual Machines
Authenticate identifiers
Public Key Infrastructure (PKI)
Sign messages
Cryptographic keys
Validate messages
Validator nodes
Verify claims
Oracles
Record proofs of state
Merkle DAGs
Transfer value
Digital wallets
Issue digital assets
Token minting
Incentivise network hosts
Gas fees
Prevent Byzantine faults
Tendermint consensus
Protect against censorship
Distributed validator nodes
Protect against tampering
Hashes
Protect against spam
Message Validation
And more ... not an exhaustive list
Alpha Module
Calculates project risk scores (Alpha) which provide signals to the Bonds module to adjust the pricing of Alpha-Bonds and trigger bond state changes.
Bonds Module
Calculates the buy/sell price and supply of tokens, using configurable bonding curve algorithms and other automated market-maker mechanisms.
Manages the life-cycle of Alpha Bonds.
Cells Module
Maintains a registry of Cell Node identifiers, with associated cryptographic public key material and DNSLink record of the cell's hosting location.
Claims Module
Maintains a registry of Impact Claim digests and claim status, with verification proofs.
Data Assets Module
Maintains a registry of data assets, automates usage rights management and IP ownership/control. Data assets include templates, algorithms, evaluation methods, datasets, etc.
Fees Module
Automates billing, accounting, distribution and settlement of fees for all digital services delivered through the network.
Identity Module
Maintains a registry of trusted root identifiers and revocation lists, based on Web of Trust principles and complying with W3C specifications for digital identifiers and verifiable credentials.
Oracles Module
Maintains a registry of oracles, with staking and insurance mechanisms.
Defines rights for oracles to perform specific functions, such as mint or burn digital assets (using Object Capabilities).
Treasury Module
Issues standard digital assets through mint and burn functions. Maintains a ledger of assets.