网络知识 娱乐 【区块链论文整理】VLDB篇

【区块链论文整理】VLDB篇

VLDB (Very Large Data Base)是数据库三大顶会之一,近几年也发表了不少水平很高的文章。本文主要针对VLDB 会议中区块链相关的论文进行简单整理。

2021

  • SlimChain: Scaling Blockchain Transactions through Off-Chain Storage and Parallel Processing.
  • SChain: A Scalable Consortium Blockchain Exploiting Intra- and Inter-Block Concurrency.
  • Refiner: A Reliable Incentive-Driven Federated Learning System Powered by Blockchain
  • Byshard: Sharding in a Byzantine Environment

2020

  • Building High Throughput Permissioned Blockchain Fabrics: Challenges and Opportunities.(Tutorials)
  • ResilientDB: Global Scale Resilient Blockchain Fabric.
  • Atomic Commitment Across Blockchains.
  • FireLedger: A High Throughput Blockchain Consensus Protocol.
  • Scalable, Resilient and Configurable Permissioned Blockchain Fabric

2019

  • CAPER: A Cross-Application Permissioned Blockchain.
  • Fine-Grained, Secure and Efficient Data Provenance for Blockchain
  • Blockchain Meets Database: Design and Implementation of a Blockchain Relational Database.
  • BlockchainDB - A Shared Database on Blockchains.

2018

  • Database and Distributed Computing Fundamentals for Scalable, Fault-tolerant, and Consistent Maintenance of Blockchains.
  • ForkBase: An Efficient Storage Engine for Blockchain and Forkable Applications.

2021

1 SlimChain: Scaling Blockchain Transactions through Off-Chain Storage and Parallel Processing.

摘要:区块链技术已成为许多分散应用程序的基石,这些应用程序在其他不受信任的对等方之间运行。然而,众所周知,现有的区块链系统不能很好地扩展。事务通常是按顺序执行和提交的,以保持对总订单的相同视图。此外,为了保证完整性,有必要在区块链网络的每个节点中复制交易数据及其执行情况。这种存储和计算需求给区块链系统带来了巨大的负担,不仅限制了系统的可扩展性,还通过使网络更加集中,破坏了系统的安全性和健壮性。为了解决这些问题,在本文中,我们提出SlimChain,这是一种新型的区块链系统,通过链外存储和并行处理扩展交易。SlimChain提倡无状态设计,只维护链上分类账状态的短期承诺,同时将事务执行和数据存储专用于链外节点。为了实现SlimChain,我们提出了链外智能合约执行、链内交易验证和状态承诺的新方案。我们还提出了减少网络传输的优化方案,以及进一步提高系统可扩展性的新分片技术。通过大量实验验证了所提出的SlimChain系统的性能。与现有系统相比,SlimChain减少了97%~99%的链上存储需求,同时也将峰值吞吐量提高了1.4X~15.6X。

https://github.com/hkbudb/slimchain.

主要贡献:

  • 我们介绍SlimChain,这是一个新的无状态区块链系统,用于具有智能合约功能的可伸缩交易处理。据我们所知,这是文献中的第一次。
  • 我们提出了新的链外智能合约执行、无状态链上交易验证和新的状态承诺方案,以在无许可和许可环境下实现SlimChain。

  • 我们进一步提出了在节点同步期间减少网络传输的优化技术和一种新的存储分片技术,以进一步提高系统的可伸缩性。

  • 我们构建了一个端到端原型,并进行了大量实验,以验证SlimChain系统的性能。与现有系统相比,SlimChain减少了97%~99%的链上存储需求,同时也将峰值吞吐量提高了1.4X~15.6X。

与现存区块链系统的比较:

 结论:

在本文中,我们设计了一个新的无状态区块链系统SlimChain,它通过链外存储和并行处理来扩展交易。具体来说,分类账状态和事务执行被移动到链外存储节点,以提高系统的可伸缩性。为了支持无状态事务提交,我们设计了新的链外事务执行、链上事务验证和节点同步方案,以及新的部分Merkle-trie结构。为了进一步提高系统性能,我们提出了减少网络传输的优化方案和一种新的分片技术。大量实验表明,与现有系统相比,所提出的SlimChain系统将链上存储需求降低了97%~99%,峰值吞吐量提高了1.4X~15.6X。

