玩币族移动版

玩币族首页 > 币圈百科 >

BIP91是什么,矿池如何支持?

  BIP91的作者是James Hilliard,其目的是降低Segwit(BIP141)的激活门槛设计,主要体现在两个方面:

  降低激活算力阈值,从BIP141的95%降低为BIP91的80%。

  降低块窗口期,从2016个块降低至336个块。

  第一点降低共识层面算力的百分比,达到80%即可,可能参考了莱特币的设置(segwit在莱特币上采用80%阈值)。第二点极大缩短了时间窗口期,由原来约2个2016周期变更为2个336周期,也就是说最快从投票开始112个小时(4天半)后即可激活BIP91。

  BIP91激活之后,会拒绝掉没有signal segwit的块。当80%以上算力激活BIP91后,任何人都应该打出Signal Segwit的块,否则一定会被孤块。

  截至当前7月18日12点(UTC+0),目前已经有大约60~70%的算力signal bip91了。那么对于尚未支持的矿池需要抓紧时间做两件事情:

  运行BIP91的软件,有两个选择:btc1(segwit2x)或者segsignal(Core+BIP91)

  Signal Segwit,并在coinbase里放入segwit commitment hash

  对于第一件事情,任何人均可以自由选择这两个软件,这里简单介绍一下btc1(https://github.com/btc1/bitcoin)和segsignal(https://github.com/segsignal/bitcoin)。

  btc1是有Jeff Garzik主导开发的执行纽约共识的软件,从Core的代码库fork出来,并在其上增加了两个主要功能:BIP91和2MB硬分叉。其BIP91部分的代码主要由James完成。如果你支持2MB硬分叉,那么应该运行btc1的代码,在segwit激活后90天会执行2M硬分叉,预测大约发生在2017年11月附近。

  SegSignal是James Hilliard和Johnson Lau在Core(v0.14.2)基础上增加了BIP91功能,如果不支持2MB硬分叉,那么应该运行这个版本。相对而言,这个版本的代码修改的更少,并且基于最新的Core v0.14.2,出现BUG等问题的概率会小一些。

  编译安装SegSignal的参考步骤(Ubuntu):

  apt-get update

  apt-get install -y build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils yasm

  apt-get install -y libboost-all-dev libzmq3-dev curl wget unzip

  wget https://github.com/segsignal/bitcoin/archive/segsignal-v0.14.2.zip -O segsignal-v0.14.2.zip

  unzip segsignal-v0.14.2.zip

  cd bitcoin-segsignal-v0.14.2

  ./autogen.sh

  ./configure --disable-wallet --disable-tests

  make # make -j(cpu cores)

  make install # optional

  编译安装btc1的参考步骤(Ubuntu):

  apt-get update

  apt-get install -y build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils yasm

  apt-get install -y libboost-all-dev libzmq3-dev curl wget

  wget https://github.com/btc1/bitcoin/archive/v1.14.4.tar.gz -O v1.14.4.tar.gz

  tar zxf v1.14.4.tar.gz && cd bitcoin-1.14.4

  ./autogen.sh

  ./configure --disable-wallet --disable-tests

  make # make -j(cpu cores)

  make install # optional

  最后,请务必运行真实的BIP91软件,不要用简单修改块版本号来代替,否则你可能面临孤块。BIP141与BIP91之间是不兼容的,运行假的BIP91在其激活后可能会造成潜在分叉。

知识: BIP91