除了分片、侧链、减少节点,Solana公链正在尝试一种新的提速方案

2개월 전
in cn

❖写在前面❖

公链的性能一直是被我们所诟病的。

目前,分片、侧链、减少节点是提高公链性能的方案。然而,solana提出了一种新的解决方案,这种解决方案是现在的区块链中从来不曾存在的,是solana首创的公链提速方案。

不谈币,单说Solana的技术创新,这是一个公链提速的新方案。


❖What:Solana是什么❖

➤高性能

Solana是一条高性能、POS共识的开源公链,通过使用历史证明序列,使其实现了公链提速。除此以外,在Solana公链上,数据的传输和存储,都具有一定的创新。

当然,Solana也是该项目开发团队的公司名称,相当于EOS公链的开发公司Blockone,都是合法注册的公司制机构。

➤筹资与上所

Solana非常重视技术和性能,目前测试网络顺利运行中,但是Solana暂时还没有上线任何交易所,也没有登陆coinmarketcap。

这不是因为Solana没有钱,Solana在2019年7月,就在Multicoin Capital领导的A轮融资中筹集了2000万美元,参与方包括Distributed Global,Blocktower Capital,Foundation Capital,Blockchange VC,Slow Ventures,NEO Global Capital,Passport Capital和Rockaway风险投资。

在2019年9月初,根据 Trust Wallet Core Github 代码库显示,币安官方钱包 Trust Wallet 正在开发支持高性能公链 Solana 的存储、转账和质押等基础功能。Solana上线币安,相信币安应该不会抵触。

➤专注技术

TVB找到了github上Solana的代码提交情况:

solana
solana

可以看到Solana不仅有高频的代码更新,并且有多个开发者在提交代码。Solana紧锣密鼓地在搞开发,却不急着上交易所,这比很多项目好太多。


❖HOW:如何提速❖

那么这个Solana是如何实现高性能的呢?

➤历史证明序列

历史证明序列,是Solana公链最关键的创新点,也是Solana公链实现高性能的原因。

什么是历史证明呢?来看这张图:

历史证明

这是一张刊登在2014 年 10 月 14 日纽约时报上的照片。有趣的是,照片上的奥巴马手中拿着一张2014年10月12日的报纸。

毫无疑问,照片中的场景发生在2014年10月12日报纸发行以后,在2014 年 10 月 14 日报纸排版之前。

这就是一个历史证明。这个报纸上保存了它的时间,以及上一个时间。

上图的这张报纸就相当于Solana的一个区块,它保存着这份报纸的内容和时间,同时也保存了上一份报纸的内容和时间,这样可以充分的证明这两份报纸上事件的历史顺序。所以叫历史证明。

历史证明序列,与其他区块链有什么不同呢?下图是其他区块链的区块结构的简化图:

区块链

每一个区块的数据,会经过哈希加密,生成一个哈希值,而这个哈希值会保存在下一个区块中,这样区块之间彼此相互衔接形成区块链。比特币也好、以太坊好也好,其他的区块链大体上都是这样的结构。

问题来了,如果一个区块没有完成,比如出块以后,验证节点没有完成确认,那么这个区块中的信息就是待确认交易,未成的区块就不能生成哈希,下一个区块就也就不能继续下去。问题是用户不等你,人家该转账就转账,该玩游戏就玩游戏,该交易就交易……于是后面的交易就卡在这里了。

而Solana呢,在它的区块结构中,不仅有上一个区块的哈希值,同时还有上一个区块的时间戳。这样的话,每一个区块都会有它自己的时间,以及上一个区块的时间,这样就可以明确区块的历史顺序,就像前面的那张报纸一样:

历史证明序列

历史证明序列的优势主要有两个表现,一是支持区块的并列处理,二是防止内存池的拥堵。

1.并行处理

分片,是通过把全网分成几个片,这样在运行时,由于每个分片中的节点变少了,所以通讯时压力较小,这样发生这种拥挤的可能性和拥挤的程度就会变小,但还是会拥挤。

侧链,是通过跨链,把主链上的一些事务转移到侧链上去运行。比如某一种币的交易可以移到侧链上去。如果随便就搞侧链,搞太多了,和主链的关系会变得薄弱,主链的意义就不大了。比如每个币都搞个侧链去运行,那和重新做个链就也差不多了。

减少节点,就是DPOS这种解决方案,由于节点数据较少,性能确实提高了,但是形成了一定程度的中心化,无论是在记账还是代币分配上,都会有中心化的问题,这就给公链的治理带来了极大的挑战,EOS就是这种困局。

而Solana就像值班一样,节点轮流把信息打包写成区块,无需等待上一个区块完成。这样可以保证区块链序时地、顺利地进行。

各个区块的验证也可以并行,验证者可以分别去验证各个区块的信息。

2.内存灵活

出块待确认的交易位于内存池中,而交易太多会拥挤在内存池中。而在Solana中,如果某一个区块出现拥挤,交易可以进入下个区块中,相当于内存流动到一个新的内存池中,由下一个区块的领导者将其打包,也就不再有内存池拥挤这样发生了。

➤POS+Tower BFT共识

在Solana的POS+Tower BFT共识中,由领导者负责记账,也就是将信息打包成区块;验证者负责对区块信息进行验证和确认。

当然,成为领导者或验证器,都需要抵押Solana的代币,这是POS共识的规则。POS共识,只有抵押代币,才可以参与记账和验证,包括攻击者在内。不同于POW,POS共识中,攻击者必须要抵押大量代币才可以进行攻击,攻击成本过高,因此POS相对于POW具有更高的安全性。不同于DPOS等共识,POS共识由大量节点参与,因此具有高度的去中心化。

领导者在记账时按照历史证明序列来工作。Solana将每一个工作纪元划分为若干时隙,再将验证者随机排序,然后将时隙分给验证者。相当于给验证者排好了值班表。由于使用历史证明序列,区块之间的前后顺序由时间戳来标识,每个区块不需要等待上一个区块的完成就可以产生,因此具有更高的工作速度。

验证者在验证时,按照BFT共识算法。BFT是一种容错算法,他允许验证器在验证时出现失误,但是失误率不可以超过1/3,只要超过2/3的验证验证通过,就可以接受这个被大多数验证器确认的区块。不可能同时存在2个区块同时获得2/3的支持,因此不会产生分叉。


❖WHO:核心团队❖

Solana团队核心成员如下:

CEO毕业于伊利诺伊大学香槟分校,曾经是小型企业的VoIP系统开发公司的创始人和工开发人员,曾经担任高通公司的高级工程师等。他曾经从事Mesosphere的分布式系统以及Dropbox的压缩,拥有2项高性能操作系统协议的专利,是BREW的核心内核开发人员,为每台CDMA翻盖手机(100m +设备)提供动力。

CTO先后毕业于伊利诺伊大学香槟分校、加州大学圣地亚哥分校,曾经为小企业开发了一种基于Linux的IP-PBX电话系统。该产品被授予Linux Journal的每日产品。他曾是高通公司首席科学家,他为BREW操作系统在C和Lua之间创建了双向RPC桥,帮助启动了LLVM编译器工具链的ARM后端,并发布了各种开源项目,包括Haskell中的流LLVM优化器,Python中的许可证分析工具以及TypeScript中的反应式Web框架。

COO毕业于宾夕法尼亚大学-沃顿商学院,曾经是一家数字健康公司的创始CEO,该公司制造专注于化学监测的可穿戴健康监测设备。为基于SF的健康技术孵化器Rock Health的多家数字健康公司提供法律服务、公司战术和营销策略。

Solana的团队以开发人员为主,团队成员包括操作系统开发、框架师、嵌入式开发、大数据开发等多个领域。就连Solana的CEO是技术出身。


❖WHY:一个疑问❖

事实上,在9月份,TVB曾经学习和研究过Solana。当时,心中产生过一个疑问。

Solana的历史证明序列工作原理是这样的:

假如第n个区块已经完成,而第n+1个区块在时隙内未完成,第n+2个区块可以继续工作,它可能会衔接着第n个区块,将第n个区块的时间戳和哈希值写入第n+2个区块中。

然后,当第n+1个区块确认完成以后,再插入到时间序列中。第n+1个区块将第n个区块的时间戳和哈希值写入第n+1个区块,然后再将第n+1个区块的哈希值和时间戳传递给第n+2个区块链,第n+2个区块再重新加密生成哈希值。

然后再将第n+2个区块重新加密重成哈希值传给第n+3个区块……以此类推。

那么问题来了:

这样每次一个区块出来延时,都需要对它后面的区块重新计算希值,这样的运算量很可能导致区块链的效果下降。

Solana的方案:

Solana根据计算机的运行,设计了一个交易处理单位 Transactional Proccessing Unit(TPU)。TPU的运行空间如下:

solana

在TPU中,事物被划分成4个阶段,每个阶段由不同的硬件负责处理:

数据获取:内核空间

签名验证:CPU

存款:GPU

数据写入:内核空间

由于这四个阶段是连续的,必须要获取数据以后才可以验证签名,验证签名以后才可以存款,存款以后才可以写入数据。所以,上一个验证的数据写入和下一个验证的数据获取可以同时进行,不发生冲突,这样可以提高速度处理的效率。

没有TPU之间的验证时间是这样的:

solana

而有了TPU之后的验证时间是这样的:

solana

显然,TPU分段设计让验证器的硬件得到更充分的使用,时间安排更合理,验证的速度加快。并且,Solana的TPU设计,将工作量最大的签名验证工作交由GPU处理,而目前市面上的计算机GPU性能高于CPU的处理,这使得Solana的验证速度进一步提高。

Solana的CEO表示:“这一切都可以用不到5000美元的现成计算机来实现,而不需要一些超级计算机。”这意味着Solana公链的运行是低成本的。

Solana验证器的TPU工作设计,可以大大提高Solana的块信息验证速度。在一定程度上,要可以减少块延迟的现象,提高Solana的速度。

但是,TPU的设计能否完美的解决出块延迟问题,还需要进一步观察Solana的实际运行情况。


❖写在最后❖

Solana 首席执行官 Anatoly Yakovenko表示,分片技术(Sharding)存在安全风险,更容易受到共识攻击,实施分片的风险远远大于潜在的可扩展性优势。Yakovenko 补充称,网络一旦被拆分,就会引入一个额外的攻击媒介。他同时表示,如果网络中一个分片被黑客接管,可能会引起多米诺骨牌效应,从而影响代币价格并导致大量用户和节点外流,允许黑客利用分散策略破坏全网生态系统。

TVB觉得,分片技术是对公链在物理上的分割,而Solana的历史证明序列是对公链在时间上进行分割,鹿死谁手尚未可知。

但可以肯定的是,Solana在共识算法、验证器设计、物理存储等方面,都与以往的公链不同,如果Solana一旦成功,将给公链技术带来新的思路。

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
STEEMKR.COM IS SPONSORED BY
ADVERTISEMENT
Sort Order:  trending

你那里天气如何?想要参加活动但是不知道从何开始?关注寻宝cn-activity每日整理社区活动!假如我的留言打扰到你,请回复“取消”。