Page 320 - 《软件学报》2025年第9期
P. 320
韩将 等: 面向跨信任域互联网场景的拜占庭容错访问控制架构 4231
出 v.
c) 在 ABA 共识阶段中, 先以固定值 (如共识的 Session ID) 的哈希值为随机种子, 进行置换后, 进入 ABA 共识.
若 ABA 共识轮数超过阈值 τ, 则使用公共掷币生成随机种子, 再进行置换后, 进入 ABA 共识. 当 ABA 共识输出
1 后, 返回对应交易.
验证 (VCBC) 验证 (VCBC)
置换 π 公共掷币 置换 π 哈希
ABA 循环 τ 轮
ABA 循环 O(1) 轮
Y N
共识?
共识模块
完成共识 完成共识 共识模块
(a) MVBA (b) Opti-MVBA
图 4 MVBA 和 Opti-MVBA 的流程示意图
算法 2. 节点 P l 上的 Opti-MVBA 算法.
Q; ABA τ
Input: 外部断言 轮数阈值
## CBC 阶段
1. if P l == P sender 且收到输入交易 v then
2. 多播消息 SEND(v) := {SEND,v}
3. upon 第 1 次收到来自 P j 的 ECHO( j) 消息 do
4. DS = DS ∪{ j}
5. upon |DS | == 2 f +1 do
6. 多播消息 Finish(v) := {Finish,v}
7. upon 第 1 次收到来自 P sender 的 ECHO( j) 消息 do
8. 发送消息 ECHO( j)
9. upon 第 1 次收到来自 P sender 的 Finish(v) 消息 do
10. if Q(v) == True then
11. 输出 v
## ABA 阶段
12. 构造共识序列 [n] = {1,2,...,n}
13. 使用可预测随机源置换共识序列得 L = PermutationWithoutCoinTossing([n])
14. r = 0
15. while l ← L[r] do
16. P l 将交易 v 加入 ABA r 中
17. if ABA r 的输出为 1 then
18. return v
19. else
20. r ← r +1

