SeeDAO | 去金融化应用中区块链的使用场景

【标签】 #SeeDAO翻译公会 #SeeDAO #区块链 #Vitalik专栏

作者:Vitalik | 译者:Jomosis | 校对: EffectChen | 排版 :T1NG | 审核:Ines


特别感谢 Shrey Jain 和 Puja Ohlhaver 给出的充分反馈和评价

最近,人们在非金融应用上使用区块链技术的兴趣激增。这是我之前非常感兴趣的趋势,对此有诸多理由。在上个月, Puja Ohlhaver 、 Glen Weyl 和我合作写了一篇论文,描述了一个更详细的愿景,即可以用一个创造用于描述各种不同关系的认证的,更丰富的灵魂代币生态系统来做什么。这引发了许多讨论,尤其是针对在去中心化身份生态系统中使用区块链技术是否有意义这个问题:

  • Kate Sills 论证链下的签名认证

  • Puja Ohlhaver 回应 Kate Sills

  • Evin McMullen 和我在播客上辩论链上还是链下的认证更胜一筹

  • Kevin Yu 撰写了一篇引发链上还是链下问题的技术概述

  • Molly White 论证了一个自治身份的负面案例

  • Shrey Jain 用一个集合 thread 囊括了以上的内容以及许多其他的 Twitter 讨论

我们有必要放眼全局去思考一个更广泛的问题:一般来说,在非金融领域应用中使用区块链在哪里是有意义的?是否应该发展成“即便是去中心化的聊天应用,也要求每条消息都作为一个包含加密信息的链上交易?”或者换句话说,区块链仅仅适用于金融领域(比如对于网络效应,需要有一种特殊的“全球化”货币的支付方式),其他应用使用中心化或更本地化的系统来实现会更好?

我倾向于像链上投票那样,远离“无处不在区块链”(blockchain everywhere)观点的同时,也远离“区块链至简主义”(blockchain minimalist)。我认为区块链在许多重要情况下都存在价值,比如信任和抗审查等,但有时也纯粹为了方便。下面我将列出一些区块链常见的应用场景,尤其是在身份认证方面。

用户账户密钥修改和恢复

加密账户系统中非常具有挑战性的问题之一是密钥变更。有以下几种情况:

  1. 当你担心当前的密钥会遗失或者被盗,你想换一个不同的密钥。

  2. 你想更改加密算法(例如你担心量子计算机即将问世,希望升级到后量子算法)。

  3. 当你丢失了密钥,想要重新获取账户的权限

  4. 当你的密钥被盗了,想要重新获得账户的专有权限(同时不希望小偷拥有账户的权限)

第一个和第二个案例相对简单,因为它们可以通过完全 去中心化身份处理 的方式实现:你控制着密钥 X,你想要把它换成密钥 Y,所以你公布了一条用密钥 X 签名的消息说,”从此之后用密钥 Y 认证我“,大家都接受这一条消息。

但要注意的是,即使是那些更简单的密钥更换场景,你不能仅仅使用密码学。

考虑以下这组事件:

  • 你担心密钥 A 被盗,所以你用密钥 A 签署了一条消息说,”我现在用密钥 B 了“

  • 一年后,一个黑客团伙确实偷了密钥 A。他们用密钥 A 签署了一条消息说,”我现在用密钥 C 了”,现在 C 是他们的密钥。

从这样看来,之后有人收到了这两条消息,他们看见这个账户不再使用密钥 A 了,但是不知道 “将 A 换成 B” 还是 “将 A 换成 C” 有更高的优先级。

这和著名的双花问题在设计去中心化货币上相同,不同的是双花问题的目标是防止属于之前用户的代币被再次使用,以上讨论的问题的目标则是防止可以控制账户的旧密钥再去改这个账户的密钥。 就如创造一种去中心化货币一样,用去中心化的方式做账户管理需要像区块链这样的技术。 区块链可以给密钥更改信息打上时间戳,提供「变成 B 还是 C 更优先」的共识。

第三个和第四个案例更难。一般来说,我支持的方案是使用多签和社交恢复钱包,这可以让一群朋友、家人或者其他联系人在你的密钥丢失或者被盗的时候,转移你的账户的权限到一个新的密钥。这个群组的参与对于更复杂的操作——如转移一大笔资金,或是签署一个重要的合同——也是必需的。

然而这也需要区块链技术的支持。虽然使用密钥共享算法进行社交恢复是可能的,但实践起来却更难:如果你不再信任某些联系人,或者他们希望更改自己的密钥,你无法在不改变密钥的情况下撤销访问权限。因此,我们仍需一种形式的链上记录。

DeSoc 的论文中有一个微妙但不容忽视的观点:我们为了保证账户不被转让,个人资料的社交恢复(或“社区恢复”)可能实际上是强制性的。也就是即使你出售了自己的账号,仍然可以通过恢复的方式拿回账户的权限。这可以解决类似于没有信誉的司机在网约车平台购买网约车平台认证账户的问题。即使如此,这也只是一个猜想,也不是非得完全实现才能享受基于区块链技术的身份和信誉系统的好处。

需要注意的是到目前为止讨论的只是区块链技术使用的个例:账户在链上,所有其他的事情在链下完成也是完全可以的。 有一个使用场景就是针对这种混合应用的;有一个简单的案例已经实现了这个应用方式:Sign-in With Ethereum。

更改和取消认证

Alice 之前在 Example 学院到了学位,还有个数字证明,上面有 Example 学院的签名。可是六个月后,她因为抄袭行为被取消了这个学位。尽管如此,Alice 还在继续使用那份旧的数字证明声称自己持有该学位,并且可能试图不正当地获取相关权限(比如登录论坛)。我们采取什么措施可以防止这种情况发生呢?

「区块链至上主义」(blockchain maximalis)的方法是把学位做成链上的 NFT,那么 Example 学院就能发布一个链上的交易来取消这个 NFT 。但这恐怕是一个非必要的开销:总是是频繁地颁发证书,而取消的行为寥寥无几。我们也并不想让 Example 学院为无意义的线上交易费钱费力。所以我们可以用一个混合方案取而代之:将发放的学位做成链下的签名信息,然后在链上可以取消学位。这就是 OpenCerts 正在采用的方法。

被许多链下可验证证书倡导者所支持的「完全链下」解决方案:Example 学院运行一台服务器维护所有他们的取消记录(为了增加隐私性,每一笔认证会使用一个 nonce 值,一个取消列表会用一列 nonce 值)。

对于一个学院来说,运行一台服务器是个小问题。但对于更小型的机构或者个人来说,”多处理一个服务器脚本“,并且要保证它们不断线会给 IT 人员造成很大的压力。 如果我们让对区块链技术感到敏感的人们去”用一下服务器“,很可能他们最后会外包任务给一个中心化供应者。 让系统去中心化,并且只使用区块链的选择更好的原因是——一些技术,尤其是 rollup 扩展方案、分片(sharding)在未来上线时会让区块链上的花销越来越便宜。

负面声誉(Negative reputation)

在链下签名无法解决的一个领域是负面声誉( negative reputation),也就是说,你正在证明的人或组织可能不想让你看到他们的证明。我在这里用负面声誉作为一个技术术语:最明显的用例是证明某人做了坏事,比如一个差评或报告,某人在某种情况下表现不当。但也有一些”负面”证明并不意味着不良行为的用例——例如,贷款时想证明你没有同时贷款太多。

你可以用链下的认证建立好名声,因为展示声誉可以让接受认证者受益(或者可以通过零知识证明来实现)。但是你不能用它来记录负面声誉,因为人们可以选择只展示体现自己优势的认证,隐藏起那些对自己不利的。

