Идея реализации будет предположить, что SIGHASH_ALL используется для всех них, кажется, что другие режимы SIGHASH редко используются и не уверен, что это имеет смысл, чтобы поддержать их радикально новые usecases.
Ну все, что я описал здесь полностью совместим со всеми типами scripthash; поэтому никакой реальной не нужно ограничивать гибкость. Если предположить, что код sighash отдельно и повторно, она не должна увеличить сложность реализации.котировка
Кроме того, есть причина, по которой уникальный номер используется для идентификации каждого TXID и даже выходной скрипт (адрес)? По-моему, после того, как блок мимо любого шанса быть реорганизованы, то существует канонический порядок всех блоков, и поэтому все ОЕ и Vins и vouts.
Поскольку каждый затратить в настоящее время требует 32byte TXID и Vout, картирование это 4 или 6 байт создает много экономии пространства. Существует много избыточности в blockchain с каждым TXID потенциально дублируются один раз для каждого Vout.
Это может быть done--, но нет необходимости делать это нормативном. Например. Сверстники могут согласиться на передачу данных с использованием этих сжатых индексов, в то же время хеширования исходных значений. Это имеет то преимущество, что идентификаторы не изменяются из-под уже авторством сделок, и убедившись, что оффлайн устройство не нуждается в доступе к (или доверять) внешние поставщикам индекса.Поскольку каждый затратить в настоящее время требует 32byte TXID и Vout, картирование это 4 или 6 байт создает много экономии пространства. Существует много избыточности в blockchain с каждым TXID потенциально дублируются один раз для каждого Vout.
котировка
Другая большая избыточность повторно адреса, которые на самом деле rmd160 хэши внутри тратить скрипты. Используя канонический порядок все, то каждый rmd160 хэша будет отображаться в индекс 32-битного и подавляющее большинство сценариев стандартности еще несколько байт может быть закодирован в нескольких бит. Тем не менее, с приходом диаспорой распространения p2sh сценария, может быть, что адрес нумерации обыкновения быть настолько эффективными в будущем.
Это подорвало бы свойство конфиденциальности / взаимозаменяемость Bitcoin в целом для стимулирования сторон для повторного использования адресов. конфиденциальность Bitcoin сильно зависит от отсутствия повторного использования, а также дополнительное давление на него в пользу сохранения на заказ 12 байт на txout не звучит как win-- особенно, как это будет использоваться, чтобы оправдать плохое программное обеспечение, плохие практики бизнеса, и плохая государственная политика, которая заставит пользователей повторно. Доступ к этим показателям должен быть обработан очень тщательно, так как если вы заплатили неправильные средства будут украдены.Спасибо за ваши мысли!
Я думаю, мы должны признать, что большая часть blockchain БТД было deanonymized. А пока новые методы, такие как КТ не будут приняты, это будет только хуже.
Таким образом, вместо того, чтобы бороться безнадежную борьбу, почему бы не признать, что есть люди, которые не заботятся много о конфиденциальности и удобства является более важным. На самом деле они могут быть обязаны быть открытыми. Каноническое кодирование позволяет кодировать существующую blockchain и будущего общественного blockchain в гораздо лучше, чем любой другой метод, как он заканчивает как высокую энтропию сжатого числа 32-битных, против 32byte TXID + Vout. Экономия намного больше, чем 12 байт, она занимает всего 6 байт для кодирования неизрасходованного, поэтому ближе к 30 байт. Много Bitcoin обработки происходит медленно из-за множества причин. Будучи в состоянии сделать вычисление с помощью стандартных чисел позволяет на порядок быстрее операций во многих случаях. Я думаю, что использование БД является причиной большинства замедления. Поскольку blockchain в основном не меняется, нет необходимости в использовании ACID совместимых операций DB для всего. С моей конструкции все узлы делают txindex = 1, и это занимает очень мало времени, чтобы "пересканировать" новый privkey как все уже ТЙ уже в связанных списках и хэш-таблице.
Предполагается, что каждый узел поддерживают канонические индексы, в противном случае требуется доверие. При этом предположении, эта система индексации можно рассматривать как высокоэффективный кодек без потерь, поэтому не знаю, почему вы считаете это плохо программное обеспечение. Я предполагаю, что вы не рекомендуется использовать GZIP плохую практику? Я стараюсь трудно сохранить совместимость с существующим ядром Bitcoin. То, что я описать не изменяет сетевой протокол вообще, то есть отдельный пост
Я не сторонник, чтобы изменить подписанную ТХ быть основаны на 32-разрядных чисел! Все, что я рекомендую, чтобы кодировать их внутри (когда за практической шанс быть reorged) 32 бита. Все узлы будут в конечном итоге с той же нумерацией. Тем не менее, все внешние взаимодействия продолжают с полностью развернутом виде, иначе он не был бы совместим вообще. Все расслоения и подмножество пучков будут иметь проверяемые хэшей и это создаст эффективное кодирование для постоянного архивного хранения, с, возможно, изоморфной поведение к текущему сырому blockchain внутри БДА. ТХ, которые подписаны и проверены, конечно, используя полностью расширенную форму. Тем не менее, если вы просто хотите, чтобы исследовать blockchain, никто не заботится о точном TXID, так что средства пошли от А до В.
Это не только мысли, но описание рабочей системы, которая синхронизирует все blockchain и создает вышеуказанные структуры данных примерно полчаса, если у вас есть достаточно пропускной способности и 8 ядер. Это пропускная способность ограничена, поэтому для медленного домашнего подключения 20Mbps, он принимает 6hrs для полной синхронизации. Я в настоящее время отладки обработки unspents, а остальное в основном работает и просто нужно подтверждение. И эта часть получена из МШ, который был в эксплуатации в течение нескольких лет.
Я хотел бы использовать стандартный Bitcoin RPC набор тестов, и я полагаю, что в репо является наиболее полным набором? Есть некоторый брутфорс RPC тестер, который будет использовать большие части RPC, которые могут быть использованы в качестве этапа проверки для новой реализации Bitcoin ядра?
Джеймс