风险提示:防范以虚拟货币/区块链名义进行的非法集资风险。 ——银保监会等五部门

V神长文:区块链在非金融应用程序中有哪些使用?

白话区块链 2023-06-13 13:34:11
微信分享

扫码分享

最有信心的两个用例:与其他区块链应用的互操作性和账户管理

作者:Vitalik / 来源:vitalik

最近,人们对区块链非金融应用的兴趣越来越高,这也是我一直非常赞成的。上个月,我与 Puja Ohlhaver 以及 Glen Weyl 合写一篇论文,描述了一个更详细的愿景,即在一个更丰富的生态系统中,灵魂绑定Token(SBT)可以做些什么,这些Token可以描述各种关系。这也引发了一些讨论,大家关注点在于,在一个去中心化的身份生态系统中使用区块链是否有意义。

由此,我们进一步提出一个问题:在非金融应用中使用区块链究竟有什么意义?我们是否应该走向这样一个世界:即使是去中心化的聊天应用,每条消息都是通过包含加密信息的链上交易来处理的?或者说,区块链是否只适合金融业(比如,因为网络效应意味着货币对“全球视野”有独特的需求),而所有其他应用最好使用中心化或更本地化的系统来完成?

我自己的观点就好像区块链投票一样(Odaily 注:V 神暗示自己比较中立客观),既不是「区块链万能主义」(blockchain everywhere),也不是「区块链极简主义」(blockchain maximalist)。我看到了区块链在很多情况下的价值,有时是为了真正重要的目标,比如信任和抵制审查,但有时纯粹是为了方便。这篇文章将尝试描述区块链,可能在某些方面起到作用或者可能没有用的情况。请注意,本文并不是一个完整的清单,而且有意遗漏了很多东西,我们的目标是阐明一些常见的类别。 

一、用户帐户密钥更改和恢复

加密帐户系统中最大的挑战之一是密钥更改问题,可能发生以下几种情况:

  • 「 1 」你担心你现在的钥匙可能会丢失或被盗,并想换一个不同的密钥;

  • 「 2 」你想要切换到一个不同的加密算法(例如,因为你担心量子计算机很快就会出现,你想升级到后量子算法);

  • 「 3 」你的密钥丢失了,你想要重新获得对帐户的访问权;

  • 「 4 」你的密钥被盗了,你想重新获得对账户的独家访问权(你不希望小偷也能做到这一点)。

实现前两点相对简单,因为它们可以以完全自主的方式完成:你控制密钥 X,你想切换到密钥 Y,所以你发布一条由 X 签名的消息,说“从现在开始用 Y 验证我”,所有人都接受这一点。

但请注意,即使对于这些比较简单的密钥更改场景,你也不能仅仅只使用密码学。考虑一下下面的情况:

  • 你担心密钥 A 可能被盗,所以你用 A 签署消息说“我现在使用 B”;

  • 一年后,黑客确实窃取了密钥 A,但他们可以用 A 签署消息说“我现在使用 C”,其中 C 是他们自己的密钥;

对同时收到两条消息的后来者而言,他们只看到 A 不再被使用,但他们不知道“用 B 替换 A”以及“用 C 替换 A”这两个消息谁具有更高的优先级。


这跟设计去中心化货币时遇到的「双花问题」很像,只不过这次的目标不是防止Token的前主人再次发送,而是防止控制帐户的前密钥能够更改密钥。就像创建去中心化货币一样,以去中心化的方式进行账户管理需要像区块链这样的东西。区块链可以为密钥更改消息加上时间戳,从而判断 B 或 C 孰先孰后。

要想解决「 3 」和「 4 」更难,我自己的首选解决方案是多重签名和社交恢复钱包。如果丢失或被盗,你的朋友、家人和其他联系人可以将你的帐户的控制权转移到新的密钥。对于关键操作(例如,转移大量资金或签署重要合约),也可能需要他们参与。

使用秘密共享的「社交恢复」在理论上是可行的,但在实践中比较困难:如果你不再信任你的某些联系人,或者他们想更改自己的密钥,你无法在不更改密钥的情况下撤销访问权限。因此,我们又回到了这个问题——需要某种形式的链上记录。

DeSoc 论文中的有一个微妙但很重要的想法:为了保持不可转移性,社交恢复的配置文件实际上可能需要强制执行。也就是说,即使你出售了自己的帐户,你也可以随时使用社交恢复来取回帐户所有权。这将解决一些问题,比如信誉不佳的司机在共享乘车平台上购买经过验证的账户。这是一个推测性的想法,不一定要完全实现,才能获得基于区块链的身份和信誉系统的其他好处。

请注意,到目前为止,这只是区块链的一个有限的使用案例:在链上有账户但在链下做其他事情,这是完全可以的。这类混合愿景有其用武之地;Sign-in With Ethereum 是一个很好的简单例子,说明了如何在实践中做到这一点。

二、修改和撤销认证

Alice 进入 Example College 获得了学位,并她得到了一份数字记录证明,上面有 Example College 的密钥签名。不幸的是,六个月后,Example College 发现 Alice 大量剽窃,撤销了她的学位。但是 Alice 依然继续使用旧的数字记录四处走动,向各种人和机构声称她拥有学位。甚至该证明可能还附带一些权限(例如,登录学院在线论坛),Alice 也可能会尝试我们如何防止这种情况?

“区块链极简主义”的做法是让学位成为链上 NFT,这样 Example College 就可以发布链上交易来撤销 NFT。但这也许是必要的开支:发行很常见,撤销很少见;我们不想让 Example College 在不必要的情况下发行交易并为每次发行支付费用。因此,我们可以采用混合解决方案:将初始学位设为链下签名消息,而在链上进行撤销。这就是 OpenCerts 使用的方法

许多链下可验证凭证支持者所倡导的完全脱链的解决方案,是让 Example College 运行一个服务器,他们在其中发布撤销证书的完整列表(为了提高隐私,每个证明都可以附带一个随机数,撤销列表可以只是一个随机数列表)。

对于一所大学来说,运行一个服务器并不是一个很大的负担。但对于其他较小的组织或个人来说,管理“另一个服务器脚本”并确保其保持在线,对 IT 人员来说是一个很大的负担。如果我们告诉人们,出于对区块链的恐惧而“只使用服务器”,那么可能的结果是每个人都将任务外包给一个中心化的供应商。最好是保持系统的去中心化,只使用区块链——尤其是现在 rollups, sharding(分片)和其他技术终于开始上线,使区块链的成本越来越低了。

三、负面声誉

链下签名无法胜任的另一个重要领域是「负面声誉」——也就是说,你所做的证明涉及的个人或组织可能不希望你看到它们的证明。这里我使用“负面声誉”作为一个技术术语:最明显的使用案例是关于某人的不良评价,比如不好的评论或者某人在某些情境下负面的行为报告;但也有其他一些场景需要进行“负面”的证明,而这并不意味着不良行为——例如贷款时想要证明你没有同时贷过太多其他贷款。

对于链下声明,你可以做正面的声誉,因为对于声明的接收者来说,展示它可以让自己更具信誉(或进行零知识证明);但你无法做负面声誉,因为人们总是选择展示正面声明,而忽视其他所有不好的声明。

因此,将证明写入链上实际上可以解决上述问题。为了保护隐私,我们可以添加加密和零知识证明:证明可以只是一个记录在链上的数据,该数据使用接收者的公钥进行加密,并且用户可以通过运行零知识证明来证明自己没有负面声誉,这需要遍历整个链上记录的历史。证明是在链上的,而验证过程是区块链感知的,因此很容易验证证明是否实际遍历了整个历史并且没有跳过任何记录。为了使这种计算变得可行,用户可以使用增量可验证计算(例如 Halo) 来维护和证明一个记录树,然而在需要时显示树的部分内容。

负面声誉和撤销证明在某种意义上是一个等价的问题:你可以通过添加另一个负面声誉的证明来撤销一个证明,该证明表示“这个其他证明不再有效”,并且你可以通过正面声誉来实现负面声誉的撤销:Alice 在 Example College 的学位可以被撤销并替换为一张学位证明,上面写着“Alice 获得了 example studies 的学位,但她大量剽窃”。

