Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
8 января 2013, 6:25:54 PM   # 1
 
 
Сообщения: 539
Цитировать по имени
цитировать ответ
по умолчанию Re: истощение выборки памяти операций Устанавливаются атаки (TFMEA)

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


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

Я публикую эту атаку, так как:

1. Это не по-настоящему практичным (только если это спонсируемых правительством)
2. Я не уверен, если это действительно может быть сделано, так как я не проверял.
3. Сеть может восстановить, просто установив новую версию, которая предлагает какую-то защиту.


обзор

Предположим, что большинство клиентов Bitcoin установлены в операционных системах Windows. Предположим, что большинство людей, которые используют Windows, не компилировать исходный код,
но скачать 32 битный исполняемый файл из Sourceforge, который является 32-разрядным приложением. Это предположение представляется вероятным на практике.

Для обработки транзакции клиент загружает Satoshi все упоминаемые транзакции входы в ОЗУ (см CTransaction :: FetchInputs ()).

Атака

Атакующие мины 2000 блоков. Каждый содержащий транзакцию на 1 Мбайт.
Затем злоумышленник может построить сделку, которая требует 2 Гб оперативной памяти для обработки, то ссылки на каждый из 2000 крупных сделок.
Все клиенты Windows, обработка этой транзакции будут сегментация. Узлы должны обновить восстановить.

Как долго?

Быстро атака может быть является добыча 2000 блоков, как быстро, как это возможно. 2000 блоков в 10-минутных интервалах представляют 14 дней.
Из-за трудностью повторно компьютера каждые 2016 блоков, злоумышленник может также увеличить общую мощность хеширования, чтобы уменьшить интервал блока.

Сколько стоит атаковать?

Текущий Bitcoin хэширования мощность 20000 GHash / с.
Возьмите Bitforce сингл 'SC', что делает 60 GH / с 1300 USD. Тогда 50% мощности хеширования можно купить
20000/60 * 1300 = 433K USD.

С 50% мощности хеширования, первые блоки 2000 будут содержать половина блоков атакующих, и будут добыты на скорости 2x.
Это 7 дней. Остальные блоки (2000, содержащие другую половину) будет добыто на нормальной скорости 1x.
Общее время Атак поэтому 21 дней.

Если нападающий готов инвестировать больше?

Инвестиции четыре раза больше, или 1.ой USD, атакующий получает 80% мощность хеширования.
Первые 2000 блоков будет содержать 80% блоков нападающих, добывали всего 2,8 дней.
Оставшиеся 400 взломщик блоки будут принимать дополнительные 3 дней.
Общее время Атак поэтому 5,8 дней.

Что делать, если злоумышленник шахтер, который уже имеет 10% от сети хэширования власти?

Мы полагаем, что шахтер уже амортизируется его добыча оборудования.
Мы предполагаем, чем добыча платы очень низки по сравнению с вознаграждением BTC блока 25.
Если предположить, что добыча является прибыльной, то добыча каждый затрат блоков, в среднем, менее чем на 25 BTC.
Тогда атака не имеет стоимости, и это занимает 140 дней для хранения 2000 1MB сделок в blockchain.

Предлагаемые решения

1. Ограничение количества байтов транзакции, что транзакция может запросить (TxSizeRequested (Tx)<1 Мб).
 TxSizeRequested () может быть вычислена как  
   TxSizeRequested (Tx) = Sum (для каждого отдельного tx2 в tx.previns: Размер (Tx2.Size))
   
(Это трудно вилка, но, скорее всего, что существует транзакция в текущем блок-цепи которого TxSizeRequested (Tx)>10 Кбайт)

ИЛИ    

2. Свободные старые транзакции при выборке новых сделок, как в скользящем окне, в FetchInputs ().
   Обновить операции в ConnectInputs (), и утилизировать после проверки сценария.

Комментарии приветствуются!

Edit: Piuk обнаружил худшую проблему: атака может быть выполнена во время blockchain загрузки, где сложность является ниже. не проверял, пока.
Sergio_Demian_Lerner сейчас офлайн Пожаловаться на Sergio_Demian_Lerner   Ответить с цитированием Мультицитирование сообщения от Sergio_Demian_Lerner Быстрый ответ на сообщение Sergio_Demian_Lerner


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


8 января 2013, 8:22:35 PM   # 2
 
 
Сообщения: 1050
Цитировать по имени
цитировать ответ
по умолчанию Re: истощение выборки памяти операций Устанавливаются атаки (TFMEA)

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





Посмотрите на CCoinsViewCache вещи в настоящее время в мерзавца голове.

Только обрезка версии сделок (= их неизрасходованный выход + некоторые метаданные) хранятся в памяти, и необходимая для проверки. Они также хранятся в памяти гораздо дольше, чем один блок, если это возможно.

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

8 января 2013, 8:31:50 PM   # 3
 
 
Сообщения: 539
Цитировать по имени
цитировать ответ
по умолчанию Re: истощение выборки памяти операций Устанавливаются атаки (TFMEA)

К сожалению.

Атака может быть выполнена в виде атаки DoS на одном узле без использования блока цепи вообще.
Стоимость атаки 240 BTC (но, вероятно, BTC может быть повторно использован для другого нападения).

Предположим, что злоумышленник подключается к жертве.

Это шаги, чтобы выполнить атаку:

1. Атакующий имеет 240 BTC в определенной prevout, что он владеет.
2. Атакующий распространяет 240 BTC в 4000 крошечных выходов (выход (к)), каждый из которых содержит 0,06 BTC.
Это будет стоить некоторого дополнительного БТД в тарифах. Еще 10 BTC будут платить за них. Злоумышленник может использовать несколько операций (например, 100), чтобы уменьшить плату.
3. Атакующий строит 4000 транзакций Тх (I), каждый из которых размером 488 Кбайт. Каждый Тх (я) содержит единственный вход выход (I) и достаточное количество выходов для заполнения оставшегося пространства 488 Кбайт. Атакующий строит Tx (I), так что они не будут включены в блок из-за низких сборов.
4. Атакующий посылает Tx (I) по одному на жертву.
5. Потерпевший принимает эту транзакцию в пуле памяти, так как GetMinFee () возвращает 0.0501 BTC:
(Заметим, 488 кбайт = 499999 байт)

 nBaseFee = (режим == GMF_RELAY)? MIN_RELAY_TX_FEE: MIN_TX_FEE = MIN_RELAY_TX_FEE = 0,0001 BTC
 =-байт 1000+ 498999 = 499 999
 nMinFee = (1 + (Int64) число-байт / 1000) * nBaseFee = (1 + 499999/1000) * 0,0001 = 0,0501 BTC
 если (nMinFee < nBaseFee) (0,0501 BTC < 0,0001 BTC? ) НЕТ.
 если (nBlockSize! = 1 && nNewBlockSize >= MAX_BLOCK_SIZE_GEN / 2) (499999 >= 500000?) НЕТ.
 вернулся -> 0,0501 BTC

6. Потерпевший виртуальное адресное пространство приложения заполнена и приложения ошибку сегментации.

Время, необходимое для атаки, поскольку соединение 50 Кбайт / с, на 11 часов.

Это верно? Разве я вычислен GetMinFee () правильно?

С наилучшими пожеланиями, Серхио.





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

8 января 2013, 8:38:23 PM   # 4
 
 
Сообщения: 910
Цитировать по имени
цитировать ответ
по умолчанию Re: истощение выборки памяти операций Устанавливаются атаки (TFMEA)

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

8 января 2013, 8:42:42 PM   # 5
 
 
Сообщения: 539
Цитировать по имени
цитировать ответ
по умолчанию Re: истощение выборки памяти операций Устанавливаются атаки (TFMEA)

Могло 2000 блоков быть добыты при более низкой сложности аварии клиентов во время начальной загрузки blockchain?

Что о контрольно-пропускных пунктах? Когда они проверены?

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

8 января 2013, 8:44:01 PM   # 6
 
 
Сообщения: 1372
Цитировать по имени
цитировать ответ
по умолчанию Re: истощение выборки памяти операций Устанавливаются атаки (TFMEA)

Предлагаемое решение # 3, просто убедитесь, что 64-разрядные двоичные файлы так же легко получить, как 32 битных, так что большинство клиентов не будут 32 битом, и атака не будет стоить попытки.
casascius сейчас офлайн Пожаловаться на casascius   Ответить с цитированием Мультицитирование сообщения от casascius Быстрый ответ на сообщение casascius

8 января 2013, 8:52:59 PM   # 7
 
 
Сообщения: 539
Цитировать по имени
цитировать ответ
по умолчанию Re: истощение выборки памяти операций Устанавливаются атаки (TFMEA)

Могло 2000 блоков быть добыты при более низкой сложности аварии клиентов во время начальной загрузки blockchain?

Я помню, какой-то элемент героя, который сказал, что первое соединение (из которого клиент Satoshi загружает blockchain) следует доверять, или многие другие векторы атаки возможны.
Sergio_Demian_Lerner сейчас офлайн Пожаловаться на Sergio_Demian_Lerner   Ответить с цитированием Мультицитирование сообщения от Sergio_Demian_Lerner Быстрый ответ на сообщение Sergio_Demian_Lerner

8 января 2013, 9:37:59 PM   # 8
 
 
Сообщения: 2366
Цитировать по имени
цитировать ответ
по умолчанию Re: истощение выборки памяти операций Устанавливаются атаки (TFMEA)

Я помню, какой-то элемент героя, который сказал, что первое соединение (из которого клиент Satoshi загружает blockchain) следует доверять,
Нет, это еще не модель безопасности, мы стремимся, чтобы иметь по очевидным причинам.

котировка
или многие другие векторы атаки возможны.
В общем, есть много векторов дос атаки, которые возможны, но которые не интересны, потому что они не transitive- и поэтому не получают усиления, например, злоумышленник отправляет 10gigabytes в отходы 10gigbytes одной пропускной способности узлов (нечто такое, что не может быть предотвращена, независимо от того, как написано программное обеспечение); или которые являются потенциально транзитивны, но требуют добыч большого количества вредоносных блоков, которые расширяют текущую цепочку (которая имеет очень высокую вычислительную стоимость, и в ситуации, были злонамеренная партия добывала много лучших блоки мы были бы счастливы, если они все сделали была атака дОС).

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

9 января 2013, 1:29:00 AM   # 9
 
 
Сообщения: 539
Цитировать по имени
цитировать ответ
по умолчанию Re: истощение выборки памяти операций Устанавливаются атаки (TFMEA)

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

Ну, есть вариант этой атаки, которая не включает в себя ГОРНО сирот.
Вместо того чтобы стать шахтером, просто вещать 4000 сделок по 500 килобайта каждый с достаточным количеством платежей, чтобы сделать их в любой блок.

В настоящее время, 1 плата BTC для каждой сделки будет достаточно для шахтеров, чтобы принять Нападавшие сделки, а не какой-либо другой, так как средняя плата за 500 кбайт сделок составляет около 0,6 BTC (это оценка).

Так только с 4000 BTC вы можете выполнить атаку, которая отсоединяет всех клиентов Windows, сразу. Атака занимает 14 дней, чтобы быть готовым, так что дает достаточно времени для пользователей, чтобы обновить (или если ядро ​​DEV разрабатывает патч достаточно быстро)

Это самая дешевая атака на всю сеть когда-либо видели.



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

9 января 2013, 1:55:24 AM   # 10
 
 
Сообщения: 539
Цитировать по имени
цитировать ответ
по умолчанию Re: истощение выборки памяти операций Устанавливаются атаки (TFMEA)

Подводя итог, было предложено четыре связанных атаки:

- TFMEA Шахтеры атака ()
Эта атака вешает каждый узел Windows / Linux-32bit в сети. Он стоит на 500К USD. Займет 21 дней. 6 дней, если готовы тратить 1.7м USD на аппаратном уровне.

- TFMEA блок загрузки атака
()
Эта атака вешает пэр Windows / Linux-32bit узел. Дешевые.

- TFMEA сверстников атаки
()
Эта атака вешает пэр Windows / Linux-32bit узел. Затраты на 240 BTC. Деньги могут быть использованы повторно, так стоимость может амортизироваться.

- TFMEA Плата спонсируемых нападение
()
Эта атака вешает каждый узел Windows / Linux-32bit в сети, со стоимостью 4000 BTC).
Sergio_Demian_Lerner сейчас офлайн Пожаловаться на Sergio_Demian_Lerner   Ответить с цитированием Мультицитирование сообщения от Sergio_Demian_Lerner Быстрый ответ на сообщение Sergio_Demian_Lerner

9 января 2013, 3:40:16 AM   # 11
 
 
Сообщения: 2366
Цитировать по имени
цитировать ответ
по умолчанию Re: истощение выборки памяти операций Устанавливаются атаки (TFMEA)

Это самая дешевая атака на всю сеть когда-либо видели.
Это дешевле, чем недействительные сделки, вызвать сбой наиболее / каждый узел как?

Дай мне testnet адрес пришлю 16000 TN BTC, не стесняйтесь, чтобы увидеть, если вы можете запустить его там. (Edit:. Увидев это сообщение, казалось мне, что я мог прозвучать пренебрежительно там- это не мое намерение, я просто предлагая помочь с PoCing его на testnet)



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

9 января 2013, 2:53:56 PM   # 12
 
 
Сообщения: 539
Цитировать по имени
цитировать ответ
по умолчанию Re: истощение выборки памяти операций Устанавливаются атаки (TFMEA)

Дай мне testnet адрес пришлю 16000 TN BTC, не стесняйтесь, чтобы увидеть, если вы можете запустить его там. (Edit:. Увидев это сообщение, казалось мне, что я мог прозвучать пренебрежительно там- это не мое намерение, я просто предлагая помочь с PoCing его на testnet)
ОК. Я буду, когда у меня есть свободное время. Подготовьте свои окна, чтобы мусор! 
Sergio_Demian_Lerner сейчас офлайн Пожаловаться на Sergio_Demian_Lerner   Ответить с цитированием Мультицитирование сообщения от Sergio_Demian_Lerner Быстрый ответ на сообщение Sergio_Demian_Lerner

9 января 2013, 4:17:56 PM   # 13
 
 
Сообщения: 1652
Цитировать по имени
цитировать ответ
по умолчанию Re: истощение выборки памяти операций Устанавливаются атаки (TFMEA)

Да, пожалуйста, доказательство правильности концепции на testnet.

Я подозреваю, что этот код в CTransaction :: GetMinFee () делает атаки либо медленнее или дороже, чем оценить, потому что плата за увеличение сделок больше, чем 250Kbytes:

Код:
   // Поднять цену как блок приближается к полному                                                                                              
    если (nBlockSize! = 1 && nNewBlockSize >= MAX_BLOCK_SIZE_GEN / 2)
    {
        если (nNewBlockSize >= MAX_BLOCK_SIZE_GEN)
            вернуться MAX_MONEY;
        nMinFee * = MAX_BLOCK_SIZE_GEN / (MAX_BLOCK_SIZE_GEN - nNewBlockSize);
    }

Я не думаю, что эти уязвимости достаточно серьезные, чтобы оправдать Official CVE номер, потому что я думаю, что если мы создаем номера CVE для каждого дорогих в крепление, легко извлекаемый-от DoS-уязвимости мы будем отказ в сервисно ИНГ концентрации внимания пользователей, и они могут начать игнорируя предупреждения.
Гэвин Андресен сейчас офлайн Пожаловаться на Гэвин Андресен   Ответить с цитированием Мультицитирование сообщения от Gavin Andresen Быстрый ответ на сообщение Гэвин Андресен

9 января 2013, 8:45:39 PM   # 14
 
 
Сообщения: 539
Цитировать по имени
цитировать ответ
по умолчанию Re: истощение выборки памяти операций Устанавливаются атаки (TFMEA)

Да, пожалуйста, доказательство правильности концепции на testnet.

Я подозреваю, что этот код в CTransaction :: GetMinFee () делает атаки либо медленнее или дороже, чем оценить, потому что плата за увеличение сделок больше, чем 250Kbytes:
Да ваши права. Всякий раз, когда я сказал, 488 Кбайт, прочитать 245 кбайт. Это не изменится ситуация. Или использовать 488 Кбайт операции и удвоить сборы, уплаченные.

Я не думаю, что эти уязвимости достаточно серьезные, чтобы оправдать Official CVE номер, потому что я думаю, что если мы создаем номера CVE для каждого дорогих в крепление, легко извлекаемый-от DoS-уязвимости мы будем отказ в сервисно ИНГ концентрации внимания пользователей, и они могут начать игнорируя предупреждения.

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

9 января 2013, 9:19:32 PM   # 15
 
 
Сообщения: 597
Цитировать по имени
цитировать ответ
по умолчанию Re: истощение выборки памяти операций Устанавливаются атаки (TFMEA)

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

10 января 2013, 1:37:15 PM   # 16
 
 
Сообщения: 676
Цитировать по имени
цитировать ответ
по умолчанию Re: истощение выборки памяти операций Устанавливаются атаки (TFMEA)

котировка
Затем злоумышленник может построить сделку, которая требует 2 Гб оперативной памяти для обработки, то ссылки на каждый из 2000 крупных сделок.
Все клиенты Windows, обработка этой транзакции будут сегментация. Узлы должны обновить восстановить.

Я создал небольшой патч, который позволяет Bitcoin-qt.exe на Windows, чтобы использовать до 3GB оперативной памяти на x86 Windows, и до 4 Гб оперативной памяти на 64-разрядных Windows. Это не будет препятствовать атаке, но должны сделать его более дорогим, не так ли?

https://github.com/bitcoin/bitcoin/pull/2167

Изменить: Где CTransaction :: FetchInputs в текущем хозяине? Кажется, есть только 4 комментариев ссылаются к нему (в main.h).

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

10 января 2013, 2:09:09 PM   # 17
 
 
Сообщения: 539
Цитировать по имени
цитировать ответ
по умолчанию Re: истощение выборки памяти операций Устанавливаются атаки (TFMEA)

Я создал небольшой патч, который позволяет Bitcoin-qt.exe на Windows, чтобы использовать до 3GB оперативной памяти на x86 Windows, и до 4 Гб оперативной памяти на 64-разрядных Windows. Это не будет препятствовать атаке, но должны сделать его более дорогим, не так ли?

Правильно

https://github.com/bitcoin/bitcoin/pull/2167

Изменить: Где CTransaction :: FetchInputs в текущем хозяине? Кажется, есть только 4 комментариев ссылаются к нему (в main.h).

диаметр

Версия 0.8 клиента Satoshi использует другой метод для обработки транзакций, так FetchINputs () нет больше.
И это, вероятно, защищены от этой конкретной атаки. Я собираюсь рассмотреть новый код.
Sergio_Demian_Lerner сейчас офлайн Пожаловаться на Sergio_Demian_Lerner   Ответить с цитированием Мультицитирование сообщения от Sergio_Demian_Lerner Быстрый ответ на сообщение Sergio_Demian_Lerner

10 января 2013, 6:15:28 PM   # 18
 
 
Сообщения: 539
Цитировать по имени
цитировать ответ
по умолчанию Re: истощение выборки памяти операций Устанавливаются атаки (TFMEA)

Версия 0.8 клиента Satoshi использует другой метод для обработки транзакций, так FetchINputs () нет больше.
И это, вероятно, защищены от этой конкретной атаки. Я собираюсь рассмотреть новый код.

Я рассмотрел текущую ветвь Master (который является основой выпуска 0.8) и обнаружил, что уязвимость по-прежнему присутствует.
- tx.HaveInputs (вид) в CTxMemPool :: принимает () извлекает сжатый формат всех операций, отнесенной prevouts.

Основное отличие заключается в том, что упомянутые prevouts не должны были потрачены.

Ни один из 4 возможных атак, перечисленных не требует prevouts тратиться. Поскольку Attacke получают путем направления крупных сделок, и эти операции содержат множество выходов, чтобы сделать их большими, они почти несжимаема с классом CTxOutCompressor.

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

0,8 код Pieter основан на предположении, что транзакции становятся короче, как выходы получают потребляются во время.
Наступление TFMEA использует транзакцию, ссылаться на родительские сделки, которые не имеют ни одного из своих выходов, потраченных, поэтому в основном сжатие не может быть применено.
Даже если сделка расчленена на независимую кэшированной prevouts (вместо одного CCoins для всей сделки), то злоумышленник может создать нестандартную операцию с одним prevout с огромным выходным сценарием. Это уменьшает 4 атаки TFMEA для атакующего, способных выдавать нестандартные операции в блоках (что возможно сегодня, используя прямые соединения шахтеров).

Мой вывод: полностью активная и формально доказуема мера защиты от истощения памяти атак в обработке транзакций будет уменьшить максимальный размер сделки до 100 Кбайт или так. Это позволит сократить как ОЗУ, необходимое для загрузки каждого prevout и количество prevouts транзакция может запросить, на общую сумму до 200 Мбайт.

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

EDIT: Видимо уменьшая размер макс Tx НЕ hardfork но softfork ("изменения, которые строго уменьшить набор допустимых вещей" (Gmaxwell, 2013))

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

Я призываю людей к голос для уменьшения максимального размера сделки от 1 Мб до 100 Кбайт.
"Это один маленький шаг для Bitcoin сейчас, один гигантский скачок для своего будущего"

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

10 января 2013, 8:52:13 PM   # 19
 
 
Сообщения: 676
Цитировать по имени
цитировать ответ
по умолчанию Re: истощение выборки памяти операций Устанавливаются атаки (TFMEA)

Я в общей сложности Newb с точкой зрения основных внутренних, так что позвольте мне спросить, если бы недостаток в снижении ОГО размера на предложенном вами значение.
Другой, возможно, тупой вопрос, почему все эти операции должны быть в памяти?

Спасибо, если вы потратите время, чтобы просветить меня немного.

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

10 января 2013, 9:39:56 PM   # 20
 
 
Сообщения: 539
Цитировать по имени
цитировать ответ
по умолчанию Re: истощение выборки памяти операций Устанавливаются атаки (TFMEA)

Я в общей сложности Newb с точкой зрения основных внутренних, так что позвольте мне спросить, если бы недостаток в снижении ОГО размера на предложенном вами значение.

ИМХО, нет недостатков.

Единственная цель, я могу себе представить, для 1mB сделок, созданных для смешивания монет из 20K различных источников, чтобы вскрывать их. Но то же самое может быть достигнуто с помощью 10 небольших сделок. Может быть, 1 Мб сделка может быть использована для краудфандинга от 10K пользователей, в финансировании все из-ничего, хотя я не знаю, если в данный момент протокол Bitcoin позволяет такую ​​вещь.

Доводы для ограничения размера Tx много, кроме вопроса потребления памяти во время обработки Tx:

- Уменьшение задержек в сети, что позволяет проверку частично принятых блоков.
- Уменьшить поверхность DoS, ограничивая объем данных, который должен быть послан, чтобы обнаружить недопустимое Tx.
- Уменьшить поверхность DoS, путем ограничения памяти, необходимую для пула в памяти.
- Уменьшить поверхность DoS, за счет уменьшения максимального числа сигнатур проверок, требуемых любым Tx.

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

Нет, они не должны быть. Все может быть сериализации. Умный редизайн кода обработки ТХ может использовать prevout кэш для хранения только небольшое подмножество из них в памяти в любое время. 0,8 код Pieter является правильное направление.

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

Я должен сказать, что большинство других переменных, которые могут потреблять ресурсы были сильно ограничены (например, максимальное количество подписей поверок, свойства "стандарт" операции и т.д.)
Sergio_Demian_Lerner сейчас офлайн Пожаловаться на Sergio_Demian_Lerner   Ответить с цитированием Мультицитирование сообщения от Sergio_Demian_Lerner Быстрый ответ на сообщение Sergio_Demian_Lerner



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW