前言

数字产权

最近听了一期郭宇的访谈(链接,大概在 1h 2min 处),访谈内聊到了 Web3,Web3 本身是一个争议很大的领域,其中比较有意思的一点是数字产权。在如今世界,数字产权的维护是件很困难的事,数字信息往往集中在大公司内部,另外近年炙手可热的大模型技术,它们的训练又是否涉及个人数据。

在信息爆炸增长的年代,普通人如何维护自己的数字产权,以及是否可以通过数字产权来盈利,是一个很有意思的话题。

访谈中还提到日本对于数字银行(情报银行或信息银行)是有相关法律支持的,是一个从上到下的推动过程,印象里日本的互联网技术比较旧派,但在这个方向却很激进。

HACKQUEST 共学营

后来在 V2EX 上看到了一个 Web3 共学营的帖子(共学营主页),顺便报名了下,想了解下目前 Web3 领域的现状,刚好最近也在找工作,也看看是否会有些新机遇,这一周学习了下 Solana白皮书)。

关于 Solana

Solana 介绍

Anatoly Yakovenko 创建 Solana 的初衷是为了解决区块链交易处理速度的瓶颈问题。对于区块链网络,比如 Bitcoin 与早期 Ethereum(使用 PoW(Proof of Work) 作为共识协议),它们能够支持的 TPS(Transaction Per Second)要远低于现代金融系统,这与出块时间(Block Time,常见区块链的 Block Time)以及每个区块能够装载的交易数量有关。

从上方链接可以看到,Solana 的 Block Time 可以达到惊人的 400-800ms,远低于其他区块链网络,这与 Solana 背后使用的共识协议有关,Solana 的共识协议是 PoH(Proof of History)PoS(Proof of Stake)混合体。

关于 Solana 的几个问题

主要想回答以下几个问题:

  1. 为什么 Solana 的 Block Time 这么小?
  2. Solana 的共识协议是否存在中心化问题?
  3. Solana 的代币是如何产生的?
Bitcoin 是如何处理交易的?

在 Bitcoin 中,当用户发起交易后,交易会被发送至网络中的某一个节点,此节点会验证该交易是否有效,如果无效,则废弃,如果有效,此节点会将该交易传递至邻居节点,邻居节点再传递至它们的邻居节点(即在网络中泛洪),节点验证交易后,会将这些交易添加至自己的内存池中,如果某个节点成功挖出一个新区块时,可能会将该交易打包进区块,矿工通常会优先选择交易费较高的交易打包。(注:参考《精通区块链编程:加密货币原理、方法和应用开发(原书第2版)》 10.3、10.5 小节。)

Bitcoin 为保证交易能尽可能传播至网络中的每个节点,Bitcoin 的 Block Time 是比较长的,平均约 10min,并且 Bitcoin 会根据最近的 Block Time 动态调整挖矿难度以维持 Block Time 的稳定。

相较于 Bitcoin,Solana 为什么快?

如果要保证交易能尽可能传播至网络中的每个节点,网络应该维持较长的 Block Time,那 Solana 不需要保证吗?

后来发现 Solana 其实是一个偏中心化设计的区块链网络,交易只会由 Leader 节点和 Verifier 节点处理,当用户发起一笔交易后,如果交易被发送至 Leader 节点,Leader 节点会直接处理,如果发送至其他节点,其他节点会将交易转发至 Leader 节点,所以 Solana 不需要保证交易尽可能泛洪至整个网络,这也是 Solana 较快的原因。明白了这些之后,其实我对 Solana 是有些失望的。

这也引出了另一个结论,对于 PoS 共识协议设计的好坏,比如去中心化、公平性等,节点的选举是很重要的一环。

代币是如何产生的?

对于 Bitcoin,每一个区块会蕴含一笔创币交易,挖到该区块的矿工能够从这笔交易中获取比特币奖励,并且比特币的发行总量是确定的,创币交易蕴含的比特币奖励会随着区块数量的增加指数级减少。

回到 Solana,关于 Solana 经济模型的参考文献:

在 Solana 中,初始发行的所有 SOL 代币是由创世区块(第一个区块)产生,关于后续 SOL 代币的诞生,验证节点会得到基于协议的奖励。