本文介绍了 Solana 区块链,它通过创新的 Proof of History (PoH) 机制,即一种可验证延迟函数 (VDF),与 Proof of Stake (PoS) 结合,实现了高交易处理速度。Solana 在可扩展性方面进行了优化,但在一定程度上牺牲了去中心化和安全性。文章还探讨了 Solana 的架构、优势和劣势,以及它在区块链三难困境中的权衡。
这是关于区块链的一系列文章的一部分。如果你是第一次阅读本系列文章,我强烈建议从本系列的开头开始阅读。
区块链仍然是一项非常小众的技术。尤其是考虑到现在人工智能的火热程度,以及大多数开发者倾向于更传统的系统。
即使在区块链开发者中,常见的情况是他们专注于磨练在特定技术上的技能——而且通常情况下,他们的选择恰好是 Ethereum(或 EVM 兼容的系统)。
然而,正如我们在整个系列文章中暗示的那样,区块链不仅仅只有以太坊——其他参与者也纷纷崛起,挑战创建这些分布式、可编程和不可变的注册表。其中一个例子就是 Solana。
Solana 有趣的地方在于,它采用了一种完全不同的方法来解决我们之前讨论过的一些典型问题——比如 共识。这样做,有得有失——这是我们现在应该预料到的,因为我们了解了 不可能三角。
但也许更重要的是,它本身就是另一项出色的工程,因此非常值得探索。
介绍就到这里!让我们看看这个区块链是如何完成工作的!
开始吧!
我们将直接深入到系统的核心:它的共识机制来开始我们的讨论。我想现在我没必要再说了,没有共识,就没有区块链——毕竟,节点连接并就事件序列达成一致的能力,才证明了这些技术存在的合理性。
Solana 的人在 一些很棒的资源 中提供了进一步参考——我将一如既往地尽力用我理解的方式来解释!
当我们开始讨论比特币时,我们提到我们的主要目标之一是 对交易进行排序。排序由区块决定——区块 1 中的交易必须发生在区块 2 中的交易之前。而且,在创建一个区块时,会为其分配一个时间戳——确定区块何时被挖掘,以及区块在时间上“发生”的时间。
我敢打赌,在经历了之前文章的洗礼之后,你现在肯定在想“好吧,但是谁来决定这个时间戳呢?”
妙啊,我亲爱的华生
例如,在比特币中,矿工自己在生成区块时会为区块分配时间戳。矿工不能在区块上放置任何他们想要的时间戳——有一些规则试图保持这些值的真实性。但是这些规则 非常宽松,甚至在某些情况下,一个区块的时间戳比链中出现在它之前的某个区块更早。
这意味着作为一个时间戳系统,比特币并不是那么可靠。
以太坊采用了一种类似但稍微严格的方法。每个时间戳必须大于父区块的时间戳,并且不能太超前于未来。验证者检查这些约束,并拒绝任何违反这些规则的区块。
虽然这听起来很棒,但这个解决方案存在一些问题。除了节点本地时钟可能漂移之外,验证者还需要相互通信才能就这些时间戳达成一致——这需要时间,并直接影响扩展和区块生产时间。
好的!这是一个我们正在处理的新问题。问题是:
我们如何在不影响可扩展性的前提下,以分布式的方式精确地就时间戳达成一致?
这就是 Solana 提供巧妙解决方案的地方。
如果我告诉你时间本身的流逝可以通过数学验证,并构建到区块链的结构中呢?
如果我告诉你点个赞并订阅……
什么?怎么做?
为了实现这一点,我们首先必须找到一些像tick作响的时钟一样的构造。
Solana 使用 哈希函数 来实现这个目的:SHA-256。
实际上,它与 比特币挖矿 使用的是同一个!
但是等等……什么?哈希函数被设计成这种密码学的搅拌机——它们与时间有什么关系?
这里的关键在于,执行这个哈希函数需要可预测的时间量。虽然,通过“可预测的”,我并不是说我们确切地知道计算一个哈希需要多少时间(以毫秒为单位)——这当然取决于硬件。那么,这里的可预测性必须意味着不同的东西。
为了帮助我们理解,让我们做一个...
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!