Некоторые мысли о механизме активации мягких вилок. В прошлом мы использовали IsSuperMajority и в настоящее время используем BIP9 как мягкие вилки методов активации, где квалифицированные из hashrate триггеров узлов, чтобы начать соблюдение новых правил. на основе активации Hashrate удобно, потому что это самый простой и самый простой процесс. В то время как удобно существует ряд ограничений с помощью этого метода.
Во-первых, это требует доверяя хэш власть будет проверки после активации. BIP66 мягкая вилка был случай, когда 95% от hashrate сигнализировал о готовности, но в действительности около половины не было на самом деле проверки обновленных правил и добывали на недопустимый блок по ошибке [1].
Во-вторых, передача сигналов минер имеет естественное право вето, которое позволяет небольшой процент от hashrate вето активации узла обновления для всех. На сегодняшний день, мягкие вилки воспользовались относительно централизованного горного пейзажа, где есть относительно небольшое майнинг строительства действительных блоков; как мы движемся в направлении более hashrate децентрализации, вполне вероятно, что мы будем страдать все больше и больше от "обновить инерцию" который будет ветировать большинство обновлений.
Обновление инерции неизбежно для широко распространенного программного обеспечения и их можно увидеть, например, с Microsoft Windows. На момент написания 5,72% всех установок Microsoft Windows все еще работает в Windows XP, несмотря на основной поддержки, закончившейся в 2009 году, и будучи вытеснены 4 программного обеспечения поколения, Vista, 7, 8 и 10.
В-третьих, методология сигнализации широко неправильно истолкованы означает хэш власть с правом голоса по предложению и, кажется, трудно исправить это недоразумение в обществе в целом. Роль Хэш держав заключается в выборе действительных сделок, а также расширить blockchain с действующими блоками. Полностью проверяющие экономические узлы убедитесь, что блоки являются действительными. Поэтому узлы определяют действительность в соответствии с программным обеспечением они работают, но шахтеры решают, что уже действующие сделки получают включены в блоке цепи.
Как таковые, мягкие вилки правило фактически всегда выполняются узлы, а не шахтеры. Горняки, конечно, может отказаться, просто не включая транзакции, использующие новую мягкую вилку функцию, но они не могут производить блоки, которые являются недопустимыми для мягкой вилки. Мягкая вилка P2SH является хорошим примером этого, где немодернизированных шахтеры увидели бы P2SH в качестве расходуемого без подписи и считать их действительными. Если такая сделка должны были быть включены в блок, блок будет недействительным, а шахтер потеряет награду блока и сборов.
Так называемые "цензура" мягкие вилки не требуют узлов, чтобы выбрать в, потому что >51% хеш власти уже имеют возможность сирота блоки, которые содержат операции, они в черном списке. Так как это не изменение действительности, узлы будут автоматически принимать цензурированную блок цепь.
Четвертая проблема с сигнализацией квалифицированного хэш мощности он привлекает ненужное внимание к шахтерам, которые могут стать излишне политическими. Уже поняли, как голосование, шахтеры могут чувствовать давление на "принимать решение" от имени сообщества: кто и не сигнализируют становится огромным вниманием общественности и может оказывать давление на шахтер, они не готовы к. Некоторые шахтеры не могут быть в состоянии модернизировать, или могут предпочесть не участвовать в мягкой вилке, которая является их правом. Тем не менее, что шахтер теперь может стать причиной того, что одинокой ветировала активации для всех, где мягкой вилка является опциональной функцией! Такая ситуация, как представляется, в отношении добровольного характера системы Bitcoin, где участие на всех уровнях является добровольным и хранится честным хорошо сбалансированными стимулами.
Поскольку шахтеры уже имеют право на уровень протокола, чтобы выбрать любую транзакцию они предпочитают (и не мои, кого они не делают), было бы лучше, если бы шахтер мог выбрать, чтобы не участвовать в запуске активации то, что они не будут использовать, но, без права вето в процессе (и все они IRE, возможно, придется испытать, как следствие).
Альтернатива обсуждается здесь "флаг активации день" где узлы начинают исполнение в определенное время в будущем. Этот метод требует больше времени, чем свинцовый триггер активации на основе хэш-мощности, но имеет ряд преимуществ, и, возможно, обеспечивает лучший компромисс.
Мягкие вилки до сих пор совершенно не обязательно использовать активацию поста. Например, с P2SH, многие участники экосистемы Bitcoin до сих пор не используют P2SH. Только 11% Bitcoins [2], хранятся в P2SH адреса во время записи. Шахтеры могут свободно не противоминной сделок P2SH, однако, стимулы, такие, что шахтеры должны еще проверять транзакции, чтобы они случайно не включают недопустимые операции и привести к их блок будет отвергнут. В качестве дополнительной меры безопасности для хорошо разработанных мягких вилок, правила политики реле предотвращения нестандартных и недействительные сделки от ретранслируется и добывали по умолчанию; шахтер бы целенаправленно добывать недопустимую операцию, которая против их собственного экономического интереса.
Поскольку стимулы системы Bitcoin полагаться на собственные проверки, экономические узлы (шахтеры и пользователи) должны всегда оставаться в безопасности путем обеспечения их узлов либо подтвердить действующие правила, или они могут разместить свою сеть за полный узел, который будет отфильтровывать недействительные сделки и блоки на краю своей сети (так называемый брандмауэр или пограничные узлы).
Мягкий активированного пользователя вилок разрешающий. Шахтеры не должны выпускать новые версии блоков и блоков немодернизированных шахтеров не будут сиротами, как это было в случае с IsSuperMajority мягких вилок (например BIP34, BIP66, BIP65-CLTV), которые сделали его обязательным обновлением для шахтеров.
BIP9 "versionbits" мягкая вилка метод активации также разрешительный постольку, поскольку немодернизированных шахтеры не были вынуждены модернизировать после активации, так как их блоки обыкновение быть сиротой. Недавний случай был "CSV" мягкая вилка, которая активируется BIP68, BIP112 и BIP113. Таким образом, мягкая вилка CSV позволяет немодернизированные шахтерам продолжать добычу до тех пор пока они не производят недопустимые блоки.
Шахтеры всегда сохраняют свободу действий, на котором сделки с моим. Тем не менее, независимо от того, активно ли они включают в себя операции с использованием новой мягкой вилки функцию или нет, стимул для хеширования мощности для обновления с целью подтверждения могуществен, если они этого не делают, они могут быть уязвимы для изгоев шахтера готовы тратить 12,5 BTC, чтобы создать недопустимый блок, который может привести к непроверяющим шахтерам построить на недопустимых цепях подобных инцидента BIP66. Проверка всегда было сильное требование.
Пользователь активированного мягкой вилки является беспроигрышным, поскольку он добавляет возможность, что некоторые люди хотят, чтобы не отвлекать внимание от осуществления других народов. Даже если только 10% пользователей никогда не хотели особенность, так долго, как польза перевешивает технические риски, было бы не рационально отказывать другим возможность отказаться в.
Мое предложение, чтобы иметь лучшее из обоих миров. Поскольку мягкий активированный пользователь вилка требует относительно длительного времени свинцовый перед активацией, мы можем объединить с BIP9, чтобы дать возможность более быстрого хэша мощности скоординированы активации или активации флага дня, в зависимости от того что наступит раньше. В обоих случаях мы можем использовать системы предупреждения в BIP9. Изменение является относительно простым, добавив параметр активации времени, который будет переход государства BIP9 к LOCKED_IN до конца тайм-аута развертывания BIP9.
Вы можете найти предложение здесь https://gist.github.com/shaolinfry/0f7d1fd22743bb966da0c0b1682ea2ab
Рекомендации:
[1]: https://bitcoin.org/en/alert/2015-07-04-spv-mining
[2]: http://p2sh.info/dashboard/db/p2sh-statistics?from=1472043312917&к = 1488030912918