每个区块链网络,都有网络层、共识层、应用层的区分。每个区块链网络的特性不同,也有事因为在不同的分层里的设计思路不一样。本文中,我们将整理Solana网络的运行逻辑,可以通过这些资料了解到为什么Solana会在以太坊2.0还没上线的时候,会比以太坊好用。
以太坊的总帐本在1.0链上,是由矿工维护的,在2.0里,矿工变成验证者,验证者用计算设备建立验证器代替了原来的矿机。Solana也是通过验证者保护总帐本的,不过验证者的在形成共识的算法不太一样。通过下面的顺序,可以了解到共识形成的过程。
Solana集群
Solana集群是一组验证人,共同保持账本的完整性,存在多个集群。
创建集群
在启动任何验证节点之前,首先需要创建一个创世配置。创世配置会配置一个具备引导验证能力的节点,第二个验证节点可联系引导验证节点来注册为一个验证节点。然后,其他验证节点将在集群的任何已注册成员中继续注册。
金色财经挖矿数据播报:BSV今日全网算力下降13.02%:金色财经报道,据蜘蛛矿池数据显示:
BTC全网算力151.323EH/s,挖矿难度18.60T,目前区块高度665059,理论收益0.00000755/T/天。
ETH全网算力307.766TH/s,挖矿难度3842.62T,目前区块高度11611116,理论收益0.00782103/100MH/天。
BSV全网算力0.548EH/s,挖矿难度0.07T,目前区块高度669023,理论收益0.00164308/T/天。
BCH全网算力1.313EH/s,挖矿难度0.20,目前区块高度669290,理论收益0.00068537/T/天。[2021/1/8 16:42:35]
验证节点会收到领导者的所有条目,并提交投票以确认这些条目的有效性。投票后,验证节点需要存储这些条目。不过一旦验证节点发现存在足够多的副本,它将删除自身的副本。
金色财经挖矿收益播报丨今日BTC全网算力下降4.23%:金色财经报道,据OKEx矿池数据显示,今日BTC全网算力约114.52EH/s,全网难度约16.10T,BTC当前块高630296。
今日全网算力出现了比较明显的降幅,降幅达到4.23%。由于目前主流的BTC浏览器通常以爆块数据(出块数和出块时间)预估全网算力,因此实际全网实时在线的算力可能会小于预测数据。当前BTC收益:0.00000781BTC/T/天。预测下次难度16.67T(+3.52%),距离调整还剩还有4天。[2020/5/14]
加入集群
验证节点通过发送到控制台的注册消息进入集群。控制台使用八卦协议实现,这意味着节点可以向任何现有节点注册,并期望其注册传播到集群中的所有节点。一个节点可以确保它最终拥有与每个其他节点相同的信息,但任何一个节点都无法审查该信息。所有节点同步所需的时间与参与群集节点数的平方成正比。
金色晚报 | 今日重要动态一览:1.海南区块链试验区发布“链六条”专项措施
2.新华网:“链上海南”计划今日正式发布
3.海南区块链试验区与迪拜区块链中心达成合作
4.国家税务总局出台16项措施 运用区块链等技术化税务执法方式
5.日本央行行长:没有推出央行数字货币的需要 全球稳定币的扩散影响重大
6.软银拟发行“加密货币银行卡”为假新闻
7.日本MUFG否认了计划明年在日本推出数字货币的报道
8.WTO副总干事易小准:要通过监管来充分发挥区块链促进国际贸易的潜力
9.新加坡金融管理局:欺诈网站利用高层官员言论招揽比特币投资
10. BTC现报价为7220美元,今日最低跌至7080.84美元,最高涨至7360.19美元[2019/12/4]
将交易发送到集群
客户端将交易发送到任何验证节点的交易处理单元(TPU)端口。如果该节点处于验证节点角色,则它将交易转发给指定的领导者。如果处于领导者角色,则该节点将传入的事务捆绑在一起,对其打上时间戳,来创建一个条目,然后将其推送到集群的数据中心。进入数据中心后,交易将由验证节点进行验证,从而将交易有效地添加到账本中。
金色晨讯 | BTC突破3700美元 毛里求斯将于3月开始授权加密托管商:1.\t安大略省证券委员会正在调查QuadrigaCX。
2.\t加密货币平台Bakkt聘请了两名新董事。
3.\tQuadrigaCX CEO去世同月近100万美元ETH转入其他交易所。
4.\tVanEck比特币ETF提案已纳入监管机构和市场参与者反馈。
5.\tLTC领涨市值前百币种,涨幅超32%。
6.\tBTC突破3700美元。
7.\t毛里求斯将于3月开始授权加密托管商。
8.\t以太坊基金会否认将投资1500万美元开发VDF。
9.\tIMF报告:目前加密货币对货币政策没有潜在影响。[2019/2/9]
确认交易
Solana集群能够在亚秒级的时间内确认最多150个节点,并要计划扩展到成千上万个节点。一旦完全实施,确认时间预计只会随着验证节点数量的对数而增加,而对数的基数又很高。网络增长到一定规模后,就会变得太慢而无法实现亚秒级确认。将消息发送到所有节点所花费的时间与节点数的平方成正比。如果区块链想要获得低确认率并尝试使用网络来做到这一点,它将被迫集中到少数几个节点上。
金色财经讯:近日,民生银行与SWIFT组织签订《AMH全球现金管理战略合作协议》。预计到11月底,民生银行将成为境内第三家采用GPI技术进行跨境汇款的银行。[2017/10/27]
所以可以使用以下技术组合来实现可扩展的确认:
使用VDF样本对交易打上时间戳并签名。将交易分为几批,将每笔交易发送到单独的节点,同时每个节点都与对等节点共享其批次。递归地重复上一步,直到所有节点都具有所有批次。
Solana以固定的时间间隔轮换领导者。每个领导者只能在其分配的时段内产生条目。领导者因此对交易加上时间戳记,以便验证节点可以查找指定领导者的公钥。然后,领导者对时间戳进行签名,以便验证节点验证签名,证明签名者是指定领导者公钥的所有者。
接下来,将交易分成批处理,以便节点可以将交易发送给多方,而无需进行多份复制。例如,如果领导者需要将60笔交易发送到6个节点,则它将把60笔交易的集合分成10笔交易的批次,并向每个节点发送一个交易。这能够让领导者将60笔交易放在网络上,而不是每个节点60笔交易。接着,每个节点都与对等节点共享其批次。一旦节点收集了全部6个批次,它将重建60个交易的原始集合。
这种技术可以被称为Turbine?Block?Propogation。
同步
快速、可靠的同步是Solana实现超高吞吐量的最大原因。Solana采取了历史证明PoH算法。通过带有加密证明“时间戳”的领导节点证明自上次确认以来,确实已经过了一段时间。以证明所有哈希到证明中的数据肯定都是在证明之前发生的。然后该节点将新区块分享给验证节点,它们能够验证这些证据。
区块可以按照任何顺序甚至延迟好几年才传到验证节点那里。通过这种可靠的同步保证,Solana能够将区块分解成更小的批量交易,称为条目。在达成任何共识之前,条目都会实时传输给验证节点。
在技术的角度,Solana从来都没有发送区块,但是会使用这个词语来描述验证节点对条目进行投票,最终取得确认。这样,Solana的确认时间就可以达到800毫秒。在这个模式下,如果对某个事件无法达成共识,节点只需要简单地回滚其状态。
领导者轮换
每个验证节点使用同一种算法来选择预期的领导者。当验证节点收到一个新的签名账本条目时,可以肯定某条目是来自预期的领导者。分配给每位领导者的插槽顺序称为leader?schedule。
一个验证节点会拒绝未经过插槽领导者签名的区块。所有插槽领导者的身份列表称为领导者安排表。领导者安排表是通过本地定期重新计算产生的。它指派插槽领导者持续一段称为epoch的时间。安排表必须早于它分配的时间段,这样它保证了计算计划的账本状态最后能够确定。该持续时间称为领导者安排表偏移时间。Solana将偏移时间设置为直到下一个epoch的插槽持续时间。也就是说,一个epoch的领导者计划通过上一个epoch开始时的账本状态来计算得到。一个纪元的偏移量是比较随意的,并且假定时间足够长,使所有验证节点都将在生成下一个计划之前确定其账本状态。集群可以选择缩短偏移时间,来缩短质押变化与领导者计划更新之间的时间。
在没有分区的情况下运行时间比一个epoch长的时候,只有在根分叉的epoch边界才能生成安排表。由于安排表用于下一个纪元,因此在下一个纪元之前,任何质押给根分叉的新质押都不会被激活。用于生成领导者计划的区块是跨过纪元边界的第一个区块。
如果分区比一个epoch时间短,集群将按以下方式运作:
验证节点在投票时不断更新自己的根分叉。
每次在纪元边缘的插槽高度的时候,验证节点将更新其领导者安排表。
写在最后
正是因为对共识的改动,Solana出世的时候就以一个高性能公链的角色面对市场,其使用的类权益证明修改版PoH是在权益证明性能之上再次修订的,目标就是性能更高,这样做的目的也是即使以太坊2.0出现之后,网络仍旧有竞争力。
不过这种共识体现的竞争力是在应用上,而不是在本身技术攻坚上。在某些信仰纯粹的技术人员眼中,Solana可能有些过于中心化,只是在庞大的市场里,区块链网络面对不同受众,会体现出不同的优劣,也能得到不同的发展。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。