
区块链是去中心化的计算机网络,可以在数字账本中追踪用户账户余额和数据。区块链没有中心化的管理者,而是采用去中心化共识对账本更新达成一致协议,并最终执行更新。这为多方记账和流程自动化建立了新范式,比传统的计算环境更加中立、防篡改且透明。
然而,区块链就像是没有联网的计算机,本身无法与其他区块链或链下API通信。这个问题也被称为预言机问题,不仅导致区块链无法与传统系统交互,而且还导致链与链之间无法实现互操作性。随着我们不断朝着多链的世界发展,区块链互操作性协议成为了链与链之间(即跨链)交换数据和通证不可或缺的基础设施。
本文阐述了区块链互操作性的定义及其价值,并且列举了不同类型的区块链互操作性解决方案,以及Chainlink的跨链互操作性协议(CCIP)如何扩展预言机的功能,支持数据在任何链之间跨链传输。
区块链互操作性指区块链相互通信的能力。区块链互操作性的基础是跨链消息传输协议,这类协议能让区块链面向其他区块链读写数据。
跨链消息传输协议可以支持创建跨链去中心化应用(dApp),一个dApp可以在不同区块链上部署智能合约。跨链dApp与多链dApp的不同之处在于,多链dApp通常在多个区块链上部署同样的应用,但是每条链上部署的智能合约都是相互独立的,与其他区块链没有关联。

跨链dApp部署在不同区块链上的智能合约的逻辑都是统一的。
跨链dApp如果利用跨链消息传输协议,则功能会受限。比如通证桥只能将一条区块链上的通证转移到另一条区块链上。然而,如果使用可以传输任意数据的消息传输协议,则能实现更加丰富的跨链功能和更加复杂的dApp,比如跨链去中心化交易平台(DEX)、跨链去中心化货币市场、跨链去中心化自治组织(DAO)以及各种类型的模块化应用。
如今,Web3正朝着多链和多层级的方向发展。目前已经有超过100个L1区块链(即底层链)和越来越多的L2,之后还会出现基于底层链的L3网络。L2和L3网络本质上是不同的区块链,但都依赖底层链的安全机制(如:Rollup)。
L1和L2网络的发展充分体现了区块链技术和生态的创新设计思路。区块链通过不断优化协议来创新功能,以此吸引开发者和应用加入其生态。要做到这一点,通常需要在功能上做出一些权衡。比如,一些区块链更关注去中心化以及抗操控性,因此在底层区块链的吞吐量和可组合性方面做出了一定妥协;而另一些区块链则更重视打造原生隐私功能,因此在可信硬件的安全假设方面做出了一定妥协。
区块链通过不断探索各种共识协议、执行环境以及数据存储方案来进行优化,因此开发者可以在成本、活跃度、性能、数据可用性、安全性、加密经济机制以及环保方面对区块链进行筛选。另外,区块链为了差异化,还会支持特定的编程语言,聚焦某些应用场景和地域市场,并建设独特的品牌和价值观来吸引目标客群。
其中,差异最大的优化方案就是区块链生态的扩容方案。现有扩容方案如下:
一个高性能的底层区块链支持所有垂直行业中的所有应用。
一个去中心化水平极高的底层区块链通过一系列L2和L3扩容方案,支持各种模块化的应用。
每个应用、智能合约或应用场景都运行自己的底层区块链或主权L2网络。
要详细了解区块链的扩容方案,请查看博客文章《一文读懂区块链可扩展性——执行、存储和共识》。
现在出现了各种各样的区块链生态,因此必须要让这些链上环境实现互操作性。特别是一些开发者希望开发出跨链/模块化应用,在多个链上环境中维持统一的全局状态和流动性,这点尤其重要。另外,还有一些开发者希望能够访问其他链上独特的资产和功能。互操作性对他们来说也非常重要。
区块链互操作性协议对于传统系统来说也同样重要,传统系统需要从后端接入许多不同的区块链。互操作性协议可以为开发区块链抽象层打下基础,传统后端和dApp可以通过一个区块链中间件统一接入任何链上环境。如果没有区块链抽象层,Web2系统和dApp就不得不针对每个跨链交互场景亲自开发单独的解决方案,这不仅会耗费大量时间和资源,而且流程也非常复杂。
将区块链互操作性方案归类的最好切入点就是研究最受欢迎的跨链交互场景。
通证互换——在源链上交易一种通证,并在目标链上收到另一种通证。跨链通证互换采用了原子互换协议和跨链自动做市商(AMM),这些自动做市商在每条链上分别建立流动性池,以实现通证互换。
通证桥——通过源链上的智能合约锁定或销毁通证,并通过目标链上的另一个智能合约解锁或铸造通证。通证桥可以将资产跨链转移,实现跨链流动性,并因此提升通证利用率。通证桥有以下三类通证处理机制:
锁定/铸造型通证桥(即:打欠条)——在源链上的智能合约中锁定通证,然后在目标链上铸造包装通证,这类资产通常也被称为“bridged assets”(桥接资产)。反向操作的话就是将目标链上的包装通证销毁,以解锁源链上的原始通证。
销毁/铸造型通证桥(即原生通证)——销毁源链上的通证,然后在目标链上重新铸造同样的通证。
锁定/解锁型通证桥——锁定源链上的通证,然后解锁目标链上流动性池中同样的通证。这几类通证桥通常会推出收入共享等激励机制来吸引两条链上的流动性。
原生支付——源链上的应用触发在目标链上用原生资产进行支付。另外,也可以基于另一条区块链的数据触发在源链上用原生资产进行跨链支付。大多数支付都是作为某种结算方式,并且可以基于区块链数据或甚至外部事件来结算。
合约调用——源链上的智能合约可以基于本地数据调用目标链上的智能合约函数。可以一次性发起多个合约调用,实现更复杂的跨链应用,其中包括通证互换和桥接。
可编程通证桥——包含通证桥和任意消息传输功能,一旦通证从源链发送到目标链,就会立刻发起合约调用。这些都包含在一笔交易中,因此可以实现丰富的跨链功能,比如权益质押、通证互换或者将通证存入目标链上智能合约中,以完成通证桥功能。
要实现跨链操作,可以采用以下四种互操作性方案来验证目标链的状态,并将后续交易传递到目标链。状态验证和消息传递对于多数跨链交互来说都是不可或缺的功能。
Web2验证指使用Web2服务来执行跨链交易。最常见的案例就是用户利用中心化交易平台来互换通证或跨链发送通证。用户只需将资产存入源链上由交易平台控制的地址中,然后在目标链上由用户控制的地址中取出相同或不同的通证(注:通过交易平台兑换)。
Web2验证对于个人交易来说非常方便,而且技术要求更低。但是Web2验证对于跨链应用的价值没那么大,而且需要信任中心化的托管方。另外,多数Web2验证只能与交易平台支持的区块链之间进行通证互换和跨链转账。
外部验证指除了跨链交互所涉及的两条链上的节点外,还专门建立第三组验证节点,用来验证源链的状态,并在特定条件满足时触发目标链上的后续交易。基于委员会的共识有许多不同的实现方法,比如多方计算、去中心化的预言机网络以及门限多重签名合约等,但这些方案都需要验证节点进行信任最小化的链下计算,并在链上进行验证(即混合型智能合约)。
外部验证通常要假设一半以上的节点是诚实的,这样才能维持跨链交互的可靠性。不过,要提升信任最小化水平,还需要采用其他技术,比如乐观的通证桥验证(optimistic bridge validation)、反欺诈网络以及加密经济质押。虽然外部验证需要额外的信任假设,但是目前是唯一可行的方案,可以在某类区块链之间执行跨链智能合约调用的同时保障信任最小化。另外,这个方案也是通用性非常高且可扩展的跨链计算方案,可以支持更复杂的跨链应用。
本地验证指跨链交互中的对手方互相验证对方的状态。如果双方都确认对方状态有效,则执行跨链点对点交易。本地验证的跨链通证互换通常也被称为“原子互换”。
通过原子互换进行本地验证可以在很大程度上保障信任最小化,因为互换的结果要么是成功,要么两个交易都失败。不过这种方式无法扩展到其他跨链合约调用场景中,而且会不经意间导致“看涨期权”的问题,即原子互换中的第二个交易方可以选择兑换也可以选择不兑换,因此在一段时间内拥有看涨期权。因此本地验证最常用于跨链流动性协议中,这类协议会在每条链上建立独立的流动性池。
原生验证指在跨链交互中目标链验证源链的状态,以确认交易并在本地执行后续交易。通常的做法是在目标链虚拟机的源链上运行轻客户端,或二者并行。
原生验证需要诚实的少数派或同步假设,委员会里至少有一个诚实的中继者(即诚实的少数派),或如果委员会无法正常运行,用户必须自己传输交易(即同步假设)。本地验证是信任最小化程度最高的一种跨链通信方式,但是它成本也很高,开发灵活性较低,而且更适合状态机相似度较高的区块链,比如以太坊和L2网络之间,或者基于Cosmos SDK开发的区块链之间。
为了满足生态对区块链互操作解决方案不断增长的需求,Chainlink目前正在开发跨链互操作性协议(CCIP)。这是一个全新的跨链通信开源标准,包括任意消息传输和通证转移。CCIP的目标是提供简单好用的统一接口,为区块链网络建立通用的连接。另外,它还致力于将一系列预言机服务集成至可编程通证桥框架中,以实现复杂的跨链操作。
由于跨链攻击事件频发,过去一年价值约12亿美元的金额被盗,因此CCIP将安全放在了首要位置。全世界最顶尖的加密学家和计算机安全专家都参与到了开发中,其中包括Ari Juels、Dan Boneh、Lorenz Breidenbach以及Dahlia Malkhi。CCIP目前正采取一系列措施提升安全性,包括建立防欺诈网络来监控恶意行为;利用大量链上声誉良好的优质节点运营商展开去中心化的预言机计算(这些节点的历史服务水平可验证);开发了链下报告协议(OCR),目前该协议已经在各个区块链主网上保障了数千亿美元的价值。
要了解更多关于Chainlink CCIP的信息,请查看这篇博客文章。

CCIP是Chainlink去中心化预言机网络开发的跨链消息传输协议,旨在为各种跨链dApp、通证桥和可编程通证桥提供支持。
区块链互操作性是Web3未来发展的关键。CCIP等互操作性协议不仅可以解锁复杂的应用,跨不同区块链实现统一的功能,还能赋能企业、机构和政府安全地从一个统一接口接入任何链上环境。这两个功能对于开发下一代dApp来说都至关重要,可以将传统用户接口接入这些dApp应用,并推动Web3实现主流应用。
目录一.加解密算法数字签名对称加密DES(DataEncryptionStandard)3DES(TripleDES)AES(AdvancedEncryptionStandard)RSA加密法DSA(DigitalSignatureAlgorithm)ECC(EllipticCurvesCryptography)非对称加密签名与加密过程非对称加密的应用对称加密与非对称加密的结合二.数字证书图解一.加解密算法加密简单而言就是通过一种算法将明文信息转换成密文信息,信息的的接收方能够通过密钥对密文信息进行解密获得明文信息的过程。根据加解密的密钥是否相同,算法可以分为对称加密、非对称加密、对称加密和非
我正在使用Ruby/Mechanize编写一个“自动填写表格”应用程序。它几乎可以工作。我可以使用精彩CharlesWeb代理以查看服务器和我的Firefox浏览器之间的交换。现在我想使用Charles查看服务器和我的应用程序之间的交换。Charles在端口8888上代理。假设服务器位于https://my.host.com。.一件不起作用的事情是:@agent||=Mechanize.newdo|agent|agent.set_proxy("my.host.com",8888)end这会导致Net::HTTP::Persistent::Error:...lib/net/http/pe
文章目录1.任务背景2.任务目标3.相关知识点4.任务实操4.1安装配置JDK4.2启动FISCOBCOS4.3下载解压WeBASE-Front4.4拷贝sdk证书文件4.5启动节点4.6访问节点4.7检查运行状态5.任务总结1.任务背景FISCOBCOS其实是有控制台管理工具,用来对区块链系统进行各种管理操作。但是对于初学者来说,还是可视化界面更友好,本节就来介绍WeBASE管理平台,这是一款微众银行开源的自研区块链中间件平台,可以降低区块链使用的门槛,大幅提高区块链应用的开发效率。微众银行是腾讯牵头设立的民营银行,在国内民营银行里还是比较出名的。微众银行参与FISCOBCOS生态建设,一定
当音乐碰上区块链技术,会擦出怎样的火花?或许周杰伦已经给了我们答案。8月29日下午,B站独家首发周杰伦限定珍藏Demo独家访谈VCR,周杰伦在VCR里分享了《晴天》《青花瓷》《搁浅》《爱在西元前》四首经典歌曲Demo背后的创作故事,并首次公布18年前未发布的神秘作品《纽约地铁》的Demo。在VCR中,方文山和杰威尔音乐提及到“多亏了区块链技术,现在我们可以将这些Demos,变成独一无二具有收藏价值的艺术品,这些Demos可以在薄盒(国内数藏平台)上听到。”如何将音乐与区块链技术相结合,薄盒方面称:“薄盒作为区块链技术服务方,打破传统对于区块链技术只能作为数字收藏的理解。聚焦于区块链技术赋能,在
Asitcurrentlystands,thisquestionisnotagoodfitforourQ&Aformat.Weexpectanswerstobesupportedbyfacts,references,orexpertise,butthisquestionwilllikelysolicitdebate,arguments,polling,orextendeddiscussion.Ifyoufeelthatthisquestioncanbeimprovedandpossiblyreopened,visitthehelpcenter提供指导。11年前关闭。我是一位精通HTML
我目前正在为一个新网站设计版本化的API。我了解如何为路由命名空间,但我一直坚持在模型中实现版本化方法的最佳方式。下面的代码示例使用的是rails框架,但是事情的原理在大多数web框架之间应该是一致的。目前的路线看起来像这样:MyApp::Application.routes.drawdonamespace:apidonamespace:v1doresources:products,:only=>[:index,:show]endendend和Controller:classApi::V1::ProductsController很明显,我们只是在此处公开Product上可用的属性,如果
我正在尝试使用ruby来使用Sharepoint网络服务。我基本上已经放弃尝试使用NTLM进行身份验证,并暂时将Sharepoint服务器更改为使用基本身份验证。我已成功使用soap4r获得WSDL,但在尝试使用实际Web服务调用时仍然无法进行身份验证。有没有人有过让ruby和Sharepoint对话的经验? 最佳答案 我是个新手。但经过很多时间并在更多经验编码人员的帮助下,我能够让ruby与Sharepoint2010一起工作。下面的代码需要“ntlm/mechanize”gem。我已经能够使用列表GUID和ListV
一文解决关于VLAN所有的疑惑VLAN基本概念为什么需要VLAN?怎么在交换机上划分VLAN,VLAN的工作原理有了子网,已经隔离了广播,还需要VLAN干啥?只进行子网划分,不进行VLAN划分VLAN划分与子网划分附加VLAN信息的方法VLAN划分交换机的端口类型(Access和Trunk)一、访问链接二、汇聚链接汇聚链接VLAN间通信为什么要进行VLAN间通信?路由器实现VLAN间通信路由器和交换机的连接方式通信细节三层交换机实现VLAN间通信加速VLAN间通信三层交换机与路由器三层交换机路由器路由器和交换机配合构建LAN的实例使用VLAN设计局域网的特点VLAN增加网络的灵活性不使用VLA
2022年10月21日星期五【数据指标】加密货币总市值:$0.95万亿BTC市值占比:38.51%恐慌贪婪指数:23极度恐慌 【今日快讯】1、【政讯】1.1.1、美联储布拉德:市场预期美联储11月会加息75个基点1.1.2、美联储哈克:将维持加息一段时间1.2、美国10年期国债收益率触及4.197%,为2008年6月以来最高1.3、法国数字转型部长:政府将专注于DeFi和Web31.4、巴西ATM机将于11月3日起支持USDT1.5、美众议院副议长将于11月初加入a16zCrypto担任政府事务主管1.6、香港数字资产托管机构FirstDigitalTrust首席执行官:香港仍是安全
WAF可以对网站进行扫描,识别API漏洞。API安全如何设置API安全_Web应用防火墙-阿里云帮助中心API安全如何划分API业务用途?登录认证手机验证码认证数据保存数据查询数据导出数据分享数据更新数据删除数据增加下线注销信息发送信息认证邮件信息发送邮箱验证码认证账号密码认证账号注册API安全支持检测哪些敏感数据?敏感数据级别敏感数据类型非敏感数据(N)不涉及。特级敏感数据(L0)与一级敏感数据(L1)或二级敏感数据(L2)相同。单次响应中一级敏感数据(L1)较多时,升级为特级敏感数据(L0)。单次响应中二级敏感数据(L2)较多时,升级为一级敏感数据(L1)或特级敏感数据(L0)。一级敏感数