Solana是世界上性能很强的无许可区块链。Solana团队由来自高通、英特尔和谷歌的先驱技术专家组成,一直专注于构建Solana所需的技术,以满足这些突破性的性能标准。同时,Solana正在实施一些优化和新技术,以实现网络突飞猛进的扩展。
Solana的技术实现标志着区块链的发展已进入一个全新阶段。毕竟,Solana能够在全球200个不同的节点网络上实现5万TPS,10万笔交易仅在几秒钟内就能执行完毕。
为了创建一个与单节点性能匹配的去中心化、无许可的网络,Solana团队成功开发8项关键技术:工作历史证明PoH、基站拜占庭容错、涡轮机、海湾流、海平面、流水线、云散以及存档器。
之前两篇内容已经介绍过前5种技术,本文将解析最后三种创新技术——流水线、云散以及存档器。
流水线→验证交易
为了让Solana成为世界上第一个网络规模的区块链,我们需要其拥有亚秒级的确认时间和交易能力,仅仅快速达成共识是不够的。Solana团队必须开发一种快速验证大量交易块的方法,同时在整个网络上快速复制它们。
火币于佳宁:投资者作决定前应先全面了解区块链知识:中国通信工业协会区块链专委会轮值主席、火币大学于佳宁表示,虚拟货币价格可暴涨,也很可能会暴跌,甚至类似空气币等在极端情况下价值可能归零。另外,一些虚拟资产从本质上并没有真正利用区块链技术,只是打着区块链的旗号,获得了与实际价值完全不相符的估值。部分空气币项目本质上是欺诈、,同时市场操纵等行为屡见不鲜,实质上扰乱了金融秩序,增加了市场风险。投资者在作出任何投资决定前,应先全面了解区块链知识,避免被市场情绪或者欺诈话术蒙蔽,造成不必要的损失。(中国证券报)[2021/5/20 22:23:05]
为实现这一点,Solana网络上的交易验证过程广泛使用了CPU设计中常见的一种优化,称为流水线。
当有一个输入数据流需要通过一系列的步骤来处理,并且有不同的硬件负责每一个步骤时,流水线便是一个极为合适的优化方案。解释这一现象最典型的比喻是一个洗衣机和烘干机,它们依次清洗/烘干/折叠几件衣服。洗涤必须发生在干燥之前,干燥必须发生在折叠之前,但这三项操作中的每一项都是由一个单独的单元来完成的。
为了最大限度地提高效率,Solana创建了一个阶段性的流水线。我们可以称洗衣机为第一步,烘干机为第二步,折叠为第三步。为了运行这个流水线,在第一件衣服被放到烘干机之后,就会将第二件衣服放到洗衣机中。同样,在第二件衣服放入烘干机,第一件衣服被折叠之后,再将第三件衣服放入洗衣机。通过这种方式,人们可以同时洗三件衣服。考虑到无限负载,流水线将始终以流水线中最慢阶段的速度完成负载。
Ark Invest创始人:美财长耶伦不了解加密货币和比特币:金色财经报道,Ark Invest创始人兼首席执行官Cathie Wood表示,美国财政部长珍妮特·耶伦(Janet Yellen)不了解加密货币和比特币。Wood称:“耶伦已竭尽全力地传达了比特币的投机性,它如何不环保或不可持续,以及如何帮助了非法活动。我不太确定她为什么这么说。我所知道的是她不了解加密货币领域,我只是不认为这是她的职责。”此外,Wood断言,比特币消耗的能源只是开采黄金和维护传统金融基础设施所需能源的一小部分。Wood还不同意有关比特币鼓励犯罪活动的观点。她指出,公共区块链实际上使执法人员很容易追踪非法资金流动。[2021/3/2 18:05:39]
Solana在软件中创建了一个四阶段交易处理器,称为TPU,即交易处理单元。
对此,Solana公司创始人兼首席技术官GregFitzgerald解释说:“我们需要找到一种方法,让所有硬件一直保持忙碌。这就是网卡,CPU内核和所有的GPU内核。为了做到这一点,我们从CPU的设计中借鉴了经验”。
在Solana网络上,流水线机制通过内核级的数据获取、GPU级的签名验证、CPU级的银行和在内核空间的写入来进行。当TPU开始向验证器发送区块时,它已经获取了下一组数据包,验证了它们的签名,并开始计入代币。
中钞区块链技术研究院“Pick你的画” 助快速通俗了解区块链:6月1日,中钞区块链技术研究院推出一款区块链小程序——Pick你的画。这款小程序可将图片上传至区块链进行登记,固化上传人、时间和图片DNA,永久留存、不可篡改。据悉,小程序的背后使用的是中钞区块链技术研究院自主研发的络谱区块链登记开放平台,该平台可以登记数字身份、数字凭证,证明身份、时间、数据、凭证的关系,增进可信协作。目前,已经有100多家单位申请接入测试。“Pick你的画”属于对数据进行登记,算是一款最简单的区块链应用示例。他们表示,希望通过这一款小程序帮助大家快速而通俗的理解区块链知识和机理。[2018/6/1]
验证器节点同时运行两个流水线进程,一个用于领导者模式,一个用于验证器模式。在这两种情况下,流水线化的硬件是相同的,包括网络输入、GPU卡、CPU内核、写到磁盘和网络输出。TPU的存在是为了创建分类账条目,而TVU的存在是为了验证它们。
在这个四阶段流水线的GPU并行化过程中,在任何特定的时刻,SolanaTPU可以同时处理50000笔交易。
GregFitzgerland声称:“这一切都可以用一台低于5000美元的现成计算机来实现,而不用超级计算机。”
加密货币投资人暴走恭亲王:加密货币的投资,需要花时间学习和了解项目:今日凌晨,著名加密货币投资人暴走恭亲王发布微博,称:对于新人而言,我个人的建议是利用这段时间可以多学习行业的知识,我始终认为你只有对行业越了解,你才能对于行业越有信心。如果你对数字货币不了解,对参与的项目不了解,对全球发展趋势不了解,那么群里只要有一些风吹草动,你马上就会心中生出无数的疑虑,并且很快会在谣言中作出很多让你可能抱憾终身的决定(这种决定我也做过)。很多人希望在群里面充值信仰,我个人觉得很难,如果你真的能够把时间花在学习和了解知识以及项目上,那真的可以让你握住自己的币。发文疑似是对周末“过山车”行情的观点表达,他也表示发文是“关于币本位和充值信仰”。[2018/3/19]
云散→水平扩展账户数据库
在没有分片的情况下扩展区块链,只扩展计算是不够的。
用于跟踪账户的内存在大小和访问速度上都将很快达到瓶颈。比如,一般来说,许多现代区块链使用的本地数据库引擎LevelDB不能在单台机器上支持超过5000TPS。这是因为虚拟机无法通过数据库抽象利用对账户状态的并发读写访问。
国际知名会计机构表达了了解数字货币的必要性:近日,英国特许公认会计师公会(ACCA)表示,会计师需要及时了解像比特币这样的数字货币的发展情况。ACCA专业见解总监Maggie McGhee表示比特币存在以下三个特点使其存在的问题突出:首先,它的匿名性意味着不可能确认潜在受益人的身份;其次,它的高波动性使其本身具有风险和不稳定性;再次,它正在资助其他领域的投机泡沫,例如初始投资产品,导致投机商追逐。她还强调会计师应及时跟进技术的发展,来更好应对可能到来的挑战。全球会计准则组织警告说,爱尔兰和其他司法管辖区的“历史性的挑战”需要特别警惕。[2018/3/15]
一个简单的解决方案是在RAM中维护全局状态。然而,期望消费级计算机有足够的RAM来存储全局状态是不合理的。
而Solana的设计原则是设计出不受硬件影响的软件,以实现100%的利用率。Solana设计了水平扩展内存方案——Cloudbreak来进行优化。
Cloudbreak是一种状态架构,这种结构支持提前执行交易。只要验证器观察到交易,海平面可以开始从磁盘中预取所有账户,并为执行准备运行。这有利于进一步优化区块时间。
组织账户数据库使32个线程之间可以并发读写,这是一个挑战。像LevelDB这样的普通开源数据库会达到瓶颈,因为它们没有针对区块链环境中的这一特定挑战进行优化。
Solana并没有使用传统的数据库来解决这些问题。相反,Solana使用了操作系统所利用的几种机制。
首先,Solana利用了内存映射文件。内存映射文件是将其字节映射到进程的虚拟地址空间的文件。
一旦一个文件被映射,它的行为就像任何其他的内存。内核可以在RAM中保留部分或全部的内存缓存,但是物理内存的数量是由磁盘的大小,而不是由RAM的大小所限制。读取和写入显然仍然受到磁盘性能的限制。
第二个重要的设计考虑是,顺序操作要比随机操作快得多。不仅对SSD来说是如此,对整个虚拟内存栈也是如此。CPU很擅长预取按顺序访问的内存,而操作系统很擅长处理顺序页面故障。
由于账户更新是写时复制的,并附加到一个随机的SSD上,Solana获得了顺序写入数据和在许多SSD上水平扩展写入数据的好处。读取仍然是随机访问,但由于任何既定的分叉状态升级都分布在许多SSD上,读取最终也是水平扩展的。
Cloudbreak还执行了一种垃圾收集的形式。在回滚之后,分叉最终完成,账户被更新,旧的无效账户将被垃圾收集,内存将被释放。
Cloudbreak这种架构还展现出一个很大的好处——计算任何既定分叉的状态升级的默克尔根,可以通过顺序读取来完成,这些读取是在SSD上水平扩展的。
存档器→分布式账本存储
2017年,Filecoin引入了复制证明。
2018年,Solana使用可验证延迟函数构建了Solana的PoRep版本,并对批量验证进行了优化。
在满负荷状态下,Solana网络每年将产生4PB的数据。如果要求网络中的每个节点都存储所有这些数据,就会将网络成员限制在拥有这种存储能力的少数中心化成员。
Solana的历史证明技术可以通过允许快速验证复制证明,来缓解这个问题,并使Bittorrent式的分类账分布在世界各地的数百万个复制者节点上。更为重要的是,存档器对硬件的要求很低。
在更高层次之上,Solana复制者网络的功能如下:存档器必须向网络发出信号,表明他们有X字节的空间可用于存储数据。Solana网络根据复制者身份的数量和存档器的总可用存储空间,将分类账历史分成若干份,以达到某种复制率和容错率。数据分配完成后,每个存档器都会从共识验证器下载各自的数据。在某些情况下,存档器将被挑战,以证明他们正在存储数据,这时他们必须完成PoRep。存档器因其努力可获得通货膨胀率3%左右的奖励。
复制证明的基本思想是使用CBC加密法,用公共对称密钥加密数据集,然后对加密后的数据集进行散列。这种方法在Filecoin的复制证明技术报告中得到了详细解释。
不幸的是,这种方法的问题是,它很容易受到攻击。
Solana对这种方法进行了改进,以更快的速度对加密区块进行随机抽样,并将这些样本的哈希值记录到PoH账本中。因此,区块在每个PoRep中保持完全相同的顺序,验证可以流化数据,并在一个批次中验证所有的证明。这样,Solana可以同时验证多个证明,每个证明都在自己的CUDA内核上。
接下来,Solana要在验证者和存档者之间构建博弈,以确保存档器生成证明,而验证者在真正验证PoRep。
所有客户端都被强制使用相同的PoH哈希值作为签名,因此签名随机分布在所有客户端之间。由于签名与PoH有关,因此样本的结果哈希对于那个时间点和那个特定的复制是唯一的。
验证器可以反过来检查客户端的证明。验证器根据GPU内核的数量,可以宣称自己能够验证多少个PoRep。验证器会定期对PoH哈希进行签名。
客户端可以通过寻找惰性验证器来查出验证器是否存在失败的证明。
另外,为了防止grinding攻击,客户端必须连续使用同一个密钥对身份。为了防止垃圾邮件,协议中的所有信息都会产生转发费。
存档器根据成功提交的证明的数量来赚取奖励。验证者通过验证证明赚取权益加权奖励。
结语
基于这8项关键的创新技术,Solana网络是一种全新的闪电分布式账本技术,并且它将一直进行下去。它不会因为共识而减慢速度。此外,Solana系统优化了数据传播,大量利用并行GPU进行交易处理,并且不会用大量的存储链给验证器造成负担。
由于Solana的精心设计,硬件能够以最大能力运行。因此,Solana可以随着带宽、SSD和GPU内核的增加而自然扩展,而且它是唯一能做到如此的区块链。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。