a16z对话Solana联创:尝试创造更伟大的想法,而不是重复已有的东西
原文标题: Debating Blockchain Architectures (with Solana )
主持人:a16z crypto 普通合伙人 Ali Yahya、a16z crypto 交易团队合伙人 Guy Wuollet
嘉宾:Solana Labs CEO、Solana 联合创始人 Anatoly Yakovenko
编译:倩雯, ChainCatcher
“但我想说的是,人们应该尝试创造更伟大的想法,而不是重复已有的东西。我听过的最好的比喻是,当人们发现水泥时,每个人都专注于用水泥砌砖,然后有一个人想,我可以建摩天大厦。他们想出了一个办法,把钢筋水泥和建筑结合在了一起,这是谁也想不到的。新工具就是水泥。你只需要搞清楚摩天大厦是什么,然后去建造大厦。”
本期节目,a16z crypto 与 Solana Labs 联合创始人、首席执行官 Anatoly Yakovenko 对话,Anatoly Yakovenko 曾在高通公司任职,担任过高级工程师和工程经理。
概要
-
去中心化计算的终极目标
-
Solana 背后的理念
-
Solana 与以太坊的异同
-
区块链的未来发展
-
Web3社群与开发
-
Web3初创公司人才招募
去中心化计算的终极目标
a16z crypto: 首先,我想知道你如何看待去去中心化计算的终极目标?如何看待区块链架构?
Anatoly Yakovenko: 我的立场比较极端。我认为,结算将变得越来越不重要,就像在传统金融中一样。你仍然需要有人提供担保,但这些担保可以通过许多不同的方式实现。我认为对世界真正有价值的,是拥有全球分布、全球同步的同步状态,这也是真正的难点。你可以把它想象成 Google Spanner 对谷歌的作用,或者纳斯达克对金融市场的作用。
从宏观看,区块链系统无需权限、可编程、高度开放,但是在堆栈的后背仍旧是某种市场。对所有这些市场来说,尽可能以接近光速的速度实现全球完全同步是非常有价值的,因为这样每个人都可以以此为参考。你仍然可以经营本地市场,但是,如果能有快速同步全球价格,那么全球金融都会变得更有效率。我认为这就是区块链的终极目标,以光速同步尽可能多的状态。
a16z crypto: 假如加密货币与区块链获得主流采用,到那时,区块链上活动的最大驱动力会是什么?
Anatoly Yakovenko: 我认为形态还是会和Web2十分类似,但是会更加透明,实现了长尾分布的愿景——互联网上会有各种各样规模较小的公司,它们能够掌控自己的数据,而不是像现在一样,几家独大(虽然这些大型公司做的事情也很伟大)我认为,从长远来看,创作者应该拥有更多的控制权、更多的自主出版权,能够实现真正意义的互联网,拥有广泛的分部和市场。
a16z crypto: 另一种思考或者提出这个问题的角度其实是如何进行权衡。你说你认为结算在未来会变得不那么重要。我很好奇,Solana 作为大量全球商业、特别是金融活动的发生地,对于你刚才所谈到的最终目标上,能够如何加速实现这一目标者或对此进行补充呢?
Anatoly Yakovenko: Solana 系统不是作为价值储存设计的,它实际上对网络故障的容忍度是很低的,它是在尽可能快地使用互联网上的所有可用资源。实际上,它依赖的是世界上大部分自由的跨境通信和金融。它和可以用来紧急避难的代币(bunker coin)不一样,当然我认为,世界上也需要当地缘政治冲突发生时,仍能够生存下去的 bunker coin。
不过乐观来看,世界上的事物之间的联系越来越紧密。我认为我们会看到我们之间的万兆连接。在那个世界里,你将拥有一个完全互联的世界。我认为,这种全球同步的状态机可以吸收很多执行方面的内容。
从经验看,结算在会很多地方都可以发生,因为结算很容易保证。再次强调,我采取这一立场是为了讨论。自 2017 年以来,我们见证了数以百计各类的隐私网络,比如从设计来看就有许多不同的实例。我们基本上看到是没有投票算法( Quorum )故障的,因为结算是比较容易实现的,一旦你在 21 个去中心化的参与方之间建立了复杂的拜占庭容错机制,你就不会看到结算失败。其他的延伸问题我们其实也都解决了。从经验看, Tendermint 十分可行,尽管前期我们经历了 Luna 大崩盘,但是出现的问题地方也不是投票算法机制。
我认为,在安全、资源和工程方面,我们在结算方面的支出过高,而在研究和执行方面的支出却远远不够,而这正是大部分金融业盈利的地方。我个人认为,如果这些技术要真正影响和触及全球范围,就必须在价格、公平性、速度等方面优于传统金融。这就是我们需要集中精力进行研发和竞争的地方。
a16z crypto: 你认为结算是你选择优化区块链的方面之一。人们可能会为了结算而过度优化区块链,而忽视其他方面,比如说吞吐量、延迟、可组合型,但它们往往与结算的安全性相对立,能否谈一谈 Solana 的架构?
Anatoly Yakovenko: Solana 架构的任务是以最快的速度将世界各地的信息同时传送给网络中的所有参与者。所以不需要分片,没有复杂的共识协议。我们其实是想把事情做得很简单。或者说,我们很幸运地解决了一个计算机科学难题,这就是盒子同步(box synchronization,在网络中使用可验证延迟函数作为时间源)。你可以把它想象成两个无线电发射塔在相同的时间或相同的频率下发射信号,就会产生噪音。人们在开始建设蜂窝网络时想到的第一个协议是,给每个塔配备一个时钟,让它们按时间交替发射信号。
一个比喻是,联邦通信委员会就像一辆装满恶棍的卡车,如果你的信号塔不在开放的许可列表网络中同步,他们会开到你的信号塔前把它关掉。Solana 受启发使用可验证的延迟功能来安排区块生产者,这样就不会发生碰撞。比如,在比特币这样的网络中,如果有两个区块生产者同时生产一个区块,就会产生分叉,这和蜂窝网络中的噪音是一样的。如果我们能强制所有区块生产者按时间交替生产,你就能得到一个很好的分时(time division)协议,每个区块生产者都能按计划轮流生产,而且他们永远不会碰撞。因此,分叉永远不会发生,网络也永远不会进入嘈杂状态。
在此之后,我们所做的一切就操作系统和数据库的操作优化,我们像比特洪流一样在全球范围内传输数据块,将编码块(ratio coding)传输到不同的机器上,实际上,它们最终看起来与数据可用性采样(data availability sampling)非常相似,并且具有相同的效果。然后它们互相转发比特,重建区块,然后进行投票,就这样不断地进行着。Solana 的主要设计思路是,我们努力确保网络或代码库的每一个流程在设计时,都只需要更新内核就可以进行拓展。
如果在两年内,我们每花一美元就能获得两倍的内核,我们就可以从对其进行调整,这样一样我们现在每个区块的线程(thread)数量是原来的两倍,或每个区块的计算量是原来的两倍。因此,网络就是可以实现两倍的事情。这一切都会自然而然地发生,无需对架构进行任何改动。
这就是我们真正想要实现的主要目标,这是以我的经验为基础的。从 2003 年到 2014 年,我一直在高通工作。我们每年都能看到移动终端硬件和架构的改进。如果你在编写软件时没有考虑到下一年可以在不需重新书写的情况下对软件进行拓展,那么作为一名工程师,你是很不合格的。因为你的设备在规模上会快速扩张,为了利用这个优势,你不得不重写代码。
所以,如果你真的需要提前思考,你所构建的一切只会发展越来越快。在我的工程师生涯中,最大的学习经历就是,你可以选择精心设计的算法,但它可能是错误的,因为随着硬件规模的扩大,使用这种算法的好处变得微乎其微,现在实现它的复杂性就像是在浪费时间。所以,如果你能只做非常简单的事情,并且只需要拓展内核,那么你实际上可能已经能实现 95% 的事情。
Solana 的构建理念
a16z crypto: 将历史证明(proof of history)作为一种跨验证者同步时间的方式,是非常具有开创性的想法,这也是为什么 Solana 为什么和其他共识协议不一样。
Anatoly Yakovenko: 这是阿姆达尔定律中的一个部分,这就是为什么人们很难在无账户、延迟和吞吐量方面复制 Solana ,这是因为经典的共识实现方式都是基于阶跃函数的。一整个网络,比如 Tendermint,都必须就当前区块的内容达成一致,然后才能进入下一个区块。
蜂窝信号塔使用一个时间表,你只需发送信号就可以了。因为没有必要使用阶跃函数,所以可以快速运行网络,我觉得这就像是一种同步,但我不知道这个词是否恰当。他们不断传输,永远不会停止去等待共识运行。我们之所以能做到这一点,是因为我们对时间有严格的理解。老实说,我们可以针对冗余建立一些时钟同步协议,只是过程可能会非常难。这是个庞大的工程,需要可靠的时钟同步。
这就是 Solana 的理念。在我开始建立 Solana 之前,我喜欢交易,做经纪人等等,虽然没有赚到钱。当时 “flash boy”在传统金融业盛行。每当我认为我的算法已经很好时,我的订单就会晚一点,该订单需要更长的时间才能进入市场,数据也会来得慢一些。
我认为,如果我们想颠覆金融业,这些开放式商业系统的基本目标就是让这种情况永远不可能发生。这个系统是开放的,任何人都可以参与其中。每个人都清楚的知道如何获得访问权,如何获得权利,比如优先权或公平权等。
在物理学允许的范围内,在工程师们能实现的范围内,以最快的速度实现这一切,我认为这才是根本问题。如果区块链能够解决这个问题,就会对世界其他地方产生非常大的影响,全球很多人都会受益。这可能会成为一个基石,然后你就可以用它来颠覆网络上的广告交易和货币化模式等等。
a16z crypto: 我认为纯粹的延迟和恶意活动之间有一个重要的区别,尤其是在单个状态机中。也许你可以详细说明一下你认为哪个更重要以及为什么。
Anatoly Yakovenko: 不可能将整个状态原子化,因为这意味着整个状态只有一个正确的全局锁(global right lock)而意味着一个非常慢的排序系统。因此,你需要对状态进行原子访问,而且需要保证这一点。如果你不知道它对你的计算会产生什么副作用,你很难构建对非原子态的远程状态进行操作的软件。因此,这种想法就像提交一个事务(transaction),要么全部执行,要么完全失败,没有任何副作用。这正是这些计算机必须具备的特性之一。否则,我认为不可能为它们编写可靠的软件。你根本无法构建任何可靠的逻辑或者财务上可靠的逻辑。
你也许能构建出能保持一致的系统,但我认为,那是另一种软件。所以,在维持系统原子态和性能之间,总是存在着一种紧张关系。因为如果你保证了这一点,最终就意味着你在任何时刻都要在全球范围内选择一个特定的写入者来处理状态的特定部分。而要解决这个问题,就需要你有一个单一的序列器,并对这些事件进行线性化处理。这就创造了可以提取价值和提高系统公平性的点。我认为,要解决这些问题确实很难,不仅 Solana 面临这些难题,以太坊、闪电机器人也面临这些问题。
Solana 与以太坊
a16z crypto: 其中一个经常被争论的问题,尤其是在以太坊社区,就是执行的可验证性,对于用户来说非常重要,因为他们没有非常强大的机器来验证网络中的活动,你是怎么看的?
Anatoly Yakovenko: 我认为这两个系统的最终目标非常相似。如果你看一下以太坊路线图的目标,你就会发现,它的理念是,整体网络带宽大于任何单个节点,该网络已经在计算或处理比任何单个单独节点都要多的事件。你必须考虑到这样一个系统的安全因素。也有发布欺诈证明的协议、抽样方案等等,所有这些实际上也适用于 Solana。
所以,如果你退后一步看,其实并没有什么不同。你有一个像黑盒一样的系统,它创造了如此多的带宽,对一个随机用户来说不太实用。因此,他们需要依靠采样技术来保证数据的真实性。就像非常强大的流言网络一样,能向所有客户端传播欺诈证明等。Solana 和以太坊之间保证的事情是一样的。我认为,两者的主要区别在于,以太坊在很大程度上受制于自己是全球货币的叙事,尤其是与比特币作为储值货币进行竞争的叙事。
我认为,让用户可以拥有非常小的节点是有一定道理的。即使他们只是部分参与网络,而不是让网络全部由专业人员运行。老实说,我认为这是一个公平的优化方案,比如,如果你不关心执行,只关心结算,为什么不把节点要求降到最低,让人们部分参与网络活动呢?我不认为这样做能为世界上绝大多数人创造一个信任最小化或绝对安全的系统,人们仍然要依靠数据可用性采样和欺诈证明。而用户要验证区块链是否做了错事,只需要执行链条上大多数人的签名即可。
在 Solana 上,单个事务描述了所有接触过交易的人的行动状态片段,它运行在任何设备上,如手机中的浏览器,都可以轻松执行多数人签名的单个事务,因为 Solana 上的一切都已提前指定,所以在 Solana 上构建实际上更加容易。像 EVM 或任何智能合约都可以接触任何状态,并在执行过程中在它们之间随机跳转。在某种程度上,这几乎更简单。但我认为,从很高的层面来看,用户最终还是要依靠 das 以及欺诈证明。在这一点上,所有的设计都是一样的。
a16z crypto: 我觉得两者不同之处在于零知识证明和有效性证明,尤其是欺诈证明。你似乎认为 zkEVM 几乎不可能被审计,而且它们在几年内都不会发展起来。我想问你,为什么 Solana 没有像以太坊一样优先考虑零知识证明和有效性证明?
Anatoly Yakovenko: 我认为这里有两个挑战,一个是我们对它们进行优先排序的方式,因为有一家名为 “white protocol”的公司正在构建针对应用程序的零知识证明。证明时间很快。用户在与链的交互过程中不会注意到它们。
实际上,你可以将它们组合起来。你可以让一个交易 Solana 调用五个不同的 zk 程序。因此,这种环境可以为用户节省计算资源或为用户创造隐私,但这并没有真正验证整个链。我之所以认为很难验证整条链,是因为零知识系统无法很好地处理大量的顺序状态依赖关系,最典型的例子就是 vdf (可验证延迟函数)。当你试图证明一个顺序 SHA、递归 SHA 为 56 时,你就会发现它崩溃了,这是因为执行过程中的排序状态依赖性极大地增加了系统必须具备的约束条件。而验证需要很长时间,我不知道这是否是业内最好的结果,我在 twitter 上看到的最新结果是, 256 字节的 SHA 大约需要 60 毫秒。这对一个单击指令来说是很长的时间。
所以排序计算、经典计算是必要的。而在一个为执行而设计的环境中,有大量的市场,你实际上有很多顺序依赖关系(sequential dependencies)。市场非常火爆。每个人都会直接向一对交易提交数据,而围绕这一对交易的每件事情都取决于这一对交易。因此,像执行一样,这种顺序依赖实际上非常多,这将导致非常漫长的证明系统。
Solana 并不禁止有人用递归光的方式运行零知识求证器来求证整个计算,如果可行的话,这也没问题。但用户需要的是,在交易时,我的信息快速被写入链中,而且是微秒或毫秒级的写入,并且我需要快速获得状态和对状态的一些保证。这才是获得收益的关键。
因此,我认为我们需要解决这个问题,这需要传统金融的实际竞争力。如果可以实现这一点,那么你就可以开始研究零知识,并找出我们如何为那些不想验证链条、不想依赖这些事件的用户提供这些保证,但也许我们至少可以每 24 小时做一次或类似的事情。我认为有两个不同的用例,首先,我们必须真正解决市场机制问题,然后是其他长尾用户来说。
a16z crypto: 听起来你的意思是,有效性证明、ZK 证明在结算方面非常出色,但在执行方面并没有什么帮助,因为延迟时间太长,而且它们的性能也有待提高。
Anatoly Yakovenko: 到目前为止都是真的。这是我的直觉,原因很简单,因为链越活跃,状态依赖的热点就越多。它们不是完全可并行,永远不会互相对话。只是这是一堆质量很差的代码。
a16z crypto: 另一个反驳理由可能是,零知识证明在经历指数级进步的,因为现在这方面的投入很大。也许 5 年后, 10 年后,开销可能会从现在的 1000 倍,降低到更可行的水平。你是硬件工程专业出身,我很想听听你的看法让一个节点进行计算并生成证明,然后将证明分发给其他人,可能比让每个节点自己进行计算更有效率,你如何看待这一观点?
Anatoly Yakovenko: 这种趋势对优化程序的零知识系统很有帮助。链上发生的事情越来越多。制约因素的数量会越来越多,速度远超比你增加硬件的速度,然后你就继续增加硬件了。这是我的直觉。我的感觉是,随着需求量越来越大,比如链上的计算量越来越多,零知识系统要想以低延迟方式跟上就会越来越难。我甚至不确定它是否会百分之百否可行。我认为你很有可能构建出能够处理超大递归批次的系统,但你仍然必须运行经典执行,每秒进行快照。然后,在一个大型并行场(parallel farm)投入一个小时的计算时间,在每个快照之间进行验证,从这里开始重新计算,但这需要时间,我认为这是一个挑战。
我不清楚 ZK 是否能赶上,除非需求趋于平稳,但我认为最终需求会被拉平。假设硬件不断改进,到某个时候,加密货币的需求就会饱和,就像谷歌每秒的搜索量在目前可能已经饱和一样。然后,你就会开始看到这种情况的发生。我认为我们离那个目标还很远。
a16z crypto: 这两种模式之间的另一大差异就是以太坊以 Rollup 为中心的世界观,它本质上是一种计算分片、数据可用性分片、带宽和网络活动分片的模式。因此,可以想象,最终可以实现更大的吞吐量,因为你可以在单个 Rollup 的基础上几乎无限地增加 Rollup,但是这意味着在延迟性上妥协。那么,究竟什么更重要呢?是线路的整体吞吐量还是访问延迟?可能两者都很重要?
Anatoly Yakovenko: 我认为最主要的问题是,你有 Rollup 和排序器,人们会从排序器和 Rollup 的构建中榨取价值,在这个系统中,你或多或少都会有一些共同的排序器。他们的操作和 Citadel 、Jump、经纪人、交易员等没有区别,都是路由订单。这些系统已经存在。这种设计实际上并没有打破整个垄断。我认为最好的办法是,建立一个完全无权限的商业系统,让那些中间商无法真正参与其中,并开始攫取全球同步状态机的价值。
很有可能,它的实际使用成本会更低,因为这就像是创建了一堆不同的小通道(pipe)。
一般来说,任何给定通道的定价都是基于该管道的剩余容量,而不是基于整体网络容量。很难建立一个完全共享网络带宽的系统,你可以尝试像 Rollup 设计那样,把区块放到任何可用的地方,但它们都会参与竞争和竞价。它不是一个巨大的管道那么简单,价格是基于这条链式管道的剩余容量。因为它是一个带宽聚合源,它的定价会更低,但最终的速度和性能会更高。
区块空间与未来
a16z crypto: 我曾经听你说过,你并不认为对区块空间的需求是无限的。你认为当web3获得主流采用时,区块链对区块空间的需求是否会达到一个平衡点?
Anatoly Yakovenko: 试想一下,如果高通公司的工程师们被告知人们对蜂窝带宽的需求是无限的,代码就是为无限而设计的,这是很荒谬的。
其实是会设计一个目标,能针对这种需求进行设计,比如思考需要多少硬件?我是否需要启动?最简单的实现是什么?部署的价格是多少?等等。我的直觉是, 99.999% 最有价值的交易可能都是都只需要 100, 000 TPS 以内,这是我的直觉猜测。而实现 100, 000 TPS 的系统实际上是相当可行的,目前的硬件可以实现,Solana 硬件就能做到这一点。我认为 100, 000 TPS 的速度就对可能是未来 20 年的区块链空间。
a16z crypto: 会不会是因为区块空间是如此实惠,人们想用它来做各种各样的事情,所以对它的需求才会飙升?
Anatoly Yakovenko: 但还是存在底价。价格购买必须涵盖每个验证器的带宽成本。就像出口(egress)成本会主导验证成本一样。如果你有 1 万个节点,你大概需要将网络的每字节使用量定价为正常出口成本的 1 万倍,但这听起来很贵。
a16z crypto: 所以我想这是个问题,你是否认为在某一时刻,Solana 会达到极限,还是说你认为单体架构已经足够?
Anatoly Yakovenko: 到目前为止,人们之所以做分片,是因为他们建立了比 Solana 宽带要低得多的系统,因此,他们遇到了容量限制,开始为获得带宽而进行竞标,这已经大大超出出口成本。以一万个节点的出口成本为例,我上次看价格对 Solana 的验证者来说每兆字节出口成本应该为 1 美元,这是一个底价,你不能用它来播放视频。但它的价格很低,你可以用它来搜索,你基本上可以让每一次搜索都放到链上,然后从你的搜索引擎得到结果。
a16z crypto: 我认为这其实是一个有趣的观点,因为我们在播客开始时就提出了 “区块链拓展的终极目标是什么 ”的问题,这意味着区块链的可扩展性是最重要的问题。
Chris 以前也用过这样的比喻,过去十年中人工智能的进步很大程度上归功于更好的硬件,这才是真正的关键。所在我认为,我们谈论区块链的可扩展性,也是出于同样的目的,如果我们能像实现 TPS 的大幅度增长,一切就都能正常运行了。但一个有趣的反对观点是, 以太坊每秒可以完成 12 次交易, 而一个以太坊本身的吞吐量仍然比任何一个单独的 L 2 大,收取比较高昂的手续费。在 Solana 上,很多简单的转账交易费用很低。当我们谈论这个问题时,通常会得出这样的结论,如果我们的吞吐量达到下一个数量级,就会出现很多我们现在无法推理或思考的新应用。在某种程度上,过去几年中,Solana 一直是构建应用的地方,很多东西都和以太坊为基础上构建的事物十分类似。
你认为,更高的吞吐量或更低的延迟会释放出众多全新应用?还是未来 10 年内区块链上构建的大多数东西都会与我们已经提出的设计非常相似?
Anatoly Yakovenko: 实际上,我认为大多数应用都会很相似。最难破解的是,如何建立商业模式,比如如何应用这些新工具?我认为我们已经发现了这些工具。
以太坊交易之所以如此昂贵,是因为它的状态非常有价值,当你有了这个状态,任何人都可以写入它,他们就会建立起经济上的机会成本,让他们成为第一个写入这个状态的人,而这一切都有效地激增了费用。这就是在以太坊上产生有价值的交易费用的原因。为了实现这一点,很多应用都需要创建这种有价值的状态,让人们愿意不断写入,让人们开始竞相抬高费用.
a16z crypto: 我在这里提出一个反驳意见。我认为,我们很容易低估整个领域开发者和企业家的创造力。实际上,如果你回顾历史,比如从上世纪 90 年代开始的第一波网络和互联网浪潮,我们花了很长时间才真正开发出有趣应用的主要驱动力。而以加密货币为例,从 2014 年左右的以太坊开始,我们才真正有了可编程的区块链,像 Solana 这样的东西才真正存在了 4 年左右,人们探索设计的时间其实并不长。
事实是,这个领域的开发者数量仍然极少。比如,知道如何编写智能合约、真正理解区块链作为计算机的前景的开发者,我们大概有几万人。因此,我觉得在区块链上开发有趣的想法还为时尚早。它所创造的设计空间是如此广阔,以至于我猜想我们会对人们未来创造出的东西而大吃一惊。它们可能不仅仅是与交易、市场或金融有关的东西。它们可能会以共享数据结构的形式出现,这些数据结构非常有价值,但扮演的角色本质上与金融无关。
去中心化的社交网络就是一个很好的例子,在这个网络中,社交图谱作为一种公共产品被放在链上,这使得其他各种企业家和技术开发人员可以在此基础上进行开发。由于社交图谱位于区块链上,而且是开放的,所有开发者都可以访问,因此社交图谱成为区块链维护的非常有价值的状态。你可以想象人们出于各种原因想要发布大量的交易,比如实时更新这个数据结构。如果这些交易足够便宜,我想开发人员一定会想出办法来利用它们。
从历史上看,每当计算机速度变快时。开发者们就会想办法利用额外的计算能力来改进他们的应用。我们的计算能力从来都不够用。人们总是想要更多算力,我认为区块链计算机也会出现同样的情况。而且不会有上限,也许上限并非无限,但我认为对区块空间需求的上限一定比我们想象的要高得多。
Anatoly Yakovenko: 但反过来说,互联网的用例其实很早就被发现了,比如搜索、社交图谱和电子商务也很早就被发现了,应该是在 90 年代。
a16z crypto: 有一些事情很难预测。比如说,共享单车是很难预测的。实际上,搜索最终所采取的形式也是很难预测的,我在社交网络中广泛使用流媒体视频之类的东西,在一开始也是不可想象的。
我想,就像在这里一样,我们可以想到人们可能会在区块链上构建的一些应用。但鉴于目前的限制和基础设施的限制,其中一些应用感觉是不可能想象出来的。一旦这些限制被解除,一旦有更多的人进入这个领域进行构建,我们就可以进行畅想,未来就可能会出现很多重量级应用。因此,如果我们让其自由发展,我们可能会惊讶于它会变得如此之强大。
Anatoly Yakovenko: 有一个有趣的纸牌游戏叫 “点炸弹”(dot bomb),游戏的目的是尽可能慢地输钱,你实际上赢不了钱,也赚不到钱。你经营的是一群不同的初创公司,使用 90 年代的互联网创意。无一例外的是,每一个所谓的糟糕点子,比如在线杂货配送和在线宠物店,都在 2010 年之后的某个时候成为了至少 10 亿美元的生意。因此,我认为很多想法一开始可能很糟糕,或者在最初的实施过程中失败了,但最终都会在未来得到很好的采用。
区块链的未来采用
a16z crypto: 那么问题来了,你认为区块链从目前的应用到成为互联网主流的关键是什么?如果不是可扩展性,那就是其他阻碍因素,比如文化对区块链的接受度问题?是隐私问题?是用户体验?
Anatoly Yakovenko: 这让我想起互联网上的发展历史,我还记得整个体验是如何转变的,在我上大学之后,我有了电子邮件地址,每个工作的人都有了电子邮件地址,我开始收到一些链接,包含各种内容,然后网络用户体验变得更好了,比如,Hotmail 出世,Facebook 也发展起来。
正因为如此,人们的思维发生了转变,他们明白了什么是网络。最初,人们甚至很难理解什么是 url,点击某个东西意味着什么?进入服务器是什么意思?我们在自监管方面也有同样的问题,需要让人们真正理解这些概念,比如助记词是什么意思?钱包和交易是什么意思?人们的思想需要转变,而这种转变正在慢慢发生。我认为,每个最终购买加密货币并存入自己自监管钱包的用户,一旦有了这种经历,他们就会明白这一点。不过到目前为止,不是很多人都有这样的经历。
a16z crypto: 你们造了一部手机。或许你们可以告诉我们,制造手机的灵感来自哪里,以及你们认为目前的推广情况如何?
Anatoly Yakovenko: 我在高通的经历让我意识到,这是一个存在局限的问题,我们可以解决它,而且它不会让整个公司转向手机业务。所以这对我们来说这是一个边际成本很低的机会,可能会改变加密货币或移动行业。
这是一件值得做的事。我们与一家公司合作制造了一款设备,当我们与他们合作推出加密货币的特定功能时,我们从人们和开发者那里得到了非常棒的评价,认为它就像应用商店的替代品一样。不过一切都是未知数,比如宏观条件下加密货币的应用是否如此引人注目,以至于人们愿意从 iOS 转向安卓?有些人愿意,但还不是很多。推出一款设备非常困难。基本上,在三星、苹果之外推出的每款设备都以失败告终,究其原因,是因为三星和苹果的生产流水线已经得到了很好的优化,任何一家新创公司在硬件上与这些巨头公司相比都是非常落后的。
所以,你需要有一些像“宗教”一样的理由让人们转变,也许加密货币就是那个理由。我们还没有证明这一点,但也没有推翻这一点。就像我们还没有看到一个突破性的使用案例,在这个案例中,自监管就像是人们需要的关键功能,他们愿意改变自己的行为。
a16z crypto: 你是为数不多的既能构建硬件又能构建去中心化网络的创始人之一。去中心化协议或网络通常被比作构建硬件,因为它非常复杂,你认为这个比喻成立吗?
Anatoly Yakovenko: 像我之前在高通工作一样。硬件出问题的话,会带来很多的问题,比如,如果一盘磁带坏了,公司每天要花费数千万美元进行修复,这可能是灾难性的。而在软件公司,你仍然可以快速地发现问题,你可以对软件进行 24 小时补丁,这就会更容易些。
社区与开发
a16z crypto: Solana 在建立自己的社区方面做得非常出色,拥有一个非常强大的社区。我很好奇,你们在建立公司、建立生态系统时,采取了哪些方法?
Anatoly Yakovenko: 可以说,这里面有一点运气的成分。我们从 2018 年开始仍是 Solana Lab,当时正值上一个周期的尾声。而我们的很多竞争对手实际上比我们多筹了好几倍的资金。当时我们的团队很小。我们没有足够的资金去构建和优化 cdm,我们构建了一个运行时间(runtime),我们认为可以展示这一关键功能——即可扩展且不受限制的区块链,不会受到节点数量、严重延迟的影响。我们真的很想在这三个方面都有所突破。
当时我们只专注于构建这个快速的网络,而没有管太多其他的方面。其实当网络推出时,我们只有非常简陋的资源管理器和命令行钱包,但网络速度非常快。这也是吸引开发者的关键所在,因为当时没有任何其他快速、廉价的网络可以作为取代,也没有任何可编程的网络可以提供这样的速度、延迟和吞吐量。
这其实也是为什么开发人员能够发展起来的原因。因为当时很多人无法复制和粘贴 solidity 代码,所以这就是一切从头开始。从零开始的构建过程实际上就是工程师的入门过程。比如,如果你能在堆栈 a 和堆栈 b 中构建你所习惯的基元,你就能从头到尾地学习堆栈 b。如果你可以接受一定的取舍,你就可能成为它的拥护者。
如果我们有更多的资金,我们当时可能会犯一个错误,那就是试图构建 EVM 兼容性,但事实上,我们工程时间有限,这就迫使我们只优先考虑最重要的事情,那就是这台状态机的性能。
我的直觉是,如果我们能解除对开发者的限制,给他们一个非常大、非常快、成本低的网络,他们就能解除对自己的束缚。而这确实已经发生了,令人惊讶和赞叹。我不确定如果时机不对,比如当时宏观环境不对,我们是否还会取得成功。我们是在 3 月 12 日宣布的,然后 3 月 16 日股市和加密货币市场都崩盘了 70% 。我想那 3 天的时机可能救了我们。
a16z crypto: 这里的另一个重要因素是如何赢得开发人员?
Anatoly Yakovenko: 这有点违反直觉,你必须先用咬碎玻璃来构建你的第一个程序,这需要人们真正投入时间,我们称之为 “嚼玻璃”(chew glass)。
不是所有的人都会这么做,但一旦有足够多的人这样做了,他们就会建立库和工具,使下一个开发者更容易地进行开发。对于开发者来说,这样做实际上是一种令人自豪的事情,自然而然库会建立起来,软件自然会扩展。我认为这是我们真正想让开发者社区去构建和咀嚼的东西,因为这真正让那些人拥有它,真正让他们感觉他们拥有生态系统的真正所有权。我们尝试解决他们无法解决的问题,比如长期协议问题。
我认为这就是这种精神的来源,你愿意嚼玻璃,因为你从中得到了回报,你获得了生态系统的所有权。我们能够专注于使协议更便宜、更快速、更可靠的网络。
a16z crypto: 你对开发者的体验有什么看法,以及编程语言在该领域获得更多主流应用后将扮演什么角色。要融入这个领域、学习如何使用这些工具、学习如何思考是相当困难的。
在新模式下,编程语言可能会在这方面发挥重要作用,因为智能合约的安全性已成为该领域工程师必须完成的重要工作。这其中的风险非常大。在理想情况下,我们最终会看到这样一个世界:编程语言通过工具为你提供的帮助比现在要多得多,比如形式验证(formal verification)、编译器、自动化工具,这些工具能让你确定你的代码是否正确。
Anatoly Yakovenko: 我认为,形式验证对所有 Defi 应用都是必要的。很多创新都是在这里发生的,比如建立新的市场,这些都是黑客威胁最大的地方,这些才是真正需要形式验证和类似工具的地方。
我认为,还有很多其他应用都在快速向单一节点实现靠拢,并在效果上变得可信。一旦你能为某类问题建立一个单一的标准,这比一个新创公司建立一个新的 Defi 协议要容易得多,因为之前没有人编过这种代码,所以必须要去承受大量的实施风险,然后让人们相信它,并把钱放在这个协议里冒险。这就是你需要所有工具的地方。形式化验证、编译器、 move 语言等等。
a16z crypto: 编程世界正在以一种非常有趣的方式发生变化,因为过去大多数编程都是传统的命令式编程,类似于 javascript。而且当你编写一些代码时,它很可能是不正确的,而且会被破坏,然后你再修复它。
但是,越来越多的应用程序是对任务很关键的,对于这些应用程序,你需要一种截然不同的编程方式,这种模式能更好地保证你编写的代码正确。另一方面,还有另一种编程正在兴起,那就是机器学习,比如使用数据来合成程序。而这两件事都在吞食着命令式编程的原始形式。世界上普通的 javascript 代码会越来越少。机器学习算法根据数据编写的代码会越来越多。会有更多的代码是通过更正规的技术编写的,这些技术看起来更像数学和形式验证。
Anatoly Yakovenko: 是的,我甚至可以想象,在某些时候,证明者(verifier)优化智能合约语言,然后告诉 LLM 把它翻译成 solidity 或其他 Solana 锚(anchor)。两年前,人们可能还不会相信,但在 Gpt 4 上,已经出现了非常多的阶跃功能。
a16z crypto: 我喜欢这个想法。你可以用一个 LLM 来生成满足某些形式化验证工具要求的程序规范。然后,你可以要求同一 LLM 生成程序本身。然后,你就可以在程序中运行形式验证工具,看看它是否真的满足规范要求。如果不符合,它就会给你一个错误,你可以把这个错误反馈给其他 LLM,让它再试一次。你可以不断这样做,最后生成一个可验证的、经过形式化验证的程序。
生态系统与人才招募
a16z crypto: 我们正在讨论如何建立一个强大的生态系统。很多区块链在推出后几乎立即去中心化,以至于核心团队不再参与论坛讨论,也不再试图帮助其他合作伙伴参与。而你们似乎从网络启动、进入市场开始都非常认。我认为这可能是建立 Solana 生态系统的一大优势。
Anatoly Yakovenko: 引用一句话,去中心化不是没有领导,而是多元的领导。我还记得,在高通这样的大公司里,要想认真对待 Linux 系统有多难,甚至连提出在移动设备上运行 Linux 系统的想法都显得可笑。我刚加入的时候,整个社区都在努力说服大家,开源是有意义的,我认为这也是我们需要做的,网络需要去中心化。
但这并不意味着没有领导。实际上,你需要大量专家,不断告诉人们使用这种特定网络及其架构的好处,不断让更多人加入进来,并培养出更多能够在全世界范围内传道授业解惑的领导者。但这并不意味着所有事情都在一个屋檐下发生。如果网络和代码是开放的,任何人都可以贡献并运行它。自然而然地,它实际上就是去中心化的。你自然会看到领导力从你意想不到的地方涌现出来。
我们的目标是让周围的一切都发展起来,让我们的声音成为众多声音中的一个,而不是不让别人发声。我们大量关注黑客松粉丝等等,试图将他们相互连接起来,让他们参与到这个循环中来。这就像飞轮一样。我们试图让人们与世界各地的开发者建立联系,尽可能多地与他们一对一交流,然后让他们都加入黑客松,参与竞争,促使他们去打造他们的第一个或第二个产品。
在加密货币的用户中,只有极少数产品可以进入市场、获得风险投资、拥有可扩展的用户数量。在我看来,这意味着我们没有足够的创意。我们没有足够多的创始人去瞄准目标,找出真正可以扩展到数百万用户的商业模式。因此,我们需要大量的公司进行竞争,看看能否想出绝妙的点子,这才是最大的挑战。
a16z crypto: 与此相关的一个问题是,如何让社区参与开发核心协议本身的部分内容?对于任何区块链生态系统来说,这都是最棘手的平衡问题之一。一方面,你可以让社区积极参与,但另一方面,你的灵活性可能会降低。而且治理过程涉及到更多的人,协调起来很困难。另一方面,你也可以用一种更自上而下的方式来控制事情,并因此发展得更快。但在社区参与方面,你又会受到一定的影响,你是如何取得平衡的?
Anatoly Yakovenko: 一般来说,当我在基金会工作的时候,我们看到人们积极地为他们想做的事情做贡献。然后,他们要经提案过程,然后会有一笔赠款或其他附带的东西。这和面试过程很相似,比如我在实验室雇人的时候,可能是企业文化与这个人不匹配,也可能是其他什么原因,但这并不意味着这个人不好,只是有些东西没有发挥作用。同样的道理,你会发现工程师们已经在提交代码,为代码库做出贡献。他们已经知道如何从文化上让代码合并,以及如何处理开源方向的问题。当你找到那些能够自己解决问题的人时,你就可以给资助,这些资助非常重要,确保你可以找到真正优秀的人,他们可以提交代码并愿意长期为此工作。
a16z crypto: 你认为当今运行去中心化治理协议的最佳方式是什么?
Anatoly Yakovenko: 就像L1一样,我们采取的方法似乎很有效,就像 linux 那样,不断向前,尽可能避免来自任何参与者的否决。它走的是一条最少否决的道路。老实说,有很多参与者都可以否决任何改变,他们会觉得这个改动不好,或者不要改动。但是我们必须让系统更快、更可靠、用更少的内存,没人会反对这些改变。
理想情况下,我们有一个相关流程,你发布设计,大家花三个月讨论。因此,在合并之前,每个人都有很多机会去看看这段代码,并决定它是好是坏。这个过程看起来有点久,但实际上并不。如果你曾在一家大公司工作过,基本上与谷歌或高通公司工作时,你就知道你得和很多人交谈,你得推动它,确保所有的关键合作伙伴,比如接触代码库的关键人物都能接受它,然后慢慢地把它完成。进行大刀阔斧的改革比较困难。因为很多聪明人都在看同样的东西,他们可能会真正发现一些错误,然后最后会决定。
a16z crypto: 在人才招募方面你是如何考虑的?
Anatoly Yakovenko: 工程方面,我们的要求往往很高,至少我们会聘用相当资深的人员。我的招聘方式是,初期我会在某件事情上下功夫,这样我就知道这件事该怎么做,然后我会告诉新员工,我是这么做的。我不指望他们能在 90 天内完成,或者超过我。我可以在面试时评估他们,告诉他们这就是我正在解决的问题。我需要有人接手,这样我才能去做未知的事情。在初创公司里,如果你是 ceo,最好不要给别人一个未知的问题,因为你不知道他们能否解决这些问题。
生态系统发展到一定程度时,就需要 PM。当时我花了太多时间回答问题,直到凌晨 2 点还在回答问题。我当时就想,应该让别人来做这件事,我现在知道这份工作到底是做什么的。
a16z crypto: 你认为隐私在未来对区块链有多重要?
Anatoly Yakovenko: 我认为整个行业会存在转变。首先,一些有远见的人会关注隐私,然后突然间,我大型支付公司或其他公司会采用这种技术,它将成为标准。我认为它需要成为一个功能——如果你没有这个功能,你就无法竞争。我们还没有达到市场成熟的程度,但我想我们会达到的。一旦有许多人使用区块链,世界上的每个商家都需要钢琴隐私。这只是最起码的要求。
a16z crypto: Solana 架构对 MEV 有什么影响?是否领导者(leader)拥有太大的权限能够对交易进行重新排序?
Anatoly Yakovenko: 我们最初的设想是,每个槽(slot)安排超过 1 位领导者。如果我们尽可能接近光速,也就是大约 120 毫秒,然后,你就可以在全球范围内每隔 120 毫秒进行一次离散批量时间拍卖。用户可以从所有可用的区块生产者中选择最近或者回扣最大的一位。从理论上讲,这可能是金融运行最有效的方式,要么我选择延迟,然后发送给最近的区块生产者;要么我选择最高的回扣,做延迟美元交易。这是一个理论,我们还没有测试过每个槽有多个领导者,但我们正在接近这个目标,我认为这可能是可行的,也许明年就能实现。
我认为,一旦我们实现这种方案,我们就能获得非常强大的系统,基本上可以迫使竞争,实现 MEV 最小化。
a16z crypto: 在 Solana 架构中,你最喜欢的系统优化是什么?
Anatoly Yakovenko: 我最喜欢我们传播区块的方式,这是我们早期的想法,也是我们真正需要做的事情之一。我们可以在网络中扩展系统中的节点数量非常多,我们可以传输大量数据,但每个节点必须共享的出口量,也就是它必须承担的出口负载量是固定、有上限的。
如果你从高层次来考虑,每个领导者在创建区块时,都会将其切碎片(thread),并为这些碎块创建编码。然后,它们将碎片传输到一个节点,然后该节点再将其发送给网络的其他节点。因为所有数据都与编码混合在一起,所以只要有人接收这些数据,那么数据的可靠性就非常高,因为传播数据的节点数量非常大,除非 50% 的节点都出现故障,而这种概率微乎其微。所以这是一个非常酷的优化,而且它的开销非常低,性能非常高。
a16z crypto: 你如何看待加密货币在未来的应用发展?未来这些并不了解区块链的用户会如何采用区块链?
Anatoly Yakovenko: 我认为我们存在一些些突破性的应用和支付方式,因为使用加密货币进行支付与传统系统相比有着明显的优势。我认为一旦监管到位,国会通过几项法案,支付就会成为一个突破性的用例。一旦我们有了支付手段,我认为它的另一方面也会发展起来,比如社交应用,可以是消息应用、社交图谱应用。这些应用目前正在缓慢增长。我觉得它们正处于起飞的黄金时期,并将达到真正可观的数字。
一旦到达主流采用产品就有可能进行迭代,了解人们到底想要什么,并给他们提供这些产品。人们应当是为了产品的效用使用产品,而不是为了代币。
a16z crypto: 你对该领域的建设者或该领域之外的建设者有什么建议?或者对那些对加密货币和Web3者感到好奇的人有什么建议?
Anatoly Yakovenko: 我想说的是,现在是最好的时机。现在的市场在宏观上相对低迷,没有太多的噪音,你可以专注于产品与市场的契合度。当市场扭转时,这些发现将大大加速你的发展。如果你想在人工智能领域工作,你人们不应该害怕现在就去创办人工智能公司或加密货币公司或其他公司,你应该去尝试并建立这些想法。
但我想说的是,人们应该尝试创造更伟大的想法,而不是重复已有的东西。我听过的最好的比喻是,当人们发现水泥时,每个人都专注于用水泥砌砖,然后有一个人想到,也许我可以建摩天大楼。他们想出了一个办法,把钢筋和建筑结合在了一起,这是谁也想不到的。新工具就是水泥,你只需要搞清楚摩天大厦是什么,然后去建造大厦。