对于无状态区块链,有许多有趣的研究问题值得进一步研究,例如,如何利用更先进的数据结构进一步减少链上状态;如何降低存储节点的运营成本;以及如何在新的无状态设计下支持数据来源。

2 SChain: A Scalable Consortium Blockchain Exploiting Intra- and Inter-Block Concurrency. (demonstrate)

 摘要:我们展示了SChain,一个可扩展交易处理以支持大规模企业应用的财团区块链。SChain的独特优势源于对块内和块间并发的利用。块内并发不仅利用了单个对等机上的多核处理器,还利用了多个对等机的容量。块间并发允许跨多个块同时处理,以提高各个对等方的利用率。在我们的演示中,我们使用包含基于SChain输出的可视化的实时仪表盘,让与会者交互式地探索SChain如何实现块内和块间并发。

现有方案局限性:

(1) 这些工作只安排一个对等方来执行所有事务。当一个对等机完全专用时,性能无法进一步扩展。

(2) 并发执行仅涉及块内的事务,其中在当前块的执行终止之前,不能执行后续块的事务。这种方法不考虑跨多个块的事务并行性

3 Refiner: A Reliable Incentive-Driven Federated Learning System Powered by Blockchain 

 摘要:现代移动应用程序通常会产生分散的数据,即大量隐私敏感数据分布在大量移动设备上。从分散数据学习模型的技术必须正确处理这类数据的两种性质,即隐私和大规模参与。联邦学习(FL)是一种很有前途的学习方法,因为该技术从数据中学习模型,而不暴露隐私。然而,传统的FL方法假设参与的移动设备是诚实的志愿者。这种假设使得传统的FL方法不适用于两种参与者参与的应用:1)没有经济刺激的自利参与者不愿意无条件贡献计算资源,2)恶意参与者发送损坏的更新以中断学习过程。本文提出了一种可靠的联合学习系统Refiner,用于应对自利和恶意参与者的大规模参与带来的挑战。Refiner建立在公共区块链平台以太坊之上。为了吸引自利的参与者,我们引入了一种激励机制,根据每个参与者的培训数据量和本地更新的表现来奖励他们。为了处理恶意参与者,我们提出了一个审计方案,该方案使用了一个由随机选择的验证器组成的委员会,对他们进行惩罚,不给予任何奖励,并从全局模型中排除腐败的更新。所提议的激励和审计方案是通过以太坊提供的加密货币和智能合约实现的。本文通过在MNIST数据集上训练一个数字分类模型,展示了Refiner的主要特征。

4 Byshard: Sharding in a Byzantine Environment

 摘要:区块链的出现推动了弹性系统的发展,这些系统可以应对因崩溃、漏洞甚至恶意行为而导致的拜占庭式故障。最近,我们还看到了在这些弹性系统中对分片的探索,这是为了提供非常大的基于数据的应用程序所需的可伸缩性。不幸的是,当前的分片弹性系统都使用特定于系统的分片专用方法,这些方法无法提供传统分片数据管理系统的灵活性。

为了改善这种情况,我们从根本上着眼于分片弹性系统的设计。为此,我们引入了ByShard,这是一个研究分片弹性系统的统一框架。在这个框架内,我们展示了如何在拜占庭式环境中高效地实现两阶段提交和两阶段锁定这两种技术,这两种技术是在传统分片数据库中提供原子性和隔离的核心,只需最少使用昂贵的拜占庭式弹性原语。基于这些技术,我们提出了18种多切分事务处理协议。最后,我们实际评估了这些协议,并表明每个协议都支持高事务吞吐量,并提供可伸缩性,同时在吞吐量、隔离级别、延迟和中止率之间进行权衡。因此,我们的工作为开发符合ACID的通用和灵活的分片弹性数据管理系统奠定了坚实的基础。

 结论:在本文中,我们介绍了ByShard,一个用于分片弹性数据管理系统的通用框架。此外,我们还介绍了orchestrate execute model(OEM),用于在ByShard中处理多碎片事务。接下来,我们展示了OEM可以将处理多切分事务所需的提交、锁定和执行步骤合并到每个涉及切分的最多两个一致步骤中。此外,我们还证明了基于两阶段提交协议和两阶段锁定的常见多切分事务处理可以在OEM中有效地表达。

 我们灵活的设计允许多种不同的方法来处理多切分事务,每种方法都在吞吐量、隔离级别、延迟和中止率之间进行权衡。为了说明这一点,我们对ByShard的18个多切分事务处理协议进行了深入比较。我们的结果表明,每个协议都支持高事务吞吐量,并提供可扩展性。因此,我们相信ByShard框架是朝着灵活的通用ACID兼容可伸缩弹性多碎片数据和事务处理能力迈出的有希望的一步。


 2020

