Pala

Basic PaLa

定义:

  • 时间:1sec≥5Δ 1min≥6sec

  • 区块:(e,TXs, h_1)

    e:时代数,严格增加,可跳跃;

    Txs:未完成的交易;

    h_1:前一区块hash

  • 区块链的有效性

    • 对每个1<=i<=∣c∣ , c[i].h_1 = H(c[: i - 1])

    • 对任何1<=i<j<=∣c∣,它必须是c [i] .e <c [j] .e

    • c [i] .e = c [i-1] .e + 1,则c [i]被认为是正常块; 否则它被称为超时块

  • 公证: 2n/3节点签名验证

  • 提案人:假设节点i∈[n]是时代e的一个合格的提议者,当且仅当i=(H(e)modn)+1,H表示一个计算函数

协议

  • 内部时钟同步:每个节点维护本地时代e,初始为1. 按如下方式推进:

    • 节点已进入本地时代e超过1min, 则签名广播(e+1),表示想要进入到e+1(但实际不推进到e+1)

    • 看到e-1块的公证,或是收到2n/3个不同节点的时钟签名消息(e),将本地时代推进到e

  • 提案:当节点处于本地时期e,根据以下情况提议块B

    • 看到(e-1)的公证链

    • 否则,在进入e后1sec,选择最新的公证链c,提出块B:=(e,Txs,H(c))

  • 投票:节点处于e时代,对收到的第一个有效提案(e,Txs,h_1)(可能早已e),如果满足如下条件,则投票

    • 节点对每个时代的区块只能投一票

    • 节点已收到链c的公证,且H(c)=h_1

    • 链c是节点进入本地时期e后看到的最新公证链

存在的问题

双流水线PaLa的委员会重组

定义:

  • 委员会重组:

  • 时钟同步: