本系统的本质就是一个由图数据库支撑的云文件系统。
github 地址:third
文章有一点长和墨迹,不善表达,先表示抱歉,但是内容中包含我最近的很多思考,希望可以看完。
以下为仓库正文:
一个关于信息存储、查询与分享的生态设想,按照固定方式的分享与存储信息,任意自选存储服务,基于公钥证书体系的生态系统。
在这个生态中,信息应该属于每个人,而服务商应该只提供计算(高级查询)和存储功能。每个人都能选择任何接入协议的任意工具进行编辑,每个人对自己的信息安全负责,信息的安全问题(仅泄漏问题,不包括安全问题)仅依赖自己,不需要运维或开发人员介入。
- 2020 年 04 月 15 日 13:29
看楼下的小姑娘在骑车,骑着车的时候她能进行刹车、向前、向左、向右等等操作,但是只是一堆选项合集,人脑的决定只能根据输入(当前环境)进行生成一系列选择,永远也跳脱不出当前环境的影响,所以说人脑思维不自由。依照 I(nput 输入)-P(rocess 处理)-O(utput 输出)模型来看,多拓宽视野,多找点没了解过的事情,当经历沉淀成记忆的时候,你的思维才会相对来说更自由一些。多接触牛人,多看些历史,多去些地方去采集不同的环境输入,沉淀成记忆影响处理,最终输出一些不简单的东西。广度决定处理方法,深度决定是否专业。
- 2020 年 04 月 17 日 12:19
世间发明大多都是仿生学,环境如此,你很难跳脱出当前环境去思考问题,大部分发明无非是现有的东西的模拟并加一点点小小的突破。就如《三体》所说的“三与三十万综合症”一般,在三维空间这个环境里你无法真正理解四维空间,光速本身的限制让你无法超脱出光速之外去思考问题。我们所做的一切,都是在既有的框架之内,通过理解已存在的事物本身,再加上一点点思维上的突变,创造出一个世界上本不存在的东西。而这个东西,也将是下一次突破的基石。但如果世界本身不是这个样子,那个世界的未来和这个世界的未来是否有一些共通性?单纯从智慧体的角度来考虑,最重要的不是任何的外在展示形式,而是数据本身。数据内容会变,但数据永远存在,而数据处理也将永不停歇。说到底,世界自身也只是数据聚合体罢了。
在了解 https 和 git 的时候,我觉得这两样东西很美,类似的还有拟态防御和 spacex 火箭的 cpu 冗余机制。
以上所有的设计理念都是一致的,就是在相对不可信的环境上提供可信服务,主要涉及两种策略:
人的决定取决与他所了解信息的广度与深度。信息深度需要时间去理解与学习,很难快速提升,但是信息广度取决于周围的信息输入,可以通过增加信息输入快速提升,有时候你知道另一种方式会更容易理解一些信息或做出更好的决定。
有一段时间看微积分相关的一些基础知识时,看到一个有关加速度与距离的说法,求距离等同于几何求面积,所以从零匀加速一定时间后的移动距离本质上就是求三角形面积(以上内容我已经忘记了课程中是否包含)。
你现在做什么行业,本质并非是因为喜欢,而是因为接触过这个概念,知道有这个行业。如果对于一件事的解决方案,你可能只知道 a,b 两种,但是实际上还有 c 和 d,一共四种。你的决定,取决于你知道两种还是四种解决方案。举例来讲,前段时间给手机换电池,但是手机螺丝滑丝了,查了下发现用胶水粘,实在不行就把周边挖出个坑然后用指甲刀拧出来(用的这个方法)。过后了一个月,我才又知道还有别的方法,用焊锡,还有专门处理滑丝的工具。
信息在不同的时间是有不同价值的,你要用到的时候能浮现的信息才是有用的信息。在看《真实一刻》纪录片的时候,看到两个场景很有感触。冰面塌陷时,人最好的解决方式应该是趴着去救,增加接触面积降低压强,降低自己脚下冰面也碎裂的风险。有山体滑坡风险的地方,游客可能并不知道,但是这些事却是很重要的事情。基于时间、地点、事件、声音、情景等触发器触发的信息更有价值。
基于情景触发可能很难,但是未来终有一天会实现,而我们要做的其实就是为未来的要使用的数据做好储备。
信息要辩证地看,特别是在信息泛滥的今天。可能今天你想购买一件物品,查到的数据全都是说这个商品有多好有多好的宣传文,而买到手之后才发现各种各样的问题。1000 个好评应该跟 1 个差评并列展示,查找信息的时候应该有正反两方向结果,也能避免一部分类似魏则西事件的悲剧发生。(此处因 seo 和水军刷评等原因,需要设计信任链机制,详见下方信任链解释)
看《人类简史》后,理解了一份理念,当文字这种工具出现以后,人的思维得以延续,外置性的存储机制得以实现,这是一个 0 到 1 的过程,而造纸术是从 1 到 10 的过程,数据量急剧增加,各种典籍层出不穷。而近代计算机的发展,是 10 到 100 的过程,量变引起质变,在计算机体系下,不仅可以存储大量的数据,最重要的是快速通信以及自动化,不论是使用工具还是某些公司的服务,真正意义上的可以达到只要数据产生,就可以“永远”无法消失的“永恒”状态。
纵观人类历史,发展都是极其相似的:
总结来讲,我对人类世界的认知是空间以及速度的变化,是一遍又一遍不断提升的轮回,像自相似分形,每一部分都自相似,像佛教中的一花一世界。
随着科技的进步,每个人的数据也越来越多(照片、视频、笔记、节选内容、收藏文档),分布在不同的平台上,松散且难以管理,一个人的数据尚且如此,更何况将所有数据聚合到一起的互联网。互联网是现代人的共有记忆,互联网是一本书,一本由无数个节点拼接而成,由无数个人去读与写的一本书,一个不属于某个人而是全人类共有的一个数据存储装置。
一个乱堆东西的屋子和整理有序的仓库的查找效率是不一致的,就如同平衡二叉树一样,东西在存放的时候就应该考虑用的时候如何去查找的问题,按固定的方式去整理数据,回头数据才能真正的产生用处。
每个人搜索数据时,都是一种整理和过滤。每个人在收藏或分享某些数据的时候,都是对数据的一个认可。网络爬虫与人的行为一致,都是爬取数据的过程,反过来看也是这样,人浏览的行为本身就是在爬取数据,分享与收藏就是在过滤、筛选数据,我们可以拿人采集的数据构建一个更优良的人人为我、我为人人的搜索引擎。
你的数据安全,不仅仅取决于你自己,依赖于公司运营状况,网络情况,开发、运维人员的安全意识。
服务商问题
数据未备份而导致的数据丢失 /被勒索者病毒加密;服务停运,限期下载;正常内容被错误的审核机制拦截,导致数据丢失
网络不可达
网络拥堵、断网 /局域网环境(线下比赛、家庭内部网络、高铁、飞机)或极端环境下(星际移民,高延迟通信)数据无法使用
恶意攻击
身份信息中心化认证,信息没有安全验证机制,导致身份信息冒用,信息泄露等情况发生。
某某平台用户信息被拖库;某某平台身份认证服务器被攻击导致身份冒用( twitter:我-秦始皇-打比特币)
你的体验取决于运营人员的 kpi
信息应该在你需要的时候自动浮现,而非主动查询。人与人的一个重大区别是查询能力而不是理解能力。
数据是有相关性的。一个人做出一个决定不仅取决于他自己,也跟当时的社会环境有关。历史的发展轨迹需要多个人掺杂在一起去看。
跨平台追踪
你关注的人(亲朋好友、up 、明星等)、事(新闻、重要通知)在不同平台下的数据的线性查看。
时间线理顺
看到某些事情,不明白之前发生了什么,事件应该是以时间线的形式来查看的
一个由图数据库支撑的云文件系统,采用 gpg 体系进行身份以及完整性验证,基于触发器的数据自动展示,数据可控,来源可验证,多设备间同步。
用户自己拥有所有数据,可以选择服务商提供的空间和计算能力,也可自行在本机或云主机上搭建服务。
存储节点的基本信息,类似已有文件系统中的文件内容,包含本节点内的一些信息或基础属性信息。
节点包括签名,内容可为任意内容(包括加密后的信息)
以小明同学举例:
属性 /字典式(更直观且方便解析,亦可直接生成表格,推荐):
描述文本:
与基本节点相关联的节点信息。
以小明同学和他的老师王老师为例:
加入链接信息的小明的信息
本质与节点的基础信息没有区别,但因为是关联实体,所以是链接信息,而非基本的属性信息。
类 gpg 体系的信任链。
如存在一下信任关系(指向则为信任):
当你作为一个新用户,信任 a 的时候,则可以通过信任深度来过滤信息:
假设每人信任十个人,则深度为 1 时,信任网络中的人为 11 个;信任深度为 4 时,信任网络中的人为 11111 个。
按照四 /六度分隔理论(本例以 4 层为例),最多 4 层网络足以筛选掉所有的未经信任的数据。
seed
{
// json 序列化后的 seed,防止不同语言因 json 序列化结果不一致而导致的签名无法验证
// 对象内部结构见下方 json_seed
'json': '...',
// 签名信息列表,如果 json 结构中包含作者信息,则必须包含这个作者的签名,否则视为无效
'sign': [...],
// 全 id 为 metadata.id.value-fingerprint(代表使用这个 id 的人)-sha256(json 字段的 sha256)-timestamp(更新版本时间戳)
// metadata.id.value =
// id 可由 seed 计算出,传输过程中无需携带
'id': '...'
}
seed.json
{
// 元信息
'metadata': {
// 字段 id
'id': {
// 类别,例如 url,默认不指定为 seedid
'type': '...',
// id,唯一性 id,如果是 url 类型,则 id 为 url 值
// fingeprint_short(代表最初创建这个 id 的人或一些人的指纹)_randomstring(随机字符串,防止极端条件下产生的冲突)_metadata.time.update.ts(第一次创建时的时间戳,以秒为单位)
'value': '...'
},
// 作者信息,作者的证书指纹列表,全部大写
'author': ['...'],
// 时间相关信息
'time': {
// 更新 /创建事件
'update': {
// 时间戳
'timestamp': ...,
// 时间精度,比如 year,month,day,hour
'accuracy': '...'
},
// 开始相关信息,结构同 update
"start": {...},
// 结束相关信息,结构同 update
"end": {...}
},
// 地点相关信息
"position": {
// 后续如果有超脱于经纬度的数据,比如宇宙空间坐标,再增加字段进行描述
// 经度
"longitude": 1.111,
// 纬度
"latitude": -1.111
},
// 指向的链接
'link': [
{
// 指向的 seedid
'id': '...',
// 关系名称
'name': '...'
}
]
},
// 数据信息,可以为对象、列表或数据
'data': ...
}
使用者
开发者
服务商(整合服务)
不是所有的人都愿意自建服务,也不是所有的自建服务都能高效利用
服务商主要提供廉价(自建服务利用率不高)和稳定(专门对数据进行备份)的服务。
服务本身也是互动社区。
当然也可以不拉取,直接使用多个服务器,结果在客户端汇总。
注意:目前还不支持,等服务端完善之后做后续支持
利用 keyserver 实现类似 dns 的功能,以公钥中的 uid.comment 进行“域名”解析,实现效果:根据指纹信息自动解析到其使用的服务器和发布的内容。
abc 三个人使用 s1,def 三人使用 s2
当 a 关注 d 的时候:
- s1 根据 d 的指纹信息去 keyserver 中拉取 d 的公钥
- s1 解析 d 公钥中的 uid 信息中包含的 comment 信息获得 d 所使用的服务器信息(标记为 ds )
- s1 根据 ds 去 s2 中拉取 d 的信息并保存
对身份认证极其敏感的信息,自行将 seedid 压入受信区块链。seedid 包含作者指纹和 json 的 sha256,可确定信息发布时间在证书吊销或过期之前。
1
dawn009 2020-11-30 14:44:29 +08:00
我目前的理解:
这是一个用于发布和获取信息的网络协议,使用分布式存储,使用 GPG 签名保证信息来源可信,使用多节点存储抗灾。 关于触发器的概念没太看懂。 是指客户端可以根据正在浏览的内容,自动提炼出关键词,自动根据关键字搜索相关信息吗? |
2
err1y OP @dawn009 举例来讲
比如每年的今天,或者某个 时间提醒,这个是基于时间触发的信息显示 比如周围某个地点有危险信息,某个地点有塌方风险,周围发生了什么事情,这个是基于地点触发的信息显示 比如图像识别到某种物体或者 ocr 文字识别的时候,识别到了什么东西,然后做信息自动展示 比如在搜索引擎中搜索关键字‘key'的时候,浏览器插件自动在服务器中也搜索’key‘的相关内容 还有就是你提到的,文本 /文件内容的关键字识别自动提醒 本质上就是基于某种条件触发信息的自动展示,无论是基于时间、地点、图像识别、音频识别还是事件,或是周围的蓝牙、wifi 信息,基于任意条件 /传感器状态触发的信息展示 |
3
EPr2hh6LADQWqRVH 2020-11-30 17:15:15 +08:00
Linked Data
楼主你这想法我也有过。 Linked Data 已经被谷歌成体系成规模地实践过了,现在搜谷歌右侧出现的就是。 所以也被证明了效果有限。 还有,楼主组邪教吗,感觉你这方面很有前途 |
4
err1y OP @avastms
我知道那个,然后还有叫 magi ( https://magi.com )的。但是这些自动化的东西我觉得不够好,而人做的分析才是最好的(现阶段)。最重要的其实也不是分析与否,应该是有一个统一化的分享和索引方式,然后由官方自己去按照这种方式去分享自己的信息。 以之前我去公园转的例子来讲,官方说有活动,但是我没看到需要线上预约,到了公园内,才看到要预约,他们没在官网上说需要预约这件事情,但是公众号上说了。各个平台之间的信息很分裂,一种更好的方式应该是有一个类似 wiki 百科或者百度百科的样式,然后把所有的有用的消息都分门别类的地方在里面,这个靠自动化以现阶段还是做不到的,但是人可以。 类似“全历史”或“后续”这种平台,他们也有问题,就是只有自己的团队在维护,如果不是一个开放平台,那么信息量一定是有限的,需要每个人都可以参与编辑并且可以编辑,无需审核,才能算是人类共有的东西。平台只能提供数据,信任与否是需要信息查看者本身去判断的,而信任链机制可以保证你可以筛选出一批你相对可信的数据。 抱歉说得有点混乱,表达能力有些不好,接下来我先用 electron+vue 做一个基于本协议的笔记应用,慢慢做成理想的样子。 |
5
err1y OP @avastms
这个平台的本质应该是个文件系统,一套基于图数据库的云文件系统,这套系统的目的其一是存储自己要存储的数据,二是归类、索引要找的数据。三是分享。 我的手机里有从 10 年到现在的三万张照片,苹果的人像自动识别本身有问题,就算能 100%识别,但是没有脸的背影还是没有办法自动归类到某个人,而它又不提供一个你添加标签的功能,有的时候想找照片真的很烦。这个有 ios 的第三方应用做了,忘记叫什么了,但是他还有个问题,就是只能对照片归类,我可能还有相关的录音和记录的文字,都没有办法做到。 这一整套想做的事情,其实是 icloud 应该做的事情,但是我觉得 icloud 没有完全的做到这个样子,而我想实现这个东西。 |
6
baobao1270 2020-12-01 10:15:47 +08:00 via Android
不错的想法,但是难以实现
感觉楼主要颠覆互联网的秩序 资本主义的存在必然导致互联网中心化,而互联网的中心化不过是帝国资本主义时期拖拉斯的再演。 |
7
err1y OP @baobao1270
我觉得这是一个漫长的过程,虽然缓慢,但是只要一直坚持下去,理想状态下数据应该是指数级增长的,起步可能很艰难,但是只要出来了东西,人们意识到价值了,就好说了。(当然也可能是我自嗨了) |
8
firefox12 2021-04-09 17:58:07 +08:00
你忽略了 最重要的 2 点, 你能生成的证书,别人也能生成一个, 你怎么证明 这份证书代表你?
第二 当暴力机关找到 keyserver 的时候, 你这个系统就没有意义了。 |