Web2 提供了一整套的身份体系,代价是过度中心化,用户无法控制自己的数据。DID 的出现满足了这样的需求,用户的身份不再由某个中心化的平台提供,而是“去中心化”的。与资产不同,身份的特殊之处在于它是社会性的,如果一个人自幼独自生活在荒岛上,那么名字都是没有意义的。这种社会性要求身份是一定程度上公开的,这与区块链和Web3的“应用原语”是天然相悖的,这带来了很多问题。
目前的我们的身份方案大抵是将标识附着在某个去中心平台上,包括以下几种类型:域名服务、内容服务、资产服务等等。这种机制发展到最后无非两个结果:
这两种结果揭示了 DID 产品的一个核心悖论:当你去做 DID 时,这已经不再是 DID 了(这个悖论反映到产品上,则是通过新增一个 ID 用来控制用户其他所有的 ID ,依次形成 DID ,例如你可以将不同地址映射到 ENS ,或通过陶瓷建立一个 DID 账号,并将其他地址加入到控制器中。)
我们希望建立一种 DID 满足一下两个条件
我们通过将用户 ID 以类似于双向链表的形式关联起来,任何第三方从任意 ID 都可以访问到前驱节点和后续节点,从而获取完整身份信息。在计算机领域这是一个相当基础的数据结构,但用在 DID 中相当有用。
用户的 ID 存储着生活的某个片段,将所有片段结合起来构成完整的用户身份,这类似于电影中的蒙太奇手法,我们将其命名为蒙太奇协议,目前为止这仅是一个创意,尚未完全实施。它有几个重要的核心约定:
这几个特性让它成为一个正在意义上的去中心化身份。