智能合约怎样可相信的与外表世界相互,区块链

图片 1

区块链应用中,外部世界如何与智能合约交互往往是一个容易被忽视的问题,很多的智能合约应用场景是根据一些外部事件,输出相应的结果,而传统的IT数据交互方式实际上并不能投入真正的工作。例如,按照农产品价格情况来支付投保人赔款的农产品价格险保单。传统IT人员一般认为是如下的流程:智能合约会在预定的时间,从期货交易场所获取农产品价格,然后按照获取的数据采取预设的行动。听起来很简单,但却不可能实现。为什么呢?因为这里存在两个问题,一是共识问题,二是受信任方问题。

随着区块链技术的发展,各国之间存在很多争议,但区块链技术已经进入蓬勃发展,扼杀区块链是不可能的,我们要想办法如何去解决这些争议,使区块链造福人类,社会发展更近一步。需要我们从有效的法律服务和争端解决:

一、共识问题

区块链是基于共识的系统,只有在每个交易和区块处理过后,并且每个节点达到相同状态,智能合约才能正常运行,所有事情必须是精确一致。如果节点之间对数据状态有歧义,整个系统就无法可信稳定运行了。在上面的案例中,智能合约由链上的每个节点独立执行,因此如果智能合约从外部服务获取数据的话,这个数据获取过程是由各节点重复和独立完成的,假设这个区块链有100个节点,那么就会有100条获取数据的请求从每个节点发送到期货交易场所,但是因为这个数据来源于区块链外部,价格是实时波动的,由于网络延迟、节点处理速度等各种原因,每个节点获取的并不是同一时刻的价格,输入到智能合约的价格数据也就不同,因此对应的各节点智能合约输出也会不同,在这种情况下,整个区块链的信任基础就会崩溃,无法达成共识。

解决的方法其实很简单,不通过智能合约发出外部数据获取指令,而是由第三方发送一笔区块链交易,在交易中附加需要的数据,交易会将数据嵌入区块,并同步到每个节点,从而保证数据的完全一致,因此可以用于智能合约的计算中。总结就是由第三方将数据推送进区块链,而不是由智能合约将数据拉取进去。

同样的问题一样发生在智能合约调用外部世界事件的情况。还是上面的例子,很多人会想象价格到预定目标,智能合约去调用期货公司的API接口,实现卖出期货的功能,从而锁定保单风险,但是如果每个节点都独立执行智能合约,那么应该由哪个节点去调用这个API呢?如果选择某个节点去执行,但是如果该节点发生故障了,无论是不是故意的,怎么保证其可靠性呢?而选择全部节点去完成API调用的话,是否每个节点都可信,怎么保证API密码的安全呢?况且一个API同时被多节点高并发频繁调用也是不合适的。

解决方法参考上面的问题,智能合约不需要获取外部API,而是第三方实时监控区块链状态,然后做出相应的反馈。例如,合作的期货交易所实时监控区块链,然后根据链上的交易情况做对应的资金转移,这样就不会对区块链共识产生威胁。

有效的法律服务和争端解决

二、受信任方问题

前文提到的解决共识问题方法核心就是区块链被动接收数据,与外部的交互依赖于第三方,这个时候就会引入第二个问题,第三方如何信任?第三方如果在数据传输过程中私自篡改数据怎么办?如何审计第三方是否从正确的地址获取的数据?为解决可信问题,就需要引入Oracle,它不是甲骨文数据库公司,中文翻译为预言机。预言机是一种可信任的实体,它通过签名引入关于外部世界状态的信息,从而允许确定的智能合约对不确定的外部世界作出反应。预言机具有不可篡改、服务稳定、可审计等特点,并具有经济激励机制以保证运行的动力。目前来说,预言机有两种模型,一个是单一模型,另一个是多重模型,有时候多重模型又称为Oracle网络。

单一模型只包含一个预言机,这一预言机是可信任的,它会正确地执行代码,合约的参与者能确信它不会与合约的某一参与方相勾结,单一模型类似于软件即服务提供者。对于大部分应用,单一模型已经就足够安全,并且经济实惠。目前一个单一模型的实例是Oraclize。

