FAQHow do smart contracts work?
Smart contracts facilitate multi-party consensus for transactions submitted to Provenance. Smart contracts validate the transaction, checking, for example, if a loan is being onboarded correctly including whether underwriting was done correctly, if the promissory note was signed, disclosures were sent, funds disbursed, etc. All parties identified (affiliates) on a transaction use their copy of the data to invoke the same smart contracts. This is the first step in creating an immutable record on the blockchain. The hashed execution results of the smart contracts are sent to Provenance where the nodes validate the transaction. If the majority of nodes agree and endorse the contract, it is then memorialized on the blockchain. Affiliates, the Administrator, or a third party create smart contracts. When new smart contracts are created they are proposed to the Administrator to be included in the system. The affiliate is responsible for the accuracy of the smart contracts, though the Administrator reviews each contract to ensure operability on Provenance and to determine the operating cost of the transaction. Once the Administrator approves the proposed contract, the contract will be included in the next version of the SDK. The specification of the smart contracts must also be saved on the blockchain and be available to all parties when executing their agreements. The specification is also checked by the blockchain before memorialization to ensure required constraints were fulfilled. Affiliates may also create smart contracts to perform various tasks related to their business that may not be part of the immutable record on the blockchain. For example, private conversations may be excluded from the immutable record. The Administrator is still required to review these private contracts before they will be included in the system. The Affiliate proposing the new private contract can opt to have the contact excluded from the public SDK.