【人话版】分布式数字身份:通往WEB3世界的桥头堡

【注】:1)本系列文章为纯纯的个人思考,和任何职务/机构/商业完全无关。2)面向对网络、IT动态有兴趣的朋友,漫谈风格说人话,尽量避免晦涩技术。3)行文必有不成熟不周全之处,会不定期修改细节词句。4)一家之言,所以此版本暂不开放转载。

此为 【人话版】摸着WEB3过河的互联网风景线 系列第二篇

故事线:身份明确的主体,在网络中产生数据,数据里蕴含隐私,人们的隐私应该得到保护,权益要得到满足和保障....


一:从匿名到实名

以前互联网流行一句话:“网上不知道对面是不是一条狗”。近些年听得少了。

在世纪初,网络大体是匿名的。注册邮箱、论坛,只需要选择一个别人没有占用的ID或网名,比如“Bigfish007”、“深圳湾码农”,设个密码就可以登录玩起来。这是最简单的互联网身份。

非实名身份把现实和网络空间分离,一方面网民可以享用颇为放松的氛围,另一方面,人们戴着面具时,言行倾向比较“放肆”。这方面的题材至今依旧常有长篇累牍的讨论。

左:网上没真货。右:社交媒体没实话

大致2014年起,网络实名制全面实施,网络ID要绑定真实姓名、证件、手机号。无论是网站/论坛/APP/游戏,基本都实名了 -- 或者说,前台匿名后台实名:页面上看到是“Bigfish007”,后台有权限的网管们对账号持有人真实身份门儿清。

而在金融、医疗、政务这些实业行当,从一开始就要求实名开户、履行KYC(KnowYourClient)验身。

所以,在当下的互联网环境,排除不规范的注册行为之后,对面究竟是不是一条狗,已经不是个大问题了。

PS,页面上展示个没有精确到门牌号的IP,算是常规操作了,算不上多么实名和触达隐私。

二:从实名到匿名

随着互联网多元化,人们得重复注册无数个网络账号,然后可能忘记账号密码或者被盗号...都挺烦的。于是”开放平台账号”体系大受欢迎,在国民级APP上一点登录,多场景通行,如果丢失了账号也有地方去找回,便捷安逸。

但在极客们看起来并非岁月静好。他们认为,手里只有一个用户名密码,相当于把自己交给了平台,人们难以充分控制自己在平台上的一切。一般来说,绝大部分大平台不会刻意针对某个用户,但在特定情况下,或许会修改、泄露、冻结、甚至删除某些账号,有人因此抱怨平台规则不清晰、边界不明确,执行不透明。

极客们认为在加密网络体系里,生成一把私钥,基于公私钥数字签名和验证算法匿名访问网络,并依托区块链多方共识机制和密码学(细节展开又是5000字),使自己自主控制链上资产,避免大平台单点控制,如此把握住自己命运的钥匙。

私钥本体论和加密网络,重新让身份回到匿名的原点。

借一张流行网图。图里的WEB3钱包,语境偏向加密网络语境,仅供参考。

(略吐槽一嘴:这图里拼写不是很讲究)

三:不可能三角

有个挺有意思的Zooko三角形理论(非学术理论):"没有任何标识能够同时实现易记忆、安全、去中心化"。

传统的用户名密码大家都很熟悉了,反正不算“去中心化”,然后,很多人的密码都是”123456“...老梗了。这一节重点看看私钥。

私钥大致长这样:0x82dcd3c98a23d5d06f9331554e14ab4044a1d........ (随机生成并抹掉了后N位)。

既然叫“私”钥,当然要抄在纸上或者存在私有设备里,一般不给第三方或者平台托管。对于普通人,像天书一样的二进制格式私钥和对应账户地址根本没有可能记住,更不会在用到时,用键盘一个一个字母数字敲到输入框里。

借助钱包App或浏览器插件,在用户手机或电脑上存取私钥,给加密应用提供“一键验证”式体验,易用性有所提升。但私钥跨设备使用时有安全和去中心化等方面的考量,目前还没有太多产品完美实现。

图:私钥钱包和浏览器插件示意

另外,用私钥直接控制网络资产,耦合得非常刚性,意味着私钥丢失或者泄露是个麻烦事。想象一个锁和柜体焊死的保险柜,如果钥匙丢了,那只能放弃整个柜子了。如果保险柜放在公共场所(对应区块链网络),谁都有可能来开锁,那么从钥匙泄露到资产损失,可能是秒秒钟的事情。

注意:“忘记”和“泄露”私钥完全不同。只是忘记的话,可以尝试通过社交网络、助记词、委员会等机制找回私钥,略复杂但不是完全没救。

但泄露私钥没有太彻底的应对办法。目前有一些尝试多私钥或私钥分片的算法,防止一份私钥丢失即损失全体,但实现和使用流程复杂,又拐回到了“易用性”老问题上。如果像成熟的账户找回流程那样,加上刷脸、手机号等“多因子验身”等逻辑,则冲击了“匿名”和“去中心化”原则,极客们估计暂时难以妥协。