5 Building High Throughput Permissioned Blockchain Fabrics: Challenges and Opportunities.(Tutorials)

 PS: 又是加州大学戴维斯的那伙人。

摘要:自从比特币(第一个由区块链驱动的广泛应用)问世以来,人们对基于区块链的应用程序设计的兴趣大大增加。这些应用程序的核心是一致性协议,它可以在所有副本之间安全地复制客户端请求,即使某些副本存在拜占庭式错误。不幸的是,这些共识协议的吞吐量通常较低,而这种性能的缺乏往往被认为是区块链技术推广缓慢的原因。因此,许多工作都致力于设计更有效的协商一致协议,以提高协商一致的吞吐量。

我们认为,这种对共识协议的关注只解释了部分原因。为了研究这一信念,我们提出了一个简单的问题:一个使用经典一致性协议的精心设计的系统能否胜过使用现代协议的系统?在本教程中,我们通过深入研究区块链系统的设计来回答这个问题。此外,我们还深入研究了共识背后的理论,它可以帮助用户选择最适合他们需求的协议。最后,我们分享我们对大规模运作的高通量区块链系统的愿景。

6 ResilientDB: Global Scale Resilient Blockchain Fabric.

 摘要:区块链技术的最新发展激发了弹性分布式和数据库系统的创新设计。这些区块链应用程序的核心通常使用拜占庭式容错一致性协议来维持所有副本的共同状态,即使某些副本存在故障或恶意。不幸的是,现有的一致性协议并不是为了处理地理范围内的部署而设计的,在这种部署中,许多分布在一个地理范围很大的区域的副本都参与了一致性。

为了解决这个问题,我们提出了地理尺度的拜占庭容错共识协议(GeoBFT)。GeoBFT通过在本地集群中使用拓扑感知的副本分组,通过在本地级别引入一致性的并行化,以及通过最小化集群之间的通信,实现了出色的可扩展性。为了验证我们对高性能地理规模弹性分布式系统的愿景,我们在高效的弹性TDB许可区块链结构中实现了GeoBFT。我们表明,GeoBFT不仅可靠,而且提供了很好的可扩展性,而且在地理规模部署方面,它的性能比最先进的一致协议高出六倍。

 主要贡献:

  • 我们介绍了GeoBFT一致性协议,这是一种新的一致性协议,它执行拓扑感知的副本分组到本地集群,以最小化全局通信。GeoBFT还允许每个集群独立做出共识决策,从而分散共识。

  • 为了减少全局通信,我们引入了一种新的全局共享协议,该协议乐观地执行最小的集群间通信,同时仍然能够可靠地检测通信故障。

  • 乐观全局共享协议由一个新的远程视图更改协议支持,该协议处理任何恶意行为和任何故障。

  • 我们证明了GeoBFT保证了安全性:它在所有副本之间实现了唯一的一致性决策序列,并确保客户端能够可靠地检测到其事务何时被执行,这与任何副本的任何恶意行为无关。

  • 我们证明了GeoBFT保证了活跃性:只要网络提供可靠的通信,GeoBFT就会继续成功运行,这与任何副本的任何恶意行为无关。

  • 为了验证我们在geo scale设置中使用GeoBFT的设想,我们展示了我们的ResilientDB结构[48],并在该结构中实现GeoBFT。

  • 我们还在ResilientDB(Zyzzyva、Pbft、HotStuff和Steward)中实现了其他最先进的Bft协议,并使用YCSB基准对这些Bft协议的GeoBFT进行了评估[25]。我们表明,GeoBFT协议的吞吐量是现有Bft协议的六倍。

 结论:在本文中,我们提出了一种新的具有很大可扩展性的地理尺度拜占庭容错协商一致协议(GeoBFT)。为了实现良好的可扩展性,GeoBFT依赖于本地集群中的拓扑感知副本集群,以最小化代价高昂的全局通信,同时提供一致性的并行化。因此,GeoBFT支持高性能区块链系统的地理规模部署。为了支持这一愿景,我们在经许可的区块链结构ResilientDB中实现了GeoBFT,并证明GeoBFT不仅是正确的,而且实现的吞吐量是现有最先进的Bft协议的六倍。