多重模型包含多个预言机,甚至是预言机网络。虽然单一可信任的预言机对大多数用户来说已经足够了,但是高价值的资产处理需要更高的可信任度,这就需要用到多重模型。在这一模型中,代码的执行分布在若干独立的预言机中,例如10个,将这10个预言机的数据设置一个可信临界,临界值数量的智能预言机必须就结果达成一致。例如,用户使用7/10模型,只有当等于大于7个智能预言机一致时,合同才能够执行。这一模型留出了3个缓冲,也许有的智能预言机离线,有问题或者被黑客攻击,只要不多于3个不影响合同代码的执行。多重模型比单一模型更加复杂,成本更加高,但是它提供了更好的安全保障。

为了使解决争端的进程更快、更有效率和更公正,已经采取了许多主动行动,包括试图在网上进行这一进程。例如,在线法律援助服务Rocket Lawyer除了提供安全的存储设施、电子签名和律师审查外, 还允许在线即时创建法律表格和文件。LegalZoom 是一家类似的在线创业公司, 为小企业和家庭提供个性化的在线法律服务。然而, 这些平台的效用仍然局限于量身定做的文件和服务, 主要侧重于联系人的起草、发布争端的法律通告和提交必要的答复。

三、单一模型预言机运作方式

单一模型预言机的一个典型实例是Oraclize,由于他的应用十分典型,本文以Oraclize为例进行讲解。

1、Oraclize简介

Oraclize是一个独立的服务提供商,目前提供免费的数据输送服务,其目的是在区块链和互联网之间建立一道可信的数据网关,其目标是打破智能合约获取数据的束缚,在保证可信的情况下,使其具有访问互联网数据的能力。Oraclize不是想让智能合约的开发者信任这个组织,因为不论任何信任,都可以从技术上篡改数据,无法真正从技术保证安全,而是通过提供多种加密证明方法,构建可信的预言机。 Oraclize的运行状态如下图。

图片 2

图1  Orcalize示意图[2]

如图1,多种区块链可以通过Oraclize有效的访问互联网API,保护其Dapp的安全性和健壮性,目前支持Ehtereum、Bitcoin、Rootstock、Eris四种区块链。用以太坊为例子,目前采用Solidity的智能合约只能存取访问链内的信息,而Oraclize作为一个数据传送者,可以在以太坊的DApps与Web APIs之间提供可靠连接,让基于智能合约的Dapp应用可信的地取得外部信息和数据。运行原理如图2:

图片 3

图2 Oraclize运行原理图

Oraclize在以太坊上部署了一个名为usingOraclize的智能合约,如果需要其数据访问服务,只需要在自己的智能合约中引用该智能合约,然后根据API文档中描述的方法进行相关的调用即可。如果某些组织利用以太坊技术搭建了自己的私有链或者联盟链,Oraclize在Github上提供数据服务的开源智能合约代码,通过自己部署后,一样可以像公有链一样调用。Oraclize提供了多种数据源服务器,包括Url访问、数据搜索引擎、区块链内容数据、IPFS文件访问等等,其中Url访问和区块链内容数据提供了基于TLSNotary的可信证明技术,也是常见的数据访问需求。对于基于TLSNotary的可信证明可以根据用户的需求开启和关闭,因为虽然目前该服务是免费的,但是随着以后Oraclize的正式版发布以及推广期的结束,可信证明技术是需要更多的收费,用户可以基于成本考虑选择是否使用,常见的典型服务如下:

(1)Url访问服务

该服务可以用来访问互联网的API或者网页,首先用户向Oraclize提供想要访问的URL地址,并设定GET / POST 的方法和相关的参数。Oraclize根据用户的设定,自动获取URL的内容,然后发送数据到区块链上的Oraclize的服务智能合约上,通过该智能合约转发到用户的智能合约上。整个过程中,用户可以选择开启或关闭TLSNotary的可信证明。这样的应用场景很多,比如通过Random.org网站获取真正的随机数、获取航班运行情况用于航班延误险的自动计算和支付、链上身份认证系统、去中心化的博彩系统、去中心化的预测市场(如体育运动比赛结果或竞选活动)等等。

(2)区块链内容数据

区块链内容服务可以让智能合约快速访问某一区块链的相关数据,实际上,一方面早期的区块链上的脚本并不能访问自身的内容,比如比特币的脚本本身不能访问比特币的区块链数据。另一方面,不同区块链上的脚本或智能合约有跨链访问数据的需求,以完成更复杂的功能。区块链内容数据一般来说都是从互联网上的区块链浏览器获取,区块链浏览器一般都会提供各种API用于获取区块哈希、区块内容,交易内容、用户余额等多种信息,从本质上来说,区块链内容数据也是URL访问服务的一种特殊类型。

除此以外,Oraclize还提供搜索引擎数据服务、IPFS分布式数据服务、加解密服务、链下计算服务等,原理本质上没有区别,由于篇幅限制,不再复述。

四、      Oraclize可信证明机制原理

Oraclize之所以可以提供一个可证明的诚实从外部世界安全获取信息的能力,是依赖于TLS证明技术(TLSnotary),除此以外,Oraclize还提供了其他两种证明机制:Android SafetyNet证明、IPFS大文件传送和存储证明,由于使用较少,本文不做详细展开。。

TLSnotary证明主要基于安全传输层协议TLS 1.1,TLS用于在两个通信应用程序之间提供保密性和数据完整性,最大优势就在于独立于应用协议,更高层协议可以透明地分布在 TLS 协议上面。

TLS包含三个基本阶段:1.对等协商支援的密钥算法,2.基于私钥加密交换公钥、基于PKI证书的身份认证,3.基于公钥加密的保密数据传输。在整个传输中,TLS的master key可以分成三个部分:服务器方、受审核方和审核方。在整个流程中,互联网数据源作为服务器方,Oraclize作为受审核方,一个专门设计的,部署在亚马逊云上的开源实例作为审核方,每个人都可以通过这个审计方服务对Oraclize过去提供的数据进行审查和检验,以保证数据的完整性和安全性。

五、多重模型预言机运作方式

多重模型预言机有多种例子,一般来说,这种成本较高,较复杂的预言机会应用在对信息可靠性要求较高,涉及价值比较大的领域,比如金融、博彩等。一个可靠的多重模型预言机,遵循博弈原理,有经济激励机制和惩罚措施,越多的节点参与,其真实性越高。当数据输入时,网络需要保证参与者节点无法知晓其他参与者的数据,然后各个节点将数据输入智能合约,智能合约对于价格等连续数据将选择最接近中位数的数据,如果是二元数据则统计得票最多的结果,最后对提供正确数据的节点进行奖励。与单一模型不同,多重模型需要面对女巫攻击(Sybil attack)和共谋攻击(collusion attack)。

这两个攻击本质上都是通过控制多个节点来伪造数据干扰最终结果,主要防范的方法,一是鼓励尽量多的节点参加数据反馈;二是让每个节点的权重尽量平均,防止某些节点权重过高,易于控制结果,三是提高节点的接入成本,比如需要一定的押金;四是需要有一定的激励和惩罚措施,以促使节点考虑自身利益不会撒谎。下面以某去中心化电竞平台项目为例,说明一下多重模型预言机实例。

某去中心化电竞平台是一个基于以太坊的去中心化应用,能够让电子竞技迷们可以通过一个去中心化的、自动化平台去参与他们喜欢的游戏,并能够利用手中的代币进行电子竞技。通过该平台,智能合约结合见证人系统和中心化的陪审团,使得某去中心化电竞平台可以不依赖可信的第三方来自动、可信的判定游戏胜负结果,从而根据游戏结果自动处理参与玩家的代币,如果有争议产生,需要更高级别的审查,那么内部陪审制度将被激活进行人工裁定。其用于比赛胜负自动判定的见证人系统设计如下:

图片 4

图3 见证人系统

如图3所示,见证人在比赛验证系统中是一个非常重要的角色,要想成为见证人,必须要运行自动见证人节点软件并购买一定量的代币,他们充当比赛结束前的最终关口和奖励的处理。见证人节点网络充当一个去中心化的代理,他们能够链接游戏的API,互相校验游戏结果确保平台不会有错误和欺诈。众多的见证人形成了一个见证人池,所有的见证人节点会察看每一场分配的比赛,检查游戏API并发送结果到区块链让所有人都能看到。每场游戏结束后,按照加权随机选择过程,对于每一场比赛大约2 个见证人节点将向智能合约报告比赛结果,智能合约根据结果自动处理游戏参与者的代币并向报送数据的见证人节点发送奖励。见证人节点的奖励随着网络中的比赛数的增加而不断增加,因此,见证人有动力报告正确数据,支持让平台走向成功。见证人系统软件是一个完全自动化的软件,不需要人工干预。

当一场比赛出现争议,见证人中的一些成员将会被随机选择作为陪审员,多个陪审员组成了一个陪审团,基于见证人提供的结果和玩家的其他的证据比如截图进行人工投票。根据投票结果,见证人和与大多数投票一致的陪审员同样可以获得一部分奖励,与少数人投票一致的陪审员将会得到惩罚措施。

为了预防冒名攻击和共谋攻击,该平台对见证人节点提出了如下要求:

n  玩家必须向平台提供身份证明比如姓,邮箱或者名字,确保每一个人只有唯一的账户去参与见证人节点。

n  成为见证人节点,需要一定量的代币作为抵押。

n  节点被选定履行陪审团职责的概率是与持有代币的数量成正比的,但限定概率上限为1%。这样可以确保没有人能够主宰的陪审团的挑选过程。

通过以上措施,从而保证见证人系统的公平和公证。

[1] StefanThomas, Evan Schwartz,

[2]

另一个经常发生争议的领域是零工经济市场和支付处理平台,如Freelancer , Fiverr和PayPal。尽管这些门户网站有自己的解决争端的方法, 但他们以集中的方式运作, 并有限的在内部进行决策操作。他们还经常被指责没有对工作质量进行公正和必要的评估。

尽管在线下和线上都有改善法律服务和纠纷解决过程的尝试,但围绕纠纷解决方法的核心问题(包括时间延迟、高成本、集中化和有偏见的决策)基本上无人关注。

基于区块链的纠纷解决系统有帮助吗?

随着区块链技术的日益普及,分布式账簿正在各种服务领域中成为颠覆者。许多人试图将法律和争端解决服务纳入区块链,以充分利用其巨大的利益。这种区块链系统可以提供分散和及时的决策,低程序成本,透明度和公平判断的高概率。

Mattereum提供了一个法律技术接口,将区块链上的数字资产与现实世界的商品和服务连接起来,据称是首个可合法执行的智能合约“互联网协议”(Internet of agreement, IoA)项目。Agrello允许用户轻松创建和管理基于智能合约的法律协议,方法是聘请自动化的人工智能顾问。在线陪审团还使用智能合约提供一个独立的、经过认证的仲裁小组来创建一个更好的争端解决系统。

JUR在其本地代币的支持下,建立了一个专注于共识算法和区块链的平台,旨在提供法律和纠纷解决服务,以改进传统的合同纠纷解决方式。除了提供创建智能法律协议的设施外,JUR还提供其他服务。用户可以进行与sla相关联的安全托管存款,一旦满足设置的条件,这些存款将自动转移给受益人。JUR还支持直接结算付款和轻松提款。它可以用于保证合同和交易的支付,从而消除交易间的风险。

然而,JUR突出的主要特征是其争端解决机制。JUR声称在24小时内可以解决合同纠纷。基于博弈论和反偏见的概念,该平台的纠纷解决系统得到了一个由授权网络参与者组成的法律社区的支持,这些参与者使用一种代币化的、基于共识的投票系统来做出决定。

从本质上说,任何用户都可以用JUR代币押注自己成为陪审员(在JUR系统中称为“oracle”)。如果他们有效和及时的决定违背了多数人的投票,他们就会失去被压住的标记,而这些标记是对那些投票赞成多数人决定的oracle奖励。这种以利害关系和投票为基础的争议解决制度确保了oracle 在作出决定时以负责任的态度和适当的问责性来公平的行事,因为他们可能会因为错误的决定而损失资金。所有相关实体都受益于及时的判决、与程序相关的低成本、过程透明、公平和公正的决策以及对公正陪审员的奖励。JUR还计划开放其api供第三方使用,其他现实世界的实体,如Freelancer 或 PayPal,可以外包他们的纠纷解决工作,以此来节省成本,同时不影响纠纷解决过程的质量。

虽然Augur和 Gnosis等其他预测平台也支持这种基于投票的决策,并可能被用于解决争端,但JUR将自己定位为专注于解决争端和法律服务的专门“陪审员”平台。它采取更细致的方法,支持对任何级别的案例进行深入评估。从大公司到中小型企业再到自由职业者,任何人都可以使用这项服务。除了用于投票系统操作的少量“人工”费用,该决议几乎为零成本。

底线

“正义会迟到,但永远不会缺席”,这是一句古老的谚语,但尽管技术在不断的进步,确保及时和低成本解决大小争端的挑战仍然存在。基于区块链的系统试图提供一种实用的解决方案,能够服务于所有类型的实体,但是它们的成功还将取决于它们的大规模采用。

电话:180-1172-8102

Q:1453722003

本文由365bet体育在线官网发布于网络工程,转载请注明出处:智能合约怎样可相信的与外表世界相互,区块链

TAG标签:
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。