相关的课题,Vitalik提出过ERC4337提案,努力兼顾安全和易用,可供参考。

综上所述,基于加密算法的匿名账号逻辑,无论在便捷性还是安全上,目前不完全令人满意。更别提去中心化的匿名性还存在争议了。

根据互联网经验,强调“用户体验”是颠扑不破的真理,否则用户一定会用完即弃,再不回头(除非能让用户非常赚钱,忍了~)。

四:重读“身”和“份”

纠结完不可能三角问题,我们来拆一下“身份”这个词。

第一,”身“,即实体“本身”,简化理解为唯一标识。比如在现实中,“身份证号”是我们的唯一标识。如果到一个网站注册账号,别人用了Bigfish007,那你只能用Bigfish008,不能重复。私钥通常是用随机算法生成,选择合理的算法,那么私钥有极大概率是全世界唯一。这里不讲技术细节,默认“全局唯一”是个非常有价值的特性。

第二,“份”,即“份量”,指可供识别的属性,包括基本属性、凭据,资质、信用...等。不同应用向一个用户索要的“份量”都不一样,有的要得多有的要得少。比如不满21岁不能买酒、学历虚假不能求职、地址不对收不到快递,没有绑卡不能花钱、信用不足不能获取某些金融服务...诸如此类,难以一一列举。

图:身+份=身份

随着数字化生活普及,人们在网络做的事情越来越多,登记的材料越来越详细,网络身份承载的“份量”越来越重,我们也就更加离不开网络身份。

个人忘记密码或者被盗号、平台之间身份不互通不互认,都导致体验糟糕寸步难行;更重要的是,网络放大器效应意味着一个人的言行举止会影响更多人,乃至影响社会和经济。于是,对网络身份的管理越来越趋于严格规范,如果技术和机制不完善,会给某些恶意身份留出空间。这些都是现实存在的痛点。

强调一下,上述对“身份”差异化对待,是基于公序良俗和合规语境,以用户知情同意为前提,并不是“歧视”或“控制”。

那为什么私钥身份可以匿名呢?因为在大部分公有链网络上,人们只关心这个账户里有多少资产,根本不关心它是不是一条狗,本质上,“资产”就是衡量“份量”的唯一指标。这个逻辑简单粗暴,在币本位环境里足够有效,显然在治理层面又过于简单了。

实体身份之“重”,和匿名账户之“轻”,相背而行。是不是要取长补短,找到更合适的平衡呢?

五:分布式数字身份

基本哲学:不要太集中,也不要太失控,找个中间度。

分布式数字身份体系顾名思义,面向分布式网络,采用包括密码学在内的数字化技术,集标识、认证、验证能力于一身,在用户和多平台之间达成互通和互信。

更进一步,这个体系不仅仅面向“人”,还有更大“野心”把机构、物联网设备、数字资产都用一致模式接进网络。

图:平衡之道

整个体系以用户为中心,聚焦实现这些基本目标:

1:独一无二。注册时,分配一个绝对不会重复的标识,像全宇宙通用的身份证号。可以只注册一次,也可以按需注册多身份,任君选择。然后基于身份标识去申请各种凭据,如数字版学位证、活动入场证等,与这个身份绑定。

2:顺滑易用。重视用户端体验,卡包式管理多身份、多凭据,顺滑切换,用起来和扫个码、刷个卡没啥区别。还可以便捷的在多台设备上同步。

3:互通互认。验证身份和凭据后,整个网络都“认识”你,“认可”你,当然,前提是整个网络已经铺开了。尤其在跨境、跨行业、跨地域的环境中,互通互认是刚需。

4:安全隐私。用户自主管理身份和凭据,只需出示证明供验证,而不暴露明文,保护隐私;引入可选的管理员角色,协助找回或重置账号私钥,让人放心。仅在大家达成共识的基础上,才能对账号进行必要的管控,避免单个机构控制。

5:More...放飞想象力,毕竟是新事物。

和单一平台的账号体系对比,分布式数字身份强调“分布式”,即加入网络的各方共享必要信息,各司其职,共同管理和验证用户身份;用户自主管理身份,不用反复证明我妈是我妈,办事不用跑八趟。这是一种多方平等的开放生态玩法,“生态"和"平台",显然是不同的词。

要注意的是,分布式数字身份体系并不排斥原有的KYC、权威机构颁证等设定,这是合乎现实逻辑的。比如一个人的学位证,肯定是学校颁发的,驾驶证肯定是考过才有,银行流水也得有银行签名盖章。这意味着,它并非只面向完全“虚拟”的加密网络,而是更强调将实体世界里的“信任”恰如其分的传导到数字世界里,虚实结合。

分布式数字身份相当于通往数字世界的桥头堡,或者更生动一点,像哈利波特里的9¾月台,人们纵身而入,登上去往神奇世界的列车。

六:技术上有什么问题

既然是“分布式”,就需要互通的协议规范了。目前得到广泛共识的是W3C DID和VC(可验证凭据Verifiable Credentials)协议。

DID的第一个D是“Decentralized",原意是“分散/分权"等,有翻译成“去中心化”。出于众所周知的原因,我取义更中性的“分布式”,几乎等同“Distributed ”。

惯例,不讲技术细节,大致对比下全世界网站和浏览器都支持的HTTP协议:HTTP协议核心部分简单直观,来回就GET/POST等几个基本操作。同样,DID和VC协议试图统一标识和凭据格式,定义颁发、出示、验证等一些关键操作,帮助大家打开新世界的大门。

程序员眉头一皱,心想肯定没这么简单。

如果有同学写过WEB服务器或者浏览器,会知道要实现一整套能用好用的东西,还有相当大的工作量:要实现所有HTTP指令和数据解析、长短连接、安全运行、海量服务...还有用户界面、插件、HTML、JavaScript这些相关的东西呢。

HTTP的RFC文档体量有几十万字,DID协议族也是同样规模。要读完读懂这些协议,需要了解大量前置知识,如应用密码学、JWS/JWT(JSON Web验证相关术语)、CBOR(二进制对象展现)等编解码,零知识证明、选择性披露、区块链等....

更鸡贼的是,协议会告诉你:这边建议你实现互通互认和隐私保护呢~至于具体用什么技术,你自己看着办,最好是用区块链,不用嘛,能跑通就行...还有,用户体验和普及性还是要重视哈,怎么做,当然也自己看着办...

于是,看起来在协议规范层面有了共识,但在工程上仍存在差异化。在协议大框架的基础上,工程百花齐放,意味着对接起来依旧有不少大坑小坑;在普及性方面,至少得相当一部分主流手机、智能设备、APP有待嵌入分布式数字身份基础能力,否则用户感知不到或体验不好。这些事情肯定都需要时间。

当然,行业研究分布式数字身份体系也有好几年了,相关开源项目、软硬件解决方案,以及实际场景应用,很多人都做过,有的已经成了行业事实标准。

从技术上讲,并没有什么不可逾越的门槛。作为一个码农,甚至可以大胆说一句,当需求来了,技术基本不是问题。

七:还有什么问题

深入想想,是谁需要分布式数字身份?用户只关心好不好用,并不关心是什么。对企业,平台呢?

一般来说,“身份管理”本身不会成为平台的主力商业模式(除了卖“靓号”以及提供基础服务),而是前置的重要基础入口,以及应用互通的门岗。

如果平台玩家们心态Open,开门迎客,互通起来那是极好。根本问题是:互通究竟能带来什么好处?

在WEB2.0时代,有些平台的运营哲学是花大成本拉新,然后筑起一道道防火墙把用户留住,“我的地盘听我的”。让平台把最宝贵的用户资源轻易放出去,显然不是愉快的事情,即使平台被强令要求互通,也是扭扭捏捏开放一点点栅栏而已。

全面、顺滑、体验优秀的互通,目前还非常鲜见。

假定“人口红利见顶”这个逻辑成立,意味着拉新空间不大且边际收益降低。最终业务增长要回归“价值”和“体验”,给存量用户更大空间,也是给平台自己更多可能性:用户通了,数据和资金可能也随着了。如果大家认同这个趋势,从利益动机出发寻求合作共赢(听起来像口号),才有可能会出现更多场景可能性。

在商业之上,还有公信力和治理挑战。简单来说,人在数字世界里自由流动,很容易突破原有地域管辖、行业规范和法律边界,那么一个国家/行业/机构颁的证,到其他地方以及行业是否被认可?如果出现违规,导致用户权益或公共安全受损,是否有相应法规和治理方法,来保证全网通办的检测审计,并跨域协作、有效执行?

以上,就不仅是技术问题了。亟需找到有强驱动力的刚需场景,设计更完善的合作模式和治理框架,构建更周全的技术基础设施,寻求更广泛的行业共识,如此,方能迎来更大规模应用落地。

结语

只谈趋势还是笼统,细谈场景却篇幅不够。我懂,有兴趣以后聊。

理想是美好的,现实是骨感的。一地的砖肯定是要慢慢搬,总之,技术得先有足够准备度。

当技术和场景需求互相推动,相应治理法规逐步完善,拼图将更加完整,更多人将拥有新一代数字身份。

就像大话西游里那首歌:Only You~~! 等你明白当中意义,你就会回来跟我一起唱这首歌的~

参考资料:

网络实名制_百度百科

2020 年使用率最高的密码,它排第一_技术 

https://github.com/w3c/did-core DID协议规范

https://github.com/w3c/vc-data-model VC规范协议

https://medium.com/infinitism/erc-4337-account-abstraction-without-ethereum-protocol-changes-d75c9d94dc4a ERC4337

猜你喜欢

转载自blog.csdn.net/vcbear/article/details/125188546