Сделайте softfork с этими двумя новыми правилами:
1. Шахтеры будут строить отдельный хэш-дерево называется цепь дерево, которые я объясню позже. Некоторая специальная зона в блоках зарезервирована для корневых хэш этого дерева. Например, это может пойти в сделке coinbase или в первой транзакции после него.
2. Когда транзакция имеет выход со специальной формой <произвольная магическая константа>
Каждый узел дерева цепи будет что-то вроде:
Код:
структура узла {
обугливается [8] chainId;
обугливается [32] hashOfData;
обугливается [32] hashOfLeft;
символ [32] hashOfRight;
}
обугливается [8] chainId;
обугливается [32] hashOfData;
обугливается [32] hashOfLeft;
символ [32] hashOfRight;
}
Bitcoin полные узлы ничего о дереве цепи не проверить, если не требуется по правилу # 2 выше. Если нет никакого правила # 2 операции в блоке, то корень цепи дерево может быть просто случайные данные.
Bitcoin становится родовым децентрализованным временными метками сервера для неограниченного количества данных. Есть несколько сценариев использования, для этого, в том числе масштабирования:
Вы можете создать цепочку, как Bitcoin, но с 32 МБ блоков или любой другой. Полные узлы этой цепи должны быть полноценными узлами на обоих Bitcoin правильного и отдельная сеть bigblock. При получении нового блока Bitcoin, они скачать как много дерева цепи, как они могут, а затем для узлов, соответствующих определенной chainId указанный в спецификации bigblock сети, они пытаются загрузить этот блок по сети bigblock. Может быть, только первый такой блок будет считаться действительным (по некоторому упорядочению указанного сети bigblock), или, может быть, все действительные блоки в дереве цепи будет приняты. Сеть может делать все, что хочет.
Не добыча / PoS / др. необходимо на bigblock цепи. Любой пользователь может создать блоки и представить их в Bitcoin шахтеров для включения в дерево цепи. Однако атака возможна, когда кто-то создает действительный блок и получает его в дерево цепи, но потом отказывается, чтобы на самом деле отправить кому-либо блок гораздо позже, переписывание истории; чтобы не допустить этого, каждый блок должен иметь еще заголовок с пред-блок хэша, и длинная цепочка блоков должна выиграть.
Если вы создаете bigblock блок, вы получите шахтер включить узел вашего блока в дерево цепи, отправив вместе с запросом на транзакцию с использованием специального правила # 2 формы, указанная выше. Там, как правило, будет только один выход 0-значения в специальной форме, и входы могут использовать SIGHASH_ANYONECANPAY, чтобы люди могли работать вместе, чтобы заплатить взнос. Кроме того, дерево цепи может фактически продлить внутри bigblock цепи так, что bigblock сделка является частью дерева цепи; то отдельные транзакции-отправители могут добавить подобный стимул, который специфичен для своих операций.
В отличие от типичных боковых цепей, это не будет иметь безопасность SPV уровня. Даже если все шахтеры Bitcoin работали вместе, они не могли создать недопустимый блок в сети bigblocks, что bigblock полных узлов должны принять. Для того, чтобы достичь того же эффекта с боковыми цепями, вы должны сделать мягкую вилку, которая добавляет требование, чтобы все Bitcoin полные узлы также могут быть полные узлы на боковой цепи. Иногда это может быть хорошо, но не если сайдчейн делает что-то тягостное, как создание массивных блоков.
Я не думаю, что вы можете сделать 2-полосная-колышек либо без более или менее воссоздает нормальные боковые цепи или получить Bitcoin полных узлов, участвующих в гораздо большей степени (больше как дерево Chains идеи Питера Тодда). Таким образом, bigblocks цепь, описанная здесь будет иметь свою собственную валюту. Является ли этот главный недостаток позволяет ему по-прежнему стоит, я не уверен.
Она работает даже лучше для меток времени приложений, которые в меньшей степени связаны с операциями, в частности:
- В рамках децентрализованной системы DNS.
- Для общего времени штамповки документов
Для них, вы, возможно, не нужны даже отдельных блоков на все: транзакции могут быть подключены непосредственно к дереву цепи. И, конечно, вы не нуждались бы в отдельную валюту.