Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
14 октября 2013, 2:55:35 PM   # 1
SDP
 
 
Сообщения: 421
Цитировать по имени
цитировать ответ
по умолчанию Re: Понимание скриптов элементарного Bitcoin подписи

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


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Я читал вики https://en.bitcoin.it/wiki/Script и наткнулся на этот пример.

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

Когда операция проводится предусмотрено <сиг> <Публичных>,

Предположим, что Алиса посылает Бобу. Чья <Публичных> используется и то, что это происходит от сиг?

Код:
 76 А9 14
OP_DUP OP_HASH160 Bytes нажать

89 AB CD EF AB BA AB BA AB BA AB BA AB BA AB BA AB BA AB BA 88 AC
                      Данные нажать OP_EQUALVERIFY OP_CHECKSIG

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


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


14 октября 2013, 3:15:09 PM   # 2
 
 
Сообщения: 2366
Цитировать по имени
цитировать ответ
по умолчанию Re: Понимание скриптов элементарного Bitcoin подписи

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





Теперь первая операция OP_DUP
Результаты от scriptSig уже в стеке, когда scriptPubKey выполняет. Таким образом, подписавшая сторона является обеспечение Публичных, и тот Что получать дублируется, что OP_DUP.
gmaxwell сейчас офлайн Пожаловаться на gmaxwell   Ответить с цитированием Мультицитирование сообщения от gmaxwell Быстрый ответ на сообщение gmaxwell

14 октября 2013, 4:07:05 PM   # 3
 
 
Сообщения: 1428
Цитировать по имени
цитировать ответ
по умолчанию Re: Понимание скриптов элементарного Bitcoin подписи

Более конкретно, вы можете думать о сценариях TxOut как головоломка, которую необходимо решить для того, чтобы переместить монеты. Любой человек может потратить монеты, если они могут поставить правильные данные в стеке, который вызывает сценарий TxOut для оценки в действительность. Просто так получилось, что наиболее распространенный тип TxOut сценарий, который требует TxInScript содержать открытый ключ, хэш-значения hash160 и действительной подписью от соответствующего закрытого ключа "чтобы решить загадку."


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

14 октября 2013, 10:21:34 PM   # 4
SDP
 
 
Сообщения: 421
Цитировать по имени
цитировать ответ
по умолчанию Re: Понимание скриптов элементарного Bitcoin подписи

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

Например, Алиса 1 BTC, и продает его Бобу. Для того, чтобы передать Бобу, она использует свой открытый ключ, чтобы подписать сделку к Бобу. Но значит ли это, что Алиса клиент s создает новый сценарий с Bob 'закодированный адрес Bitcoin s (14 байт сгустка там), но то, что на самом деле используется для разрешения сделки Бобу сценарий, который был там, когда Алиса получила их?

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

14 октября 2013, 10:37:37 PM   # 5
 
 
Сообщения: 1428
Цитировать по имени
цитировать ответ
по умолчанию Re: Понимание скриптов элементарного Bitcoin подписи

Все 21 миллионов монет, которые когда-либо существуют, плывут в Bitcoin эфире, защищены одним из этих TxOut сценариев. Когда ваш кошелек говорит, что вы "своя" X монеты, это потому, что он определил, что существует множество TxOuts на общую сумму X монет, с помощью скриптов, которые вы знаете, вы можете "решать" (Потому что у них есть ваш открытый ключ закодирован в них). Процесс "отправка" монеты к кому-то производят TxIn сценарии в новой транзакции, которые вызывают эти старые сценарии TxOut оценить, правда, и создавать новые сценарии TxOut, которые могут быть потрачены только закрытым ключом нового владельца.

Вы можете думать обо всех монет в сети как набор плавающего, неизрасходованный TxOuts, ожидая кого-то, чтобы обеспечить TxIn, что вызывает его сценарий для оценки истинных (потому что это по существу выполняет TxOutScript). Каждая сделка ест / уничтожает ряд TxOuts, и создает множество новых TxOuts со значениями сложением ту же сумму (или близко к тому же суммы, любые остатки претендуют на шахтера, рудники сделки, в качестве платы)
etotheipi сейчас офлайн Пожаловаться на etotheipi   Ответить с цитированием Мультицитирование сообщения от etotheipi Быстрый ответ на сообщение etotheipi

15 октября 2013, 12:01:33 AM   # 6
SDP
 
 
Сообщения: 421
Цитировать по имени
цитировать ответ
по умолчанию Re: Понимание скриптов элементарного Bitcoin подписи

Хорошо, я думаю, что я ищу только в сценариях TxOut. Как TxIn скрипты отличаются? Для чего они?

Вот пример в вики:
Код:
Входы:
 01 - количество входов транзакций

Input 1:
 6D BD DB 08 5B 1D 8A F7 51 84 F0 БК 01 FA Д5 8D - предыдущий выходной сигнал (очкам)
 12 66 Е9 В6 3B 50 88 19 90 Е4 В4 0D 6A EE 36 29
 00 00 00 00

 8В - скрипт длиной 139 байт

 48 30 45 02 21 00 58 F3 1E 19 72 АЕ 8A C7-C7-36 - подпись сценария (scriptSig)
 7A 7A 25 3B С1 13 52 23 AD В9 А4 68 BB 3A 59 23
 3F 45 БК 57 83 80 02 20 59 01 АФ СА 17 Д0 41 0E
 83 7A 1D 58 Е9 7A А3 1B АЕ 58 4E ДЕ С2 8D 35 BD
 96 92 36 90 91 3B АЕ 9А 01 41 04 02 9C BF С9 7E
 F2 36 CE 6D 8F Е5 D9 40 13 C7 21 Е9 15 98 2A компакт
 2B 12 В6 5D 7D 59 9B Е2 0A 84 20 05 F8 ФК 4E 02
 53 2E 87 3D 37 В9 6F 09 D6 D4 51 1A Д.А. 8F 14 04
 2F 46 61 4A 4C 70 С0 F1, F5, 4В EF

 FF FF FF FF


Я не знаю ни стандартных операций, которые заканчиваются на F5. Это довольно сильно отличается от тех txOut. 

Спасибо за ваши ответы etotheipi.
SDP сейчас офлайн Пожаловаться на SDP   Ответить с цитированием Мультицитирование сообщения от SDP Быстрый ответ на сообщение SDP

15 октября 2013, 12:55:28 AM   # 7
 
 
Сообщения: 1428
Цитировать по имени
цитировать ответ
по умолчанию Re: Понимание скриптов элементарного Bitcoin подписи

Хорошо, я думаю, что я ищу только в сценариях TxOut. Как TxIn скрипты отличаются? Для чего они?


Все операции имеют входы (TxIns) и выходы (TxOuts). 

В TxOuts находится там, где монеты собираются, идентифицированные по сценарию TxOut (который является "головоломка" Я говорил о). 

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

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

Позвольте мне повторить: каждый TxIn соответствует одной предыдущего TxOut тратятся. И что TxOut полностью израсходованы и больше не нужен (это было бы подрезать: сейчас все узлы помнить все TxOuts, даже те, которые уже потрачены, но на самом деле нужно только помнить / магазин в TxOuts, которые не были потрачены) , Таким образом, сделка "съедает" определенное количество TxOuts, а затем создает кучу нового TxOuts, которые впоследствии могут быть потрачены точно так же.
etotheipi сейчас офлайн Пожаловаться на etotheipi   Ответить с цитированием Мультицитирование сообщения от etotheipi Быстрый ответ на сообщение etotheipi

15 октября 2013, 8:11:17 PM   # 8
 
 
Сообщений: 80
Цитировать по имени
цитировать ответ
по умолчанию Re: Понимание скриптов элементарного Bitcoin подписи

Путем проверки работы проста - scriptSig выполняется, а затем scriptPubKey выполняется на том же стеке. ScriptSig для стандартной сделки с оплатой в-Публичным-хэш просто выталкивает 2 части данных - сначала подпись, а затем Публичный, который сделал эту подпись, оставив эти 2 пунктов в стеке. В этот момент scriptPubKey берет на себя. Публичных дублируется (OP_DUP), копия хэшированный (OP_HASH160) и по сравнению с Публичным хэшем в scriptPubKey, прерывание, если хэш не совпадают (OP_EQUALVERIFY), оставив только подпись и Публичный на стеке, в котором точке OP_CHECKSIG, ну, проверяет подпись.
michagogo сейчас офлайн Пожаловаться на michagogo   Ответить с цитированием Мультицитирование сообщения от michagogo Быстрый ответ на сообщение michagogo



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW