首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

区块链-向高性能进发

昨天开了三个小时的车,终于回到家,坐在门口的饭店里,吃着西红柿盖饭。隔壁桌几个年轻人在讨论恋爱问题,其中一个男孩还没有对象,其他人再给他出主意,比如如何为女朋友选购礼物?如何投其所好?其中一个胖女孩问他喜欢什么样的女生,是胸大的吗?

如此情景,竟然与下午在望京SOHO仿佛两个世界,一个在网易星球,一个在人间。

这次是技术者开发沙龙第六期,ZILLIQA、井通和Asch三个公司的技术总监做分享,而主题只有一个,就是区块链的性能解决方案。

Zlliqa是分片技术的典型代表,Asch主要应用侧链技术,而井通采用了分层结构。

作为三个公链的代表,如何在今年突围,能够成为一个成功的3.0,可扩展高吞吐性成为重要的指标。这一点EOS首当其冲,号称TPS能够达到百万级。主持人关于这一点也分别问了三位老总,井通的杨总认为,目前能够达到几千这个数量级还是比较靠谱的,其他说法就不好直接批评友商了,其他两位老总也比较认可这个数量级。

但是,区块链一定需要这么高的性能吗?其实是我们的期望越来越高,这个行业也因此对各条公链提出了更高的要求。而性能是由场景决定的,有些场景需要高并发,需要匹配高性能;而有些场景,并不需要这么高的并发,因此也就不需要这么高的性能。目前,系统的瓶颈还在于CPU、内存、带宽、存储等多方面。

杨总对于区块链性能的分析更加深刻,他认为目前在性能方面面临五个困境。包括中心化与去中心化的困境,可信环境与非可信环境的困境,链上性能与链下性能的困境,全局性能与局部性能的困境,结构化方案与优化方案的困境。

在性能优化的方向上包括:多链优化方案,中心化优化方案,局部化优化方案,结构化优化方案和其他优化方案。

在多链优化方面学习几个重要概念。

侧链(SideChains):

从严格上来说,其本身并不是区块链,可以理解为区块链的一种扩展协议。早期“侧链”是为了解决比特币区块链技术的限制问题,先锁定主链上的资产,然后将锁定的那部分资产在侧链上做参数修改。例如修改10分钟记一次账、区块大小1M限制等,赋予侧链上自己的交易定义。当前闪电网络就是基于侧链技术做了些扩展,达到快速转账和交易的目的。

侧链的特性:

1. 侧链是一种扩展协议,为了解决主链(如比特币区块链)技术的限制问题;

2. 一般先锁定主链上的资产,然后将锁定的那部分资产在侧链上做参数修改;

3. 用以实现低手续费、高转账速度等目的。

分片(Sharing):

它其实是一种传统数据库的技术,将大型数据库分成更小、更快、更容易管理的部分,这些部分叫做数据碎片 ,不过应用到区块链当中会相当复杂。

以以太坊为例,它的分片简单来说就是将区块链网络划分成若干能够处理交易的较小组件式网络,以实现每秒处理数千笔交易的支付系统。

它和侧链有些很像。如果说侧链是通过“外部嫁接”到主链,那分片就是将主链进行“内部分割”,显然后者的实现难度要比前者复杂的多!但基本可以确定的是,即使是分片,也会为效率牺牲一定程度的“去中心化”。顺带一提,EOS也有分片,叫Region。

DAG:

DAG 是有向无环图(Directed Acyclic Graph)的缩写,这是一种有顶点和边的图结构。它可以保证从一个顶点沿着若干边前进(有向),但永远不能回到原点(无环)。

在IOTA这个项目中,提到的Tangle(缠结)就属于DAG的一种数据结构,真正意义上讲,IOTA已不属于“区块链”,你可以理解为如果比特币、以太坊使用的是底层数据结构是BlockChain,而IOTA的底层数据结构则是DAG,但它依然属于“去中心化”的范畴。

在 IOTA 里发起一笔交易的流程如下:

你需要先找到网络里的两笔交易,验证它们的合法性,然后做微量的POW计算,把自己的交易与它们绑定,再广播到网络。你的交易会被后来的交易以相同的方式验证。

如果验证你交易的其他交易越多,则你的交易的确定性越高。当达到一个临界值时,就认为这个交易被确定了,这和比特币6个区块确定交易状态的思想一致。简单来说,IOTA是把算力作为交易的一部分。只要你想加入这个网络,那必须先成为Mini版矿工,做出微量的POW贡献,也因此它是去中心化的。

DAG的优势可以做到高并发,理论上是无限多的并发,意味着它可以大幅提升交易速度。

其他还会有树形链,异步处理,微服务等性能扩展方式,就不一一介绍了。

对于不是技术出身的我,深入理解起来,确实还有一定的难度,但也感觉不是特别高深。其实,区块链本身并不是什么最新的技术,它不过是过去一些不同学科技术的组合。正因为不是那种特别晦涩难懂的玄学,才有可能进行大面积推广,区块链的未来才可期。

欢迎关注:区块链多元宇宙

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180409G18T6T00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券