技术白皮书
Flow的架构在一系列技术文件中得到了明确,这些文件解释了系统的许多细微差别。技术文件1和3首先发布,因为它们对于理解和评估该系统的合理性最为关键,同时也包括最适用于其他项目的结果。
技术白皮书1:分离共识与计算
第一篇论文描述了Flow架构的核心方法:将共识(交易的选择和排序)与计算(执行每个交易并记录其输出)分开,并证明这可以极大地提高吞吐量而不损害安全性。在这第一篇论文中,我们分析了Flow架构如何提高性能,保留ACID保证,并证明它不会损害安全性。其结果是,与传统的架构相比,吞吐量增加了56倍,而没有损失安全性或分散性。该论文还指出,基于这些想法的工作系统必须验证计算(技术论文3的主题),但其关键结果是适用的,无论该问题如何解决。
技术文件2:
块的形成
该系列技术论文的第二篇正式阐述了Flow中的区块形成过程和基于权益证明的共识过程。Flow为共识节点调整了HotStuff共识算法的变体,以便在每个区块的高度上就它们所要尊重的区块达成共识。本文还讨论了共识角色在缓解提交给网络的挑战方面的责任。
技术文件3:
执行验证
第三篇技术白皮书回答了第一篇中提出的有关计算结果验证的问题。本文正式阐述了在合理的拜占庭假设下,我们可验证的计算方案及安全性与活性证明。尽管本文没有探索相关可能性,但我们相信,这一结果也适用于其它Bulletproofs、TrueBit、TEEs和其它可验证的计算方案适用的场景。
技术说明。
实验性的技术说明:SPoCK
保密知识的专门证明(SPoCK)是一种新的加密技术,在我们的技术论文3中首次概述,作为解决验证者困境的缓解措施的一部分。虽然技术论文3概述了SPoCK的第一个实现,但本文正式定义了SPoCK方案及其所需的安全属性。它还介绍了一种基于BLS签名的SPoCK的新型实现,这种实现更加简洁和高效。在适当的密码学假设下,SPoCK的安全性被正式证明。