花了 6 年搭了一个去中心化的社交网络作品

14 小时 27 分钟前
 printfcoder
AI 真的要淘汰传统的程序员角色了。我大概是在 2019 年有这个想法,那个时候对各大厂商的 App 后台数据上报非常不爽,就想未来有没有一种可能,每个人掌握自己的社交关系?而不是被几个大厂拿去当成护城河。

所以这些年就慢慢找时间往这个方向靠,期间探索、架构、实现都搞过一些玩具版本。进展非常慢,一方面确实是时间不够;另一方面是需要相大量的技术储备,前后端、Mobile App 、架构、网络、设计等,都要自己来一个一个去摸索,尝试找了一些朋友,都对这个场景兴趣不是很大,基本只有极少人对隐私、数据保护有相当的诉求,大部分朋友还是习惯于让大公司掌握、管理自己的数据资源,故而在前期找到志合的朋友比较困难。

但是,我们的这些身外之物,我真的认为个人未来最重要的东西就是数据,而不再只是金钱。

我搞的这套方案,是一个去中心化的社交网络。可以简单看看 Desktop 端的运行效果:三个人,三台各自独立部署的节点,没有中心服务器,消息直接在节点之间联邦送达。下面是三个独立节点第一次联邦跑通时的对话。



我暂时给这个方案起名叫 Peers-Touch ,意为大家可以直接轻碰接触。整体思考是通过一个去中心化(联邦式)网络框架,在上头先长了这个社交产品。每个人跑自己的 Home Station ,可以运行在 NAS 、树莓派、云主机都行;身份、关系、消息全在自己手里(也就是个人 Station 上),Station 之间像邮件一样联邦互连,端到端加密,规划中,我也做了 Agent 、小程序和区块链,都跑在自己的 Station 上,作为智能时代和扩展方向的预留。

下图是大体的产品架构




再说怎么做出来的。

这个项目 6 年前开工。前几年是传统写法,一个模块一个模块地做;后面基本是我带着 Trae 完成的——一个人,Go / Rust / TS / Kotlin / Swift 五个栈,80 多万行,从架构到真机验收。不是我突然变猛了,是干法变了:做什么、架构怎么定、人怎么排,AI 给;具体写,AI 也给。

视频在这,2 分 52 秒,从节点部署、联邦互联、端到端加密到 Agent 都过了一遍(播放器可能默认压到 360p ,点右下角齿轮切 1080p ):

<amp-youtube data-videoid="ZU6kMt3BQrs" layout="responsive" width="480" height="270"></amp-youtube>
代码在这: https://github.com/peers-labs/peers-touch ,还在成长,欢迎拍砖,欢迎 Star 。
一些目前的设想: https://peers-touch.vercel.app/

最后说点感想。

我当程序员第 14 个年头了,从传统行业、金融、互联网都干过,现在团队正在转行做 Agent 相关的事,虽然也是趋势所迫,不过我也认为 Agent 本身也是过滤,一方面传统行业的技能、知识等,会慢慢向大模型基建下沉,这是已经能看到的事实,未来这个协作过程会从现在的“领域-Agent-LLM”的路径,直接转成“领域-LLM-Infra”,LLM 平台会进一步泛化现在 Agent 的能力变成口语就能驱动的万物即可 Agent 的样子,讲几句话就能做一个自己的 Agent ,当全部都是 Agent 的时候,约等于没有 Agent ,当然只是我的观点。

未来 Idea 到实现会是个比较廉价的过程,AI 挤压我们传统就业空间的矛盾总会有利的一面,大家都可以大胆去选择探索未来。“因为生命有限的,所以我们的选择,都被赋予了重量”。

程序员转不转型,已经不用讨论了。一个人端到端干完这几年,我反而觉得有三样东西更值钱:

1. 想得出新东西。做什么比怎么做稀缺,这轮 AI 替不了。
2. 学得动。新东西到手,几天之内得能拿它干活。
3. 落得了地。从想法到真机跑通、能交付,结果和锅还是你的。

造的过程,也在体验生命的厚度,哪怕失败了也是能接受的。
1029 次点击
所在节点    分享创造
14 条回复
yonlin
14 小时 20 分钟前
printfcoder
14 小时 16 分钟前
Desktop 图挂了,可以看这个
printfcoder
14 小时 13 分钟前
@yonlin 多谢。是啊,有调研过,还有长毛象( mastdon ),activitypub 协议之类,发现还是按自己 idea 来,我想做一些扩展性比较强的,重点是做一个家庭为单位的信息港湾,选择性共享、联邦。
kanakana
14 小时 0 分钟前
经典 xkcd 927 ( https://xkcd.com/927/)

也不是抬杠吧,但是你提的三样值钱的东西我觉得还漏了一样:实际的用户和社区。去中心化的协议或是产品不少,楼上提到的 Lemmy 用的 ActivityPub 还有 Bluesky ,两个都已经有大量用户了;或者再冷门点的 nostr 或者再把 matrix 也给算上,为什么要用你的呢?

我乍看网站也没有写比较(虽然说用户可能也不在乎,比如说 IMHO ActivityPub 其实是个比较 worse is better 的协议,比如说 Bluesky 或 ActivityPub 在设计时好像都没考虑端到端加密),虽然我猜 AI 设计架构时肯定也有参考这些协议,但想要实际做成一个有用户的东西的话,在竞品这么多的情况下肯定是要有很鲜明的特色才行的吧
413420
13 小时 54 分钟前
6 年前你用的什么 AI ?
NESeeker
13 小时 15 分钟前
@413420 “前几年是传统写法”
413420
13 小时 14 分钟前
@NESeeker 哪种传统,汗
HENQIGUAI
6 小时 48 分钟前
发帖推广的文案能不能自己写,这种都用 AI 写,天然就把用户推远了
allstand
6 小时 29 分钟前
“不是我突然变猛了,是干法变了:做什么、架构怎么定、人怎么排,AI 给;具体写,AI 也给。”
提个意见,这种冲鼻子的浓烈 ai 味能不能改一改再发出来,太反感了
printfcoder
5 小时 54 分钟前
@kanakana 感谢 Kana 老师的意见,在这段时间持续做的时候也确实考虑过竞品良玉在前的问题,如何去“竞争”,但是在和内心多次对话之后,反问了自己一个问题,为什么要去竞争。为什么不去做一个自己定义的东西,现在执行力这么廉价,所以决定自己推翻师从前者的那些建设,再从 0 打造。但是也没有闭门造车,也在学优秀作品的架构设计和 UIUX 哲学。还是有不少收获的。
这是个长期的兴趣落地的过程,当前只是一个临时态,Kana 老师提的建议会逐步落地的,再次感谢。
printfcoder
5 小时 52 分钟前
@allstand 哈哈哈哈,我让 ai 打了个草稿,发现不行。自己在原文上又撸了,还是漏了些。我不认真,下次一定不会了,坚持手搓,传播温度。
printfcoder
5 小时 51 分钟前
@HENQIGUAI 好嘞,一定改
moyupai
5 小时 41 分钟前
你这种需要种子服务器吗?冷启动前期协助用户互相发现,社交中除了电子信息交互,可能还会有不同联邦之间的物品贸易,由于去中心化,怎么保证物品不被复制,区块链是个很重的东西,上链会不会不值得?
printfcoder
4 小时 0 分钟前
@moyupai 感谢关注。如果发展得好的话,种子 boot 会让社区提供,也会尝试提供轻量的 relay ,稍微稳定点后我个人也会去寻找一些可长期坚持的方式获取资金流,购买一些种子服务器。短期还是继续打磨,让几个有兴趣的小伙伴,把常见的网络环境都打磨好,比如有些宽带是有 ipv6 公网能力的,可以先组网利用起来。
联邦间的物品交换,这个如果是物理上的交换,确实目前提供不了,没有好的社区公信(比如支付宝)力,技术上实现也没有意义,公信这东西需要长期积累。现在还是解决电子信息交互层面的问题。
区块链的话,目前只是用到了密码、寻址、哈希链相关的这部分技术,账本、共识这类特别重的,暂时用不上。
长期没有太宏伟的规划,就是看看有没有可能在小范围内取代微信日常社交,年纪大了,圈子反而越来越小,自己的 app 和平台足够承担,还能保护好隐私。

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

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

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

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

© 2021 V2EX