文章摘要
这篇文章介绍了一种基于静态网站的去中心化社交网络协议sAT(s@)。该协议允许用户通过静态网站存储加密数据,浏览器客户端聚合内容并发布更新。用户只需fork示例仓库、启用GitHub Pages即可快速搭建自己的节点,协议不依赖特定托管服务。
文章总结
标题:s@:基于静态站点的社交网络协议
核心内容概述:
协议简介 sAT协议(s@)是一种基于静态站点的去中心化社交网络协议。用户通过自有域名建立身份,所有数据以加密JSON格式存储在静态网站中。该协议不依赖任何中间服务器或中继节点,数据仅在用户网站和好友浏览器之间直接传输。
技术实现
- 身份认证:通过HTTPS/TLS验证域名所有权
- 数据加密:采用X25519密钥对和XChaCha20-Poly1305加密算法
- 密钥管理:包含自解密文件(_self.json)和按需生成的密钥信封
- 双向关注机制:仅互相关注的用户能解密彼此内容
- 核心功能
- 内容发布:加密存储单篇博文,支持纯文本和回复功能
- 动态聚合:客户端自动抓取并解密关注用户的最新内容
- 反垃圾设计:通过强制双向关注和内容加密实现访问控制
- 部署方式
- 基础部署:Fork示例仓库并启用GitHub Pages
- 自定义路径:通过satproto_root.json配置文件修改默认路径
- 自托管要求:需配置CORS支持跨域访问
- 协议特点
- 极简主义:仅保留社交网络核心功能
- 反规模化:明确设计为小规模熟人社交
- 完全自主:用户完全掌控数据和发布渠道
- 技术细节
- 数据存储结构包含发现文档、加密博文、关注列表和密钥目录
- 采用时间戳+随机数的混合ID生成方案
- 支持密钥轮换机制实现安全取消关注
- 设计哲学
- 明确拒绝网红经济模式
- 强调真实社交关系的数字映射
- 通过技术限制强制实现隐私保护
注:原文中FAQ部分的调侃性问答和部分技术实现细节(如具体加密流程)已适当精简,保留核心功能说明。
评论总结
以下是评论内容的总结:
对Satproto协议的批评
- 认为协议实现过于复杂,依赖加密签名,不够静态
- 引用:"satproto's implementation involves complex cryptographic signing and that makes it very not static"
- 引用:"This is not true of indieweb's web mention...Totally decentralized and very simple"
与Nostr协议的比较
- 多个评论者提到Nostr协议,认为它解决了发现/聚合问题
- 引用:"Nostr solved the discovery/aggregation problem with relays but introduced its own tradeoffs"
- 引用:"Signed JSON reminds me of Nostr. I wish Nostr was somehow more mainstream"
可扩展性担忧
- 担心静态站点方案在跟随多人时会出现O(N)轮询问题
- 引用:"I wonder how feed aggregation scales once you follow more than a handful of people"
- 引用:"zero infrastructure dependencies but O(N) polling"
安全性问题
- 批评使用浏览器localStorage存储私钥的做法不可靠
- 引用:"The browser's localStorage is not a replacement for filesystem"
- 引用:"malware can access it with no problem, while legitimate backup programs are locked out"
协议设计建议
- 建议使用/.well-known/目录作为标准位置
- 引用:"Would a
/.well-known/be helpful here?" - 建议考虑后量子密码学
- 引用:"have you considered Replace X25519 with a post quantum cryptography"
对去中心化社交媒体的历史回顾
- 提到FOAF和Pingback等早期去中心化方案
- 引用:"Long ago there was this thing called foaf...it was the closest I've seen to completely decentralised social media"
用户体验担忧
- 认为加密依赖过重会阻碍非技术用户采用
- 引用:"It's too dependant on encryption...I want something where it's secured by a username and password"
- 引用:"I am very technical, and idk exactly what a X25519 keypair is"
正面评价
- 部分评论者赞赏方案的简洁性和创新性
- 引用:"Very interesting idea, love the simplicity"
- 引用:"Amazing. I'm building almost the exact same thing"
潜在滥用风险
- 指出时间戳机制可能被恶意利用
- 引用:"Does this mean...I can manipulate my reply time"
- 引用:"I can imagine a few adversarial ways of (ab)using this"