GeckoDAG:Towards a Lightweight DAG-based Blockchain via Reducing Data Redundancy

在DAG 结构的区块链中存在着相当多的数据冗余,这篇文章通过特殊的数据结构TU减少了数据的冗余。

DAG的分类

DAG 分成 txDAG 和 blockDAG,
BLOCKDAG
允许不同的user 独立创建bolck,这样能够提高系统的并发率。但是不同的block之间会有冲付的交易 transaction inclusion collision

TXDAG
txDAG 以交易为粒度构成DAG,因此不会出现 transaction inclusion collision 。但是txDAG 又会有额外的存储开销。

请添加图片描述
请添加图片描述

txDAG 需要存储两种类型的 reference,收发地址,nonce ,签名。

  • par-ref 由同一个sender 发出的交易会通过 parent reference链接
  • var-ref 每个新的交易会随机 reference 两个tips A vertex is named as a ‘tip’, if it has not been cited by any par-ref and has been cited by less than two ver-ref s. For example, there are four tips in Fig. 1 marked by the thick
  • nonce 用来验证POW计算结果。

confirmation rules
通过累计验证 Cumalative Verification (CurVer)进行验证。

Cumver 是引用验证这笔交易的子交易的数量。

CumVer of vertex 2 is 5, since it is verified by vertex 3, 4, 5, 7, and 8.

当有交易冲突时,系统认Cumver 最大的交易。

GeckoDAG

通过一个数据结构TU ,将交易中的重复部分进行合并。

acount redundancy

将同一个 par-ref 链上的交易进行聚合,有很多账户相关的信息重复,比如他们有相同的发送者。
原本是对每个交易进行签名,但是现在可以只针对TU进行签名,还可以省略签名的存储。

reference redundency

去除不必要的 par-ref
如果 ver-ref 首尾交易的账户是相同的,那么就是可以被 override的引用,因此可以去重。

请添加图片描述

Range and frequency to merge transactions

将同一个账户发出的多笔交易通过TU这个数据结构进行压缩。

Deduplication of content section

请添加图片描述

请添加图片描述

TU中的 content section中可能有数据的重复,因此可以将使用 common content section 将 content section 聚合在一起,进一步压缩存储。

Reduction of network overhead

因为TU 中很多内容都是可以通过之前的TU 和已有的交易计算出来的,因此在广播tu的时候没有必要广播所有的数据,只需要广播最新的交易和对tu的签名就够了

请添加图片描述

Transation prune

如果仅仅是增加了TU这个数据结构是不能够减少存储的,反而会增加存储,因此需要对过去的交易进行剪枝。

一个交易可能被引用多次,若存在引用没有override,那就不能被 prune,否则可以prune

请添加图片描述

如果没有进行剪枝,仅仅是生成TU 的确是会增加 vtx,就是诚实交易的 CumVer如下图所示

请添加图片描述

一个问题是TU 会增加 CumVer 没错,但是在剪枝prune 的时候,被剪枝的交易的Cumver会减少啊,这个为什么不说呢? 正如图6中,交易2被prune,那他的CumVer不就变小了?
设计上的一个问题。除非是在剪枝的时候,将达到 milestone的交易减掉。curver 减小也就不用再被关心了。

security

如果一个受害的合法交易 vtx 收到了恶意交易 mtx的双花攻击,那么恶意的算力会进行 selfish-mining 来使得 mtx 的CumVer 超过 vtx,因此不会提前将其公布出来,因此不会通过 TU 来增加 mtx的 CumVer,因此不会TU增加交易的CumVer不会降低vtx的安全性,反而会增加安全性。

但是 vtx 一旦被剪枝掉呢?这里没有分析,其实是这个设计存在的一个问题

  • 22
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值