Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
23 декабря 2015, 2:44:38 AM   # 1
 
 
Сообщения: 1862
Цитировать по имени
цитировать ответ
по умолчанию Re: Является ли это стандартный сценарий BIP65 образца?

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


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

Код:
    ЕСЛИ
        HASH160 EQUALVERIFY
        <издатель Публичных> CHECKSIG
    ELSE
        <время истечения> CHECKLOCKTIMEVERIFY DROP
        <покупатель Публичных> CHECKSIG
    ENDIF

Хотя примечания к выпуску для Bitcoin ядра упоминания вещи о BIP65 не ясно мне, что означает ли, что выше стандарт.

Если предположить, что это стандарт, то если HASH160 должен был быть изменен, чтобы сказать, SHA256 бы это все еще стандарт?
CIYAM сейчас офлайн Пожаловаться на CIYAM   Ответить с цитированием Мультицитирование сообщения от CIYAM Быстрый ответ на сообщение CIYAM


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


23 декабря 2015, 12:34:31 PM   # 2
 
 
Сообщения: 1862
Цитировать по имени
цитировать ответ
по умолчанию Re: Является ли это стандартный сценарий BIP65 образца?

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





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

Хм ... кажется, я мог бы быть неправильно об этом: https://blockchain.info/tx/24a44ba982e4be2865c3c84fc408079871b49baa0d8a185ce45781228e8ae56e

(Наведение мышей на маленьком треугольнике показывает: Эта сделка имеет нестандартный вход.)


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

23 декабря 2015, 1:07:45 PM   # 3
 
 
Сообщения: 1736
Цитировать по имени
цитировать ответ
по умолчанию Re: Является ли это стандартный сценарий BIP65 образца?

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

Хм ... кажется, я мог бы быть неправильно об этом: https://blockchain.info/tx/24a44ba982e4be2865c3c84fc408079871b49baa0d8a185ce45781228e8ae56e

(Наведение мышей на маленьком треугольнике показывает: Эта сделка имеет нестандартный вход.)




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

23 декабря 2015, 1:15:26 PM   # 4
 
 
Сообщения: 1862
Цитировать по имени
цитировать ответ
по умолчанию Re: Является ли это стандартный сценарий BIP65 образца?

Я видел blockchain.info неправильно маркировать стандартные операции, как нестандартности в прошлом, так что я не думаю, что их нота диспозитивности. (Например, мульти-сиг, IIRC - не знаю, если они зафиксировано, что еще)

Надеюсь, что это так, но ТХ еще неподтвержденная несмотря на высокий приоритет и CLTV истек 4 кварталов назад (это возврат ТЙ для подхода CLTV к выполнению ACCT).
CIYAM сейчас офлайн Пожаловаться на CIYAM   Ответить с цитированием Мультицитирование сообщения от CIYAM Быстрый ответ на сообщение CIYAM

23 декабря 2015, 4:18:51 PM   # 5
 
 
Сообщения: 345
Цитировать по имени
цитировать ответ
по умолчанию Re: Является ли это стандартный сценарий BIP65 образца?

Я видел blockchain.info неправильно маркировать стандартные операции, как нестандартности в прошлом, так что я не думаю, что их нота диспозитивности. (Например, мульти-сиг, IIRC - не знаю, если они зафиксировано, что еще)

Надеюсь, что это так, но ТХ еще неподтвержденная несмотря на высокий приоритет и CLTV истек 4 кварталов назад (это возврат ТЙ для подхода CLTV к выполнению ACCT).


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



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

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

26 декабря 2015, 7:39:19 AM   # 6
 
 
Сообщения: 1862
Цитировать по имени
цитировать ответ
по умолчанию Re: Является ли это стандартный сценарий BIP65 образца?

Кажется, что-то не так с этим выкупить скрипт (все еще пытается работать, что именно), но это, кажется, сделал трюк:

https://webbtc.com/script/2bb5d0ac0eb17f5ebe2d660ec47b4888943b4a4f5433c09bd6514b7a36859a95:0


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

26 декабря 2015, 8:16:13 AM   # 7
 
 
Сообщения: 1260
Цитировать по имени
цитировать ответ
по умолчанию Re: Является ли это стандартный сценарий BIP65 образца?

Если предположить, что это стандарт, то если HASH160 должен был быть изменен, чтобы сказать, SHA256 бы это все еще стандарт?
https://gist.github.com/gavinandresen/88be40c141bc67acb247
amaclin сейчас офлайн Пожаловаться на amaclin   Ответить с цитированием Мультицитирование сообщения от amaclin Быстрый ответ на сообщение amaclin

26 декабря 2015, 8:32:49 AM   # 8
 
 
Сообщения: 1862
Цитировать по имени
цитировать ответ
по умолчанию Re: Является ли это стандартный сценарий BIP65 образца?

Если предположить, что это стандарт, то если HASH160 должен был быть изменен, чтобы сказать, SHA256 бы это все еще стандарт?
https://gist.github.com/gavinandresen/88be40c141bc67acb247

Да - от чтения коды в IsStandardTx я подумал, что это должно быть хорошо.

Хитрая часть колдования сырья TXS (очень легко получить что-то неправильно делать это), так что человек помогает мне с этим использует BX (ранее SX).

В основном то, что я пытаюсь получить работу из является АККТ ТМ "шаблон" для Bitcoin, которые будут совместимы с АККТОМ AT реализации так, что один будет иметь возможность обмениваться Qora или BURST для BTC без обмена или другой 3-й партии.
CIYAM сейчас офлайн Пожаловаться на CIYAM   Ответить с цитированием Мультицитирование сообщения от CIYAM Быстрый ответ на сообщение CIYAM

26 декабря 2015, 11:42:44 AM   # 9
 
 
Сообщения: 1862
Цитировать по имени
цитировать ответ
по умолчанию Re: Является ли это стандартный сценарий BIP65 образца?

Таким образом, с помощью этого инструмента онлайн и моих существующих знаний о структуре сырьевых сделок я пришел с этим полным разложением ОГО:

Код:
01000000 (версия)
01 (число входов)
dfb1ee387eef27d2de91c824a467548a3879dd57691177591474fd2594d8bb23 (предыдущий ТЙ идентификатор в обратном порядке)
00000000 (индекс производства предыдущего TX)
быть (190 байт - длина входного скрипта)
------------------------------------------------ 190 байт ------------------------------------------- Входы
48 PUSH_DATA (72 байта - длина подписи плюс типа сига байт)
[
3045 (последовательность МЭД и длина)
022100c9e7acd4f39a03acfcfc89438e764c4b5e4d7ab25f155aeb1a60bb47e63e52ad (МЭД Х)
02201daaf42c4fbe3cba3b0c89f87e7aa2dfc5060ad4b44292e8371a2b561d28d42e (МЭД Y)
01 SIGHASH_ALL
]
00 OP_0 (почему это ???)
4c PUSH_DATA1
72 DATA_LENGTH (114 байт - длина P2SH сценария)
================================================ 114 байт =========================================== Script
63 OP_IF
a8 OP_SHA256
20 PUSH_DATA (sha256 тайны)
[
c775e7b757ede630cd0aa1113bd102661ab38829ca52a6422ab782862f268646
]
88 OP_EQUALVERIFY
21 PUSH_DATA (открытый ключ)
[
03d7c6052544bc42eb2bc0d27c884016adb933f15576a1a2d21cd4dd0f2de0c37d
]
переменный ток OP_CHECKSIG
67 OP_ELSE
03 PUSH_DATA (блок # 389900 - или это должны быть преобразованы в шестнадцатеричных и обратном порядке байт кодированной ???)
[
389900
]
б1 OP_NOP2 (OP_CLTV)
75 OP_DROP
21 PUSH_DATA (открытый ключ)
[
021844989a2bd7acd127dd7ed51aa2f4d55b32dbb414de6325ae37e05c1067598d
]
переменный ток OP_CHECKSIG
68 OP_ENDIF
================================================== ================================================== =========
-------------------------------------------------------------------------------------------------------------
5cf40500 (последовательность 390236), который, вероятно, следует FFFFFFFF
------------------------------------------------- 35 байтов ------------------------------------------ Выходы
01 (количество выходов)
1027000000000000 (значение 0,0001 BTC)
19 PUSH_DATA (25 байт - длина вывода сценария)
[[
76 OP_DUP
a9 OP_HASH160
14 PUSH_DATA (hash160 открытого ключа - т.е. адрес)
[
20fbf78ba8f2f36feaec0efc5b82d5e07fb261a9
]
88 OP_EQUALVERIFY
переменный ток OP_CHECKSIG
]]
-------------------------------------------------------------------------------------------------------------
5cf40500 (nLockTime 390236)

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

Кроме того, почему это OP_0 необходимо (как это сделать с P2SH, который был выход используется из предыдущего ТХ)?
CIYAM сейчас офлайн Пожаловаться на CIYAM   Ответить с цитированием Мультицитирование сообщения от CIYAM Быстрый ответ на сообщение CIYAM

26 декабря 2015, 3:58:42 PM   # 10
 
 
Сообщения: 1862
Цитировать по имени
цитировать ответ
по умолчанию Re: Является ли это стандартный сценарий BIP65 образца?

BTW - для тех, кто интересно, что стоимость получения этого материала правильно, вы можете проверить это: http://blog.litecoin.org/2015/12/litecoin-core-v01040.html

В основном Litecoin скоро будет принимать CLTV передатчиков, а также - так что, если мы можем получить это АККТ работает надежно, то вы будете иметь возможность торговать LTC и BTC с любой AT поддержки платформы (в настоящее время Qora и лопается).

Сторона Bitcoin / Litecoin, к сожалению, не будет так аккуратно (это потребует некоторых дополнительных скриптов и вне сети связи между двумя сторонами), но это было бы огромным шагом в расформирование необходимость крипто-к-крипто обменов (который * реальное нарушение * ИМО).

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

27 декабря 2015, 3:49:48 AM   # 11
 
 
Сообщений: 40
Цитировать по имени
цитировать ответ
по умолчанию Re: Является ли это стандартный сценарий BIP65 образца?

Таким образом, с помощью этого инструмента онлайн и моих существующих знаний о структуре сырьевых сделок я пришел с этим полным разложением ОГО:

Код:
01000000 (версия)
01 (число входов)
dfb1ee387eef27d2de91c824a467548a3879dd57691177591474fd2594d8bb23 (предыдущий ТЙ идентификатор в обратном порядке)
00000000 (индекс производства предыдущего TX)
быть (190 байт - длина входного скрипта)
------------------------------------------------ 190 байт ------------------------------------------- Входы
48 PUSH_DATA (72 байта - длина подписи плюс типа сига байт)
[
3045 (последовательность МЭД и длина)
022100c9e7acd4f39a03acfcfc89438e764c4b5e4d7ab25f155aeb1a60bb47e63e52ad (МЭД Х)
02201daaf42c4fbe3cba3b0c89f87e7aa2dfc5060ad4b44292e8371a2b561d28d42e (МЭД Y)
01 SIGHASH_ALL
]
00 OP_0 (почему это ???)
4c PUSH_DATA1 (почему это ???)
72 PUSH_DATA (114 байт - длина P2SH сценария)
================================================ 114 байт =========================================== Script
63 OP_IF
a8 OP_SHA256
20 PUSH_DATA (sha256 тайны)
[
c775e7b757ede630cd0aa1113bd102661ab38829ca52a6422ab782862f268646
]
88 OP_EQUALVERIFY
21 PUSH_DATA (открытый ключ)
[
03d7c6052544bc42eb2bc0d27c884016adb933f15576a1a2d21cd4dd0f2de0c37d
]
переменный ток OP_CHECKSIG
67 OP_ELSE
03 PUSH_DATA (блок # 389900 - или это должны быть шестнадцатеричными превратили в ???)
[
389900
]
б1 OP_NOP2 (OP_CLTV)
75 OP_DROP
21 PUSH_DATA (открытый ключ)
[
021844989a2bd7acd127dd7ed51aa2f4d55b32dbb414de6325ae37e05c1067598d
]
переменный ток OP_CHECKSIG
68 OP_ENDIF
================================================== ================================================== =========
-------------------------------------------------------------------------------------------------------------
5cf40500 (последовательность 390236), который, вероятно, следует FFFFFFFF
------------------------------------------------- 35 байтов ------------------------------------------ Выходы
01 (количество выходов)
1027000000000000 (значение 0,0001 BTC)
19 PUSH_DATA (25 байт - длина вывода сценария)
[[
76 OP_DUP
a9 OP_HASH160
14 PUSH_DATA (hash160 открытого ключа - т.е. адрес)
[
20fbf78ba8f2f36feaec0efc5b82d5e07fb261a9
]
88 OP_EQUALVERIFY
переменный ток OP_CHECKSIG
]]
-------------------------------------------------------------------------------------------------------------
5cf40500 (nLockTime 390236)

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

Кроме того, почему являются OP_0 и OP_PUSHDATA1 необходимо (это связано с P2SH, который был выход используется из предыдущего ТХ?).


Привет Ян, я только знаю, что это путь P2SH погашается, так как здесь http://www.soroushjp.com/2014/12/20/bitcoin-multisig-the-hard-way-understanding-raw-multisignature-bitcoin-transactions/ , писатель разложил P2SH и объяснил эти опкоды вы упомянули выше.

котировка
OP_0 входит дело только с ошибкой вне по одному в Bitcoin Ядра при использовании OP_CHECKMULTISIG.
Но я не уверен, что мы должны включить OP_0 в P2SH без multisig.

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

27 декабря 2015, 6:53:52 AM   # 12
 
 
Сообщения: 1862
Цитировать по имени
цитировать ответ
по умолчанию Re: Является ли это стандартный сценарий BIP65 образца?

котировка
OP_0 входит дело только с ошибкой вне по одному в Bitcoin Ядра при использовании OP_CHECKMULTISIG.

Но я не уверен, что мы должны включить OP_0 в P2SH без multisig.

Я вижу - в этом случае я бы очень уверен, что мы не нуждаемся в OP_0 на все - на самом деле ищет здесь: https://webbtc.com/script/2bb5d0ac0eb17f5ebe2d660ec47b4888943b4a4f5433c09bd6514b7a36859a95:0 казалось бы мне на имеющих OP_0 в стеке фактически заставляя его всегда пропустить тест OP_IF (другое дело, что нужно будет тщательно проверено).

Для OP_PUSHDATA1, я пытался построить выкуп Тй для P2SH без указанного опкода, и это не удалось.

Doh! Конечно, - причина в том, что вам нужно нажать 114 байт (P2SH скрипт) на стек, но нормальный PUSH_DATA (который только длины без определенного кода оп) может только подтолкнет до 75 байт (редактирует мой предыдущий пост в сделать это ясно).

Поэтому, кроме установив "последовательность" назад к FFFFFFFF Я до сих пор скептически относятся к так, что CLTV "номер блока" была предоставлена ​​(как это ни в шестнадцатеричном, ни в он же с обратным порядком байтов, как nLockTime само по себе).

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

27 декабря 2015, 7:52:50 AM   # 13
 
 
Сообщения: 1862
Цитировать по имени
цитировать ответ
по умолчанию Re: Является ли это стандартный сценарий BIP65 образца?

На самом деле, глядя дальше в OP_IF я думаю, что у нас есть проблемы, как то, что между ним и OP_ELSE не будет выполняться, если то, что находится на вершине стека пуст (который OP_0 бы, конечно, завинтить). Вы можете видеть, что показано здесь: https://webbtc.com/script/2bb5d0ac0eb17f5ebe2d660ec47b4888943b4a4f5433c09bd6514b7a36859a95:0 (Прокрутите вниз до трассировки выполнения, и вы увидите, что она даже не выполняет OP_SHA256 или первого ключа проверки подписи общественности).

Я думаю, что проверка для "секретный хэш" действительно должна иметь место до OP_IF, как это:

Код:
OP_SHA256
c775e7b757ede630cd0aa1113bd102661ab38829ca52a6422ab782862f268646
OP_EQUAL
OP_IF
OP_DROP (уронить секрет, который я предполагаю, что до сих пор в стеке)
03d7c6052544bc42eb2bc0d27c884016adb933f15576a1a2d21cd4dd0f2de0c37d
OP_CHECKSIG
OP_ELSE
389900
OP_NOP2
OP_DROP (роняет номер блока только что использовали для испытания NOP2 / CLTV)
021844989a2bd7acd127dd7ed51aa2f4d55b32dbb414de6325ae37e05c1067598d
OP_CHECKSIG
OP_ENDIF

Таким образом, если предположить, что "секретный хэш" сопоставляются мы затем проверить подпись для первого открытого ключа в противном случае мы делаем тест CLTV и проверить подпись для второго открытого ключа.

Я не 100% уверен в поведении стека, так что может быть необходимо сделать либо OP_DUP или иметь дополнительный OP_DROP, чтобы получить, что правильно.
CIYAM сейчас офлайн Пожаловаться на CIYAM   Ответить с цитированием Мультицитирование сообщения от CIYAM Быстрый ответ на сообщение CIYAM

27 декабря 2015, 9:17:05 AM   # 14
 
 
Сообщений: 40
Цитировать по имени
цитировать ответ
по умолчанию Re: Является ли это стандартный сценарий BIP65 образца?




Я думаю, что проверка для "секретный хэш" действительно должна иметь место до OP_IF, как это:

Код:
OP_SHA256
c775e7b757ede630cd0aa1113bd102661ab38829ca52a6422ab782862f268646
OP_EQUAL [цвет = красный] VERIFY [/ цвет]
OP_IF
OP_DROP (уронить секрет, который я предполагаю, что до сих пор в стеке)
03d7c6052544bc42eb2bc0d27c884016adb933f15576a1a2d21cd4dd0f2de0c37d
OP_CHECKSIG
OP_ELSE
389900
OP_NOP2
OP_DROP (роняет номер блока только что использовали для испытания NOP2 / CLTV)
021844989a2bd7acd127dd7ed51aa2f4d55b32dbb414de6325ae37e05c1067598d
OP_CHECKSIG
OP_ENDIF

Таким образом, если предположить, что "секретный хэш" сопоставляются мы затем проверить подпись для первого открытого ключа в противном случае мы делаем тест CLTV и проверить подпись для второго открытого ключа.

Я не 100% уверен в поведении стека, так что может быть необходимо сделать либо OP_DUP или иметь дополнительный OP_DROP, чтобы получить, что правильно.

Этот случай выше, вы, вероятно, нужно заменить РАВНО с EQUALVERIFY устранить "1" значение как результат операции EQUAL. И сценарий, вероятно, может быть переведено как "между 2 сторонами, кто может обеспечить секретное значение, которое соответствует определенное значение хеш-функции может погасить ТХ", Это то, что вы хотите?


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

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

Эта проблема может быть решена в интерактивном режиме с техникой возврата сделки; с CHECKLOCKTIMEVERIFY проблема может быть не в интерактивном режиме решается с помощью scriptPubKeys следующего вида:

    ЕСЛИ
        HASH160 EQUALVERIFY
        <издатель Публичных> CHECKSIG
    ELSE
        <время истечения> CHECKLOCKTIMEVERIFY DROP
        <покупатель Публичных> CHECKSIG
    ENDIF

На самом деле, глядя дальше в OP_IF я думаю, что у нас есть проблемы, как то, что между ним и OP_ELSE не будет выполняться, если то, что находится на вершине стека пуст (который OP_0 бы, конечно, завинтить). Вы можете видеть, что показано здесь: https://webbtc.com/script/2bb5d0ac0eb17f5ebe2d660ec47b4888943b4a4f5433c09bd6514b7a36859a95:0 (Прокрутите вниз до трассировки выполнения, и вы увидите, что она даже не выполняет OP_SHA256 или первого ключа проверки подписи общественности).

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

27 декабря 2015, 9:23:27 AM   # 15
 
 
Сообщения: 1862
Цитировать по имени
цитировать ответ
по умолчанию Re: Является ли это стандартный сценарий BIP65 образца?

Да, когда я прочитал объяснение по ссылке вы предоставили, OP_0 пропускает первый блок в OP_IF. Но я думаю, что это то, что мы хотим от случая образца выше.

Если мы всегда пропустить блок OP_IF (в сценарии, как первоначально показано), то вы можете никогда выкупить с "секрет" - Я думаю, вы могли бы, возможно, изменить OP_0 к OP_1, но от того, что я понимаю, как только он вошел OP_IF, то он никогда не будет выполнять филиал OP_ELSE (так что если вы сделали это, то вы никогда не были бы в состоянии погасить как возврат).

Таким образом OP_IF и OP_ELSE не работают, возможно, как можно было бы ожидать. Вы должны бы сделать тест до OP_IF (независимо от того, что происходит внутри него, не рассматривается как "состояние").

К сожалению, кажется, что примеры, которые проиллюстрированы на BIP65 не показывают правильно, как использовать OP_IF (возможно, они не были предназначены для чтения, как буквальные скриптов ТХ на всех, но только как псевдокод что, конечно, является разумным).

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

Из того, что я собрал OP_IF удалит элемент из стека, но я думаю, что это только в случае его сопоставления (если это не так, то возврат выкупа ОГО придется включать фиктивный дополнительный толчок).

Если секрет проверка хэша не удается (что было бы дело, конечно, если вы не обеспечиваете секретный хэш, который является то, что возврат ТМ будет делать как это будет просто нажать подпись на стек), то шагах OP_ELSE выполняются, которые бы проверки подписи против второго открытого ключа (после выполнения блокировки CLTV).

Это думает, что некоторое тщательное тестирование, как именно работы будет необходимо это условный материал - для этого я бы рекомендовал использовать "testnet",

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

27 декабря 2015, 9:44:09 AM   # 16
 
 
Сообщений: 40
Цитировать по имени
цитировать ответ
по умолчанию Re: Является ли это стандартный сценарий BIP65 образца?

Да, когда я прочитал объяснение по ссылке вы предоставили, OP_0 пропускает первый блок в OP_IF. Но я думаю, что это то, что мы хотим от случая образца выше.

Если мы всегда пропустить блок OP_IF, то вы можете никогда выкупить с "секрет" - Я думаю, вы могли бы, возможно, изменить OP_0 к OP_1, но от того, что я понимаю, как только он вошел OP_IF, то он никогда не будет выполнять филиал OP_ELSE (так что если вы сделали это, то вы никогда не были бы в состоянии погасить как возврат).

Таким образом OP_IF и OP_ELSE не работают, возможно, как можно было бы ожидать. Вы должны бы сделать тест до OP_IF (а не только внутри него).

К сожалению, кажется, что примеры, которые проиллюстрированы на BIP65 не показывают правильно, как использовать OP_IF (возможно, они не были предназначены для чтения, как буквальные скриптов ТХ на всех, но только как псевдокод что, конечно, является разумным).

Я думаю, что сценарий if..else в Bitcoin не работает таким же образом, как регулярный язык программирования. cmiiw.

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

Из того, что я собираю OP_IF удалит элемент из стека, но я думаю, что это только в случае его сопоставления (если это не так, то возврату либо придется включать фиктивный дополнительный толчок или OP_DUP необходимо будет используется в начале сценария вместе с дополнительным OP_DROP в ступеньках OP_IF).

Если секрет проверка хэша не удается (что было бы дело, конечно, если вы не обеспечиваете секретный хэш, который является то, что возврат ТМ будет делать как это будет просто нажать подпись на стек), то шагах OP_ELSE выполняются, которые бы проверки подписи против второго открытого ключа (после выполнения блокировки CLTV).


Да, так как образец сказал, что есть 2 возможные условия для выкупают ТХ; или "издатель" или "покупатель" может выкупить ТЙ с различным состоянием, выраженные в if..else сценария.

котировка
    ЕСЛИ
        HASH160 EQUALVERIFY
        <издатель Публичных> CHECKSIG
    ELSE
        <время истечения> CHECKLOCKTIMEVERIFY DROP
        <покупатель Публичных> CHECKSIG
    ENDIF

Из приведенного выше сценария, издатель может выкупить ТЙ, если он / она может предоставить ключ шифрования и его / ее подпись. В то время как покупатель может выкупить после <время истечения> с его / ее подписью.

Это думает, что некоторое тщательное тестирование, как именно работы будет необходимо это условный материал - для этого я бы рекомендовал использовать "testnet",
Я попытался testnet, и это было труднее толкать ТХ чем mainnet.
sonicskye сейчас офлайн Пожаловаться на sonicskye   Ответить с цитированием Мультицитирование сообщения от sonicskye Быстрый ответ на сообщение sonicskye

27 декабря 2015, 9:45:59 AM   # 17
 
 
Сообщения: 1862
Цитировать по имени
цитировать ответ
по умолчанию Re: Является ли это стандартный сценарий BIP65 образца?

Я снова уверен, что IF..ELSE показано в примере BIP65 является не так же, как и OP_IF OP_ELSE.

Как это говорится в BIP является:

ЕСЛИ
 
ELSE
 
ENDIF

но в Bitcoin Script AFAICT вам нужно будет на самом деле сделать это:


OP_IF
(Если это будет выполнено, если было правдой)
OP_ELSE
(Где они будут выполняться, если было ложным)

OP_ENDIF

Странно, что вы бы возникли проблемы толкая ПРД testnet (как это более расслаблено о таких вещах, как передатчиках будучи стандарт).

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

27 декабря 2015, 10:41:20 AM   # 18
 
 
Сообщений: 40
Цитировать по имени
цитировать ответ
по умолчанию Re: Является ли это стандартный сценарий BIP65 образца?

Я снова уверен, что IF..ELSE показано в примере BIP65 является не так же, как и OP_IF OP_ELSE.

Как это говорится в BIP является:

ЕСЛИ
 
ELSE
 
ENDIF

но в Bitcoin Script AFAICT вам нужно будет на самом деле сделать это:


OP_IF
(Если это будет выполнено, если было правдой)
OP_ELSE
(Где они будут выполняться, если было ложным)

OP_ENDIF

Странно, что вы бы возникли проблемы толкая ПРД testnet (как это более расслаблено о таких вещах, как передатчиках будучи стандарт).

У меня есть бег testnet сверстников так, возможно, я мог бы помочь в попытке раздвинуть сырые сделки (и, видя, если что-то кажется, неправильно с сказать адрес P2SH или тому подобное).


Я думаю, вы правы в этом. Это действительно помогает мне понять, как работает условный сценарий.

Во всяком случае, вот еще один ТЙ для изучения https://webbtc.com/script/1dcdcaad7cb6550170662d7190d4a5cab6c5e3c61e1f289a91331dec4b811835:0
Вместо того, чтобы искуплению "еще" условна, она вошла в "если" блокировать путем воздействия на секретное значение.
sonicskye сейчас офлайн Пожаловаться на sonicskye   Ответить с цитированием Мультицитирование сообщения от sonicskye Быстрый ответ на сообщение sonicskye

27 декабря 2015, 11:18:15 AM   # 19
 
 
Сообщения: 1862
Цитировать по имени
цитировать ответ
по умолчанию Re: Является ли это стандартный сценарий BIP65 образца?

Да - с помощью OP_1 вместо OP_0 он теперь будет всегда выполнять шаги OP_IF (и никогда OP_ELSE шагов), так что я думаю, как я изложил это правильный способ это должно быть сделано (чтобы позволить либо выкупить дело).

Предположительно это потребует возврата выкупа ТХ протолкнуть фиктивное значение (скажем, OP_1), так что начальная OP_SHA256 есть что-то, чтобы работать с - или, возможно, вы могли бы вместо того, чтобы сделать OP_DUP до первоначального испытания с тогдашним дополнительной OP_DROP в ступеньках OP_IF. Попробую и иллюстрации последнего.

Для "секрет раскрыть":
Код:
ОП СТЕКА (вершина слева)
--                ----------------------
ОТ СЕБЯ <сиг>        <сиг>
ОТ СЕБЯ <секрет>     <секрет><сиг>
(Начало P2SH сценария)
OP_DUP            <секрет><секрет><сиг>
OP_SHA256         <шаш><секрет><сиг>
ОТ СЕБЯ      <шаш><секрет><сиг>
OP_EQUAL 1<секрет><сиг>
OP_IF             <секрет><сиг>
OP_DROP           <сиг>
ОТ СЕБЯ       <сиг>
OP_CHECKSIG 0 или 1
OP_ENDIF 0 или 1

Для "CLTV возврат":
Код:
ОП СТЕКА (вершина слева)
--                ----------------------
ОТ СЕБЯ <сиг>        <сиг>
(Начало P2SH сценария)
OP_DUP            <сиг><сиг>
OP_SHA256         <шаш><сиг>
ОТ СЕБЯ      <шаш><сиг>
OP_EQUAL 0<сиг>
OP_IF             <сиг>
OP_ELSE           <сиг>
ОТ СЕБЯ       <сиг>
OP_NOP2           <сиг>
OP_DROP           <сиг>
ОТ СЕБЯ       <сиг>
OP_CHECKSIG 0 или 1
OP_ENDIF 0 или 1

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

27 декабря 2015, 1:52:25 PM   # 20
 
 
Сообщений: 40
Цитировать по имени
цитировать ответ
по умолчанию Re: Является ли это стандартный сценарий BIP65 образца?

Да - с помощью OP_1 вместо OP_0 он теперь будет всегда выполнять шаги OP_IF (и никогда OP_ELSE шагов), так что я думаю, как я изложил это правильный способ это должно быть сделано (чтобы позволить либо выкупить дело).

Предположительно это потребует возврата выкупа ТХ протолкнуть фиктивное значение (скажем, OP_1), так что начальная OP_SHA256 есть что-то, чтобы работать с - или, возможно, вы могли бы вместо того, чтобы сделать OP_DUP до первоначального испытания с тогдашним дополнительной OP_DROP в ступеньках OP_IF. Попробую и иллюстрации последнего.

Для "секрет раскрыть":
Код:
ОП СТЕКА (вершина слева)
--                ----------------------
ОТ СЕБЯ <сиг>        <сиг>
ОТ СЕБЯ <секрет>     <секрет><сиг>
(Начало P2SH сценария)
OP_DUP            <секрет><секрет><сиг>
OP_SHA256         <шаш><секрет><сиг>
ОТ СЕБЯ      <шаш><секрет><сиг>
OP_EQUAL 1<секрет><сиг>
OP_IF             <секрет><сиг>
OP_DROP           <сиг>
ОТ СЕБЯ       <сиг>
OP_CHECKSIG 0 или 1
OP_ENDIF 0 или 1

Для "CLTV возврат":
Код:
ОП СТЕКА (вершина слева)
--                ----------------------
ОТ СЕБЯ <сиг>        <сиг>
(Начало P2SH сценария)
OP_DUP            <сиг><сиг>
OP_SHA256         <шаш><сиг>
ОТ СЕБЯ      <шаш><сиг>
OP_EQUAL 0<сиг>
OP_IF             <сиг>
OP_ELSE           <сиг>
ОТ СЕБЯ       <сиг>
OP_NOP2           <сиг>
OP_DROP           <сиг>
ОТ СЕБЯ       <сиг>
OP_CHECKSIG 0 или 1
OP_ENDIF 0 или 1

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


Привет, я создал пару ОГО, используя логику https://webbtc.com/script/bd1659576624d937af204f90e153a6be4900650eb8e73d0ca260811435771ed8:0
Построение сценария выглядит следующим образом
котировка
OP_DUP OP_SHA256 OP_EQUAL
OP_IF
   OP_DROP
   <Публичных 2>
   OP_CHECKSIG
OP_ELSE
   
   OP_NOP2
   OP_DROP
   <Публичных 1>
   OP_CHECKSIG
OP_ENDIF
Я еще не пробовал искупительным с помощью блока еще, как я думаю, что это может работать.

Во всяком случае, мне интересно, если мы можем просто устранить OP_DUP и оба из OP_DROP опкодов как есть избыточный секрет значение стеки при оценке сценария.
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