1
dawn009 2019-07-27 11:06:49 +08:00
没有描述清楚。
大概知道你想干嘛,但无法建立起直观概念。宏观概览被淹没在了技术细节里面。 |
2
hyyou2010 2019-07-27 11:21:01 +08:00 1
先赞了。欣赏探索与创新以及个体权利意识。
赞同一楼所说,宏观概念应该提取出来做简明说明,半页篇幅,让人几分钟即看懂。 |
3
oxogenesis OP 嗯嗯,后续再梳理下思路,好好表述一下
想法比较简单 聊天型、帖子型的应用系统,本身并不生产内容,只是提供了一个网络存储服务 就开始滥用权利,删号、封号、删帖、看帖子要满足各种条件 那我就使用逻辑账号,把数据都存在本地,然后开一个公网数据中继服务, 要获取我发的、收藏的帖子,借助公网中继从我的本地获取 促进数据的自由流动 聊天也是同样的道理,我用企业提供的服务和客户端,我与朋友聊天内容的保密性完全没有保障, 使用公网数据中介,我和朋友可以做到端到端加密, 而不是使用互联网企业,我与服务器端到端加密,服务器知道、存储我的私人聊天 |
4
oxogenesis OP 这样人人都是内容服务器
|
5
dawn009 2019-07-27 11:53:51 +08:00
和 Solid 相比,有哪些异同?
|
6
oxogenesis OP solid 指的是? https://learnsolid.cn/#about
SoLiD (源自「社交链接数据」,Social Linked Data )是一组约定和工具,主要用于构建基于关联数据的分布式社交应用。Solid 是模块化和可扩展的,它尽可能地依赖于现有的 W3C 标准和协议。 真正的数据所有权 用户可以自由选择数据存储的地方以及谁可以访问数据,Solid 通过将数据与应用程序分离达到了这一效果。 模块化设计 由于用户产生的数据与应用程序是分离的,所以用户能够避免互联网服务提供商随意锁定、删除数据,从而在各个应用之间无缝切换而且不会丢失任何数据或社交关系。 数据重复利用 开发者在创建新应用或改进现有应用时,可以重用现有的数据,其中有些数据可能是由其他程序创建的(但要得到用户的许可才能使用)。 ========================= 我的目标是面向普通个人提供可用的 1、本地生产的账号,基于这个账号实现以下两个业务功能 2、与其他个体网上加密聊天,个体到个体的端到端加密,而不是客户端到服务器的加密 3、发布公告供其他个体浏览,无人可以过滤个体的内容 所有数据存放在受个体控制的本地环境 |
7
oxogenesis OP 先定义数据后设计系统,与他的数据程序分离思路类似
不丢失数据和关系,是显然的,所有系统这都是最基本的 他是技术规范、底层设计?面向的是开发者,不知道要解决啥问题 我要直接解决现实问题 |
8
oxogenesis OP 再补充一点
这样做并不是为了盈利,可能需要自己部数据中继节点,规模不大的情况下,个人完全可以负担 如果数据量大,也有可能会有商业机构愿意做公告聚合服务,这样他们就需要部署服务能力强的中继节点,服务质量好的节点能够旁听到大量公告内容 整体上具有完全的可持续性 |
9
dawn009 2019-07-27 12:24:14 +08:00
来自维基百科:
Solid (中文:社交互联数据)[1]是由万维网发明者蒂姆·伯纳斯-李( Tim Berners-Lee )领导的网络去中心化项目,由麻省理工学院 ( MIT )运行。该项目为需要链接数据的应用程序开发了一个分布式网络平台,这个平台完全由用户控制,而不是由其他组织或个人控制。它“旨在从根本上改变网络应用程序的工作方式,从而实现让每个人拥有真正的数据所有权,并且改善隐私状况”[2]。 历史 在伯纳斯-李于 1989 年发明万维网二十年之后,他在为万维网联盟撰写的草稿中概述了万维网的设计问题,并提出了 Solid 项目[3][4]。伯纳斯-李越来越沮丧地看到他发明的万维网被滥用,例如:俄罗斯黑客涉嫌干扰 2016 年美国大选,2018 年 Facebook 用户数据泄露风波,Facebook 在 2012 年秘密对近 70 万用户进行心理实验,谷歌和亚马逊为可以识别人类声音情绪变化的设备申请专利[5]。 伯纳斯-李想要改变目前互联网的运行现状,Solid 项目是改变它的第一步,以让个人用户完全控制自己的数据[6]。伯纳斯-李欢迎任何人加入和贡献 Solid 项目[7]。 2015 年,該項目收到万事达为支持 Solid 的开发而捐贈的一百萬美元。伯纳斯-李的 Solid 项目研究团队与卡塔尔计算研究所和牛津大学合作[8]。2018 年,伯纳斯-李创立了商业合资企业 Inrupt 以支持 Solid 的发展[9]。 设计 要实现分布式网络,需要克服许多技术挑战[10]。应用程序和数据必须分开,允许人们将个人数据存储在他们想要的地方。身份验证程序必须正确识别数据所有者,同时确保隐私。与传统的分散的 P2P 网络(如 BitTorrent )相比,Solid 应该增加更多控制权和功能,而不是使用传统的集中式网络 。最后,系统必须易于使用,速度快,并且允许开发人员快捷地开发应用程序[10]。 Solid 的核心是在保护隐私的前提下共享信息。用户将个人数据存储在任何自己想要的“ pods ”( 个人在线数据储存器 )中。在用户授予应用程序权限后,Solid 认证的应用程序可以请求数据。用户可以在几个 pod 之间分发个人信息,例如,不同的 pod 可能包含个人简介、联系方式、财务信息、健康状况、旅行计划或其他信息。用户在注册经认证的社交账户时,可以通过授予其访问特定 pod 中的信息的权限来,以完成账户注册。用户保留对用户 pod 中数据的完全所有权和控制权:用户可以控制每个 pod 包含什么数据、每个 pod 的存储位置以及哪些应用程序有权使用这些数据[1]。 Solid 由以下几部分组成[11]: 一个特定格式的数据库:它包含有个人数据,例如身份证明、权限认证、登录信息、权限列表、联系人、消息、订阅、评论等(与集中式社交媒体服务功能相同)。 一个描述 REST API 的规范文档,以指导开发人员构建服务器或应用程序。 一个用来实现 Solid 规范的服务器。 一个用于测试和验证 Solid 实现的测试套件。 一个由在 Solid 平台上运行的社交应用、身份提供程序和帮助库组成的生态系统。 一个可以互相交流、发布文档和教程的社区。 |
10
oxogenesis OP “用户在注册经认证的社交账户时,可以通过授予其访问特定 pod 中的信息的权限来,以完成账户注册。”
向谁注册,注册账户就相当于把蛋蛋让人捏在手里,还怎么活 在这一点就完全不同,我的这个系统,所有账号都是在本地生产的,同时能被其他用户识别 |
11
oxogenesis OP 老打错字。。。
在这一点就完全不同,我的这个系统,所有账号都是在本地生成的,同时能被其他用户识别 |
12
dawn009 2019-07-27 13:30:40 +08:00
@oxogenesis #10 可以自建 server,自己选择存放在哪里,当然也包括存放在本地。所以我认为你想要的,Solid 已经做了。
|
13
lhx2008 2019-07-27 13:43:19 +08:00 via Android
如果发消息不用付费,那么最终会不会淹没在垃圾和广告的洪流中。
|
14
niubee1 2019-07-27 13:47:26 +08:00
端对端加密通讯不基于中心服务器做中转的 IM 我实现了一套出来,绝对私密, 绝对安全, 我觉的很适合矫情的 v 站用户, 我们都是一挂的
|
15
oxogenesis OP @lhx2008 不会
默认过滤器 所有消息都需要校验 Json 格式、签名有效性、To 字段是否为本地系统所使用的账号,识别所有消息的来源账号 公告过滤器 本地系统只向关注个体表内的账号发送连续的公告请求消息,直至获取全部公告消息 根据公告消息的引用关系,向引用账号发送离散的公告请求消息,获取被引用的单条公告消息 TODO:单条被引用消息的获取来源,不应该局限于引用账号 聊天过滤器 本地系统只与好友个体表内的账号,发送和接收密钥协商消息、聊天消息、聊天同步消息 本地系统会过滤,在白名单中的才会被个体看到 如果你看到了大量广告和垃圾,只有一种可能,你订阅了大量广告和垃圾的发布账号 |
16
oxogenesis OP @dawn009 我已经说了,“向谁注册账号?就相当于把蛋蛋给谁捏着。”
自建 server 只是一个表象, 他的 server 是 server 我的 server 只是数据中继,只对消息进行形式化验证,不处理具体的身份认证,不知道用户邮箱、用户密码 你是属于没看懂那一伙的 |
17
niubee1 2019-07-27 14:25:27 +08:00
个人觉得你这个原型有一个悖论在其中, 如果是针对点对点私密通讯, 那么点对点的加密机制就是必须的,但是你这里又要对标发帖子的, 帖子信息是属于公开或者半公开的信息, 即使加密了, 我通过公告获取到后,最后也是能得到明文的信息, 那么加密还有什么意义?另外看得出来你的原型受了 BTC 很大的影响, 但是区块链块存储的意义是在于批量打包确认, 你这里又不需要公式机制来确认打包, 搞得有点奇怪了。聊天和发帖子是两种不同形式的信息共享机制, 我觉得你想要合二为一的想法并不合理
|
18
oxogenesis OP @niubee1 没有合二为一,而是将数据分为两类:
1、绝对公开的,叫公告,对标的是帖子型,只希望传播的越广越好,怕的是被封杀、被过滤、传播受阻,不做加密处理,发表言论是自由,言论被传播也是自由,但是每次传播是基于每个人的选择,没有人可以对其他人定向广播,只有别人来你这拉取公告; 2、绝对不公开(只对聊天的当事人公开),不对服务器公开; |
19
niubee1 2019-07-27 14:35:59 +08:00
另, 基于区块链技术来聊天的话, 效率及其低下, 这个东西可以存在于理论上, 但是无法实用化。如果如果要实用, 直接用 ETH 架设私链,用 DAPP 也完全能实现类似的功能
|
20
lscho 2019-07-27 14:39:59 +08:00 via Android
看三楼描述的不就是区块链吗。。。。
你是没搞明白啊,并不是没人想吧端到端加密应用到聊天、论坛上,而是政策不允许啊。想提供聊天、内容发布服务的话,内容必须要能被审查的。 |
21
oxogenesis OP @niubee1
引入区块链思想是为了增强信任,减少系统滥用 一个账号的公告消息链,是为了防止这个账号修改、否认、删除已经发布的公告 一个账号的公告消息链如果分叉、不一致,这个账户就丧失了信用,你还关注他干什么 |
22
niubee1 2019-07-27 14:56:29 +08:00
@oxogenesis 信任是基于共识的, 如果共识机制不完整的话, 本身就不可信了,BTC 的共识机制是经过时间验证的, 你如果只取用一小部分那还不如不用, 因为反正也是不可信的嘛
|
23
oxogenesis OP @lscho 想和做是两码事
《中华人民共和国网络安全法》第二十四条规定,网络运营者为用户办理网络接入、域名注册服务,办理固定电话、移动电话等入网手续,或者为用户提供信息发布、即时通讯等服务,在与用户签订协议或者确认提供服务时,应当要求用户提供真实身份信息。用户不提供真实身份信息的,网络运营者不得为其提供相关服务。 为个体提供信息发布、即时通讯服务的是个体的本地系统,每个人都是使用自己的本地系统,一个系统一个人身份还不够真实?实在不行加个功能,供个体录入实名信息(但永远不向外发送),不就行了。 数据中继服务器就像网络设备处理 ip 数据包一样,是感知不到用户和内容的 |
24
oxogenesis OP @niubee1 只是借用区块链部分思想,如果做公链账本,需要全网同步数据,效率当然低
比如我只关注 500 个人(这已经不少),我只需要同步 500 个链,每个人关注的人,同步的内容不一样,我只需要校验这 500 个链是否有效,取关、封杀伪造数据的账号即可 只不过是把微博所有关注浏览的信息移到本地了,并且随时可以删,并不是要把微博整站下载到本地 |
25
oxogenesis OP @niubee1 公链信任需要共识
个体账号单链不需要共识,谁愿意信就信 |
26
niubee1 2019-07-27 15:08:37 +08:00
@oxogenesis 既然爱信不信,还搞这么些麻烦事情
|
27
oxogenesis OP @niubee1 “因为反正也是不可信的嘛”
程序只能保证 json 格式、签名、消息接收账号等形式话校验,序号、前消息哈希值等数据链校验,从技术上保证数据不可伪造,不可伪造就是可信的数据 信任是人类行为 你说的不可信是:你可以伪造他人账号的数据? |
28
oxogenesis OP @niubee1 爱信不信是人的自由选择,搞工具是为了人选择时有依据
“创建新回复过程中遇到一些问题: 你回复过于频繁了,请稍等 1800 秒之后再试” 每当这种时候发生,我就深深感觉到,作为一个人打了这么多字,竟然被一个网站限制自由,很悲哀 我又不是回复给你网站,我是回复给 niubee1 这么一个人 谁写的这个程序给我站出来 当然 niubee1 这个人也是没有整体全面的思维能力,东伊缀西医追,概念混淆泛泛而谈,不能聚焦于具体问题,展现了 v2 普通用户的一般水平 水平高的大佬都是默默的收藏 |
29
dawn009 2019-07-27 16:20:41 +08:00
@oxogenesis #16 并不是表象。自建 server 时就是向自己注册,所以你当然可以把卵蛋捏在自己手里。
给我的感觉,你在做这个之前对同类型的工具了解不够。不知道你在决定造轮子之前都调查过哪些已有轮子。 沟通成本有点高。 |
30
oxogenesis OP @dawn009 我对 solid 确实不了解,按你说的
那么我有一个问题,比如你自建了一个 server,其他人如何使用这个 server ?需要账号吗?账号是你的 server 存储管理的吗,其他人的蛋蛋是不是被你捏住了? |
31
Teamo 2019-07-30 14:43:20 +08:00
我看懂了 po 说的啥了
简化一下,举个例子 用户即 server,好比每个人都有一个扩音器,每个人说的东西都可以到达其他人的耳朵中( client ) 但是每个人都能选择听还是不听这个人说的内容。 问题是,要是有大量 bot 实行信息炸弹怎么办? 可信度几乎没有的公共信息最后都筛选不出来,会导致大量用户选择弃用吧 要不就是最后导致小圈子成立,这圈子可能产生大量非法信息 希望能给出解答 |
32
oxogenesis OP |
33
dawn009 2019-07-31 04:45:55 +08:00
@oxogenesis #32 因为不想和你说话了。
「 server 与 server 之间是如何通信的?如果每个人都自建 server,互相之间可以通信吗?」答案是肯定的。 这个问题稍微调查一下就可以明白,没必要问我。 本来是你向大家介绍自己的系统,应该是你来比较与现有系统的异同,体现自己的设计有哪些优点。现在反过来需要我给你介绍其他系统,责任倒置了。所以算了,沟通成本太高。 |
34
linhua 2019-08-02 10:51:41 +08:00
和 Twister 差不多
" Twister 是一款测试性的 P2P 微型博客自由软件。它是完全分布式的,所以没有什么单独的位置可以攻击,进而无人可以让它停止工作。这个软件系统使用端对端加密以保护信息交互安全。[6] 软件基于 BitTorrent 和比特币,并且意图创建一个分布式的 Twitter 克隆。 " |
35
oxogenesis OP @linhua 对 p2p 并不强调,重点在“账号在本地系统”,因此服务器只做数据中继,从而重要性被大大弱化,降低垄断、权利滥用等对个人不利的情况发生
|