基于区块链技术的智能合约在现代农业中的应用研究
2020-11-24甄琢范书国康爱赢赵楠沈阳师范大学
甄琢 范书国 康爱赢 赵楠 沈阳师范大学
引言
现代农业信息化问题引起了各界的广泛关注。是国家农业信息化战略的重要组成部分,国家政府机构也在这一领域投入了大量精力,通过解析农产品物流,农产品供应链的概念和内涵,明确了农产品供应链及其业务逻辑,指出了目前农产品流通中存在的交易问题,其中包括农产品流通主体合作深度不够,各环节各渠道联系不紧密,相互之间协调度较低,其原因是双方之间的信任问题、过程的安全性问题和没有标准的规范规则,为了发展和完善现代农业物流业,促进农产品流通主体的合作稳定性,使其可以长期建立合作稳定关系,提出了基于区块链技术的智能合约。
1 国内外区块链研究发展情况
区块链技术最早的应用场景是货币和支付手段。区块链和比特币有很深的联系。比特币开始出现在2008 年底,随着比特币的出现,区块链技术开始走入实验室,但是商业化尝试是在2014 年。2015 年,出现了许多与区块链相关的技术。2014 年前后,开始认识到区块链技术的价值,并将其用在数字货币以外的领域,例如分布式域名系统、分布式自治组织、分布式身份认证等。这些应用被称为分布式应用。区块链的典型应用有智能合约、DAPP、虚拟机。
区块链技术与传统技术的最大区别是,区块链是一种分散式信任机制。区块链技术尝试打破中心化信任的垄断和崩塌风险,用去中心的思路尝试构建全新、更加健壮的信任体系。信任是区块链的核心,价值、通证、资产等都是构建在其上的延伸。随着区块链技术的发展,很多部门开始参与到区块链技术的研究中。从比特币、以太坊等公有链项目开源社区,到各种类型的IT 企业及监管机构、金融机构、风险投资基金、区块链创业公司,区块链的发展也逐渐得到发展。
现代农业农产品流通中存在的交易问题,其原因是双方之间的信任问题,为此提出了基于区块链技术的智能合约。
2 区块链相关技术介绍
根据应用场景和设计体系将区块链系统分为公有链、联盟链和专有链。公有链的节点可以任意加入、退出网络和参与区块链上数据的读写,在运行时以拓扑结构互联互通,网络中不存在中心化的服务端节点。联盟链的各个节点有相对应的实体机构,经过授权后才能加入或退出网络。各个实体机构组织组成联盟,他们共同维护区块链的运转。专有链的节点写入权限由内部控制,读取权限可以对外开放。
区块链技术是指通过去中心化和去信任的方式维护数据库的技术。区块链技术是多种技术整合的结果,这些技术包括P2P 文件传输、加密算法等,与数据库结合在一起,形成一种新的数据记录、传递、存储与呈现的方式。区块链技术可以使系统中的任何人参与数据的记录和存储。区块链技术在没有中央控制点的分布式对等网络的情况下,用分布式集体运作的方法,构建了一个P2P 的自组织网络。通过比较复杂的校验机制,区块链数据库能够保持连续性、一致性和完整性,参与的人作假也不能改变区块链的完整性,更不能篡改区块链中的数据。区块链技术涉及的关键点包括:可靠数据库、时间戳、去中心化、去信任、集体维护、非对称加密等。
3 智能合约的设计
制定并生成智能合约:1、首先用户先注册成为区块链的用户,区块链将会给用户一对公钥和私钥。公钥是账户地址,私钥是账户的唯一钥匙。2、用户们根据需要,共同制定了一份合约。合约中包含了用户的权利和义务;合约以电子化的方式记录。用户分别用私钥进行签名,来确保合约的有效性。
传输并存储智能合约:1、交易双方达成合约之后,合约通过P2P在区块链中传输,合约会传输到每个节点。验证节点收到传输的合约后先保存到内存中。2、共识时间到来之后,验证节点把合约打包成一个合约集合Set;并计算该集合Set 的Hash 值;将合约集合Hash 值封装在一个区块结构里,然后广播该区块结构。3、其他验证节点收到该区块结构后,会分解出该结构里合约集合Hash 值,与本验证节点Hash 集合下的Hash 值做比较;发送一份本节点认可的集合给其他节点,通过比较和发送;所有的验证节点在规定的时间内对最新的合约集合达成一致。
智能合约执行:1、智能合约会按时检查自动机,检查每个合约内包含的触发条件、状态机、事务;将满足条件的事务推送到等待验证的队列中,等待共识;未满足触发条件的事务将存放在区块链上。2、进入最新验证的事务,扩散到每个验证节点,验证节点首先进行签名验证,确保有效性;等验证节点达成一致,事务会执行,执行后通知用户。3、事务执行成功后,状态机会判断合约的状态,当合约的所有事务都执行完,状态机会将合约的状态标记为完成,并从最新的区块中移除该合约;反之标记为进行中,保存在新的区块中,将进行下一轮处理。
4 总结与展望
区块链行业整体处于萌芽阶段,智能合约、现代农业也处于这个阶段。智能合约与传统合约本质上都是解决相同问题:以一种方式形成一种合约关系,使得承诺可以执行。只不过它们采用了不同的方法。因为智能合约事前执行,不像传统合约一样,事后执行。多重签名智能合约也是未来的一个趋势,比如基于多重签名的交易合约,部分参与者的私钥就可以使用合约中的资金。甚至于,合约可以更加细化。
在这个蓬勃发展的智能合约领域,尤其是基于区块链的智能合约领域,尽管自动化、高效率和低成本的潜力巨大,但还是有明显的不足。现有区块链技术的一个缺陷就是,智能合约的代码需要向网络内所有参与者尤其是验证者公开。对于很多金融贸易、企业交易来说,这是个巨大的缺陷。因为这就意味着资金投入之后,网络中非参与者可能会了解并积极参与贸易中并给参与者带来麻烦。这同时意味着区块链智能合约的非参与者可以囤积或出售资产,这将损害参与者的利益。
智能合约的发展可能需要经历漫长的道路,对来自截然不同的领域,如经济学、密码学、网络科学、金融学的自动化合约执行来说,共同设计研究合约准则是必经之路。如果缺少交叉沟通,无论是对技术的缺乏还是对商业用途模式意识的缺乏,都将造成智能合约的低效。