DFINITY 的 SNS 将在下一个里程碑中上线,这会是 IC 生态系统的关键:SNS 将为 dapp 开发者提供一种可信的 Token 发行方式,并为去中心化运行提供治理模版;同时,SNS 还引入了包含初始 Token 交换的 swap 容器,这将为 dapp 提供冷启动的募资能力,本文试图向社区介绍 SNS 的设计。
原用标题:SNS:dapp 如何实现 token 化与去中心治理?
什么是 SNS?
SNS (服务神经系统 ) 是 IC 系统层的开放 Token 化治理系统,dapp 的开发者可以使用 SNS 发行 Token、募集资金并创建 DAO 来管理 dapp。
SNS 作为 ICP 网络的系统层服务提供,在概念与实现上与 NNS 相似。NNS(网络神经系统)是控制整个互联网计算机的 Token 治理系统,NNS 由 ICP Token 驱动;而每个 SNS 将控制一个 dapp,由该 dapp 发行的特定 Token 驱动。
与网络神经系统 (NNS) 是控制互联网计算机区块链 (IC) 的开放 Token 化治理系统类似,服务神经系统 (SNS) 是允许开发者为他们的 dapps 创建去中心化的基于 Token 的治理系统的算法 DAO。
SNS 构成
SNS 由一组四类容器组成,包括:
- 治理容器:与 NNS 类似,可以质押 SNS Token 创建神经元,使用神经元参与 dapp 的提案与治理。治理容器还控制了国库账户,国库是存放 dapp 资产的地方。通过的提案可以在链上对 dapp 的进行更新、参数修改,或者调用国库资金。
- 账本容器:每个 SNS 都会发行自己的 Token,账本容器独立记录该 Token 交易记录与余额。
- 根容器:用于协调 dapp 的升级,保障 SNS 的仿篡改与安全,是 SNS 的系统底层。
- swap 容器:dapp 在启动 SNS 时,通过接受 ICP 融资并分发 SNS Token 实现初始融资,启动 SNS 的初始 Token 交换后,dapp 将完全去中心化(前后端都被 SNS 控制)。融资的 ICP 会进入国库被治理容器控制
- 其他组件,比如用于奖励给使用者和治理着 Token 的 SNS 奖励模块。
SNS 专用子网
SNS 的早期版本代码已经开源,任何人都可以在 github 中获取代码,并将容器部署到应用子网中,这提供了最大的灵活性。然而,这种方案存在安全性隐患,DFINITY 计划建立一类新的子网,专门用于运行 SNS,将 SNS 的 Token 发行、治理、初始融资作为一个 IC 的原生系统功能提供。
SNS 专用子网的区别在于:
- SNS 子网中只存在 SNS 的容器,其他容器无法部署,避免了外部干扰;
- 相比应用子网有更多的节点,当前 SNS 测试网有 34 个节点,并会逐渐增加;
- 由于更多节点更多,成本更高,SNS 子网的 cycels 手续费比其他应用程序子网更高;
用户如何使用
SNS 的用户互动分为以下几类:
- 参与初始 Token 交换:用户在 SNS 启动期间存入 ICP 为 SNS 提供资金。如果 SNS 启动成功,用户就会收到 SNS Token、质押治理节点作为回报。
- 参与 SNS 治理:通过初始 Token 互换或交易所购买等方式获得 SNS Token 的用户,可以将 Token 质押在神经元中,管理神经元,发出新提案,对提案进行投票,参与治理。
- SNS 转账:已经获得 SNS Token 的用户可以进行转账,比如可以用于支付的 dapp 服务。
开发进度
下一个里程碑 Carbon 中 SNS 会被实现,包括:
- 启用 SNS 专用子网
- 发布正式版代币标准 ICRC-1 与基于 ICRC-1 标准 的账本容器
- 在 NNS 中添加初始 Token 交换的前端页面
- 开放 SNS 的初始 Token 分发功能
- SNS 激励的初始版本
启动一个 SNS
dapp 的治理权可以通过初始 Token 交换进行公平分发,实现去中心化:
- 开发者可以在 SNS 中保留部分的治理权,社区通过初始 Token 交换获得 SNS 神经元参与治理;
- SNS 会持有一些 ICP 初始资金,应该由 SNS 集体治理,用于支付贡献者、gas、激励等等;
- 同时 SNS 也可以通过治理升级 dapp 合约来改进优化或解决 BUG;
为了实现这些目标,我们建议 SNS 的启动要经历以下三个阶段:SNS 初始化、初始 Token 交换、去中心化运行。
SNS 初始化阶段
Token 铸造与分配
开发者初始化一个新的 SNS ,对 SNS 下的 Token 进行分配,如为开发者保留、向 dapp 用户空投、用于初始交换、储备在国库。国库是一个由 SNS 治理容器持有的帐户。
为了确保没有人能在在初始 Token 交换之前或期间修改 SNS 或挪用 SNS Token,SNS 会处于创世前模式,部分功能会被限制。包括开发者预留、空投预留的所有初始 Token 都被锁定在神经元中,等待启动成功后解锁。
开发者也需要定义初始 Token 交换的参数,由于初始状态下 SNS 尚未去中心化,所以 SNS 下的 swap 容器由 NNS 控制。
Dapp 控制权移交
在初始 Token 交换开始之间,开发者需要将 dapp 控制权移交 SNS。由于已经有了初始神经元,dapp 现在可以通过 SNS 提案进行升级。因为 SNS 治理容器仍处于创世前模式,初始神经元不能改变 SNS 参数。dapp 的开发者没有任何额外的特权。
初始 Token 交换阶段
向 NNS 提交申请
初始 Token 交换由 NNS 提案启动。当对一个初始 Token 交换的提案进行投票时,质押了 ICP 的 NNS 治理者应该考虑交换参数是否有意义,最重要的是 dapp 的控制权是否已经移交给 SNS。因此,NNS 的提案作为一种保护措施,在恶意的 SNS 欺骗用户之前,借助 ICP 社区的智慧检验它们。
如果 NNS 提案被采纳,初始 Token 交换将由 NNS 启动。如果 NNS 提案被拒绝,SNS 的启动就会中止,dapp 的控制权就会交还给开发者。
开始交换
当初始 Token 交换开始时,swap 容器中保存着初始化时指定的 SNS Token 数量。用户可以将 ICP Token 转移到 swap 容器中,参与初始 Token 交换。
去中心化运行阶段
SNS 正式启用
当交换结束时,首先要检查软硬顶与最小参与人数,确定交换是否成功。如果交换成功,按照初始化设定汇率,将所有 Token 锁定在 SNS 神经元中,交给参与者,并在三个月后全部解锁。
如果交换不成功,则去中心化尝试失败。因此,一切都将恢复到 SNS 启动前的状态,dapp 控制权将交还给开发者,所有收集到的 ICP 将退还给参与者。
对 dapp 进行治理
一旦所有的神经元都被创造出来,SNS 就处于去中心化的控制之下,治理容器就会发挥作用。SNS 会持有一些 ICP 初始资金,并在国库中持有未分配的 SNS Token,这些资金由 SNS 集体治理,用于支付贡献者、gas、激励等等。
SNS 初始 Token 交换
在 dapp 去中化的进程中,开发者可以将 dapp 的控制权或所有权通过 token 的形式分发给社区,实现这一步需要:
- 将 dapp 的控制权成功地从开发者手中移交给了 SNS 管理的 DAO;
- 创建 Token 并分发给 SSNS DAO 的成员;
- 筹集资金以支持项目的持续发展;
- 分配是公平且透明的。
SNS 的目的是通过一种开发者接受成本低、简单易用的方式实现上述的需求。启动 SNS 的关键在于如何分发新创建的 Token,以及如何将它们质押到 SNS 的神经元中,以确保适当的去中心化。
为此 DFINITY 为 SNS 系统设计了初始 Token 交换,参与者可以用 ICP 交换 SNS 下发行的 Token,为 dapp 提供资金。
引入 swap 容器
SNS 是由一系列互相配合的容器组成,初始 Token 交互的功能由一个新引入的 swap 容器实现。每个 SNS 都包含一个单独的 swap 容器,只在 SNS 的启动期间存在。
以下是 sawp 容器的工作流程:
- swap 容器在一开始需要设置制定数量的 SNS Token 用于初始交换分发。
- 在交换期间,参与者可以向 swap 容器发送 ICP。
- 在初始交换结束时,收集的 ICP 被 “swap” 为 SNS Token。参与的用户根据比例获得对应 SNS Token,SNS 系统获得 ICP。
- 初始交换的兑换比例设施类似于基于自动市场制造商(AMM)的去中心化交易所,由发起者进行设置,两个 Token 池的价值相等。
- 如果初始 token 交换在截止日期前达到 ICP 软顶,将为每个参与者创建 SNS 神经元;如果初始 token 交换失败,比如没有达到 ICP 软顶或最小参与人数,所有收集到的 ICP Token 将被退回交换参与者。
- SNS Token 将在神经元中锁定,在三个月的溶解延迟(dissolve delay)后分发社区。这将为 dapp 留出足够的时间,在第一批 SNS Token 流通之前启动业务与市场。
初始 token 交换参数
开发者可以自定于下列参数,来每个 token 交换。
- ICP 硬顶:收集 ICP 的最大数量,如果达到数量就结束。
- ICP 的软顶:初始交换成功所需要收集的 ICP 的最小数量。
- 截止日期:如果已收集到的 ICP 已经到达硬顶,初始 token 交换会提前结束。
- 最小参与者数:初始交换成功所需要的最小交换参与者数量。
- 参与者的 ICP 限额: 每个参与者可以交换的最小/最大 ICP 数量。
SNS 控制下的国库
国库是 SNS 控制下的一组帐户,用于保存资产,是 dapp 的资金来源。初始 Token 交换中筹集的 ICP 也将保存在国库中。
之前控制 dapp 的开发者已经将控制权移交 SNS 为代表的社区,更无法私自调用国库内的 ICP 与 SNS Token。国库资产的转移需要 SNS 治理的批准,社区通过质押 SNS 产出神经元参与治理,社区甚至提案退回在初始 Token 交换中收集的所有 ICP。
治理可以将部分国库资产授权出去,实现某些业务的自动化,比如自动分发用户的 SNS Token 激励,或者将 ICP 注入其 SNS Token 的流动性。
SNS 前端设计
理想状态下,用户会积极参与初始 Token 交换,以及随后的治理过程。而用户的参与取决于系统的易用性。因此 DFINITY 尝试给用户提供一个友好的 SNS 前端来降低使用门槛。
DFINITY 计划在 NNS 前端 dapp 中为用户提供了一个 SNS 的入口,并提供一套 UI/UX 设计范式供开发者参考。为了让社区能更直观地理解 SNS 的能力,DFINITY 将首先实现初始 Token 交换的前端,然后再是 SNS 治理与 token 转账的前端组建。
NNS 的前端 dapp 将包含一个新的 Launch Pad 视图,这与加密用户常使用的 IDO、IEO 平台类似。右侧视图显示了一个初始 Token 交换活动的详细概述,包括 Token 名称、用户可以贡献的 ICP 的最小和最大金额、募集 ICP 的软顶与硬顶、截止日期,用户确认信息后可以点击参与。
免责声明:作为区块链信息平台,本站所发布文章仅代表作者及嘉宾个人观点,与 Web3Caff 立场无关。本文内容仅用于信息分享,均不构成任何投资建议及要约,并请您遵守所在国家或地区的相关法律法规。