※ 引述《HYL (@EVERYWHERE)》之铭言:
: → john371911: 我是问抗衡的原理、机制,不是实作啦。不懂这部分。 11/23 19:38
这样啊那还是回文一下好了
易懂性高的话篇幅会很长,篇幅精简的话可能会有些表达被压缩,我尽量
原理是这样:
Bitcoin的本质是一套规则,当大家都遵守规则在使用的时候,就成为一个协定
产生的价值载体叫做BTC,这从诞生开始牵涉到了几个步骤:
1. 透过矿工创造
2. 使用者使用
3. 矿工收集使用者的交易,打包成一个区块,挂到总历史上,延续
这里面矿工同时也是使用者,但他是能力不对等的使用者,因为他能使用也能创造
这就造成了一个问题,如果这些能力不对等的使用者,要擅自变更规则
让自己处于一个更有利的位置、去吸收那些没有创造能力的使用者的价值时
怎么办?
那就要牵涉到"由谁来验证这些矿工使用者没有监守自盗?"?
这里假设一个案例来说明,如果现在的某一个矿工挟持着70%的算力要硬干新规则
这个新规则把发行上限从2100万颗放大到2100亿颗,并且给自己留了2000亿颗
根据这个新规则,这个敌意矿工基于原本的Bitcoin区块链去生成符合他规则的新块
这个区块在矿工自己的软件里面是可以生成的,然后矿工把区块推送出去
意图要让所有Bitcoin使用者接受新规则、把现有Bitcoin的价值稀释之后纳为己有
那其他的使用者验证节点收到这个区块送进来的时候,就会验证这个区块
但这个区块不符合既有的节点规则,那这一块就会被既有使用者节点给舍弃掉
那我们再延伸一下案例,如果矿工联合了很多的矿工去进行规则变更呢?
矿工也发布了大量的新版本节点软件,去跟旧版本软件对抗呢?
没有错,新版本软件确实会接收新规则的区块,但这时候新旧版本就分裂成两个链
简化来说的话,这两个链因为规则不同,会变成两种不同的币
但是,如果现有的使用者不同意新规则节点、不使用新规则节点的话
那么大量的使用量、交易量、和价值认可都会在原本的链上
包括交易所也是这环节里面的一个使用者,他就不会接收新的规则的币
除非为了新的规则的币创立一个新的服务,用新的节点和新的交易来提供
那么原本的节点和区块链会发生什么事情?
实际上是这样的,对于矿工来说,只要不是某一方控制100%,或是原本的链仍能自由挖矿
那就会有矿工去挖始祖链,那始祖链就会继续出块,继续维持运行和价值
当然一下子算力大量流失的时候,始祖链可能会好一段时间出块变得很慢
但是Bitcoin存在着难度自动调节的功能,随着算力会调整难度高低
过一阵子就会适应了新的难度,回到均衡状态
而对于矿工来说,新规则不受到广泛的认可、旧规则仍然被大部份使用者认同的时候
同样的机器回头挖始祖链的效益就比较高,那算力就会回到始祖链去
任何事情都有一个but,如果使用者全都认为新规则比较好的时候
那算力、使用者、认同度、价值,就可能一起迁移到新规则上
尽管始祖规则仍然可能会有支持者,但会用以年为单位的时间来进行生存淘汰
这就是Bitcoin所构筑的赛局理论,每个人因为自己的利益而去维护这组规则
当规则要改变的时候,要符合压倒性的同意,才可以改变
这里面又牵涉到改变规则是让规则变严格还是变宽松就是了
变严格的条件比较容易,变宽松就需要几乎所有人同意
因为把条件变严格的话,过去的共识可以不用变更,可以向下相容,可以沿用
比如说既有马路要划设人行道,那当然也有共识要取得,但不用拆房子 (既有软件环境)
如果要把条件变宽松的话,比如说要把马路拓宽就得拆两旁的房子
理想上的机制是住户要压倒性同意,而验证型节点是否普及就是这个权力是否在住户身上
实际上这件事情发生过几次
一次是Mike Hearn和Gavin Andresen在2015年发动的Bitcoin XT
他们发布了跟现有软件不相容的新软件,必须要装新软件才能用Bitcoin XT
大家不太爱装,结果就渐渐熄灭掉了
另一次当然就是大名鼎鼎的Bitcoin Cash
这就是基于放宽规则、由Bitmain挟持算力主导的一次"新规则"
相信新规则的人相信其他人会安装新规则的软件、节点去加入
从而成为新的共识决定,推翻旧有的规则
这是绝对的坏事吗?其实不是,所以我从四年前就说:
"如果今天的客观共识,包括算力、区块传输交易量、市值、区块传输价值这些标竿"
"是由Bitcoin Cash领先的话,我就认可BCH是Bitcoin,反之我认可BTC是Bitcoin"
这跟当初什么吵架什么纷争都无关,看使用者认同哪一个结果
如果BCH没能争取到主流认可,那就是原本规则的BTC抵抗了规则的变更
所以"机制与原理"实际上核心概念是"大家认同哪一种"
然后其中偏向技术型的使用者,或是因为持有量多而必须要去理解决定的后果的人
会去评估哪一种方案对未来好一点、或是伤害小一点
这会造成初始的共识偏向,然后由人的行为来扩大共识的偏向
不论嘴上吵得多大声,这个结果实际上是沉默的大多数用行动"投票"出来
这个"投票"描述当然不精确,但姑且让我用这种方式概述 (不然已经这么长了...)
所以,核心还是赛局理论、透过去中心化把权力交给每一个人、由每一个人的决定
形成一个集体决定,这个集体决定会基于每个人的自身利益去拒绝恶意变更、或是
接受善意变更
要达成这件事情,必须要在机制上确保"投票权"是容易取得的
这也是为什么1MB block跟去中心化有关
即使是1MB,现在的区块总长度也接近700GB,扩大到数十TB的话一般人跟本难以架设
或是大多只能架设剪裁后的节点,而失去从创世区块开始验证的能力
极端一点来说,如果所有使用者都失去了从创世区块开始验证的能力
只有资料中心有这样的数据的话,那这些"大家都不具有的历史资料"是可能被改写的
当然难度也是高,但是"受到攻击的面积大幅度增加"
以及"完整的验证性降低了"
打个比喻就好像买三明治的时候只看得到断面,那就可能会出现只有断面有料的诈欺品
试想一下如果这个事情发生在全世界都接纳的庞大价值载体上会如何...
所以,节点的普遍性会支持去中心化,去中心化会维持规则的强度
规则的强度会拒绝矿工的恶意窜改,拒绝恶意窜改的能力会拉高这个价值载体的可靠度
那么人们就会给这个价值载体更高的评价价值,更愿意使用,进入正向循环
这种培养都需要很长的时间,现在等于是验证了2017那时候两派人马的意见的阶段性结果
将来是不是BCH还可能取得压倒性的共识?当然可能啊
如果那一天到来,我就会臣服在BCH之下、认为他是Bitcoin的正统
但现在我不认为
关于Bitcoin XT和Bitcoin Cash的事情,有兴趣的人可以看一本书
"The Blocksize War"
Amazon Kindle上好像一本10美金吧?可以理解那些纷争的部份细节