基于公钥认证体系的开源云生态设计(信息、关系、查询、信任与分享)

2020-11-30 13:34:41 +08:00
 err1y

本系统的本质就是一个由图数据库支撑的云文件系统。

github 地址:third

文章有一点长和墨迹,不善表达,先表示抱歉,但是内容中包含我最近的很多思考,希望可以看完。

以下为仓库正文:


一个关于信息存储、查询与分享的生态设想,按照固定方式的分享与存储信息,任意自选存储服务,基于公钥证书体系的生态系统。

在这个生态中,信息应该属于每个人,而服务商应该只提供计算(高级查询)和存储功能。每个人都能选择任何接入协议的任意工具进行编辑,每个人对自己的信息安全负责,信息的安全问题(仅泄漏问题,不包括安全问题)仅依赖自己,不需要运维或开发人员介入。

相关链接

杂谈

  • 2020 年 04 月 15 日 13:29

看楼下的小姑娘在骑车,骑着车的时候她能进行刹车、向前、向左、向右等等操作,但是只是一堆选项合集,人脑的决定只能根据输入(当前环境)进行生成一系列选择,永远也跳脱不出当前环境的影响,所以说人脑思维不自由。依照 I(nput 输入)-P(rocess 处理)-O(utput 输出)模型来看,多拓宽视野,多找点没了解过的事情,当经历沉淀成记忆的时候,你的思维才会相对来说更自由一些。多接触牛人,多看些历史,多去些地方去采集不同的环境输入,沉淀成记忆影响处理,最终输出一些不简单的东西。广度决定处理方法,深度决定是否专业。

  • 2020 年 04 月 17 日 12:19

世间发明大多都是仿生学,环境如此,你很难跳脱出当前环境去思考问题,大部分发明无非是现有的东西的模拟并加一点点小小的突破。就如《三体》所说的“三与三十万综合症”一般,在三维空间这个环境里你无法真正理解四维空间,光速本身的限制让你无法超脱出光速之外去思考问题。我们所做的一切,都是在既有的框架之内,通过理解已存在的事物本身,再加上一点点思维上的突变,创造出一个世界上本不存在的东西。而这个东西,也将是下一次突破的基石。但如果世界本身不是这个样子,那个世界的未来和这个世界的未来是否有一些共通性?单纯从智慧体的角度来考虑,最重要的不是任何的外在展示形式,而是数据本身。数据内容会变,但数据永远存在,而数据处理也将永不停歇。说到底,世界自身也只是数据聚合体罢了。

可信

在了解 https 和 git 的时候,我觉得这两样东西很美,类似的还有拟态防御和 spacex 火箭的 cpu 冗余机制。

以上所有的设计理念都是一致的,就是在相对不可信的环境上提供可信服务,主要涉及两种策略:

  1. 基于数学理论上的难以破解
  2. 基于冗余机制

信息与人

人的决定取决与他所了解信息的广度与深度。信息深度需要时间去理解与学习,很难快速提升,但是信息广度取决于周围的信息输入,可以通过增加信息输入快速提升,有时候你知道另一种方式会更容易理解一些信息或做出更好的决定。

有一段时间看微积分相关的一些基础知识时,看到一个有关加速度与距离的说法,求距离等同于几何求面积,所以从零匀加速一定时间后的移动距离本质上就是求三角形面积(以上内容我已经忘记了课程中是否包含)。

你现在做什么行业,本质并非是因为喜欢,而是因为接触过这个概念,知道有这个行业。如果对于一件事的解决方案,你可能只知道 a,b 两种,但是实际上还有 c 和 d,一共四种。你的决定,取决于你知道两种还是四种解决方案。举例来讲,前段时间给手机换电池,但是手机螺丝滑丝了,查了下发现用胶水粘,实在不行就把周边挖出个坑然后用指甲刀拧出来(用的这个方法)。过后了一个月,我才又知道还有别的方法,用焊锡,还有专门处理滑丝的工具。

信息在不同的时间是有不同价值的,你要用到的时候能浮现的信息才是有用的信息。在看《真实一刻》纪录片的时候,看到两个场景很有感触。冰面塌陷时,人最好的解决方式应该是趴着去救,增加接触面积降低压强,降低自己脚下冰面也碎裂的风险。有山体滑坡风险的地方,游客可能并不知道,但是这些事却是很重要的事情。基于时间、地点、事件、声音、情景等触发器触发的信息更有价值。

基于情景触发可能很难,但是未来终有一天会实现,而我们要做的其实就是为未来的要使用的数据做好储备。

信息要辩证地看,特别是在信息泛滥的今天。可能今天你想购买一件物品,查到的数据全都是说这个商品有多好有多好的宣传文,而买到手之后才发现各种各样的问题。1000 个好评应该跟 1 个差评并列展示,查找信息的时候应该有正反两方向结果,也能避免一部分类似魏则西事件的悲剧发生。(此处因 seo 和水军刷评等原因,需要设计信任链机制,详见下方信任链解释)

空间与速度与轮回

看《人类简史》后,理解了一份理念,当文字这种工具出现以后,人的思维得以延续,外置性的存储机制得以实现,这是一个 0 到 1 的过程,而造纸术是从 1 到 10 的过程,数据量急剧增加,各种典籍层出不穷。而近代计算机的发展,是 10 到 100 的过程,量变引起质变,在计算机体系下,不仅可以存储大量的数据,最重要的是快速通信以及自动化,不论是使用工具还是某些公司的服务,真正意义上的可以达到只要数据产生,就可以“永远”无法消失的“永恒”状态。

纵观人类历史,发展都是极其相似的:

总结来讲,我对人类世界的认知是空间以及速度的变化,是一遍又一遍不断提升的轮回,像自相似分形,每一部分都自相似,像佛教中的一花一世界。

整理与查找与收藏与分享

随着科技的进步,每个人的数据也越来越多(照片、视频、笔记、节选内容、收藏文档),分布在不同的平台上,松散且难以管理,一个人的数据尚且如此,更何况将所有数据聚合到一起的互联网。互联网是现代人的共有记忆,互联网是一本书,一本由无数个节点拼接而成,由无数个人去读与写的一本书,一个不属于某个人而是全人类共有的一个数据存储装置。

一个乱堆东西的屋子和整理有序的仓库的查找效率是不一致的,就如同平衡二叉树一样,东西在存放的时候就应该考虑用的时候如何去查找的问题,按固定的方式去整理数据,回头数据才能真正的产生用处。

每个人搜索数据时,都是一种整理和过滤。每个人在收藏或分享某些数据的时候,都是对数据的一个认可。网络爬虫与人的行为一致,都是爬取数据的过程,反过来看也是这样,人浏览的行为本身就是在爬取数据,分享与收藏就是在过滤、筛选数据,我们可以拿人采集的数据构建一个更优良的人人为我、我为人人的搜索引擎。

为什么做(目前存在的问题)

可靠性

你的数据安全,不仅仅取决于你自己,依赖于公司运营状况,网络情况,开发、运维人员的安全意识。

体验限制

你的体验取决于运营人员的 kpi

信息快速获取

信息应该在你需要的时候自动浮现,而非主动查询。人与人的一个重大区别是查询能力而不是理解能力。

  1. 怪圈:我不知道才去查,但是我需要知道一些东西才能查到
  2. 有些事情你以为你知道,但其实你可能并不知道(举例:‘两肋插刀’由来)

组合查询

数据是有相关性的。一个人做出一个决定不仅取决于他自己,也跟当时的社会环境有关。历史的发展轨迹需要多个人掺杂在一起去看。

信息追踪

做成什么

一个由图数据库支撑的云文件系统,采用 gpg 体系进行身份以及完整性验证,基于触发器的数据自动展示,数据可控,来源可验证,多设备间同步。

用户自己拥有所有数据,可以选择服务商提供的空间和计算能力,也可自行在本机或云主机上搭建服务。

怎么做

涉及技术

重要概念

节点 /基础信息

存储节点的基本信息,类似已有文件系统中的文件内容,包含本节点内的一些信息或基础属性信息。

节点包括签名,内容可为任意内容(包括加密后的信息)

以小明同学举例:

属性 /字典式(更直观且方便解析,亦可直接生成表格,推荐):

描述文本:

关系 /链接信息

与基本节点相关联的节点信息。

以小明同学和他的老师王老师为例:

加入链接信息的小明的信息

本质与节点的基础信息没有区别,但因为是关联实体,所以是链接信息,而非基本的属性信息。

信任(链 /网)

类 gpg 体系的信任链。

如存在一下信任关系(指向则为信任):

当你作为一个新用户,信任 a 的时候,则可以通过信任深度来过滤信息:

假设每人信任十个人,则深度为 1 时,信任网络中的人为 11 个;信任深度为 4 时,信任网络中的人为 11111 个。

按照四 /六度分隔理论(本例以 4 层为例),最多 4 层网络足以筛选掉所有的未经信任的数据。

重要结构

生态架构

软件

参与者

数据自动拉取(依赖于 keyserver,根据指纹拉取)

当然也可以不拉取,直接使用多个服务器,结果在客户端汇总。

注意:目前还不支持,等服务端完善之后做后续支持

利用 keyserver 实现类似 dns 的功能,以公钥中的 uid.comment 进行“域名”解析,实现效果:根据指纹信息自动解析到其使用的服务器和发布的内容。

abc 三个人使用 s1,def 三人使用 s2

当 a 关注 d 的时候:

  1. s1 根据 d 的指纹信息去 keyserver 中拉取 d 的公钥
  2. s1 解析 d 公钥中的 uid 信息中包含的 comment 信息获得 d 所使用的服务器信息(标记为 ds )
  3. s1 根据 ds 去 s2 中拉取 d 的信息并保存

Q&A

证书过期或吊销了之前的数据无法验证怎么办

对身份认证极其敏感的信息,自行将 seedid 压入受信区块链。seedid 包含作者指纹和 json 的 sha256,可确定信息发布时间在证书吊销或过期之前。

研发计划

后端 v0.1.0b ( 2020 年 12 月 6 日)

移动端 v0.1.0 ( 2020 年 12 月 7 日开始,预计 2-3 周时间)

2581 次点击
所在节点    开源软件
9 条回复
dawn009
2020-11-30 14:44:29 +08:00
我目前的理解:
这是一个用于发布和获取信息的网络协议,使用分布式存储,使用 GPG 签名保证信息来源可信,使用多节点存储抗灾。

关于触发器的概念没太看懂。
是指客户端可以根据正在浏览的内容,自动提炼出关键词,自动根据关键字搜索相关信息吗?
err1y
2020-11-30 14:56:20 +08:00
@dawn009 举例来讲
比如每年的今天,或者某个 时间提醒,这个是基于时间触发的信息显示
比如周围某个地点有危险信息,某个地点有塌方风险,周围发生了什么事情,这个是基于地点触发的信息显示
比如图像识别到某种物体或者 ocr 文字识别的时候,识别到了什么东西,然后做信息自动展示
比如在搜索引擎中搜索关键字‘key'的时候,浏览器插件自动在服务器中也搜索’key‘的相关内容
还有就是你提到的,文本 /文件内容的关键字识别自动提醒
本质上就是基于某种条件触发信息的自动展示,无论是基于时间、地点、图像识别、音频识别还是事件,或是周围的蓝牙、wifi 信息,基于任意条件 /传感器状态触发的信息展示
EPr2hh6LADQWqRVH
2020-11-30 17:15:15 +08:00
Linked Data

楼主你这想法我也有过。

Linked Data 已经被谷歌成体系成规模地实践过了,现在搜谷歌右侧出现的就是。

所以也被证明了效果有限。


还有,楼主组邪教吗,感觉你这方面很有前途
err1y
2020-11-30 18:04:53 +08:00
@avastms
我知道那个,然后还有叫 magi ( https://magi.com )的。但是这些自动化的东西我觉得不够好,而人做的分析才是最好的(现阶段)。最重要的其实也不是分析与否,应该是有一个统一化的分享和索引方式,然后由官方自己去按照这种方式去分享自己的信息。

以之前我去公园转的例子来讲,官方说有活动,但是我没看到需要线上预约,到了公园内,才看到要预约,他们没在官网上说需要预约这件事情,但是公众号上说了。各个平台之间的信息很分裂,一种更好的方式应该是有一个类似 wiki 百科或者百度百科的样式,然后把所有的有用的消息都分门别类的地方在里面,这个靠自动化以现阶段还是做不到的,但是人可以。

类似“全历史”或“后续”这种平台,他们也有问题,就是只有自己的团队在维护,如果不是一个开放平台,那么信息量一定是有限的,需要每个人都可以参与编辑并且可以编辑,无需审核,才能算是人类共有的东西。平台只能提供数据,信任与否是需要信息查看者本身去判断的,而信任链机制可以保证你可以筛选出一批你相对可信的数据。

抱歉说得有点混乱,表达能力有些不好,接下来我先用 electron+vue 做一个基于本协议的笔记应用,慢慢做成理想的样子。
err1y
2020-11-30 18:15:12 +08:00
@avastms

这个平台的本质应该是个文件系统,一套基于图数据库的云文件系统,这套系统的目的其一是存储自己要存储的数据,二是归类、索引要找的数据。三是分享。

我的手机里有从 10 年到现在的三万张照片,苹果的人像自动识别本身有问题,就算能 100%识别,但是没有脸的背影还是没有办法自动归类到某个人,而它又不提供一个你添加标签的功能,有的时候想找照片真的很烦。这个有 ios 的第三方应用做了,忘记叫什么了,但是他还有个问题,就是只能对照片归类,我可能还有相关的录音和记录的文字,都没有办法做到。

这一整套想做的事情,其实是 icloud 应该做的事情,但是我觉得 icloud 没有完全的做到这个样子,而我想实现这个东西。
baobao1270
2020-12-01 10:15:47 +08:00
不错的想法,但是难以实现
感觉楼主要颠覆互联网的秩序
资本主义的存在必然导致互联网中心化,而互联网的中心化不过是帝国资本主义时期拖拉斯的再演。
err1y
2020-12-01 14:11:37 +08:00
@baobao1270

我觉得这是一个漫长的过程,虽然缓慢,但是只要一直坚持下去,理想状态下数据应该是指数级增长的,起步可能很艰难,但是只要出来了东西,人们意识到价值了,就好说了。(当然也可能是我自嗨了)
firefox12
2021-04-09 17:58:07 +08:00
你忽略了 最重要的 2 点, 你能生成的证书,别人也能生成一个, 你怎么证明 这份证书代表你?

第二 当暴力机关找到 keyserver 的时候, 你这个系统就没有意义了。
err1y
2021-04-12 22:29:27 +08:00
@firefox12 gpg 公钥体系

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/730574

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX