Griffin: Substrate + UTxO + Plutus
The Problem
Cardano uses the Ouroboros Praos consensus mechanism (for now :), which is designed to be secure and reliable even in adversarial scenarios. This mechanism is one of the key features of Cardano that makes it robust against various kinds of attacks and network conditions.
To achieve these qualities, some important trade-offs have been made. The transaction throughput and finality time are very conservative in Cardano, which is the reasonable choice for most type of on-chain activity we need / have.
Regardless, there are still many interesting use-cases that would benefit (or even require) a different set of trade-offs. Low-risk, high-throughput interactions are more suitable for networks with a more relaxed consensus mechanism with much faster finality. For example: gaming, high-frequency trading, decentralized social media, DePIN, etc.
Furthermore, there's also a case for semi-permissioned networks used by enterprises or regulated activities. These scenarios would benefit from custom networks where only a fixed set of parties need to interact or where there're very specific privacy / compliance requirements. For example: manufacturing provenance, supply chain traceability, healthcare records, etc.
App Chains
App-chains are specialized blockchains built for a particular use-case or application. Unlike traditional blockchains, which aim to handle a wide range of applications, app-chains can be designed to fit much more narrow requirements around performance, throughput and security.
The main concern with app-chains is that achieving a reasonable level of decentralization is hard. Building a community of node operators running a network is a social and technical challenge, that's why we only have a few successful L1s.
Polkadot, a blockchain pioneering this idea, has a very clever mechanism that connects many app-chains (known as parachains) to a main chain (known as the relay chain). In this way, each App Chain augments their security by leveraging a second validation phase that happens on the main chain, which is tailored for security.
Substrate
Substrate is a modular, extensible and open-source framework for building blockchains. It provides developers with the building blocks and abstraction layers to create their own networks while also offering robust out-of-the-box features such as different consensus mechanisms and different ledgers.
There's a paradigm shift when going from building a dApp for a general-purpose blockchains to building an App Chain. Substrate is language-agnostic in regard to smart contract development, it comes with runtimes for WASM and EVM, but you can also embed the business logic as part of the blockchain node??. This gives developers new dimensions to optimize, such as: custom storage structures, custom transaction model, custom execution logic, etc.
Substrate was designed to interoperate with other chains through the Polkadot and Kusama networks, but can also be used to create standalone blockchains. So... what about Cardano?
IOG has introduced the concept of Cardano "partner chains" and it's building an SDK that will enable interoperability between Cardano and Substrate-based blockchains (referred in this context as partner chains). The goal of this SDK is to enable a system where Cardano serves as a settlement layer that enhances the security model of several connected partner chains.
UTxO + Plutus
If you're into Cardano, UTxO needs no introduction, but just in case: UTxO stands for Unspent Transaction Output; it's a particular way to model transaction within a ledger; it has the very powerful property of being deterministic (for the same inputs, the system will always produce the same outputs).
领英推荐
Cardano uses the extended UTxO model, which adds programability to the ledger (aka: smart contracts). The language used to code these contracts is Plutus. Over these past few years, the Cardano community of builders has accumulated a massive amount of knowledge on how to build powerful, secure and optimized dApps using UTxO + Plutus.
Generally speaking, Substrate-based blockchains are built using an account model ledger, which requires a radically different way of building smart contracts and dApp business logic.
So... is there a way to leverage the benefits of the extended UTxO model and the vast experience of Cardano developers to build Substrate-based App Chains?
Griffin
Imagine if you could take existing Plutus dApp and turn it into its own App-Chain with relatively little effort. That's our goal with Griffin.
Griffin will be a framework for building Substrate-based app-chains. The main difference with stock Substrate is that the app-specific logic can be generated from Plutus scripts. Meaning, Cardano developers can leverage all of their existing knowledge around UTxO & Plutus to build full-blown app-specific L2.
Goes without saying, we're not advocating applying this approach to every dApp out there. For dApps that have already achieved the performance they need within the parameters of Cardano, it makes more sense to remain as such.
These are a few examples where we believe it would make sense to evaluate Griffin:
To achieve this idea, we need to develop a few custom components. The following diagram shows the typical components of a substrate node and what needs to be custom-built:
Where we are
This is an ambitious project and something we're tackling step-by-step. We're hoping to push the development of Griffin with our Catalyst Fund 12 proposal
Watch our Github account to keep track of development progress: https://github.com/txpipe