Мы не должны добавлять дополнительные данные в blockchain Bitcoin в. Он растет очень быстро. Представьте себе, сколько данных это будет необходимо передать, когда использование Bitcoin достигнет 100.000 транзакций в день.
Добавление дополнительных данных в транзакции coinbase найденной в каждом блоке просто отлично. То есть, как объединенная добыча осуществляется сегодня, и это масштабируемый способ добавления неограниченного количества данных к каждому блоку.Я слышал этот аргумент придумал несколько раз, когда такие вещи, как временные метки или боковые цепи идут вверх. Проблема добавления дополнительных данных возможно только на всех, если вы шахтер, и если вы хотите, чтобы ваши данные будут добавлены в разумный промежуток времени, в цит бассейна. Учитывая это ограничение, я подозреваю, как и временные метки боковой цепей концепции будут заводиться начинкой данных в операции, вздутие живота вверх blockchain. Я уже говорил, как это можно сделать прямо сейчас, без особого вида сделки.
Так объединит опс быть все готово поставить Merkle голову дерева в coinbase лет они мои?
С их точки зрения, мы можем сделать это довольно легко для них, чтобы сделать с технической точки зрения. Давайте предположим, что я написал некоторое программное обеспечение, которое будет выступать в качестве сервера Merkle дерева. Он принял бы хэши от кого-либо, создать полный Merkle дерево, а также обеспечить верхний хэш бассейн опс для включения. Интерфейс для них может быть только HTTP GET-возможности верхнего уровня хэш, который они помещают непосредственно в их coinbase. Моя программа могла даже смотреть в coinbases блоков, добытых, чтобы выяснить, какие из них попали в blockchain. Если они не готовы поставить хэш в базе монеты непосредственно, или хотите, чтобы наполнить его в существующую слияния-шахтное Merkle дерева, они должны были бы дополнительно отправить обратно Меркле листья требуется, чтобы добраться до coinbase либо HTTP RPC обратно отправителю, или даже просто публиковать связанные данные автоматически на их сайте. Для резервирования последнего вариант, вероятно, лучше в любом случае, потому что так это нормально, если несколько людей работают эти сервера, с бассейном опс определения того, что сервер они собираются принять хэш верхнего уровня с. Этот Меркл сервера могут представлять хэш друг друг тоже. Если какой-либо сервер получает хэш в coinbase, все они, по модулю длинного пути добраться до верхней хэш. Точно так же, ничто не мешает бильярдный цит запуска самих Merkle сервера.
Конечно, это своего рода выглядит как мы позволяем произвольные людям использовать пул хэш власть, чтобы сделать свою собственную добычу слияния. Я полагаю, что до того, как пул оп включает хэш верхнего уровня в coinbase или слияния-шахтное дерева они делают окончательные "отравление" шаг, который состоит из взятия, что хэш, превращая его в шестнадцатеричном, предварительно ожидании известной и фиксированную строку, ("Этот хэш не является доказательством работы: <гашиш>"), А затем хэширования, что вся строка с sha256d. Так как шаг яд всегда та же временная метка и другие подобные виды использования не нужно записывать, что дополнительный бит данных в подписях, но в то же время однозначно отличает такие Merkle деревья от слияния законным добывали из них.
Я думал об этом материале в терминах временных меток и недавно работает на очень компактной и расширяемой, способ хранения полученных пути Merkle. Цель здесь, чтобы иметь возможность временной метки файла и сохранить путь к одному или нескольким нотариусам, которые гарантируют, что хэш существует в данный момент времени, с возможностью позже добавить дополнительные пути к другим нотариусом подписей, поскольку они становятся доступными. Нотариус быть PGP подпись, Bitcoin блок, коммерческая служба временных меток, мертвое дерево публикации и т.д. Это поле, которое, кажется, не имеют много программного обеспечения с открытым исходным кодом, вероятно, потому, что проблема на самом деле не проблема программного обеспечения ... но Bitcoin изменения, которые. У меня есть некоторый код Python (на самом деле Cython) Я работаю на в самом деле ранней стадии; ничего не высечено в камне еще. Одним из ключевых вещь, которую я хочу сделать, это убедиться, что серверы под управлением версии проставление даты этого программного обеспечения широко наблюдать друг друга с несколькими нотариальными методами; blockchain отличный способ сделать это, если вы включите Bitcoin блок хэшей в ваши собственные Merkle деревьев.
Что касается масштабируемости позволяет предположу, что мы бы с небольшим количеством людей, работающих сервера, 8 или 16, или так, что бассейн опс коллективно были запрашивая. Если все 16 попали в блок Merkle дерево теперь 4 уровней вложенности. Давайте предположим, каждый оператор Отметка времени сервер работает свой сервер на свободном уровне Amazon EC2, в 15GB пропускной способности из месяца. С 1KiB из / запроса они могут обслуживать до 6 временных отметок / сек (3600 в 10minutes) без запуска из полосы пропускания. 2 ^ 12 = 4096, так что путь 16 длинный, 512bytes + накладные расходы заголовок блока. Оценить ограничения, если даже требуется вообще, может быть разумно сделано с ключами API, капчи и просят красиво, с намерением в том, что тяжелые пользователи запускают свои собственные серверы. (Они, вероятно, имеют свои собственные нотариус в любом случае, с Bitcoin в качестве проверки резервного копирования) Хек, может быть даже денежные выплаты для сдерживания злоупотреблений; если бы только был способ легко принимать такие платежи ...
В любом случае, если бассейн опс не заинтересованы, такого рода вещи могут одинаково работать сбросами данные в специально обозначенных сделок, хотя и имеет возможность что-то централизованного будет лучше при условии достаточно бассейн ОПС заинтересованы в том, получать ваши метки времени / боковой цепи в разумный промежуток времени возможно. В худшем случае, если и временных меток боковые цепи является общим случаем использования, и все катится свою собственную систему на основе транзакций вздутие живота вверх по цепочке. Как это с пределом размера блока 1MiB и средний размер сделки около 256 байт блока не будет иметь более чем 4096 транзакций в них так или иначе, так что приложения пытаются ограничить размер своих деревьев часто будет иметь стимул использовать транзакции напрямую, сборы по модулю сделки.