想象一下,设计一个通用的AMM,但不使用一个特定的代币标准,这将是非常非常困难的。
原文来源:Youtube
原文标题:TokenDesign: Mental Models, Capabilities, and Emerging Design Spaces with Eddy Lazzarin
视频作者:Eddy Lazzarin,a16z Crypto
编译:倩雯,ChainCatcher
Eddy Lazzarin 是加密货币团队的工程主管,本次视频涵盖众多话题,他提出了很多人在考虑设计代币时,会碰到的常见陷阱,以及可能的解决方案。他认为代币设计是一个真正的早期领域,实际上应该被称为是协议设计,因为代币不是你要做的东西,你真正要做的是协议。
代币是一个非常有趣、有用、强大的新型工具,它改变了协议的设计方式和可以实现的结果,但代币并不是设计的核心对象。现在的协议设计更像是“炼金术”而一门学科,因为设计者的理解远远没有达到全面或科学的程度,大多数项目仍然需要大量实验。
本次内容分为三部分,首先是代币设计中常见的思维模式,然后是代币分类,更具体地谈谈代币到底是什么以及我们如何思考开发和增强它们的能力。最后是科技树理论,如何利用科技使我们的设计更容易成功。
首先,代币是为协议服务的,它们只是一种工具,只是设计过程的一部分,它们不应该是目标。如果你想做去中心化的东西,那么代币可能是其中的一部分,因为它可以很好地让人们拥有对协议的所有权,也可以让人们保持一致。
设计的三个阶段
我在与投资组合公司的接触中,从成功的设计过程中总结了三个阶段。
第一个阶段:定义目标。一个目标是对一个有效协议结果的简明描述,它应该是明确无误的,即它是否已通过具体的设计进行实现。所以对成功与失败,我们应该有一个非常明确的划分。如果不清楚我们的目标是什么,我们就需要重头开始,先忘记代币。理想情况下,目标是可衡量的,即使我们还不确定如何衡量成功。
第二阶段:引入限制。一般来说有两种限制,一种是内源性的限制,另一种是外源性的限制:内源性的限制是我们为简化设计过程而选择的限制,因为需要做一些取舍,或者它们本身就是取舍。比如可以选择限制我们喜欢的有趣特点。我曾看过Subset game团队的讲座,他们设计了几个非常酷的游戏,如《陷阵之志》和《超越光速》,他们就提到在限制条件下进行设计。我向任何设计协议的人推荐这个讲座。他们选择限制时,考虑的只是什么在游戏中是有趣的。内源性的限制可以来自很多方面,但通常由设计者本身决定。外源性限制是由自然界、技术状况、法规和各种事物强加给你的。我后续会详谈。
第三阶段:设计机制。一旦我们有了限制和目标,我们就可以明确地思考能够满足这一目标的机制。现在每当我们考虑一个机制的时候,应该真正清楚它是否违反了这些限制条件,是否让我们更接近这个目标。一个协议将是一系列机制,都是根据一些限制条件向一个特定的目标推动。
以MakerDOA为例。他们的目标是开发一个稳定的以太坊原生资产,当然,稳定和原生又有多种解释。他们的限制是价格与美元挂钩;完全由原生的链上资产支持等。
常见的陷阱
(1)过度重视代币。我已经稍微提到了这一点,但如果你总是考虑奖励或代币分配,而不是如何在你的系统中保持参与者之间的一致性,你可能不是在考虑协议,而是在考虑代币。代币不是协议,代币不应该是你的目标。它应该只是一个工具。
如何走出这个陷阱?问问自己:如果没有代币,这个系统如何运作?如果把代币完全去掉后,系统完全失败,那么你可能过分强调了代币的作用。如果系统的几个关键部分失败了,那么情况比前者好一些,你的代币确实很重要,对整体上的平衡很有必要,但没有它系统仍然是连贯完整的。所以,你应该还是回到系统的目标上进行思考。
(2)设计空间不设限。在设计中,你有太多想法,太多的可能性,你甚至不知道从哪里开始,因为有那么多的事情可以做。这通常因为目标不明确,所以要细化目标。也可能是因为你对外界给你的限制缺乏了解,或者你还没有接受这些限制。
如果你把这些限制带进来,你会发现设计空间会缩小,而且会变得更加清晰。有两个问题对限制设计空间很有帮助,那就是问自己:你想建立的强大概念是什么?它可能是一些深度想法、一些优势、一些时代潮流的变化等,问自己这个强大的概念是什么?你如何才能最大限度地利用它,专注于它,而不是先考虑整个系统。另一个问题是:这个设计的最大弱点是什么?什么东西让你彻夜难眠,它是你认为可能行不通的点、你担心的点、关键的弱点,以及你能接受什么限制来改善它?这可以大大限制设计空间。
(3)总让社区兜底。在设计系统的某些部分时遇到了挑战,把他们都推给社区解决,或者期待看不见的力量来填补空缺,总是你期待人找到问题并解决它,这是非常冒险的。尽管无权限系统很流行,带来很多惊人的创新发生,但你无法预料社区的动作,你也不应该期望他们会解决你系统中最明显的问题。
有几个关键问题你应该问自己,我们对社区的真正期望是什么,我们给他们的是什么呢?不是问我们给他们的代币足够多吗?而是问,我们给了他们什么权力?给了他们什么能力?他们有什么所有权?他们是否被赋予了足够的权力来平衡这种责任?
如果你真的期望他们能修复一个东西,如果你期望其他有野心的人来增加一些有趣的拓展功能,或修复系统的一些组件,那你要先问自己,你会在这里建造吗?如果你不会,因为它没有足够的上升空间、足够的力量或足够的灵活性,那就更不用指望别人了。
这不是完整的列表,我一直在与团队成员讨论这个问题,我相信我们很快就会进行修改,但这只是为了列举我们迄今为止看到的代币所表现出的所有能力。
代币是协议中的一种工具,它们是一种工具和协议,更抽象地说,它们是一种数据结构。那么,我们是如何看到这种数据结构被用于不同的协议中的呢?可以它们分成非常普遍的五类:支付、投票、利益相关、元数据和所有权(Claiming),我相信随着时间的推移,每一类都会有更多的解决方法,这种分组至少对我来说感觉是比较直观的。
支付
支付功能又分为三类,首先是作为社区或项目的内部货币。我们还没有看到太多类似这种的情况,但有一些例子。例如,SourceCred是一个有趣的例子,FWB可能正朝着这个方向发展。它与传统的支付方式如美元支付不同,因为它存在于特定的社区内,该社区对该货币有控制权,他们可以对该内部货币使用货币政策等手段,比如这种货币应该是稳定的,应该与其他一些特定资产的价值挂钩,也许他们根据具体的、全社区的目标来铸造或燃烧它。
第二,可能是最常用的和最容易理解的使用加密货币支付方式,是作为一种网络资源,以太坊和比特币也属于这个范畴。你为算力、储存或其他一些加密货币网络资源进行付费。我们有EIP1559、质押、流动性等来确定代币如何被用来在系统内计算不同的资源,特别是计算资源。
第三种支付代币是作为类似游戏币存在。比如游戏、资源或一些协议资源需要处于稳定,需要被定价,因为你要是使用系统,而这些资源是稳定的,所以代币价格也需要是相对稳定的。它是否供应稳定并不重要,因为你使用它只是为了实现应用程序的特定部分。
那么稳定币该放在哪里呢?当然,一个稳定币可以作为上述三种方式进行支付。但使稳定币成为稳定币的原因是其背后稳定它的机制,所以稳定币一般属于所有权这一列。
所有权
一般有两种所有权,链上型(存款)和链下型(所有权)。存款代币表示对其他代币有所有权,一个例子是uniswap LP代币,在V2是erc20,在V3是NFT。从Maker协议出来的稳定币Dai也是链上存款,因为你或金库持有者用它来索取他们的基础抵押品。所以存款代币指的是,在非链上环境下可以使用它来索取其他代币。
第二种代币代表一些链外资产的所有权,所以这可能是像现实世界的资产代币、房地产代币或类似的东西。我们还没有看到大量这样的例子。一个更现代的例子是现在所谓的可赎回物,代币可以对实物进行兑换。比如用NFT与艺术品进行交换,这个NFT代表对院子的所有权。如果你愿意,甚至还有一些有趣的交易。你可以用实物来控制NFT,通过一些数字功能如芯片,对后续NFT的所有权进行控制。
投票
使用投票可以资助项目、分配资源,也就是作为团体进行支付或转账,也可以进行软件升级。也可以把它作为一个社会共识的措施,比如选择一个领导者决定一个项目的未来计划。
质押
代币可以设计成通过智能合约有权获得回报,这里并没有法律协议,但该机制的运作意味着代币将从某种链上活动中受益。一个例子是Maker,如果Maker运作良好,Maker众多的代币持有者做好他们的工作,系统正常运行,那么他们将从一些回报中受益,这是智能合约的方式,是协议的设计方式,以奖励社区的良好管理。
你也可以使代币作为法律协议的结果,使你有权获得回报。你可以制造一种代币,代表一家公司的股权部分或股权份额,当然会有各种法律要求和限制。曾经有一段时间,有一些人理论上认为可以创造安全代币,虽然我们还没有看到实质更多案例。
代币也用来为换取回报而进行风险承保。Maker就使用该原理,如果Maker协议中出现亏损,就会产生更多的Maker代币,这就稀释了Maker持有者持有的价值。通过持有Maker代币,持有人持有一些风险,这也是驱动Maker持有人推进社区建设的部分原因。如果他们想看到他们的投资增值,他们就需要支持这个系统发展。
元数据
首先,代币代表成员资格,决定你是否可以访问一个特定的空间,你是否在一个特定的社区,或者你是否在一些团体中。协议或一些第三方编写的工具可以以任何方式利用这种成员属性,这是无权限的,举例来说,一些NFT社区可以决定只有持有代币的人才能加入,比如为持有这个代币的人提供特定的功能等。成员资格是一个有趣的元数据类型,由代币提供。
代币也代表信誉。有些人在讨论信誉是否应该转让,我个人认为它可能不应该。但它可能在某些情况下是同质化的,在其他情况下是非同质化的。如果指的是你的成就,那可能是非同质化的;如果指的是信息来源、信用或不同类型的信用评分系统,它可能同质化的。这是一连续的数据,所以是一种元数据。
代币也代表身份或参考。Ens是这方面的一个例子,ENS名称可以指向地址,可以更新,这与DNS系统不一样。
链外数据可以是一种元数据。一个例子是链外kyc或某种可验证的证书。另一个很好的例子是文凭或学术资格。有人把这证书交给你,然后公开可见、可追溯、有真实性。我们还没有看到太多案例在链上表示权限和能力。比如一些实体明确授予你权限,如调用一个函数、改变一段代码的能力或在链上转移一些东西。甚至可以把代币作为接口,我们已经看到了这样的例子,在代币URI中不仅可以放SVG数据,你还可以把整个HTML网页放在其中,你甚至可以放一点JavaScript。你可以在nft中放置一个接口,对接口进行控制,也可以把接口嵌入到人们拥有和转让的对象中。
一个有趣的例子是BEEP3R,你先用文本铸成一个NFT,然后你可以通过拥有它来向其他BEEP3R持有者广播文本。这些文本被显示在BEEP3R的小图像上。当你有一个BEEP3R机时,你也可以直接给其他BEEP3R机持有者发送信息,就像单独使用xmtb一样。
那么这个代币的功能是什么?这是一个成员身份代币,有这个代币,你就可以接收消息。任何能够正确表示动画URL的钱包界面只要支持这种标准,都可以显示你收到的任何消息。
这也是一个身份代币,因为作为一个BP持有者,你可以接收和发送信息。所以这个东西只发生在那个集合里。这也是身份代币,因为他们用你BP的代币ID给你发消息。同时它也作为一个接口存在,可以查看与该NFT有关的信息。
三、科技树理论
我们可以看到,有些领域目前已经大有发展,比如代币作为支付手段和网络资源,而有些领域还尚未有成型的发展,比如接口、元数据等。那么为什么是这样的呢?我没有一个完整的答案,但我认为这可能与科技树有关,当然这个科技树还远远没有完成。
我的问题是,为什么一些产品在某些时段出现,为什么某些产品出现的时间比其他的要长?以借贷协议为例,如果没有稳定币,很难想象借贷协议能运作。这是因为当你在借贷协议中借出债务时,你想用稳定的资产来表示它,因为这个资产的价格你可以预测,所以我们需要稳定币,然后才能真正有借贷协议。
同样的,我们也有需要AMM的借贷协议,因为如果你想使用借贷协议进行杠杆,特别是早期简单的借贷协议,你需要能借入资产,比如是稳定币。如果你想非常迅速地用该稳定币换取该资产,你想有更多的风险敞口,那你就需要AMM。直到我们有正常运作的AMM和稳定币,才有了借贷协议的发展。
但如何获得正常运作的AMM和稳定币?如果没有一个可互操作的代币标准,就很难做到这一点,因为稳定币、AMM和它们周围的所有系统,需要了解其他项目如何与它们进行对接。而要想有erc20代币,你需要完全可编程的智能合约。你可能实际并不需要它们,但这就是它们第一次在以太坊上出现的方式,因为以太坊是在没有erc20代币标准的情况下推出的。我们需要完全可编程性,以便能够留下足够开放的设计空间,当然这一点可以进一步讨论。但总之,我认为存在技术树,某些技术是其他技术的前提条件。
这里有两个问题:什么是解锁未来的应用和协议的关键技术?也就是我们需要哪些技术来开发有用的信誉系统或去中心化和无信任的界面?而第二个问题有点像第一个问题反过来,哪些应用和协议将被即将到来的技术所解锁?
例如,账户抽象化、EIP4844、垂直树、零知识机器学习等。这些问题之所以有趣,是因为如果我们能预见到特定科技的到来,而技术可以减轻或引入设计限制,那么这将如何改变我们的设计?如果特定的技术可以减轻限制,我们应该花精力去开发它们吗?
如果把事情看成是一棵科技树,它可能会帮助我们推理出即将到来的东西或你所需的东西,以达到你想要的一套限制。因此,把它与我最初的限制点联系起来,我认为新技术减轻了我们以前面临的限制。比如,如果没有erc20标准,那么对任何AMM或稳定币设计的限制将是,它要么需要引入一个标准,要么能够应对各种不同的设计。
想象一下,设计一个通用的AMM,但不使用一个特定的代币标准,这将是非常非常困难的。我认为这将是一个几乎不可逾越的限制,但有了互操作性标准意味着,我们可以直接支持erc20代币,这限制了设计空间,使之有可能实现。
如果我们能预计未来会出现哪些技术,这对我们的协议设计的限制会有什么影响?如果我们有具体的目标,或者有具体的限制条件,那我们需要的技术是什么?技术这将能够缓解这些限制,并通过新的机制使这些目标再次成为可能。