带你真正读懂“跨链”

跨链这个词最近频频出现在

那么“跨链”这个事究竟是什么,难点在哪里,技术上又是怎么实现的呢?

我们先要从最基本的“跨链”概念说起。

假设,现在有两条

看到A星大佬摆架子,海关人员不为所动,冷冷说道:“是吗?你有证据吗?”

A星大佬不屑地一笑:“当然,都在A链上,你可以自己去看。”

“哦?我只认识B链,不认识什么A链。”

而这里,就需要用到跨链技术了,但很不幸的,A星大佬没有这项技术,而A链和B链也都没有采用跨链技术。

于是,跨链的第一个难题就来了——

“哼,你找个认识A星的人一问便知。”

“不好意思,我不认识什么A星的人,如果你非要说自己是A星大佬,那么请出示证据。”

以上便是最基本的跨链 —— 信息跨链。

而信息跨链的基本假设、问题和方法,也就隐含在两人的对话之中了——

【假设】是:B星人愿意认同A星大佬在A星的地位,也就是愿意承认他在A链上的信息。

【问题】是:A星大佬要如何说服对方A链上真的有某些信息,比如他很有钱。

【方法】是:需要提供一个对方不需要去了解整个A链也能够验证的证据。

A星大佬心想我在A星是什么人物,A链上的证据不是信手拈来?于是一个电话打给下属,说“把我在A链上身份和资产的证据打包一份发过来!我马上就要。”

下属收到了命令之后,立刻带着公司的技术团队召开了紧急会议,然后经过一个通宵,双目血红的程序员把证据交给了下属,而下属战战兢兢地把证据传给了A星大佬。

A星大佬用100M带宽的缓慢的星际通讯网络里又足足下载了1天才下完全部证据,然后把证据交给了B星海关。

B星海关人员看来证据之后说:“你这不就是整条A链么?我说了我没空验证这整条链。”

什么是跨链(上)

A星大佬于是愤怒了,打开手机就把火全部发在了他的下属头上:“你是不是没有脑子?!我让你给我找我在A链上资产的证据?你把整条A链发过来了?”

“呃……”下属吞吞吐吐地回答,“技术团队找了很久也找不到这个‘证据’是什么,于是问了我们的科学顾问,而科学顾问说……由于A链用的是PoW算法,所以能够证明链上信息的证据……只有整条链……”

这就是“跨链”这件事 一 开始就摆在学术界面前的难题 ——

在中本聪共识的

A星大佬彻底崩溃了,但海关官员还在继续解释:“因为我们放你出去,你用临时身份在B链上发了交易并且已经达成了共识,那么到时候如果你在A链上的信息更改了,那么B链上的就会出现不一致——有人看到A链上的h高度上没有信息m,于是就判定刚才我发的验证是假的,于是整条B链就会产生分叉。说白了——这个宇宙有许多星球,有许多链,我们无法判断每条链都用什么样的共识算法,也不知道哪条链有多安全。如果有个X星实际上已经被恶意节点控制了,那么即便给我整条X链,上面的东西依旧是可以篡改的。而如果我就根据这个认可了X星人的某个X链上的消息并将这个消息发上B链,相当于我把B链的安全性绑定在X链上了。这个时候,B链的确认就和X链一样不可靠,因为一旦X链分叉,篡改了被背书的消息,那么B链也就会产生分叉。”

那么,我们说回最终性这回事。

假设A链采用拜占庭容错算法,有最终性,也就是说,A星大佬这次可以提供一个百分之百保证某条消息在A链上的证据了。

那这样,是不是跨链就能成了呢?

我们带回刚才的逻辑,实际上B星海关还是可以用相同的理由拒绝掉 —— 虽然你这里有这个消息百分之百在A链上的证据,但是我怎么知道A链是安全的呢?如果我因为这个证据就认可你,我还是相当于把B链的安全性降到和A链一样了。

于是,这个问题就无解了么?

02 实际中的跨链

当然不是,实际上,办法总比问题多。

实际上,这个问题和之前我们在DeFi的文章中提过的“预言机”的问题是一样的。

预言机的问题是:怎么样从链外获取正确和安全(不会出现给出不一致信息的情况)的信息,而我们的答案是 —— 我们不知道,但是这不妨碍我们把这个我们不知道的问题抽象成一个叫做“预言机”的东西,把它放在外部世界和

有人可能会觉得 —— 你这不是掩耳盗铃吗?搞不定的问题又不会因为你给它改了个名字就消失。

但其实我们不仅仅是给它起了个名字,而是将这些问题的解决方案单独作为一个独立的主体搁到了

“您好先生,请证明您的身份。”

“这是整条A链,你看行不行。”

“您好,我们不接收这样的证据,不过没关系,您可以将证据提供给C公司,并且提交一笔费用,而C公司会负责审核您的证据然后向我们提交审核结果。”

“所以说你们可以认可C公司的审核结果?即便我提供的证据并不是百分之百安全?”

“我们认可C公司的声誉,同时,C公司在B链上有足够的资产和抵押,我们认为他不会提供错误的审核结果。而另一方面,如果他们认可了你的证据,那么就证明他们认为你提供的费用足以弥补可能的风险和造成的损失。”

什么是跨链(上)

“那么……假设,我是说假设,我来自不可靠的星球,或者我伪造了证据骗过了他们呢?你们会怎么处理?”

“我们只认他们给的结果。如果你骗过了他们,那么你的信息在B链上就是有效的,但是造成的损失,我们会去扣除C公司在链上的押金。”

C公司会怎么审核A星大佬的信息呢?其实很简单,它不用采用任何复杂的验证技术,也不需要A星大佬再提供什么额外的证据,他只要跑个A链的节点就好了。

实际上,和负责提供链外信息的预言机一样,目前负责提供其他链信息的C公司其实多数也并没有提供抵押,但将这个服务转包出去的好处在于,我们现在倾向于认为 —— 愿意提供这类服务的人由于自己的利益有诚实地并且一致地提供链外信息的意愿,自断财路的事大家都不会去做。

而事实也确实如此,目前还没有看到提供预言机或者提供跨链服务的机构恶意攻击这个机制的情况。然而,有意愿不代表有能力,因为预言机和跨链导致的安全问题也一再出现,而这就是另一个故事了。

03 资产跨链

A星大佬终于办好了入境手续。这个时候C公司提出了一个offer:“你到B星得要钱吧?要不要使用我们的资产跨链服务?”

A星大佬一听来了兴趣:“你先说说这个资产跨链是怎么回事?”

“简单说就是你在A链把你的钱打进某个地址,然后我们就在B链上我们把钱打给你。”

A星大佬一下就警惕了起来:“等等,你是说,我得把钱先打给你?这听起来很危险啊,我怎么知道我把钱打给你了之后你会不会把钱给我?”

“哈哈,这个您不用担心,刚才我说的只是简洁的说法,具体来说是这样的……”C公司的经理解释道:“首先,我们会在A链上部署一个合约——这个合约要求你把钱打进一个地址,然后这笔钱会被锁住。同时,我们在B链上也部署一个合约,这笔合约的规则是:‘如果A链有笔钱在这个地址被锁住,而且把我们认证的签名信息发进这个合约,就把钱在B链上解锁’。而反之亦然,你也可以再把B链上的钱发给另一个锁定地址,然后用类似的方法拿回刚才你在A链上锁住的钱。” 什么是跨链(上)

“听起来很复杂……我怎么能知道给你的钱是真的被‘锁住’了,你没办法卷走呢?”

“以上的这些逻辑都写在

发表回复

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