Blockchains are being positioned as the "technology of trust" that can be used to mediate transactions between non-trusting parties without the need for a central authority. They support transaction types that are native to the blockchain platform or user-defined via user programs called smart contracts. Despite the significant flexibility in transaction programmability that smart contracts offer, they pose several usability, robustness, and performance challenges. This paper proposes an alternative transaction framework that incorporates more primitives into the native set of transaction types (reducing the likelihood of requiring user-defined transaction programs often). The framework is based on the concept of declarative blockchain transactions whose strength lies in the fact that it addresses several of the limitations of smart contracts simultaneously. A formal and implementation framework is presented, and a subset of commonly occurring transaction behaviors are modeled and implemented as use cases, using an open-source blockchain database, BigchchainDB, as the implementation context. A performance study comparing the declarative transaction approach to equivalent smart contract transaction models reveals several advantages of the proposed approach.
翻译:区块链正被定位为"信任技术",可用于在不依赖中央权威的情况下调解非信任方之间的交易。它们支持区块链平台原生或通过称为智能合约的用户程序自定义的交易类型。尽管智能合约提供了显著的交易可编程灵活性,但也带来了若干可用性、健壮性和性能方面的挑战。本文提出了一种替代性交易框架,该框架将更多原语纳入原生交易类型集合(从而降低频繁需要用户自定义交易程序的可能性)。该框架基于声明式区块链交易的概念,其优势在于能同时解决智能合约的多个局限性。本文提出了形式化与实现框架,并以开源区块链数据库BigchainDB为实施环境,对常见交易行为子集进行了用例建模与实现。通过将声明式交易方法与等效智能合约交易模型进行性能比较研究,揭示了所提方法的若干优势。