原文作者:M. Suvitha and R. Subha*
原文标题:A Survey on Smart Contract Platforms and Features*
原文链接:A Survey on Smart Contract Platforms and Features | IEEE Conference Publication | IEEE Xplore
原文来源: (ICACCS), 2021
笔记作者:quangaoyuan
笔记小编:quangaoyuDOI: 10.1109/ICACCS51430.2021.9441970
0x00 关键词
区块链;智能合约;以太坊;超级账本结构;新能源汽车;恒星; EOS;波浪;科尔达;特所思;
0x01 摘要
智能合约是一组存储在区块链上的指令。这些指令将自动执行,无需中间人交互。区块链中的智能合约允许在未指定的节点上执行交易和合约,而无需中央系统或外部执行的交互。交易是透明的、可追溯的和不可逆转的。在区块链中,所有存储的数据都是安全且不可变的。所以区块链将是智能合约的合适环境。智能合约数据被加密并放置在分布式账本中,这意味着存储在区块中的信息无法删除或修改。有许多支持智能合约的区块链平台。本文探讨了有关各种智能合约平台及其功能的信息。
0x02 相关知识
A.Blockchain
在诚实节点的帮助下,在线支付可以通过点对点网络从一方发送到另一方。一种用于电子商务的基于加密证明的电子支付系统,以避免调解金融机构面临的争议。交易对网络中的所有节点应该是透明的。收款人在每笔交易期间都需要证明,这是大多数诚实节点第一次收到的协议。每个节点在请求时都会收到交易。如果工作量证明得到满足,该块将被添加到区块链中。 Node 将最长的链作为正确的链,并将努力扩展它。将区块添加到链中的诚实节点将获得奖励作为激励的象征,以便它可以保持诚实。区块中每笔交易的哈希值将存储在默克尔树中。每个块都有一个哈希值,即根值。每个用户都会存储最长的 POW 链的区块头。交易是公开的,但每笔交易都在密钥对 [1] 的帮助下与其所有者相关联。
B.Smart Contract
智能合约是计算机指令或一些规则,它激活使用计算基础设施和编程指令的任何特定合同或协议要遵循的规则。智能合约提高了区块链的性能,并且可以在没有第三方的情况下使用。这些交易是可追踪的并且不可能被篡改[2]。智能合约坚持在经济服务部署方面的用途。这是金融行业首次部署的关键功能。智能合约正在彻底改变几乎所有领域,例如医疗保健、金融、教育、供应链等。它们是数字化的,用 Solidity、Java、Python、C++、Go 等编程语言编写,这使得它们更易于阅读和理解。
0x03 BLOCKCHAIN-BASED SMART CONTRACT
用于将任何特定用例转换为软件编程指令的智能合约。针对各行各业的业务需求,创建了许多智能合约平台。每个平台用于不同行业的不同目的。在本节中提供有关各种平台的知识。
A.Ethereum
以太坊是流行的区块链平台之一,它拥有一种名为 ETH 或 Ether [5] 的本地加密货币。开发人员使用以太坊构建与金融应用程序、加密货币钱包、去中心化市场、游戏等相关的新应用程序。以太坊是所有智能合约平台中最古老、最强大的平台,它允许开发人员通过其 ERC-20 代币或以太币构建去中心化应用程序。以太坊虚拟机 (EVM) 软件执行所有智能合约,而 Solidity 是相关的编程语言。尽管它拥有最大的市值,但它正在加大投资以改善所有智能合约平台中智能合约的开发和运营。智能合约存储在 EVM 上。目前,它是编写智能合约的最受欢迎和领先的平台。以太坊的一些特性如下。
- 智能合约功能
- 图灵完整性
- 许可成员
- 隐私
- 自己的智能合约编程语言 Solidity
- 尖端开发社区
- 开发人员明确指南
- 快速部署
- 代币化
- 免费设置
- 以太坊代币标准或ERC-20
B.Hyperledger Fabric
Hyperledger Fabric 是一个私有区块链平台,可以执行智能合约或“链码”。它适用于企业区块链平台。它是一个开源 Linux 项目,支持基于区块链的分布式账本的协同开发。它基于用于适当部署的微服务架构 [6]。它是一个完美的智能合约平台,证明它是以太坊智能合约平台的替代智能合约平台。与以太坊类似,Hyperledger 开发人员创建了一组非常有用的工具,其中包括基于 JavaScript 的工具和 Hyperledger Composer,使开发人员能够更高效、更轻松地开发智能合约。 Hyperledger 附带了几个免费工具和框架,允许开发人员和企业构建基于区块链的解决方案。它以其满足广泛工业用例的多功能性和模块化而闻名。它具有广泛的模块化和多功能设计,可满足各种工业使用要求。 Hyperledger Fabric 的一些特性如下。
- 开源
- 许可成员
- 多语言智能合约支持
- 可靠的性能
- 支持插件组件和共识
- 高度模块化
- 最终的低延迟
- 支持 Solidity 和 EVM
C.NEM
NEM 是区块链和 P2P 加密货币的平台,它具有私有和公共区块链,并添加了重要的增值功能。它允许第三方构建应用程序,例如加密货币和众筹代币 [7]。它专注于构建您需要的东西,无论是金融科技系统、ICO、跟踪物流、文件公证、去中心化身份验证等等。 NEM 为用户提供了多种优势,例如易于部署、深度定制、性能和完整的安全性。 NEM 使用重要性证明共识机制,而不是权益证明或工作量证明,这样可以节省大量能源,这与其他区块链平台区别开来。 NEM 具有附加功能,例如自定义数字资产创建、身份证明、时间戳文件。与其他加密货币进行比较时。 NEM 在 P2P 价值转移上有很多可能的用例。 NEM面料的一些特点如下。
- 使用 Java 开发,易于使用
- 没有特定于平台的编程语言
- 可扩展性
- 卓越的性能
D. Stellar
Stellar 是一个基于区块链的平台,可促进跨境经济交易。 Stellar 提供的合约是图灵不完备的,这意味着它只能为基本应用程序提供简单的功能 [8]。它不适用于更复杂的合约。然而,要开发基本的应用程序和代币,Stellar 将是最简单、最具成本效益和节省时间的解决方案。与其他加密货币平台进行比较时。它支持快速处理时间。 Stellar 中使用的加密货币是 Lumen。除了一个 Anchors 外,事务处理时间总是少于 5 秒。它使用的创建是图灵不完整的,智能合约将用于未来的执行和多重签名交易。 Stellar 允许用户创建、交易和发送各种货币形式的数字表示,例如比特币、美元、比索等等。 Stellar 面料的一些特点如下。
- 分散和开放的数据库
- 每秒支持数千笔交易
- 网络允许多重签名和智能合约
- 固定年通货膨胀率为 1%
- 只需 3 到 5 秒的确认时间
图灵完备:虽然图灵机会受到存储能力的物理限制,图灵完全性通常指具有无限存储能力的通用物理机器或编程语言。简单来说,一切可计算的问题都能计算,这样的虚拟机或者编程语言就叫图灵完备的。
E. EOS
EOS 是一个区块链平台,旨在开发安全且可扩展的 dApp。它提供智能合约功能、dApps 托管、企业解决方案的去中心化存储,以解决比特币和以太坊 [9] 面临的可扩展性问题。 EOS 平台通过利用委托权益证明算法和多线程来消除所有用户费用并达成共识。他们有一个名为 EOS 论坛的专门社区,投资者和开发人员可以在这里讨论该平台。 EOS面料的一些特点如下。
- 可用性
- 治理
- 多处理
- 灵活性
- 可测量性
- 可升级性
- 权限模式
F. Waves
Waves 是一个基于开源区块链的智能合约平台。它基于 Scala 编程语言,旨在解决阻碍更主流区块链实施的许多现有障碍,称为可扩展性和速度。它允许用户使用去中心化交易所 (DEX) 来促进并推出他们自己的加密货币代币 [10]。该平台方便用户在五分钟内制作、提供、转移资产和交易定制代币。智能合约Waves平台使用的语言是图灵不完全语言。 Waves 的一些功能如下。
- ICO 和众筹的理想选择
- 创建自己的代币需要很少的背景知识
G . Corda
Corda 是一个基于区块链的开源平台,用于直接与智能合约进行交易。通过简化业务流程,它降低了交易成本和记录保存。 Corda 平台交易以合法可行的方式执行。 R3 Corda 平台状态表示对应于现实世界合约的智能合约 [11]。它是一个灵活的平台,可以扩展以满足业务需求。基于 Corda 构建的应用程序,CorDapps 的设计和开发旨在改变各行各业的业务,包括保险、医疗保健、金融、能源等。 Corda 的一些特性如下。
- 隐私
- 开放式设计
- 互操作性
- 敏捷灵活
- 开放式开发
H. Tezos
Tezos 是一个开源和去中心化的区块链网络,它是自治的,可以执行点对点交易和部署智能合约 [12]。为了便于形式验证,它具有模块化架构和形式升级机制,允许其网络。它是一个去中心化的区块链平台。 Tezos 是一个智能合约和 dApp 平台,就像以太坊、Waves 一样,但它的自我修正加密机制使其不同于其他平台。 Tezos 的一些功能如下。
- 自我修正协议
- 委托权益证明共识机制
- 链上治理
- 智能合约和正式验证
0x04 比较
本节描述了上一节讨论的各种智能合约平台的优缺点和比较。表 1 总结了不同智能合约平台的优缺点。表 2 包括了不同智能合约平台的相对比较。
Platform | Advantages | Disadvantages |
---|---|---|
Ethereum [5] |
|
|
Hyperledger Fabric [6] |
|
|
NEM [7] |
|
|
Stellar [8] |
|
|
EOS [9] |
|
|
Waves [10] |
|
|
Corda [11] |
|
|
Tezos [12] |
|
|
Features | 操作类型 |
智能合约编程语言 |
共识机制 | 原生加密货币 |
智能合约图灵完备性 |
---|---|---|---|---|---|
Ethereu m [5], [15] |
Public | Solidity/Vyper |
PoW | Ether | 图灵完备 |
Hyperled ger Fabric [6], [15] |
Private | Go,Java/Javascript |
Pluggable | None | 图灵完备 |
NEM [7], [15] |
Public | Custom | Proof of Importance |
XEM | 图灵非完备 |
Stellar [8], [15] |
Public | Custom | Stellar consensus |
Lumens |
图灵非完备 |
EOS [9] | Public | C++ | Proof of stake |
EOS | 图灵完备 |
Waves [10], [15] |
Public | Custom | Leased PoS |
Waves | 图灵非完备 |
Corda [11], [15] |
Private | Java/Cotlin | Raft | Cordacoin | 图灵完备 |
Tezos [12] |
Public | Lowlevel, stackbased |
Liquid Proof of Stake |
XTZ | 图灵完备 |
0x05 总结
本文提供了各种智能合约平台的比较研究。各种区块链平台,如 Corda、Tezos、Ethereum、NEM、Hyperledger Fabric、EOS、Waves 和 Stellar,可用于将具有特殊适用性方面的智能联系人置于行业中。每个平台都有自己的特点,各有优劣。智能合约的重要性因其准确性、透明性、去中心化和自我执行等特性而备受推崇。各种平台将出现指向应用程序领域。但是智能合约存在一些问题在大规模部署之前修复。这些问题包括数据安全性、可扩展性、计算成本、较少的管理、网络成本和存储费用。对智能合约的进一步研究将针对这些问题。