# WNS 开发对称会议 ## 长期关注议题 - [ ] wns合约重要功能和特性列举: - 域名限定字符集,排除零宽字符等不安全字符 - 可参考.bit现在使用的字符集 - 小萌:仅使用英文字母和数字 - tp:把字符集变成可配置项 - adu: .web3 顶级域仅支持英文字母和数字,次级域名由用户合约自行配置 - 域名注册支持跨链发送消息给wns链上合约或地址所在原生公链合约 - 用户注册手续费需收集到`Treasury`合约并向用户和`DAO`分红 - 交易版税:域名nft在二次市场交易时收取一定比例的版税 - 域名保留库 - 合理的设置最低续费期限: - tp:现在ens支持最低续费期限为28天,但是有90天的保护期,最低续费期限应高于90天 - 小萌:还是按照传统域名最低续费一年? - 域名nft metadata应该是一个随机生成的图像的ascii编码 - tp: metadata是一个ipfs的链接即可,可节省手续费 - 分批释放保留库域名,参考.bit,需要对保留库的域名有更加细粒度的控制 - [ ] wns合约开发里程碑 - [ ] 2022-12-31 - [ ] 各个模块合约功能开发完毕 - [ ] 合约集成 - [ ] 部署在本地的测试网 - [ ] 单元测试,集成测试,simulation - [ ] 长沙团建 ## 2023-03-06 - wns 架构 - 跨链did - native did module - 存储domain name metadata - owner, resolver, ttl等 - 支持多级索引 - 点差:如adu.web3 - 范围查询和迭代:如所有以.web3为后缀的域名的查询和迭代 - key和value的序列化: - key: suffix hash + label - value: metadata {owner, resolver ,ttl}, proto3序列化方法 - 维护domain name唯一性 - tld 的注册,续费等逻辑 - 跨链逻辑 - gravity-bridge - IBC - evm 和 native did module的互操作性: - stateful precompiles: https://github.com/evmos/ethermint/pull/1131 - evm hooks: - 现有的ethermint已经支持 - 实现较简单 - 收取did发行年费: - 定制化收取年费 vs 固定收取年费: - [Track] 固定费用 + 竞拍? - 固定费用不能价格发现 - 竞拍对于did发行商没有保障,可以根域到期后竞拍 - [Track] link:和azuki等nft ip的合作 - NFT社区合作方案:punk社区为例发行.punk(0.punk-9999.punk)0号nft持有人link可注册link.0.punk 交易给Tim Tim可注册Tim.0.punk (拥有过punk的凭证 ) - tim:早期简单逻辑 + 后续升级 - 有限的根域 vs 无限的根域 - [Track] Tim:对did发行商的收益收取一定版税到社区金库 - smart contracts(ethereum等) - 域名治理 - native did module + gov module - 实现顶级域的投票注册等 ## 2023-02-13 - 技术团队现状和规划 - 现状 - [ ] mvp第一阶段测试 - [x] 运维工具:https://github.com/wns-lab/pystarport - [ ] 集成测试脚本: - 参考 https://github.com/crypto-org-chain/cronos/tree/main/integration_tests - [ ] gravity-bridge 和合约的对接 - 合约测试: - [ ] hardhat框架 - [ ] 写成测试脚本 - 技术路线图: - 实现一个前端可交互的mvp,包含我们承诺的核心特性,如跨链注册,其他did同步到witness等 - did的发行,注册 - 发行.web3并且开始用户邀请内测 - .web3的公开测试 - witness公开 - 技术团队角色和分工: - 公链开发:adu,link - 合约开发:tp - 测试:adu,link,tp兼任 - 运维:adu,link,tp兼任 - 技术团队资源: - 云服务器或者租vps服务器 - 从成本等角度考虑 ## 2023-02-08 - Q&A - 这条链是服务多个DID还是主打自己的DID? - 怎么看未来did发展局势?是集中还是分散 - 跨链的具体架构和意义?用户将nft资产跨链是否那么刚需?(对于DID来说跨链的意义是什么?) - 小萌:从用户角度 跨链的意义在于降低了注册门槛 他不需要对应链的代币就能注册 ,也增加了二级市场的流动性,从生态角度来看 是保证全链的共识统一,不会出现在不同链上一个did对应的是不同的人 - 项目到什么阶段?(技术和生态的合作) - 除了顶级域名不冲突以外,我们认为DID间最基本的共识还有哪些? - 小萌:DID未来和社交和在web3的信用凭证一定是强相关的,这就涉及到跨链操作性,整合全链数据,跨链,就是DID的第二大共识 - 怎么解决公链的流动性 - 对于在witness上发行的顶级域名及次级域名,是否可以收取类似版税这样的费用,可能是相对于web2的一个创新点,以及收益模型 - bp里需要补充跨链等方面的技术架构的内容 ## 2023-02-06 - MVP 进度 - 基础框架搭建完毕,可编译运行,进入测试,迭代阶段 - 小萌:从MVP到最终成品的时间,人力等资源的安排 - 最快需要1-2两个月时间上线测试网,并公开试运营 - adu: 跨链注册以及did同步功能上线之后就可以开始试运营 - Tim: - 先部署测试网,并在测试网上进行测试 - 功能迭代在测试网上发布 - link, tp: - link熟悉main分支最新代码,并基于main分支做功能迭代开发 - tp测试合约功能,并与adu或者link对接完成gravity-bridge集成 - BP,官网进度 - 小萌:今晚最终版BP分享 - 小萌:官网已经搭建好了,解决证书问题 - Q&A - [x] 代码是开源的 现在也有公链有自己的原生did 为什么选择witness公链发行did,和在cosmos上面发行did有什么不同 - 首先大部分公链上的原生did如ens, spaceid, aptname等一般来说不具备真实的跨链转移和互操作的能力,往往局限于某个区块链生态,也不兼容其他公链发行的did,他们可以为专属于该生态的应用提供服务,但无法兼顾大部分的web3使用场景 - cosmos生态里的公链大多是应用链,也就是说一条链就是一个应用,如果没有虚拟机的支持开发者很难在这条公链上发行did服务,即使是拥有虚拟机的应用链,如使用CosmWasm虚拟机的Osmosis,也将会因为和EVM不兼容导致开发者迁移成本很高,而少数兼容EVM的cosmos应用链如Evmos,Canto以及Cronos等,他们的现有的公链模块也不是服务于did产品,导致did发行商需要自己造轮子,并且局限于EVM的效率和成本问题,很难开发出能够落地的跨链did产品。其次这些did产品即使能够发布也很难兼容其他did产品,更别提多个did的治理了。本质上这些问题都是由于缺少公链层面的基础设施的支持,局限于EVM或其他虚拟机低下的效能和昂贵的成本。 - Witness是第一条cosmos did生态链,兼容EVM,熟悉solidity等语言的开发者可以很方便的将did应用迁移到Witness,开发成本低。其次Witness特有的基于IBC协议,gravity-bridge以及其他模块开发出的nameservice模块可以提供方便,廉价而且快速的基础的跨链DNS架构,同时我们将通过stateful precompiles技术打通EVM应用和公链基础设施的联系,充分为did应用赋能,而这既是其他公链的应用无法享受到的,也是cosmos生态现有的EVM兼容链所未能实现的。另外作为did生态链,我们将钱包应用,did服务以及社区用户这三者结合起来,形成完善的did治理机制,打通了从did发行商到终端应用,再到社区用户这一链条,让Witness上的did应用一旦获得承认就获得了来自应用场景和社区用户的共识,既服务于已发行的did应用,也服务于将来发行的did应用。最后Witness上的did应用可以流畅的兼容Witness平台上的其他did应用,让各个did应用真正的互通,为钱包等应用提供一站式的解析服务。 - Witness是cosmos生态第一条原生支持账户抽象相关标准的公链,不仅能够兼容多链公私钥账户交互,还能让did应用轻松实现用户使用任意token支付费用,甚至是手续费代付,或者自动定期扣款账户,社交恢复账户,免私钥密码登录账户等新一代的智能合约账户。让did应用能够开发出真正易用,功能丰富且兼顾用户自我主权的新一代did产品。 - [x] 什么是Witness - Witness基于cosmos技术栈的,兼容EVM的一条did生态链。为did开发者提供did开发基础设施,为钱包应用,did应用和社区用户提供生态治理。 - [x] 为什么已经实现跨链的DID项目需要同步到WNS,同步的花费由谁承担? - tp: 其他did应用同步到Witness上的的花费由did项目方承担 - 主动同步其他did到Witness上兼容开发的成本较高,较复杂,而且需要cpu,存储等资源的支持,费用应该由项目方来承担 - 对于ENS这样的有巨大知名度的did我们可以主动同步到Witness上,获取社区支持,费用由节点承担 - 小萌: - 我们主动要同步过来的did由节点承担费用 - 其他did由项目方承担费用 - 旧的did项目同步到witness相当于在witness发行did - [x] 如果发行did要经过社区投票治理,不是间接增加了发行商的发行成本,为什么发行商不自己选择别的公链发行 - 小萌: - 发行的成本约等于市场运营的成本,在witness上发行能够精准的获取did社区用户,同时还获取了witness上的钱包应用的支持 - [x] DID发行商在WNS上发行的利益如何分配?大概发行成本是多少? - 顶级域由did发行商控制,所有收益由did发行商所有 - 顶级域需要每年交年费,年费由链上或者其他方式治理 - did发行商越早在witness上注册顶级域,注册提案通过的可能性越高,话费越小,随着社区的壮大和有价值的顶级域逐年减少,越往后did发行商注册顶级域的成本越高,可能的年费也会越高 - [x] WNS能够为DID发行商提供多大程度的技术架构,有多少可拓展性和定制化选项? - witness能够在常见的did的基础功能上为did提供真实的跨链流动性和跨链操作 - 域名拥有者可以控制该域名下所有的次级域名,包括注册,收益等 - did应用可完全定制域名的注册发行,收费等逻辑,Witness只提供了基础设施 - [x] 对于DID发行商的未来发展是否存在限制,例如上架钱包,修改规则等? - 所有规则都基于开源开放的原则,规则的更改需要经过链上的投票治理 - witness上的did已经发行默认获得钱包应用和社区用户的支持,但是钱包应用和社区用户仍然有权利拒绝支持该did应用 - [x] 钱包如何参与DID的共同治理,不同体量的钱包的治理权限如何划分? - adu: - 钱包可以通过持有wns成为验证节点,并参与到投票 - 小萌: - 除了钱包之外,社交平台对did的需求更高,如nostr - web3信用平台,信用评级 - 钱包转账对id不敏感,社交用户对id更敏感 - [x] 接入WNS的钱包有哪些收益?(原本接入did会有他们自己的收入) - 钱包作为验证节点享受出块收益和手续费收益 - 钱包作为大额票仓,在提案投票过程中可以享受到较大利益 - 钱包仍然可以与did应用商议额外的对接花费 - [x] 对于钱包合作的DID技术,是否有限制 - 没有限制 - [x] 为什么钱包选择与Witness合作而不是直接选择共识度高的DID合作? - 选择witness就选择了很多原生跨链的did - 钱包可以享受到生态发展,治理的收益 - witness聚集了did生态的共识,钱包可以享受到更大的流量 - [x] Witness是通过什么方式实现接入钱包后能在该钱包中显示和解析DID? - 钱包等应用可以通过在前端调用sdk获取解析结果, - 也可以将交易打包发送到链上后调用解析合约获取解析结果。 ## 2023-01-31 - WNS 和 .bit 对比我们的区别和优势 - 小萌: - 弱化我们在技术方面东西,和.bit是完全不同的项目,我们是公链,.bit是did应用 - 强调我们是公链平台 - 强调我们链上的应用和.bit的不同 - .web3和.bit的区别 - .web3的域名NFT天然具有跨链流动性 - witness可以解决后缀冲突的问题 - Tim: -[Track](Creating note...) 其他did项目同步到witness的花费由谁承担 - .bit 怎么解决跨链流动性 -[Track] 怎么解决公链的流动性 - 讲清楚.web3 - 可能最大的客户不是.bit, 而是通过降低发行did发行门槛吸引来的did发行商 - 小萌:解决后缀冲突还是需要治理 - adu: 投票 - tp: 拍卖竞价 - 小萌:ICANN解决顶级域名的治理,结合投票和拍卖 - Tim: 不具备运营能力发行的域名可能会遭遇浪费,而且很难转移拥有者 - 如何吸引到强运营能力的团队发行顶级域名 - 投票的早鸟用户获得域名运营拍卖的收益奖励 - adu:witness把钱包等应用加入到生态的治理中,钱包可以投票决定要支持的did,did投票通过后也意味着获得了钱包等应用的支持,把did发行商,钱包和社区用户这三个重要的角色结合在一起。 - Tim:重要的是获取钱包等的支持 - 把wns和.web3分开谈 - web3域名的使用 - fomo:先到先得 - 社交属性 - 身份标识 - Tim: 总结成文档,和现有的did对比,弱化技术背景 - .web3: cosmos最大的did服务,不容错过 - witness: - 服务于.bit,但目前还没有进驻 - 服务于新的did发行商 - 投资witness就相当于投资后续的新的did发行商,拿到did生态的门票,投资witness就相当于投资了web3时代的ICANN - 创始团队将保持对witness的影响力 - 激起投资人的fomo情绪 - 小萌:版税等持续收入 -[Track] Tim: 对于在witness上发行的顶级域名及次级域名,是否可以收取类似版税这样的费用,可能是相对于web2的一个创新点,以及收益模型 ## 2023-01-16 - [PR #3](https://github.com/wns-lab/wns-chain/pull/3/files) review - 技术难点: - ens: 钱包节点获取的ens解析记录有可能落后于最新区块 - tp: 转移时将解析记录置为空 - wns:跨链同步状态,两点链上的状态不一致的窗口期 - 教授: - 应用观察两条链上的状态,只有当两边状态一致的时解析记录才有效 - 第三种状态不能从根本上解决问题,还是需要应用来杜绝作恶 - link:关系到使用场景,用特殊状态标记:冻结,并提醒用户 - adu: 考虑是否需要增加第三种状态:冻结 - 市场和商务下一步计划 - 小萌: - 节后去和项目方接洽谈合作 - 出去之前基本工作完成: - 官网bp - mvp可运行 - github开源 - 项目背景资料分享给大家 - 教授: - 可介绍媒体方面 coinlive的工作人员 ## 2023-01-09 - wns [#PR 3](https://github.com/wns-lab/wns-chain/pull/3/files) - 重构nameservice兼容cosmos-sdk v0.46 - 定义proto文件 - 利用proto生成基本数据类型和grpc service - 集成gravity module - 集成gov module - link: 字符集验证patch push到link/wns-V0.0.1分支,adu基于此分支继续工作 ## 2022-12-28 - nameservice 迭代: - 存储状态: - node -> record(resolver, owner, ttl) - 可设计二级索引:node -> chainID -> record - 字符集校验,在msg.ValidateBasic中设置:link - gravity-bridge模块集成:adu - x/gov简单的集成:adu - evm,precomfiles:尽量推进 - 合约: - 需要依赖evm和precompiles: - 先熟悉研究,后续再推进:tp - 如果短时间内precompile不成熟,现有nameservice已有注册功能 ## 2022-12-12 - review 合约代码和wns-chain代码 - review nameservice 代码: - 还需要msgServer, queryServer, keeper - 周五review nameserver代码 - review 合约代码 - 已基本完成编译和调试 - 上周工作进度 - link:完成mini mvp:nameservice - tp:合约代码的编译,调试测试功能 - adu:参与gravity-bridge风险模型评估:需要注意跨链的tokenmapping的管理,私钥使用kms管理,wns-chain使用cronos代码仓库 - 本周工作安排 - link: - 周五一起review nameservice代码,并且把app跑起来 - tp: - 择日review合约代码 - 准备registrar合约 - adu: - 定义proto文件并生成数据结构 ## 2022-12-05 - review pr: https://github.com/wns-lab/wns-chain/pull/2/files - 本周工作安排: - adu: 探讨gravity-bridge 集成,x/gov 域名治理集成 - link:完成wnskeeper和message server - tp: witness链上需要有分配.web3域名的registrar合约和相应的价格预言机 ## 2022-11-28 - wns-mvp 的路线图和里程碑 - https://hackmd.io/iOkOBVfpR5ukFub5bujiAQ - 同步上周工作内容和当前工作内容 - adu: 新提交一个pr初始化`x/wns`的类型和数据结构:https://github.com/wns-lab/wns-chain/pull/2 - tp: 集成gravity,权限控制,删除不需要的功能 - link:mini-mvp 模版和了解ethermint ## 2022-11-14 - 本周周五共同review合约代码,结束第一阶段合约代码开发 - gravity -> controller -> registrar -> registry ## 2022-11-21 - 合约开发经验: - 剥离了erc721和erc1155模块,保留registry和resolver,控制器以及gravity。控制器控制注册流程,控制器由gravity直接控制 - tp: 收尾工作和单元测试 - mvp开发 - 路线图和里程碑 - adu:输出路线图和里程碑,知道mvp包含的特性 - cosmos端开发 - fork ethermint - module 开发 - 测试 - mini版mvp - link:输出方案 - gravity集成 ## 2022-11-07 - [ ] 合约开发进度和细节同步 - gravity 集成:https://github.com/wns-lab/wns-contracts/pull/12/files - 控制器合约,注册商合约(ERC721), 注册局合约 - 2022-11-17 合约部分基本完毕,有一些简单的单元测试 ## 2022-10-31 - [x] 合约架构调整 - WNSRegistry 继承 ENSRegistry - WNSRegistrar 继承 ERC721, IBaseRegistrar, Ownable - WNSRegistrarController 继承IETHRegistrarController, Gravity(某个实现跨链功能的合约,delegatecall方便升级) - PublicResolver? - ERC4377现在还在研究阶段,后面再考虑实现 ## 2022-10-24 - [ ] 合约开发经验总结 - 要在`controller`合约做控制,包括是否为保留域名,是否为合法字符,包括ERC1155封装等 - 继承`ENSRegistrarController`合约?tp:重写控制器合约。 - `ENSRegistry`,`PublicResolver`合约可以继承后override相关函数。 - 保留库合约可以设置解锁全部保留域名的期限,tp: 可以硬编码到合约里 - controller合约可以继承保留库合约:避免额外部署保留库合约 - 设计好合约的状态变量,以及变量的可见性,以及合约方法的可见性 - 尽量通过集成openzeppelin的库合约的方式实现功能特性 - 保留库域名名单什么时候确定? - 小萌:分批释放保留库域名,参考.bit,需要对保留库的域名有更加细粒度的控制 - 上线时确定 - 保留库的拍卖功能: - 小萌:拍卖成功后所属权鉴权 - tp:拍卖的时候提交地址确保谁出钱谁拥有 - [track] 拍卖功能:链上链下? - [track] ens的价格拍卖功能怎么实现的? ## 2022-10-17 - [x] 讨论wns合约开发roadmap: - 根据产品需求通过修改或添加合约实现相应的功能特性:https://github.com/wns-lab/wns-contracts/issues/7 - deadline: 2022-11-17 - wns合约集成测试 - 可能的wns合约重构和测试 ## 2022-10-10 - [x] wns合约线上协作开发工具和流程 - 开发工作内容包括代码和文档等,开发组通过github进行协作开发,开发人员需通过提交github pull request的方式提交工作内容,参与review,并最终merge到wns的合约开发仓库:https://github.com/wns-lab/wns-contracts - 开发进度通过github issue, milestone等管理 - hackmd以及google doc用于线上文档协作,可共同编辑,评论等,技术文档推荐使用hackmd,方便使用markdown并同步到github - 每周一次的技术同步会议,可通过线上google meet等方式或线下进行 - [x] 基金会头像 - [x] 已有素材,挑选完毕即可使用