Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
4 мая 2013, 3:53:59 PM   # 1
 
 
Сообщения: 994
Цитировать по имени
цитировать ответ
по умолчанию Re: уникальный идентификатор транзакции

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


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

Видимо сделки с таким же хэш может появиться в разных блоках.

Что о txhash + block_number?

Можно ли иметь сделки с той же хэш в одном блоке? BIP 30 ничего об этом не говорят, но, возможно, он упоминается в другом правиле.

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


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


4 мая 2013, 4:11:21 PM   # 2
kjj
 
 
Сообщения: 1302
Цитировать по имени
цитировать ответ
по умолчанию Re: уникальный идентификатор транзакции

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





{Blockhash, индекс} является уникальным. Как бы {blockhash, transactionhash} или даже {transactionhash, blockheight}.
kjj сейчас офлайн Пожаловаться на kjj   Ответить с цитированием Мультицитирование сообщения от kjj Быстрый ответ на сообщение kjj

4 мая 2013, 4:12:32 PM   # 3
 
 
Сообщения: 154
Цитировать по имени
цитировать ответ
по умолчанию Re: уникальный идентификатор транзакции

Можно ли иметь сделки с той же хэш в одном блоке? BIP 30 ничего об этом не говорят, но, возможно, он упоминается в другом правиле.
Это на самом деле просто такое же правило. Вы не можете иметь 2 живых сделок (те с неизрасходованных выходами) с той же хэш. Видеть https://github.com/bitcoin/bitcoin/blob/master/src/main.cpp#L2105.

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


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

4 мая 2013, 4:30:37 PM   # 4
 
 
Сообщения: 994
Цитировать по имени
цитировать ответ
по умолчанию Re: уникальный идентификатор транзакции

Это на самом деле просто такое же правило. Вы не можете иметь 2 живых сделок (те с неизрасходованных выходами) с той же хэш.

Нет, это другое правило.

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


Хм, это интересно. Это в основном говорит, что "Это улавливается ConnectInputs ()", Но это?

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

Поэтому вполне возможно, что линия 2105 это правило, сама по себе ...


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

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

4 мая 2013, 4:34:13 PM   # 5
 
 
Сообщения: 994
Цитировать по имени
цитировать ответ
по умолчанию Re: уникальный идентификатор транзакции

{Blockhash, индекс} является уникальным. Как бы {blockhash, transactionhash} или даже {transactionhash, blockheight}.

Благодарю. {Transactionhash, blockheight} является то, что я хотел использовать, но не был уверен.
killerstorm сейчас офлайн Пожаловаться на killerstorm   Ответить с цитированием Мультицитирование сообщения от killerstorm Быстрый ответ на сообщение killerstorm

4 мая 2013, 4:53:00 PM   # 6
kjj
 
 
Сообщения: 1302
Цитировать по имени
цитировать ответ
по умолчанию Re: уникальный идентификатор транзакции

{Blockhash, индекс} является уникальным. Как бы {blockhash, transactionhash} или даже {transactionhash, blockheight}.

Благодарю. {Transactionhash, blockheight} является то, что я хотел использовать, но не был уверен.

Я собирался добавить, что {transactionhash, blockheight} нуждается в специальной обработке для реорганизации;, но на самом деле, все это делать в любом случае.

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

4 мая 2013, 4:56:12 PM   # 7
 
 
Сообщения: 1148
Цитировать по имени
цитировать ответ
по умолчанию Re: уникальный идентификатор транзакции

Благодарю. {Transactionhash, blockheight} является то, что я хотел использовать, но не был уверен.

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

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

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

4 мая 2013, 6:38:24 PM   # 8
 
 
Сообщения: 154
Цитировать по имени
цитировать ответ
по умолчанию Re: уникальный идентификатор транзакции

Но можно создать транзакцию и провел все свои выходы в одном блоке, не так ли? Таким образом, эта сделка не будет жить.
Хех, хороший момент!


Хм, это интересно. Это в основном говорит, что "Это улавливается ConnectInputs ()", Но это?
Короткий ответ: Нет.
Более длинный ответ: "ConnectInputs () больше не существует в коде. Он никогда явно не проверяется на наличие дубликатов, потому что это была проверка одной транзакции, поэтому он не мог знать о других операциях в блоке. Однако, если операции дублируют то обновление набора UTXO потерпит неудачу (предположительно, что это значит). Если истинное столкновение различных сделок это не так (насколько я могу судить).
То же самое верно теперь, код только что переехал в CheckInputs и UpdateCoins.
Zeilap сейчас офлайн Пожаловаться на Zeilap   Ответить с цитированием Мультицитирование сообщения от Zeilap Быстрый ответ на сообщение Zeilap



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW