Authors: Grigoris Kalogiannis
Organization: Draxis
Hyperledger Fabric is a permissioned blockchain platform designed for enterprise use, and its smart contracts are known as “chaincode.” Chaincode defines the business logic that governs the interactions between different participants in the network. It operates on a set of key-value pairs that represent the state of assets on the ledger, where each transaction results in creating, updating, or deleting these key-value pairs. The execution of chaincode is partitioned from transaction ordering to improve scalability and performance, making Hyperledger Fabric a suitable choice for complex business applications.
Hyperledger Fabric uses a robust lifecycle management process for chaincode. This process involves multiple steps: defining the chaincode, approving the definition by channel members, and committing the definition to the channel. Organizations must approve chaincode definitions, which include the name, version, and endorsement policy before they can be deployed on the network. This governance model allows different members in a consortium to have a say in the business logic being executed, enhancing security and trust.
One of the unique features of Hyperledger Fabric is its use of endorsement policies to validate transactions. These policies specify which organizations must approve a transaction for it to be considered valid. This is different from other blockchain systems like Ethereum or Bitcoin, where any node can validate transactions. In Hyperledger Fabric, transactions must be validated by trusted organizations, making it more suitable for business environments where multiple entities need to agree on changes[1]
Digital Contract Creator (DAC) is a component under development by DRAXIS that will serve as an out-of-the-box solution for creating and deploying digital agreements in the form of smart contracts in the Hyperledger Fabric.
[1]https://hyperledger-fabric.readthedocs.io/en/release-2.2/smartcontract/smartcontract.html
The Digital Contract Creator (DAC) high-level architecture
DAC is a fully containerized component that has its own internal orchestrator which receives inputs concerning e.g., stakeholders (provider ID, consumer ID), service, price, conditions, etc. For each set/series of inputs received by the marketplace, the DAC orchestrator creates individual/separate ad-hoc containers based on the respective received sets of inputs that will hold the respective chaincode.
During this initialization-creation process of the ad-hoc containers, the DAC orchestrator produces a unique identification number that passes as a kind of hash of the smart contract. The overall information (received inputs and hash number) will be stored in the DAC orchestrator before it passes to the ad-hoc container as a configuration file. Ad-hoc containers are responsible for creating and providing the chaincode to the Hyperledger Fabric Blockchain.