"криптографическая гонка" для самой длинной цепи, чтобы предотвратить двойные расходы, кажется, так же, как я понимаю, чтобы быть довольно надежная система против обмана и другой аналогичной злонамеренности.
Тем не менее, мне любопытно, как большая часть остальной части системы безопасности зависит от каждого "играть по правилам" и с использованием стандарта (или незначительный его варианта) Bitcoin программы. Мне кажется, что если кто-то убедил достаточно людей, чтобы использовать альтернативную программу Bitcoin, создавший более или менее действительные блоки, но потенциально отличающуюся каким-либо другим способом (возможно, Троянской), он или она может нарушить или подорвать всю систему.
Вот один сценарий, чтобы проиллюстрировать, что я имею в виду:
Допустим, что, когда придет время для значения генерации блока снизится с 50 монет до 25 монет, большой группы Bitcoin пользователи скулить и решила, что они не хотят, чтобы генерировать меньше монет на блок. Таким образом, они пишут патч для программы Bitcoin и сделать свои собственные клиенты держать генерируя 50 монет на блок. Теперь, стандартный клиент будет отвергать эти 50 монеты блоков как недействительные, но если "50 coiners" имеют достаточно большую группу и принимать как 50 монет блоков и 25 блоков монет, они могут навязать свою волю на всю систему. Мне кажется, в "25 coiners" бы остановится, отвергая блок после блока, и "50 coiners" счастливо строить далеко длинную цепь 50 и / или 25 блоков монет. Я не думаю, "50 coiners" даже нужно большинство пользователей, чтобы навязать свою волю таким образом. Я полагаю, "25 coiners" может упорно продолжать, и проект будет раскошелиться на две различные системы Bitcoin, но это было бы серьезной дестабилизацией к стоимости Bitcoins.
Итак, как мы можем предотвратить Bitcoin от разветвление, вниз по дороге? В какой-то момент обязательно будет большая группа пользователей недовольны статус-кво и будут предприняты усилия, чтобы разделить проект, в ущерб всем. Можем ли мы построить к консенсусу о действительных тождествах клиентских программ таким же образом, что мы делаем для журнала транзакций (или это уже сделано)? Или люди имеют право сделать вилку, несмотря на негативные последствия?