星球日报
搜索
手机客户端
iPhone · Android
微信公众号
微信公众号

iPhone · Android

微信公众号

​Web3.0 世界的身份及声誉

2018-11-26

身份和声誉,是 Web 3 世界的基础。

编者按:本文来自碳链价值,作者:Sina Habibian,翻译&校对: IAN LIU & Elisa,星球日报经授权发布。

​Web3.0 世界的身份及声誉

为什么身份 & 声誉这么重要

让我们从了解身份和声誉如何释放协议层面的价值来着手。

将一次性博弈转变为重复博弈

区块链用户都是匿名的,而且更换新地址的成本可忽略不计,所以共识协议很难要求用户进行正当的行为。发展到今日,我们习惯以质押的概念或是“惩罚条件”来进行约束,本质上就是通过罚没参与者的一些资金(通常是 ETH 或是 ERC20 代币)来惩罚作恶行为。

假设我们有一种办法,能够以数字化方式体现身份和声誉的稀缺性,便能修改现有的股权机制,采取如同罚没资金一样的方式,使作恶者的声誉遭受损失。相对的,共识协议也能够奖励声誉高的参与者;比如在网络中给与他们更多收益(可以与 Cosmos 和 Keep 项目中提到的工作代币 "work token" 类比 )。参与者有动机来优化自己的声誉,而不只为了短期利益;进而将一次性博弈转变为重复博弈。

抽样

关于抽样,最重要的应用就是共识机制本身( 像 Proof-of-Work 和 Proof-of-Stake 承担了抗女巫攻击认证)。这可以扩展到其他用例,比如选择由谁存储文件,或是由谁在资源市场中执行计算工作。

限流及定价策略

网络服务通过许多的限流及定价策略,来满足不同层次的客群需求。 以 Dropbox 为例,它使用免费增值模式(任何人都能免费使用服务,但免费的服务有限)。通过身份系统,去中心化的协议也能够实现相似功能。像是 Filecoin,可以使用免费增值模式给大需求用户提供更低廉的价格。

除了协议层之外,我们也看到很多应用需要身份。

治理

现有的区块链投票系统,是基于代币投票模式。代币是稀缺资源,提供抗女巫攻击机制,但是这样也导致财阀专权,有钱人的话语权更大。二次方投票(Quartic Voting)之类的机制,虽然能够降低财富的影响,但现在还是可以钻空子;比如一方将钱分散到多个账户地址。

而身份认证使得二次方投票方案得以实施。

声誉,源于用户在协议中曾有过的行为,或是来自社区对该用户的信任;可以作为决定某个节点投票权重的依据。

毋庸置疑的,安全的链上投票的要求比上述要更加严苛。举例来说,为了避免贿选发生,参与者不应能公开他们的投票方式(关于“抗胁迫性”的描述更为广义,相关介绍可见 Daian, Kell, Miers, and Juels 的这篇文章。)

借贷

链上借贷协议无法信任参与者,因此要求完全抵押才能进行借贷,这种高昂借贷成本遏制了应用的发展。

身份系统通过验证借款人在真实世界中的一些特征(征信记录、产权证明、收入等等),来扭转上述局面。声誉,是由以前的借贷经历或是其他人担保而来,可以被视为抵押物。

证券类代币

将真实世界的抵押物代币化,如房地产、股权、艺术品,能够放大它们的价值:增值点在于代币能体现部分所有权,具备及时清结算,及参与7*24全球市场等优势。该类代币的发行和交易须遵守证券法(对交易参与者进行 KYC, AML,资质鉴定,和其他检查 ),这些条件限制能够内化到代币本身(比如使用 Harbor 方法的 R-Token)或在交易所交割时强制执行(如在去中心化交易所调用 ERC20 转移函数前先执行此类限制条件)。

代币发售 & 空投

代币空投能激励网络中的参与者。最近的一些空投例子如 Livepeer 的 Merkle Mine 和 Handshake’s airdrop,都是开源的空投机制。有了身份和声誉体系,我们能够设计更精细的空投分发机制。身份和声誉在这里的应用,包含:构建链上游戏的社交属性(如,游戏中物品的受欢迎程度会影响其价格)、登录及权限控制、DPoS、普适的最低收入,以及聚合去中心化预言机的输入。

下面,让我们来看看身份和声誉究竟代表什么意思。

我们说的身份和声誉是什么?

身份是系统内最基础的角色。在以太坊中,可以说以太坊账户地址就是身份。

身份可以用来证明自己和他人曾发生过一些事,我们把这些事称作声明。随着时间推演,声誉会随着身份体系建立起来。

身份、声明,和声誉的协议,应该通过适当的接口相互交互。这个系统必须是模块化且可扩展的,同时具备以下特性:

  • 去中心化(Decentralization):协议规则应该由网络参与者制定和遵守,而不是由中心化权力机构执行。

  • 自治(Self-sovereignty):用户自行掌控属于自己的身份、声明,和声誉。这与 Web 2 网络形成巨大的反差;在 Web 2 网络中,比如在亚马逊;一个商家的产品积累的声誉,可能会因为亚马逊破产或单方面决定,而被移除。

  • 可移植性 & 互操作性(Portability & interoperability):系统不该扣留用户,而应该允许用户往其他系统上迁移属于自己的数据。

  • 抗女巫攻击(Sybil resistance):设计协议时,必须考虑参与者不能通过发布多个身份获得优势;除此之外,协议中旧身份更换成新身份没有好处。构建一个去中心化的抗女巫攻击身份体系,是一个涉及方方面面的问题。此问题可以使用一种易于单次计算,但难以重复计算的函数;或是一种无法通过机器表现的人为举动。比如 Proof of Work 和 Proof of Stake 都是目前常见的方式。

  • 隐私(Privacy):参与者应该能选择性地与他人共享数据。此外,默认情况下参与者的身份能通过不公开的标识进行验证。

  • 接下来,让我们深入了解这个系统的三个组成:身份、声明、声誉。

    身份

    身份可以指的是外部持有的账号(由私钥控制),或是一份智能合约(多重签名、DAO、其他等等)。身份能够用于信息签名、数据加密,或是发表关于自己或他人的声明。

    身份管理中,密钥的管理是最重要的一环。与私钥最大不同是,使用智能合约管理身份让我们能扩展一些功能,如密钥找回、权限控制、动态花费限制等等。

    身份管理合约应该包含密钥恢复机制,以面对以下情况:

  • 密钥丢失(用户权限丢失)

  • 密钥遭窃(用户拥有权限,小偷也拥有权限)

  • 密钥遭窃且丢失(用户权限丢失,小偷拥有权限)

  • 有许多机制在这里能够派上用场:社群找回、暂停证明服务,或是通过 Shamir 密钥分享和 Schnorr 签名方法。

    将密钥具体功能分离,能够划分出不同层级的安全性。以 ERC-725 为例,其提议持有不同密钥来用于管理、行动、发表声明,和加密。

    为了保护隐私,用户在不同使用场景需要创建和管理不同的身份。如果我们用相同的、完整的身份去借贷、给质押者授权、支付,会导致用户在真实世界的身份被交叉比对最后暴露。在 BIP 32/39/44 中提到的分级确定性(Hierarchical Deterministic)方法能够在这里派上用场。

    最后,身份方法必须和其他系统有很好的互操作性,并能适用于 W3C DID(去中心化身份验证者 Decentralized Identifier) 标准。

    声明

    声明指的是由一个身份对另一个身份提出的事实。

    “声明 Claim”的语义遵循“一个实体提出关于某个主题的声明”,并且能够表达许多事:

  • “A 声明 B 已经通过 KYC。”——用于抗女巫攻击

  • “A 声明 B 是合格的投资者。”——用于监管合规(如代币售卖,和抵押代币交易等等)

  • “A 声明 B 超过了 21 岁。”——用于有年龄限制的产品

  • “A 声明 B 是中国公民。”——用于合规审查

  • “A 声明 B 有 x 收入。”——用于信用风险担保

​Web3.0 世界的身份及声誉

这些声明由声明人签署,因此其真实性和完整性能够以加密形式验证。

任何一方也能够对其自身发表声明(比如姓名、国籍、生日)。

有些设计准则需要铭记在心:

  • 声明必须是加密的(Claims should be encrypted):声明可能包含敏感信息,因此始终要以加密形式储存。数据拥有者能够以可选的信息公开流程,将数据分享给特定身份对象(比如,通过 Diffie-Hellman 方法交换密钥)。

  • 尽可能少地在链上存储数据(Store as little data as possible onchain):除非要求链上审查(比如,某次需要许可的 ERC20 交易),否则声明数据应该被放在链下存储,只链上存储其加密形式(如,默克尔树的根值)。除此之外,考虑到未来量子计算的普及和目前加密系统的脆弱性,即便数据已经进行加密,也不该存放在区块链上。

  • 只有发布者能够移除声明(Only the claim creator should be able to remove their claim):这样能够使网络有能力发布负面声明,而不用担心它们被删掉。举例来说,可以声明某个以太坊地址是钓鱼诈骗(从虚假 ICO 到推特上的“免费赠币”骗局等等,这是在加密世界始终存在的问题),或是卖方没有履行他们的商业责任。 继续这个思路,我们可以想象一下,如果某个用户被卷入了与他无关或恶意第三方的声明,该怎么办?这不构成问题,因为没有声明是具有权威性的。声明就只是由某个身份提出的、关于另一个身份的状态,至于信不信,完全由验证者自行决定。

​Web3.0 世界的身份及声誉
  • 声明具有有效期 (Claims can expire):声明不会永远有效。举例来说,在某些司法管辖区,可信的状态每 90 天需要更新一次。每个声明发出时包含当时的区块高度,因此验证者能自行判断这些声明的有效性。

  • 现在,让我们来看看一些设计预案。

实现

ERC 725/735

ERC 725 是个关于智能合约身份的提案,实现了一个管理身份声明的标准化接口,部署编号为 ERC 735。用户需要批准所有与他们相关的声明,而且能随时删除。因为这个系统不需要多方协同,所以是可以升级的。

这个提案也有一些问题。因为每个身份都要自己部署声明合约,因此无法保证都遵守 ERC 735 中的规范。因此当验证者与这些身份打交道时,首先得检查他们的源代码;这会带来很大不便。更糟的是,允许用户直接删除关于他们的声明,阻碍整个系统发布负面声明。

最后,涉及隐私保护,ERC 725 需要搭配一个链下系统,因为它将所有声明都存储在链上。

ERC 780

ERC 780 提出在以太坊上建立一个全局的注册表,来存放以太坊上的所有声明。uPort 便是将注册表当作构建一个去中心化 PKI 系统的基础,目标是将大多数声明转移至链下。注册表不会区别声明者是账户或是合约;又因为只存在一份合约,所有验证者可以相信它的逻辑。

这份提案的问题在于声明的表达性有限。因为要求所有声明遵守同样的数据结构,这就直接带来使用上的局限。进行升级时也会遇到麻烦,因为它需要广泛的利益相关者的支持。

Zeppelin TPL

Zeppelin TPL( Transaction Processing Layer ,交易处理层)被设计用于 ERC20 代币的许可交易。在这个方案给每个“司法管辖区”部署了不同的合约。“司法管辖区”的管理集群们选出证书颁发者,这些证书颁发者有权将声明写进该管辖区的声明注册表。

这是个比较实用的设计。验证者更加信任司法管辖区的声明,因为他们知道这些声明者是经过认证的。但另一方面,只允许部分用户发表声明,必然导致系统灵活性降低。

这样的系统也可能遇到难以扩展的问题。没有一个管辖区会提供完整的相关声明列表(因为管理、地理位置,或用例的不同),因此验证者必须检查多个注册表,或是声明对象必须在不同管辖区反复进行声明。

基于 NFT 的身份

我们能以 NFT( Non-Fungible Token,不可替代代币)的形式,将许可进行编码,一组权威节点可以为用户生产 NFT,验证后供用户使用。这里的问题是用户能够交易他们的 NFT,而设计里并没有提到使用 NFT 比使用声明的优势在哪。

解决办法

有个也许可行的系统,能将上述方法的优点整合起来:称为联合声明注册表。

首先创建面向不同种类声明的注册表;这些注册表继承自顶层合约,并且在实施的时候,明确规范那些声明能被添加或删除。这样便增加了声明的表达性,同时确保注册表管理者之间没有冗余的声明。

此外,注册表允许任何人创建声明,而验证者有责任过滤出他们相信的声明。他们能够基于特定用例、地理位置,或是时间来判定是否相信该声明,或是根据由中心化机构(如政府)和去中心化系统(如 DAO) 提供的声明者白名单进行过滤。

接下来,我们进入声誉部分。

声誉

我们可以将声誉分为两大类:一是基于信任图谱的声誉;二是基于行为评价的声誉。

基于信任图谱的声誉

这个方法来源于社交网络算法,PageRank,和委任式民主有许多相似之处。

思想实验

想象一下,在进行大型投票之前,先在每个以太坊账户中空投 100 个信任代币,并让他们自由将信任代币委派给能代表他们投票意见的人。

在委任节点竞选期间,大家可以在线上替自己的以太坊地址账户打广告(在推特、Reddit、个人网站等等),呼吁其他人的支持。大家根据他们在社区里表达的专业知识及政见,对竞选人进行相应委任。

委任节点竞选结束后,每个委任节点开始投票。投票权重根据他们所获得的信任代币数而定,可以直接使用获得的代币总数,也可以像 PageRank 一样使用一个度量系数。

在我们的例子中,图中每条线可以视为信任代币分配情况。PageRank 方法递归地集合了群众的智慧,如果许多人将信任代币指派给 A,那么 A 指派给其他人的代币就将有更高的权重;更进一步,这些委任人再次指派的代币的权重又会更高。以这种方式迭代,声誉能尽可能和他们真实的权重靠拢。

​Web3.0 世界的身份及声誉

来源: https://en.wikipedia.org/wiki/PageRank

要注意的是,这种方法也能在声明协议中实现。抛开信任代币,用户也能用向其他人的声明来表达上图中的线。不过我们也能看到,基于信任图谱的方法存在一些问题。

抗女巫攻击

攻击者能签名多个身份,并让他们彼此信任,人为的提升这些节点的声誉。以下有几种解决方法:

(1)可信赖身份

在基础 PageRank 算法中有个参数 E(u),能让进行网页爬虫的人有一定的概率跳转到预先设定的网页。这样做能防止爬虫的人被卡在女巫攻击的子网路中。

同样的,在我们的用例中,可以事先设定可信任的身份;也可以从真实世界中已被验证的身份集合中选择。

​Web3.0 世界的身份及声誉

(2)本地声誉

每个人都能在本地计算声誉。比如在借贷场景中,担保人只能从每个用户与自己和其他可信身份的交互,来评估借款人风险。

有意思的是,如果一个用户被网上大部分节点信任,全局视角的信任也会和本地视角靠拢。这类似于,在借贷理论中,信用良好的一方的欠条也能代表金钱。

(3)由稀缺资源创造的信任流通渠道

另一种在信任图谱中对抗女巫攻击的有效方法是,使用稀缺资源来建立信任流通渠道。可以是权益形式,或是 Proof-of-Work。以 Sourcecred 为例,它依靠 Git 代码提交与依赖性来建立信任图谱。在这样的信任图谱中,声誉的流向需要有实质工作量,因而能抵御女巫攻击(除非出现能自我编程的机器学习算法!)。

(4)模式匹配

我们也可以手动的分析信任图谱,并在分析后过滤掉一些结果。举例来说,一群相互信任的节点,却没有被群体之外的人信任,就很可能被视为有问题的而移除。

激励机制

在信任图谱中,使用者有什么动机去创建正确的信任流通渠道呢?

P2P 借贷和保险(如, TrustDavis)的运作也许可以给我们带来潜在的答案,就是节点为了获得渠道而提供抵押。如果他们提供的抵押物处于流通中,就能得到收益;反之如果他们作恶,就会失去抵押物。

另一个可能的答案是,基于现有行为创建另外的副产品作为信任流通渠道。比如出版商在自己的网站加上高质量的链接,以吸引用户,因此出版商为 PageRank 提供了所需的数据。同样的,一个开发者想创建好的代码库,并吸引更多贡献者的话,它就必须维护一个友好的开发环境;这样一来,他们就创建了 Sourcecred 需要的流通渠道(推荐各位看看 Dandelion )。

另一种声誉,是基于行为评价的。

基于行为评价的声誉

在这个方法中,我们不依靠图谱决定声誉,而是每个人依据对方历来的行为表现进行评价。举例来说,在 Dharma 借贷协议中,借款人的声誉能够以他们的支付记录及时间轴来计算;在 Truebit 中则是以过去成功解决过的任务作为声誉计算依据。

我们还能够将这类声誉评价融入到协议中;随着用户声誉提高,他们在网络中能获得更大的费用折扣或是更高的收入。

上述方法依赖于抗女巫攻击的身份体系才能运作。因为如果没有身份体系,任何人都能通过造假工作量提高自己的声誉。

另一个恼人的问题是,人们可以逐步建立起自己的声誉然后以一次骗局结束退出。之前交易所和比特币借贷平台已经发生过这种情况,因此这个声誉计划必须经过严格的分析,并考虑拜占庭行为的经济成本。

其他关于声誉计划的注意事项

声誉是具有环境限制的。一个好的借款人不见得会是个好的 Casper 权益相关者,也不意味着会是好的 Livepeer 译码者。就如 Stefan George 所说,在黑帮里有者好名声的人,你不见得就要相信他。

最后,我们还需要继续探索“负面声誉”的概念。如果一个身份可能获得低于零的声誉评价,他们可能倾向于抛弃现有身份,以新身份重新加入。

结论

身份和声誉是重要的研究课题。他们能将协议从单次博弈转变为重复博弈,并且是许多区块链应用的必要组成部分,如抽样,定价策略,治理,借贷,抵押物代币和空投等等。

致谢

感谢 Yondon Fu,Liam Horne,Robbie Bent 和 Melisa Smith 对此文章的反馈。感谢Ali Yahya,Nicola Greco,Dandelion Mane,Andy Bromberg,Faraaz Nishtar,Sunny Aggarwal,Sid Ramesh,Nadav Hollander,Dan Finlay,Ryan Sepassi,Ben Fisch,Dieter Shirley,MartinKöppelmann,Stefan George,Kei Kreutler,Fred Ehrsam, Bjorn Wagner,Yondon Fu,Robbie Bent 和其他人带来的讨论,这促成了上面这些想法。

本文来自投稿,不代表Odaily立场。如若转载请注明出处。

参与讨论

登录后参与讨论

星球君的朋友们

特邀作者

星球君的朋友们

优质区块链文章转载

总文章数: 816


分享至

微信扫一扫分享

0
金融前沿科技比特币