Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
10 мая 2015, 4:33:45 PM   # 1
 
 
Сообщения: 1148
Цитировать по имени
цитировать ответ
по умолчанию Re: Расширение операций включить UTXO информацию

Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome"
Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE
Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e
подробнее...


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Я создал проект BIP для расширенных операций.

Сделки просто указывают на выходы транзакций, которые они тратят. Никакая дополнительная информация не включена. Это означает, что база данных UTXO каждого узла должен хранить информацию о UTXO (значение, scriptPubKey и высота).

Расширена сделка является таким же, как в обычной сделке, за исключением того, что входит эта информация. Это чисто для информационных целей. Оригинальный формат транзакции используется для подписания и TXID.

Преимущество заключается в том, что только бумажник, который является владельцем монеты должен фактически хранить информацию о UTXO. Если они хотят потратить монету (ы), они могут создать расширенное сообщение транзакции и транслировать его.

Каждая запись UTXO может быть 8 байт вместо тока в среднем 36 байт на данный момент.

Полные узлы уже содержат весь набор UTXO. Если они получают стандартную сделку, они могут добавить дополнительную информацию, чтобы сделать расширенную операцию.

Будущие узлы, которые используют уменьшенный размер UTXO набор, не будут иметь возможности обрабатывать устаревшие транзакции. Это дало бы 3 типа узла. 

  • Устаревшие узлы
  • Пограничные узлы
  • UTXO-Lite узлы

UTXO-облегченные узлы будут только исходящие соединения от устаревших узлов, так как они не могут обрабатывать свои сделки.

Я в нерешительности, если новые имена сообщений являются путь. Если каждый узел требуется либо использовать блоки / передатчики или eblocks / etxs, то это пустая трата делает их разными.
TierNolan сейчас офлайн Пожаловаться на TierNolan   Ответить с цитированием Мультицитирование сообщения от TierNolan Быстрый ответ на сообщение TierNolan


Как заработать Биткоины?
Без вложений. Не майнинг.


10 мая 2015, 5:03:57 PM   # 2
 
 
Сообщения: 1750
Цитировать по имени
цитировать ответ
по умолчанию Re: Расширение операций включить UTXO информацию

Получил 1806 Биткоинов
Реальная история.





Я создал проект BIP для расширенных операций.

Сделки просто указывают на выходы транзакций, которые они тратят. Никакая дополнительная информация не включена. Это означает, что база данных UTXO каждого узла должен хранить информацию о UTXO (значение, scriptPubKey и высота).

Расширена сделка является таким же, как в обычной сделке, за исключением того, что входит эта информация. Это чисто для информационных целей. Оригинальный формат транзакции используется для подписания и TXID.

Преимущество заключается в том, что только бумажник, который является владельцем монеты должен фактически хранить информацию о UTXO. Если они хотят потратить монету (ы), они могут создать расширенное сообщение транзакции и транслировать его.

Каждая запись UTXO может быть 8 байт вместо тока в среднем 36 байт на данный момент.

Полные узлы уже содержат весь набор UTXO. Если они получают стандартную сделку, они могут добавить дополнительную информацию, чтобы сделать расширенную операцию.

Будущие узлы, которые используют уменьшенный размер UTXO набор, не будут иметь возможности обрабатывать устаревшие транзакции. Это дало бы 3 типа узла.  

  • Устаревшие узлы
  • Пограничные узлы
  • UTXO-Lite узлы

UTXO-облегченные узлы будут только исходящие соединения от устаревших узлов, так как они не могут обрабатывать свои сделки.

Я в нерешительности, если новые имена сообщений являются путь. Если каждый узел требуется либо использовать блоки / передатчики или eblocks / etxs, то это пустая трата делает их разными.

