一文读懂混合型智能合约:如何结合链上与链下计算资源?
混合型智能合约包含链上运行的代码和链下数据、计算资源,预言机可为其提供喂价、储备金证明、可扩展计算等功能。
撰文:Chainlink
混合型智能合约包含区块链上运行的代码以及区块链下的数据和计算资源,这些资源由去中心化预言机网络传输至链上。混合型智能合约可以协调复杂的经济和 社会 活动,具有区块链防篡改的特质,并且可以安全地接入链下预言机服务,实现各种创新功能,如可扩展性、保密性、公允排序以及接入任何链下数据源或系统。
本文将明确定义混合型智能合约在区块链信任模式中的作用,并阐述 Chainlink 预言机为混合型智能合约提供的各种去中心化服务,以及这一发展将如何催生出新一代的混合型智能合约应用。这些连通了链下资源的混合型智能合约将在未来席卷几乎所有主流行业,并改变整个 社会 的合作方式。
预言机如何扩展区块链上的合作方式
区块链在本质上是促进可信合作的计算基础架构,这是它的关键功能。参与者有了信任,才会坚定地认为合作关系是可靠、真实且有效的。在合作中建立信任最常见的方式就是签署合约。合约定义了各方的法律和商业义务,以及他们行为会受到的奖励和惩罚。然而,如今的合约义务执行机制却漏洞百出。甚至一些情况下,某个参与者会拥有绝对优势,比如操纵和影响合约执行机制,比对手方得知更多消息,或拥有更多时间和资本延长仲裁过程。因此,现在的合约系统变成了:你必须相信对手方的品牌背书,才能信任你们之间的合作关系是牢靠的。
区块链技术的出现使合作从品牌背书转向了基于算法的信任(math-based trust)。合约的存放、执行和托管都转移到了去中心化网络中运行的代码逻辑中,个人完全无法干预和篡改。区块链就像一台没有联网的计算机,可信度非常高,因为它是一个封闭的环境,并且只能实现几种容易执行的功能,比如在一个封闭账本中的多个地址之间转移通证。这种设置是有意而为。虽然区块链的封闭性和功能的单一性为它带来了防篡改性和高度的确定性(这也是区块链最有价值的地方),但同时也排除了任何需要接入链下数据、计算或功能的合作方式。
由于用户希望扩展区块链上可行的合作方式,因此预言机以及混合型智能合约相继出现。预言机为区块链接入外部世界提供了安全的门户,让智能合约应用可以验证外部事件,基于外部系统触发操作,并完成在链上无法实现的计算任务。
Chainlink2.0 白皮书中提到,去中心化预言机网络(DONs)极大扩展了智能合约可以实现的链上合作方式。去中心化金融(DeFi)的快速崛起就是一个很好的例子。Chainlink 去中心化预言机网络将金融市场数据传输到区块链,支持 Aave 货币市场、Synthetix 衍生品平台、dYdX 杠杆交易市场以及 Ampleforth 算法稳定币等各种混合型智能合约协议,因此加速了 DeFi 的发展。
混合型智能合约的构成要素
混合型智能合约应用包含两个部分,即:1)智能合约——这是专门在区块链上运行的代码;2)去中心化的预言机网络——这是为智能合约提供的安全链下服务。这两个模块安全地无缝交互,共同形成了混合型智能合约应用。最后,链上代码通过许多独特的方式得到增强,并且激活了一系列全新的应用场景,突破了之前链上代码在技术、法律或金融等方面的限制。
混合型智能合约将两个完全不同的计算环境同步在一起,打造出区块链或预言机网络单独无法实现的应用功能,并且将这两个环境中独一无二的优势结合在一起。链上代码在极其安全且功能受限的区块链环境中运行,攻击表面较小,因此用户在执行和储存时可以获得极高的确定性,代码一定会严格执行,结果将被永远储存在链上,不可篡改。而 DON 则在链下运行,因此可以更灵活地实现更多功能并访问更多数据。
值得注意的是,DON 也具有非常高的防篡改性和可靠性,可以与智能合约相媲美,但不同的是,DON 是在封闭的链下环境中运行,并且采用了多种安全机制。每个 DON 都会为一个应用提供定制化的去中心化服务,也就是说同一条区块链上的其他智能合约与这个 DON 的性能没有任何关联,而且保障所有智能合约安全的底层区块链共识机制也不会有任何风险。DON 作为独立的服务,不仅在安全上具有优势,而且还兼具灵活性,可以验证并计算更复杂且开放式的链下数据。
比如,一些智能合约选择接入 DON 的标准是去中心化水平以及加密经济安全性,而另一些智能合约则会选择节点声誉高且采用了高级加密技术展开可验证隐私计算的 DON。在这些异构网络中,可以并行几千个或甚至几百万个 DON,每个 DON 之间不会相互依赖,并可以为具体应用提供专门的去中心化服务。同一个 DON 的用户也可以共摊服务成本(如:目前众多 DeFi 协议共同使用 Chainlink ETH/USD 喂价预言机,并分摊成本)。这个框架非常重要,可以同时为所有区块链和应用提供服务,比如为高速区块链上运行的应用接入链下数据并保障隐私。另外,去中心化程度较高的区块链上的应用也需要接入可扩展的计算资源。
混合型智能合约如何结合链上和链下计算资源
为了进一步了解链上和链下模块的差异,我们先为每个模块明确定义:
链上模块:区块链
维护账本,可靠地托管用户资产,并与私钥交互。
处理用户之间不可逆的转账交易,执行最终结算。
解决分歧,建立安全护栏,保障 DON 的链下服务正常运行。
链下:去中心化的预言机网络
从链下 API 安全地获取和验证数据,并传输到区块链和 layer-2 网络中的智能合约。
为区块链和 layer-2 网络中的智能合约展开各种计算任务。
将智能合约输出的数据传输至其他区块链或链下系统。
混合型智能合约结合了链上代码和链下去中心化预言机网络,实现更高级的区块链应用
Chainlink 去中心化服务为混合型智能合约保驾护航
定义了混合型智能合约之后,我们来讨论一下 Chainlink DON 为智能合约提供的各种去中心化服务。这些去中心化服务可以大致分为两类,即:链下数据和链下计算。
链下数据
DON 可以在各种链下数据和区块链之间搭起连通桥梁,为混合型智能合约输入所需数据。以下是初步可以访问的数据类型:
喂价——从几百家交易平台聚合的资产价格数据,数据基于交易量加权计算,并剔除了异常值和虚假交易。
储备金证明——关于通证资产当前储备金余额的最新数据,比如 WBTC 的比特币抵押资产,或 TUSD 的美元抵押资产。
任何 API——来自受密码保护 API 接口的付费数据,数据类型涵盖天气预报、 体育 比赛结果、企业后台数据以及物联网数据。
区块链中间件——区块链抽象层,使链下系统可以接入任何区块链网络中的智能合约,双向读写数据。
链下计算
DON 可以代表智能合约执行一系列链下计算,帮助智能合约获取某些数据,或者打造原生区块链上无法实现的功能,比如隐私保护、可扩展性以及公允排序。以下是目前已经实现和未来即将实现的部分 DON 计算功能:
Keeper 网络——指定期维护智能合约的自动化 bot,在适当的时间点启动合约,执行关键的链上功能。
链下报告(OCR)——以可扩展的方式聚合 DON 预言机节点响应的数据,然后将聚合数据在单笔交易中发送至链上,以降低链上成本。
可扩展的计算——为智能合约执行实现高吞吐量和低成本,采用现成的 layer-2 技术定期与链上同步。
可验证随机函数(VRF)——安全地生成可验证的随机数,采用加密证明技术,证明过程的完整性。
数据和计算隐私——保护隐私的预言机计算功能采用零知识证明(DECO)、可信硬件(Town Crier)、安全的多方计算以及特定的 DON 委员会制度,将敏感数据保密地传输至智能合约。
公允排序服务(FSS)——根据预定义的公平原则开展去中心化的交易排序,避免抢跑攻击和矿工可提取价值(MEV)。
链上合约隐私——将合约逻辑与结算结果解绑,保护智能合约交易隐私,比如通过 DON 的 Mixicles 功能在两方之间传输数据。
Chainlink 去中心化的预言机网络提供一系列丰富的服务,拓展了混合型智能合约应用的功能
混合型智能合约对全球各个行业带来的影响
DON 可以实现高级的混合型智能合约框架,将不同系统和区块链上的各个独立实体无缝连接,实现安全和通用的自动化交互。Chainlink 为开发者克服了智能合约的技术壁垒,开发者可以利用区块链的高确定性,并通过 DON 实现外部连接、隐私保障、可扩展性以及公允排序等各种关键功能。混合型智能合约不仅为网络中各个参与者创造了更可信和高效的合作空间,还将区块链网络接入传统链下基础架构,并且无需在后端做任何修改。
DON 将为众多智能合约应用提供所需的隐私保障和可扩展性,并涵盖大多数企业应用场景和众多 游戏 和金融应用,为其实现高吞吐量和实时决策。混合型智能合约还将激活一系列前所未有的全新应用场景,比如通过可验证随机数和去中心化交易排序实现基于算法的经济公平性和透明性。
已经感受到,或即将感受到混合型智能合约影响的部分主流行业:
身份信息——身份信息可自动验证,并保护信息隐私。智能合约可以定义所需的个人信息以及所需操作。DON 对这些数据展开计算,验证用户个人信息,并同时保护信息不透露给对手方,并且不会储存在链下系统。
金融——抗审查的开放式金融市场,访问不设门槛,信息透明。智能合约可以为买家和卖家定义交易规则,DON 可以使用链下数据定价和结算,并实现额外的功能,如:隐藏交易、KYC 验证、公允交易排序以及高速链下处理等。
供应链——在共享账本上运行的多方交易协议,将产品线数字化,基于验证过的数据跨多个系统进行自动化操作。智能合约可以定义合约义务、支付条款和惩罚机制。DON 可以利用隐私计算和物联网数据追踪运输信息、监控质量控制、验证客户身份并触发结算付款。
保险——基于预定义事件建立双边预测市场,并在此基础上创建参数型保险。智能合约可以定义保费和理赔流程,DON 可以将合约接入链下数据,获得报价并处理理赔申请。DON 还可以开展风险评估计算,从云平台等数据源获取复杂的风险评估结果,并以保密的方式验证用户身份。
游戏 ——自动发放 游戏 奖励,用户可以通过 NFT 完全拥有 游戏 内资产,并提供权威证明,证明所有参与者都有同样的获胜概率。智能合约可以定义 游戏 规则和奖励发放模式,DON 可以提供防篡改的随机数,保障 游戏 的公平性可以得到验证,并且奖励发放过程是公平的。 游戏 dApp 接入 DON 后,还可以接入增强现实的物联网传感器等一系列链下数据源,并在链下处理部分 游戏 功能,以提高 游戏 性能。
市场营销——营销活动基于各种参数和指标自动实时发放奖励。智能合约可以定义阶梯式的奖励发放模式,并设置具体的里程碑目标。DON 可以验证目标是否达成,并对客户数据和市场趋势展开保密计算,以更有效地评估营销活动。
治理——分布式社区可以安全公平地管理共享系统和资金池。智能合约可以定义完整的治理框架,DON 可以提供链下数据和计算资源,触发利润分发、费用分摊和身份认证等各种操作,有效抵御女巫攻击,验证各成员的参与度,或甚至实现自动化的决策流程。
最终,DON 可以提供所有无法在链上实现的服务,并为现有数据和系统带来更强大的加密安全保障,以启动链下服务生态。混合型智能合约基础架构可以丰富去中心化系统的合作方式,让各个区块链和非区块链基础设施可以安全可靠地无缝交互,并保障可扩展性、保密性、定制化和通用连接性。虽然目前加密货币资产规模已达数万亿美元,且 DeFi 经济规模逼近 1000 亿美元,但是区块链生态仍处于发展初期,还有巨大潜力未被挖掘,因此混合型智能合约和 Chainlink 去中心化预言机网络拥有巨大的应用空间和潜力。
如果你想立刻着手开发混合型智能合约应用,并需要接入链下数据或计算资源,请查看我们的开发者文档,你也可以在 Discord 频道询问技术问题或与 Chainlink 专家透过电话沟通。
区块链技术中的智能合约是什么?
智能合约可以简单理解为一段写在区块链上的代码,由事件驱动、具有动态状态、获得多方承认、且能够根据预设条件自动处理链上信息。一旦某个事件触发合约中的条款,代码就会自动执行,智能合约最大的优势是利用程序算法替代人仲裁和执行合同。
智能合约是用计算机语言取代法律语言去记录条款的合约,一旦编写好就可以被用户信赖,合约条款不能被改变,因此合约是不可更改的。程序满足条件就会执行,无法进行人为干扰,保证绝对公正公平。
智能合约的3个技术特性
●数据透明
区块链上所有的数据都是公开透明的,因此智能合约的数据处理也是公开透明的,运行时任何一方都可以查看其代码和数据。
●不可篡改
区块链本身的所有数据不可篡改,因此部署在区块链上的智能合约代码以及运行产生的数据也是不可篡改的,运行智能合约的节点不必担心其他节点恶意修改代码与数据。
●永久运行
支撑区块链网络的节点往往达到数百甚至上千,部分节点的失效并不会导致智能合约的停止,其可靠性理论上接近于永久运行,这样就保证了智能合约能像纸质合同一样每时每刻都有效。
了解区块链,什么是智能合约?
智能合约是一种不需要公证员或公职人员等第三方来验证、促进或执行的合约!
从字面上看意味着你可以与任何第三方进行快速、可靠和信任的交易,不受普通合同的限制
智能合约的优势
1、信任
由于区块链独特的信息存储方式,许多计算机共享信息,并对其进行独立验证,可以使用所谓的“分布式账本“,这些信息是有效的,也不能丢失。
2、备份
由于在分布式分类帐中存储信息的机制,网络中有许多副本。这确保了所有创建的文件和所有执行的合同都有备份。
3、自治
网络处理交接和合同条款,它是完全自主的。
4、速度
传统的合同需要验证与第三方进行沟通,基于区块链的网络可以将这过程加快到几个小时或实时交易。
5、自动化
智能合约是它们的”智能“,这意味着你也可以确保满足合同的复杂结构。你不仅有文件的可追溯,而且有货物的可追溯性。
6、加密与安全
一个重要的作用当然是安全了交易。这不仅意味着文件和合同被原存储,而且还意味着只有被允许时才能访问信息。使用非常安全的网络协议和密码学以及其他安全层,确保只有相关方可以访问信息。
智能合约用例
供应链
对于那些拥有全球供应链网络的大型企业来说,对每一笔交易进行数字跟踪录是非常有益的。不仅可以在流程中实现自动化,还可以追溯产品的每一阶段。这将增加透明度,可以帮助识别瓶颈,也有助于管理大量的合同。
另一种情况是,当货物到达时,付款正在处理。这给发送方和接收方提供了合同安全保障。因为只有处理付款是才有可能进行货物转移,这也意味着这种交易不需要进行贸易融资。
不动产
将房产转让给买方,到给予房产使用权。每一笔房地产交易都会涉及到合同。智能合同可以帮助限制相关的风险和成本。
在房地产交易中,只有在付款到账后才可以转让房产。有了智能合同,你不需要向银行或公证处来回办理,你可以直接办理,不需要等待时间。
医疗保健
谁可以访问我的病人数据?我的数字病人档案安全吗?以及其他许多问题都是从拥有数字病人档案中产生的。正如我们了解到的,如果只有有限的几个人需要在有限的时间内访问,你的档案始终带在身边,只有当你允许医生访问时才有权限。
高度监管,比如药品储存和配送。
美国上市公司由第三方审计作为公司状况的顾问是否具有可借鉴性?_百 ...
第三方审计 工作是由具备资质的会计师所进行审计,那么所谓的第三方,就是中立的一方,注册会计师正好具备这个特点。因为 第三方具有中立的特点 ,所以在对上市公司做审计工作的同时可以做到公平、公正、公开,不偏袒任何方面。可以最大程度的做到就事论事,以提高投资者对审计报告的认可度。
对于美国上市公司来说, 有效的财务会计报告内部控制对公司管理及其事务,尽到对其投资者的责任,有至关重要的作用。 公司管理当局、公司所有者、投资公众和其他相关方都需依赖公司承保的财务信息来制定决策。那么需要做到这些,自己来审计自己,显然是做不到足够的公平公正与公开,也不可能得到各方面的对报告的认可。 所以把这些交给具有中立性的第三方来做是最合适的事情。
那么 审计的独立性 ,就是说注册会计师不受那些削弱或总是有合理的估计,仍会削弱注册会计师做出无偏审计决策能力的压力及其他因素的影响。这对审计工作来说,至关重要,因为涉及到市场经济的,利益公平,独立性。这个独立性,也应当保持形式上的独立和实质上的独立,也就是说注册会计师与被审计单位或个人没有任何直接或间接的利益关系。不受到个人或外界因素的约束,影响和干扰,保持客观且无私的精神及工作态度。
而第三方审计,在我国也是非常有必要的。我们不仅是借鉴,而且也正在使用第三方审计的工作。而且 我国有明确的法律规定,上市公司的年度报告必须要经过第三方的审计。 这么做也是为了能够让上市公司的审计报告能够更加的客观,公平,公正,公开,做到不掺杂任何利益关系和个人 情感 关系。
全球第三大审计机构certik为众多知名项目保驾护航
据统计,2018年全球区块链130领域93706165发生近百起安全事件,损失超20亿美元,相较于2017年增长了538%。比特币的底层技术“区块链”面临着来自数据层、网络层、共识层、激励层、合约层、应用层的安全风险,安全攻击方式层出不穷,防不胜防。安全攻击主要发生在应用层,其中智能合约是区块链安全的重灾区。
而且还发生了很多的安全事件,影响较大的例如MtGox事件,MtGox是当时全球最大比特币交易平台,处理的比特币交易占全球70%。2014年,MtGox遭遇了最严重的黑客攻击,随后MtGox宣布暂停交易,理由是其安全软件存在漏洞。两周后,网站突然关闭,MtGox申请破产。
据MtGox估计,公司的比特币投资损失约合4.8亿美元,其中包括客户的75万单位比特币和公司自己持有的10万单位,合计约占全球比特币发行量的7%。此次事件导致投资者信心受挫,比特币直接暴跌36%。
还有非常多别的项目同样受到巨大的损失,仔细研究不难发现:在区块链的安全事件中,大多都是由于源代码存在漏洞而使黑客趁虚而入。智能合约受到区块链本身保护,所以智能合约代码可以最大限度的开源和让人阅读。但是代码的公开性使得黑客容易掌握代码的缺陷,进一步利用代码缺陷触发条件改变智能合约执行结果,使得区块链项目存在巨大的经济隐患。所以智能合约代码的开源性需要代码的高可靠性,这种可靠性要求100%的正确。
但是,对于程序员来说,写一个完全没有漏洞的代码实在是太难了,即使采取了所有可能的预防措施,在复杂的软件中也总会出现没有预料到的漏洞。所以,代码审计的重要性不言而喻。
通过代码审计,检查源代码中的安全缺陷,检查程序源代码是否存在安全隐患,或者有编码不规范的地方,通过自动化工具或者人工审查的方式,对程序源代码逐条进行检查和分析,发现这些源代码缺陷引发的安全漏洞,并提供代码修订措施和建议。
目前已经服务的有交易所、钱包、公链和智能合约等代码审计,为区块链行业保驾护航,合作的慢雾 科技 ,Certik等全球知名审计公司,我们有着优质的服务满足客户的需求,欢迎合作伙伴合作交流,共同探讨!
发生过的案例:
一、区块链代码审计可以解决哪些问题:让黑客无孔可入
随着BTC、ETH、EOS等区块链项目的迅速发展,区块链项目已经进入了智能合约时代,但是智能合约自身的正确性和安全性却面临着巨大的问题。
也就是说任何一个项目在使用区块链时都有可能走向歧途,不能完全保证代码的准确性。就像每个人在电脑打字时都会打错字一样,程序员在输入代码时也会存在笔误和错漏。
而区块链中的基础:智能合约代码的开源性需要代码的高可靠性,这种可靠性要求100%的正确。
差之毫厘,谬以千里。
用专业的术语来说:
类似比特币这样的代码全部公开,用智能合约代码存储在区块链上,与交易数据一样受到区块链的加密保护,要想修改智能合约代码需要掌握51%的算力,因此,智能合约代码的防篡改性得到大大提升。
智能合约受到区块链本身保护,所以智能合约代码可以最大限度的开源和让人阅读。智能合约解决了可以公开代码并保障其安全的问题,但是代码的公开性使得黑客容易掌握代码的缺陷,进一步利用代码缺陷触发条件改变智能合约执行结果,使得区块链项目存在巨大的经济隐患。
就像,我们在银行里转账,每一个账户的信息都是对的,转账才能够是正确的,你的财产才可以安全被保护,所以:区块链代码中一个字都不能错。
二、区块链代码错误导致的严重后果
区块链中的智能合约代码质量不好造成了许多严重的后果。
目前来看,许多交易所和代币项目在上交易所之前没有经过区块链代码审计,造成了许多虚拟货币被盗窃的黑客事件。
1、SMT项目方与美国BEC代币的安全漏洞
2018年4月25日凌晨,SmartMesh(SMT)项目方反馈发现其交易存在异常问题,经初步排查,SMT的以太坊智能合约存在漏洞。受此影响,火币Pro目前暂停所有币种的充提币业务。
另据媒体报道,发现SMT与美图BEC代币存类似的安全漏洞,即可通过溢出攻击可以收到大量的代币。
2、美图BEC的异常交易漏洞
2018年4月22日,美图BEC出现异常交易,据分析,BEC 智能合约中的batchTransfer批量转账函数存在漏洞,攻击者可传入很大的value数值,使cnt * value后超过unit256的最大值使其溢出导致amount变为0。
3、Parity多签名钱包漏洞
2017年7月,Parity多签名钱包由于其智能合约代码中存在漏洞,被黑客盗取时价超过3000万美金的ETH。
4、黑客盗币漏洞
2016年6月由于智能合约的一个错误,黑客从DAO偷走了价值5500万美元的ETH。
代码的安全缺陷倒逼智能合约的代码自动审计。
三、区块链代码审计成就完美合约
区块链智能合约通过代码建立一套“法律合同”,软件工程师创造一个完全无误差的代码是不可能的,程序员总存在疏忽的地方。红岸 科技 和国防 科技 大学的Ulord区块链项目研究团队对市面上的区块链智能合约进行了审计,他们的研究发现:
对所有的程序员来说,写一个没有bug的代码实在是太难了,即使采取了所有可能的预防措施,在复杂的软件中也总会出现没有预料到的执行路径或可能的漏洞。
这是为什么要代码审计最重要的原因之一。
区块链中的 “法律合同”是一项受解释和仲裁的约束,程序员很难去创造一个缜密的合约。在任意一个大的合约里,可能出现的文稿错误以及一些条款需要解释和仲裁。
同时,软件工程师不是法律专家,反之亦然。起草一份好的合约需要各种各样的技能,不一定与编写的计算机程序兼容。
因此,智能合约代码在一定程度上都可能存在安全隐患。传统的智能合约代码审计主要利用人工,依靠code reviewer阅读智能合约代码。人工代码审计最终还是依赖人的经验,代码审计效果不明显,针对目前ETH大量代币的智能合约,人工审计工作量大,难以高效的完成工作。
在区块链领域从事代码审计业务的项目公司较少,目前每个代币在上交易所之前,其区块链智能合约代码由交易所进行审察和判定,但交易所有时并不能完全有效地判断合约是否完美。
智能化代码审计,利用计算机进行稳健性检验是当前代码审计最重要的方式,掌握该项技术标准的国内公司并不多。
但,区块链代码审计的重要性不言而喻,区块链世界本身是相当安全的,但是由于人为撰写代码的问题,不可能完美,必须加强代码有效性的识别。
区块链智能合约本质特征
区块链智能合约本质特征:去中心化。
使用智能合约的一些主要优势包括在处理文档时的更高效率。这归功于它能够采用完全自动化的流程,不需要任何人为参与,只要满足智能合约代码所列出的要求即可。
结果是,会节省时间,降低成本,交易更准确,且无法更改。此外,智能合约去除任何第三方干扰,进一步增强了网络的去中心化。
扩展资料:
智能合约只能使用数字资产,在连接现实资产和数字世界时会出现问题。最后也是最重要的是,智能合约缺乏法律监管,只受制于代码约定的义务。缺乏法律监管可能会导致一些用户对网络上交易持谨慎态度,特别是它很重要的话。
使用智能合约的优点是处理交易时效率更高,不可逆转,安全的交易以及全自动化流程。另外一个方面,缺点就是缺乏法律监管,人为的错误和实施有困难。