23 августа 2011, 6:10:33 PM   # 1
 
 
Сообщения: 416
Цитировать по имени
цитировать ответ
по умолчанию Re: OP_CHECKMULTISIG - как это работает?

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


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

Код:
([Сиг ...] num_of_signatures [Публичный ...] num_of_pubkeys - BOOL)

но сколько подписей присутствуют в [сиг ...]? Является ли num_of_signatures фактического количества подписей при условии, или это число действительных подписей, необходимых для OP_CHECKMULTISIG вернуться верно?

Я читаю код OP_CHECKMULTISIG в script.cpp. Это позволяет уменьшить количество подписей, чем открытые ключи, но, кажется, перебирать как подпись и открытых ключи, без каких-либо попыток выяснить, какие из них отсутствует. Я не вижу, как это может работать даже на 1 из 2 multisignature сделки в обеих случаях, когда в первом случае подпись совпадает с первым открытым ключом, а во втором случае подпись соответствует второму открытому ключу.

Даже если обе подписи предоставляются, но один только инвалид, проверка потерпит неудачу, как nSigsCount будет только 1, и если первая проверка неудачна, другой даже не будет предпринято.

Может кто-нибудь объяснить, пожалуйста? Вопрос становится уместным ...

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


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


23 августа 2011, 6:57:13 PM   # 2
 
 
Сообщения: 2870
Цитировать по имени
цитировать ответ
по умолчанию Re: OP_CHECKMULTISIG - как это работает?

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





Если ScriptPubKey говорит:
Код:
2 Keya KEYB KeyC 3 OP_CHECKMULTISIG
Затем ScriptSig должен предоставить подписи ровно два из A-C, перечисленных в порядке.

Если ScriptPubKey говорит:
Код:
1 Keya KEYB KeyC 3 OP_CHECKMULTISIG
Тогда ScriptSig должен обеспечить только одну из A-C.

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

23 августа 2011, 7:10:57 PM   # 3
 
 
Сообщения: 416
Цитировать по имени
цитировать ответ
по умолчанию Re: OP_CHECKMULTISIG - как это работает?

Понял! Благодаря! Кажется очевидным, как код работает сейчас. Я не знаю, о чем я думал раньше!

перечислены в порядке.

Это то, что сделал это по какой-то причине ....

Во всяком случае, так что эта нить не является пустой тратой времени, я хотел бы заметить, что текущий способ сопоставления подписей для открытых ключей очень расточительно вычислений. Например, если у вас есть 1 из 100 multisignature то код проходит через открытые ключи последовательно пытается проверить подпись, пока он либо не удастся, или не работает из открытых ключей. Поскольку каждая сделка проверяется каждый раз, когда он ретранслируется, не имеет смысла, чтобы указать в scriptSig числа открытых ключей, чтобы пропустить, прежде чем пытаться проверить подпись. Это может быть (дополнительно?) 1 байт параметр, который позволит сэкономить очень большое количество ненужных попыток верификации подписи.

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

23 августа 2011, 8:31:37 PM   # 4
 
 
Сообщения: 1134
Цитировать по имени
цитировать ответ
по умолчанию Re: OP_CHECKMULTISIG - как это работает?

Понял! Благодаря! Кажется очевидным, как код работает сейчас. Я не знаю, о чем я думал раньше!

перечислены в порядке.

Это то, что сделал это по какой-то причине ....

Во всяком случае, так что эта нить не является пустой тратой времени, я хотел бы заметить, что текущий способ сопоставления подписей для открытых ключей очень расточительно вычислений. Например, если у вас есть 1 из 100 multisignature то код проходит через открытые ключи последовательно пытается проверить подпись, пока он либо не удастся, или не работает из открытых ключей. Поскольку каждая сделка проверяется каждый раз, когда он ретранслируется, не имеет смысла, чтобы указать в scriptSig число открытых ключей, чтобы пропустить, прежде чем пытаться проверить подпись. Это может быть (дополнительно?) 1 байт параметр, который позволит сэкономить очень большое количество ненужных попыток верификации подписи.

ByteCoin
Нестандартная сделка, таким образом, никогда не ретранслируются
Задача решена
jackjack сейчас офлайн Пожаловаться на jackjack   Ответить с цитированием Мультицитирование сообщения от jackjack Быстрый ответ на сообщение jackjack

23 августа 2011, 8:42:32 PM   # 5
 
 
Сообщения: 416
Цитировать по имени
цитировать ответ
по умолчанию Re: OP_CHECKMULTISIG - как это работает?

Нестандартная сделка, таким образом, никогда не ретранслируются
Задача решена

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

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

23 августа 2011, 9:02:02 PM   # 6
 
 
Сообщения: 1652
Цитировать по имени
цитировать ответ
по умолчанию Re: OP_CHECKMULTISIG - как это работает?

Я работаю над предложением включить {1,2} -of- {1,2,3} подписи, требуется как стандартные типы транзакций.

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



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW