ROO:技术视点 | 如何解决目前所有跨链方案面临的问题和挑战?_比特币

题记:区块链作为一种分布式账本技术,可以被应用在金融、健康医疗、供应链、资产管理等诸多领域,但是受吞吐量、网络孤立性、伸缩性等因素的制约,目前的区块链项目并不能很好的服务于商业应用。在区块链所面临的诸多问题中,网络孤立性阻碍了不同区块链之间的协同操作,极大程度的限制了区块链的发挥空间。

一、引言

在前面的技术视点文章中,我们详细介绍了本体跨链的六大模块的具体设计和实现,相信大家对本体跨链技术有了一个基本的了解。

图|网络

这次我们主要介绍

工信部:鼓励企业、研究机构加大对区块链溯源等安全技术手段研究应用:工信部办公厅发布关于深入推进移动物联网全面发展的通知。通知中要求,夯实移动物联网基础安全。建立移动物联网安全标准框架,制定物联网卡、终端、网关等重点环节的分级分类安全管理系列标准。鼓励企业、研究机构加大对移动物联网终端可信认证技术、区块链溯源等安全技术手段的研究应用。加快建设移动物联网安全监管技术手段,提升安全态势感知、卡端管理、风险预警等实时监测能力。(工信部官网)[2020/5/7]

目前所有的跨链方案所面临的问题和挑战,以及为了应对这些问题和挑战给出的进一步改进和优化方案。

二、

侧链作恶

跨链交互中涉及到的一个重要安全问题就是如何防止侧链验证人集体作恶,即

声音 | 裕同科技:公司积极关注区块链技术在包装防伪溯源方面的应用:裕同科技在互动平台表示,公司当前没有区块链方面技术应用的实例,但公司正在积极关注区块链技术在包装防伪溯源方面的应用。(第一财经)[2019/11/1]

侧链作恶。

在Cosmos中侧链是自治的系统,侧链验证人的选举由侧链自己决定;而在Polkadot中,侧链验证人的管理由Polkadot主链决定。无论是自治的验证人选举还是统一的验证人选举,都会面临一个根本性的问题——

这些侧链验证人都不一定可靠。若跨链交互的中任意一种或多种资产实际价值大于验证人抵押的实际价值,验证人会有足够的动力去作恶。

例如:

某个dApp的开发者同时在主链和侧链上部署了智能合约,希望进行跨链的资产交互。当该dApp的用户将一部分资产转移到侧链后,如果这部分资产的实际价值大于侧链在主链上抵押资产的实际价值,那么恶意的侧链可以直接将这部分的资产转移到自己的名下,最终转移到主链上并在交易所卖掉了这部分的资产。

现场?| 张奕卉:供应链金融+区块链需加强技术模式创新 ?:区块链政策法律研究组成立会暨《区块链与供应链金融白皮书》发布会今日在京举办。可信区块链推进计划办公室副主任张奕卉现场对《区块链与供应链金融白皮书》(1.0版)进行发布和解读。她指出,供应链金融面临5大痛点:供应链上存在信息孤岛、核心企业信任不能传递、银行缺乏可信业务场景、融资难融资贵现象突出、清结算不能自动化完成。而基于区块链解决方案的优势是:解决信息孤岛、传递核心企业价值、提供可信贸易数据、实现融资降本增效、实现合约自动清算。供应链金融+区块链的发展,未来需要加强技术模式创新、完善发展政策环境、规范服务实体经济、积极提升产业影响。[2018/10/31]

当然,侧链验证人在主链抵押的保证金会赔付用户的部分损失。但是如果侧链验证人在主链上抵押资产的实际价值小于这部分用户资产的实际价值,恶意的侧链验证人会有动力采取集体作恶的方式来获益。

苏州高铁新城成为全国首个区块链技术黄金“试验场”:12月23日下午,“链谷成果、政策、场景规划发布会”将在苏州高铁新城地标紫光大厦举行。届时,政府代表、合作企业、行业专家、投资机构都将悉数受邀到场。现场,苏州高铁新城管委会将正式发布区块链产业发展扶持政策与向社会开放的首批场景。[2017/12/22]

作恶方式

现有的跨链方案中大都采用

?MerkleTree?证明的方式,即侧链会在每一个区块中生成当前区块中所有交易产生状态的StateRoot,侧链验证人会对该StateRoot?进行签名。当有跨链交易发生时,通过验证该StateRoot即可验证跨链状态的合法性。

若侧链验证人发现用户跨链交互的资产实际价值大于这些验证人抵押资产的实际价值,那么侧链验证人可以基于当前区块伪造一个StateRoot,即无视当前区块的执行结果,强行构造一个对自己有利的StateRoot,从而窃取用户锁定在主链上的资产。

三、如何解决侧链作恶

我们可以设置一个

挑战期,在挑战期内可以分为如下几个步骤进行作恶举证:

(1)是否能提交作恶的区块;

(2)是否能提供作恶的交易的前一个状态;

(3)是否能提供作恶的智能合约;

(4)是否在对应虚拟机中运行生成的StatesRoot是否与当前区块的StateRoot一致。

验证人作恶是通过集体在当前区块构造虚假的StateRoot,但区块中的交易因为无法伪造用户签名并不能被改变。因此,针对验证人作恶的情况,我们提出一个解决该问题的设想。

在挑战期内,若发现某一笔交易作恶,可以通过作恶区块、作恶区块中的交易、作恶区块中交易的前一个状态、作恶智能合约去对应的虚拟机中运行结果,并比较运行产生的StateRoot与提交作恶区块中的StateRoot是否一致,从而验证该StateRoot是否合法。

图|网络

同时,不管是否有跨链交易的发生,Relayer都会实时监听侧链的情况,若监听到当前区块头的StateRoot与实际运行StateRoot的不符,可立即提交该证明到主链中,举证侧链的恶意行为,并获得侧链验证人抵押在主链中相应的激励。

可以看到,目前该方案也存在进一步优化的空间。其验证过程稍显复杂,特别是对于异构链而言;另外,挑战期的存在对用户也不是足够的友好。因此,本体会在该方案的基础上继续研究其它更可行、更高效的解决方案。

四、后记

在这一系列关于跨链的技术视点文章中,我们给大家带来了关于跨链设计的相关具体细节。目前,本体提供了详细的跨链使用教程和多链开发手册,希望广大技术爱好者来体验本体跨链测试网络。

多链开发手册

https://github.com/siovanus/documentation/blob/master/multichain/Testnet_Dev_Manual.md

跨链使用教程:

https://github.com/siovanus/documentation/blob/master/multichain/Tutorial_Case.md

来源:本体

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

区块博客

[0:15ms0-4:638ms