Мне нравится эта идея, но она косвенно противоречит BIP30 (https://github.com/bitcoin/bips/blob/master/bip-0030.mediawiki) И имеет выносной риск hardfork, в теории.

Как UTXO-облегченные узлы не будут хранить индекс не-полностью отработавшего TXID, они не в состоянии проверить, является ли TXID новых ТМ же, как и любым существующего не-полностью отработавшего ТМ. Если столкновение происходит, унаследованные узлы и UTXO-облегченные узлы будут не согласны с действительностью нового ОГО и привести к hardfork.

Конечно, как и у нас уже есть BIP34, столкновение как это означает успешный прообраз атаки против SHA256D. Поэтому я не уверен, если это следует рассматривать как очень рискованный.

И если бы мы могли игнорировать теоретический риск, я хотел бы предложить, чтобы официально принять вашу BIP в качестве мягкой вилки.

Вместо 8 байт, как Вы предложили, использовать 10 или 12 байт. Подобно BIP34, новое правило консенсуса будет требовать, чтобы новый ТХ не должен иметь UTXO облегченного идентификатора же как существующий неизрасходованный UTXO. Если есть конфликт, шахтеры просто включить ПРД на следующий блок, который изменит UTXO-облегченный идентификатор ТХ в. Кроме того, ни один node_specific_salt не требуется, а все узлы UTXO-облегченные будут одни и те же UTXO облегченный индекс. Мы можем даже совершить хэш UTXO-лайт, установленного на blockchain.
jl2012 сейчас офлайн Пожаловаться на jl2012   Ответить с цитированием Мультицитирование сообщения от jl2012 Быстрый ответ на сообщение jl2012

10 мая 2015, 6:10:10 PM   # 3
 
 
Сообщения: 1148
Цитировать по имени
цитировать ответ
по умолчанию Re: Расширение операций включить UTXO информацию

Мне нравится эта идея, но она косвенно противоречит BIP30 (https://github.com/bitcoin/bips/blob/master/bip-0030.mediawiki) И имеет выносной риск hardfork, в теории.

Как UTXO-облегченные узлы не будут хранить индекс не-полностью отработавшего TXID, они не в состоянии проверить, является ли TXID новых ТМ же, как и любым существующего не-полностью отработавшего ТМ. Если столкновение происходит, унаследованные узлы и UTXO-облегченные узлы будут не согласны с действительностью нового ОГО и привести к hardfork.

Интересно. Две операции не могут иметь один и тот же TXID, если они не строят от той же coinbase до добавления поля высоты.

котировка
Конечно, как и у нас уже есть BIP34, столкновение как это означает успешный прообраз атаки против SHA256D. Поэтому я не уверен, если это следует рассматривать как очень рискованный.

Если атака прообраза успешно, то Bitcoin имеет большие проблемы.  

Безопасно, кроме этого?

Есть 2 пары, которые нарушают правила:

91812: http://blockexplorer.com/block/00000000000af0aed4792b1acee3d966af36cf5def14935db8de83d6f9306f2f
91842: http://blockexplorer.com/block/00000000000a4d0a398161ffc163c503763b1f4360639393e0e4c8e300e0caec

91722: http://blockexplorer.com/block/00000000000271a2dc26e7667f8419f2e15416dc6955e5a6c6cdf3f2574dd08e
91880: http://blockexplorer.com/block/00000000000743f190a18c5577a3c2d2a1f610ae9601ac046a38084ccb7cd721

Coinbase от 91812 и 91722 не был проведен еще, так что они не могут быть в настоящее время. Поэтому 91880 является единственным, который можно потратить.

Специальное правило исключения coinbase для блоков 91812 и 91722 из множества UTXO охватывал бы эту ситуацию? Проверка аналогична BIP30 проверки может быть включена, чтобы убедиться, что матч блоков хэш.

котировка
Вместо 8 байт, как Вы предложили, использовать 10 или 12 байт. Подобно BIP34, новое правило консенсуса будет требовать, чтобы новый ТХ не должен иметь UTXO облегченного идентификатора же как существующий неизрасходованный UTXO. Если есть конфликт, шахтеры просто включить ПРД на следующий блок, который изменит UTXO-облегченный идентификатор ТХ в. Кроме того, ни один node_specific_salt не требуется, а все узлы UTXO-облегченные будут одни и те же UTXO облегченный индекс. Мы можем даже совершить хэш UTXO-лайт, установленного на blockchain.

Да, я думал вперед UTXO набор обязательств.

Как вы думаете, новые сообщения для блока и ОГО являются путем. В качестве альтернативы можно использовать только версию протокола, чтобы решить, какие поля должны быть включены.

Другой вопрос, если узлы должны повторно проиндексировать блочные файлы. Старые блоки должны быть обновлены. Это означает, что шаг, где BLK ???. DAT файлы все обновляется.

Мягкая вилка будет только для обеспечения собственности без столкновений.
TierNolan сейчас офлайн Пожаловаться на TierNolan   Ответить с цитированием Мультицитирование сообщения от TierNolan Быстрый ответ на сообщение TierNolan

10 мая 2015, 8:07:44 PM   # 4
 
 
Сообщения: 1148
Цитировать по имени
цитировать ответ
по умолчанию Re: Расширение операций включить UTXO информацию

Я обновил BIP снова для решения проблем, поднятых.
TierNolan сейчас офлайн Пожаловаться на TierNolan   Ответить с цитированием Мультицитирование сообщения от TierNolan Быстрый ответ на сообщение TierNolan

11 мая 2015, 5:27:51 AM   # 5
 
 
Сообщения: 1750
Цитировать по имени
цитировать ответ
по умолчанию Re: Расширение операций включить UTXO информацию

Подумав более тщательно обновленное предложение с softfork несет огромный риск, когда длина UTXO дайджеста не хватает.

Рассмотрим злоумышленник может заминировать следующее сообщение:

Код:
36bytes нонс | 2100000000000000 | pk_script атакующего | любая высота в прошлом

Пока результат соответствует любым существующему переваривать в наборе UTXO, злоумышленник будет генерировать 21M Bitcoin для себя, поскольку нет никакого другого пути для UTXO-облегченных узлов, чтобы обнаружить его. Это атака на день рождения и гораздо проще, чем добыча для конкретного дайджеста. Будет ли реальная UTXO имеет 1 Satoshi или 1M Bitcoin не имеет значения. Если есть еще какие-то устаревшие узлы, будет трудно вилкой.

Таким образом, гидролизат должен быть достаточно длинным, с 20 или даже 32 байт. Но даже с 32 байтами Я думаю, что это не может быть столь же безопасным, как текущая модель, так как я не могу видеть практический способ создания 21M Bitcoin, даже если я могу найти столкновение SHA256D в рамках нынешней модели.

Интересно, что ваше первоначальное предложение с узлом-специфической соли не имеют этой проблемы, поскольку это не является правилом консенсуса и соль гарантирует, что столкновение может затронуть лишь несколько узлов
jl2012 сейчас офлайн Пожаловаться на jl2012   Ответить с цитированием Мультицитирование сообщения от jl2012 Быстрый ответ на сообщение jl2012

11 мая 2015, 8:48:09 AM   # 6
 
 
Сообщения: 1148
Цитировать по имени
цитировать ответ
по умолчанию Re: Расширение операций включить UTXO информацию

Подумав более тщательно обновленное предложение с softfork несет огромный риск, когда длина UTXO дайджеста не хватает.

Рассмотрим злоумышленник может заминировать следующее сообщение:

Код:
36bytes нонс | 2100000000000000 | pk_script атакующего | любая высота в прошлом

Пока результат соответствует любым существующему переваривать в наборе UTXO, злоумышленник будет генерировать 21M Bitcoin для себя, поскольку нет никакого другого пути для UTXO-облегченных узлов, чтобы обнаружить его. Это атака на день рождения и гораздо проще, чем добыча для конкретного дайджеста. Будет ли реальная UTXO имеет 1 Satoshi или 1M Bitcoin не имеет значения. Если есть еще какие-то устаревшие узлы, будет трудно вилкой.

Я думаю, что лучшим решением является сочетание мягкой вилки с системой соли. Мне нравится, как мягкая вилка дает гарантированную уникальность, а не о том, что столкновение маловероятно.

Каждый узел вычисляет два дайджестов.

CanonicalDigest = Hash256 (UTXO информация)
SaltedDigest = Hash256 (node_specific_salt | Canonical)

Внутренне узел использует LocalDigest = SaltedDigest [N-1: 0] | CanonicalDigest [7: 0] в качестве сборника. Правило консенсуса в том, что никакие два UTXOs не могут иметь один и тот же CanonicalDigest. Это гарантирует, что нет никаких столкновений для LocalDigest.

N может быть выбран в качестве политики узла. Значение 4 представляется разумным. Майнинг может выбрать большее значение. Изменение числа потребует повторного индекс базы данных.

Набор UTXO будет храниться в виде карты

CanonicalDigest в SaltedDigest

Это позволило бы CanonicalDigest столкновения будет обнаружено.

Майнинг должен быть осторожным, чтобы их node_specific_salt не просочилось. То есть риск только майнинг. Если бассейн не более чем на 50% (и использует только 1 полный узел), то остальные шахтеры будут отвергать блоки, шахтерские. 

Даже если злоумышленник знал, соли для бассейнов, представляющих более 50% сети, генерируя транзакцию, которая принимается всеми было бы очень трудно. Если 4 бассейна было более чем на 50% мощности между ними, и они используют 4 байта SaltedDigests, затем две операции должны дать тот же результат для

CanonicalDigest [7: 0] | SaltedDigest1 [3: 0] | SaltedDigest2 [3: 0] | SaltedDigest3 [3: 0] | SaltedDigest [3: 0]

Это дает пространство поиска 24 байт, который лучше, чем защита ripemd160 и предполагает, что все 4 бассейна вытекло их node_specific_salt и используются только 4 байта SaltedDigests. 

Я определенно думаю, что канонический сборник должен быть 8 байт в этом случае. С мягкой вилки правило, столкновения UTXO рассматриваются. 8 байт означает 2 ^ 64 UTXO пространство. Это дает 134,217,728 ТБ. Я думаю, что если UTXO пространство раздулся до такого размера, то сеть имеет большие проблемы. В настоящее время клиент не мог справиться с этим, так что это означало бы "жесткий" модификация клиента в любом случае (или много "мягкий" модификации клиента, которые совместимы друг с предыдущей версией).
TierNolan сейчас офлайн Пожаловаться на TierNolan   Ответить с цитированием Мультицитирование сообщения от TierNolan Быстрый ответ на сообщение TierNolan

11 мая 2015, 9:05:19 AM   # 7
 
 
Сообщения: 1148
Цитировать по имени
цитировать ответ
по умолчанию Re: Расширение операций включить UTXO информацию

Я думал о добавлении опции UTXO_RAW. Это было бы только для исторических блоков. Все новые блоки будут сохранены в новом формате. Это означает, что узлы не нужно повторно обработать их исторические данные.

Шахтеры придется полностью обновлять, хотя.

Теперь, когда я думаю об этом, делает "расстегивать" информация содержит информацию набор обновлений на UTXO? Это позволило бы старые узлы для создания блоков с дополнительной информацией.

[Редактировать]
Похоже, данные отката для всех ТХ входов в блоке. Был ли эти данные генерируются для исторических блоков для узлов, которые обновляются?

[Edit2]

Если предположить, что это так, то это, вероятно, легче всего сохранить текущие сериализации диска. При загрузке блока с диска, как блок и отменить данные могут быть загружены в то же самое время, чтобы создать новые блоки.

[Edit3]

Похоже, что отмена информация не содержит высоту или coinbase статус предыдущей сделки, за исключением случаев, когда расходы окончательного UTXO в сделке. Хранение этой информации для coinbase сделок только будет относительно небольшим увеличением размера базы данных.

Это означает, что все не coinbase сделка должна иметь такую ​​же минимальную высоту, то есть ноль. Это означает, что сталкиваясь сделка не могла просто подождать до следующего блока.

С другой стороны, высота может быть сохранена для всех UTXOs.
TierNolan сейчас офлайн Пожаловаться на TierNolan   Ответить с цитированием Мультицитирование сообщения от TierNolan Быстрый ответ на сообщение TierNolan

12 мая 2015, 11:41:26 AM   # 8
 
 
Сообщения: 1148
Цитировать по имени
цитировать ответ
по умолчанию Re: Расширение операций включить UTXO информацию

Я имею в виду разделения BIP на две части. Первая часть будет обновленный сетевой протокол. Это должно быть менее спорным.

Сетевой протокол

Может быть реализовано без мягкой вилки любого рода. Это чисто изменение протокола и поэтому должен быть менее спорным.

  • Автоматические переиндексации отмен информации (выполняются один раз)
  • Добавить новую услугу битную EXTENDED_TX
  • Обновление сериализации транзакций
  • Добавить обновления метода добавление информации к сделкам, полученных от устаревших клиентов
  • Проверка / Upgrade сырые сделки, полученные через RPC
  • Обновление добавить в код пула памяти, чтобы только новые транзакции типа
  • Обновите код, который считывает блоки с диска, чтобы использовать отменить данные, чтобы добавить дополнительную информацию

Я думаю, что немного обслуживания является пустой тратой немного. В конце концов, большинство узлов будет обновить. UTXO облегченного узел может просто отключиться от устаревших клиентов при создании исходящих соединений.

Мягкая вилка

Канонический сборник может быть определен как Hash (canonical_salt | новый минус сериализация).

Новые узлы будут использовать блок версию 4, с нормальными порогами для активации правила.

Если 750 из предыдущих 1000 блоков версии 4 или выше, правило действует для всех блоков. В противном случае, каноническое соль обнулены.

Если правило является активным и канонический соли устанавливается равным нулю, то каноническое соль установлен в хэш-блока подключен к цепи и тест столкновения выполняется. Если это вызывает столкновение (после того, как UTXO установить обновления для текущего блока), канонический соль сбрасывается в ноль.

После того, не сталкиваясь канонической соль найдена, она блокируется и последующие блоки, которые вызывают столкновения отклоняются.

Если 950 из предыдущих 1000 блоков версия 4 или выше, версия 3 и нижние блоки отклоняются.

Мне нужно, чтобы проверить, как долго переборе множества UTXO бы для проверки столкновений. Если это использует значительные ресурсы процессора / диск, то атака DOS может быть запущена путем активации и деактивации правила.

Если он больше, чем около минуты, а затем более эффективный способ проверить новые канонические соли необходимо будет или гистерезис добавил к супер-мажоритарной функции.

С 20 миллионов записей и 8 байт на запись, которая дает 160 Мб оперативной памяти для создания набора. Если используется хэш-набор, он будет ближе к 200-250MB оперативной памяти. Это, вероятно, хорошо для раза от взрыва.

Кроме того, 20 миллионов хэшей. Процессоры могут обрабатывать около 1Mhash в секунду. Это дает 20 секунд только для хэширования.

[Редактировать]

Интересно, если мягкая вилка действительно стоит. Предупреждения столкновений, вероятно, не стоит, так как местный посола по-прежнему требуется для защиты от обнаружения столкновения с CanonicalDigests. 

[Edit2]

Обязательства UTXO должны, вероятно, до сих пор используют полные 32 байта, так как они не могут быть защищены с помощью местной соли. 
TierNolan сейчас офлайн Пожаловаться на TierNolan   Ответить с цитированием Мультицитирование сообщения от TierNolan Быстрый ответ на сообщение TierNolan



Как заработать Биткоины?

Bitcoin Wallet * Portefeuille Bitcoin * Monedero Bitcoin * Carteira Bitcoin * Portafoglio Bitcoin * Bitcoin Cüzdan * 比特币钱包

bitcoin-zarabotat.ru
Почта для связи: bitcoin-zarabotat.ru@yandex.ru

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW