DAS 对于加密世界来说就像手机号码对于互联网一样。
一、背景
随着比特币的出现,人类第一次真正实现了私有财产的不可侵犯。 更深层次上,它启发了人们从去中心化的角度重新审视和重构世界。 既然我们的货币可以完全掌握在自己手里,那么我们的数据也可以,我们的身份也可以吗? 答案是肯定的。
去中心化身份是 Web 3.0 的关键组成部分。 许多团队已经在尝试构建去中心化身份,但这些尝试仍然存在很多问题。 这些尝试包括:
公链地址
从某种角度来说,公链地址是一种去中心化的身份。 它可以随意创建,是独一无二的,并且是抗审查的。 但其可读性较差且不可移植。
.eth, .
名称 ,是一个运行在以太坊上的Dapp。 旨在将区块链地址、文件哈希等映射到人类可读的域名中。 我们可以将其视为比公链地址对人类更加友好的去中心化身份。 但只能运行在特定的公链上。 例如,BTC地址不能持有.eth域名。 它的定位是域名,不能跨链使用,这使得它不是最理想的去中心化身份解决方案。
W3C 确实
W3C 的去中心化身份工作组也在积极起草去中心化身份的标准。 标准很复杂并且几乎没有产品支持。 面对快速迭代的领域,先制定标准再实施是很困难的。 历史上的标准就是这样的情况。 有些参考W3C DID开发的产品实际上没有人使用。
,
它是一条公链,其目标是实现去中心化的顶级域名管理,即去中心化。 人们可以注册自己的域名,域名可以与各种信息相关联,这也是一种身份。
它也是一条公链,定位为去中心化应用开发平台,内置去中心化身份。
此类身份解决方案的问题在于,它不是纯粹的身份协议,而是混合了其他与身份无关的功能。 它与现有公链不兼容,架构复杂,难以普及和扩展。
作为Web3.0的基础组件,去中心化身份协议应该是轻量级的、高度兼容的、可组合的、易于集成的、易于扩展的。
2.DAS概述
去中心化账户系统DAS()正是这样一个去中心化身份系统。 其基本单位是DAS账户。 总体而言,DAS账户具有以下特点:
1. 易于阅读和拼写。 例如.bit、Bob.bit、.bit。
2. 去中心化和抗审查。 任何人都可以在未经许可的情况下匿名创建,并由用户拥有完全的所有权和控制权。
3.全球独一无二。 每个帐户都是唯一的,不能创建同名的 DAS 帐户。
4.跨链。 构建在高度可扩展的公链 CKB 之上,任何公链无需修改,天然兼容 DAS。 这就是DAS的最大特点! 技术原理请参考《附录1:BTC如何寻址控制CKB上的资产》
5.重量轻,易于集成。 DAS是一个去中心化的应用程序,而不是一个公链。 包含多种编程语言的SDK,采用模块化设计,易于集成。
6、使用门槛低。 虽然 DAS 是基于 CKB 构建的,但用户在使用时不需要提前安装 CKB 钱包,不需要有 CKB 地址,也不需要使用 CKB 支付手续费。 在使用过程中,用户不知道DAS运行在哪条公链上。
所有 DAS 帐户均以 .bit 结尾,具有分层结构,并且是唯一的。 典型的 DAS 帐户的格式为 .bit、.bob.bit。 每个DAS账户都包含以下基本抽象结构:
,DAS账户的最终所有者,可以转让账户和设置账户的管理员。
,DAS账户的管理员可以管理该账户的子账户等。
,DAS 帐户的解析记录数组。 解析记录是一系列由用户或应用程序定义的键值对。 各种分析记录构成了一个身份的完整描述。 记录只能由管理人员做,不能由管理人员做。
通常是一个或多个公钥。 当是多个公钥时,意味着角色的功能可以通过某种多重签名来实现。
3. 一些使用场景
虽然 DAS 在账户抽象结构上与 ENS 类似,但 DAS 并不是 ENS 的改进版本。 DAS 的目标是成为一个去中心化的身份协议,而不仅仅是一个域名系统。 从DAS的角度来看,域名只是一种特殊的身份,身份协议本身的应用场景远远大于域名协议。 不是每个人都需要域名,但每个人都应该至少拥有一个去中心化身份。
以下是 DAS 使用场景的一些示例。 需要注意的是,当我们拥有稳定可靠的去中心化身份协议时,其衍生的使用场景远不止下面列出的这些。
DAS账户作为统一的数字资产归集账户
如果.bit解析记录如上图所示。 用户准备发送比特币。 在支持DAS的应用中,用户只需在支付地址中填写.bit,钱包即可自动解析其BTC地址。 如果您准备发送以太坊,则在支付地址中填写.bit,钱包会自动将其ETH地址解析为30。这样就省去了用户复制粘贴支付地址的麻烦。 当您需要收款时,不再需要提供具体的付款地址,只需告诉对方她的DAS账户是.bit即可。
同样,当用户通过支持DAS的钱包转账时,如果填写的付款地址有匹配的DAS账户,钱包会自动显示。 这为用户提供了一种对支付地址进行二次验证的机制,可以有效避免将资金转移到错误的对象。
跨链信誉聚合
越来越多的应用开始关注用户的链上信誉。 即根据用户地址过去的行为,对用户的信誉进行定量评估,以确定提供什么级别的服务。 在多链共存的情况下,一个用户可能在公链A上有很高的信誉分,但对于公链B来说,他是一个新用户。 作为公链B上的应用,自然希望获得公链A上用户的声誉,以便提供撮合服务。
DAS 作为跨链身份系统,天然能够聚合用户在各链上的声誉。 对于一个应用程序来说,它能获取的不再是用户某个地址的信誉,而是该用户所有地址在所有公链中信誉的汇总。
DAS账户作为访问Dapp的入口
Dapp一般采用合约Hash作为合约入口,可识别性非常差。 通过在DAS账户中添加解析记录,可以为Dapp提供一个非常高可识别性的入口。 例如,当我们想要访问合约时,我们可以通过钱包中的.bit来访问它,而不是它的合约地址。
它带来的另一个好处是,无论合约如何升级或合约地址发生变化,用户始终只需要访问.bit即可使用最新版本的合约。
DAS账户作为个人主页或企业网站的入口
事实上,与 DAS 账户相关的数据不仅限于区块链地址或文件哈希。 它可以是用户指定的任何数据。 基于此,用户可以选择性地将社交账户、个人资料、个人偏好等信息关联到DAS账户。 商业组织还可以将部署在去中心化存储上的网页关联到 DAS 帐户。 用户通过安装了 DAS 插件的 Web 浏览器访问这些帐户时可以访问这些信息。
此时DAS账户的行为就像一个域名,是一个去中心化的、抗审查的域名。
构建更好的端到端加密通信系统
我们可以将至少一对公钥和私钥关联到每个 DAS 帐户,这自然构成了发送端到端加密消息的基础。
以.bit向Bob.bit发送消息为例:
1.在App中输入消息内容,收件人填写Bob.bit。
2、App通过DAS解析服务获取Bob.bit的公钥,使用公钥对消息内容进行加密,并使用.bit的私钥进行签名,然后发送消息。
3. Bob的App收到推送消息。 App获得Bob的授权后,使用Bob的私钥解密消息,并通过DAS解析服务获取.bit公钥,以验证消息确实是发送者发送的。
4. 完成与Bob的端到端加密消息发送和接收。
上述端到端加密通信系统优于我公司及其关联公司的其他产品。 原因是:
1、除了消息本身的端到端加密外,DAS账户是去中心化的,任何人都无法删除该账户。
2、DAS账户本身是匿名注册的,您需要使用邮箱、手机号码等实名账户系统。
DAS 帐户作为无密码登录凭据
Web 2.0时代的服务需要账号和密码才能登录,在多个网站使用相同的密码会带来安全问题。 多个网站使用不同的密码,密码管理成本极高。
我们可以为每个 DAS 帐户关联至少一对公钥和私钥,并且 W3C 标准已得到主流浏览器的支持。 DAS账户自然可以作为登录第三方系统的凭证。 登录方式由之前输入账户密码改为使用与DAS账户关联的私钥来签名登录操作。 它不仅消除了密码管理的成本,还简化了登录步骤。
实用身份象征
如果您是VIP客户,作为.bit的持有者,您可以创建一个二级账户..bit,并将所有充值地址作为二级账户的解析记录。 所以:
对于他们来说,这来自于官方对他们VIP身份的认可,是一种身份的象征。
当您需要充值时,无需登录获取充值地址,直接输入钱包中的..bit即可。
事实上,任何处理数字货币资产的企业/机构都可以在其客户中使用这种实用的地位象征。
4. 基本功能
对于用户来说,DAS提供了一组功能。
获取 DAS 帐户
获取DAS账户有两种方式:
使用 DAS 系统注册/投标
二级市场购买/竞价
任何人都可以通过 DAS 系统注册/竞标 DAS 帐户。 为了保证过程的公平性,不同字符长度的DAS账户注册费用、公开注册时间、公开竞价时间不同。 同时,对于知名品牌和全球流量排名靠前的域名对应的DAS账户,DAS系统将予以保留,不会进行注册。 相应单位需在申请期内提出申请。
从二级市场购买/竞价也是获得DAS账户的方式之一。 作为全球唯一的符号,DAS账户是一种稀缺资源。 DAS系统内置二级交易市场模块,以减少这种稀缺资源的错误配置。
使用与管理
用户获得DAS账号后,可以修改该账号的其他属性。 用户还可以决定是否为该账户启用子账户。
用户可以在DAS网站和任何支持Dapp的钱包上使用以上所有功能。
5.DAS核心组件
DAS以开源的方式提供了一套完整的组件,供生态系统中的各个角色使用。 包括:
核
是指部署在 CKB 上的一系列 Lock 和 Type,定义了 DAS 账户以及 DAS 账户的相关操作标准,是 DAS 核心协议的具体实现。
它是一组任何人都可以在未经许可的情况下运行的链下程序。 它负责触发一系列符合核心协议的交易。 它是DAS系统的关键模块。
基于 CKB 上的交易解析 DAS 的全局状态,并以接口的形式对外提供账户解析服务。
软件开发工具包
包含各种语言的SDK,以简化移动钱包、网页钱包、服务器钱包和其他DAS相关应用程序的集成。
去中心化应用程序界面
用户最终通过各种应用接口来使用DAS的各种功能。 这些应用程序可以直接在浏览器中使用或集成到流行的钱包软件中。
使用DAS时,某些操作需要支付相应费用。 费用全部以法定货币计价。 得益于成熟的价格预言机服务以及 CKB 的开放特性,用户可以使用任何主流数字货币甚至法币进行支付。 因此,虽然 DAS 是基于 CKB 构建的服务,但您无需持有 CKB 即可使用 DAS 服务。
成为社区驱动的项目是 DAS 的目标之一。 社区可以通过该系统完成DAS的投票治理,包括添加新功能、调整系统参数等。
DAS团队将实现上述所有组件并将其开源。 其中SDK、Dapp UI等组件,任何人都可以根据Core的协议实现自己的版本。 我们也很乐意帮助社区实现他们自己的版本。
六、关键技术
本章简要介绍了DAS系统的关键技术特点、技术挑战以及部分功能的实现原理。 为了明确概念,在后续章节中,CKB 代表 L1 公链,该公链上的原生代币称为 CKB。
任何公链地址都可以持有DAS账户
得益于 CKB 的开放架构,我们可以将任何公链的签名算法放在 CKB 上,并在需要时使用该算法进行验证。 例如,我们可以在 CKB 上验证用户是否为某条数据提供了有效的 ETH 私钥签名。 此外,如果验证 ETH 私钥签名有效,则可以修改 CKB 的状态。 这就是产品 CKB.pw 实现的原理,它使用 ETH 地址来发送和接收 CKB。 基于此,我们提倡任何公链地址都可以用来管理任何在 CKB 上发行的资产,包括 DAS 账户等 NFT 资产。 这就是DAS高兼容性的根本原理。
技术原理请参考《附录1:BTC地址如何控制CKB上的资产》
Cell模型下的DAS系统设计挑战
CKB 的 Cell 模型是比特币 UTXO 模型的通用设计,与 ETH 账户模型不同。 在ETH账户模型下,某个合约的所有用户数据都集中存储在智能合约的内部数据表中。 在Cell模型下,某个“合约”的用户数据分散存储在用户各自的Cell中。 这里不讨论两种模型的优缺点。 单从DAS系统来看,数据是分散存储的,这给验证账户是否已注册带来了一定的挑战。 但这不是问题,可以通过适当的设计来解决。
从另一个角度来看,我们把属于用户的DAS账户以及账户相关的描述信息和解析数据放入用户自己的Cell中,只有用户才能修改,这更符合去中心化的理念。
如何保证DAS账户的唯一性
我们使用逻辑排序的链表来确保DAS帐户不会被重复注册。 每个注册的DAS账户都有一个Cell用于存储其相关信息,称为。 我们要求所有内容都按一定的顺序排序,例如按帐户名按字典顺序升序。 当注册一个新的DAS账户时,我们可以通过链上脚本来保证对应的账户必须插入到链表的适当位置,以保证这个订单不被破坏。 保证有序链表中内容的有序性也就保证了链表元素的唯一性。
二级市场上链实施
以固定价格出售账户为例,卖家发出一笔交易,输入包含待出售账户的信息。 同时输出一张,包含账号、卖家、定价等信息。 Type包含以下验证逻辑:
任何人都可以构建一笔交易来为自己花费和创建一笔交易。 前提是本次交易的输出之一需要向卖方转移不少于指定数量的 CKB。
卖家可以随时使用它来创建一个,从而取消销售并取回帐户。
用户可以使用任何货币进行支付
DAS 系统内的所有费用均以美元计价,并以 CKB 进行链上支付。 让用户在不拥有 CKB 的情况下使用基于 CKB 的 DAS 系统是 DAS 的重要目标之一。 得益于 CKB 的 OTX 特性,用户可以向 DAS 支付网关支付其他币种的费用,支付网关为用户构建最终交易,支付给 CKB 并上传到链上。
DAS 账户作为 NFT
DAS 账户的数据结构设计和脚本实现遵循 CKB 上的 NFT 标准草案。 这意味着DAS账户可以被视为普通的NFT资产。 任何管理和运营 NFT 资产的应用程序都可以操作 DAS 账户。 比如第三方拍卖市场、接受DAS账户作为抵押资产的借贷市场、合成资产平台等。这也使得DAS作为去中心化身份协议具有可组合性和可扩展性。
7. 生态激励
DAS的广泛采用离不开爱好者的积极推动以及钱包/应用程序等渠道的整合。 虽然DAS的设计中渠道整合的工作量很低,但我们仍然设计了一套激励规则来鼓励更多的渠道方整合DAS。
如上图所示,DAS 内置了邀请者渠道和现金奖励机制。
如果账户定价为 US$X,用户直接发起注册,则需要支付 CKB 或等值于 US$X 的其他代币。 如果注册时填写邀请人信息,最终只需要支付0.95X。
用户支付0.95X,其中0.1*0.95X支付给渠道,0.1*0.95X支付给邀请者,最后0.8*0.95X作为DAS系统的收入。
未来,当DAS实现去中心化治理时,发起治理提案、投票治理提案等的人也将获得相应的激励。
8. 愿景
DAS 对于加密世界来说就像手机号码对于互联网一样。
9. 路线图
2020年第四季度,可行性研究--完成
2021年Q2完成核心组件开发,包括Core、SDK、Dapp UI等。
2021年Q3上线; 账户注册及拍卖将启动; 将开始应用集成,并且代码将开源。
2021年第四季度,链上二级市场,链上拍卖,逆向分析。
2022年,推动应用大规模融合。
2022年之后将推出。
附录一:BTC如何地址控制CKB上的资产 首先,这不是“跨链”
至少不能用通常意义上的跨链逻辑来理解。 事实上,CKB 上的资产不会出现在 BTC 上,BTC 上的资产也不会出现在 CKB 上。 CKB 只是一个兼容任何公链的账户(地址)系统。
从非技术角度理解
我们打个比喻,把公链比作一个国家,把公链的地址比作这个国家的居民身份证。 喜欢:
ETH公链-->美国
ETH地址-->美国身份证
BTC公链-->英国
BTC地址-->英国身份证
CKB 公链 --> C 国
CKB 地址 --> C 国身份证
对于美国来说,居民必须持有美国身份证才能在美国持有和管理资产。 英国也是如此。 两国互不承认对方的身份证。
但对于 CKB 这个新的 C 国来说,不仅仅是持有 C 国身份证的居民才能持有其国内资产。 其他国家的居民只要提供他国有效居民身份证,也可以持有C国的资产。
进一步类比,BTC 用户将在 CKB 上发行的资产发送到他们的 BTC 钱包中,就像美国居民可以凭美国有效身份证转售 C 国的房子一样。 并且这个独家转售流程是C国官方认可的(经过CKB节点验证)。
从技术角度理解
CKB 兼容 BTC 账户系统。 本质上,CKB 链可以通过 BTC 私钥来验证 CKB 交易的签名。
一般来说:
1、BTC链只能通过BTC私钥来验证BTC交易的签名,ETH也是如此。 签名验证通过,交易上传到链上,这意味着您用您的BTC私钥控制您的BTC资产。
2、同时,BTC/ETH链的签名算法是固定的,验证签名的程序逻辑也是固定的。 要添加新的签名算法,必须对整个链进行硬分叉。
但 CKB 有一些新特性:
1. 当向 CKB 链添加新的签名算法时,CKB 不会硬分叉。 新的签名算法像插件一样安装在 CKB 上。
2. 同时,任何人都可以随时在 CKB 上部署任何签名算法(只是一个二进制程序)。
3. 在 CKB 交易中,您可以明确指出需要调用哪种签名算法来参与交易的验证。
4. CKB 节点打包交易时,会运行特定的签名算法来验证交易。 验证通过后,交易上传至链上。
所以:
我们可以在 CKB 上安装 BTC 签名算法,并在交易中(交易内容通常是同质或不可替代代币的转账)明确节点在打包交易时必须调用 BTC 签名算法进行校准。 测试。 签名验证通过,交易上传到链上,资产转移完成,这意味着您用 BTC 私钥控制了您的 CKB 资产。
同样的,我们可以在 CKB 上安装任意公链的签名算法。 最终,任何公链地址都可以持有 CKB 上发行的资产。
这样优雅的“跨链”方式来自于Lay2团队给我们带来的灵感。 他们打造的PW-SDK是生态基础设施,也是让任意公链地址持有DAS账户的核心秘密。
谢谢阅读。