走近大刘,看懂BDT协议

2018-08-07

绝大多数人,可能看不懂一个底层P2P协议的代码,那就让我带领大家走近BDT协议的总架构师,一个在中国P2P超大型网络领域开发、实践和探索超过10年的顶级工程师。

在我看来,在中国有两位著名的“大刘”,一位是科幻界的“泰山北斗”:刘慈欣;另一位,就是这位BDT协议总架构师、GeekChain生态企业巴克云创始人:刘智聪。

img

背景

GCT生态伙伴巴克云主导开发的下一代P2P网络协议:BDT (Bucky Data Transform),是P2P网络协议发展中重要的一次技术创新,其实现和应用普及将极大提高区块链网络的效率。此外,该技术还将有效地改善区块链的网络性能,为商业应用在区块链上的落地打下坚实的基础。2018年7月底,BDT协议完成千人公测,并实现了代码的全部开源,这也是GeekChain项目首次开放代码。

Michael: 比特币、以太坊、EOS他们各自使用的P2P协议是什么?这些项目为何不太关注底层的P2P协议开发?

刘智聪: 从架构上讲,还是DHT+TCP,和2004年左右的电驴、BitTorrent处在一个水平。我觉得大家不做协议主要还是没有相关经验吧,会觉得现在的东西已经够好了,没有更好的想法。

Michael: BDT协议开源意味着什么?预计会对开发领域带来什么?比如谁会是开源的最大受益者、谁会最关注开源?

刘智聪: 对我们来说,最大的意义还是把多年的经验用代码的方式展现出来。相信对所有base在中国的区块链公链项目,都会有所帮助。尤其是类似IPFS这样,运转起来不但需要连得上,还要传得快的项目。

背景

现在主流的区块链平台,主要精力都放在研究共识算法和智能合约上,由于美国的特殊国情,这些平台还延续2000年左右就已经成熟应用的emule TCP+DHT协议。而今天的网络环境,尤其是中国网络环境已经和2000年相比发生了极大的变化:wifi路由器的普及和运营商NAT的出现,让NAT和多层NAT变成普遍现象;多家运营商的存在导致逻辑网络隔离;IPv6未在中国大规模普及等。这些变化都让旧的无中心P2P协议无法良好地工作,进而影响到基于此技术的所有区块链平台的可用性。

Michael: BDT协议未来的发展目标是什么?是领跑下一代去中心的P2P协议吗?

刘智聪: BDT协议凝聚了团队过去近十年的P2P经验,甩掉了旧P2P协议的历史包袱,并为区块链进行了专门的优化,是真正意义上的下一代无中心P2P协议。BDT协议的目标就是做最好的P2P协议。

Michael: 目前主链竞争异常激烈,大家有在协议层的开发上进行竞争吗?目前竞争的态势如何?巴克云团队为何会如此关注协议层的开发?

刘智聪: 据我所知是没有的,毕竟有这个方面经验的团队太少了。我们做好底层项目的核心关键是喜欢与坚持。BDT协议的开发者都是从心底里热爱P2P并有多年从业经验的工程师,对我们来说,做这件事情本身就是最大的奖励。

背景

BDT协议在设计时重点考虑了传统的P2P协议在中国网络环境下的实际问题,因此在开发设计上充分体现了以下特性:

1.底层协议自动在UDP/TCP之间切换

2.全新的打洞理论,极大的提升了UDP在多层NAT环境下的联通率和连接速度

3.为IPv6和多地址进行优化,进一步提升了联通率

4.以SuperNode为核心的全新无中心DHT网络拓扑机制,能获得更稳定、更适合中国运营商的逻辑拓扑结构

5.使用分族结构进行广播,广播性能更好,泛洪效应更低

6.协议设计上考虑在得到专用硬件支持后,可以进一步提高性能

Michael: BDT协议旨在实现全方位的性能提升,按照千人测试结果来看,在稳定性、连通率以及传输速度等方面是否达到了预期的效果?

刘智聪: 基于测试数据,在当前用户样本中,全天连通率为79.4%,接近理论穿透率;在成功连接的用户中,大部分用户的收发包比例在80%以上,也就是说,大部分用户丢包率在20%以内。这只是一个开始,我们可以把团队过去多年积累的经验通过一个实际的项目贡献给行业了。坦白地说,BDT的各项指标都还在规划之内。毕竟这只是一个开始,以后我们可以在这个基础之上持续推进了。

Michael: 类似Sia、IPFS这些分布式存储服务的项目和以太坊或EOS这些主链项目应该是不同的吧。我理解前者是一个分布式的云服务(文件存储和计算),后者是一个分布式的账本服务(记账和共识),未来的一个DApp开发有可能把二者结合使用吗?BDT协议的最重要的应用方向是服务于云服务还是服务于区块链账本呢?

刘智聪: 都可以。对于分布式账本(通过区块链保存结构化数据)这个方向来说,P2P协议的广播性能和连接性能比较重要,而对于IPFS(通过区块链保存非结构化数据)这个方向来说,P2P协议的传输性能也很重要。BDT协议在这两个方面的性能都会远远好过目前的解决方案。

关于BDT协议可能还有很多是大家想知道的,那就请告诉我们吧。

BDT协议是GeekChain推动Killer DApp生态孵化的重要系统底层,协议的万级节点测试即将开启,在此诚挚的邀请您参与测试,共同推动一个最好的底层协议诞生。

img

邀请更多的开发者了解代码走近BDT协议,开源项目地址:

https://github.com/buckyos/bdt