在链上实现认证的确可以解决问题。为了保护隐私,我们运用加密技术和零知识证明:一个认证是用链上记录和用加密成接受者公钥的数据组合而成的,用户可以用零知识证明遍历链上完整的历史记录来证明他没有「负面声誉」。链上的证明和具有区块链意识的验证过程让验证“证明的确遍历了整个历史记录并且没有遗漏”这件事轻而易举。为了实现计算的可行性,用户可以用增量可验证计算算法(比如 Halo)来维护和证明树上的加密数据,然后在树上寻找自己需要的部分。

处理负面声誉和取消认证在某种意义上是等价问题:你可以通过添加负面声誉认证表明“其他的认证都不作数”来取消一个认证,也可以通过借助好名声来废除坏名声:Alice 在 Example 学院的学位被取消了,但可以用一个声明“ Alice 使用了学生贷款在 example 系获得了学位”的学位来替代。

使用负面声誉认证是一个好主意吗?

我们有时会听到对负面声誉的一种批评是:难道负面声誉不就像是一个反乌托邦式的“红字”吗?我们难道不应该努力去做一些能够赢得好名声的事情吗?

尽管我支持避免无止尽地使用负面声誉认证,但我反对彻底废弃这种认证的使用。在许多案例中一定要使用「负面声誉」认证。在区块链领域内外以提高资本效率著称的无抵押贷款,显然从中受益。Unirep Social 是一个使用概念验证的社交媒体平台,该平台将高度的匿名性与保护隐私的负面声誉系统相结合以限制「负面声誉」的滥用。

有时,负面声誉认证更具有包容的自主权,而好名声认证却更具有排他性。一个「一开始每个个体都有发帖的权力,直到他们因为行为不端而得到多次的“声誉打击”权力才被剥夺」的在线论坛要比「一个首先需要某种 "良好品格证明 "才能被接纳并被允许发言」的论坛更平等。被边缘化的人大多生活在 "系统之外",即使他们确实品行良好也很难得到这样的证明。

具有强烈公民自由主义倾向的读者,可能也想考虑为性工作者建立一个匿名的信誉系统的案例:你想保护隐私,但你也可能想要一个系统——如果客户虐待性工作者,他们会得到一个被其他性工作者提防的"黑标记"。这样一来,难以隐藏的负面声誉实际上可以赋予弱势群体权力,保护他们的安全。这里的重点不是为负面声誉的某些实例辩护;而是要表明负面声誉的价值是真实存在的,一个成功的系统需要以某种方式支持它。

负面声誉不会成为终身的负累:我觉得一个人是有机会通过付出一些代价创造一个新的人设的(也许会牺牲你现有的很多或所有的积极声誉)。在声誉系统中存在一种“没有责任一身轻”和“肩挑重担”的平衡。但首先,拥有可以实现负面声誉的技术手段是解锁这个设计领域的前提条件。

保证稀缺性(Committing to scarcity)

另一个体现区块链技术有价值的例子是发布经过验证的有限数量的认证。如果我想为某人做背书(例如,人们可以想象一个寻找工作的公司或一个政府签证项目在看这样的背书),看背书的第三方会想知道我是否对背书很谨慎,或者我是否把背书给了几乎所有我的朋友,以及友好请求帮忙的人。

对于这个问题理想的解决方案是把这个背书公开,这样背书就和提供背书的人的利益挂钩了:如果我为一个最后被发现做过坏事的人做了背书,所有人都会对我所做背书的信任大打折扣。但我们也想保护隐私。因此,我可以做的是在链上公布每个背书的哈希值,这样任何人都可以看到我已经发出了多少。

一个更有效的区块链技术用例是「多次分发」:如果一群艺术家想要发放“有限版本”NFT 的 N 个复制,他们可以在发放 NFT 时在链上发布一个包含 NFT 的 Merkle 根节点的单独哈希值。这个独立的发布让他们免于在这次发行后发行更多的版本,你可以利用 Merkle 根节点发布表明数量限制的数字(比如 100),代表只有最左边 100 个 Merkle 分支是合法的。

