Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
28 июля 2013, 8:41:04 PM   # 1
 
 
Сообщения: 1148
Цитировать по имени
цитировать ответ
по умолчанию Re: Дополнительный заголовок - злоупотребление «пустые» операции

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


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Если есть (2 ^ п) + 1 сделок, то последняя сделка хешируется с собой снова и снова на каждой стадии Merkle дерева.

Например, если бы было 5 (4 + 1) сделки, то дерево вычисляется следующим образом.

А, В, С, D, Е

Первый проход занимает 5 хешей и уменьшает его до 3

Х = Н (А, В)
Y = H (С, D)
Z = Н (Е, Е) (Е хэшированный с собой)

X, Y, Z,

Следующий проход занимает 3 и уменьшает его до 2

М = Н (Х, Y)
Н = Н (Z, Z) (Z хэшированный с собой)

Затем они объединяются, чтобы дать окончательный корень.

Н (М, N),

Тем не менее, Z представляет собой Н (Е, Е), так что N чисто определяется Е.

Чем глубже дерево, тем больше хэши должны быть выполнены, но он по-прежнему чисто решается Е.

Это означает, что, чтобы доказать, что Е была в дереве, вам просто нужно обеспечить E (так N может быть вычислена), M и глубина дерева.  

Это гораздо более компактным.

Из того, что я могу собрать сделка действительна, если она имеет по крайней мере, 1 вход и 1 выход. Тем не менее, значение выхода может быть равен нулю.

Сделка будет действительной, если он переехал 0BTC из некоторого вывода на выход транзакции.

Если транзакция была создана, который заплатил 0BTC в OP_TRUE, то он может быть использован как начало "пустой" сделка цепь.

Сама сделка может быть использована в качестве источника для следующей транзакции, поэтому нужно только один.

Это позволило бы дополняя список транзакций, чтобы степень 2. Каждая транзакция будет использовать предыдущую операцию заполнени в качестве входных данных.

Окончательная сделка будет транзакция Е, и будет включать Hash (вспомогательный корень) как часть своего сценария.

Заголовок может затем быть расширен за 80 байт.

Стандартный - 80 байт
ИНТ версия
Hash предыдущая
Hash Merkle
ИНТ метка времени
ИНТ биты
ИНТ нонс

Info - 65 байт
гашиш "M"
Хэш-предыдущей транзакции, используемый E
var_int tree_depth
var_int extra_field_length

Дополнительные поля - ??
var_int blockHeight (например)

Сделка Е можно определить, зная предыдущую сделку, что она тратит. Остальная часть сделки является стандартным и Hash (дополнительные поля) входит в сделку. Вся эта информация содержится в расширенном заголовке.

Это позволяет полный заголовок + вспомогательный заголовок проверяется без необходимости какой-либо другой информации.

Это обратная совместимость.

Недостатком является то сделка спам. Тем не менее, шахтеры могли бы поощрять стремиться к степеням 2 сделок.

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

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

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


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


1 августа 2013, 5:22:42 PM   # 2
 
 
Сообщения: 1750
Цитировать по имени
цитировать ответ
по умолчанию Re: Дополнительный заголовок - злоупотребление «пустые» операции

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





Таким образом, количество сделок должно быть степенью 2? Это звучит интересно, но не очень практично. Когда блок пространство становится очень мало, стоимость будет слишком много. Старые клиенты не поймут "компрессия" Вы предложили, поэтому в конце концов, вам нужен жесткие вилы
jl2012 сейчас офлайн Пожаловаться на jl2012   Ответить с цитированием Мультицитирование сообщения от jl2012 Быстрый ответ на сообщение jl2012

1 августа 2013, 6:13:56 PM   # 3
 
 
Сообщения: 1148
Цитировать по имени
цитировать ответ
по умолчанию Re: Дополнительный заголовок - злоупотребление «пустые» операции

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

Суть дополнения заключается в расширении его мощности 2.

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

2 августа 2013, 2:00:53 AM   # 4
 
 
Сообщения: 1750
Цитировать по имени
цитировать ответ
по умолчанию Re: Дополнительный заголовок - злоупотребление «пустые» операции

Это умный хак, но стоимость реализации слишком высока.

Не могли бы вы назвать некоторые случаи, которые нам нужны дополнительные поля заголовка, и ввод информации в coinbase (как блок v2) не хватает? (Например, Ваше предложение подблока)

jl2012 сейчас офлайн Пожаловаться на jl2012   Ответить с цитированием Мультицитирование сообщения от jl2012 Быстрый ответ на сообщение jl2012

2 августа 2013, 9:50:16 AM   # 5
 
 
Сообщения: 1148
Цитировать по имени
цитировать ответ
по умолчанию Re: Дополнительный заголовок - злоупотребление «пустые» операции

Это умный хак, но стоимость реализации слишком высока.

Если шахтеры ограничивались полномочия 2 сделок, то стоимость будет равна нулю (а 1 дополнительная сделка).

В период, когда доминируют чеканка сборы, это не вызывает, что большую проблему.

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

Даже когда доминируют ТЕ сборы, если это правило сети, то шахтеры могли бы оптимизировать, чтобы попытаться получить блок до 1 МБ.

Стоимость является компромиссом. Я имею в виду ситуации, когда узел просто хочет, чтобы загрузить и проверить заголовки.

Если дополнительное поле в coinbase сделки, они у вас есть, чтобы обеспечить весь путь Merkle вниз к coinbase.

Если блок имеет 65 - 128 транзакций, то глубина дерева 7. Путь к coinbase составляет 32 * 7 = 224 байт.

Кроме того, необходимо обеспечить coinbase.

Я предполагаю, что это не то, что большая стоимость. "расширенный" заголовок будет 80 + 224 + coinbase_size.

Компромисс можно было бы добавить дополнительные операции, чтобы блокировать сразу после монетного базы.

0: coinbase
1: ТХ-коврик

Это позволило бы coinbase быть большой без него вызывает виртуальный заголовок от того больше.

С 4096 транзакций, то есть глубина 12, размером общего заголовка будет

Путь: 11 * 32
Входной ТХ: 32
Aux заголовка: 32
Дополнительная длина: 1

Это дает 417 байт (плюс дополнительные поля). Первоначальное предложение дало бы 145 байт заголовков (плюс дополнительные поля).

котировка
Не могли бы вы назвать некоторые случаи, которые нам нужны дополнительные поля заголовка, и ввод информации в coinbase (как блок v2) не хватает? (Например, Ваше предложение подблока)

Субблок вещь не требует изменений заголовка (последнее предложение определенно). Она просто требует распределения заголовков для блоков, которые не вполне соответствуют военнопленного.

Я думал вообще.

Я думаю, что это было бы хорошей идеей, чтобы зарезервировать 32 байт в coinbase транзакции как хэш дополнительной информации заголовка.

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

2 августа 2013, 10:31:19 AM   # 6
 
 
Сообщения: 1750
Цитировать по имени
цитировать ответ
по умолчанию Re: Дополнительный заголовок - злоупотребление «пустые» операции

Если максимальный размер блока повышается, и мы можем обрабатывать миллион ТХ в блоке, "Полномочия 2" требование становится экспоненциально трудно в архив. (В данном случае нам нужно hardfork в любом случае, так что мы на самом деле не нужен хак, как это)

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

2 августа 2013, 10:51:14 AM   # 7
 
 
Сообщения: 1148
Цитировать по имени
цитировать ответ
по умолчанию Re: Дополнительный заголовок - злоупотребление «пустые» операции

Чтобы в будущем расширения, это может быть лучше, чтобы позволить несколько сот байт свободного пространства в заголовке блока.

Если жесткий вилка, я согласен, что лучше, чтобы исправить это чисто.

Проблема заключается в жестком вилок бывает, и они являются минимальными изменениями (по соображениям безопасности).

Изменение 1Мб будет планироваться заранее, хотя.

СИС не собирается быть в состоянии обрабатывать нестандартные заголовки (может быть).

С жесткой вилкой, новый заголовок может быть изменен:

INT: версия
Хэш: пред
Хэш: merkle_root
INT: временная метка
INT: Diff
INT: одноразовое значение
<дополнительные поля>
<информационных полей>

При вычислении хэша блока, корень Merkle должен быть заменен.

block_hash = Хеш (
версия +
пред +
хэш (merkle_root + extra_fields) +
метка времени +
Diff +
данное время
)

Это означает, что добыча полезных ископаемых аппаратных средств даже не нужно менять. Корень Merkle просто заменить.

Может быть, BIP должна быть создана в качестве предложения.

- Merkle дерево изменено на вознаграждение дерева
- вспомогательные поля

Еще одно изменение, что было бы хорошо было бы один для Оружейной. Это где входное значение для операций может быть включено в ОМ хэше.
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