负面声誉是一个好主意吗?

我们有时会听到对负面声誉的一种批评是:负面声誉不就是一种反乌托邦式的“scarlet letters ”二元方案吗,难道我们不应该尽力用正面声誉来做事情吗?(Odaily 注:scarlet letters 小说中的女主被处罚,需要在胸前配戴一个象征“通奸”的红字“A”。)

虽然我支持避免无限制的负面声誉的目标,但我不同意完全避免它的想法。负面声誉对于许多用例来说非常重要。无抵押借代对于提高区块链领域内外的资本效率非常有价值,显然可以从中受益受。Unirep Social 展示了一个概念验证社交媒体平台,该平台将高度匿名性与保护隐私的负面声誉系统结合起来,以限制滥用。

有时,负面声誉可以赋予权利,而正面声誉可能具有排他性。一个在线论坛,每个人都有权发帖,直到他们因为不当行为得到太多“惩罚”为止,这比需要某种“良好品德证明”才能获准发言的论坛更加平等。大部分生活在“系统外”的边缘人,即使品行再好,也很难拿到这样的证明。

强烈支持公民自由主义的读者也可以考虑一下,匿名声誉系统为性工作者客户提供服务的情况:你希望保护隐私,但你也可能想要一个系统——如果客户虐待性工作者,其他人可以看到并更小心远离。通过这种方式,难以隐藏的负面声誉实际上可以赋权弱势群体并保护安全。这里的重点不在于为负面声誉的某种具体方案辩护;相反,它是要显示负面声誉可以释放非常真实的价值,而一个成功的系统需要以某种方式支持它。

负面声誉不必是无限制的负面声誉:我认为应该始终可以以一定成本(可能会牺牲大部分或所有现有正面声誉)创建新的个人资料。问责制太少和问责制太多之间存在平衡,我们需要找到这个平衡点。但是,首先拥有一些可能使负面声誉成为可能的技术是解锁这个设计空间的先决条件。

四、致力于稀缺性(稀缺性证明)

区块链价值的另一个案例是签发数量有限的证明。如果我想为某人背书(例如,可以想象公司招募或政府签证项目时可能会查看此类背书),查看背书的第三方可能会想知道我是否谨慎对待背书,还是几乎只要是我的朋友进行了礼貌地请求,我就给他们背书。

解决这个问题的理想方案是将背书公开,这样背书就会变得与激励相一致:如果我背书的人做了错事,将来大家都可以给我的打折。但很多时候,我们也想保护隐私。因此,我可以在链上发布每个背书的哈希值,以便任何人都可以看到我发出了多少个背书。

一个更有效的用例是一次性发行多个:如果艺术家想要发行 N 份“限量版” NFT,他们可以在链上发布包含其发行 NFT 的 Merkle 根的单个哈希。单次发行可以防止他们在事后发行更多,你可以将表示数量限制的数字(例如 100 )与 Merkle 根一起发布,表示只有最左边的 100 个 Merkle 分支是有效的。

通过在链上发布单个 Merkle 根和最大计数,你可以提交数量有限的证明。在此示例中,只有五个可能的有效 Merkle 分支可以满足证明检查。精明的读者可能会注意到与 Plasma 链的概念相似性。

五、公共知识

区块链的强大属性之一是它们创造了公共知识:如果我在链上发布了某些内容,那么 Alice 可以看到它;Alice 可以看到 Bob 可以看到它;Charlie 可以看到 Alice 可以看到 Bob 可以看到它,等等。

公共知识通常对协作很重要。例如,一群人可能想就某个问题发表意见,但只有在有足够多的人同时发言以便自己可以安全地隐藏在人群中时,他们才会感到舒适。实现此目标的一种可能方法是让一个人围绕特定声明启动一个“承诺池”,并邀请其他人发布哈希值(首先是私密的),表示他们的同意。只有在一定时间内有足够多的人参与,所有参与者才需要在他们下一条链上消息中公开表明自己的立场。

这样的设计可以通过零知识证明和区块链相结合来实现(无需区块链也可以实现,但这需要见证加密——目前尚不可用;或者需要可信硬件,其安全假设存在严重问题)。围绕这些想法有很大的设计空间,今天还没有得到充分探索,但随着区块链和密码学工具的生态系统进一步发展,它将迅猛增长

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

这是一个简单的例子:某些事物应该在链上,以便更好地与其他链上应用进行互操作。作为链上 NFT 的人类身份证明,便于项目自动空投或向拥有人类身份证明资料的帐户授予权限。将预言机数据放在链上,使得去中心化金融(DeFi)项目更容易读取。在这些情况下,区块链并没有消除对信任的需求,尽管它可以容纳管理信任的结构(例如 DAO )。链上存在的主要价值仅仅是与你正在互动的东西位于同一位置,而这需要出于其他原因使用区块链。

当然,你可以在链下运行预言机,并仅在需要读取数据时导入数据,但在许多情况下,这实际上会更昂贵,并且给开发者带来不必要的复杂性和成本。

七、开源指标

去中心化社会论文的一个关键目标是实现在证明图上进行计算的可能性,一个非常重要的指标是衡量去中心化和多样性。例如,很多人似乎认为,理想的投票机制会考虑到多样性,给予那些不仅得到大量Token甚至人类支持,而且得到真正不同观点支持的项目更大的权重。

在 Gitcoin Grants 中实施的二次方资助还包括一些明确支持多样性的逻辑来减轻攻击。明确支持多样性的逻辑以减轻攻击

另一个可以使衡量和评分变得有价值的是信誉系统。这已经以中心化的方式存在于评级中,但它可以以更去中心化的方式进行,使算法透明,并同时保护更多的用户隐私。

除了像这样紧密耦合的用例(尝试衡量某些人的联系程度并将其直接输入机制)之外,还有更广泛的帮助社区了解自身的用例。在衡量去中心化方面,集中度过高的领域可能需要做出回应。在这些情况下,在大量证明和承诺上运行计算机算法,并对输出进行实际重要操作是不可避免的。

我们不应该试图废除量化指标,我们应该努力创造更好的指标

Kate Sills 表达了她对计算声誉目标的怀疑,这一论点既适用于公共分析,也适用于个人 ZK 证明其声誉(如 Unirep Social):“评估声明的过程是非常主观且依赖于具体情境。人们自然会对其他人的可信度产生分歧,信任取决于情境……(因此)我们应该对所有声称“计算”可以获得客观结果的提议持极度怀疑的态度。”

在这种情况下,我同意要重视主观和背景,但我不同意这种说法——即完全避免围绕声誉进行计算就是正确的。纯粹的个性化分析不会远远超出「邓巴数」,任何试图支持大规模合作的复杂社会都必须在某种程度上依赖聚合和简化。(Odaily 注:邓巴数也称「 150 定律」,指能与某个人维持紧密人际关系的人数上限,通常人们认为是 150 。)

话虽如此,我认为一个开开放参与式的证明生态系统(与我们今天拥有的中心化生态系统相反)可以通过为更好的指标开辟空间实现两全其美。以下是此类设计可以遵循的一些原则:

主体间性:例如,声誉不应该是一个单一的全球评分;相反,它应该是一种更主观的计算,涉及被评估的个人或实体、查看评分的观察者,甚至可能是当地环境其他方面。

可信中立性:该方案显然不应留下空间,避免让强大的精英们不断地为自己谋利而操纵它。实现这一目标的一些可能方法是最大的透明度和较少改变算法。

开放性:进行有意义的输入以及通过自己检查其他人输出的能力,应该对任何人开放,而不仅仅局限于少数强大的群体。

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

并非所有数据都应该在链上,但以一种常识性的方式公开一些数据,可以帮助提高社区对自身的可读性,而不会造成数据访问的差异,从而可能被滥用来进行集中控制。

八、作为数据存储

这是一个真正有争议的用例,即便很多人接受了区块链其他用例。在区块链领域,有一种普遍观点认为,区块链只应在真正需要且无法避免的情况下使用,在其他地方我们应该使用其他工具。

在交易费用非常昂贵且区块链效率极低的世界里,这种观点是有道理的。但在具有 rollups 和分片以及交易费用降至几分钱的区块链中,这种想法就不那么合理了。在这样的世界里,区块链和非区块链去中心化存储之间的冗余差异可能只有 100 倍。

即便在这样的世界里,将所有数据都存储在链上也是不明智的。但小型文本记录呢?绝对可以。为什么?因为区块链实际上是一个非常方便存储东西的地方。我在 IPFS 上保存了这个博客的副本。但上传到 IPFS 通常需要一个小时,它需要中心化的网关才能让用户以接近网站级延迟的速度访问,有时文件会消失,无法再查看。另一方面,将整个博客转储到链上将彻底解决这个问题。当然,即使是在分片之后,博客也太大了,无法实际转储到链上,同样的原则适用于较小的记录,

一些可能将数据存储在链上的小型案例示例包括:

增强秘密共享:将密码分成 N 部分,其中任何 M = N-R 部分都可以恢复密码,但你可以选择所有 N 部分的内容。例如,这些片段可能都是密码的哈希值、通过其他工具生成的秘密或安全问题的答案。通过在链上发布额外的 R 部分(看似随机),并对整个集合进行 N-of-(N+R) 秘密共享。

ENS 优化。通过将所有记录合并为一个哈希值,仅在链上发布哈希值,并要求访问数据的任何人从 IPFS 获取完整数据,ENS 可以变得更加高效。但这会显著增加复杂性,并增加对另一个软件的依赖性。因此,即使 ENS 的数据长度超过 32 字节,也会保留在链上。

社交元数据 - 与你帐户相关联的数据(例如用于以太坊登录),你希望公开,而且长度非常短。对于文本记录来说可以,但通常不适用于较大的数据,例如个人资料图片(如果图片恰好是一个小的 SVG 文件,可能适用)。

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

在许多情况下,权衡的不仅仅是成本,还包括密钥或密码被破解的极端情况下的隐私。有时,隐私只是在某种程度上很重要,与其担心泄露的密钥或量子计算带来的偶然隐私损失,还不如确保数据可以始终可靠地访问。毕竟,在您的“数据钱包”中存储的链下数据也可能被黑客攻击。

但有时,数据特别敏感,这可能只是另一个反对将其放在链上而是将其存储在本地作为第二层防御的论据。但请注意,在这些情况下,隐私需求不仅是反对区块链的论点,也是反对所有去中心化存储的论据。

结论

在上面的列表中,我个人目前最有信心的两个用例是「与其他区块链应用的互操作性」和「账户管理」。第一个已经在链上,第二个相对便宜(每个用户需要使用一次链,而不是每个操作一次),其案例明确,而且真的没有一个好的基于非区块链的解决方案。

「负面声誉」和「撤销认证」也很重要,尽管它们仍然是相对早期的用例。仅依靠链下正面声誉可以用声誉做很多事情,但我预计随着时间的推移,撤销和负面声誉的案例会变得更加清晰。我预计有人会尝试使用中心化的服务器来做到这一点,但随着时间的推移,所有人应该清楚:区块链是唯一能避免在不便和中心化之间做出艰难选择的途径。

区块链作为短文本记录的数据存储可能是微不足道的,也可能具有重要意义,但我确实期望这类用途至少可以继续发生。区块链对于低成本和可靠的数据检索来说确实非常方便,无论应用程序有两个用户还是两百万用户,都可以继续检索数据。

开源指标仍处于非常早期的概念阶段,在不被利用的情况下(例如在线评论、社交媒体评价等经常被利用)能做多少事情还有待观察。而共同知识游戏需要说服人们接受全新的工作流程来处理社会重要事物,所以这当然也是一个早期阶段的想法。

我很不确定这些类别中非金融区块链的具体使用程度,但显然,在这些领域区块链作为一种推动工具不应该被否定。

白话区块链

区块链世界入口第一站,人人都能看懂的区块链;24 小时热点实时追踪。