通过在链上发布一个独立的 Merkle 根节点和最大计数,你可以发行有限数量的认证。在这个例子中,只有 5 个可能合法的 Merkle 分支可以满足证明验证。聪明的读者应该可以注意到它和 Plasma 链概念上的相似性。

共识

区块链其中一个强大的特性是他创造了共识:如果我在链上发布了某个东西,Alice 能看见,Alice 可以知道 Bob 也看见了,Charlie 可以知道 Alice 知道 Bob 看见了,以此类推。

对于协作来说共识往往很重要。比如,一群人想要说出一个问题,但只有在他们觉得有足够的人会同时说出这个问题的时候他们才敢放心说出来。一个可能的实现是,一个人围绕一个特定的声明启动一个 "承诺池",并邀请其他人发布代表他们同意的哈希值(最初是私有的)。只有在一段时间内有足够多的人参与,所有参与者才会被要求在链上的下一条信息中公开透露他们的立场。

像这样的设计可以通过零知识证明和区块链的组合来完成(可以不用区块链实现。可以用证人加密算法,但目前还没有实现;或者用可信赖的硬件,但其安全假设有很大问题)。到今天为止这些想法都仍有很大的探索空间,一旦以区块链技术和加密工具为中心的生态系统进一步发展,这些想法就很容易生根发芽。

与其他区块链应用的互操作性

有一个简单的例子:有些东西需要在链上才能更好地和其他链上应用交互。Proof of humanity 是一个让自动化空投更容易的链上 NFT 产品,它也可以自动赋予有“人类”证明的账户治理权限。Oracle 数据库数据的链上存储使得 defi 产品可以更轻松地读取数据。在所有这些案例中,区块链技术没有抛开“信任”的需求,即使它可以容纳像 DAO 这样的结构来管理信任。但是,在链上提供服务的主要价值仅仅是与你交互的东西在同一个地方,需要区块链技术还另有原因。

的确,你可以在链下运行一个 oracle 数据库,只在需要读取数据的时候请求要传入的数据。但大多数情况下这样的做法会花销更大,为开发者增加一些无畏的麻烦和成本。

开源的衡量标准

去中心化社会的论文其中一个关键的目标是在认证的图谱中作出预测。十分重要的一项是 评估去中心化程度和多样性。 比如,许多人看上去都会觉得一个理想的投票机制会在某种程度上考虑到多样性,给那些不仅获得最多的代币甚至人数支持的,并且获得最多的真正独特的观点支持的项目以更大的权重。

左图:假设调查显示 75% 的人支持一项提案, 25% 的人表示反对。然而,75% 的支持者作了同样的论证,来自相同的背景,看了同样的媒体内容。25% 的反对者在这三种方面都各有不同。这项提案应该被采纳么?右图:假设 90% 的人支持一项提案, 10% 的人表示反对。然而,90% 的人是在 5 年前通过类似星际迷航的复制器复制同一个人的账号复制出来的(但是自此之后不住在一起);但 10% 的人是从出生就不住在一起。这项提案应该被采纳么?
左图:假设调查显示 75% 的人支持一项提案, 25% 的人表示反对。然而,75% 的支持者作了同样的论证,来自相同的背景,看了同样的媒体内容。25% 的反对者在这三种方面都各有不同。这项提案应该被采纳么?右图:假设 90% 的人支持一项提案, 10% 的人表示反对。然而,90% 的人是在 5 年前通过类似星际迷航的复制器复制同一个人的账号复制出来的(但是自此之后不住在一起);但 10% 的人是从出生就不住在一起。这项提案应该被采纳么?

在 Gitcoin Grants 中实现的二次方融资还引入了一些明确的有利于多样性的逻辑,以减轻攻击的影响。

另一个评估和计分自然会派上用场的地方是声誉系统。这已经以中心化的形式存在于评级中,但它可以以一种更去中心化的方式进行。算法是透明的,同时也保留了更多的用户隐私。

除了像试图评估一些人的关系,并将其直接反馈给一个机制这样紧密耦合的用例,还有更广泛的帮助社区内化研究的用例。在评估去中心化程度的案例中,分辨集中程度变得更高的地区会很困难,因为这需要一个反馈来证明。在所有这些案例中,不可避免地需要针对大量的认证和承诺运行计算机算法,以及对结果进行重要地分析。

我们不应该摒弃已有的量化指标,应该创造更好的标准

Kate Sills 对于声誉进行量化的目标表示怀疑,这一论点既适用于公共分析,也适用于个人对其声誉进行零知识证明(如Unirep Social)。

评估一个说法的对错是一种主观行为,并依赖于事件的背景。人们很自然地会对其他人的可信度产生质疑,而这种信任取决于人们对那个人的了解程度。因此,我们要对任何要通过量化一种说法获取客观结果的提议持怀疑态度。

这种情况下,我认同主观性和背景知识的重要性,但我不同意进一步类推至:未来的方向就是完全避免对声誉进行量化。纯粹的个体化分析的规模不会超过邓巴的数字太多,任何试图支持大规模合作的复杂社会都必须在某种程度上依赖聚合和简化。

我认为一个开放参与的认证生态系统(相对于我们今天的中心化生态系统)可以通过创造更好的衡量标准而使我们两全其美。一下有一些我们可以遵循的设计标准的原则:

  • 交互主体性: 比如,声誉不应该单独给出整体评分;而应该是一个包括被评估的人或实体,还有观察者审核评分的更主观的评分体系,还需要包括潜在的其他影响因素的背景内容。

  • 可信的中立措施:该计划显然不应该为有权势的精英们留下空间,任由其不断为一己私利操纵一切。一些可以解决这种问题的方式是使用让透明最大化,以及不能频繁变动的算法。

  • 公开: 使用有意义输入,以及可以自行运行检查审验其他人输出数据的方法应该对所有人公开,而不只是掌握在少数有权势的组织手里。

如果我们不创造良好的大规模社会数据聚合,那么我们就有可能把市场份额让给不透明的、中心化的社会信用评分。

并非所有的数据都应该在链上,但以共识的方式公开一些数据,有利于社区的公开透明,而不会造成数据访问差异,可能导致被滥用于集中控制。

作为一个数据库

这是一个十分有争议的用例,即使那些接受大多数其他用例的人也觉得是这样。区块链领域有一个共同的看法:区块链技术只能用在那些确实需要又不得不用的情况下,其他情况下应该使用其他的工具。

这种态度在一个交易费用昂贵,并且区块链技术又低效得惊人的世界中的确说得过去。但是在一个区块链技术拥有 rollup 扩展方案和分片(sharding)技术,并且交易费用也降至几美分的世界中,这样的看法可能差点意思。使用区块链技术和没有使用区块链技术的去中心化存储之间的冗余度可能有百倍差异。

即使在区块链高效的未来,仍然没有必要把所有的数据存在链上。如果是小的文本数据呢?那当然可以。为什么?因为区块链只是一个方便存东西的地方。我在 IPFS 上维护这个博客的副本。但是上传到 IPFS 通常需要一个小时,它需要集中的网关,以便用户以接近网站水平的延迟来访问它,而且偶尔会有文件脱落,不再可见。将整个博客上链将会完全解决那个问题。当然,这个博客对于链上存储来说体量还是太大,即使是有之后的分片技术也很难解决,但是可以解决更小量级的数据存储问题。

一些将小体量数据上链的正面案例包括:

  • 增强秘密共享: 将你的密码分成 N 份,其中有任意 M = N-R 份可以恢复密码,不过这种分割法要满足你可以选择所有 N 份内容。比如,每份内容可以是密码的哈希值,秘密是通过其他工具生成的或者可以是安全问题的答案。实现的方式是通过在链上发布一个额外的 R 份内容(是随机寻找的),做共享在整个集合上 (N+R) 个秘密中的 N 份。

  • ENS 优化: ENS 可以通过将所有记录合并成一个哈希值,只在链上发布哈希值,并要求任何访问数据的人从 IPFS 上获取完整的数据,使 ENS 更有效率。但这将大大增加复杂性,并增加对另一个软件的依赖性。因此, ENS 将数据保留在链上,即使数据长于 32 字节。

  • 社交元数据 : 你想要公开的且长度短小的,连接到你账户的数据(比如,可以用以太坊账户签名登录)。通常不适用于像个人资料图片这样的大数据(尽管如果图片恰好是一个小的 SVG 文件,它或许符合这样的数据标准!),但可以适用于文本记录。

  • 认证和访问权限: 特别是当被存储的数据长度少于几百字节时,将数据存储在链上可能比将哈希值放在链上而将数据放在链下更方便。

在很多情况下,我们需要权衡的不仅是成本,还包括在密钥或密码学被破解的边缘情况下保护隐私。有时候,由于密钥泄露或者量子计算可能在30年后揭示一切的威胁,我们只是偶尔会稍微丧失一点隐私,并不像确保数据可访问性那样至关重要。存储在“数据钱包”(data wallet)中的链下数据也可能遭受黑客攻击。

但有时数据也尤其敏感,这就引发了另一个关于将数据上链并且本地存储作为第二道防线的讨论。但在这些案例中需要注意的是,隐私保护不仅是区块链技术中的一个重要课题,对于所有去中心化存储都相当重要。

结论

在上面的例子里,我个人目前最看好的两点是与其他区块链应用的互操作性和账户管理。第一个已经实现了链上操作,第二个相对便宜(每个用户只需要链上操作一次)。这方面的案例非常明显,并且真的没有一个好的非区块链解决方案。

使用负面声誉和维护被取消记录也十分重要,但这些应用仍处于早期。现在有许多场景都可以完全依赖链下的好名声认证,但我希望未来有更加明确的场景来使用负面声誉和维护被取消记录。我希望以后会有用中心化服务器来实现这种需求的尝试,随着时间的推移大家都会明白,区块链技术是避免在不便还是中心化之间两难抉择的唯一途径。

区块链作为短文本记录的数据存储可能不是很重要,但也有一定程度的用处。无论应用程序用户数量是两个还是两百万,区块链都能提供廉价且可靠的数据检索功能。开源指标仍处于早期阶段,并需要进一步观察其在未被滥用情况下所能发挥的作用以及公开化程度(例如在线评论和社交媒体 karma 等存在滥用问题)。共识游戏需要说服人们接受全新的流程用于进行重要的交涉,所以这也属于一个早期的概念。

我十分不确定这些非金融领域中区块链技术的应用程度可以达到什么水平,但很显然区块链技术在这些场景中的有利作用不可小觑。


原文:


SeeDAO 是一个基于区块链的数字城邦,其表现形态为去中心化的数字网络(SeeDAO Network) 和映射在全球各地的物理据点(Seeshore)由 SeeDAO 成员共建、共治、共享。目前已形成翻译公会、投研公会、研发公会等多个公会,一万余名成员。旨在从教育、信息、活动等多方面助力优质 Web3 项目的诞生。

官网:https://seedao.xyz

中文 Twitter :https://twitter.com/see_dao

Global Twitter : https://twitter.com/en_SeeDAO

Discord :https://discord.com/invite/seedao-xyz

Notion :https://seedao.notion.site

Mirror: https://seedao.mirror.xyz

电报:https://t.me/theseedao

添加小助手微信进入 SeeDAO 新手营:seedao2023

Subscribe to SeeDAO
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.