快讯:
在中国发展规划研讨会上,中央财经领导小组办公室原主任、国家发展改革委原党组副书记、副主任、清华大学中国发展规划研究院管委会主任朱之鑫表示,要进一步创新规划的内容和形式,“既要通过大数据、人工智能、区块链等现代信息技术提高规划的科学性、准确性和严谨性,又要增强可读性,使广大人民群众能够读得懂、记得住规划”。
1.以太坊君士坦丁堡升级被推迟至2019年年初。 2.日本央行副行长:数字货币只有在现金从社会中消失的情况下才能发挥作用。 3.直布罗陀成立咨询小组,开设区块链等新技术的教育课程。 4.对冲Multicoin Capital基金创始人:今年大部分数字货币对冲基金会关门。 5.比特币现金算力跌至3.19E,创半年来新低。 6.莱特币新版本拟降低手续费至当前的10%,回到2015年水平。
据livebitcoinnews消息,马耳他将从11月1日起颁布两项新的区块链法案。其中之一就是虚拟金融资产法案(VFA)。根据这项规定,金融服务从业者如果想在加密货币领域充当代理人,就需要接受短期培训课程,然后通过考试。然而根据最新数据,马耳他加密货币代理机构认证的申请者中,只有不到40%通过了官方考试。
在中国发展规划研讨会上,中央财经领导小组办公室原主任、国家发展改革委原党组副书记、副主任、清华大学中国发展规划研究院管委会主任朱之鑫表示,要进一步创新规划的内容和形式,“既要通过大数据、人工智能、区块链等现代信息技术提高规划的科学性、准确性和严谨性,又要增强可读性,使广大人民群众能够读得懂、记得住规划”。
1.以太坊君士坦丁堡升级被推迟至2019年年初。 2.日本央行副行长:数字货币只有在现金从社会中消失的情况下才能发挥作用。 3.直布罗陀成立咨询小组,开设区块链等新技术的教育课程。 4.对冲Multicoin Capital基金创始人:今年大部分数字货币对冲基金会关门。 5.比特币现金算力跌至3.19E,创半年来新低。 6.莱特币新版本拟降低手续费至当前的10%,回到2015年水平。
据livebitcoinnews消息,马耳他将从11月1日起颁布两项新的区块链法案。其中之一就是虚拟金融资产法案(VFA)。根据这项规定,金融服务从业者如果想在加密货币领域充当代理人,就需要接受短期培训课程,然后通过考试。然而根据最新数据,马耳他加密货币代理机构认证的申请者中,只有不到40%通过了官方考试。
在中国发展规划研讨会上,中央财经领导小组办公室原主任、国家发展改革委原党组副书记、副主任、清华大学中国发展规划研究院管委会主任朱之鑫表示,要进一步创新规划的内容和形式,“既要通过大数据、人工智能、区块链等现代信息技术提高规划的科学性、准确性和严谨性,又要增强可读性,使广大人民群众能够读得懂、记得住规划”。
1.以太坊君士坦丁堡升级被推迟至2019年年初。 2.日本央行副行长:数字货币只有在现金从社会中消失的情况下才能发挥作用。 3.直布罗陀成立咨询小组,开设区块链等新技术的教育课程。 4.对冲Multicoin Capital基金创始人:今年大部分数字货币对冲基金会关门。 5.比特币现金算力跌至3.19E,创半年来新低。 6.莱特币新版本拟降低手续费至当前的10%,回到2015年水平。
据livebitcoinnews消息,马耳他将从11月1日起颁布两项新的区块链法案。其中之一就是虚拟金融资产法案(VFA)。根据这项规定,金融服务从业者如果想在加密货币领域充当代理人,就需要接受短期培训课程,然后通过考试。然而根据最新数据,马耳他加密货币代理机构认证的申请者中,只有不到40%通过了官方考试。

比特币涌现共识的模拟

tan90d 2016-12-14 08:18 发布在 比特币 5505

Snip20161214_2

Bitcoin Unlimited就网络规则共识问题提出了以市场为导向,分布式的方法,这个方法的基础是中本聪共识。我们把这种方法称为涌现共识。如果你对涌现共识的细节不了解,这儿有有关于涌现共识具体机制的优秀文章和演示。

对涌现共识感到疑惑的人常常质疑它是否会维持一个区块链,或者在完全运行的涌现共识算法的网络中,是否会造成持续的区块链分叉。

因为“涌现共识”基本上是以“中本聪共识”为基础的,因此其兼容性在比特币白皮书(第11节)中是得到了证明的。

然而,该算法的模拟有助于调查给定具体输入条件下的具体结果。 并且该算法的模拟也有助于略微不同的涌现共识算法的实验,该实验是为了找到那些快速收敛的算法,但是其细节在数学分析中难以捕获。

在这里我创建了一个简单的模拟。该代码本质上允许您创建一组模拟矿工,并运行不同的大区块(EB),接受深度(AD)和生成不同规格的参数。然后该代码才能模拟区块链的创建。该代码可能改变矿工的设置,所以我们可以看到当一些散列函数选择开始挖掘更大的区块时会发生什么。

模拟的作用是我们可以运行数千个单独的大区块与小区块之间的转换实例。

这仍是一个正在进行的工作,在某种意义上,模拟更多的挖矿配置是有趣的。 本文报道了2组结果 - 一组是想要保持较低的区块大小,另一组是正努力将网络带到更高的区块大小。

在所有情况的报告下,EB给小区块的设定是1MB,给大区块的设定是2MB。 AD被设置为4,并且区块生成大小被设置的值与EB相同。

 

典型情况:75%/ 25%激活

 

在当今的“区块大小争论”中,我认为75%的是一个经过充分考虑的大多数比例,一个可以认真地被认为是足够的大多数人想要更大的区块的比率。 我进行了1000次测试,模拟了分叉前6000秒,和分叉后1,000,000秒。 因此,我们预计在典型运行中大约有1670(1006000/600)个区块。

最长的分支链是4个区块,孤块的平均数只有2个区块,最坏的情况是有8个孤块。在334次运行中,我们一个小算力分叉都没有(如果在25%的少数挖到1个区块前,75%的大多数挖到了AD个区块,这种情况会发生。),在559次运行中,我们只有1个小算力分叉。 在81次运行中,我们有2个分叉,在22次,3次,1次运行中,我们分别得到3个,4个,6个分叉。 这些多条分支链的情况是因为25%的少数人幸运值很好,并且能够在75%的矿工连续挖到一定的区块之外找到一些区块,导致大多数算力回到小区块链的结果。

 

少数情况: 60/40 激活

 

在60/40激活硬分叉(每100600秒的1000次运行)中,最长的分叉仍是4个区块,并且平均只有3个区块是孤立的,最坏的情况是在1800次运行中有15个孤立区块。 但正如你可能与少数人所期望的,有一个“长尾”的失败分叉尝试。 我只是指包括原始数据。 你可以这样读取:X:Y表示Y运行生成X分叉。

所以在下面的数据中,在511次运行中只有1个分叉,在24次运行中有5个分叉。

0: 139, 1: 511, 2: 182, 3: 84, 4: 44, 5: 24, 6: 7, 7: 8, 8: 1

令人惊讶的结果:如果网络算力50/50激活硬分叉会发生什么?

 

不理解涌现共识算法的人通常假定50/50分流将导致网络不收敛(即不唯一)。 这些是从1MB到2MB区块交易的1000次运行的结果:

最大分叉深度:4
最大孤块数:34
平均孤块:5
X:Y运行产生X分叉
{0: 61, 1: 392, 2: 211, 3: 118, 4: 75, 5: 54, 6: 29, 7: 19, 8: 21, 9: 8, 10: 3, 11: 6, 13: 2, 18: 1}
 

即使网络50/50激活硬分叉,网络仍然维持共识!

在创建约2000个区块的运行中,最大小算力分支链长度为4个区块,最差运行情况下,我们得到34个孤块。

但在61次运行中,我们没有得到任何小算力分支,而在大多数运行中,我们得到的小算力分支链少于2个。

顺便说一句,因为它很容易地在数学上分析,没有分支的61次运行是模拟正确性的良好的健全性检查。 没有分支链意味着在一行中有4个大区块需要被创建,并且以50/50的概率相当于翻转硬币4次,并且每次都人头朝上。 其概率是(1/2)∧4或1/16,因此从超过1000次运行中,我们预计看到它发生的可能性大约为62.5次。

 

附录:结果数据

您可能需要将此数据剪切到更宽的文本编辑器中:

SPLIT (block height, max blocks, avg blocks):  max fork depth, max orphans, avg orphans, { X:Y where Y runs had X forks }
SPLIT(区块高度,最大区块,平均区块):最大分叉深度,最大孤块,平均孤块,{X:Y运行产生X分叉}

0.500000/0.500000 (1790, 1797, 1674): 4, 34, 5, {0: 61, 1: 392, 2: 211, 3: 118, 4: 75, 5: 54, 6: 29, 7: 19, 8: 21, 9: 8, 10: 3, 11: 6, 13: 2, 18: 1}
0.600000/0.400000 (1816, 1820, 1673): 4, 15, 3, {0: 139, 1: 511, 2: 182, 3: 84, 4: 44, 5: 24, 6: 7, 7: 8, 8: 1}
0.667000/0.333000 (1790, 1792, 1669): 4, 13, 2, {0: 195, 1: 563, 2: 157, 3: 53, 4: 25, 5: 3, 6: 2, 7: 2}
0.750000/0.250000 (1800, 1800, 1670): 4, 8, 2, {0: 334, 1: 559, 2: 81, 3: 22, 4: 3, 6: 1}
0.800000/0.200000 (1799, 1799, 1667): 4, 11, 1, {0: 422, 1: 517, 2: 52, 3: 8, 6: 1}
0.900000/0.100000 (1797, 1797, 1667): 4, 4, 1, {0: 625, 1: 357, 2: 17, 3: 1}
0.950000/0.050000 (1789, 1789, 1669): 3, 3, 1, {0: 829, 1: 169, 2: 2}
谢谢Sickpig.

 

评论(2)
登录 账号发表你的看法,还没有账号?立即免费 注册
  • cndx 2016-12-14
    【模拟测试Fork实验平台】 http://idgui.com/code/fork.htm 大家可以根据输入的:测试次数,区块量,共识度和接受深度,来进行模拟测试。 这个工具的测试结果,硬分叉引起链分裂的风险,远远高于Andrew Stone的这个文章。
  • merry 2016-12-21
    非常感谢 https://blockmeta.com/btc-tx/8f77a0e1235655fe4469dbc0dd23947399fdb7cb2f9f7f09ef5d27e4656bd9cf 赞助0.01183 BTC