Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
6 апреля 2016, 12:05:16 PM   # 1
 
 
Сообщений: 17
Цитировать по имени
цитировать ответ
по умолчанию Re: Почему протокол Bitcoin отправки транзакций в два раза?

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


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
TL; ДР: Почему транзакции (240 байт) добавляются в блоке теле, вместо SHA256 хэша (256 бит) сделок?

Из того, что я понимаю, сделка (около 240 байт) является «транслировалось» на все в сети через INV-сообщения. Шахтер собирает сделки, и добавляет 1 или более в блоке (корпус). После нахождения хэша, шахтер «передает блок (заголовок и тело). По сути, операции отправки дважды. Первая фактическая сделка, во-вторых, аккумулированной набор операций.

Если через операцию транслируются и каждый получает сделку, то почему бы не добавить хэш (256 бит) транзакции в блоке теле? Время распространения блока будет аналогичным, количество сделок отправить в блоке увеличивается с коэффициентом 8-МОГЛИ.

Одним из аргументов может быть, что не все mempools синхронизируются. Однако, если предположить, что операции транслируются гораздо быстрее, чем блок, часть набора правил может быть, что шахтер только может создать блок из операций получили. На практике, если шахтер посылает блок своим прямым аналогам (в P2P сети), и транзакция не известна этими узлами, чем блок не является действительным. Так как время создания блока 10 минут (в среднем), операции, добавленные к блоку имеют достаточно времени, чтобы распространяться.
fevirfevir сейчас офлайн Пожаловаться на fevirfevir   Ответить с цитированием Мультицитирование сообщения от fevirfevir Быстрый ответ на сообщение fevirfevir


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


6 апреля 2016, 12:10:08 PM   # 2
 
 
Сообщения: 1400
Цитировать по имени
цитировать ответ
по умолчанию Re: Почему протокол Bitcoin отправки транзакций в два раза?

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





Вы, вероятно, хотите, чтобы прочитать это -> https://gist.github.com/gavinandresen/e20c3b5a1d4b97f79ac2

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

6 апреля 2016, 12:16:35 PM   # 3
 
 
Сообщения: 1862
Цитировать по имени
цитировать ответ
по умолчанию Re: Почему протокол Bitcoin отправки транзакций в два раза?

Основная причина, почему это не очень устроиств возможно на данный момент из-за ТЕ иды пластичности (как подпись ECDSA включена в ОМ идентификаторе и то же ОЕ может быть подписана с другой действительной подписью, поскольку ECDSA подход, используемым в значительной степени всех Bitcoin бумажники включает в себя "случайный" номер).

Введение SegWit избавляется от этой проблемы путем удаления информации подписи от ОГО (предусмотрено отдельно в "блок свидетель"), Так как только это на месте можно будет сделать вид сокращения размера полосы пропускания вы предлагаете (и планируется).

Это не означает, что такой подход не может быть использован в настоящее время - но он может быть подвержен атакам в то время как остатки выпуска податливость ТХ Ид (есть и другие преимущества для удаления податливость, а вот почему SegWit выше приоритет на данном этапе ).
CIYAM сейчас офлайн Пожаловаться на CIYAM   Ответить с цитированием Мультицитирование сообщения от CIYAM Быстрый ответ на сообщение CIYAM

6 апреля 2016, 1:16:04 PM   # 4
 
 
Сообщения: 412
Цитировать по имени
цитировать ответ
по умолчанию Re: Почему протокол Bitcoin отправки транзакций в два раза?

Потому что ваш узел запрашивает их в два раза.

Недавно вещать сделка должна быть загружена & проверено. То же самое с новыми блоками. Вы не можете знать, какие транзакции внутри блока без загрузки блока. Ergo, вы запрашиваете его дважды.

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

Ответ * это *, что не все mempools синхронизируются. Mempools не последовательна, и шахтер может иметь специальные механизмы для минных операций, которые не опубликованы в течение p2p сети (отсюда особая аранжировка).

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

6 апреля 2016, 2:30:36 PM   # 5
 
 
Сообщения: 210
Цитировать по имени
цитировать ответ
по умолчанию Re: Почему протокол Bitcoin отправки транзакций в два раза?

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

6 апреля 2016, 6:16:01 PM   # 6
 
 
Сообщений: 17
Цитировать по имени
цитировать ответ
по умолчанию Re: Почему протокол Bitcoin отправки транзакций в два раза?

Вы, вероятно, хотите, чтобы прочитать это -> https://gist.github.com/gavinandresen/e20c3b5a1d4b97f79ac2

Спасибо, интересно читать.

Основная причина, почему это не очень устроиств возможно на данный момент из-за ТЕ иды пластичности (как подпись ECDSA включена в ОМ идентификаторе и то же ОЕ может быть подписана с другой действительной подписью, поскольку ECDSA подход, используемым в значительной степени всех Bitcoin бумажники включает в себя "случайный" номер).

Понимаю. Так что, если я это правильно, это может привести к двойному расходов, путем создания двух аналогичных (входы, выходы # монет) сделок с отдельными txids?

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

7 апреля 2016, 6:06:50 AM   # 7
 
 
Сообщения: 1778
Цитировать по имени
цитировать ответ
по умолчанию Re: Почему протокол Bitcoin отправки транзакций в два раза?

Если через операцию транслируются и каждый получает сделку, то почему бы не добавить хэш (256 бит) транзакции в блоке теле? Время распространения блока будет аналогичным, количество сделок отправить в блоке увеличивается с коэффициентом 8-МОГЛИ.

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

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

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

Просто подумайте о конкретной ситуации:
Ваш узел получает уведомление объявляя новый блок. Вы знаете, что это новый блок, но вы еще не знаете, какие транзакции внутри нее. Таким образом, вы должны спросить пира, кто знает, что блок уже в списке tx_ids внутри него - лучший сценарий, он вернется после того, как время пинг, плюс время, необходимое для передачи данных (которые часто будут превышать 100 КБ).
Теперь, имея список tx_ids уже, то есть вероятность, что вам будет не хватать некоторых передатчиках и вам нужно будет просить партнёра для них. Для этого требуется другое время звона плюс время для передачи данных обратно - и это проблема.

То, что я хочу сказать, что в этом случае вам нужно два запрос на приобретение содержания блока: первый для Txs списка, второй для передатчиков вы не знали.
Вы не можете сделать эти два параллельно - нужно proocess ответа на первый запрос, выдать вторую.

И в настоящее время требуется только один запрос: просить весь блок, со всеми операциями.

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

7 апреля 2016, 12:14:03 PM   # 8
 
 
Сообщений: 28
Цитировать по имени
цитировать ответ
по умолчанию Re: Почему протокол Bitcoin отправки транзакций в два раза?


Основная причина, почему это не очень устроиств возможно на данный момент из-за ТЕ иды пластичности (как подпись ECDSA включена в ОМ идентификаторе и то же ОЕ может быть подписана с другой действительной подписью, поскольку ECDSA подход, используемым в значительной степени всех Bitcoin бумажники включает в себя "случайный" номер).

Понимаю. Так что, если я это правильно, это может привести к двойному расходов, путем создания двух аналогичных (входы, выходы # монет) сделок с отдельными txids?



Нет. Это не может произойти. Только одна из операций могут быть добавлены к blockchain.

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

В более эзотерическом использовании Bitcoin это иногда необходимо создавать и presign операции, которые проводят от сделок, которые до сих пор не транслируются. Это известно как сцепление.

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

7 апреля 2016, 7:56:49 PM   # 9
 
 
Сообщений: 17
Цитировать по имени
цитировать ответ
по умолчанию Re: Почему протокол Bitcoin отправки транзакций в два раза?

Нет. Это не может произойти. Только одна из операций могут быть добавлены к blockchain.

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

В более эзотерическом использовании Bitcoin это иногда необходимо создавать и presign операции, которые проводят от сделок, которые до сих пор не транслируются. Это известно как сцепление.

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

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



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW