Agrello项目白皮书中文导读

引言

随着2015年以太坊项目的发布,区块链+智能合约(Smart Contract)的模式开阔了人们对于区块链技术的想象;以太坊支持图灵完备的编程语言Solidity(包含Java、Python、Lisp——都是图灵等价的),在编写智能合约时循环与递归逻辑上不再受限,因此智能合约可应用范围几乎覆盖所有领域。

2016年12月,由智能合约联盟支持下编写的数字商务商会白皮书介绍了 12 项商业合约和其他合约的使用案例,包含数字身份认证、记录、安全、贸易金融、衍生品、金融数据记录、借贷抵押、土地所有权记录、供应链、汽车保险、临床试验、肿瘤研究等

智能合约本质上仍是由计算机语言所编写的程序,这使得目前在编写智能合约会遇到两个难题:

1.编写非机读(non-machine)合约很困难。对于一些传统合约,特别是涉及法律条文解读的合约,代码难以全面覆盖其中含有“人性”的部分,缺乏准确执行传统合约的能力,智能合约的合法性成为应用上一桎梏。

2.只有少数人有能力完成并部署一份智能合约。智能合约的编写需要依靠大量代码实现合约的逻辑性,即使是经验丰富的开发者都不能保证其写出的智能合约不出现Bug,对于没有接触过编程语言的人来说,即使只是想实现基础功能,编写智能合约也是困难重重。

以下讨论Agrello如何通过AI技术实现的具有法律效力的智能合同,提供用户更简易的智能合约编写工具。

Agrello的核心价值

Agrello是由爱沙尼亚律师、区块链专家和信息技术专家组成的团队,他们共同的愿景是建立一个终端用户导向的智能合约框架,提供模块化的功能将传统合约映射到智能合约语言,使得编写智能合约成为一项简单的事,降低智能合约编写门槛;同时保障编写出的智能合约具备合法性。

Agrello项目白皮书中文导读

如图1所示,Agrello系统的概念源于电子采购关联架构(e-Sourcing ReferenceArchitecture, eSRA),这是一种具有过程意识的企业间合作的系统;在企业或个人双方合作间所涉及到的合约,都可以通过Agrello智能合约样板库转移到对应区块链上,保障在P2P网络中实现避免冲突的通信合作。

白皮书中强调Agrello系统中的智能合约不仅仅是多编程语言的集合,而是一种具有自我意识的合约(Self-Aware Contract, SAC)。

“自我意识意味着传统合约和法律顾问的结合,成为包含一切合同逻辑并生成机器可读形式的代理人软件。更确切地来说,这个代理人软件可以debug,例如你错过合约执行时限,代理人软件会替你管理并执行该合约;如果传统合约不符合Agrello基于法律逻辑设置的框架,代理人软件也会进行报错或自动匹配成合理合规的智能合约形式。”

举例来说:

Agrello项目白皮书中文导读

图2描述一个租赁协议的过程,我们假设John是出租方,Mary是承租方。租赁合同的周期通常分为以下阶段:

①准备(preparatory)②协商(negotiations)③合同执行(contract execution)④回滚(rollback)

由图中可知,租赁合同因为Mary的租房需求而触发。在准备阶段,合约的某些标准必须在John和玛利亚进行协商合同条款之前确定。Mary和需要知道公寓信息,而John需要知道有关Mary的财务状况的信息。John和Mary的名字、身份证号,地址等都必须包含并记录在合同中。

传统上,Mary必须自己从网上寻找租房及其他附加信息,或是雇用经纪人来谈和John进行合同协商。这意味着她必须付出更多与租房这件行为本身无关的附加成本。

Agrello提供了一种创新的方法。在协商阶段,John已经确定了合同的基本条款(包含租赁对象的特点,承租的时间,报价和承租人评级),并根据这些信息自动寻找最佳匹配的租赁请求。在Agrello系统中,一旦发生匹配,表示John和Mary之间签下租赁契约的可能性很大。假设Mary希望就部分合同细则进行协商,她可以表示不同意的是哪些条件。根据这个信息,John修改条件以更好地匹配Mary的要求。最终合同的缔结意味着合同双方已经表达了自己的意愿,即各方都签署了合同,此时合同就被部署上区块链。从开始执行到合同终止,这个过程不能被任何第三方改变。

