a16z:避免代币设计缺陷的 7 点建议
编译:Katie 辜,Odaily
代币是一种强大的新原语,可以用多种方式定义。代币设计空间非常丰富,但我们仍处于探索的早期阶段。
代币设计中最大的问题是在明确目标之前如何构建复杂的代币模型。第一步应该是确定目标,并确保整个团队能够完全理解:它是什么,它为什么重要,你真正想要完成什么?未能严格定义目标通常会导致重新设计和浪费时间。明确目标还有助于避免“为设计代币经济而捏造出一个代币经济”的问题,这是某些代币经济设计的常见现象。
设计一个代币模型的游戏,该模型可实现最佳可扩展性和支持建模。
一个DeFi协议希望设计一个代币模型,在参与者之间合理分配风险。
设计一个担保金钱的信誉协议不能直接替代信誉(例如,通过将流动性与信誉信号分离)。
设计一个能够保证文件在低延迟情况下可用的存储网络。
设计一个能够提供最大经济安全性的质押网络。
设计一个能够引出真正用户偏好或最大参与度的治理机制。
这样的例子不胜枚举。让代币可以支持任何用例和达到任何目标,而不是反其道而行。
让我们以EIP-1559为例。Roughgarden 对 EIP-1559的一个明确目标表述:“EIP-1559应该在需求快速增长的时期之外,以‘明显的最佳出价’的形式,通过简单的费用估算来改善用户体验。”
这两个例子的共同点是陈述了一个高层次的目标,提供一个相关的类比来帮助其他人理解你的目标,然后继续勾勒出最能支持这一目标的设计方案。
在创造新事物时,从已有的东西下手研究是一个好主意。当你评估现有协议和现有文献时,应根据其技术优点对其进行客观评估。
明确表达你的假设。当你专注于构建代币时,很容易将基本假设视为理所当然。也很容易错误地表达你真正做出的假设。
但是,如果协议和代币设计者没有明确表达他们的假设,或者他们表达的假设是错误的。那么意识到这种不匹配的参与者就有可能从协议中提取价值。黑客通常是那些比最初构建系统的人更了解系统的人。
有句话说:“不是你不知道的事情让你陷入困境。而是你确信的事情并非如此。”
代币设计者可以通过多种方式验证他们的假设。严格的统计建模,通常以基于代理的模型的形式,可以帮助测试这些假设。关于用户行为的假设通常也可以通过与用户交谈来验证,更好是通过观察人们实际做了什么(而不是说他们做了什么)来验证。这样成功验证的可能性较高,尤其是通过在沙盒环境中产生经验结果的激励测试网络。正式的验证或密集的审计也将有助于确保代码库按预期的方式运行。
“抽象障碍”(abstraction barrier)是系统或协议的不同层次之间的界面。它用于分离系统的不同组件,允许独立地设计、实现和修改每个组件。清晰的抽象障碍在所有工程领域,尤其是软件设计领域都是有用的,但是对于去中心化开发和大型团队构建个体无法理解的复杂系统来说更是必要的。
举个例子,许多区块链都是由大型工程团队构建的。一个团队可能会对一段时间内的硬件成本进行假设,并用它来确定有多少矿工以给定的代币价格为区块链贡献硬件。如果另一个团队依赖代币价格作为参数,但不知道第一个团队对硬件成本的假设,他们很容易做出相互矛盾的假设。
不透明的假设和界面偶尔会导致模糊的Bug,特别是在早期的DeFi协议中。模糊的抽象障碍还增加了处理协议不同组件的团队之间所需的通信效率,从而延长了开发时间。模糊的抽象障碍也增加了协议的复杂性,使得很难完全理解其机制。
外部参数不是系统固有的,但会影响整体性能和成败,例如在代币模型的创建初期的计算资源的成本、交易量或延迟。
或者再举一个例子,去中心化网络通常依赖于加密算法或计算难题,这些难题解决难度大,但并非不可能解决。难度通常取决于一个外生变量,比如计算机计算哈希函数或零知识证明的速度有多快。比如有一个协议,它假设计算给定哈希函数的速度有多快,并相应地支付代币奖励。如果有人发明了一种更快地计算哈希函数的新方法,或者只是拥有与他们在系统中的实际工作不成比例的超大资源来解决问题,他们就可以获得意想不到的巨额代币奖励。
设计一个代币应该像设计一个对抗系统一样。用户的行为将随着代币工作方式的改变而改变。
记住不要让辛苦的工作白费,每当项目更改其代币模型时,都要重新验证它是否按预期运行。
声明:本站所有内容,如无特殊说明或标注,均为采集网络资源,任何内容均不构成投资建议。