Softforks, по определению, в результате некоторых операций пользователей, которые не модернизировать недействительным.
Есть более чем два возможных состояния, недействительные или действительными. Сделки также могут быть «нестандартным» означает узлы не будут создавать, реле, или шахты им. Но если они случаются (то) отображается в блоке, они принимают их. В сущности, нестандартная сделка один делает что-то, что узел знает, что не в полной мере понять, но до сих пор не нарушать правила ... так что это не будет способствовать его, но он также не будет отвергать его.
Общинная разработана softforks в наше время принимает форму только делать вещи недопустимых, которые уже были нестандартными. Так никаких сделок пользователей, которые не модернизации не будет недействительным.
Шахтеры могут отменить мягкую вилку с поддержкой 50% hashrate (хотя они, вероятно, потребуется больше).
Не so-- даже если 90% из hashrate были начать нарушать softfork, узлы, которые понимают, что бы его увидеть, как они рассматривают любую другую hardfork (или 99%!): Они просто игнорируют их блоки, и к ним было бы точно равно шахтеры Перекрытие.
Моя забота о SegWit является то, что пользователи, которые не активно модернизируют не смогут полностью проверить любые блоки (и их включены сделки), которые включали один или несколько SegWit операций. Я считаю, что это делает эти узлы не полны узлы думать, что они являются полными узлами, которые я считаю, это очень плохо.
В общественной разработана softforks узлы _know_ когда правила активировали, что они не понимают, и они жалуются пользователю громко:
Картина. Если пользователь хочет создать свой узел, чтобы просто отключить, когда такое предупреждение случилось, что могли. Узлы также продолжают проверять все то, что они всегда валидацию, антиинфляционные, анти-doublespending, locktimes и т.д .. даже для новых сделок. Плюс, не модернизировано пользователь не будет получать какие-либо платежи, которые сами используют новые правила, потому что их кошелек не генерируют адреса, которые используют их.
Таким образом, в softfork: Каждый получает выбор для обновления или нет, и может выбрать _WHEN_ они обновления ... например в то время, когда его Convient им. Если они используют программное обеспечение, настроенные или больше не поддерживается, они все еще могут «улучшить» его просто приклеить ее за маточным модернизировал узел. Если бы они хотели, чтобы отключить во время активации, пока они не получат возможность обновления, они могут сделать это. Если, как и большинство людей, эти изменения не непосредственное отношение к them-- им не нужно беспокоиться о них ... и может просто обновить, когда они получают около освежающими своих систем. В softfork не требуется никакой фактический раскол цепи (не было в последнем, к примеру).
В то же время hardforks почти наверняка разбить цепь, даже если только случайно. Они заставляют пользователей обновить в определенное время, и нет никакого легкого обновления: если ваша программа не сопровождается, вы просто не повезло. Кроме того, они имеют больший долгосрочный риск политически, они могут эффективно пересмотреть право собственности система-- назначения монет другого parties--. Там нет относительно безопасно делать ничего opportunity--, который наказывает людей, использующих альтернативные реализации. Посмотрите, как далеко позади Xt / классики было на предыдущих softforks: только их реализация месяцы после того, как они были развернуты. Частая каденция hardforks бы одну многие команд разработчиков полностью неосуществимые.
Так что в любом случае, я думаю, что это явно тот случай, что вы предлагаете строго ниже. Если вы хотите ваш узел, чтобы закрыть, когда обновление происходит, установите, что up--, но в основном никто не хочет. Потеря способности к «модернизации» индивидуальные систем, поставив их позади модернизированные шлюзов является массивной потерей гибкости и увеличения стоимости / риски ... тем более, что вы не можете контролировать время в hardfork и не можете откатить, если развертывание идет плохо.