11个版本

0.3.0 2024年5月23日
0.2.1 2024年2月15日
0.2.0 2023年11月23日
0.1.7 2022年6月15日
0.1.1 2021年1月24日

#153 in 异步

Download history 899/week @ 2024-05-01 1023/week @ 2024-05-08 1077/week @ 2024-05-15 1626/week @ 2024-05-22 1223/week @ 2024-05-29 1128/week @ 2024-06-05 1629/week @ 2024-06-12 834/week @ 2024-06-19 838/week @ 2024-06-26 1371/week @ 2024-07-03 1558/week @ 2024-07-10 1158/week @ 2024-07-17 1126/week @ 2024-07-24 933/week @ 2024-07-31 1349/week @ 2024-08-07 1160/week @ 2024-08-14

4,815 每月下载量
用于 8 个crate(6个直接使用)

MIT/Apache

98KB
2K SLoC

基于轮次


lib.rs:

License: MIT Docs Crates io

一个将开发和使用多方协议(例如阈值签名、随机信标等)的方式统一和简化的MPC框架。

目标

  • 异步友好
    异步是Rust中进行网络操作最简单、最有效的方法
  • 简单、可配置
    协议可以用几行代码实现:查看示例。
  • 独立于网络层
    我们使用抽象的 StreamSink 来接收和发送消息。

网络

为了运行MPC协议,需要定义传输层。你所要做的就是实现 Delivery 特性,它基本上是一个用于接收和发送消息的流和接收器。

消息交付应满足某些标准,这些标准因协议而异(请参阅你使用的协议的文档),但通常它们是

  • 消息应该是经过身份验证的
    每个消息都应该使用发送者的身份密钥进行签名。这意味着需要有公共密钥基础设施。
  • P2P消息应该是加密的
    只有接收者才能了解P2P消息的内容
  • 广播频道应该是可靠的
    某些协议可能要求广播频道是可靠的。简单地说,当一方通过可靠频道接收到广播消息时,应确保其他人也接收到相同消息。

功能

依赖

~1.5–3.5MB
~68K SLoC