在熊市中,我们往往会更加冷静地思考一些牛市可能忽略的事物,比如Solana重新回到公众视野。人们开始怀疑Solana的技术是否真的可行,是否一句“中心化宕机”就能毁掉它的一切?
近期,MakerDAO公开表示Solana的代码库还不错,Visa也宣布与Solana试点合作,Solana的TVL等数据指标也有所回升。这一系列的消息是否意味着Solana将迎来第二春?我们应该如何解读这些消息?
在牛市中,当Solana的币价迅猛上涨时,人们常常提到Solana的资本背景和社区生态的强大,但很少有人能够清楚地解释Solana的技术框架。
在本文中,我将从科普的角度浅析Solana背后的技术架构,以及为什么Solana没有被Ethereum击败的原因。
Solana采用的POH共识机制(Proof of History)是其独特的创新之一。
传统的区块链中,区块时间与物理时间之间没有直接关联,时间的流逝仅以块高度的增加来表现。然而,Solana通过POH机制将链的时间流逝与物理时间锚定在一起。每个POH出块的间隔时间是固定的,而连续的哈希运算会生成一个可验证的时间序列。
这种设计有助于避免“主观”时间带来的操纵和攻击问题。如果出块时间不规律,节点之间很难快速达成共识,容易导致回滚和重放攻击。而物理时间的客观性是无法被篡改的,节点只需根据当前时间序列而无需回溯全部历史数据,就能监测到异常情况。
因此,POH共识机制的创新之处在于将物理时间与区块链时间绑定,促进了Solana节点之间更好的协作和共识达成。
此外,POH机制还带来了其他优势。例如,节点可以批量接收大量交易并进行排序(Pipeline)。等待POH时间戳来递交交易,类似于将Layer2向Layer1的批量交易概念引入,这为后续的高吞吐量和并行处理提供了先决条件。
总结来说,Solana的POH共识机制通过强绑定物理时间,促进了节点之间的协作和共识达成。同时,它还支持批量交易处理,为高吞吐量和并行处理奠定了基础。
存储和计算分离特性
Solana区块链的一个重要特点。传统的区块链验证框架需要从全节点获取大量历史数据来进行状态计算,这种计算和存储的耦合限制了区块链的性能。例如,在以太坊中,更新状态需要同步整个链的数据并执行历史记录计算,而且由于以太坊是顺序出块,因此出块时间和单区块容量都受到限制。
Solana通过将状态存储和交易执行分离来解决这个问题。它使用一个单独的存储系统来保存状态,包括账户信息、签名者历史和交易记录等。当有新的交易需要执行时,Solana会在Pipeline节点上进行高速计算,最后只更新状态到存储系统中。这种分离可以确保区块链系统的快速运行,避免了等待数据可用性验证和计算等待数据可用性验证结果的时间开销。值得注意的是,网络计算和存储资源需要通过质押SOL来获取。
简单来说,以太坊的工人需要在仓库取原材料后才能去车间加工,这两个职责需要来回奔波,效率低下。而Solana有两个专门的工人分别在两个车间工作,搬运工只需要不定时将需要的材料搬到生产车间,大大提高了效率。
高并发交易处理
“高并发交易处理”是Solana区块链的另一个重要特性,使其能够满足Web2市场对高性能的需求。
Solana通过其之前提到的POH和计算存储分离等优势实现了高并发交易处理。当Solana节点接收到用户Alice同时发出的10笔交易时,节点会对这些交易进行排序,并等待POH时间戳来批量打包交易。当下一个时间戳到来时,节点会调用独立的存储系统的状态数据,检测这10笔交易是否存在状态冲突。如果没有冲突,这10笔交易将被打包到一个区块中;如果存在冲突,有冲突的交易将被排除在本次打包之外。
与之不同的是,Starknet网络中的Alice在一个账户抽象模型下,一笔交易发布的账户不能存在状态冲突。例如,可以同时执行Approve和Transfer操作,因为它们修改的是合约中不同的状态,Approve对应Allowance,Transfer对应Balance。然而,如果同时执行两笔Transfer操作,则需要同时修改Balance,这可能导致状态冲突和计算错误。因此,账户抽象特性是Starknet实现高并发的基础。
简单来说,Solana的并行方式类似于一个餐厅安排了多个服务员同时为客户点餐,每个服务员处理一个交易线程,点餐顺序由服务员协调,如果有相同的菜品,后厨可以并行上菜。而Starknet的并行方式类似于使用自助点餐机扫码点菜,客户可以同时在多个机器上接收订单,由后台中控系统统一协调订单。
总的来说,高并发的目标是在保持网络秩序不混乱的前提下,合理高效地利用系统资源。
Solana的服务员可以看作是被人们批评成高昂成本的节点运维系统,而Starknet的自助点餐机则是与合约兼容的账户抽象基础。
有了对Solana技术底层的深刻理解,再来看一些被诟病的问题,或许会有不同的答案。
在我看来,Solana的问题出在技术实现逻辑过于复杂:
- Solana的节点运维成本过高,导致节点数量受限,其去中心化能力也受到牵制;
- POH+POS的共识机制,需要节点有强大计算和带宽资源才能承载高并发,而资源成本越高,节点运维成本就越大;
- 高并发处理时也难免存在状态冲突、网络负载等问题
有人说,Solana在用web2的思维做web3网络,它的技术创新起点高于已有区块链架构,如果把它的问题当成创新路上的容错率,或许会有不一样的评价。
创新的代价也许正如大家看到的那样,眼看它高楼起,眼看它楼塌了,但若创新的基底在,这塌方的楼会不会再次拔地而起呢?
+ There are no comments
Add yours