从创建到托管的代币发行操作指南。
相关阅读:《a16z:规避代币发行「陷阱」的五大准则》
撰文:Adina Fischer、Matt Gleason、Justin Simcock,a16z
编译:Luffy,Foresight News
当你想要推出代币时,你需要从运营角度思考几个步骤。如果你与受美国证券交易委员会 (SEC) 监管的任何利益相关者合作,这一点更为适用。这篇文章的目的是列出协议发币所需的后勤工作,确保协议安全性,并使受 SEC 监管的实体能够满足合规性要求。
推出代币时首先要知道的是,它需要时间和团队合作。这个过程涉及多个利益相关者:协议开发者、第三方托管人、质押服务提供商、投资者、员工等。在准备创建和托管新的加密资产时,所有利益相关者都必须达成共识。因此,必须了解每一步流程并分配足够的时间。
请注意,下面的一组指导方针仅适用于当前的市场情况。随着市场的变化、新产品的出现以及监管环境的发展,最佳实践也可能会不断发展。与此同时,这些指南可以成为协议开发人员在准备代币发布时参考的有用资源。
出于监管原因,某些利益相关者可能无法托管代币,除非得到满足某些要求的第三方托管人的支持,这些要求可能包括在州或联邦当局注册并接受监管,将保护加密资产作为其常规业务,并接受定期财务、运营、安全报告和审计。
值得注意的是,并非所有托管人都是合适的。如果你的协议有大量投资者通过质押或治理来帮助维护网络安全,则必须提前几个月与高质量的第三方托管人合作,以便获得托管支持。如果你不确定托管人质量标准,请要求你的投资者澄清他们的需求。不要假设任何托管人从一开始就有能力处理你的代币。
尽早开始与托管人对话。高质量的托管人可能需要大约六到九个月甚至更长时间来支持新的 Layer 1 区块链。更复杂的协议(例如使用 SNARK、具有隐私功能或与 Layer 2 网络交互的协议)可能需要更长的时间。与此同时,基于以太坊构建的代币(例如 ERC-20 和 NFT)或基于 Solana 构建的代币(例如 SPL 代币)则更加简单,并且可以花费更少的时间,例如三到五个月。请注意,这些时间表只是粗略估计,可能会根据托管人的要求而有很大差异。 如果你的协议在第一天就需要进行质押和治理,那么预计方案将需要更多时间,所以请尽早提醒合作伙伴。(有关支持质押和治理的更多信息,请参阅准则五。)此外,还要考虑到利益相关者需要对任何托管人、质押提供商或其他第三方供应商进行尽职调查,包括评估其信息安全和运营安全实践。
为了避免代币启动期间或之后出现意外问题,你编写的与代币相关的所有代码都应进行彻底审查。这通常采用代码审计的形式,在项目开发过程中部分执行或在开发结束时一次性执行。审核应由具有审核类似产品经验的审核者执行,重点关注代码滥用或软件安全问题。选择审计员是一项艰巨的任务,因为目前没有管理机构对审计员进行认证。因此,你有责任进行尽职调查,以确保审计员具有足够的资格。在考察审计公司的资质时,你应该问自己以下问题:
审计员是否有可以提供给潜在客户明确定义的测试方法?
该方法是否解决了正在审查的协议的主要问题?
该方法是否包括使用行业标准技术和工具来检测软件漏洞?
审计员是否有类似项目的审核经验?
审计员审查后的项目是否遭受过重大安全漏洞?如果是,漏洞是否是审计员审查的代码的一部分?
这些问题的答案应阐明审计员是否准备好并有能力以在软件启动之前对你的协议进行审查,并检测和解决错误。
在委托审计并收到审计员的初步报告后,你需要解决所有严重问题(高度严重性的问题,通常也包括中等严重性的问题),并有选择地解决不太紧迫、较低严重性的问题。对于你选择不解决的任何问题,你应该提供理由。解决了初始报告中的问题后,再请审计员验证补救工作的完整性。 成功验证所报告问题的解决方案后,应创建一份最终报告并与协议源代码一起公开发布,或者提供给接收或处理代币的所有各方。
在与高质量托管人和其他利益相关者协调制定时间表并进行安全审计后,是时候开始考虑分配和交付代币了。
协议开发人员可以通过以下两种方式之一分配代币:在代币启动之前或之后(也称为代币生成事件 TGE)。许多利益相关者更愿意在启动之前收到代币分配。换句话说,他们更喜欢将钱包地址嵌入到创世区块(创世区块是区块链创建时的第一个区块)中,但这绝不是一个要求。发布后分配的代币可以分批交付给利益相关者,其中每批分发代币供应总量的一定百分比。
当需要分发代币时,请记住你要发送代币的地址、要分发到的钱包数量,信任但验证地址。受 SEC 监管的利益相关者(例如 RIA)可能会要求将代币直接交付给其托管人。利益相关者可以选择拥有任意数量的钱包。这使他们能够最大限度地减少任何给定钱包中代币的集中度,从而分散风险,这种操作的部分原因是保险政策,包括每个钱包或每个账户都有最高限额。在分发代币之前,请务必发送测试交易并验证接收,因为这可以减少交付错误的可能性。
总之,协议开发人员应该问自己:
利益相关者何时会收到资产(例如,协议启动前或启动后)?
利益相关者会要求将代币发送到哪里以及每个利益相关者有多少个钱包?
利益相关者会立即还是分批收到所有代币?
代币锁定是证明对项目长期成功的信念以及协调利益相关者长期利益的最佳机制之一。代币锁定可以在不同的时间段确定,可能远远早于其他代币考虑因素;例如,在种子轮中签署代币认购协议时。 最佳做法是让所有内部人士(员工、投资者、顾问、合作伙伴等)遵守相同的代币归属和锁定期。如果内部人士有不同的锁定期,或者这些锁定的执行情况不明确,那么这可能会无意中产生不可预测的激励,一些内部人士可能会尝试先发制人地出售代币。这可能会造成对协议的不信任,并产生负面影响。每个参与人员的代币解锁都应该按照相似的时间表,并且该时间表应该引导每个人朝着项目的长期成功迈进。 (请注意,这些考虑因素不应阻止用户在区块链网络或应用程序中使用代币。)
一旦你决定了归属期和锁定期(代币发行后至少一年时间),你可以选择由第三方托管人、以编程方式或综合两种方式来分配代币。理想情况下,许多利益相关者会寻求让托管人接收代币,并从法律和技术的角度执行锁定和归属时间表。还有其他选项,包括通过经审计的智能合约或其他第三方代币归属工具索取代币。
此阶段的关键问题是:
所有利益相关者是否都受到相同的锁定期和归属期的约束?
托管人是否执行锁定条款?
解锁的代币如何按照归属时间表进行分配?
正如第一个指南中提到的,如果你需要利益相关者参与质押和治理来保护你的协议,那么你可能需要提前与托管人协调。协议开发人员不应假设托管人默认支持其代币的质押和治理。托管人需要时间(通常是几个月)来支持质押和治理。 如果你的协议依赖于利益相关者进行质押或治理,那么你可能需要问自己以下问题。
质押问题:
托管人是否会允许任意委托给质押提供商,或者托管人是否会预先选择一组提供商? (与该协议并在测试网阶段提供反馈的质押提供商合作可能会有所帮助。)
如果托管人预先选择了一组质押提供商,这将如何影响网络的安全性和协议的去中心化? (选择在全球各地拥有验证器的质押提供商可以帮助增强协议的去中心化。)
奖励是否会复投,或者利益相关者是否需要重新质押? (理想情况下,奖励是自动重新质押的,而不是手动操作。)
每个钱包的质押金额是否有最低 / 最高限额?
验证器节点是否有代币限额,并且是否会随着时间的推移而改变?
治理问题:
如果你希望利益相关者参与治理,托管人是否会在技术上支持这种治理参与,还是会代表利益相关者执行投票?
协议是否会进行链上或链下(例如通过快照)投票?
回顾一下,如果你准备推出代币,并且该计划涉及到受 SEC 监管的利益相关者,请确保为高质量的托管人留出足够的时间来为你的协议提供支持。预计开发时间会因托管机构而异,并取决于协议的复杂性。对于更标准的代币(如以太坊 ERC-20 或 Solana SPL),开发时间可能为三到五个月,对于新区块链则为九个月,对于涉及 SNARK、隐私功能或与 Layer 2 网络交互可能时间更长。尽早开始与托管人交流。
确定时间表后,为下一步做好准备。你可以通过在启动前将钱包嵌入创世区块来分配代币,也可以在启动后分批分发代币。无论哪种方式,所有利益相关者都应遵守相同的代币锁定期和归属时间表,以确保一致性。然后,进行任何必要的审核和安全评估。最后,研究协议的质押和治理细节,托管人和其他利益相关者需要了解这些细节并做好准备,以帮助确保协议安全性。
如果你遵循这些步骤,你将能够很好地完成代币发行所需的后勤工作。