Time:2023-05-31 Click:95
原文标题:Protocol design: Why and how
原文作者:Eddy Lazzarin
原文编译:Sissi
导读:
a16z 以其深度文章在加密领域树立了指导行业发展的重要地位,为我们提供了认知提升和转变所需的指引。近期,a16z 一直关注超越代币经济的议题。首先是关于"代币设计"的演讲,随后发表了《Tokenology:超越代币经济学》一文,现在又推出了备受关注的"协议设计"课程。作为该课程的主讲者,a16z crypto 的 CTO Eddy Lazzarin 反复强调,超越代币经济的关键在于协议设计,而代币设计只是辅助手段。在这个专注于协议设计的课程中,他进行了长达一个小时以上的分享,为创业者们带来了宝贵的见解和启示,帮助他们深入理解协议设计在项目成功中的关键作用。本文为翻译精简版。更多精彩内容,可见翻译全文版链接。
互联网是一个协议网络,包含各种不同类型的协议。有些协议简洁明了,如 HTTP 的状态图,而其他协议则相当复杂,如 Maker 协议的交互图。下图展示了各种协议,包括互联网协议、物理协议和政治协议等。在下图的左边,我们看到了一个街道交叉口的互动图,这让我们感到熟悉且有趣。
这些协议的共同点在于它们都是形式化的交互系统,能够促进复杂的群体行为,这是协议的核心组成部分。互联网协议的强大之处在于它不仅能够连接人与人之间的交互,还能够与软件进行交互。我们知道,软件具有高度适应性和高效性,能够整合各种机制。因此,互联网协议可以说是我们最重要、甚至是最重要的协议类型之一。
在以下图表中,横轴代表协议的去中心化和中心化程度,即对协议控制权的程度。在纵轴上,有协议的经济模型,具体指的是该经济模型是明确还是未明确的。这个区别可能看起来微妙,但它具有重要的影响。
Web1:去中心化 & 无明确经济模型
Web1 时期的协议(如 NNTP、IRC、SMTP 和 RSS)在价值流向、所有权、访问权限和支付机制等方面保持中立,没有明确的经济模型。其中,Usenet 是一个类似于现今 Reddit 的协议,用于交换帖子和文件。IRC 是早期广泛使用的聊天协议,SMTP 和 RSS 则用于电子邮件和内容订阅。
Usenet 是一个按分类组织的平台,允许用户在特定分类的子服务器上发布相关内容。它是早期互联网文化的重要组成部分,存在于 HTTP 之外。使用 Usenet 需要特定的客户端和支持 Usenet 的互联网服务提供商(ISP)。Usenet 分布在大量不断变化的新闻服务器上,任何人都可以运行这些服务器,帖子会自动转发到其他服务器,形成一个去中心化的系统。虽然用户很少直接为 Usenet 访问付费,但在 2000 年代后期,一些人开始为商业 Usenet 服务器付费。总体而言,Usenet 缺乏明确的协议经济模型,使用者必须通过自己的交易方式使用它。
这些 Web1 协议在架构上相似,源自相同的价值观。即使对协议不太了解,我们仍能理解它们的工作原理,这显示了 Web1 协议易读性和清晰模板的重要性。然而,这些协议随着时间推移逐渐面临失败或变化。失败的原因可以归结为两个方面:一是缺乏特定功能,无法与 Web2 竞争对手相抗衡;二是在获取资金方面遇到困难。最终,协议能否采取去中心化的方式并开发可持续的经济模型来整合特定功能决定了其成功与否。综上,Web1 协议可归类为去中心化且缺乏明确经济模型的类型。
Web2 :中心化 & 明确的经济模型
Web2 带来了一种有趣的趋势:Reddit 取代了 Usenet 等论坛,WhatsApp 和 iMessage 等中心化消息系统取代了 IRC 等论坛。尽管电子邮件仍存在,但面临垃圾邮件问题的挑战。此外,RSS 在与 Twitter 的竞争中表现不佳。Web2 解决了 Web1 协议的局限性,提供了特定功能。电子邮件和其他去中心化协议无法验证消息合法性、发送者身份、权限和经济关系,因此处理垃圾邮件成为问题。在不成熟的去中心化系统中,缺乏这些功能使得中心化竞争者通过提供独特功能超越了它们的前辈。
Web2 协议完全由所有者控制,仅受商业策略和法律限制。为了推动 Web1 协议的发展,需要更明确的经济模型。然而,在保持去中心化的前提下实现明确的经济模型是不可能的,除非利用去中心化的共识、可验证计算和加密技术工具。协议通常从设计空间的左下角向右上角过渡。有时,协议会变得事实上集中化,如电子邮件。由中心化电子邮件服务提供商处理超过 50% 的电子邮件,导致电子邮件变得高度中心化。电子邮件面临垃圾邮件问题、缺乏经济模型、DNS 注册成本分摊和高切换成本等压力。
在没有可行的经济模型的情况下,电子邮件只能作为大型科技公司的附带项目可持续发展。减少垃圾邮件的方法依赖于规模经济和数据结合,托管数百万电子邮件帐户的公司更容易检测异常。此外,切换成本也是一个重要因素。现在,我们需要认识到两个关键的中心化力量,它们影响协议的不同组成部分,在协议设计过程中,它们会在每一个转折点不断地发挥作用,它们是网络效应和切换成本。
网络效应是指随着系统规模的扩大和广泛使用,权力也会积聚的现象。切换成本则是指用户离开当前系统并转向其他系统所需的经济、认知或时间成本。在电子邮件的例子中,切换成本对于使用 Gmail 的用户来说至关重要。如果你使用 Gmail 但没有自己的域名,那么切换成本将会很高。然而,如果你拥有自己的域名,你就可以自由地切换邮件服务提供商,并继续使用任何服务提供商来接收邮件。一家公司可以通过协议设计来增加切换成本,强制或鼓励用户使用特定组件,从而减少用户转向其他供应商的可能性。
以 Reddit 为例,这是一个允许版主单方面控制子论坛的系统,这使得去中心化与中心化之间的界限变得模糊。尽管允许任何人成为版主可能被视为一种去中心化,但如果最终权力仍然集中在管理员手中(例如 Reddit 团队),它们仍然是完全中心化的系统。高质量的用户体验与中心化力量无关,但提供高质量的用户体验通常需要资金支持。在Web1 时代,由于缺乏资金,去中心化的协议往往无法提供良好的用户体验。资金支持在提供高质量用户体验方面扮演着重要的角色。
Web3: 去中心化 & 明确的经济模型
像在 Twitter、Facebook、Instagram 或 TikTok 这样的 Web2 平台上,限制了用户选择,使其受制于平台的界面决定。然而,Web3 引入的去中心化组件将如何改变协议呢?利用加密和区块链技术可以减少对信任的依赖,同时明确经济学原理并支持去中心化。Web3 提供了开放性、互操作性和开源的特点,具备明确的经济模型,并能在协议中整合资金以实现可持续发展,避免将所有价值垄断化。
作为开发者,选择在去中心化且具备明确经济模型的系统上进行建设是最佳选择。这样可以确保系统的持续存在,并了解与之相关的经济关系,而不必让经济关系发展在协议之外。在稳定性和价值捕获方面,需要以不同的方式进行考虑。选择在去中心化系统上进行建设非常重要,因为这样可以避免潜在的风险,并建立一个持久且有潜力成为最大系统的项目。
互联网建设已经不再被视为疯狂的行为,因为互联网本身是一个完全去中心化的系统。同样,使用开源编程语言和依赖 Web 浏览器也成为构建雄心勃勃项目的可靠基础。在中心化系统上进行建设可能会受到限制,无法扩大项目的规模和范围。Web3 吸引了优秀的开发者,他们可以构建更大、更具野心的项目。其他系统或平台可能会出现,并与现有的 Web2 平台展开竞争,符合法规并具备竞争优势,与 Web2 平台进行激烈竞争。
Web2 网络的最大问题在于其脆弱性和过度优化的商业模式。这些网络追求特定指标的优化,而忽视与其目标无关的事物,导致缺乏创新和对新产品的开发。虽然它们具有强大的网络效应,但还不足于形成垄断,那么一旦遇到针对其弱点的对策,它们就很容易受到危险。
相比之下,Web3 通过去中心化和明确的经济模型,提供了更具弹性和创新能力的空间。类似于丰富多样的雨林生态系统,Web3 系统建立了适合各种有趣事物发展的基础设施和协议,为创新提供了更肥沃的土壤。通过利用加密货币和代币经济模型,可以确保参与者的创造力和冒险精神得到回报,进一步推动系统的发展。
因此,Web3 具备更好的生态系统可持续性和创新潜力,而不是仅仅依赖经济资源的堆积。明确的经济模型和去中心化特点使得 Web3 能够在真正意义上实现创新和发展,远离过度优化和单一领域集中积累的困境。通过引入加密技术和代币经济模型,Web3 为参与者提供了更大的创造空间和回报机制,推动系统向着更有价值和持久的方向发展。
先开始介绍个有趣的示例,“Stable Horde”是一个生成图像的免费系统,也是一个 Web2 的协议。它使用协作层功能,允许用户请求其他愿意帮助的人来生成图像。客户端通过提交任务到工作队列,工作者进行推理处理并将结果发送到结果存储,客户端可以从中检索结果并支付 Kudos 分数给工作者。在 Stable Horde 中,Kudos 是免费积分系统,用于优先处理任务。然而,由于计算资源捐赠的限制,队列越长,生成图像时间越长。
我们面临一个有趣的问题:如何扩展这个系统,使其更大、更专业一些,同时保持开放性和互操作性,又能避免中心化破坏项目最初精神的风险。一种建议是将 Kudos 分数转换为 ERC 20 代币并记录在区块链上。然而,简单地添加区块链可能会引发一系列问题,如虚假结果攻击等。
让我们重新思考协议设计过程。应该始终从一个明确的目标开始,然后考虑约束条件,最后确定机制。设计系统时需要衡量目标并确定有效的机制。约束条件有内生和外生形式,通过限制设计空间,可以更明确地确定机制。机制是协议的实质内容,如清算、定价、质押、激励、支付和验证等。设计应符合约束条件并满足明确的目标。
让我们继续讨论一个名为 "Unstable Confusion" 的全新 Web3 协议。在接下来的内容中,我们将概述一些有趣的方向,这些方向是在将现有的 Web2 协议 "Stable Horde" 转换为 Web3 协议 "Unstable Confusion" 的背景下提出的。
在前面提到过,存在发送虚假结果的问题,因此需要一种机制来确保用户获取他们所需的内容,这就是所谓的"验证推理"。简单来说,我们需要对推理进行验证,以确保其结果符合预期。另一个问题涉及到 "Stable Horde" 中的工作者。工作者按照请求的顺序向数据库请求下一个任务,并将任务分配给最早发出请求的工作者。但在涉及金钱的系统中,工作者可能会为了获取更多报酬而大量申领任务,但实际上并不打算完成这些任务。他们可能会竞争低延迟,抢夺任务,导致系统拥堵。
为解决以上问题,提出了一些解决方案。首先是"按贡献比例支付",即工作者根据他们的贡献获得相应的报酬,以一种对网络有益的方式来竞争任务。其次是"灵活参与",即工作者能够以较低的成本自由加入或退出系统,吸引更多的参与者。最后是"低延迟",即应用程序的响应速度和快捷性对于用户体验至关重要。回到我们的目标,是建立一个去中心化、互操作的图像生成市场。虽然我们还有一些关键限制条件,但可以随后添加、修改或更加具体的细节。现在,我们可以评估不同机制的可行性。
潜在机制设计
1.验证机制
我们可以采用博弈论和密码学等方法来确保推理的准确性。博弈论机制可以用于争议解决系统,用户可以升级争议,由特定角色进行仲裁。连续或抽样审计是另一种方法,通过审查工作者的工作,确保任务分配给不同的工作者,并记录通过审计的工作者。密码学中的零知识证明可以生成高效的证明,验证推理的正确性。传统方法包括可信的第三方机构和用户评价,但存在中心化风险和网络效应问题。
其他可能的验证机制包括让多个工作者完成同一任务,然后用户从结果中选择。这可能需要较高的成本,但如果成本足够低廉,可以考虑实施这种方法。
2.定价策略
关于定价策略,可以在链上建立一个订单簿。也可以使用链上验证的计算资源代理度量,比如 gas 。这种方法不同于简单的自由市场,其中用户只需发布愿意支付的推理费用,工作者可以接受,或者他们可以出价争夺任务。相反,用户可以创建一个类似 gas 的代理度量,其中特定的推理需要一定数量的计算资源,计算资源的数量直接决定价格。通过这种方式,可以简化整个机制的运作。
另外,还可以使用链下的订单簿,它的运行成本较低且可能非常高效。然而,问题在于,拥有该订单簿的人可能会将网络效应集中在自己身上。
3.存储机制
存储机制非常重要,确保工作结果能够正确传递给用户,但难以减少信任风险并证明工作是否正确交付。用户可能会质疑物品是否已经交付,类似于抱怨未收到预期商品。审计员可能需要验证计算过程并检查输出结果的准确性。因此,输出结果应对协议可见并存储在协议能够访问的地方。
在存储机制方面,我们有几种选择。一种是将数据存储在链上,但这很昂贵。另一种选择是使用专门的存储加密网络,虽然更复杂,但可以尝试以点对点方式解决问题。另外,还可以选择将数据存储在链外,但这会引发其他问题,因为控制该存储系统的人可能会影响验证过程和最终支付的传输等其他方面。
4.任务分配策略
任务的分配方式也需要考虑,这是一个相对复杂的领域。可以考虑工作者在任务提交后自行选择任务,或者协议在任务提交后分配任务,还可以让用户或最终用户选择具体的工作者。每种方式都有优缺点,还可以考虑协议决定哪些工作者可以请求哪些任务的组合方式。
任务分配涉及许多有趣的细节。例如,在基于协议的系统中,需要知道工作者是否在线和可用,才能决定是否将任务分配给它。还需要了解每个工作者的能力和负载情况。因此,在协议中需要考虑各种额外因素,最初的简单实现可能没有包含这些因素。
可能导致中心化风险的 7 个关键设计要素
其中包括电子邮件引入的命名空间、支付系统、声誉以及存储、匹配、定价系统和验证系统。这些要素可能会受到网络效应或高切换成本的影响而变得中心化。通过减轻网络效应的累积、将网络效应引导到协议中,并在协议中建立去中心化控制层来管理协议,以确保系统的长期健康。可以利用波动性的代币或其他治理设计,如声誉系统或轮换选举机制来实现去中心化控制。
降低切换成本和促进互操作性
为了鼓励创业者在系统上构建应用,降低切换成本和促进不同系统之间的互操作性非常重要。避免引入高昂的切换成本,减少对链下订单簿或第三方验证系统的过度依赖。
利用 Web3 技术创建去中心化系统
利用Web3工具和原则来设计系统,给予创业者更多权力并避免过度中心化。拥抱Web3原则的协议通常具有更大的规模、更长的寿命和更为充盈的生态系统活力,为超越现有最大公司设定的边界提供肥沃的创新探索领域。
深入研究和选择最佳解决方案
在设计协议和确定策略时,需要深入研究各个方面。对于验证方面,密码学解决方案通常是最佳选择。在定价方面,使用链上验证的计算资源代理度量可以适应各种不同的推理或机器学习任务。在任务分配方面,采用实时更新工作者能力和状态的协议,公平地分配任务并允许工作者自主选择是否接受任务。存储问题可以考虑使用原型分片技术等解决方案,在短暂的时间窗口内解决问题,并采用临时存储方式。
在设计去中心化系统时,以上要点考虑可以帮助构建具有长期稳健性和去中心化特性的系统。