这些过程都可以在Agrello提供的智能合约编写平台上模块化的操作如图3,大大降低编写难度,同时又可以享受到区块链技术基于去中心化、信息公开透明的益处。

Agrello项目白皮书中文导读

Agrello语言(AgrelloLanguage)

为了实现上述功能,Agrello团队基于eSoucing可扩展标记语言(eSML),开发出满足业务需求的Agrello语言。

Agrello项目白皮书中文导读

Agrello语言保留可扩展标记语言的特性,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 图4表示了Agrello语言在SAC中的架构,将Agrello语言内容构建到Who,Where和What块中。

图5展示的是Agrello系统以Agrello语言生成的月租付款智能合约代码示例:

Agrello项目白皮书中文导读

Agrello合约

Agrello智能合约能顺利在区块链上部署,除了要求进行转置的传统合约由两方以上共同签署,还具有以下特征:

身份:合约中必须明确的标识所有身份。特别是对出租人来说,最希望能得到保证,保证出租的标的物的确被承租人使用。

签名:传统合约需要手写签名,在智能合约中以数字密码学签名取代。

事件:获取与合约内容相关的外部事物在智能合约自动执行中至关重要。如果合约中某些触发条件要从外部获得,比如从其他区块链上获得信息,要保证Agrello平台能够查询到相应的链信息。

时间戳记:为了保障合约开始、终止和某些触发结果顺利进行,需要在合约中标注时间戳记。如果有需要获取联外的信息,也需要保证两者在同一个时间维度下。

合约源代码:合约代码以机器可读形式解释其业务逻辑,同时为了保证合约执行的不变性,合约源代码和哈希值需要转移到区块链上。万一合约其中一方要求执行有缺陷的源码,则必须有合约源代码副本才能避免此冲突。

Agrello项目白皮书中文导读

图6是一个SAC合约完整的周期。淡棕色区域是准备(preparation),包含合约集合、合约模板选择、置换SAC合约等过程,主要是SAC合约准备工作;青色区域是启动(initiation),就是当SAC通过代理人软件编写完成后将要部署到区块链上的过程(图中以分布式治理措施表示decentralized governance infrastructure , DGI),过程中Agrello平台提供CMA监控合约的不正常变动并给出反馈;绿色区域是执行(execution),代表合约已经上链并开始执行,过程中合约受到区块链特性保护,无法被第三方篡改或停止;淡粉色区域是回滚(rollback),合约执行过程中如果任一方退出合约,或是执行过程发生错误,可以经由回滚机制重置合约而无需重新建立;灰色区域是终止(termination),代表合约执行完毕,如果合约在一开始转置为SAC合约就发生错误,也会直接进入终止状态。

总结

这份白皮书提供了一种创新的、对等协作的,跨组织区块链链接框架,同时参考常用场景,将智能合约编写过程简化,提供更多人能够体验区块链技术为日常生活带来的便利性及安全性。从文中阐述的租房合约案例可以看到,虽然将传统合约转置到区块链上执行能节省许多成本,但現有的基於区块塊鏈的智能合约,缺乏具有法律約束力的机器可读合约的結構,因此Agrello所做的研究工作是有其必要性及前瞻性的。

未来团队的目标是建立Agrello语言与较底层语言的映射关系,比如允许由Solidity编写的合约也能直接在Agrello系统运行。另外也将开放更多系统接口,提供不同的专家群体,优化Agrello合约,在保证其合法性的同时尽可能做到人人可写可读。

详情见官网:https://www.agrello.org/

本文来源于互联网,版权归原作者所有。

原创文章,作者:酷毙编辑,如若转载,请注明出处:http://www.dailybtc.cn/agrello%e9%a1%b9%e7%9b%ae%e7%99%bd%e7%9a%ae%e4%b9%a6%e4%b8%ad%e6%96%87%e5%af%bc%e8%af%bb/

发表评论

电子邮件地址不会被公开。 必填项已用*标注

联系我们

在线咨询:点击这里给我发消息

邮件:[email protected]

工作时间:周一至周五,9:30-18:30,节假日休息

QR code