ToIP 介绍
Trust Over IP 基金会 (简称ToIP基金会)是2020年5月份成立的一个国际行业组织,其任务是在互联网规模上, 为 数字信任 提供可靠、通用的标准以及完整的架构。
ToIP基金会白皮书 目前是2.0版本,在2021年11月份发布。
ToIP的4层2组模型 ,描述了未来可信互联网的底层协议和基础设施,如下图(拷贝自ToIP网站):

这是静态版本的模型图,上文所给 ToIP的4层2组模型 是动态版本的,有兴趣的读者话可以去玩玩。
我个人对ToIP的理解,可以类比为早期的TCP/IP协议,ToIP是架构新的互联网信任层(区别于目前的DNS/CA),通过行业协会的方式来定义协议、数据格式和通用的治理需求, 确保未来的各个组件能够互操作,用户不会被锁定在特定的软硬件供应商上。就像现在的http(s)和html、javascript标准,有不同的浏览器都可以完成上网浏览的任务;而 未来的ToIP各层标准,会导致不同的数据钱包(身份钱包)厂商提供不同的软硬件产品,但用户可以自由的携带自己的数据切换喜欢的产品。
读者朋友,你怎么看?
可信历史的价值
中国人的信仰
中国人常常被人说没信仰,实际上是多数人不了解中国人,包括中国人自己。在非儒家体系中,信仰一般就是指宗教信仰,而中国人是实用主义的, 并没有表现出对某个宗教狂热的信仰,儒、释、道都信一点,又不全信,不同派别的神仙还能在一个庙里共存,但是这就意味着中国人没信仰了吗?
中国人信自己的祖先:我们通过祭祀这种仪式传承和强化了这种信仰。我们的祖先也是人,他们如果做出了成绩,我们以作为他们的后世子孙而骄傲; 他们如果默默无闻,我们希望在自己这一代或者自己的后代中做出 光宗耀祖 的大事来。
信仰祖先者,信仰历史也。一个皇帝,后人会根据他的生平给他一个嗣号;一个大臣,后人会评说他的忠奸。 苏东坡那样有学问又豪放的人总是得到更多中国人的喜爱;苏浙的钱氏家族总是人们羡慕和学习的家族。数风流人物, 人们希望自己 留名青史 ,而不是 遗臭万年 。一个有影响的人走到生命的尽头,会被其他人 盖棺定论 。
“因为要 光宗耀祖 、 留给子孙更好的生活环境 、 留名青史 ,所以我们需要在当下奋斗”, 这难道还不算信仰吗?所以说,中国人对历史有信仰。
可是,”历史是任人打扮的小姑娘“,真正可信的历史是啥?
我们不能修改过去,但是我们每一天都在创造新的历史。
如果有一种方法能够可信的记录历史,就为我们的子孙后代留下了一笔宝贵的精神财富。
一个小故事和一个假设
杨俊平老师在上课的时候说过一个事情:他的企业,各种报表对内全是公开的,因此根本不用和那些地方行政官员有任何勾兑。 我得说,这是对历史负责任的态度。但是他说的这个话有多大可信度呢?以我对他的了解,大约是可信的。“没准他会让一些人 临时做报表应付检查”。
在数字时代,如果
- 每份报表都做了数字化,并且归档
- 每份数字化的报表都有责任人的数字签名
- 每份数字签名被记录到一个不可篡改内容和时间戳的数字基础设施中
- 这些数字化的签名,加上所有的数字化报表本身,能够形成不可篡改的数据链条
- 我能通过计算机程序验证上面4点准确无误
那么我对杨老师的话就没法不信了,因为我不信他就是不信数学。
可信博客
我现在所写的博客,是2013年开始的,但我这么说,除了寥寥可数的,从当年就开始看我博客的读者,并不能让今天或者后来看到的读者相信。 以现在的技术,伪造是分分钟的事情。
如果
- 创造了一个Git仓库,作为博客内容的原始数据(我说的这其实是事实)
- 把每一个推送的Hash值,及时的关联到一个比特币区块链的交易(这是真正的假设,2013年我不会用比特币钱包)
那么就可以证明,这个博客确实是2013年开始写的。在此基础上如果
- 我自己是那些“关联hash比特币区块链交易”的唯一发送方
就可以进一步证明这些博客是我写的,而不是什么别的人。
自主身份的未来
在自主身份的未来,我能够以更低的成本完成可信博客,也能够用数学手段帮杨老师创建一个真正可信的报表记录。 无论是我还是杨老师,在和陌生人交流时,就更容易让人信服的了解自己。
让我们以对历史负责的态度,赶快让这个未来变成现实吧!
自主身份例子:发证图解
上次的 发证 例子过于技术化和文本化,本文用一些图来弥补这个不足。说明:本文的图来自 Hyperledger Indy项目 的 培训材料 ,感兴趣的读者可参考 这里 。这些图展示了在自主身份的未来,一个人怎么在线上办里银行卡。







一个DID的例子(did:web)
W3C DID标准 是关于DID的规范,这里DID是指去中心化标识符(英文 Decentralized Identifier)。 这个标准位于自主身份社区中的底层,用来解决在去中心化/自主身份的世界,给人、机构或者物“命名”的基本问题。
一个DID的形式如下:
did:<METHOD>:<ID>
其中,<METHOD>是指用什么方法来解析(resolve)这个标识符,而<ID>的规范由<METHOD>来定义。我这里给一个今天做出来的例子:
did:web:blog.xiaofuxing.name
这个DID,是我刚刚生成的一个did,中间的 :web: 表示我用 DID WEB 方法。DID WEB方法是一个可以从Web2 的世界创建或者链接一个DID的方法,与任何区块链无关。只要你控制或授权控制一个域名下的web服务点 ,就可给自己创造一个类似的DID。在上面的例子中,因为我控制了 blog.xiaofuxing.name的域名,所以我就能创造一个那样的DID。
本文的主要内容是关于技术的,回答了两个问题:
- 如何解析这个DID?
- 如何创建这个DID?
在回答这两个技术问题之前,我得说说非技术的问题,好让非技术读者理解这么做的意义。 解析的目的,在于作为博客读者的你,可以获得关于这个DID的信息,尤其是公钥,为咱们(我和你)可以安全的点对点通信创造了一个可能的安全条件。 当你(DID的通信对端)解析了这个DID的文档后,实际上就知道了我(DID的创建者,或者说控制者)的相关信息,尤其是公钥信息,如果我也知道你的DID并 解析到你的DID文档,那么咱俩就有可能安全通信,而咱俩的通信信息(在理想情况下)不会被任何第3方截获。当然,DID Web并不是一个特别安全的DID方法, 尤其是它的安全性建立在目前的PKI ( DNS/CA/X509/TLS 这些技术)之上的,而自主身份设计的一大目标是替代目前的PKI。因此当目前PKI的弱点被攻击, 例如一个黑客通过域名劫持就很可能让你解析到一个虚假的DID文档,这时候你所理解的“咱俩的通信”就显然是不安全的。不过,作为概念演示和过渡方案, DID Web方法仍然有意义。
解析方法
利用一个 DID web resolver工具,解析即可。例如如下代码
const { Resolver } = require( 'did-resolver' )
const { getResolver } = require( 'web-did-resolver' )
const webResolver = getResolver()
const didResolver = new Resolver({
...webResolver
//...you can flatten multiple resolver methods into the Resolver
})
didResolver.resolve('did:web:blog.xiaofuxing.name').then(doc => console.log(JSON.stringify(doc,null,2)))
创建方法
我参考了 这篇文章 。
第0步,准备一个开发环境:一个linux发行版。
第1步, 安装rust 。
第2步, 安装didkit 。
第3步, 生成公私钥对,命令行
$ ./target/debug/didkit key generate ed25519 > firstkey.jwk
第4步,生成一个 did:key 标识符,命令行
$ ./target/debug/didkit key-to-did --key-path firstkey.jwk
得到输出:
did:key:z6MkuMDR7gtqicfb9eVZWrm2ou7h5bpf8tnn4hu3fYY7bBsB
第5步,解析 did:key 标识符,得到一个 did:key 的文档(did document), 命令行:
$ ./target/debug/didkit did-resolve did:key:z6MkuMDR7gtqicfb9eVZWrm2ou7h5bpf8tnn4hu3fYY7bBsB > keydid.json
第6步,修改为目标的did:web 的文档,命令行:
$ cp keydid.json webdid.json
$ sed -i -e "s/:key:/:web:/g" webdid.json
$ sed -i -e "s/z6MkuMDR7gtqicfb9eVZWrm2ou7h5bpf8tnn4hu3fYY7bBsB/blog.xiaofuxing.name/g" webdid.json
$ sed -i -e "s/#blog.xiaofuxing.name/#firstkey/g" webdid.json
第7步,将得到的 webdid.json 放到博客目录下,使得可以从这个URL: https://blog.xiaofuxing.name/.well-known/did.json 可以下载这个文件。
为什么自主身份如此重要
本文讨论一个命题:为啥自主身份如此重要?首先简要介绍一下自主身份的概念。英文Self-Sovereign 是指“自我主权”,就是不依赖其他力量或者国家的意思。那么自主身份就是指 “不依赖其他力量或者国家的身份”,应该把国家换成公司,就是“不依赖其他力量或者公司的身份”,也就是:自己控制的身份。
自主身份的重要性,在于控制权的转移。转载来自《Self-Sovereign Identity》书中的图:

