译者注:受能力和理解所限,此译本可能与原文所表述的意思存在差异,一切以原文为准。

I. 介绍

原始的 RSS 标准实际具有开放、中立和分布式的特点。在 Web 2.0 时代,随着中心化平台的壮大,RSS 的使用率大幅下降。然而,一个中心化的平台,即由受信任的一方管控的网络。不可避免地会出现侵犯隐私、挪用利益、内容审查、滥用算法和数据垄断等问题。已经有一些创新的方案被提出来试图解决这些问题:

邦联(联邦)式网络让用户可以选择自己所信任的中心节点,同时允许各节点间进行内容交换。

基于区块链的网络使得用户的数据同时分布在所有的节点。在某种程度上这些方案已然解决了一些问题,但在灵活性、效率和可扩展性方面仍存在局限。

随着网络朝向更加开放和模块化的方向发展,信息流的设计模式也正在向包括创造、存储、分发和渲染在内的四个分散的层次演变。各种协议或模块或有望支持一种可由用户完全控制的互通标准。现有的解决方案没有任何一个致力于构建完全分布式的信息发布标准,而这正是目前网络所迫切需要的。

在本文中,我们提出 RSS3 标准,这是下一代 feed 标准。它能够以灵活、高效和可扩展的方式实现快速且以分布式进行信息传播。该标准确保了网络能够自给自足,并具有冗余和容错能力。下面,我们将介绍了 RSS3 协议,它采用了复杂的网络架构来实现该标准,并实施多种措施以确保网络的稳定性和安全性。

II. 术语表

此章节包括了术语表,其中包含了本文中全部所使用的术语。

术语 定义
DAO 分布式自治组织(Decentralized Autonomous Organization),它通过网络协商实现自动化决策,它不受中央机构的影响,并监督所有重要的决策。
SN 服务节点(Sever Node),它托管 RSS3 文件并响应文件相关请求。DAO 限制了单一 SN 所能服务的文件数量。
Subgroup 服务节点子群(Subgroup),一组 SN,由多干个 SN 所组成。DAO 限制了单一 Subgroup 所包含的 SN 数量。
GI 全局索引器(Gobal Indexer),负责协调子群,路由客户端请求,并维持网络性能。 DAO 设立了相关的激励计划。
RN 中继节点(Relay Node),GI 的一部分,用来协调路由的工作。
Epoch 节点(Epoch),预先规划的将要触发多个事件的时间参考点。
ER 节点间期(Epoch Round),两个节点的相隔时长和阶段,网络在没有任何来自 DAO 和 GI 的计划事件的情况下运行。DAO 设定 ER 间隔。
SDG 可扩展动态分组(Scalable Dynamic Grouping),是 GI 将在节点执行执行的子群策略。
MOC 最低限度运作能力(Minimal Operational Capability),为了提供可信赖服务所需的子群所要拥有的最低限度的 GI 或 SN 数量。
HBC 检查心跳包(Heartbeat checking),节点用于汇报其运行状态的策略。

III. 标准

与其前身相比,RSS3 引入了根本性的变革,以创建一个高效且为分布式的信息发布标准。

A. 实例

实例(instance)是由一个网络中所拥有的基于密码学的账户的集合。注册时所提交的第一个地址将被用作实例的主要地址,可以通过自动验证或用户操作自行导入其他账号。所有经过验证的账户将被储存在一个 RSS3 文件中。

B. 资产

资产(assert)是指实例所拥有的,以数字方式产生的交换媒介。RSS3 网络会自动从经验证账户中合并实例资产,并将其存储到相应的 RSS3 文件中。因为资产类型的多样性,RSS3 文件中资产的呈现方式由 DAO 所决定。

C. 链接

无处不在的链接是一个开放的信息系统的基础。RSS3 协议支持 RSS3 对象之间自主形成并使用自定义类型的通用链接。主要的RSS3对象包括:

  • 实例——基于密码学的账户集合
  • 资产——以数字方式产生的交换媒介
  • 项目(source)——在网络上产生的内容

