比特币技术进阶

/比特币技术进阶
4 04, 2018

Script Hash TX

作者:| 2018-04-04T08:18:30+00:00 四月 4th, 2018|比特币交易构成, 比特币技术进阶|暂无评论

该类交易目前不是很常见,大部分人可能没有听说过,但是非常有意义。未来应该会在某些场合频繁使用。该类交易的接受地址不是通常意义的地址,而是一个合成地址,以3开头(对,以3开头的也是比特币地址!)。三对公私钥,可以生成一个合成地址。在生成过程时指定n of 3中的n,n范围是[1, 3],若n=1,则仅需一个私钥签名即可花费该地址的币,若n=3,则需要三把私钥依次签名才可以。

4 04, 2018

算力巨头

作者:| 2018-04-04T08:14:44+00:00 四月 4th, 2018|工作证明与挖矿, 比特币技术进阶|暂无评论

全网算力的上升对比特币是极其有利的,这是毫无疑问的。但目前大矿池与矿业巨头使得算力高度集中化,这与中本聪所设想的一CPU一票(one-CPU-one-vote)的分散局面背道而驰,或许是他未曾预料的。 挖矿是一项专业劳动,最后必然会交给最专业的人或团队,因为这样才能实现资源配置最优,效率最高。普通投资人通过购买算力巨头的股票:1. 完成投资;2. 分享算力红利。看似中心化的背后其实依然是分散的: 矿业公司的背后是无数分散的投资人 矿池背后是无数分散的个体算力 既得利益使得算力巨头倾向于维护系统而不是破坏,因其收益均建立在比特币系统之上,既得利益者断然不会搬石头砸自己脚。甚至很多巨头在达到一定算力占比后会主动控制算力增长,使得低于某阈值内。

4 04, 2018

算力攻击的危害

作者:| 2018-04-04T08:14:14+00:00 四月 4th, 2018|工作证明与挖矿, 比特币技术进阶|暂无评论

攻击者算出block后,block&Txs必须能够通过验证,否则其他节点都会拒掉,攻击便无意义。攻击者无法做出下列行为: 偷盗他人的币。消费某个地址的币时,需要对应的ECDSA私钥签名,而私钥是无法破解的。 凭空制造比特币。每个block奖励的币值是统一的规则,篡改奖励币值会导致其他节点会拒绝该block。 唯一的益处是可以选择性的收录进入block的交易,对自己的币进行多重消费(Double Spending)。 过程是这样的:假设现在block高度为100,攻击者给商户发了一个交易10BTC,记作交易A,通常这笔交易会被收录进高度101的block中,当商户在101块中看到这笔交易后,就把货物给了攻击者。此时,攻击者便开始构造另一个高度为101的block,但用交易B替换了交易A,交易B中的输入是同一笔,使得发给商户的那笔钱发给他自己。同时,攻击者需要努力计算block,使得他的分支能够赶上主分支,并合并(Merge)被大家接受,一旦接受,便成功地完成了一次Double Spending。 攻击难度呈指数上升,所以成功的Double Spending通常是一个极小概率事件。

4 04, 2018

Block hash

作者:| 2018-04-04T08:11:48+00:00 四月 4th, 2018|工作证明与挖矿, 比特币技术进阶|暂无评论

Block hash的计算是随机概率事件,当有节点广播出难度更高的block后,大家便跑到那个分支。在比特币系统运行过程中,算力经常在分支间跳来跳去,此现象称为Hash Dance。一般情况下,分支的高度为1~2,没有大的故障很难出现高于2的分支。 Hash Dance起名源于Google Dance.

4 04, 2018

分支博弈

作者:| 2018-04-04T08:11:02+00:00 四月 4th, 2018|工作证明与挖矿, 比特币技术进阶|暂无评论

我们假设所有的节点: 都是理性的,追求收益最大化 都是不诚实的,且不惜任何手段获取利益 所有节点均独自挖矿不理会其他节点,并将所得收益放入自己口袋,现象就是一个节点挖一个分支。由于机器的配置总是有差别的,那么算力最强的节点挖得的分支必然是最长的,如果一个节点的分支不是最长的,意味其收益存在不被认可的风险(即零收益)。为了降低、逃避此风险,一些节点肯定会联合起来一起挖某个分支,试图成为最长的分支或保持最长分支优势。 一旦出现有少量的节点联合,那么其他节点必然会效仿,否则他们收益为零的风险会更大。于是,分支迅速合并汇集,所有节点都会选择算力更强的分支,只有这样才能保持收益风险最小。最终,只会存在一个这样的分支,就是主干分支(Best/Main Chain)。 对于不诚实节点来说,结局是无奈的:能且只能加入主干挖矿。不加入即意味被抛弃,零收益;加入就是老实干活,按占比分成。