The Ledger
The idea of a Ledger – a central registry – was born out of the blockchain.
Standardizing all companies and imposing the same work models and methods is quite clearly impossible, because each company is a unique entity. Grouping all companies in a single database is a road to nowhere, too, because doing so would put restrictions on data security, location or access layers. Even multitenancy may not be enough here – data at the company/workspace level is indeed separated, but how to solve for data sharing between Workspaces?
That’s the reason we opted to create the Ledger. It’s the very heart of the Constream system, allowing tenants to exchange data and information in a secure manner. Ledger is a bit like the Big Brother who knows everything that happened in every project and at every point in time. Data is thus collected in a private blockchain which, by its very nature and design, is immutable and represents a single source of truth.
Data Sharing Bus
The Ledger itself is actually a big set of information, which only becomes genuinely helpful when a bus for information exchange is put in place. We have thus created the Data Sharing Bus concept which is based on events. The principle is simple: each event that goes into the Ledger generates a notification for every recipient concerned by this information.
Once the recipient(s) acknowledge the notification, they may act on it within their own Workspace and download and implement changes to their own project layer – either manually or automatically. Actually, it is very similar to the way the GIT system operates as it all boils down to the push/ pull way of information dissemination. This ensures each project participant has an identical copy of the information, backed by blockchain, in their database.
Ledger Features
-
Tamper Resistance: Data integrity is maintained through a tamper-resistant design that prevents unauthorized modification of records. Users can always verify the existence of a transaction or data to ensure data integrity.
-
Non-Repudiation: Users cannot deny submitting a transaction to make changes to data.
-
Crypto-based Authentication: User authentication is based on digital signatures for submitted queries or transactions.
-
Confidentiality and Access Control: Each data item has an Access Control List (ACL) that determines which users can access and modify it. Users must authenticate themselves with their digital signatures to read from or write to data. Depending on the access rule defined for data, multiple users may need to authenticate themselves together to update the data.
-
Serialization Isolation Level: The ledger ensures a safe and consistent execution of transactions.
-
Provenance Tracking: The ledger maintains a persisted graph data structure that records all historical changes to data. Users can execute queries on those changes to understand the lineage of each data item.