Skip to content
Discussions/App Development/DAML leger is not blockchainForum ↗

DAML leger is not blockchain

App Development5 posts444 views4 likesLast activity May 2023
IQ
Iqra_Mustafa1OP
Apr 2023

The DAML ledger is not a blockchain. But when we run DAML contracts on some other supported platforms, i.e., Fabric or Corda, they inherit the properties of the underlying persistent layer. For instance, their consensus mechanism?

RE
Remy
Apr 2023

The basic answer is yes.

Note that as explain in this thread, we are working on enabling the Canton Synchronization and Consensus layer over Byzantine Fault Tolerant (BFT). Once done we plane to remove the dependency on any external blockchain layer for consensus

JV
jvelasco.intellecteu
May 2023

Hi @Remy
could you please share the thread you mention?

Thanks
Jose

CO
cocreature
May 2023

@jvelasco.intellecteu I believe Remy was referring to Canton Decentralized Domain - #2 by Wayne_Collier

WA
Wayne_Collier
May 2023

To take this one step further, you could argue that a blockchain provides at least:

  • Guarantee of ordering, and
  • Guarantee of consistent and immutable state

among other guarantees.

Canton 2.x gets its ordering guarantees from the sync domain, which in turn relies on a source of ordering that can either be a simple relational database, or a decentralized ordering service. If you need your ordering service to be decentralized, then for Canton 2.x you can use Hyperledger Besu or some alternative.

It might be helpful to think of the Canton sync domain as a “router with guarantees”, rather than thinking of it as the underlying persistence layer. Instead, the state maintained on the participant nodes is closer to being a root persistence layer; the sync domain is there to deliver guarantees of ordering, delivery and readiness to commit a transaction, not to serve as the root source of persistent data. The sync domain does persist the transaction log to get that job done, but I’d argue that the state maintained in the contracts stored in the participant nodes is the root persistence layer.

Which gets us to the second major property: consistent and immutable state. That is provided by the hashes that Canton records with each change to the contract data, and the proofs (“commitments”) sent among the stakeholders to verify that the resulting contract creation and update/archive actions have produced the same state for every stakeholder.

So Canton splits its blockchain into two concerns: a chain of validated hashes and proofs between UTXO states on the Canton participant nodes, and an ordering and routing service with strong guarantees, provided by the synchronization domain.

The missing piece in the Canton protocol is to make the synchronization domain fully decentralized within the Canton protocol itself. That’s the work we’re doing now, and we plan to announce more details about it over the coming months.

← Back to Discussions