在原来的系统中,用户处于边缘地位,验证者和身份提供者自己通信。 而自主身份系统中,用户处于中央,其他角色都是在用户同意的情况下和其直接通信。 当用户控制了身份和凭据之后,当前互联网上身份问题 就好解决了。
另外之前和同事合作的 B站视频【自主身份和自主存储,为什么,是什么】 对这个问题有一个直观的介绍。只不过当时强调区块链,而从现在来看,区块链只是自主身份的一个可能选项而已。
自主身份例子: 发证
为了形象的描述自主身份的概念,我准备写几个场景。首先就是发证场景。
发证是指颁发机构(issuer)给证书持有者(holder)颁发凭据(credentials),这完成了第一步,第二步是持有者给相关方(relying party)选择展示凭据中的部分或者全部项目。
在线下场景中,发证非常常见。例如学校给学生颁发毕业证、学位证,而学生可以拿这些证件展示给用人单位。自主身份的一大场景就是这种发证场景,只不过把 这种线下的发证模式搬到线上了。与自主身份结合,发证的一般需求如下:
存在一个去中心化的注册数据库(Registry),各利益相关方(issuer、holder、relying party)可独立注册自己的身份。
holder必须持有一个数字钱包,该钱包可管理holder的数字身份和各种凭据。
issuer必须有一个发证平台,可与holder的数字钱包通信,将凭据发送到holder的数字钱包中。
relying party必须有一个验证平台,可与holder的数字钱包通信,接受holder钱包中持有的某个或某些凭据中的项目,并验证:
- 其确实为issuer签发
- 为holder所有
- 尚未被吊销
- 发证时间
relying party在验证这些属性的时候,不需要issuer参与。
holder钱包和relying party的验证平台通信时,由holder自主决定展示哪些凭据以及凭据项目。
issuer可吊销已经发出的凭据,当然也可以发新的凭据。
与线下模式相比,relying party验证凭据的时候,其可信度是更高的,因为有数字签名体系、可信时间戳等等这些自主身份的一整套基础设施做支撑(现在还没有那么完善的东西,这是愿景),最后我们相信的其实是数学。
因此,发证场景中的凭据必须是可验证凭据(verifiable credentials, 简称VC)。
由于有可信的时间戳,relying party可验证发证时间,这可以避免线下场景中的临时造假。
数字身份的三种模型
数字身份(digital identity)有三种模型,分别是:中心化身份、联邦身份和去中心化身份。
第一种模型,中心化身份,就是每个网站/APP一个帐号,网站/APP后台为每个用户存储独立的帐号信息。 这很好理解,我们非常熟悉这种模型。这种模型的问题在于:
- 帐号太多,难以管理,
- 每个网站/APP需要独立的做需要的身份信息核实
- 每增加一个后台,用户身份信息的泄漏风险就增加一种可能
- 用户无法控制自己的帐号和数据
第二种模型,联邦身份,是指有一个身份提供商介于用户和最终网站/APP之间,用户使用身份提供商的身份来“登录”最终的网站/APP。 在中国,常见的身份提供商包括微博、微信、支付宝、手机号运营商。这种模式下,帐号会比第一种少很多,身份信息核实平台也少,但 用户仍然无法控制自己的帐号和数据。
第三种模型,去中心化身份,用户和网站/APP是对等关系,其“共享”一个通信通道,而这个通信通道不属于任何一方。这种模式的最佳例子 是以太坊上的Dapp,Dapp是去中心化APP,而普通以太坊地址(非合约地址)对应用户身份。去中心化身份的最大好处是用户夺回了 身份和数据的自主权,平台和Dapp都无法在用户不同意的情况下修改用户的数据。 在这种模型中,理想的去中心化身份模式应该能够:用最少的身份,访问尽可能多的应用。所谓最少,是用户控制的最少:如果用户愿意,1个就行。从这个角度看, 如果能有一个互联网规模的去中心化身份基础设施(事实上已经有组织和项目开始做了,具体是啥本文暂且不表),所有的用户都共享这个基础设施来创建、使用和删除数据,简直不要太爽!仅仅以太坊地址作为去中心化身份,因为是区块链内的,还远远不能达到理想的 要求。
在后续文章中,我将重点关注去中心化身份,因为这代表未来。而自主身份(英文Self-Sovereign Idengity, 简写为SSI)必然要求是去中心化的, 否则没没法做到“自主”。至于去中心化身份和自主身份的异同,我想
- 二者是包含关系:去中心化身份是超级,自主身份是子集。
- 去中心化身份更强调身份标识和公私钥对,而自主身份的概念中还暗含“可验证凭据”(verifiable credentials)。
自主身份的概念后文待续。
互联网身份的问题
很久没有更新博客了,笔者最近系统的了解了一些网络社区的动态,这些社区都是关于互联网身份的。基于这些了解,我约莫有个宏大的观点: 那就是自主身份(英文Self-Sovereign Idengity, 可简写为SSI)将必然逐渐代替目前互联网上常用的身份机制,我们应该做点什么来迎接和促进这个过程。 千里之行,始于足下,目前想写一系列关于自主身份的文章,和感兴趣的读者探讨。
和任何广告一样,先得贩卖焦虑:今天这一开篇的内容,就说一说目前互联网身份的问题。本文主要内容来自一本书,是 manning 出版的 ,书名就叫“Self-Sovereign Idengity”,副标题是“Decentralized digital identity and verifiable credentials”。 主要作者有两位,Alex Preukschat和Drummond Reed。
微软有个身份架构师叫 Kim Cameron,2005年就在他的 博客 上说
“互联网的构建,缺失了一个身份层” (The Internet was built without an identity layer)
并且给出了一个断言:
“互联网是如此构建的:我们没有办法确定连接的是谁或者什么。这就限制了我们可以做的事情并且将我们暴露于巨大的风险之中。如果我们 什么都不做,我们很快会被快速增殖的偷窃和欺诈的事件所累,这会导致在互联网上逐渐失去了信任。”
实际上,Kim Cameron说的是上世纪60和70年代,由美国国防部赞助的互联网刚刚开发出来的时候,主要要解决的问题是”机器间”的通信: 让机器互联起来,并共享不同网络上的信息。那么TCP/IP协议的设计,就只考虑到机器的层面,无法知道机器后面的人、组织或者是事物。
这个问题看起来很容易解决,人、组织构建了互联网,并且控制所有的联网的事物,那么,把机器和人、组织、事物关联起来,应该非常容易才对。
答案是:非常非常难。
为什么?
简而言之,初始的互联网规模很小,主要是由学术机构的计算机科学家来使用这个网络。他们互相熟知,需要访问非常昂贵的机器,还需要 及其精巧的技能来参与协作。那么在那种小俱乐部情况下,没有识别机器背后的主体问题。
毋庸置疑,事情很快发生了变化,现在有数十亿的人和设备在互联网上,互相之间大都是陌生人。在这种情况下,一个不幸的事实是有很多很多的 人总是想欺骗你:网络的另一端,你在和谁打交道?身份问题是网络犯罪的主要源头之一。
问题有多严重呢?
- 2017年,平均每个人需要191个密码来访问互联网上的服务,导致密码管理变成了糟糕的用户体验之一。
- IBM 的CEO Ginni Rometty 说网络犯罪是每个职业、每个行业、和每个公司的最大威胁。
- 全球的网络犯罪,在2021年预计产生6万亿美元的损失
- 90%的美国消费者相信他们的个人信息被不同的组织滥用
- 2016年,30亿Yahoo帐号泄漏
- 80%的黑客活动是由于用户的密码被破解
- Equifax被黑让这家公司多花40亿美元
书上内容说完了,抛开这些冷冰冰的数字,作为网民,我们其实对身份问题也是有切肤之痛的:
- 帐号被盗:身份被冒用
- 骚扰诈骗电话:个人信息泄漏
- 平台可任意控制用户的帐号和内容:个人没有帐号和内容的控制权
- 谣言、水军:虚假或机器人帐号
焦虑贩卖得差不多了,作为读者的你,什么感觉?欢迎讨论。
教育杂谈
1
为人父母,没有经过任何培训,就得扛起教育子女的责任,这件事情挺可怕的。别人怎么样我不能妄加评论,我自己家倒可以说说。 我的父母是普普通通的农民,他们养孩子,就两个字:放羊。可能我的同龄人的父母大多数都是这样的吧。不过放羊和放羊还是有 区别的,最大的区别在于对孩子的期望和交流模式。我的父母对孩子们没什么过高的期望(相反还很低),这样就造就了我们兄弟们 从小就得独立思考和独立规划自己的未来。而交流模式,我发现我的父母和我们的“正式”的交流太少了,少到我们很难和她们成为 生活上和心灵上的朋友。我现在也有了孩子,老大已经上了小学,她就生活在我和我爱人的影响之下,我们也没有经过培训,因此 同样也会出现问题。城市里普篇的问题在于母亲的焦虑和鸡娃,而我作为父亲,又似乎太“放”了。和孩子的交流,我倒是认为自己 改掉了父母和我们交流的那种毛病,尽管如此,我发现孩子并不总是愿意和我分享她的内心世界。小福星现在3年级,作业量比之前 大多了,她有明显的不适应感,最近经常在家里因为作业的事情哭。原因无非是作业太多,她压力大而发泄。为了这事我和她妈没少 操心。好的一点,是她能哭出来,之后我和她还能交流,但同样的事情却总是发生,就让人有点受不了。
2
时代在改变,我们小时候因为物质条件有限,可以在父母期望不高的情况下自己建立目标(哪怕仅仅是摆脱穷困的目标),而现在的孩子们 丰衣足食,她们对于“为什么要学习”这件事情的理解是有相当的疑惑的。我告诉小福星,学习的理由有两种,大的方面,成为国家建设 的有用之才,小的方面,生活得更好一些。小福星懂吗?似懂非懂。我认为这是她们小孩过于缺乏与社会的连接导致的。所以作为父母 的我们,就需要在这个连接方面做一些功课了。那天她哭完,情绪平复下来之后,我问她,“你知道为啥要学习吗?我告诉过你的。” 她说,知道,为了生活得更好。我又问,你觉得这样说对吗?她说,长大以后那么远的事情,我不知道是否对。哈哈,小孩子还缺乏 长远规划的能力,因此那两种说法对她的吸引力就不够了。我就想给他换一个思路,从学习中找点乐子。陪她做数学作业,然后在纠正她的 错误的同时,告诉她各种数字本身有“亲戚”关系,也开始让她自己去找点其他的乐子。她说:“学语文还有点乐趣,因为可以读书,数学 和英语就没什么乐子”。我告诉她说,等你的英语学到现在语文的程度,可以阅读英文小说的时候就肯定有乐趣了;而数学,肯定还有很多 乐子,比如你不是喜欢玩数独游戏吗?“书山有路勤为径,学海无涯乐作舟”,应该是新一代小孩学习的动力所在。
3
帝都的小学,2021年了,还在用收现金这么的原始方法(还要在现金上用铅笔写上名字)交餐费,实在觉得有点说不过去。
4
“标准答案”限制了孩子的想象力。语文试卷上,一个阅读题,说的是一头善良的山羊,被一头困在井下的、花言巧语的狼所骗,把狼 救上来反被吃了的故事。这题有几个填空,其中一个是,山羊被狼吃的时候的心里,小福星填的是“我真不该救狼”,而老师判她错了, 说应该是“很后悔”,我觉得这样教孩子有巨大的问题。“我真不该救狼”是“后悔”的具体内容,表述得比“很后悔”要生动得多,这个空 如果是因为“很后悔”是标准答案就排斥了别的内容,太打击孩子的积极性了。我只好告诉小福星说,我认为你做得很对。
区块链技术的当前发展阶段和挑战
今年10月24日,中共中央政治局就区块链技术发展现状和趋势进行第十八次集体学习,习近平主持学习并发表重要讲话。因为这件事情, 区块链这个概念一下子火起来了,很多人在讨论,政府机构开始给一些优惠政策, 不过,从行业发展的角度,很多人大概不知道什么是区块链,更别说理解区块链到底处于什么阶段,以后大概会怎么发展了。
什么是区块链,Google或在Baidu一下,或在 本博客文章 也有提到,本文不在重复了。本文尝试回答两个问题,1区块链处于什么阶段,2以后发展的关键技术点有哪些。
第1个问题,其实是最近看到了一篇来自哈佛商业评论的文章 区块链的真相 ,发表与2017年1月,把这个问题讲得很透彻,尽管文章发表已经快3年了, 我觉得完全没有过时,因此与读者分享。这里给出这篇文章的快速总结,不过瘾的请看原文。
真相文提到,区块链不是颠覆性技术,是基础设施。区块链的各种技术,比如Hash算法、公私钥密码学算法、P2P网络,都不是什么新东西,但是组合在一起发生了威力, 变成了一个基于数学的、可信的、防篡改的历史账本。对比TCP/IP,基础设施的创新有4个阶段,包含单点、局部、替代和转换。 每个阶段的特点可以从两个维度来区分,一个维度是创新程度的高低,一个维度是协作的复杂度。如下表:
阶段 | 创新程度 | 协作复杂度 | TCP/IP | 区块链 |
---|---|---|---|---|
单点 | 低 | 低 | Email :1970s | Bitcoin: 2009~ |
局部 | 高 | 低 | 不同类型的局域网:1980s~1990s | 联盟链:2013~ |
替代 | 低 | 高 | WWW:1990s,原来的应用搬到网上 | 加密货币尝试替代法定货币,障碍很多 |
转换 | 高 | 高 | Napster, ebay, alibaba, skype, Goolgle: 2000+ | 智能合约,真不知道啥时候能大规模应用 |
这就是对真相文的一个最简单的总结吧。我们现在的阶段,处于局部的发展期和替代的早期,转换还得10年以上甚至更久。 而中国鼓励区块链的发展,不可能违背基础设施发展的基本规律,因此目前来说,就是大力发展联盟链。不过联盟链对于小公司和个人 没啥机会(基本上是大机构的事情),而后来的替代和转换(基于公链或者是公共账本)才是百花齐放的时代,也是现代互联网的商业逻辑的重大升级, 那么这个升级有什么关键性的技术点需要克服和解决吗?笔者看来,至少有3个关键技术点:
第一是自主身份。互联网的身份认证,无非两种模式,1是用户去某一个网站注册,2是通过大的身份提供商(Google/Facebook/微博/微信/QQ)间接认证。 目前的这两种模式有两个问题:一遍一遍的填表和隐私泄漏。区块链时代的自主身份将实现用户自己控制身份,并按需授权使用。在区块链统治的时代, 人们不需要去每个应用那里注册自己的各种信息,而是提前将自己的各种身份信息通过锚定时间戳和加密的方式写入了不可更改的分布式账本,并且在 需要的时候授权应用验证最少可用的身份信息。也就是说,用户夺回了身份所有权,没有第三方数据库记录你的身份信息,自然无法泄漏你的信息,或者 形成各种羊毛出在猪身上的商业模式。
第二是自主的分布式存储。区块链的多方记账模式实际上是通过冗余增加了安全型,因此从成本考虑,要求账本上记录的数据尽可能少,因此需要通过第三方存储来补充区块链的存储。在这种模式中,存储的服务提供商 只是一个黑盒子,没法知道用户存的是什么(因为加密了),用户似乎在使用一个互联网规模的虚拟电脑中的硬盘。与自主身份类似,用户夺回了数据所有权。
第三是区块链的规模和可扩展性。具体涉及两个子问题,交易性能和存储空间的增长。在交易性能方面,目前的公链的TPS(Transactions per seconds 每秒交易数)都没有多高,号称百万TPS的EOS实际性能也就几千, 一个空投就让很多CPU抵押不足用户没法使用这个链了。在存储空间增长方面,目前的各个公链的全节点因为保留了从主网上线以来所有的交易记录, 因此全节点的空间需求都是一直增长的:现在同步一个比特币全节点,需要至少准备300G的硬盘空间(比特币已经运行10年),并且每年大约增长50G。而如果要同步所有的ETH数据, 则至少需要1T(我没有同步过,因此真不知道实际量,但1T肯定是必须的)。公有链的一个特点是人人可参与,可是硬盘随着时间无限增长并不是人人都可以承受的。
从另一个角度看,我列的这3个问题 其实都与经济有关:互联网模式下的隐私泄漏,原因在于平台方让用户“免费”使用服务,而承担了服务的计算、存储和带宽费用,就必然需要通过别的办法来 补偿甚至盈利,那么用户的隐私是大概率会被变现的:也就是说免费的东西是最贵的。在区块链时代,用户应该习惯付费获得这些服务,同时完全保护好自己的隐私。 因此很多面向未来的问题都围绕这个主题:如何构造一个让用户接受的、经济可行的商业模式。自主身份避免了用户一遍一遍的输入密码,也让KYC过程变得异常简单和经济,还保护了用户隐私; 自主的分布式存储厘清了用户和平台的存储权利和义务,避免了免费的陷阱;规模和可扩展性的问题,则是区块链本身的经济模型问题之一。
当然,除了这3个关键技术点,还有跨链、抗量子密码算法等等问题也都很关键,限于作者水平和兴趣,不能一一的列出来。
补充: 这个话题我做了视频,欢迎讨论。