加密KOL Naval近日在播客采访了以太坊创始人Vitalik,Vitalik在播客里回顾了以太坊的起源故事,并亲自解释了什么是以太坊,以太坊的优缺点,以太坊的哲学乃至区块链技术的未来等问题。金色财经编译了此次Vitalik的采访。 Naval:欢迎来到播客。本期博客的嘉宾有Haseeb Qureshi,他是Dragonfly合伙人,也是我在加密领域更活跃时曾与之共事的人。还有Vitalik Buterin,他当然是博学的天才——尽管他可能对这种描述感到愤怒——他创建了以太坊,这是第一个获得任何交易量的智能合约区块链,并改变了我们所知道的区块链计算的面貌. Haseeb,你想给我们一个关于你自己的简短背景介绍吗? Haseeb的背景Haseeb:我是一名软件工程师,现在是一名投资者。我经营着Dragonfly Capital,这是一家全球加密基金——我们只投资于加密货币——我已经这样做了四年多了。 这很有趣,因为当我第一次接触加密货币时,我记得我实际上是在IC3,这个加密货币会议,在那里我第一次见到了你和Vitalik。我刚从Airbnb辞去软件工程师的工作,我记得我问过你,“你认为加密货币最重要的问题是什么?” 你的回答是关于钱包的。你好像说,“我认为建立更多的钱包很重要。” 那时我对构建钱包的含义有一个模糊的理解。这就是触发我潜入以太坊兔子洞的原因。 在我第一次真正深入研究加密货币的早期,在那次IC3会议之后,我记得在离开时有一种强烈的感觉,即比特币即将消亡。我当时想,“看看以太坊世界正在发生的事情的智力能量和特征明显而巨大的差异,这是我在IC3看到的一切,我在比特币世界看到的是一大堆宗教的愤怒和热情,而不是大量的创新。” 原来我当时的理解很简单。但这就是我第一次全职进入加密货币的方式,通过你和我当时的小互动。 Naval:如果我没记错的话,你也有扑克玩家的背景。 Haseeb:这也是正确的。在我进入科技界之前,我曾经是一名职业扑克玩家大约五年。 Naval:在我们进入加密货币之前,我们中有很多人要么在Magic: The Gathering 中,要么在扑克中。 Vitalik:或者魔兽世界。 Naval:也许只是极客和游戏玩家。 Haseeb:我确实认为它比这更大。我有这个理论,你和我之前谈过。每一代人都有一些忙碌,如果你真的很聪明,在寻找优势方面非常积极并且不害怕看起来很奇怪,那么有一些方法可以尽早取得成功或以大多数人不明显的方式赚很多钱甚至可能有点颠覆性。如果你花很多时间在这件事上,你的父母会对此感到惊讶。 在我的时代,那是扑克。曾经有一段时间它变成了奇幻运动,然后变成了加密货币,然后变成了DeFi和流动性挖矿,然后变成了NFT交易。两年后会有其他事情发生。当NFT非常专业化并且没有太多的alpha可以转化为NFT时,将会有一些其他的事情,那些不怕看起来很愚蠢的年轻、真正饥饿的人将会做很多事情来赚很多钱。 Naval: Vitalik,你想简单介绍一下你吗? Vitalik的背景Vitalik:我出生在俄罗斯,6岁时移居加拿大。当我上高中的时候,我已经做了很多数学和编程,我发现了有趣的比特币。它立即让我着迷,因为它结合了我当时的所有兴趣。 比特币有数学方面,它有密码学,它有计算机科学。都是开源软件,当时我非常喜欢开源软件。然后还有这些经济和政治方面。我已经有点关注奥地利经济学了。比特币只是按下了所有这些按钮。 我开始尽我所能加入比特币社区。我浏览了比特币论坛,寻找可以用比特币支付的工作,因为我认为比特币的意义在于你应该赚取它。我发现有人愿意为每篇文章支付 5 个比特币(当时是 4 美元)来为他的博客写文章,我这样做了几个月。 然后,来自罗马尼亚的一位名叫Mihai Alisie的扑克玩家联系我,说他正在创办一本比特币杂志,并希望我成为第一位作家。我立即同意了,我成为了比特币杂志的第一位作家。 我开始写越来越多与比特币相关的文章,学习比特币,最终开始更多与编程相关的项目。我为一个名为Bitcoin X的隐蔽代币库(covert coins library)做了一些工作,并开始越来越深入地研究这个行业。 然后在2013年年中,我决定休学半年,走遍世界,访问所有我能找到的比特币社区,了解他们,看看每个人都在做什么。几个月后,我遇到了这些人,他们试图利用区块链并将其扩展到做加密货币以外的事情。 有一个项目叫“Covert币”,它已经存在了很长时间,它试图用区块链作为数据库层,在上面发行其他种类的资产。你可以在区块链上发行股票和数字美元。有一个名为“Master Coin”的项目试图进一步扩展它以创建一个完整的金融系统,来做我们今天所说的“DeFi”。这是一个非常早期的版本。 我在这些圈子里呆了足够时间之后,我最终有了自己的想法,即如何为所有这些想法创建一个更通用的版本:不是只有一个应用程序的区块链,而是一个你可以在其上构建任何应用程序的区块链。 这就是以太坊的来源。 Naval:以太坊是一个可以构建任何应用程序的区块链。而比特币显然仅限于尝试成为新货币或新储备货币,或者现在有人说“数字黄金”。所以你是最初的创造者,还有一个编写代码的团队,然后你发布了它。你这样做的时候几岁? Vtalik:十九。 Naval:那时你在计算机领域工作了多久?你是什么时候开始编程的? Vitalik:我想我是在十岁左右的时候开始编程的。 Naval:你大部分时间是自学的,还是为此上学的?除了明显的基因外,秘密是什么? Vitalik:我成长过程中就为自己编写视频游戏。我会做一个电子游戏,玩到我累了,然后再做一个电子游戏,然后玩到我累了。这几乎就是我一直到高中的学习方式。 Naval:你的父母有没有做过什么或环境有什么独特的事情来促进你在编程方面的发展? Vitalik:我父母确实给我买了很多编程书籍。他们确实为我找到了一些编程课程和一些数学课程。他们肯定非常支持。 Naval:你是在一个天才儿童专门学校,还是一个普通的公立学校系统或私立学校? Vitalik:直到八年级,我都在天才儿童项目或公立学校学习。然后在高中时,我的父母把我送到了一所私立学校,我发现私立学校的体验要好得多。 Naval:你是否在网上遇到了大多数协作同事,或者你在哪里?他们都在哪里闲逛让你偶然发现他们? Vitalik:它几乎完全是在线的。比特币世界生活在一个论坛上,除非你在纽约或旧金山等主要城市之一,社区几乎从一开始就开始了。Bitcoin Magazine从一开始就是一家完全远程办公的公司。比特币周刊,比特币杂志之前的博客,从第一天也完全是远程的。 Naval:直到今天,你的大多数合作者几乎遍布世界各地。是吗? Vitalik:差不多。 什么是以太坊?可以在其上构建任何应用程序的区块链。 Naval:以太坊于2014年问世。如果我没记错的话,在那之前你已经开发了几年。有一次公开发售,很多人参与其中,然后在2017年,人们在以太坊上建立资产,不同种类的代币出现了热潮。然后,当然,游戏、NFT、DeFi和所有这些东西都出现了。 让我们回顾一下以太坊的演变。以太坊在核心层面做了什么?它擅长什么?而今天,它做的不好是什么?它需要在什么方面变得更好? Vitalik:我认为以太坊是一个通用的区块链。因此,它不是只有一个应用程序的区块链,而是一个可以在其上构建任何应用程序的区块链。在以太坊上执行此操作的方式是编写一段代码,然后创建一个包含该代码的数字交易并将其发布。 当你发布此交易并且该交易被包含在区块链上的一个区块中时,这会创建一个称为“合约”的对象。这是区块链跟踪的虚拟对象。所以合约是一个包含一段代码的对象。 现在区块链有了这个对象,它有一段代码,就像以太坊区块链从那时起维护的一个小应用程序。在那之后,任何人都可以发送另一笔交易,上面写着“我想和这个对象交谈”。 所以第一步,我创建了一个创建这个对象的交易。我们将调用该对象X。然后第二步,你想使用我的应用程序,所以你发送交易,在你的交易中你说,“我想和智能合约X对话,这里有一小段数据说明我想用那个应用程序做什么。” 当该交易被编码到一个区块中时,我第一次发布的代码会运行,将来自你的交易的数据作为输入,并以它想要的任何方式解释它。 我们可以通过一个例子来更具体地说明这一点。 假设我有一家公司,我想在区块链上发行股票。我将创建一个包含程序的交易。该程序的规则会说,“好吧,你可以用股票做什么?” 我们只会说你可以将你的股份转让给其他人并且你可以投票,对吗? 该程序将解释它认为将你的股票转让给其他人的指令或进行投票的指令的任何数据。我发布了这个交易,它初始化了整个事情。作为该交易的一部分,我可能会说,“Naval拥有50股,Haseeb拥有100股,而我拥有25股。” 所以现在区块链上有这个东西,它有一段代码。它有自己的小记忆,上面写着“我有25个,Haseeb有100个,Naval有50个”? 如果Naval感觉很慷慨,想把他一半的股份给我,他会创建一个交易。该交易将有一些数据。它将编码这个想法,即我作为Naval想要将我的25股股票发送给Vitalik。因此,你创建了一个对它进行编码并将其发送到网络的交易,它被包含在一个区块中。 一旦它被包含进来,这段代码就会运行。这段代码看到了交易并说:“好的,显然我必须将25 股从Naval转移到Vitalik。之前,Naval有50,所以我要减去25,现在Naval有 25。之前Vitalik 有25,现在Vitalik有50。我要写下Vitalik现在有50。好的。” 就是这样。交易得到处理。 以太坊的优缺点Eth以效率换取透明 Naval:为什么所有这些都以这种非常复杂的方式在云中进行?这是非常复杂的。为什么不直接使用普通电脑?为什么不只是发送电子邮件? Vitalik:这创建了非常透明的、公开的规则记录。可以保证我创建的与此应用程序的所有交互都遵循规则。没有演员有后门钥匙。 Naval:它是云中受信任的计算机,我们每个人都可以验证所有活动。我们可以审计所有这些,我们知道没有人作弊。没有其他人动过我的资金。我是转移资金的人,每个人都验证了代码,这正是应该运行的代码。显然为此做出了牺牲,对吧?这不是免费的。 Vitalik:没错。即使是我,作为这个例子中的合约的创建者,也没有能力稍后进去说:“哦,我改变了主意。我要给自己400股。” 一旦我创建并发布它,我就没有比其他任何人更多的特权。该应用程序甚至没有所有者。 所以这很强大,对吧?完全中立,完全透明,可见,按照规则平等对待每一个人。 现在,你为此牺牲了什么?你牺牲的一件大事是效率。 所有这些区块链(包括比特币和以太坊)的工作方式是你拥有这个由数万台计算机组成的网络,每台计算机都有助于验证交易。当我广播此交易时,该交易会发送到网络上的每台计算机,并且网络上的每台计算机都运行该代码。网络上的每台计算机都会对其进行验证。网络上的每台计算机都会处理它。 Naval: 并行计算是,“我把我的代码分成一千台计算机,每台计算机运行千分之一的代码。” 现在我将它发送到一千台计算机,所有一千台计算机都运行我的代码。 Vitalik:确实,这是非常不同的计算。一种直观思考为什么有意义的方法是将文本与音频和视频进行比较。 现在我们正在录制播客,播客有一些音频和一些视频。为了在视频中看到对方,我们之间每秒钟都会有数十万次数据流动。 从技术上讲,那些成千上万的流动是不必要的。如果你愿意,我们可以通过文字对话来完成整个事情。但是我们能够听到对方的声音并看到对方的表情是有好处的。因此,人们使用计算机进行的计算开销已经很大。视频和音频就是很好的例子。 与纯文本一样,Eth简单高效 区块链中发生的事情更类似于文本——比如Naval减 25,Vitalik加 25。这是非常简单、非常高效的东西。 因此,让成千上万的用户甚至数百万用户的活动都通过一台计算机进行验证是完全可行的,因为区块链并不能做所有事情。区块链只是做这个核心业务逻辑,核心业务逻辑其实并没有那么复杂。 只有高价值的交易才能支付区块链 Haseeb:这是因为区块链的限制。这是你在区块链上必须拥有的所有冗余约束的函数。我们只能将“Naval减25,Vitalik加25”放在区块链上。从长远来看,我们的目标是让越来越多的低价值计算也可以在区块链上发生。但现在,出于必要, 只有高价值的交易才能负担得起成本。 Naval:先备份一下,你所做的是在云中构建了一台计算机,一台虚拟计算机,它是由数千或数万台真实计算机拼接而成的,而且那台计算机的效率非常低。它很慢。它会以非常缓慢的速度移动。因此,将其与家用计算机或超级计算机的吞吐量进行比较是无稽之谈。这没抓住重点。 但是任何运行在上面的代码都是非常值得信赖的,而且你知道它没有被黑客入侵。现在你不再需要一个政府,或者你不再需要一个中间人,比如运行Facebook的扎克伯格,告诉你哪些交易是有效的,哪些合同是有效的,哪些程序是有效的,哪些是无效的。 取消“受信任的”第三方 你已经消除了对受信任第三方的需求,并已将其替换为由数千或数万台其他计算机审核、验证和检查的受信任计算机。 技术复杂性来自于扩展。使这台计算机更快;保持安全;创造经济和技术激励措施;那里有一个激励机制,以便人们想要将计算机添加到这个网络;并且还具有使用网络的抑制机制。你必须为此付出代价,否则很容易将其淹没。 交易的表现 这个巨大的装置就是以太坊。当然,人们已经出现并创建了其他智能合约区块链。尽管我们称其为“智能合约”区块链,但它实际上是云中的可信计算机,理论上可以运行任何应用程序——但它会以性能换取安全性,而安全性可以通过去中心化来衡量。 换句话说,没有任何一个实体可以控制计算机。它可以根据代码的安全程度、是否被黑客入侵等来衡量。从中产生了许多微妙而美丽的元素,这些元素并不明显。 我们习惯于将计算机视为,“好吧,Facebook运行一些计算机。这些是由马克扎克伯格和工作人员运行的中央计算机,代码未公开。当然,我无权查看代码。我只是一个用户。我不拥有我的数据。他们拥有数据。它位于该数据库中,我无权访问该数据库以读取或写入它。我必须去 Facebook并要求他们从数据库中读取或写入。” 但是现在你已经创建了一台代码全部开放的计算机。事实上,连数据都是公开的;但有些是加密的,有些不是。任何人都有权查看的一些数据。你实际上需要拥有加密解密密钥才能访问的某些数据。如果拥有适当的权限,任何人都可以从中读取或写入。这是一个令人兴奋的疯狂概念。 它是一个真正的共享数据库,在非常精细的用户级别上没有所有者和权限,用户实际拥有数据。而且,事实上,用户拥有现在由该数据库运行的网络。因此,如果有人在以太坊之上构建下一个Facebook应用程序,他们可以以用户实际拥有该应用程序的方式对其进行设计。 “用数学建造的坚不可摧的城堡” 这是以太坊背后的非凡成就,很难用几句话来概括。我试图做到这一点的一种方法是,“智能合约是由数学构成的城堡,可以相互自由交易。城堡是坚不可摧的。” 加密技术非常强大,可以形成强大的防御,但它们是由数学构成的——非常像你年轻时编写的电子游戏。这些是世界各地任何人以匿名或假名方式组合起来的结构。他们彼此进行自由贸易,每座城堡的主人都在决定与其他人进行什么贸易。 以太坊的局限是延迟和隐私 现在,这显然有很大的局限性。我们已经讨论过这个计算机网络将如何以大约一台计算机的速度移动,至少在我们找到一些扩展和增长的方法之前。该网络的其他限制是什么?你能给我们一些具体的应用,说明它的用途和不使用它的地方吗? Vitalik:除了扩展,另一个重要的性能元素是延迟。 当我发送交易时,我必须等待大约半分钟才能将交易包含在内并得到确认。将来,这将变得更有效率。也许10或12秒很快就会成为现实。但这不是你将实时视频游戏逻辑粘贴到的实时事物。例如,你可以将其用于付款,但你可能不想将其用于比付款需要更实时的事情。 这是一个限制。 另一个限制是透明度属性。这可能是我们可能不得不进入一些密码学的地方之一。基本上,区块链本身是完全透明的,每个人都可以看到正在发生的一切。 如果我们回到这个例子,我们在区块链上发行这家公司的股票,那么当Naval向我发送他的25 股股票时,世界上的每个人都将能够看到这一点。现在,在某些情况下这完全没问题,但在某些情况下你可能需要一些隐私。 这是你经常可以同时获得隐私和安全的领域之一。有这个额外的密码数学。我们不需要深入探讨它,但值得一提的是它的名字。这是“零知识证明”。我描述零知识证明的方式是,它是一种在不透露该信息的情况下证明某条信息的方法。 假设我们将拥有相同的应用程序,即我公司在区块链上的股票。除了记录数字25、50 和 100 的区块链之外,区块链将记录25的加密版本、50的加密版本和100的加密版本。 然后,当Naval将他的25股发送给我时,他会说,“这是我现在拥有的股票数量的加密;这是我将拥有的新股数的加密;这是我给Vitalik的股票数量的加密;然后这是一个神奇的密码证明,表明数字排成一行。它说X加Y等于 Z,我并不想放弃比我实际拥有的更多的东西。” 你可以验证一切是否遵循规则,而无需验证特定事务正在做什么以及使用什么参数。 有一些方法可以拿回隐私 有多种方法可以同时恢复你的安全和隐私。你可以获得多少隐私仍然存在一些限制。例如,即使在这种情况下,人们也可以看到人们何时与这个特定的应用程序进行交互。如果你只使用区块链,你会失去很多隐私。如果你使用区块链加上零知识证明和其他类型的密码学,你通常可以获得很多隐私。 与中心化案例相比,你 可能会获得更多的隐私。在传统的中心化系统中,Facebook运行一切并看到一切。但是有了这些类型的系统,中心就没有人了。天空中有一座数学城堡在验证证明。 Naval:理论上我们可以获得匿名的数字现金。更进一步,我们甚至可以获得匿名智能合约,也许你可以告诉你我与智能合约进行交互,但除此之外的细节会丢失。 Vitalik:不仅仅是理论上。这是已经存在的东西。Zcash已经存在了五年多。 Naval: Zcash是一个围绕零知识证明构建的区块链,其中所有交易、接收者和发送者都可以是匿名的。正如他们所说,真正的“月球数学”。 区块链技术的未来Eth能否同时提供高水平的去中心化和高水平的扩容? Naval:让我们快进到十、二十年后。我知道这在区块链领域真的很长,因为比特币在2009年才出现,而Eth只是在2010年代前半段才出现。但是,假设十年或二十年后,我们已经完成了我们需要的所有硬工程。我们已经建立了我们可以想象的尽可能多的技术。区块链可扩展性和隐私的限制是什么?我们最终会在哪里? 我们最终是否希望每一笔交易都是私密的,或者你认为其中很多都是公开的?你认为我们在几乎所有的云计算中都使用了区块链,还是仅限于金融和高价值领域? Vitalik:值得一提的是,区块链的可扩展性正在迅速提高。今天区块链的工作方式是我发送交易,交易进入网络,网络上的每台计算机都必须验证该交易。 现在已经有扩容技术。再一次,我们不必深究,但是像Rollup和分片这样的技术可以让你以更聪明的方式使用区块链,你仍然有很多非常冗余的计算发生,但它很多更高效。 Naval:有哪些不同的技术? Vitalik:在中心化系统中,你向Facebook发送交易。Facebook有一台电脑。一台计算机对其进行验证。在区块链中,你有100,000台计算机。你发送你的交易。所有100,000台计算机都对其进行验证。 分片导致更多的中心化 分片是:发送你的交易。系统从100,000台计算机中随机选择1,000台计算机。这1,000台计算机对其进行验证,然后交易被接受。不是所有100,000台计算机都在验证,而是只有1,000台计算机在验证。 当你有大量交易被系统接受时,网络中的每台计算机平均只需要验证所有活动的1%。你可以提高效率甚至更高。最终它可以说每台计算机甚至不必验证1%;每台计算机可能只需要验证 0.1%。 想想BitTorrent是如何工作的,BitTorrent也像一个高度分布式的网络。如果你想下载真正流行的电影,通常可以。但是在BitTorrent上,你并没有真正让每台电脑下载每部电影,因为这太疯狂了。 平均而言,电影将有几百个种子机,也许几千个。这个数字足够大,你有冗余,你通常可以得到你想要的内容,但它不是那么冗余,它只会变得疯狂低效。 问题是,你能否创建一个与BitTorrent一样工作的网络——从数据分布和效率的角度来看——但创建的东西仍然具有与区块链相同的验证属性?这就是分片的作用。 分片的缺点之一是它在技术上更加复杂。必须实际进行工作以弄清楚这些事务在节点之间拆分的确切规则是什么,它们如何使它们相互通信,以及如何进行这种分布式验证。 从协议的角度来看,更简单的方法就是说,“我们将要求这个网络中的每个节点都非常强大。” 因此,我们将要求每个节点几乎都是超级计算机,而不是笔记本电脑能够成为节点。如果你这样做,那么你可以使区块链仍然像现在一样工作,但它们可以处理更多的交易。也许他们不能每秒处理50个,而是每秒可以处理1,000个或5,000个。 以扩容为代价的可验证性 这种方法的弱点——以及以太坊不采用这种方法的原因——是它导致了更多的中心化。能够真正验证正在发生的事情的人数减少了。勾结起来以尝试对用户可能不想要的协议进行一些更改需要的人数变得更少。 它仍然比Facebook更加去中心化,但它变得比它可能的去中心化程度要低得多。 也许在某些情况下这是正确的方法。如果你想做一个去中心化的视频游戏,如果它被捕获,人们不会损失数百万或数亿美元,那么这种更集中的方法实际上完全没问题。中间有各种各样的应用程序,这很好。 如果你想要一些高保证的东西,那么你确实想要近距离地创造去中心化——就像最大限度地——而当前的以太坊确实提供了这一点。它确实提供了这种非常高水平的去中心化和高水平的可验证性,但以扩容为代价。 我们试图用分片做的是我们试图说,“你能提供这种高水平的去中心化和高水平的可验证性,同时仍然具有更高水平的可扩展性吗?” |