去中心化社交
ChainlessChain 内置的去中心化社交功能,让你在完全掌控数据的前提下与朋友交流。
核心特性
- 🆔 DID身份: 基于W3C标准的去中心化身份
- 🔐 端到端加密: Signal协议保障通信隐私
- 🌐 无服务器: 点对点通信,不依赖中心平台
- 📱 跨设备: PC和手机无缝同步
- 🔓 数据自主: 完全掌控社交数据
创建你的DID身份
什么是DID?
DID (Decentralized Identifier) 是去中心化标识符,是一种全新的身份系统:
- ✅ 自主权: 由你自己创建和管理
- ✅ 可验证: 通过密码学证明身份
- ✅ 隐私保护: 无需透露真实信息
- ✅ 全球唯一: 永久有效,不会被撤销
创建DID
首次使用时,系统会自动为你创建DID:
1. 打开社交模块
2. 系统检测到无DID
3. 自动生成密钥对(使用U盾/SIMKey)
4. 创建DID: did:chainlesschain:QmXXXXXX
5. 设置个人资料(昵称、头像、简介)
6. 完成!DID格式
did:chainlesschain:QmXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
│ │ │
│ │ └─ 公钥哈希(Base58编码)
│ └────────────── DID方法名
└────────────────── DID前缀添加好友
扫码添加
最简单的方式是扫描好友的二维码:
1. 点击"添加好友"
2. 选择"扫描二维码"
3. 扫描对方的DID二维码
4. 查看对方资料
5. 发送好友请求(可附加验证消息)
6. 等待对方同意通过DID添加
如果对方发送了DID给你:
1. 点击"添加好友"
2. 选择"输入DID"
3. 粘贴对方的DID
4. 系统从DHT网络获取对方的DID文档
5. 验证签名
6. 发送好友请求附近的人
利用本地网络发现功能:
1. 开启"附近的人"
2. 系统通过mDNS扫描局域网
3. 显示附近的ChainlessChain用户
4. 点击添加TIP
"附近的人"功能使用本地网络广播,不会泄露位置信息到互联网
好友管理
好友分组
创建分组更好地管理好友:
typescript
// 创建分组
groups = [
{ name: "家人", color: "#FF6B6B" },
{ name: "同事", color: "#4ECDC4" },
{ name: "朋友", color: "#95E1D3" }
]设置备注
为好友设置备注和标签:
右键好友 → 设置备注
- 备注名: 张三(高中同学)
- 标签: #高中 #同学 #篮球信任评分
系统会根据互动历史自动计算信任评分(0-1):
- 交流频率
- 交易历史
- 共同好友
- 信誉背书
信任评分越高,在交易等场景下越安全。
发布动态
动态类型
支持多种类型的动态:
- 文字动态: 最多5000字
- 图文动态: 文字 + 最多9张图片
- 长文章: Markdown格式,无字数限制
- 投票: 发起话题投票
发布动态
1. 点击"发布动态"
2. 编辑内容
3. 添加图片/视频(可选)
4. 选择可见性:
- 公开: 所有人可见,发布到IPFS
- 好友可见: 仅好友可见,端到端加密
- 私密: 仅自己可见
5. 发布可见性控制
公开动态:
- 发布到IPFS网络
- 任何人都可以查看
- 永久存储,无法删除(可撤回引用)
好友可见:
- 使用好友公钥加密
- 只有好友能解密查看
- 通过P2P网络传输
私密动态:
- 仅存储在本地
- 可作为私人日记
私密消息
一对一聊天
1. 点击好友头像
2. 进入聊天界面
3. 输入消息
4. 发送消息自动使用Signal协议加密:
- ✅ 端到端加密
- ✅ 前向安全
- ✅ 未来安全
- ✅ 可验证送达
群组聊天
创建加密群组:
1. 点击"创建群组"
2. 选择成员(最多500人)
3. 设置群名称和头像
4. 完成群组消息使用对称密钥加密,所有成员共享群密钥。
消息状态
- ✓ 已发送
- ✓✓ 已送达
- ✓✓ 已读(需对方开启已读回执)
离线消息
如果好友离线,消息会:
- 存储在中继节点(加密)
- 好友上线时自动推送
- 最长保留7天
时间线
查看动态
时间线显示好友的动态:
[时间线]
├─ 按时间排序(默认)
├─ 按热度排序
└─ 按AI推荐排序AI推荐算法
本地AI会根据你的兴趣推荐内容:
- 分析你点赞/评论的内容
- 识别你的兴趣标签
- 推荐相似内容
- 完全本地运行,不上传数据
内容过滤
自定义过滤规则:
json
{
"filters": {
"keywords": ["广告", "营销"],
"hideReposts": false,
"showOnlyMedia": false
}
}P2P通信
连接流程
用户A想联系用户B
↓
查询B的DID文档获取节点地址
↓
尝试直接P2P连接
├─ 成功: 直接通信
└─ 失败: NAT无法穿透
↓
使用中继节点转发
↓
建立加密通道NAT穿透
系统自动尝试多种NAT穿透技术:
- STUN: 获取公网IP和端口
- ICE: 协商最佳连接路径
- TURN: 实在不行就用中继
中继节点
官方提供的免费中继节点:
relay1.chainlesschain.com:4001
relay2.chainlesschain.com:4001
relay3.chainlesschain.com:4001你也可以运行自己的中继节点:
bash
docker run -p 4001:4001 chainlesschain/relay-node信任网络
Web of Trust
去中心化信任网络,无需中心化认证机构:
你 ──信任─→ 张三 ──信任─→ 李四
↓
信任传递
↓
你对李四的信任度 = 你对张三的信任 × 张三对李四的信任信誉背书
为好友的技能和品质背书:
1. 进入好友资料
2. 点击"背书"
3. 选择背书类型:
- 技能: 编程、设计、写作...
- 品质: 诚信、守时、专业...
4. 撰写评价(可选)
5. 签名发布背书会记录在区块链上,公开透明。
举报和屏蔽
遇到不良用户可以:
屏蔽:
- 不再看到对方动态
- 对方无法给你发消息
- 仅在本地生效
举报:
- 向社区仲裁员举报
- 提交证据
- 等待仲裁结果
- 恶意用户可能被全网屏蔽
隐私设置
个人资料可见性
资料项 │ 公开 │ 好友 │ 私密
───────────────┼──────┼──────┼─────
昵称 │ ✓ │ ✓ │ ✓
头像 │ ✓ │ ✓ │ ✓
简介 │ ✓ │ ✓ │ ✓
DID │ ✓ │ ✓ │ ✓
真实姓名 │ ✗ │ ? │ ✓
手机号 │ ✗ │ ✗ │ ✓
位置信息 │ ✗ │ ? │ ✓在线状态
可以隐藏在线状态:
在线状态显示:
○ 显示实时状态
○ 仅显示给好友
● 永远显示为离线(隐身)动态可见性默认值
新动态默认可见性:
○ 公开
● 好友可见
○ 私密数据导出
导出个人数据
随时导出所有社交数据:
设置 → 数据管理 → 导出数据导出内容包括:
- DID文档
- 好友列表
- 聊天记录(已解密)
- 发布的动态
- 图片和文件
格式: JSON / CSV / Markdown
账号注销
如果想要删除账号:
1. 导出数据备份
2. 发布DID撤销声明
3. 删除本地所有数据
4. (可选)从区块链注册表移除DIDWARNING
DID撤销后无法恢复,请谨慎操作
故障排查
无法连接好友
检查清单:
- [ ] 双方都在线
- [ ] 网络连接正常
- [ ] 防火墙未阻止P2P端口
- [ ] 中继节点可访问
解决方案:
bash
# 测试中继节点连接
ping relay1.chainlesschain.com
# 检查P2P端口
netstat -an | grep 4001
# 重启P2P服务
设置 → 高级 → 重启P2P网络消息发送失败
可能原因:
- 对方离线且中继节点故障
- 对方屏蔽了你
- 网络连接问题
查看详细错误:
右键消息 → 查看发送状态同步问题
如果多设备间消息不同步:
bash
# 强制同步
设置 → 数据同步 → 立即同步
# 检查Git仓库状态
设置 → 数据同步 → 查看同步日志最佳实践
保护隐私
- ✅ 谨慎设置个人资料可见性
- ✅ 不要在公开动态中透露敏感信息
- ✅ 定期检查好友列表,移除不认识的人
- ✅ 使用强密码保护U盾/SIMKey
安全社交
- ✅ 验证对方身份后再添加好友
- ✅ 重要事项使用私密消息,不要公开动态
- ✅ 遇到可疑用户及时举报
- ✅ 不要点击可疑链接
优化体验
- ✅ 合理使用分组管理好友
- ✅ 善用AI推荐发现感兴趣的内容
- ✅ 定期备份聊天记录
- ✅ 关闭不必要的通知
未来功能
即将推出的功能:
- [ ] 语音/视频通话(P2P WebRTC)
- [ ] 共享相册
- [ ] 协作编辑文档
- [ ] 社区/频道功能
- [ ] 朋友圈时光机(回顾历史动态)
