Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
22 июля 2014, 7:09:35 PM   # 1
 
 
Сообщения: 328
Цитировать по имени
цитировать ответ
по умолчанию Re: м п, где каждый из п адресов т «п»

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


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

Чтобы обойти эту проблему, было бы возможно иметь P2SH м п сценария, где каждый из м redeaming адресов является еще т «п» сценария? 

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


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


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


22 июля 2014, 8:27:33 PM   # 2
 
 
Сообщения: 2870
Цитировать по имени
цитировать ответ
по умолчанию Re: м п, где каждый из п адресов т «п»

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





Нет. Сценарий может содержать только в самых оценках сценария один P2SH. Попытка сделать т-о-п с P2SH адресов потребовалось бы более одной оценки сценария P2SH (вы нуждаетесь в OP_EVAL). Кроме того, стандартные сценарии м-о-п иметь дело с открытыми ключами напрямую, а не адрес.
theymos сейчас офлайн Пожаловаться на theymos   Ответить с цитированием Мультицитирование сообщения от theymos Быстрый ответ на сообщение theymos

22 июля 2014, 9:43:52 PM   # 3
 
 
Сообщения: 328
Цитировать по имени
цитировать ответ
по умолчанию Re: м п, где каждый из п адресов т «п»

Спасибо за ответ! Как насчет "родной" multisignature адрес (не P2SH)?
Из того, что я нашел, addmultisigaddress требует п ключей, в
" Каждый ключ является адрес Bitcoin или открытый ключ шестигранный закодированы ", Таким образом, каждый из них может быть multisig адрес
также?


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

22 июля 2014, 10:29:46 PM   # 4
 
 
Сообщения: 2870
Цитировать по имени
цитировать ответ
по умолчанию Re: м п, где каждый из п адресов т «п»

Спасибо за ответ! Как насчет "родной" multisignature адрес (не P2SH)?
Из того, что я нашел, addmultisigaddress требует п ключей, в
" Каждый ключ является адрес Bitcoin или открытый ключ шестигранный закодированы ", Таким образом, каждый из них может быть multisig адрес
также?

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

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

22 июля 2014, 10:49:07 PM   # 5
 
 
Сообщения: 1218
Цитировать по имени
цитировать ответ
по умолчанию Re: м п, где каждый из п адресов т «п»

Чтобы обойти эту проблему, было бы возможно иметь P2SH м п сценария, где каждый из м redeaming адресов является еще т «п» сценария? 

Нет, потому что протокол Bitcoin не использует адреса. Когда вы предоставляете вашему клиенту адрес для "Отправить" средства на него. Клиент декодирует адрес в либо PubKeyHash или ScriptHash в зависимости от типа адреса. Затем он строит либо Pay2PubKeyHash или выход Pay2ScriptHash. Адрес никогда не является частью сделки. Это всего лишь способ передачи типа и хэш в человеческом формате. 

Точно так же OP_CHECKMULTISIG ссылается последовательность открытых ключей (не адрес, а не сценарии, а не сценарий хэш, не pubkeyhashes). Единственное допустимое расходуемое использование OP_CHECKMULTISIG требует последовательности PubKeys. 

Предел 7-из-15 является чем-то искусственным. Это может быть поднят в будущем. Повышение его 15-из-15 сравнительно легко ( "м" ограничивается только "IsStandard" проверить не проверка действительности). Повышение его до 20-из-20 требует жесткой вилки, чтобы поднять предел redeemScript от 520 байт до по меньшей мере 683 байт. Теоретически это может быть повышенно за что жесткой вилкой, которая делает OP_CHECKMULTISIG с п >20 действительным, но я сомневаюсь, что когда-нибудь случится.




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

23 июля 2014, 4:52:07 AM   # 6
 
 
Сообщения: 1106
Цитировать по имени
цитировать ответ
по умолчанию Re: м п, где каждый из п адресов т «п»

Это не значит, что делает 20-из-20 P2SH невозможно, хотя - вы можете поставить 20-байтовые хэшей в ограниченном размере redeemScript и обеспечивают pubkeys в scriptSig:

Код:
(OP_DUP OP_HASH160 8e4358ca4d6c9cd53a8e01e75bf0d25475c352e7 OP_EQUALVERIFY OP_TOALTSTACK) * 20
20
(OP_FROMALTSTACK) * 20
20 OP_CHECKMULTISIG

Общий размер: 500 байт.

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

23 июля 2014, 7:06:20 AM   # 7
 
 
Сообщения: 185
Цитировать по имени
цитировать ответ
по умолчанию Re: м п, где каждый из п адресов т «п»

Код:
Предел 7-из-15 является чем-то искусственным. Это может быть поднят в будущем. Повышение его 15-из-15 сравнительно легко ( "м" ограничивается только "IsStandard" проверить не проверка действительности). Повышение его до 20-из-20 требует жесткой вилки, чтобы поднять предел redeemScript от 520 байт до по меньшей мере 683 байт. Теоретически это может быть повышенно за что жесткой вилкой, которая делает OP_CHECKMULTISIG с п >20 действительным, но я сомневаюсь, что когда-нибудь случится.

Исходя из нашего опыта более чем 3 из 4 вызывает redeemScript превышать 520 байт размера. Есть ли у вас пример сделки, оправдывающего ничего выше, чем X 6, и по-прежнему будет считаться стандартом?
Колинько сейчас офлайн Пожаловаться на Колинько   Ответить с цитированием Мультицитирование сообщения от Колинько Быстрый ответ на сообщение Колинько

23 июля 2014, 7:08:21 AM   # 8
 
 
Сообщения: 185
Цитировать по имени
цитировать ответ
по умолчанию Re: м п, где каждый из п адресов т «п»

Например, это TX, который искупает "2 из 4":

0100000001422991e418b7b92c3127c22dd5bfac0743d56ab216aeb1573bba9a1025747d6400000 000fd200100483045022100d5bc891c4305e67096cee29dceef455830decda9eb9e89b41a9a5fe3 dbe75c6202207964ea2f464f525748a39fcfeaf405f45312c4ba542879fb7beeaaf20a442835014 830450221008022e32bf35c05f44cef659653724dc1ddb164035d8056ccb60e9db8f3eadb0b0220 6da064420a221958a2e65add7e0bb51739423dbfdba733d5eaf3dbe6d7b7cdf6014c8b522102e8e 22190b0adfefd0962c6332e74ab68831d56d0bfc2b01b32beccd56e3ef6f02103903ea684377ca5 1d84fbdf1566db58499d80240725ab78e2917c3c285ace4eab2103a9bd3bfbd9f9b1719d3ecad86 58796dc5e778177d77145b5c37247eb306086182103f6c9fbe11ac0345676d0eb02f212a83bd0c9 1b3e9c3adfbf6c0a8d0b51b9235c54aeffffffff05b80b0000000000001976a91425de2fdaa7954 bb4e6a53f5228847afc09bee0cd88acb80b0000000000001976a91480e4032cf40387a2714d7511 05ec93a709d17f2688ac70170000000000001976a914f38ba5d948bf2016db759124bf0440e4bfa d8e4388ac080c0100000000001976a914f32e72b477081756559b5569a66647a5bf01051488acb8 0b0000000000001976a91476a4dc3e419783ec85503f12b591069c9b47639b88ac00000000

Это едва ли подходит предел 512 байт, верно? Делаем ли мы что-то не так?
Колинько сейчас офлайн Пожаловаться на Колинько   Ответить с цитированием Мультицитирование сообщения от Колинько Быстрый ответ на сообщение Колинько

23 июля 2014, 8:00:37 AM   # 9
 
 
Сообщения: 1218
Цитировать по имени
цитировать ответ
по умолчанию Re: м п, где каждый из п адресов т «п»

Вы смотрите на размер всей сделки. 520 предела байт максимальный толчок к стеке. RedeemScript на входе (ScriptSig) будет проталкиваться в стек и поэтому он должен быть меньше, чем 520 байт.
DeathAndTaxes сейчас офлайн Пожаловаться на DeathAndTaxes   Ответить с цитированием Мультицитирование сообщения от DeathAndTaxes Быстрый ответ на сообщение DeathAndTaxes

23 июля 2014, 8:55:28 AM   # 10
 
 
Сообщения: 1750
Цитировать по имени
цитировать ответ
по умолчанию Re: м п, где каждый из п адресов т «п»

Это не значит, что делает 20-из-20 P2SH невозможно, хотя - вы можете поставить 20-байтовые хэшей в ограниченном размере redeemScript и обеспечивают pubkeys в scriptSig:

Код:
(OP_DUP OP_HASH160 8e4358ca4d6c9cd53a8e01e75bf0d25475c352e7 OP_EQUALVERIFY OP_TOALTSTACK) * 20
20
(OP_FROMALTSTACK) * 20
20 OP_CHECKMULTISIG

Общий размер: 500 байт.

Это достаточно близко к 520 байт, что я уверен, что вы могли бы сжать в еще один pubkeyhash с некоторыми микро-оптимизации, но я проволочки прямо сейчас, так что я дам кому-то это сделать.


котировка
(OP_DUP OP_HASH160 8e4358ca4d6c9cd53a8e01e75bf0d25475c352e7 OP_EQUALVERIFY OP_TOALTSTACK) * 20 500bytes
20 2bytes
(OP_FROMALTSTACK) * 20 20bytes
20 OP_CHECKMULTISIG 3bytes

Он должен принять 525 байт, чтобы вы могли хранить только 19 pubkeys


Это может быть упрощено, если она требует М-из-М подписей:

Код:
(OP_DUP OP_HASH160 8e4358ca4d6c9cd53a8e01e75bf0d25475c352e7 OP_EQUALVERIFY OP_CHECKSIGVERIFY) * (М - 1)
OP_DUP OP_HASH160 8e4358ca4d6c9cd53a8e01e75bf0d25475c352e7 OP_EQUALVERIFY OP_CHECKSIG

Размер M * 25

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

23 июля 2014, 10:11:56 AM   # 11
 
 
Сообщения: 1106
Цитировать по имени
цитировать ответ
по умолчанию Re: м п, где каждый из п адресов т «п»

Он должен принять 525 байт, чтобы вы могли хранить только 19 pubkeys

Doh! Похоже, у меня была шальная pubkeys [1:] в моем сценарии Python и просчитались.

Это может быть упрощено, если она требует М-из-М подписей:

Хорошая идея!
Peter Todd сейчас офлайн Пожаловаться на Питер Тодд   Ответить с цитированием Мультицитирование сообщения от Peter Todd Быстрый ответ на сообщение Peter Todd

23 июля 2014, 1:38:11 PM   # 12
 
 
Сообщения: 1750
Цитировать по имени
цитировать ответ
по умолчанию Re: м п, где каждый из п адресов т «п»

Он должен принять 525 байт, чтобы вы могли хранить только 19 pubkeys

Doh! Похоже, у меня была шальная pubkeys [1:] в моем сценарии Python и просчитались.

Это может быть упрощено, если она требует М-из-М подписей:

Хорошая идея!

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



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW