BOSCore侧链:全面讲解BOSCore侧链IBC原理及实现

币圈大大韭菜...

05-05

由Hoo虎符钱包主办的EOSing线上专访已经进行到了第41期,本期邀请到的嘉宾是BOSCore核心代码贡献者成松。

本期要点概述:

1. BOSCoreå特性

2. IBC原理及实现

3. BOSCore未来的技术规划

以下是本次专访的内容: 

一、BOSCore特性

1. IBC实现了跨链通信

就我所知,BOSCore-IBC是第一个真正落地并被多个第三方应用(去中心化交易所,钱包)使用的基于SPV理论的跨链实现。SPV是(Simple Payment Verification)简单支付验证的缩写,后面会有更多介绍,也是今天分享的主题。

2. PBFT的共识机制让区块进LIB时间缩短到3秒

2季度的一个重点是PBFT的共识机制上线,到时IBC也会一同升级,让区块进lib时间缩短到3秒,并且BOSCore到EOS的跨链时间也可以缩短到15秒以内。

3. BTC、ETH可以在BOSCore上进行充提

(后续会支持更多token),形成各种主流token的聚集地。

4.红包创建账户

EOS对普通用户来说创建账户太复杂,红包功能使创建账户非常方便。

5.更安全的随机数方案

过去的半年发生了太多安全事件,其中大概有超过一半是随机数出现了问题,随机数是编程领域非常重要的基础功能,因此BOSCore提供了更好的随机数方案。大家应该对过去半年的黑客攻击记忆犹新,随机数对区块链来说一直是个难题。

6.预言机(预计下半年上线)

预言机可以让链上应用获得可信的外部世界的信息,如气温,球赛结果等数据,可以极大扩展链上应用的业务空间。预言机在以太坊上有实现,但在EOS上还未有人做过,这个东西是很有用的,打通了区块链和外部世界的通道。

7.匿名功能

8.用户资源低保

让每个账户都有最基本的系统资源,避免创建账户后无法使用等问题。

9.黑名单链上配置

加入黑名单依然被黑客挪用的事件已经发生过很多次了,根本原因是黑名单通过配置文件操作的,导致只要21个BP中只要有一个没有添加就会无效,所以BOSCore将黑名单挪移到链上配置,BP无需再手动操作,彻底解决了这个问题。


二、IBC相关原理和实现

关于跨链互操作,Vitalic有一篇论文"Chain Interoperability"非常全面并很有深度的总结了所有可行的方案,总的来说有3种。

第一种,中心化承兑商方案,例如BOSCore上的BTC ETH锚定币,这种方案的特点是实现相对容易,可靠性和效率都很高。

第二种是,中继方案,BOSCore-IBC采用的是中继方案,特点是去中心化,功能丰富,但是实现难度大,并且所在区块链需要具备一些基础条件。

这是v神论文中的截图,对比了3中跨链方案 

第三种是,哈希锁,实现相对简单,功能也比较有限。大家感兴趣可以深入研究那篇论文。

北京有个团队已经用hash锁的跨链方案 实现了去中心化交易所,已经支持了 比特币 以太坊 EOS 和 BOSCore,也是最近几天才可是推广。

IBC最核心的思想是SPV,简单支付验证,这个理论是中本聪在比特币的白皮书中就提出来的。感兴趣的同学可以参考中本聪的白皮书。


比特币白皮书中关于SPV的一段

另一个被广泛使用的图

既然相关理论在很久前就都写明了,为什么知道今天才有真正的使用中继方案的IBC落地呢,这是因为实现基于SPV的IBC的公链需要具备一些条件。起始只有EOS这样性能的公链才能实现真实可用的IBC。 

1.公链需要支持智能合约(因此排除了比特币)

2.公链性能必须足够高(因此以太坊很难实现,tps太低,跨链需要的计算量将需要很高的gas费成本)

3.有同构侧链(以太坊并没有侧链,因此没有ibc的需求,而实现异构链的中继IBC难度会非常大)

4.合约需要能够升级(能够升级对复杂合约来说是一个必不可少的功能,但以太坊不支持升级) 

因此只有EOS满足了上述所有的需求,EOS足够高性能,支持智能合约,EOS和EOS侧链都是同构链,EOS合约可以升级。 

SPV简单支付验证技术最早在中本聪的比特币白皮书中提出Bitcoin,用于验证一笔交易存在于区块链中。 SPV client存储着连续的区块头,但没有区块体,因此只需占用很小的存储空间。当获得一笔交易和这笔交易的Merkle path后,可以验证这笔交易是否存在于区块链上。

更详细的内容大家可以到下面的网址查看:

相关链接 ;

IBC特点:

1.去中心化

2.支持两条链上任意一个token的跨链(token需要注册)

3.跨链时间4-5分钟

现在已经有3中token实现了eos-BOSCore跨链,分别是EOS BOSCore TPT(tokenpoket的代币)。大家可以在各个EOS钱包中体验跨链, TP钱包,start钱包,live钱包,eosx.io浏览器也可以。

三、BOSCore未来的技术规划

1. IBC和LIB上线

2.底层支持匿名

3.多线程支持 

IBC和LIB一块升级,IBC从BOSCore到EOS主网只需要不到15秒的时间,但EOS到BOSCore还是需要4-5分钟。



精彩问答: 

1、请问这些其他链的币在BOSCore上有什么作用?

答:可以在交易所、游戏中使用。

2、请问PBFT机制是如何缩短区块进LIB时间的?

答:现在EOS和BOSCore,都是用的pipeline bft方式,导致进LIB时间需要325个区块,大概3分钟的时间。 

3、为什么使用PBFT机制后,IBC时间能缩短到15秒?理论上只能缩短在BOSCore上的不可逆时间?

答:共识和IBC关系是非常密切的。

4、为什么使用PBFT共识后可以缩短BOSCore到EOS跨链的时间?

答:当BOSCore升级成PBFT后,一个区块大概3秒进LIB,每个区块也可以获得2/3BP的签名,因此这个区块在对方链的轻客户端中可以快速进LIB,所以可以缩短跨链时间。

5、用IBC中继,是不是得同时跑EOS和BOSCore节点?

答:是的。 

6、SPV是在合约上验证吗?还是系统原生功能?

答:在合约中完成SPV验证。

7、 成松,对于EOS的多链怎么看待呢?就是类似于分片技术。目前EOS已经可以实用分片技术了(类似plasma,子链定期commit到主链)但是这个方法有个缺点,各个子链之间无法直接通信,也无法互相交易,限制了多链能力。

答:多线程是垂直扩容,IBC跨链是广度扩容,实际的区块链扩容分为,一层扩容(垂直扩容,广度扩容)和二层扩容(plasma,闪电网络),sharding 最早是为比特币提出的理论,后来主要在以太坊社区发展,理论已经相对成熟,但实现起来确实很有难度,EOS白皮书中的sharding和以太坊社区的sharding还是有很大不同的。

提问者补充:分片难度很大。但是目前我看已经出现了成功的分片技术,就是monoxide,但是这个技术只能用在pow的转账上。而EOS如果想做到真正的分片,DPOS是个很大的问题。

答:是的,特别是处理合约,比特币实现sharding要容易的多,但是有合约的区块链要困难很多。 

8、请问您认为未来EOS和BOSCore在技术上最大的挑战在哪里?

答:多线程,匿名都是难点。

9、BOSCore可以说是EOS的改良版,为什么不在EOS上改动?那EOS的优势主要是持币人更多?

答:EOS需要多条侧链,一条链的tps是有限的,侧链也是创新的聚集地。

10、成松,提一个关于生态的问题,BOSCore节点的筛选标准有哪些呢?

答:BOSCore和EOS一样是通过投票竞选节点的。 

11、今天有一个节点发布了一个VRAM的产品,是分布式存储的解决方案,请问大牛怎么看带这个产品,如果解决了分布式存储,EOS是否就可以建立大型DApp了?

答:只解决存储还不够,现在EOS是单核运行,TPS有限,一个CPU是不能支持大型DApp的。一般情况下,区块链是作为大型DApp的一部分,所以要结合具体业务看能否支持大型DApp

12、BOSCore利用什么技术实现预言机功能?计划为链上应用获取哪些外部世界信息?

答:预言机还在设计当中,会参考以太坊和其他前人做过的方案,预言机是一个平台,具体数据会根据需要由多个机构提供。

13、BOSCore提供的更好的随机数方案”好”在哪些方面?如何保障安全?

答:BOSCore上的随机数是通过合约的API由底层打包的BP提供,除了当事的BP,对其他人来说是个很可靠的随机数。实际上,区块链是非常难生成随机数的,这个已经有了广泛的讨论,BOSCore算是增强了随机数的方案,项目方可以在此基础上结合更复杂的算法来让随机数更可靠。

14、BOSCore的技术路线会定期做修改吗?BOSCore上的成果,如PBFT,会提交到EOS吗?

答:有些BOSCore的功能当稳定后会向EOS提交,PBFT会的。

Comments

相信我说的肯定对

新用户的内容自动评论
05-26

多好笑

新用户的内容自动评论
05-26

云上叶

新用户的内容自动评论
05-26

Recommend to Read

EOS原力

原创

10-09

关注

哔哔News

原创

09-29

关注

EOS原力

原创

09-02

关注

EOS原力

原创

09-17

关注
关注

EOS原力

原创

09-23

关注

EOS原力

原创

09-09

关注

野花说

原创

09-21

关注

行走的翻译C

原创 首发

10-05

关注

EOS原力

原创

09-13

关注
加载更多