С одной стороны это верно только в том случае шахтеры запускать альтернативные реализации.
Нет, бывают случаи, когда другие люди могут пострадать от цепи расщепления ошибок тоже. Допустим, вы большой объем коммерсант или оплаты процессор, который запускает альтернативную реализацию. Я могу совершить сделку, которая по его мнению является недействительным, но остальная часть сети считает, действительно, по какой-либо причине. После того, что получает включено в блок, ваш бизнес будет остановится, потому что он будет отщепляется на цепь, которая больше не получает продлена, или только получает продлено очень медленно, то есть вы не можете обрабатывать платежи больше, пока проблема не наблюдается и вы найти и исправить ошибку соответствия.
Если это приводит к потере X монет в час бизнеса, то я могу попытаться анонимно вымогать за немного меньше, чем X, утверждая, что я знаю, что такой ошибки в программном обеспечении. Это очень трудно доказать, что это не существует. Вы должны были бы иметь много уверенности в надежности тестирования вашей реализации.
Что если вы принимаете недействительные сделки? Если вы предоставляете товар или услугу в обмен на неподтвержденные операции, то это, очевидно, может подорвать вашу модель риска, потому что вы получите сделку, которая по вашему мнению, является действительным, а не двойным тратить, вы не видите никаких двойных оповещений потратить или противоречивые сделки - но это никогда не подтверждают и я все еще могу потратить деньги. Я не должен ждать и Моём блок больше, как я бы, если делать атаку Финней, так что это намного дешевле.
Может быть, документирование протокола может привести к фиксации указанной ошибки на согласованную высоту блока, ведущие к более четкому и последовательному протоколу. Я действительно не вижу вреда в документировании, что происходит под капотом, ошибки включены.
Такой документ будет в конечном итоге почти так же долго, как исходный код, и не намного легче читать. Я все для добавления более подробных комментариев к источнику, хотя.
То, что я хочу видеть соперничает реализацию четко определенный протокол, а не централизованного черного ящик поддерживается несколько, которые знают, какие именно ошибку следует рассматривать как особенность.
К сожалению, то, что у вас есть это последнее, и это не очень легко исправить. Мы продолжаем открывать новые случаи нечетного края, где, что делает программное обеспечение, не то, что вы на самом деле ожидать, учитывая описание того, как он предназначен для работы.
Английский язык, в сочетании с диаграммами, таблица и т.д. предназначена для людей, чтобы понять и, таким образом, идеальный формат, в отличие от C ++. И клиент Satoshi не очень дружит для человеческих глаз, так что на самом деле другая реализация могла бы сделать это гораздо легче понять, но зачем тратить время на том, что, если вы могли бы написать человек чистых спецификации?
Я думаю, что клиент Satoshi довольно просто читать, по большей части. Несколько частей несколько неисповедимы, потому что они написаны очень плотно, но, к сожалению, нет никакой замены просто озадачивает его - если вы пишете описание того, что вы думаете, что код делает это может не соответствовать действительности. Мы уже видели это продемонстрировало несколько раз, как и с расчетом Merkle дерева. Какие люди
думал он сделал, было не совсем то, что это
на самом деле сделал. Если вы просто дублируется алгоритм Satoshis, вы бы дублировать его ошибка тоже так не цепи раскола атака не была бы присутствовать. Если вы повторно реализовать его на основе описания английского, вы бы ввели эксплойт.
Сожалею? Люди могут повторно реализовать Bitcoin. Вы знаете, что, очевидно.
Я реализовал SPV режима (повторно не реализовано, так как в течение длительного времени не было никакой другой реализацией этого). Мэтт Corallo пошел вперед и расширил свою работу, чтобы сделать полную проверку. Он сделал ТОННУ тестирования, очень в глубине тестирования, несмотря на то что я был бы очень обеспокоен, если я слышал, что большой майнинг или BitPay или тот, кто использовал его. По крайней мере, в его нынешнем состоянии. Это мне не ясно, сколько работы потребуется, пока я не чувствовал себя комфортно с высокой стоимостью операций с использованием bitcoinj в полном режиме, а также документация, когда 0,7 отпускания будет сделать это ясно.