Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
1 июля 2014, 2:22:25 PM   # 1
 
 
Сообщений: 72
Цитировать по имени
цитировать ответ
по умолчанию Re: Chunked скачать масштабируемость

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


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

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

Если я правильно, что это может работать, то Merkle корень столкновения (CVE-2012-2459) немного неприятностей, чтобы иметь дело с. Были ли какие-либо разговоры о решении этой ошибки, когда мы в конце концов трудно вилка, чтобы для большего размера блока? Я думаю, используя хэш 0 на правой стороне спаривания будет работать, в отличии от дублирования текущего хэша, чтобы получить пару.
pmlyon сейчас офлайн Пожаловаться на pmlyon   Ответить с цитированием Мультицитирование сообщения от pmlyon Быстрый ответ на сообщение pmlyon


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


1 июля 2014, 4:13:02 PM   # 2
 
 
Сообщения: 247
Цитировать по имени
цитировать ответ
по умолчанию Re: Chunked скачать масштабируемость

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





Это сделало бы DoS атаки намного проще: вместо затопления сети с дорогими сделками, вы можете затопить сеть с ничтожными блоками (те, которые на самом деле не соответствуют целевой трудности). Поскольку никто не может сказать, что это недопустимое, прежде чем они получили все это, честные узлы будут обмануты в ретрансляции большой части блока нежелательного.
TIMS сейчас офлайн Пожаловаться на TIMS   Ответить с цитированием Мультицитирование сообщения от TIMS Быстрый ответ на сообщение TIMS

1 июля 2014, 4:28:49 PM   # 3
 
 
Сообщений: 72
Цитировать по имени
цитировать ответ
по умолчанию Re: Chunked скачать масштабируемость

Заголовки на самом деле заботиться о том, что, так как они должны быть добыты в любом случае. Вы должны были бы иметь тонну горной мощности и тратить все это осуществить такую ​​атаку.
pmlyon сейчас офлайн Пожаловаться на pmlyon   Ответить с цитированием Мультицитирование сообщения от pmlyon Быстрый ответ на сообщение pmlyon

1 июля 2014, 6:53:52 PM   # 4
 
 
Сообщения: 2366
Цитировать по имени
цитировать ответ
по умолчанию Re: Chunked скачать масштабируемость

Я не знаю, почему вы думаете, это было бы все, что выгодно.

Вы до сих пор не может принять&подключите блок без всего этого, и вы не можете проверить более поздние части блока без предыдущих частей (как блоки очень часто проводят txouts созданный в одном блоке) - если вы хотите, вместо того, чтобы пересылать блоки без проверки их, вы можете сделать что без CHUNKING. Это было реализовано некоторое время назад для эталонного программного обеспечения в тяговой REQ Лукой, но оказалось, что на самом деле не улучшить производительность много (особенно после того, как кэширование ECDSA пошел).
gmaxwell сейчас офлайн Пожаловаться на gmaxwell   Ответить с цитированием Мультицитирование сообщения от gmaxwell Быстрый ответ на сообщение gmaxwell

1 июля 2014, 6:57:30 PM   # 5
 
 
Сообщений: 72
Цитировать по имени
цитировать ответ
по умолчанию Re: Chunked скачать масштабируемость

Cегодня? Не за что. То, что я думал о том, хотя, если у нас есть что-то вроде 1 ГБ блоков. Схема, как это может позволить сверстникам начать обмен блока по всей сети без необходимости сначала ждать, чтобы загрузить весь блок. Я стараюсь думать о том, как мы могли бы сократить время ожидания, участвующее в получении огромных блоков из всей сети.

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

3 июля 2014, 1:28:21 PM   # 6
 
 
Сообщений: 72
Цитировать по имени
цитировать ответ
по умолчанию Re: Chunked скачать масштабируемость

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

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

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

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

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

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

3 июля 2014, 4:42:24 PM   # 7
 
 
Сообщения: 1218
Цитировать по имени
цитировать ответ
по умолчанию Re: Chunked скачать масштабируемость

Реальность состоит в том, что оптимально узлы должны уже иметь все (или, по крайней мере, большинство) txns, которые составляют новый блок. Txns распространяются сети независимо друг от друга блоков. Сообщение текущий блок является самым простым, но Подход также является наиболее эффективным. Большая часть времени, когда ваш узел получает новый блок, он является 99% + информацией у вас уже есть. Хорошая новость заключается в том, что протокол может быть более эффективным. Блоки, хранящиеся на диске, состоит из заголовка и массива txns. Сегодня сообщение блок, по существу, тот же формат, но он не должен быть.  Блокировать сообщения для новых блоков может состоять только из заголовка, в coinbase TXN и массив TxIds.  Средний TXN составляет ~ 600 байт и TXID составляет 32 байт, так что бы снизить требования к пропускной способности сообщения блока до 95%.