内部链接用于双向连接 RSS3 网络内的两个对象,而外部链接则是单向连接 RSS3 对象和外部对象。如果外部链接指向的是 RSS3 对象且该对象的源(source)被 DAO 所批准,则该链接可以是双向的。

D. 治理权和所有权

RSS3 网络具有高图灵完备性,因此它可以处理复杂的逻辑,例如复查用于定义 RSS3 文件权限和所有权的智能合约。

E. 活动 feed

在 RSS3 文件中,活动 feed 主要包括:

  • 所有由实例经验证账户索引的活动
  • 所有由实例或网络产生的项目
  • 所有由 RSS3 网络生成的通用链接

该 feed 类似于原始的 RSS 协议,并携带额外的加密信息以确保数据的完整性和原始性。该设计是去中心化信息发布的特征。

基于上述标准,我们提出了 RSS3 协议,可在 https://github.com/NaturalSelectionLabs/RSS3 查看。实施该协议绝不可能完美地解决目前网络所面临的问题,但却是前往真正的去中心化网络空间过程中的一个重大飞跃。

IV. 网络

图 1:典型 RSS3 网络架构
图 1:典型 RSS3 网络架构

图 1 是一个典型的 RSS3 网络架构的抽象示意图。简而言之,一个 RSS3 文件由一个子群(subgroup)提供服务,该子群由几个服务节点(SN, server node)组成。由子群将客户端的请求转发给它的服务节点,而子群又受多个全局索引器(GI, global indexer)管理。一个全局索引器由以下部分组成:

  • 一组中继节点(RN, relay node),协助进行路由。
  • 一组存档模块(archive module),在大规模网络崩溃的情况下对网络的故障恢复进行存档。

A. 分布式自治组织(DAO)

DAO 负责管理以下事务:

  • 选举全局索引器和服务节点
  • 确定每个服务节点所能服务的 RSS3 文件数量
  • 管理分布式密钥生成(DKG, Distributed key generation)的密钥片段
  • 控制子群规模的伸缩
  • 升级模块
  • 管理激励计划
  • 设置节点(ER, epoch round)间期时长

选举机制

全局索引器和服务节点都由选举产生以确保网络的基本运作。参选人需满足相应条件,这些条件可能包括硬件要求和来自 DAO 的监控。全局索引器的选举比例相较服务节点的选举而言较低,每次都有可能会选举产生大量的节点,但只有所需数量的节点会被立即投入工作。所有服务节点的集合表示为 $S={s_1, s_2,...,s_\mathcal{S}}$,数量为 $\mathcal{S}$,所有全局索引器的集合表示为 $G = {g1,g2,..,g_\mathcal{G}}$,数量为 $\mathcal{G}$。

图 2:心跳包检查和链上证明
图 2:心跳包检查和链上证明

为了进一步加强网络,有一个等待名单 $S'$ 用来接纳未立即投入使用的当选服务节点作为预备方案。DAO 设置了一个最低限度运作能力(MOC, minimal operational capability)警告级别,$\mathcal{MOC(m)}$。一旦正常运行的服务节点的数量低于 $\mathcal{MOC(m)}$,备案服务节点就会自动启用,以避免子群故障。

模块更新

服务节点使用 WebAssembly 模块来实现索引,以确保索引结果具有跨平台的唯一确定性。模块由网络参与者贡献,并由 DAO 管理。

子群规模伸缩

在每个节点间期,DAO 都可以动态地调节子群的规模大小以满足网络的需求,同时保证维持着合适的分权标准。子群规模大小表示为 $\mathcal{N}$。因此子群数量 $\mathcal{Y}=\left[\frac{\mathcal{S}}{N}\right]$ 是动态变化的,并由$\mathcal{S}$ 和 $\mathcal{N}$ 所决定。

激励调控

在节点间期,DAO 可以动态地调整网络参与者的激励比。如图 2 所示,激励是根据多种因素计算的,包括来自全局索引器和服务节点在链上的验证贡献。所有的奖励都从激励池中分配。激励池由 DAO 管理,每个参选人将被告知参加选举所需的质押金额。当一个当选的节点未能履行第四章所述的义务时,质押金额将被放入激励池(slash)。

B. 全局索引器

全局索引器由网络参与者通过 DAO 选举得出。全局索引器主要有三个职责:可扩展的动态分组、路由、检查心跳包。全局索引器由服务节点(SN, sever node)协助,本节将详细说明这些细节。

全局索引器随时可以宣布退出网络,并在该节点间期(ER, epoch round)过后优雅退出,收回质押金额。

为避免潜在的网络故障,如果正常运行的服务节点数 $\mathrm{MOC}$,$\mathrm{DAO}$ 将发起新一轮的全局索引器选举。

按需调节重组

SDG, scalable dynamic grouping

为避免合谋攻击(collusion attack),在每个节点间期开始时,服务节点将根据现代拜占庭容错算法($BFT$)[1][2][3][4] 被分往不同的子群,$S_{z} ; \forall z \in[1, \mathcal{Y}]$。在全局索引器同意的情况下,子群定期重组,并在向服务节点广播后启动。子群规模可以进行调节,通过吸收可用的服务节点来增强性能,直至 DAO 所规定的极限值 $\mathcal{N}$。子群数量则是采取由 DAO 所认可的策略,根据网络当前负载状况进行调节。

下面将进一步阐述同意结构是如何被同意的。按需调节重组开始于一个通过收集全局索引器的签名计算出来的随机数。它基于基于分布式密钥生成协议 Ped-DKG[5] 和 Threshold BLS Signatures[6]。每个全局索引器贡献一个密钥片段作为一个部分,形成一个公钥和私钥对,然后从收集到的所有签名中得出随机数,其中满足 DAO 设定的 DKG 密钥片段阈值以保证安全。服务节点继续进行重组,并形成新的子群结构,直至没有一个子群包含前一个节点间期的服务节点  $\mathcal{P}$  。


$$
\mathcal{P}=\left\lfloor\frac{\mathcal{N}-1}{3}\right\rfloor ; \forall \mathcal{N} \in \mathbb{N}^{+}
$$
全局索引器可以在下一个节点间期开始时加入和离开。全局索引器组成的变化将影响分布式随机数的生成,因为它取决于每个全局索引器成员的密钥片段。采用先应式秘密共享 [7][8],允许一组全局索引器成员保持共享密钥,并在不同全局索引器成员之间动态转移密钥片段。从而达到这样一个结果,即全局索引器成员组之间共享的密钥片段保存在不同的组中。

为了减少节点合谋的可能,确保 $e^{th} \mathrm{ER}, \mathrm{GIs}$ 在按需调节重组期间:

将全体服务节点作为输出由按需调节重组,根据参数 $\mathcal{P}$ 和 $\eta^{e} \in \mathbb{N}^{+}$ 生成子群集合 $|{S_{z}|}$:

$$
\left{S_{z}^{e}\}}=\mathcal{S D G}\left(<\left{s_{1}^{e}, s_{2}^{e}, \ldots, s_{\mathcal{S}}^{e}\right}>; \mathcal{P}, \eta^{e}, \mathcal{Y}^{e}\right)
$$

所有子群的交集是一个空集
$$
\bigcap_{z=1}^{\mathcal{Y}^{e}} S_{z}^{e}=\varnothing
$$

所有子群的并集是所有服务节点的集合:
$$
\bigcup_{z=1}^{\mathcal{Y}^{e}} S_{z}^{e}=S^{e}
$$

子群中的任一服务节点 $\mathcal{P}$ 都不能两次在节点间期 $\eta^{e}$ 被分到同一个子群:


