Question
· Oct 11

Can I build a decentralized ledger (DLT) inside InterSystems IRIS using deterministic globals and consensus modules?

We want to use IRIS as a backend for a lightweight blockchain or DLT. Can we model blocks using deterministic globals and implement consensus (PBFT, Raft) externally while using IRIS as the ledger?

Discussion (1)2
Log in or sign up to continue

Building a decentralized ledger (DLT) inside InterSystems IRIS by leveraging deterministic globals and implementing external consensus modules (like PBFT or Raft) is a feasible concept:

  1. Modeling the Blockchain Structure:
    You can use deterministic globals in IRIS to create the data structures required for DLT. Globals allow you to define blocks that include attributes such as block index, timestamp, transactions, hash, previous block hash, and other metadata. An example project demonstrates the creation of a financial blockchain using globals and Embedded Python on IRIS [1].

  2. Consensus Mechanism:
    While IRIS doesn't natively provide consensus mechanisms such as PBFT or Raft, you can implement these externally. An external system can handle the consensus and once agreement is reached, update the ledger in IRIS to ensure consistency across nodes [1].

  3. Integration Capabilities:
    IRIS offers flexibility for integrating with other systems and scripting languages, including Python, which supports blockchain implementation. The use of tools like Docker for deployment facilitates distributed operations [1].

  4. Durability and ACID Compliance:
    Globals provide ACID-compliant transactions, ensuring data durability and consistency, which are critical for blockchain integrity. For example, durability tests using hard container cut-offs showed IRIS's ability to maintain data integrity [2].

Overall, IRIS's globals combined with an external consensus layer make it viable as a backend for lightweight blockchain or DLT applications. For a step-by-step example and practical repository, you may want to explore projects like "blockchain - IRIS Python" [1].

Sources: