智能合约

智能合约可以自主地执行全部或部分和合约相关的操作,并产生相应的可以被验证的证据,来说明执行合约操作的有效性。如在以太坊上的智能合约是一段可被以太坊虚拟机执行的代码。

智能合约以链上脚本的形式存在于区块链网络的各个节点上,其安全性和成本引起了广泛关注。

代码复用

智能合约以链上脚本的形式存在于区块链网络的各个节点之上,其本身的安全性和运行成本备受关注。同时,随着智能合约数量不断增加,复用已有合约成为可能。本子项目的目标是通过对比相似的智能合约,从中获取“差异性代码”,将“差异性代码”用于支持目标智能合约的演化更新。

通过推荐差异代码支持智能合约的更新

介绍

智能合约是在区块链上运行的程序,有证据表明,以太坊上的大多数智能合约都非常相似,因为它们共享许多重复代码。在本文中,我们通过聚类分析研究智能合约的重复性,并尝试从相似合约中提取差异性代码。差异性代码是除两个相似的智能合约中的重复代码外的源代码,这通常表达了实现软件功能的实现方式或编程问题的解决办法。然后,可以使用差异性代码来指导智能合约下一个版本的更新。在本文中,为了支持目标智能合约的更新,我们应用语法和语义相似性从12万多个智能合约中发现其相似的智能合约,并将差异化代码推荐给目标智能合约。实验结果表明,差异化代码可以有效地支持智能合约更新。

Overall framework of the smart contract update supporting

如果你想引用这篇文章,请使用以下参考:

@inproceedings{huang2019recommending,
  title={Recommending differentiated code to support smart contract update},
  author={Huang, Yuan and Kong, Queping and Jia, Nan and Chen, Xiangping and Zheng, Zibin},
  booktitle={Proceedings of the 27th International Conference on Program Comprehension},
  pages={260--270},
  year={2019},
  organization={IEEE Press}
}

智能合约推荐

自从区块链2.0开发以来,越来越多的智能合约被创建并运行在区块链平台上。由于智能合约通常是用高级语言(如Solidity和Serpent)编写的程序,所以智能合约的创建者需要一定的编程能力。此外,即使智能合约是可自动执行的协议,在编写时也需要进行一定输入和设置,如设置Gas。因此,为了提高智能合约开发的效率,我们提出了一种智能合约推荐方法。这是基于如下思路:在区块链平台上,根据不同创建者的智能合约历史数据,向其推荐合约文件,有助于减少编程难度、代码漏洞和计算资源。

探索智能合约推荐:朝向高效的区块链开发

介绍

本文提出了一种智能合约推荐框架来探索和验证智能合约推荐的可行性。基于从两个著名的区块链平台Ethereum和EOS上收集的真实数据,我们首先创建了两个数据集来评估智能合约推荐框架。这两个数据集也可以供给其他研究人员,用于合约推荐的进一步研究。然后,对进行了数据预处理后的数据集应用了几种经典的推荐算法。最后,根据两组数据集在不同实验设置下的对比结果,证实了智能合约推荐的可行性,它能够帮助区块链用户更有效地开发智能契约。