MonteCarloClub / kanban

Create an issue here!
0 stars 0 forks source link

技术方案:数据库事务管理 #6

Open onkncn opened 2 years ago

onkncn commented 2 years ago

1. 需求背景

自主可控高性能区块链将具有一个可分片的区块链数据库事物管理系统,支持按交易属性进行多分片。

2.需求明细

2.1 交易池

交易池对系统的安全性和稳定性具有重要作用。其功能可归纳为:交易缓存、交易验证和交易过滤。

2.2 分片交易

交易时应能通过交易头的属性讲交易进行划分并通过广播将交易广播到相应的节点通过交易的属性使用相应的共识进行交易

2.3 数据库

自主可控高性能区块链的数据库将分成三大块状态数据库、交易数据库、额外数据库

3. 需求调研

4. 方案

本技术方案将基于以太坊的TXPool设计KBPool,以及自主可控高性能的区块链数据库。

4.1 高可控交易池KBPool

KBPool将基于ETH的TxPool,同样将交易区分为pending和queue,pending作为不满足相应条件的交易区,queue作为满足条件的交易区。但在eth的基础上增加了节点属性过滤以此达成分片交易。 HCTXpool

4.2 KBDB

数据库方案同eth相似,同样建立状态数据库、交易数据库、额外数据库。三个数据库底层分别采用MPT、MT、MT 状态数据库作为临时数据库保存账户余额等信息,在每一次区块确认后改动,交易数据库和额外数据库则是保存持久化的信息,在每一次区块确认后不断在原来基础上累加。 1691da69b34e4b1ab112340466c6bf89