7. Atomic Commitment Across Blockchains.

摘要:最近区块链技术和开放无许可网络的采用表明了P2P原子跨链交易协议的重要性。用户应该能够原子化地交换代币和资产,而无需依赖集中的中介机构,如交易所。最近的点对点原子跨链交换协议使用哈希锁和时间锁来确保参与者遵守协议。然而,过期的timelock可能会导致违反all or nothing atomicity属性。由于崩溃故障、拒绝服务攻击甚至网络延迟而未能按时执行智能合约的诚实参与者可能最终会失去资产。虽然崩溃的参与者是唯一一个最终情况更糟的参与者,但目前的提议不适用于异步环境中的原子交叉链事务,在异步环境中,崩溃故障和网络延迟是常态。在本文中,我们提出了第一个分散的全或无原子跨链承诺协议AC3WN。交换资产的智能合约的赎回和退款事件被建模为冲突事件。一个开放的无许可证人网络用于确保冲突事件永远不会同时发生,原子跨链交易中的所有智能合同都将被赎回或全部退款。

主要贡献:

  • 我们提出了AC3WN,第一个全有或无原子跨链承诺协议。AC3WN是分散的,其正确性不依赖于任何可信的集中式中介。

  • 我们证明了AC3WN的正确性,表明AC3WN实现了AC2T的原子性和承诺性。

  • 最后,我们将AC3WN与Herlihy[16]的方案进行对比分析。在Herlihy的协议中,原子交换的延迟随着原子交换中顺序发布的智能合约数量的增加而成比例增加,与此不同,我们的分析表明,AC3WN中原子交换的延迟是恒定的,与涉及的智能合约数量无关。

Atomic swap - Bitcoin Wiki.

8. FireLedger: A High Throughput Blockchain Consensus Protocol.

摘要:区块链是一个分布式的安全分类账,交易将持续发布到该分类账,每个交易区块都与其前身紧密耦合。许可区块链特别强调交易吞吐量。在本文中,我们介绍了FireLedger,它利用区块链的迭代性质,在乐观执行场景中提高吞吐量。FireLedger以延迟换取吞吐量,因为在FireLedger中,每个节点区块链的最后一个f+1区块被认为是暂定的,也就是说,如果最后一个f+1区块提议者中有一个是拜占庭式的,它们可能会被撤销。然而,当满足乐观假设时,在每个通信步骤中都会决定一个新的块,该块由一个只发送其提议的提议者和所有其他参与者各自发送一个比特组成。在我们的绩效研究中,FireLedger获得了20%− 吞吐量比最先进的协议(如HotStuff和BFT SMaRt)高600%,具体取决于配置。

主要贡献:我们提出FireLedger一种新的通信节约乐观许可区块链协议。FireLedger采用旋转提议方案,同时乐观地假设提议者是正确的,并且环境行为是同步的。这是支持的通过我们新颖的Weak Reliable Broadcast(WRB)抽象。在WRB中,节点仅就是否(暂时)接受提议者提出的区块达成一致,而不就区块的内容达成一致(如果提议者是拜占庭人)。具体来说,如果违反了这些假设,我们不会坚持立即执行协议。相反,我们依赖的事实是,每名f+1提案人中至少有一人是正确的。当一个正确的节点使用区块链的身份验证数据发现,在初始传输阶段,最后的f+1块中的任何一个都没有正确确定时,它会为所有这些错误执行的调用运行一个组合恢复阶段。这是通过援引完整的拜占庭共识协议实现的。在该组合恢复阶段结束时,可以确保区块链的当前前缀得到所有正确节点的同意,并且只要存在最多f个拜占庭式故障,就永远不会更改。单个回收阶段可能决定最后的f区块,从而摊销其成本。

我们的方法的主要优点是,当乐观假设成立时,决定一个块的通信开销涉及一个提议者广播其块,所有其他节点广播一位无符号协议数据(WRB)。此外,在每个通信步骤中确定一个新块。这是通过利用区块链的迭代性质以及与每个区块头关联的身份验证数据实现的。

 

FireLedger是一种通信节约型乐观区块链算法,针对的是很少发生故障的环境。例如,FireLedger可能对使用高度安全和健壮系统的FinTech行业非常有吸引力。FireLedger利用区块链的迭代性及其加密功能来实现其目标。 

直观地说,FLO将FireLedger用作基于区块链的共识算法,而不是基于共识的区块链。我们的性能结果表明,即使在通用的非专用基础设施上执行,它也能满足真正苛刻的商业应用程序的要求。我们的设计特别适用于加密货币和金融应用程序,它们可以承受几秒钟的延迟。在未来,我们打算探索分片,这可能会带来额外的显著性能提升,以及可扩展的传播协议。最后,我们的这项工作的原型实现可以在开源中获得[10]

9. Scalable, Resilient and Configurable Permissioned Blockchain Fabric

 摘要:随着比特币的出现,数据库社区对区块链系统的兴趣稳步增长。然而,许多现有的区块链应用程序使用区块链作为货币交易的平台。我们偏离了这一理念,推出了ResilientDB,它可以服务于一套非货币数据处理区块链应用程序。我们的ResilientDB使用最先进的技术,并包括一种新颖的可视化技术,有助于监控区块链应用程序的状态。

 

10. CAPER: A Cross-Application Permissioned Blockchain.

 PS:这三位大佬也很眼熟了。

摘要:尽管最近进行了大量研究,但现有区块链系统并没有充分解决分布式应用程序的所有特征。特别是,分布式应用程序按照服务级别协议(SLA)相互协作,以提供不同的服务。虽然应用程序之间的协作(例如跨应用程序事务)应该对所有应用程序可见,但每个应用程序的内部数据(例如内部事务)可能是机密的。在本文中,我们介绍了CAPER,这是一个许可的区块链系统,用于支持协作分布式应用程序的内部和跨应用程序事务。在CAPER中,区块链分类账形成为一个有向无环图,其中每个应用程序只访问和维护其自己的分类账视图,包括其内部和所有跨应用程序交易。CAPER还引入了三种一致性协议,用于在具有不同内部一致性协议的应用程序之间全局排序跨应用程序事务。实验结果揭示了CAPER在性能和可扩展性方面的效率。

主要贡献:

  • 引入区块链视图(views),其中每个应用程序仅维护其自己的分类账视图,包括其内部和所有跨应用程序交易。
  • CAPER是一个许可区块链,支持协作分布式应用程序。CAPER支持内部和跨应用程序事务。

  • 三种不同的共识协议,用于在具有不同本地共识协议的应用程序之间对跨应用程序事务进行全局排序。

 PS:这个图和SharPer图很像

结论:在本文中,我们提出了CAPER,这是一个许可的区块链系统,支持协作分布式应用程序的内部和跨应用程序事务。CAPER的目标是区块链系统的性能和保密性。为了获得更好的性能,CAPER同时订购和执行不同应用程序的内部事务。此外,为了实现保密性,区块链分类账不由任何节点维护,每个应用程序都维护自己的分类账本地视图,包括其内部和所有跨应用程序交易。CAPER还区分了节点级别的信任和应用程序级别的信任,并允许应用程序在其节点不具有恶意的情况下出于自身利益恶意行事。此外,CAPER引入了三种一致性协议来全局订购跨应用程序事务:使用一组单独的订购者、层次一致性和一级一致性。我们的实验表明,对于负载较轻的应用程序,一级一致性显示出更好的性能,而对于负载较重的应用程序,使用一组排序器更有利。在订购方没有额外资源的情况下,分层方法可以在负载较重的应用程序中提供更好的性能。

11. Fine-Grained, Secure and Efficient Data Provenance for Blockchain

 PS:这篇作者和ForkBase是一个团队。

摘要:比特币和其他加密货币的成功给区块链带来了巨大的兴趣。区块链系统实现了一个防篡改分类账,用于记录修改某些全球状态的交易。该系统记录了各州的整个演变历史。历史的管理,也称为数据来源或谱系,已经在数据库系统中进行了广泛的研究。然而,查询现有区块链中的数据历史只能通过重放所有交易来完成。这种方法适用于大规模离线分析,但不适用于在线交易处理。

我们介绍了一个用于区块链的细粒度、安全和高效的起源系统——LineageChain。LineageChain通过简单优雅的界面向智能合约公开出处信息,从而支持一类新的区块链应用程序,其执行逻辑在运行时依赖出处信息。LineageChain在合同执行期间捕获出处,并有效地将其存储在Merkle树中。LineageChain提供了一种新的skip list index,旨在支持高效的来源查询处理。我们在Hyperledger和一个名为ForkBase的区块链优化存储系统的基础上实现了LineageChain。我们对LineageChain的广泛评估表明,它对新的区块链应用程序、高效的查询和较小的存储开销都有好处。

主要贡献:

  • 我们引入了一个名为LineageChain的系统,该系统可以有效地捕获区块链的细粒度来源。它安全地存储出处,并向智能合约提供简单的访问接口。
  • 我们设计了一个新的索引,用于查询区块链来源。该索引会产生较小的存储开销,其性能与区块链大小无关。它是根据跳表改编的,但我们完全消除了随机性,以适合确定性区块链。

  • 我们为Hyperledger[2]实现了LineageChain。我们的实现建立在ForkBase之上,这是一种区块链优化存储[37]。我们对这条链进行了广泛的评估。结果表明,它对源代码相关的应用程序有利,查询效率高,存储开销小。

 

结论:在本文中,我们提出了一种用于区块链的细粒度、安全和高效的起源系统——LineageChain。系统在运行期间高效地捕获出处信息,并将其存储在安全的存储器中。它将简单的API公开给智能合约,从而支持一类新的依赖于来源的区块链应用程序。由于一种新颖的跳表索引,出处查询在链中是高效的。我们在Hyperledger之上实现了LineageChain,并根据几个baseline对其进行了基准测试。结果表明,在支持丰富的、依赖于来源的应用程序方面,谱系链具有优势。它们证明了来源查询是有效的,并且系统会产生较小的存储开销。

12. Blockchain Meets Database: Design and Implementation of a Blockchain Relational Database.

 

摘要:在本文中,我们设计并实现了第一个具有区块链属性的分散复制关系数据库,我们称之为区块链关系数据库。我们强调了区块链平台和复制关系数据库提供的功能之间的一些相似之处,尽管它们在概念上不同,主要是在信任模型上。基于此,我们利用关系数据库中丰富的功能、数十年的研究和优化以及可用的工具来构建区块链关系数据库。我们考虑一个已知但相互不信任的组织的许可区块链模型,每个组织都运行各自的数据库实例,这些实例是彼此的副本。副本独立执行事务,并参与分散一致性,以确定事务的提交顺序。我们设计了两种方法,第一种方法是在执行事务之前商定事务的提交顺序,第二种方法是在执行事务时不事先知道提交顺序,而顺序是并行的。我们利用可串行化快照隔离(SSI)来保证节点间的副本保持一致,并遵守一致性确定的顺序,并为后一种方法设计了一种基于块高度的SSI新变体。我们在PostgreSQL上实现了我们的系统,并对这两种方法进行了详细的性能实验分析。

 

结论:在本文中,我们介绍了区块链关系数据库的设计,这是一个分散的数据库,副本由彼此不信任的不同组织管理。我们要解决的关键挑战是确保所有不受信任的副本都以相同的可序列化顺序提交事务,这尊重一致确定的块顺序。我们提出了两种利用和修改SSI来实现这一目标的设计方法,并设计了一种基于块高度的新SSI变体。利用数据库中已有的功能,我们能够更好地支持复杂的数据类型、模式、复杂查询和出处查询,而这些都是区块链平台目前无法提供的。我们在PostgreSQL上实现了该系统,并给出了详细的性能结果。

13. BlockchainDB - A Shared Database on Blockchains.

摘要:在本文中,我们介绍了区块链数据库,它利用区块链作为存储层,并在顶部引入了一个数据库层,通过经典的数据管理技术(如分片)扩展区块链,以及一个标准化的查询接口,以促进在数据共享用例中采用区块链。我们表明,通过引入额外的数据库层,我们能够提高使用区块链进行数据共享时的性能和可伸缩性,并大幅降低打算使用区块链进行数据共享的组织的复杂性。

贡献:在本文中,我们介绍了区块链数据库,它解决了前面提到的问题。其主要思想是区块链数据库利用区块链作为本机存储层,并在顶部实现一个额外的数据库层,以允许访问存储在共享表中的数据。这样,现有区块链系统就可以用作(无需修改)防篡改和非集中存储。在存储层之上,区块链数据库实现了一个数据库层,具有以下功能: 

  • 分区和部分复制:如今区块链的一个主要性能瓶颈是,所有对等方都持有状态的完整副本,但仍然只提供(有限的)分片功能。在BlockchainDB的数据库层,我们允许应用程序定义如何在所有可用对等方之间复制和分区数据。因此,应用程序可以以声明的方式交换性能和安全保证。

  • 查询接口和一致性:在数据库层,区块链数据库还提供共享表作为易于使用的抽象,包括不同的一致性协议(例如,最终一致性和顺序一致性),以及一个简单的键/值接口,用于在不了解区块链系统内部的情况下读取/写入数据。将来,我们希望将查询接口扩展到共享表,以支持具有完整事务语义的SQL。