Узлы будут обрабатывать новые блоки в несколько ином образе:
1) Получение нового блока сообщения.
2) информация заголовка Подтвердить
3) Проверка хэш-блок соответствует целевой сложности.
4) Построить и проверить дерево Merkle (нужно только хеши).
5) Сканирование локального пула памяти для TxIds в дереве Merkle.
  а) если он отсутствует txns он запрашивает те, с помощью TXID от других узлов (как минимум однорангового узла получил от blockheader должны иметь недостающую TXN (ов)).
  б) Проверка нового txns.
  в) Реле нового txns по отношению к аналогам.
6) Узел строит блок и записать его на локальный blockchain и передает сообщение на блок-аналоги.

В любой момент, если проверка не останавливается узел. Это предотвращает вредоносные узлы из составляющих фиктивных блоков без завершения Pow (что было бы бессмысленно). Оптимально протокол позволит шахтерам вероятностно включать полный TxN из txns, которые вряд ли будут в пуле памяти сверстников. Таким образом, сообщение блок может состоять из всех txns или всех TxIds или любой комбинации между ними. Все это потребует изменения в протокол, но они могли бы быть сделаны в обратной совместимости.
DeathAndTaxes сейчас офлайн Пожаловаться на DeathAndTaxes   Ответить с цитированием Мультицитирование сообщения от DeathAndTaxes Быстрый ответ на сообщение DeathAndTaxes

3 июля 2014, 5:30:28 PM   # 8
 
 
Сообщений: 72
Цитировать по имени
цитировать ответ
по умолчанию Re: Chunked скачать масштабируемость

Спасибо, я тоже задавался вопросом о делать что-то подобное.

В конструкции, что у меня есть, это будет выглядеть примерно так, после шага 3:

1) Открыть поток для проверки нового блока
2) Открыть поток для записи блока на диск
3) Откройте поток, чтобы загрузить список блоков ТХ хэшей
3а) Это может необязательно использовать идею я выше, за исключением того, что доказывает, что куски ТХ хэш составляют блок, как вы захватить их. Может быть излишними, и вы хотите сделать больше, чем 512, в то время, так как только ТЕ хэш намного меньше.
4) Начать чтение из ОГО хэша потока и отвинтить запросы на любой недостающий txes, направить txes в поток блока пишущего, чтобы, как они приходят в.
5) Как txes получить потоковом в блок, который затем получает потоковую в блоке валидатор.
6) проверка дважды проводит является единственной последовательной частью проверки подлинности, как блок потоков через него. Подняв предыдущие выходы ТХ и проверку скриптов выполняются полностью параллельно, и может быть натянут на несколько дисков & ЦП. Если вы уже подтверждены ТХ вне блока, вы можете просто пропустить его здесь.
7) После того, как все закончили потоковую до конца, и никаких ошибок не произошло, совершить.

Если вы используете 3a, вы можете передавать в 4, прежде чем вы захватил все ТЕ хэш. Если вы этого не сделаете, вы должны получить их все и проверить Merkle корня первым, чтобы убедиться, что у вас есть правильный список хэша.
pmlyon сейчас офлайн Пожаловаться на pmlyon   Ответить с цитированием Мультицитирование сообщения от pmlyon Быстрый ответ на сообщение pmlyon

3 июля 2014, 5:37:45 PM   # 9
 
 
Сообщения: 2366
Цитировать по имени
цитировать ответ
по умолчанию Re: Chunked скачать масштабируемость

Блокировать сообщения для новых блоков может состоять только из заголовка, в coinbase TXN и массив TxIds.
P2Pool уже делает это для своих собственных блоков. Проблема в более общем случае является то, что вы не знаете, что другие операции дальнего конца знает (по крайней мере, не полностью), и если вам нужно дополнительное RTT для извлечения операций конечным результатом является то, что блок занимает больше времени, чтобы передать, чем просто отправив данные в первую очередь. Таким образом, с точки зрения сокращения блока сиротой и такие, что не было бы победы. (Это работает лучше в случае p2pool, так как узлы сами добывающие и может быть уверено, чтобы иметь заранее пересылаются какой-либо сделка они будут моими)

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

3 июля 2014, 6:46:10 PM   # 10
 
 
Сообщений: 72
Цитировать по имени
цитировать ответ
по умолчанию Re: Chunked скачать масштабируемость

Блокировать сообщения для новых блоков может состоять только из заголовка, в coinbase TXN и массив TxIds.
P2Pool уже делает это для своих собственных блоков. Проблема в более общем случае является то, что вы не знаете, что другие операции дальнего конца знает (по крайней мере, не полностью), и если вам нужно дополнительное RTT для извлечения операций конечным результатом является то, что блок занимает больше времени, чтобы передать, чем просто отправив данные в первую очередь. Таким образом, с точки зрения сокращения блока сиротой и такие, что не было бы победы. (Это работает лучше в случае p2pool, так как узлы сами добывающие и может быть уверено, чтобы иметь заранее пересылаются какой-либо сделка они будут моими)

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

Является ли это ссылка, которую вы имеете в виду? https://en.bitcoin.it/wiki/User:Gmaxwell/block_network_coding

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

3 июля 2014, 7:45:00 PM   # 11
 
 
Сообщений: 72
Цитировать по имени
цитировать ответ
по умолчанию Re: Chunked скачать масштабируемость

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

4 июля 2014, 2:12:53 AM   # 12
 
 
Сообщения: 2366
Цитировать по имени
цитировать ответ
по умолчанию Re: Chunked скачать масштабируемость

Что я и добиваюсь с потоковым, чтобы попытаться помочь уменьшить задержку. Так что, если он занимает 10 секунд, чтобы загрузить блок и 20, чтобы проверить, он должен принять вас 20 секунд всего сделать оба. Если это займет у вас 30 секунд, чтобы загрузить и 10 для проверки, то она должна вам 30 секунд, чтобы сделать оба.
Если что-то странное не произошло это занимает ~ нет времени больше, чтобы проверить новый блок на кончике его почти сотовой сети все уже подтверждено, когда вы его получите.
gmaxwell сейчас офлайн Пожаловаться на gmaxwell   Ответить с цитированием Мультицитирование сообщения от gmaxwell Быстрый ответ на сообщение gmaxwell

4 июля 2014, 2:43:19 AM   # 13
 
 
Сообщений: 72
Цитировать по имени
цитировать ответ
по умолчанию Re: Chunked скачать масштабируемость

Что я и добиваюсь с потоковым, чтобы попытаться помочь уменьшить задержку. Так что, если он занимает 10 секунд, чтобы загрузить блок и 20, чтобы проверить, он должен принять вас 20 секунд всего сделать оба. Если это займет у вас 30 секунд, чтобы загрузить и 10 для проверки, то она должна вам 30 секунд, чтобы сделать оба.
Если что-то странное не произошло это занимает ~ нет времени больше, чтобы проверить новый блок на кончике его почти сотовой сети все уже подтверждено, когда вы его получите.

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

4 июля 2014, 3:34:35 AM   # 14
 
 
Сообщения: 2366
Цитировать по имени
цитировать ответ
по умолчанию Re: Chunked скачать масштабируемость

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

4 июля 2014, 12:36:23 PM   # 15
 
 
Сообщений: 72
Цитировать по имени
цитировать ответ
по умолчанию Re: Chunked скачать масштабируемость

Да, это определенно не займет много времени на сегодняшний размер блока, я просто думать вперед, когда они гораздо больше. Я пытаюсь придумать дизайн ядра, который способен элегантно обрабатывать большие блоки, если сеть попадает в точку, где используются большие блоки.
Извините, если я не был, очищающим Это не должно занять много времени, независимо от размера, потому что большинство сделок в блоке уже проверено и ждет в mempool. Перед тем как программное обеспечение кэшируются, что проверка была принимать достаточное количество времени, но не больше. Получение большей части проверки от чувствительного к задержкам критического пути является большим шагом.

Ааа, я вижу, что вы говорите. Я, безусловно, будет иметь возможность воспользоваться тем, что, как хорошо, что позволит всем работать на одной и той же скоростью, что и ядро ​​потратил / неизрасходованный обновление UTXO, так как все работы его в очередь до проверить, будет уже сделано. Это основной кусок я могу запустить более 10000 ТПС (SSD), и все предварительно проверка может быть сделано с помощью нескольких отдельных дисков, над которым натянуты данные блока. Я пытаюсь извлечь как можно больше параллелизма от обработки, как я могу, и позволяет добавлять диски увеличить скорость ввода / вывод, если это становится проблемой.
pmlyon сейчас офлайн Пожаловаться на pmlyon   Ответить с цитированием Мультицитирование сообщения от pmlyon Быстрый ответ на сообщение pmlyon



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW