7个版本 (破坏性更新)
0.7.0 | 2020年12月29日 |
---|---|
0.6.0 | 2020年12月20日 |
0.5.0 | 2020年7月2日 |
0.4.0 | 2020年6月7日 |
0.1.0 | 2020年4月27日 |
#1291 in 算法
在 2 个crate中(通过 clepsydra)使用
50KB
1K SLoC
Concorde
此crate是一个正在进行的尝试,试图实现一种小型、特殊情况下的类似共识算法,称为“可重构格协议”,它具有一些理想特性
-
它是异步的、小巧、快速且简单,与其他类似共识算法相比。状态少、消息类型和往返次数少。介绍它的论文用20行伪代码描述了它。
-
它支持无需任何单独阶段的“在线重新配置”:在它运行时,您可以添加或删除节点,并且它可以即时适应更改的法定人数。
相对于通用共识,这些理想特性的代价很高,但您可能愿意并能够承担这样的代价
-
讨论的“对象”领域 —— 您试图达成一致意见的领域 —— 必须是一个(连接半)格。
-
您必须接受“格协议”API,其中您可能会得到一个“对象”值,它可能比您提出的值在其格中更高,甚至可能不是任何人提出的值(只是一个提议的并集)。
此外,您的法定人数系统(例如,一组节点)的表示本身也必须是一个格,尽管在这个实现中,它是一个固定的节点集法定人数系统,因此您在这里实际上没有选择。
参考
Petr Kuznetsov, Thibault Rieutord, Sara Tucci-Piergiovanni. 可重构格协议及其应用。[研究报告] 巴黎理工学院; CEA List. 2019. ffcea-02321547f
https://hal-cea.archives-ouvertes.fr/cea-02321547
名称
维基百科
英国-法国的空中客车公司Concorde是一款超音速客机
...
Concorde来源于法语单词concorde,其英语对应词为concord。这两个词都表示协议、和谐或联合。
(与同名的TSP求解器无关;对于名称冲突表示歉意)
依赖关系
~5–12MB
~116K SLoC