$$
\begin{aligned}
&\left|S_{z}^{e} \cap S_{v}^{e-j}\right|<\mathcal{P} ; \forall z, v \in\left[1, \mathcal{Y}^{e}\right], \forall j \in\left[1, \eta^{e}\right] \
&s_{z, i}^{e} \notin S_{z}^{e-j} ; \forall s_{z, i}^{e} \in S_{z}^{e}, \forall i \in\left[1,\left|S_{z}^{e}\right|\right]
\end{aligned}
$$

其中 $S_{z}^{e}$ 表示 $z^{t h}$ 子群在 $e^{t h}$ 节点间期时的服务节点的集合,$s_{z, i}^{e}$ 是指 $e^{t h}$ 节点间期 $z^{t h}$ 子群中 $i^{t h}$ 服务节点,$\mathcal{P}$和 $\eta$ 都由 DAO 设定。关于按需调节重组程序的更多细节,见算法 。

算法 1:按需调节重组
算法 1:按需调节重组

健全路由(robust routing)

全局索引器维护着路由表,该表将同每个节点间期按需调节重组一起调节。全局索引器由一组中继节点护卫。中继节点根据路由表接受并将客户端请求转发给相应的子群。

心跳包(HBC, heartbeat checking)

全局索引器尽可能维持子群的最低限度运作能力,见下方方程式,其中 $n$ 表示服务节点的数量,$\mathcal{W}{s}$ 由 DAO 设置并满足 $\mathcal{C}<\mathcal{W}{s }<\mathcal{N}$,$\mathcal{C}$ 是支持系统最低限度运作能力的最少服务节点数。

当最低限度运作能力超过警告级别,全局索引器将开始从等待列表 $S^{\prime}$ 中采用服务节点。 当最低限度运作能力成功临界水平,全局索引器将立即启动新一轮的部分性按需调节重组以避免潜在的子群错误。 部分按需调节重组以满足最低限度运作能力要求,且不中断网络操作。
$$
\begin{aligned}
\mathcal{C} &=\left\lceil\frac{2 \mathcal{N}}{3}\right\rceil \
\mathcal{M O C}(n) &= \begin{cases}\text { safe, } & \text { if } n>\mathcal{W}{s} \
\text { warning } & \text { if } \mathcal{C}<n \leq \mathcal{W}{s} \
\text { critical, } & \text { if } n \leq \mathcal{C} .\end{cases}
\end{aligned}
$$
此外,当全局索引器的数量(即 $m$)达到 DAO 设置的警告级别 $\mathcal{W}{g}$ 时,将立即开始新的全局索引器选举。
$$
\mathcal{M O C}(m)= \begin{cases}\text { safe, } & \text { if } m>\mathcal{W}{g} \ \text { warning }, & \text { if } m \leq \mathcal{W}_{g}\end{cases}
$$

C. 服务节点

图 3:服务节点内部架构
图 3:服务节点内部架构

选举产生的服务节点,以及准许运行的节点间期均由 DAO 管理。当选但未立即纳入使用的参选人 $s^{\prime}$ 被放入了等待清单 $S^{\prime}$,见 [IV-A1 节](#A. 分布式自治组织(DAO))。

在节点间期退出并可取回质押金额的退出机制:

  1. 退出必须广播到子群,以确保能够维持最低限度运作能力(表示 $\mathcal{c}$);
  2. 不能在 $\eta$ 节点间期中连续发生,其中 $\eta$ 由 DAO 设定。

信息聚合

整个网络的 RSS3 文件分布在许多子群中。每个服务节点分别为不同的 RSS3 文件提供服务,并根据标准规范处理针对这些文件的请求。服务节点使用 WebAssembly 模块进行索引,这确保了索引结果的跨平台唯一确定性。服务节点首先从经过验证的账户的索引数据开始,执行对 RSS3 权限和所有权的验证,并最终生成实例的活动反馈。

协作

服务节点在同一子群内协作,以达成内部共识,最终确定 RSS3 文件的内容,以便检查心跳包。 服务节点有义务将其心跳包广播到全局索引器,以便用于下一轮节点间期的准备工作和激励分配。

缺席这一过程将导致缺席者:

  1. 无法获得此节点间期的激励
  2. 在下一轮节点间期的按需调节重组中被移除
  3. 质押金额收入激励池

在每个节点间期结束时,这些心跳包都将作为贡献的证明,打包到链上进行报告。

算法 2 抽象地展示了 RSS3 网络中节点间期的算法,图 4 抽象地说明流程。

算法 2:抽象展示 RSS3 网络节点间期的算法
算法 2:抽象展示 RSS3 网络节点间期的算法
图 4:抽象说明 RSS3 网络节点间期的流程图
图 4:抽象说明 RSS3 网络节点间期的流程图

激励

适当的激励对于分布式网络是否能够提供令人满意的服务水平而言至关重要。为了确保激励方案的透明性、可持续性和对所有网络参与者的公平性,DAO 负责在需要时按需调节激励措施。

目前成功的激励计划大多存在于基于区块链的网络中:所有节点都需要验证交易,以获得“交易费”的奖励。基于交易的模式在大多数金融相关领域被证明是可行的,但在其他环境下预计会有困难。以社交媒体为例,在 RSS3 网络中对节点间期进行算法抽象是不可行的。

激励计划

另一方面,RSS3 网络将把针对网络参与者的广告、增值服务、社会经济活动等产生的网络利润放入激励池。

  • 第一阶段(系统激励):在开始时,为了鼓励使用网络会获得系统奖励。系统奖励逐渐减少并与网络使用率成反比。
  • 第二阶段(混合激励):随着网络使用的增加,预计将通过广告、增值服务和其他相关经济活动产生利润。这些收益将以网络奖励的形式进行分配,这也抵消了系统奖励。
  • 第三阶段(自我维持的激励):所有的奖励现在都由网络所产生,系统将不再对网络进行激励。

激励和质押

一旦当选,全局索引器和服务节点就必须加入由 DAO 管理的激励池。质押金额体现了参与者对维护网络的承诺。

因此,除了 IV-B 节IV-C 节中描述的情况外,当检测到恶意或错误行为时,将质押收入激励池也是维护网络稳定的一种手段。

激励池

引入了激励池 $\mathcal{I}$ 来动态均衡地分配激励给网络参与者,比例 $\Phi=$ ${\alpha, \beta, \gamma, \delta, \epsilon}$  由 DAO 决定。参与者集合$P=|{p_{\text {nod }}, p_{\text {dev }}, p_{\text {cre }}, p_{\text {con }}, p_{\text {dao }}|}$ 分别包括节点维护者、开发者、内容创造者、特殊贡献者和 DAO。这将最终促进市场的自我调整,避免分配中出现激励偏差。激励措施随着角色需求的增加而增加,反之亦然。激励池的合理分配极大地激励了网络参与者进一步改善网络的各个方面。
$$
\begin{gathered}
\operatorname{sum}(\alpha, \beta, \gamma, \delta, \epsilon)=1 \
\left{\begin{array}{l}
p_{n o d}=\alpha \mathcal{I} \
p_{d e v}=\beta \mathcal{I} \
p_{c r e}=\gamma \mathcal{I} \
p_{c o n}=\delta \mathcal{I} \
p_{d a o}=\epsilon \mathcal{I}
\end{array}\right. \
\mathcal{I}=p_{n o d}+p_{d e v}+p_{c r e}+p_{c o n}+p_{d a o}
\end{gathered}
$$

VI. 可调节性

随着网络的发展,性能瓶颈往往导致处理速度缓慢和交易成本提高。在前面的章节中,子群规模伸缩和[按需调节重组](#1. 按需调节重组(SDG, scalable dynamic grouping))被描述为保持网络的可用性和实用性的措施,其实它们同时也提高存储和通信效率。

A. 存储效率

存储效率对于分布式网络是至关重要的。首先,RSS3 文件在设计上是轻量级的(因为它们只包含元数据)。DAO 限制了一个服务节点所托管的 RSS3 文件的数量,并通过子群按需调节子群的数量。这种策略在保持存储效率的同时确保了足够的数据冗余度。

B. 通信效率

在任何分布式的网络中,效率的提高都将导致容错率的降低。而为了确保在 RSS3 网络能够保持理想的平衡,我们进行了大量的研究。相较于需要全局达成共识的区块链网络[9][10],RSS3 网络只需要每个子群达成内部共识。这大大降低了通信的复杂性。随着 RSS3 文件数量的增加,DAO 通过选举机制和子群规模伸缩与全局索引器执行的按需调节重组一起动态地调节网络规模,以进一步降低子群的通信复杂性。

全局索引器需要不时地达成内部共识,为以减少通信的复杂性,这样的共识只需要联署。此外,采用的最先进的拜占庭算法,也最大限度地提高了通信效率[11][12]

日益增多的子群将不可避免地使得全局索引器不堪重负。在通过选举机制扩大规模的基础上,还可以通过增加中继节点数量来减轻全局索引器肩上无需共识的客户端请求处理的重担。DAO 进一步对全局索引器的最大数量进行了限制,以提高通信效率。

VII. 漏洞

A. 合谋

在 RSS3 网络中,RSS3 文件由子群的服务节点托管,以实现冗余和容错。尽管分组设计为潜在的合谋行为创造了基础,但设计本身也仅是防止这些行为的第一道防线,因为处理所有客户的端请求需要一个内部共识。如图 1 所示,一个客户端请求从全局索引器转发到服务节点,然后再返回给全局索引器。全局索引器然后将最一致的结果返回给客户端。此外,当恶意或错误节点的数量 $\mathcal{M} \leq \mathcal{P}$ 时,合谋对结果不会造成任何影响。

合谋发生的概率虽然很小,但在理论上仍然存在。全局所有权通过按需调节分组打破潜在的 $\mathcal{M}$ 来最小化这种概率,如第 IV-B1 节所述。为了防止可能的串通行为,同一子组内的服务节点在未来不太可能被分到一起。

与基于区块链的网络不同,RSS3 网络中的串通行为在经济上无利可图,这消除了合谋行为背后的主要动机[13]。在合谋的情况下,所有者可以在任何时候纠正被篡改的数据,并报告服务节点的恶意行为。合谋的服务节点会失去它们的激励和网络中的席位。由于竞选时需要质押,所有将质押收入激励池也是对潜在合谋者的一种威慑。

B. 冗余

子群具有冗余度,因为服务节点:

  1. 协同维护分配到的 RSS3 文件,实际创建 $\mathcal{S}$ 个副本以实现冗余;
  2. 尽可能分布在全球各地,以提供地理冗余并维持高可用性。

C. 容灾

为了从几乎不可能发生的完全性网络故障中恢复过来,即超过 $\mathcal{R}{g}$ 个全局索引器或  $\mathcal{R}{s}$ 个服务节点不能正常工作,DAO 成员可以运行存档模块,不断对整个网络进行快照。我们也鼓励全局索引器运行存档模块。
$$
\mathcal{R}_{(g \vee s)}=\left\lfloor\frac{(\mathcal{G} \vee \mathcal{S})}{3}\right\rfloor ; \forall(\mathcal{G} \vee \mathcal{S}) \in \mathbb{N}^{+}
$$

D. 女巫攻击

女巫攻击(sybil attack)可能发生在任何网络中,即网络资源不合理地分配给攻击者,进而影响网络的可用性。研究表明,目前还没有普遍适用于女巫攻击的解决方案[14]。在 RSS3 网络中,这种攻击不会产生任何经济收益。此外,身份验证的实施也是为了尽可能减少女巫攻击的机会,此网络还增加了女巫攻击的经济成本。

总结

我们提出了 RSS3 标准,一个为信息发布而设计的下一代 feed 标准。该标准通过包括资产验证和链上治理来执行强大的数据所有权,并进一步为 feed 提供原生的互通支持。该标准天然支持灵活的推荐和搜索实现。然后,我们提出完全符合该标准的 RSS3 协议。相较于最初的 RSS,RSS3 进行了改进和发展,支持复杂的应用场景。

为了进一步说明该标准的稳健性,我们展示了 RSS3 网络,该网络实现了多种最先进的措施以确保数据的一致性和冗余性。这是通过以下方式实现的:

  1. 复杂的网络架构,保证网络的可用性和稳定性;
  2. 精心策划的激励方案,鼓励所有网络参与者为网络的发展做出贡献。该方案有可能实现一个真正的去中心化的网络,即在现有解决方案的所有优点之外,还具有灵活性、效率和可扩展性。在 Natural Selection Labs 核心,我们坚信信息自由。任何组织或当局都不得禁止人们自由行使创造、储存和分发其信息的权利。

参见


Miguel Castro and Barbara Liskov. Practical byzantine fault tolerance and proactive recovery. ACM Transactions on Computer Systems, 20(4):398–461, November 2002. ↩︎

Jae Kwon. Tendermint: Consensus without Mining. page 11. ↩︎

Leslie Lamport, Robert Shostak, and Marshall Pease. The Byzantine Generals Problem. ACM Transactions on Programming Languages and Systems, 4(3):382–401, July 1982. ↩︎

Andrew Miller, Yu Xia, Kyle Croman, Elaine Shi, and Dawn Song. The Honey Badger of BFT Protocols. In Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, CCS’16, pages 31–42, New York, NY, USA, October 2016. Association for Computing Machinery. ↩︎

Rosario Gennaro, Stanislaw Jarecki, Hugo Krawczyk, and Tal Rabin. Secure Applications of Pedersen’s Distributed Key Generation Protocol. In Marc Joye, editor, Topics in Cryptology — CT-RSA 2003, Lecture Notes in Computer Science, pages 373–390, Berlin, Heidelberg, 2003. Springer. ↩︎

Dan Boneh, Ben Lynn, and Hovav Shacham. Short Signatures from the Weil Pairing. In Colin Boyd, editor, Advances in Cryptology — ASIACRYPT 2001, Lecture Notes in Computer Science, pages 514–532, Berlin, Heidelberg, 2001. Springer. ↩︎

Sai Krishna Deepak Maram, Fan Zhang, Lun Wang, Andrew Low, Yupeng Zhang, Ari Juels, and Dawn Song. CHURP: Dynamic-Committee Proactive Secret Sharing. In Proceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Security, CCS ’19, pages 2369–2386, New York, NY, USA, November 2019. Association for Computing Machinery. ↩︎

David Schultz, Barbara Liskov, and Moses Liskov. MPSS: Mobile Proactive Secret Sharing. ACM Transactions on Information and System Security, 13(4):34:1–34:32, December 2010. ↩︎

Satoshi Nakamoto. Bitcoin: A Peer-to-Peer Electronic Cash System. page 11, 2008. ↩︎

Gavin Wood. Ethereum: A Secure Decentralised Generalised Transaction Ledger. page 32, 2014. ↩︎

Henrique Moniz. The Istanbul BFT Consensus Algorithm. February 2020. ↩︎

Chrysoula Stathakopoulou, Tudor David, Matej Pavlovic, and Marko Vukolic. Mir-BFT: High-Throughput Robust BFT for Decentralized ´ Networks. June 2019. ↩︎

Thibault Schrepel. Collusion By Blockchain And Smart Contracts. SSRN Electronic Journal, 2019. ↩︎

John R. Douceur. The Sybil Attack. In Gerhard Goos, Juris Hartmanis, Jan van Leeuwen, Peter Druschel, Frans Kaashoek, and Antony Rowstron, editors, Peer-to-Peer Systems, volume 2429, pages 251–260. Springer Berlin Heidelberg, Berlin, Heidelberg, 2002. ↩︎