26 апреля 2014, 6:36:40 PM   # 1
 
 
Сообщения: 1148
Цитировать по имени
цитировать ответ
по умолчанию Re: OP_CHECKMULTISIG вопрос

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


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

котировка
Для каждой подписи и пары открытых ключей, OP_CHECKSIG выполняется. Если больше, чем открытые ключи подписей перечислены некоторые пары ключей / сиг может потерпеть неудачу. Все подписи должны соответствовать открытому ключу. Если все подписи действительны, 1 возвращается, 0 в противном случае. Из-за ошибки, один дополнительное неиспользуемое значение удаляются из стека.

Это означает, что существует необходимость проверять каждую подпись против каждого открытого ключа. Это O (N ^ 2) производительность. В 10 из 10 случая с, потребуется около 50 проверок.

В коде, как представляется, требуют, чтобы ключи и подпись в том же порядке.

Предполагая, что 2 из 3 случая, с 3-мя подписями а, б, в и 3 ключа А, В и С,

а, в, А, В, С

будет работать, так как и с находятся в правильном порядке.

с, а, А, В, С

потерпит неудачу, так как с и в неправильном порядке.

Эта это цикл.

2 счетчика ISIG и Айки только когда-либо увеличивается. Каждый ключ только каждый проверяется на 1 подпись. Это означает, что операция O (N) производительность, а не O (N ^ 2).

Это верно?

Дополнительная оптимизация может быть добавлена ​​с помощью дополнительного multisig элемента стека. В 2 из 10 ситуации, все 10 ключей, возможно, необходимо проверить. Дополнительный элемент, который извлекается из стека может кодировать, которые используются открытые ключи. 0x03 означает, что используются последние 2 открытых ключей. Это позволит снизить нагрузку проверки.

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


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


26 апреля 2014, 10:05:46 PM   # 2
 
 
Сообщения: 1428
Цитировать по имени
цитировать ответ
по умолчанию Re: OP_CHECKMULTISIG вопрос

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





Я просто проверить, что это правда. думал, что было OP_0 там для каждого пустого сига, а просто проверить, есть не на подтвержденных 3-в-4 расходов.

К счастью, это не совсем O (N), потому что до тех пор, как SIGs являются в правильном порядке, то отображение между двумя списками быстро сходится. Вы будете в конечном итоге с дополнительными / ненужные проверки подписи, но вам не нужно больше, чем N.

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

26 апреля 2014, 10:23:21 PM   # 3
 
 
Сообщения: 1148
Цитировать по имени
цитировать ответ
по умолчанию Re: OP_CHECKMULTISIG вопрос

Я просто проверить, что это правда. думал, что было OP_0 там для каждого пустого сига, а просто проверить, есть не на подтвержденных 3-в-4 расходов.

К счастью, это не совсем O (N), потому что до тех пор, как SIGs являются в правильном порядке, то отображение между двумя списками быстро сходится. Вы будете в конечном итоге с дополнительными / ненужные проверки подписи, но вам не нужно больше, чем N.

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

После того, как все подписи совпали ключ, он ломает из цикла.

Максимальное число итераций равно числу клавиш.

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

Я согласен, податливость является более важной. Если это O (N ^ 2), то это будет стоит того, чтобы заставить его быть таким, каким он есть сейчас.
TierNolan сейчас офлайн Пожаловаться на TierNolan   Ответить с цитированием Мультицитирование сообщения от TierNolan Быстрый ответ на сообщение TierNolan

26 апреля 2014, 11:23:33 PM   # 4
 
 
Сообщения: 2366
Цитировать по имени
цитировать ответ
по умолчанию Re: OP_CHECKMULTISIG вопрос

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



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW