Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
6 июня 2017, 7:44:48 AM   # 1
 
 
Сообщений: 40
Цитировать по имени
цитировать ответ
по умолчанию Re: Как использовать OP_CHECKSEQUENCEVERIFY

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


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

Я в настоящее время изучаю (OP_CSV) опкод OP_CHECKSEQUENCEVERIFY и пытаюсь создать транзакции вручную. Я имею эту конструкцию

OP_IF
   2 [Публичные А] [Публичный В] 2 OP_CHECKMULTISIG
OP_ELSE
   [CSV ЗНАЧЕНИЕ] OP_NOP3 OP_DROP
   OP_DUP OP_HASH160 [PUBKEYHASH B] OP_EQUALVERIFY OP_CHECKSIG
OP_ENDIF

До сих пор мне удалось дорожа P2SH ТХ выше через multisignature (OP_IF .. блок). Но у меня есть проблемы при погашении сделки через блок OP_ELSE .. OP_ENDIF, который когда OP_CSV оценивается. Я установил [CSV VALUE] для 0x0A в шестнадцатеричном формате (или 10 в десятичной системе).

Моя текущая работа должна была установить nSequence и переменные nLockTime быть больше, чем значение CSV. Я создал сырец ОГО выкупить OP_CSV следующий

01000000010c3e18ff26e98ba39381c84d2fb9e8e198e63d0b3697f9bd57f63577c96da23f00000 000d5483045022100fc4f7bfa3c536e743b02af8b7de5d4052f43db54f59692478b25c585b9df21 1a02203cfcfc0ed618fae6aa49b11e803ec4e5654551fb52fe2d026929f4a307fe2ef0012103d7c 6052544bc42eb2bc0d27c884016adb933f15576a1a2d21cd4dd0f2de0c37d004c67635221025e37 e03703f001de34123b513beaf0e4044a2dd39a1dd92ec1706f184920031a2103d7c6052544bc42e b2bc0d27c884016adb933f15576a1a2d21cd4dd0f2de0c37d52ae67010ab27576a914937fe2ee82 229d282edec2606c70e755875334c088ac680f0000000130750000000000001976a914937fe2ee8 2229d282edec2606c70e755875334c088ac0f000000

В сыре ОГО, я поставил nSequence до 15 и nLockTime до 15 (я знаю, что это не очень хорошая идея, но я в отчаянии).

Само сырье ТМ было отвергнуто во многих pushtx услуг, за исключением blockcypher, хотя это не было подтверждено в blockchain.
https://live.blockcypher.com/btc/tx/bcfbb172403ba73643ae02d40cac1332b75173d9726917dd8263a15ce365c012/

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


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


6 июня 2017, 4:26:22 PM   # 2
 
 
Сообщения: 1246
Цитировать по имени
цитировать ответ
по умолчанию Re: Как использовать OP_CHECKSEQUENCEVERIFY

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





Читайте BIP: https://github.com/bitcoin/bips/blob/master/bip-0112.mediawiki

Ваша транзакция должна иметь номер версии 2, а не 1. Там также может быть какой-то другой вопрос, но внимательно прочитать BIP, и вы сможете его найти.
achow101 сейчас офлайн Пожаловаться на achow101   Ответить с цитированием Мультицитирование сообщения от achow101 Быстрый ответ на сообщение achow101

7 июня 2017, 2:19:03 AM   # 3
 
 
Сообщений: 40
Цитировать по имени
цитировать ответ
по умолчанию Re: Как использовать OP_CHECKSEQUENCEVERIFY

Читайте BIP: https://github.com/bitcoin/bips/blob/master/bip-0112.mediawiki

Ваша транзакция должна иметь номер версии 2, а не 1. Там также может быть какой-то другой вопрос, но внимательно прочитать BIP, и вы сможете его найти.

Спасибо за ваш ответ.
Я пытался использовать версию 2. Я также прочитал БИП, и я полагаю, что одна только нужно установить переменную nSequence быть выше, чем значение OP_CSV, это означает, что он не имеет ничего общего с nLockTime. Все Failed.

Кто-то сказал мне, что это OP_CSV не в настоящее время активно mainnet.
sonicskye сейчас офлайн Пожаловаться на sonicskye   Ответить с цитированием Мультицитирование сообщения от sonicskye Быстрый ответ на сообщение sonicskye

7 июня 2017, 8:24:55 AM   # 4
 
 
Сообщения: 1778
Цитировать по имени
цитировать ответ
по умолчанию Re: Как использовать OP_CHECKSEQUENCEVERIFY

@sonicskye, я думаю, что ваше ОЕ провалив "минимальный толчок" проверить.
это какой-то сумасшедший материал, который (я думаю), как предполагается, чтобы предотвратить УЮ податливость - не спрашивайте меня об этом


но то, что вы должны изменить это место, где вы толкаете значение 10 в стек
вместо того, чтобы использовать {0x01, 0x0A}, вы должны использовать один 0x5A (OP_10)

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

7 июня 2017, 9:03:08 PM   # 5
 
 
Сообщений: 40
Цитировать по имени
цитировать ответ
по умолчанию Re: Как использовать OP_CHECKSEQUENCEVERIFY

@sonicskye, я думаю, что ваше ОЕ провалив "минимальный толчок" проверить.
это какой-то сумасшедший материал, который (я думаю), как предполагается, чтобы предотвратить УЮ податливость - не спрашивайте меня об этом


но то, что вы должны изменить это место, где вы толкаете значение 10 в стек
вместо того, чтобы использовать {0x01, 0x0A}, вы должны использовать один 0x5A (OP_10)

плюс, как уже было сказано ранее, вам нужна версия 2 или больше - то он будет работать.


Спасибо за ваш ответ. Я перепроверил мой сценарий, и он использует 0x01 0x0A вместо 0x5A.
Просто чтобы было ясно, в соответствии с Bitcoin Wiki (https://en.bitcoin.it/wiki/Script), Это значит, если нам нужно нажать номера 1-16, мы будем использовать OP_1 для OP_16?
sonicskye сейчас офлайн Пожаловаться на sonicskye   Ответить с цитированием Мультицитирование сообщения от sonicskye Быстрый ответ на сообщение sonicskye

8 июня 2017, 6:44:09 AM   # 6
 
 
Сообщения: 1778
Цитировать по имени
цитировать ответ
по умолчанию Re: Как использовать OP_CHECKSEQUENCEVERIFY

это значит, если нам нужно нажать номера 1-16, мы будем использовать OP_1 для OP_16?

Да, но и несколько других вещей, которые вы должны виду:

https://github.com/bitcoin/bitcoin/blob/master/src/script/interpreter.cpp#L223

https://github.com/bitcoin/bitcoin/blob/master/src/script/script.h#L226
piotr_n сейчас офлайн Пожаловаться на piotr_n   Ответить с цитированием Мультицитирование сообщения от piotr_n Быстрый ответ на сообщение piotr_n

8 июня 2017, 9:57:54 PM   # 7
 
 
Сообщения: 1260
Цитировать по имени
цитировать ответ
по умолчанию Re: Как использовать OP_CHECKSEQUENCEVERIFY

это значит, если нам нужно нажать номера 1-16, мы будем использовать OP_1 для OP_16?
Это не в p2sh Обязательное искупит скрипт использовать опкоды OP_0, OP_1 ... OP_16 вместо толчков
но сохраняет один байт на входе на каждый полный узел Биткойн
amaclin сейчас офлайн Пожаловаться на amaclin   Ответить с цитированием Мультицитирование сообщения от amaclin Быстрый ответ на сообщение amaclin

9 июня 2017, 11:09:55 AM   # 8
 
 
Сообщений: 40
Цитировать по имени
цитировать ответ
по умолчанию Re: Как использовать OP_CHECKSEQUENCEVERIFY

это значит, если нам нужно нажать номера 1-16, мы будем использовать OP_1 для OP_16?
Это не в p2sh Обязательное искупит скрипт использовать опкоды OP_0, OP_1 ... OP_16 вместо толчков
но сохраняет один байт на входе на каждый полный узел Биткойн

привет, это было время,  

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

9 июня 2017, 11:19:53 AM   # 9
 
 
Сообщения: 1260
Цитировать по имени
цитировать ответ
по умолчанию Re: Как использовать OP_CHECKSEQUENCEVERIFY

в любом случае, у вас есть какие-либо предложения по поводу этой проблемы OP_CSV? если нажим не имеет значения в OP_CSV
как вы сказали, он сохраняет только байты на вход. Я уже установил версию 2, то, что еще, я что-то пропустил?
Я не нырял глубоко в OP_CSV / OP_CLTV.
PM мне о вашей проблеме - это трудно для меня, чтобы внимательно прочитать все в этой теме
Может быть, я буду иметь возможность проверить его на следующей неделе.
amaclin сейчас офлайн Пожаловаться на amaclin   Ответить с цитированием Мультицитирование сообщения от amaclin Быстрый ответ на сообщение amaclin

9 июня 2017, 2:48:57 PM   # 10
 
 
Сообщения: 1778
Цитировать по имени
цитировать ответ
по умолчанию Re: Как использовать OP_CHECKSEQUENCEVERIFY

в любом случае, у вас есть какие-либо предложения по поводу этой проблемы OP_CSV? если нажим не имеет значения в OP_CSV, как вы сказали, он сохраняет только байты на вход. Я уже установил версию 2, то, что еще, я что-то пропустил?
Я только что сказал вам, что была проблема.
толкающий имеет значение!
почему бы вам просто не попробовать?

изменить версию ПРД 2 и {0x01,0x0a}, чтобы 0x5a внутри сценария расходов, и он будет работать.
Доверьтесь мне.

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

11 июня 2017, 5:39:30 AM   # 11
 
 
Сообщений: 40
Цитировать по имени
цитировать ответ
по умолчанию Re: Как использовать OP_CHECKSEQUENCEVERIFY

Я только что сказал вам, что была проблема.
толкающий имеет значение!
почему бы вам просто не попробовать?

изменить версию ПРД 2 и {0x01,0x0a}, чтобы 0x5a внутри сценария расходов, и он будет работать.
Доверьтесь мне.

Очевидно, вы не сможете провести существующий выход через условие другого.
потому что она содержит "нелегальный" выталкивает.
вам нужно сделать еще один адрес P2SH, для сценария с 5a (вместо 010А)

Ваше предложение было удивительным!

Мне удалось выкупить сделку (я создал новый P2SH скрипт без нажимного опкода).

https://blockchain.info/tx/4ba75dfe11988663cfcbbc8911eedee1f867d99fa744a6137e885315b3a073e1

OP_CSV проще по сравнению с OP_CLTV на мой взгляд, так как нам не нужно, чтобы установить nLockTime и вычислить конкретное время в будущем. Все, что нам нужно, это только nSequence с nSequence >= OP_CSV значение и установите версию ПРД 2. Высокий! Спасибо @piotr_n.
sonicskye сейчас офлайн Пожаловаться на sonicskye   Ответить с цитированием Мультицитирование сообщения от sonicskye Быстрый ответ на сообщение sonicskye



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW