从12月起,这个命名格式用于保存老师提出的问题和解答
1 | 0.延迟执行,导致矿工打包老鼠屎,这个时候的矿工奖励。 |
1 | 0.延迟执行,导致矿工打包老鼠屎,这个时候的矿工奖励。 |
主要参考Conflux Specification中的第四章,以及[A Decentralized Blockchain with High Throughput and Fast Confirmation]
[TOC]
0.延迟执行,导致矿工打包老鼠屎,这个时候的矿工奖励。
矿工奖励包括区块奖励和交易奖励+存储维护奖励(存储押金的利息)
1.基础区块奖励的数值由 Conflux 系统生成的总区块数量确定。系统运行时间越长,基础区块奖励越低。
2.惩罚系数由光锥外区块数决定。
Conflux不希望看到,由于激励机制没有对未遂的攻击行为做出任何惩罚,导致矿工随意违反共识规则甚至尝试发起攻击。惩罚传播不及时的区块——无论这个区块是生成以后没有被及时广播,还是生成的时候故意无视了一部分已经收到的区块。
3.交易奖励+存储维护奖励的总思路:整体计算,按比例分发。
每个 epoch 中所有产生的存储押金利息,将在同 epoch 的区块之间,以各区块的基础奖励为权重平分。也就是说,如果一个区块受到了来自光锥外区块的惩罚,这个惩罚同样会影响它第二部分存储抵押利息奖励的分配。
对于交易奖励和存储维护奖励,无效交易被忽略、被跳过,在相同块中的其他交易可以仍然有效。而在以太坊中,无效交易导致整个块无效。
T被首次成功执行时,T被分发给EPOCHi(交易T被首次执行时的epoch)中所有合适地包括了T的块。T ∈ B and B belongs to EPOCHi
T的分发根据B’在epochB中的基础块收益占比计算。
冲突和重复执行的交易在最后总排序后丢弃即可。
对于存储维护奖励,这和基础奖励有关。和这个块的块奖励占这个块所处epoch的的奖励比例有关。
1.0.25 s一个块,300KB的最大块限制下,确认一个块,等待多少个epoch?
等待一个权重差,或者慢确认下的6个块,不等epoch。
确认策略:
获得和区块链中等6个块同样的安全性。
相应子树的总权重比其同级兄弟的所有子树大一个系数;这个系数根据协议状态,不是预设的。在实验中,采取的是20~30;
如果在慢确认体制下,等6个大权重的块。
确认时间影响因素:带宽、节点数、出块速度(出块间隔)、块大小。
当T被执行的第一个块最终确认时,一个交易被最终确认。充分不必要条件
反过来,一个交易可能早于T被执行的第一个块的确认。例如:交易T的执行不会影响到pivot chain的协商时。更具体的,在竞争的块里不存在与T相矛盾的或者依赖于T的交易。
第一个包含T的块被最终确认是不充分条件,因为Conflux允许无效交易?
例如,确认epochB里的B’时,对B‘的最终确认归纳为对B的确认。
前提假设,实验结论:
1.t时刻块生成,那么d=10s后所有诚实节点收到块,没有收到块的被认为是恶意节点。
2.早于B的pivot chain上的块已经被确认。
3.在2d的时间,也就是20s以前C就已经在pivot chain了 ???这一步是为什么?
没有攻击存在(q<=0.2)时,快确认阶段,即自从A创建后,在P(B)=A的子树上的8000个块的产生过程中,GHAST的权重调整未激活。
一种简化的风险计算方法,这种方法得到的确认时间值比真实值更长。
-
2018年8月论文数据,
40M带宽下, 4.5-7.4 minutes确认交易。一个块4MB,2.5s,q<0.25,攻击者有小于0.01%的概率逆转交易时,平均5.68分钟确认一笔交易。5.76GB/h=1.6MB/s;
4M/5s时,2.88GB/h , 3200bps,平均10分钟确认一个块。
当改为4M/10s时,2W用户下,确认时间<10.7分钟;720MB/h,780bps;
2020年4月论文数据,
20Mbps,
300KB×4block/s,9.6Mbps的数据量,23s的延迟,47.75-51.54 s的确认速度,即在一分钟以内
1392,3480bps
想·
New Question Conflux允许无效交易?
获得不可逆信心需要的等待时间
,攻击者掌握算力
和用户愿意承受风险
三者之间的关系。
- 随时间降低,但是>0
2.每笔交易大小
平均每笔250bytes;6400bps的由来;
Conflux 创建的合约代码上限是 49152 字节=48KB <200KB的块(336bytes会被块头占用)大小,比以太坊多一倍。
3.安全系数的由来
安全性系数 = 平均生成一个区块的时间 / 区块广播时间。
安全性系数出自 Rafael Pass, Lior Seeman, and Abhi Shelat. “Analysis of the Blockchain Protocol in Asynchronous Networks.” EUROCRYPT 2017.
4.生成一个epoch的时间是多久,一个block是0.25s,大概包括1500笔交易,更具体?
5.块的具体校验工作
块的校验有4种结果:悬挂状态(部分无效和TimerDis(B;G) < 240,),接受,拒绝,待定(引用的块还没出现)。
引入计时器链,估计过去的时间。直观地讲,计时器链是(如果块生成速度较慢或等效地仅考虑高质量块时) 将生成的最长链。
B成为timer block条件:本身是完全有效的块+QUALITY(B) ≥ 180 ·Bd
块通过工作量证明校验和引用块校验(等待所有过去的块被执行)后,就赋给它权重。
其中,
校验有4个部分:校验步骤可调换可并发
1.校验块头
校验块时没被校验的四个域在blaming机制中被校验。对无须状态的承诺的责备,会导致失去奖励,不会影响块的有效性。
2.引用的块的校验
3.容量/块大小校验
4.块头与交易一致+每个交易本地合法(形式审查)
6.cfx对底层网络带宽的要求,为什么低带宽还能获得高tps,在保证安全性的同时。
20Mbps+,NKU的网速大致是10Mbps。
采取了短ID, 对于交易的SHA-3值做SipHash,得到一个3位长值再加一个1位的nonce。
具体参考CFX5-3\交易转发中的带宽优化。
Aumasson JP. and Bernstein D.J. Siphash: Afast short-input prf. Progress in Cryptology - IN**DOCRYPT, 2012.
7.cfx的一个块的广播时间,指的是它被多少比例的节点收到。
d大约20s左右,到达50的节点不足10s。
d指全部的块到达大于99%的节点;
每个全节点,平均有10个邻居。
8.有效、部分有效和无效
8.1 通过所有校验就有效
8.2 部分有效
两种情况:P(B)部分有效;B的Header除了下面的这些项外,通过了对header的所有校验:
H是否有效只与块总顺序共识的建立有关,不依赖
deferredStateRoot, deferredReceiptsRoot, deferredLogsBloomHash and blame