除了这些功能,BlockchainDB的数据库层还提供了一个链外验证过程,在该过程中,对等方可以轻松验证自己客户端的读写集。验证过程的理念是,对等方可以检测区块链数据库网络中其他可能行为不当的对等方。这是必要的,因为并非所有BlockchainDB对等方都持有数据库的完整副本,远程对等方的存储层可能会为读取操作丢弃puts或返回虚假值(即,数据库中未保留的值)。

结论:在本文中,我们提出了区块链数据库,它在区块链之上引入了一个数据库层来参与数据共享场景。我们的实验表明,区块链数据库可以提供比本地区块链高两个数量级的吞吐量,并允许更好地随对等方的数量向外扩展。目前,区块链数据库仅在共享表之上提供键/值接口。因此,未来我们希望将共享表的查询接口扩展到具有可验证事务语义的完整SQL。

14. Database and Distributed Computing Fundamentals for Scalable, Fault-tolerant, and Consistent Maintenance of Blockchains.(教程)

摘要:比特币是全球规模的点对点加密货币的一个成功而有趣的例子,它集成了密码学、分布式系统和数据库中的许多技术和协议。主要的底层数据结构是区块链,这是一种可扩展的完全复制结构,在所有参与者之间共享,并保证加密货币系统中所有参与者对所有用户交易的一致视图。在本教程中,我们将讨论区块链中使用的基本协议,并详细阐述其主要优势和局限性。为了克服这些限制,我们提供了管理大规模完全复制账本所需的分布式系统背景,使用拜占庭协议来解决一致性问题。最后,我们阐述了一些最新的关于设计可伸缩和高效区块链的建议。本教程的重点是区块链最新创新的分布式系统和数据库技术方面。

15. ForkBase: An Efficient Storage Engine for Blockchain and Forkable Applications.

摘要:现有的数据存储系统提供了广泛的功能,以适应同样多样化的应用。然而,新的应用程序类别已经出现,例如区块链和协作分析,其特点是数据版本控制、分叉语义、篡改证据或其任何组合。它们为存储系统提供了新的机会,可以通过将上述要求嵌入到存储系统中来高效地支持此类应用程序。

在本文中,我们介绍了Forkbase,一个为区块链和可分叉应用程序设计的存储引擎。通过将核心应用程序属性集成到存储中,Forkbase不仅提供了高性能,还减少了开发工作量。该存储器管理多版本数据,并支持两种不同的fork语义,它们支持不同的fork工作流。由于一个新的索引类支持高效的查询,以及跨数据对象、分支和版本的重复内容的有效检测,Forkbase速度快且节省空间。我们使用三个应用程序展示了Forkbase的性能:区块链平台、wiki引擎和协作分析应用程序。我们针对各自最先进的解决方案进行了广泛的实验评估。结果表明,Forkbase在显著降低开发工作量的同时实现了优异的性能。

主要贡献:

  • 我们确定了现代应用程序中的常见属性,即版本控制、分叉和篡改证据。我们将研究集成所有这些属性的存储的好处。
  • 我们引入了一个名为SIRI的新索引类,它可以有效地删除多版本数据中的重复项。我们现在介绍POSTree,SIRI的一个例子,它还提供了篡改证据。我们提出了一种通用的fork语义,它可以捕获许多不同应用程序的工作流。

  • 我们实现了有效支持区块链和可分叉应用程序的Forkbase。Forkbase的效率来自POS树,灵活性来自通用fork语义。凭借优雅的界面和丰富的数据类型,Forkbase为高级系统和应用程序提供了强大的构建块。

  • 我们通过实现三个具有代表性的应用程序来展示Forkbase的可用性,即区块链平台、wiki服务和协作分析应用程序。我们通过大量的实验评估表明,Forkbase帮助这些应用程序在编码复杂度、存储开销和查询效率方面优于各自的最新水平。