安全与系统架构

四层架构与跨平台解决方案

🏗 系统架构设计

Butterfly 协议采用模块化的四层架构设计,确保了系统的可扩展性、安全性以及对未来技术升级的适应性。

🥞 协议堆栈详解

层级
组件
功能描述

应用与 DeSoc 层

ButterflyMessage, 频道

处理消息生成、确认、公共频道和私密聊天的逻辑。DID 身份管理。

会话层

Packet, TTL

负责数据包封装、定义消息 TTL、序列化。集成 Nostr 协议 (NIP-17) 实现隐私保护。

传输层

BLE, 连接管理

核心传输控制。管理 BLE 广播/接收。物理介质抽象层。

加密安全层

Noise, Ed25519

协议基石。提供端到端安全保障。

🕵️ 加密与安全层:Noise 协议栈

在一个基于广播的网络中,所有信号在物理上都是公开的。Butterfly 集成了 Noise 协议栈

  • 握手模式 (Handshake): 使用 Noise XX 或 IK 模式。这种模式提供了双向身份认证 (Mutual Authentication) 和前向保密 (Forward Secrecy)。

  • 密码学原语:

    • 密钥交换: X25519 (Elliptic Curve Diffie-Hellman)。

    • 身份认证: Ed25519 数字签名。

    • 对称加密: AES-256-GCM 或 ChaCha20-Poly1305。

🕶 隐私保护设计

1. 零知识证明 (ZKP)

为了在验证连接的同时不暴露用户具体的行动轨迹,我们引入 ZK-SNARKs。用户只需证明其拥有符合 Verify(Epoc)Verify(E_{poc})条件的数据(如 RSSI 和时间戳),而无需在链上公开原始的IDID和精确GPSGPS

2. 匿名性与假名系统

  • MAC 地址随机化: 防止物理追踪。

  • Ephemeral ID 轮换: 应用层广播的 ID 每 15 分钟更换一次。对于陌生人,每个用户看起来都是一个新的、不相关的节点,直到握手发生。

📱 跨平台挑战:iOS 与 Android

在智能手机上实现持续的 Mesh 网络面临巨大的操作系统限制。

💡 我们的解决方案

  1. 混合唤醒机制:利用 Location Updates 或 Audio Background Mode 辅助保活。

  2. 受限广播 (Duty Cycling):后台模式下切换到低频广播,仅发送最小化信标。

  3. 本地通知激励:检测到附近节点时,通过推送通知唤醒用户打开 App。

最后更新于