Page 252 - 《软件学报》2020年第12期
P. 252

3918                                Journal of Software  软件学报 Vol.31, No.12, December 2020

         3.2   新区块的生成
             本节模拟区块生成过程,在第 3.1 节模拟的空间竞争中胜出的矿工获得记账权,可发布相应区块.以区块 72
         为例,其记账者为矿工 10,挖矿排名交易消息 ctx={ranking,90F2246A,A,9,8,5,7,4,3,2},Q/N=80%(80%的设置原因
         在第 3.3 节展开),N=10,Q=8.如第 2.1 节节介绍,区块 72 包含ϕ 72 ,σ 72,G 和τ 72 ,其中,ϕ 72 ,τ 72 分别为证明子块与交易字
         块,由实验测试得:
             •   ϕ 72 =1c98228c2086fbd9d74b4645eba94d151d47fd9ecdcb0287729caf52b76906b8;
             •   τ 72 ={72,ctx},ctx 包含 25 条交易信息.
             下面主要对新构建的σ 72,G 生成过程进行介绍.σ 72,G ={i,ζ (Hash(τ)⊕G) ,ζ σ },i=72;
             ζ  (Hash(τ)⊕G) 为记账者关于 Hash(τ)⊕G 的 DSA 签名,其中,
                                          2
                                G =  G 72 (x 1 72 , x 72 ,..., x 8 72 ) =  g P 72 1 (x 1 72 ) || g P 72 2 (x 2 72 ) ||...|| g P 72 8 (x 8 72 ).
              1
                      8
             PP  72 2  ,...,P 分别为矿工 10,9,8,5,7,4,3,2 的公钥,即挖矿排名前 8 位的矿工.实验中, g    P 72 j  ( j = 1,2,...,8) 使用
               ,
                      72
              72
         ECC-200 实现,当 g   ( j = 1,2,...,8) 输出长度为 200bit 时,G 的长为 200×8bit.为了使得每个 g  ( j =  1,2,...,8) 都参
                        P 72 j                                                   P 72 j
         与 Hash(τ)⊕G 结果的构建,防止 Hash(τ)⊕G 结果被部分矿工掌控,取 Hash(τ)=Hash 256 (μ 1 ||τ 72 )||…||Hash 256 (μ 6 ||τ 72 ),
         其中,μ 1 ,μ 2 ,…,μ 6 为随机数,剩余位补零,使得 Hash(τ)与 G 长度相等.最终计算得:
                           ζ        =A2BF2998C76CD6415EEB8E102F4D72DEC0D38EC9;
                            Hash (τ 72 ) G⊕  72
             ζ σ 则为记账者关于σ 71,G 的 DSA 签名,ζ σ =4B66BF0111FCD4841DD75621535870049130F182.
             因此,
                            σ 72,G ={72,A2BF2998C76CD6415EEB8E102F4D72DEC0D38EC9,
                                 4B66BF0111FCD4841DD75621535870049130F182}.
             随后,矿工 10 将以上数据打包成区块并发布,经过全网验证通过后,区块 72 正式上链,其余区块生成过程同
         理.图 10 为实验模拟生成的连续 3 个区块具体数据:































                                       Fig.10    Original data of block 71~73
                                          图 10   原始 71~73 区块数据
   247   248   249   250   251   252   253   254   255   256   257