Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
8 января 2015, 7:43:53 PM   # 1
 
 
Сообщения: 9
Цитировать по имени
цитировать ответ
по умолчанию Re: MultiSig НО с Bitcoin адреса НЕ открытые ключи

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


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

Почему MultiSig Использование общественного ключа в противоположность сжатого 1xxxxx Bitcoin адрес?

Я чувствую, что большую часть времени я буду строить MultiSig Счета с другими людьми. Большинство из них не будет иметь свой открытый ключ. Только их секретный ключ и Bitcoin адрес.

Если у вас есть андроид клиент. если у вас есть учетная запись blockchain.info. Вы НЕ иметь открытый ключ.

Есть ли способ, чтобы построить мульти сиговых с Bitcoin АДРЕСА только? (Или, по меньшей мере, один публичный ключ от одного человека (меня), а а Bitcoin адрес кого-то другого?)

есть способ Рассчитайте PUBLIC KEY (Публичный) от Bitcoin Адреса?

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


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


8 января 2015, 7:57:51 PM   # 2
 
 
Сообщения: 1218
Цитировать по имени
цитировать ответ
по умолчанию Re: MultiSig НО с Bitcoin адреса НЕ открытые ключи

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





Нет там никакой возможности выполнить multisig с адресами.
Нет, вы не можете вычислить открытый ключ от адреса.

Адрес является pubkeyhash закодированы в base58 с версии и контрольной суммы. Это может быть расшифровано обратно в pubkeyhash, но вы можете получить Публичный из pubkeyhash, потому что хэширования функции по своей природе один путем.

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

8 января 2015, 9:36:19 PM   # 3
 
 
Сообщения: 9
Цитировать по имени
цитировать ответ
по умолчанию Re: MultiSig НО с Bitcoin адреса НЕ открытые ключи

Спасибо DeathAndTaxes;

Как я могу сделать адрес multiSig с только регулярным Адресом Bitcoin?

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

8 января 2015, 10:07:48 PM   # 4
 
 
Сообщения: 1218
Цитировать по имени
цитировать ответ
по умолчанию Re: MultiSig НО с Bitcoin адреса НЕ открытые ключи

Еще раз "Нет там никакой возможности выполнить multisig с адресами."

Вы должны иметь два или более открытых ключей. Не адреса или pubkeyhashes.


Технически адрес может быть создан из хэша пользовательского сценария (P2SH), но я не уверен, если есть необходимые op_codes на языке сценариев, чтобы позволить вам проверить с подписью одного из многих pubkeyhashes.
DeathAndTaxes сейчас офлайн Пожаловаться на DeathAndTaxes   Ответить с цитированием Мультицитирование сообщения от DeathAndTaxes Быстрый ответ на сообщение DeathAndTaxes

8 января 2015, 10:29:25 PM   # 5
 
 
Сообщения: 352
Цитировать по имени
цитировать ответ
по умолчанию Re: MultiSig НО с Bitcoin адреса НЕ открытые ключи

Спасибо DeathAndTaxes;

Как я могу сделать адрес multiSig с только регулярным Адресом Bitcoin?

Я пытаюсь создать Bitcoin адрес, где любой один из двух (или трех) Bitcoin частных адресов может подписать сделку.

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

8 января 2015, 10:39:26 PM   # 6
 
 
Сообщения: 352
Цитировать по имени
цитировать ответ
по умолчанию Re: MultiSig НО с Bitcoin адреса НЕ открытые ключи

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

Ты можешь сделать "или" такие случаи с разветвлением OP_IFs (внутри P2SH). Простейшее случай 1/2:

Код:
OP_IF
OP_DUP OP_HASH160 <адрес 1> OP_EQUALVERIFY OP_CHECKSIG.
OP_ELSE
OP_DUP OP_HASH160 <Адрес 2> OP_EQUALVERIFY OP_CHECKSIG.
OP_ENDIF

...затем подписать с OP_1 или OP_0 флагом на конце, чтобы сказать, какая ветвь должно быть использовано.

Для JavaScript это может помочь:
https://github.com/edmundedgar/bitcoin-branching-transaction-builder
Я не пробовал для этого конкретного случая, но я думаю, что это было бы хорошо.

Это в настоящее время нестандартным, но она должна стать стандартом, как люди начинают работает Bitcoin 0,10. В том же время вы должны быть в состоянии транслировать его с blockchain.info, и он должен получить добытую Discus рыбы или Eligius, которые, как правило, получить его, добытую в течение часа или два.
edmundedgar сейчас офлайн Пожаловаться на edmundedgar   Ответить с цитированием Мультицитирование сообщения от edmundedgar Быстрый ответ на сообщение edmundedgar

8 января 2015, 11:12:52 PM   # 7
 
 
Сообщения: 1106
Цитировать по имени
цитировать ответ
по умолчанию Re: MultiSig НО с Bitcoin адреса НЕ открытые ключи

edmundedgar находится на правильном пути, но еще лучший способ сделать это состоит в адаптации BIP19 Люк-младший:

{} Публичного OP_CHECKSIG OP_SWAP {Публичный} OP_CHECKSIG OP_ADD OP_SWAP {Публичные} OP_CHECKSIG OP_ADD {п} OP_EQUAL

Заменить {Публичного} OP_CHECKSIG по мере необходимости; Вы даже можете смешивать-н-сопрягать с различными формами.

https://github.com/bitcoin/bips/blob/master/bip-0019.mediawiki
Peter Todd сейчас офлайн Пожаловаться на Питер Тодд   Ответить с цитированием Мультицитирование сообщения от Peter Todd Быстрый ответ на сообщение Peter Todd

9 января 2015, 4:40:23 AM   # 8
 
 
Сообщения: 9
Цитировать по имени
цитировать ответ
по умолчанию Re: MultiSig НО с Bitcoin адреса НЕ открытые ключи

Код:
OP_IF
OP_DUP OP_HASH160 <адрес 1> OP_EQUALVERIFY OP_CHECKSIG.
OP_ELSE
OP_DUP OP_HASH160 <Адрес 2> OP_EQUALVERIFY OP_CHECKSIG.
OP_ENDIF

1) Питер Тодд. Вы говорите, что ваш вариант лучше. Но, кажется, включает в себя PubKeys. Мне нужно включить два (или, по меньшей мере, один) Bitcoin адреса (потому что я не имею Публичные, они не мои адреса)
Так будет BIP19 помочь мне здесь? и он теперь доступен?

2) Edmundedgar: Спасибо. Так что ваше решение должно работать, как только все движется к 0.10 Bitcoin и если возможно, правильный пул ловит мою сделку. А я понимаю, что не так ли? Если неправильный пул получает его. она уходит обратно в очереди, пока они ОНИ обработать транзакцию?

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

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

9 января 2015, 5:30:21 AM   # 9
 
 
Сообщения: 9
Цитировать по имени
цитировать ответ
по умолчанию Re: MultiSig НО с Bitcoin адреса НЕ открытые ключи


@edmundedgar; используя свой код и "Bitcoin-разветвление-транзакций строитель" проект (и Питер Тодд общественного Bitcoin адрес, чтобы он мог подписать TRANSACTION)

Код:
вар Биткойн = требуется ( 'bitcoinjs-Lib');
вар BranchingTransactionBuilder = требуется ( './ SRC / branching_transaction_builder');
вар Script = bitcoin.Script;

вар BitcoinAddress1 = "1KYestTGTEJzM5pR7AAQ7ckBE55ytLRaDk";
вар BitcoinAddress2 = "1FCYd7j4CThTMzts78rh6iQJLBRGPW9fWv";
вар правила = "OP_IF OP_DUP OP_HASH160 "+ BitcoinAddress1 + " OP_EQUALVERIFY OP_CHECKSIG. OP_ELSE OP_DUP OP_HASH160 " + BitcoinAddress2 + "  OP_EQUALVERIFY OP_CHECKSIG. OP_ENDIF";
вар NewP2SHAddress = Script.fromASM (правила);

console.log (NewP2SHAddress.buffer.toString ( 'шестигранной'));


 Я получаю Bitcoin адрес: 6376a90088006776a900880068

Это правильно? Где redeemScript
damianmontero сейчас офлайн Пожаловаться на damianmontero   Ответить с цитированием Мультицитирование сообщения от damianmontero Быстрый ответ на сообщение damianmontero

9 января 2015, 5:51:12 AM   # 10
 
 
Сообщения: 1218
Цитировать по имени
цитировать ответ
по умолчанию Re: MultiSig НО с Bitcoin адреса НЕ открытые ключи

Быстрый наконечник вы и edmundedgar являются приравнивая PubKeyHash с адресом. Публичный, PubKeyHas и BitcoinAddress являются различными предметами. Адрес является PubKeyHash (или ScriptHash) плюс данные контрольной суммы и версии, закодированные в base58. Сеть Bitcoin не использует адреса. Адреса только для людей. Так что в вашем коде, вам нужно будет декодировать адреса в PubKeyHash и в конце результата в ScriptHash, который затем должен быть закодирован в качестве адреса (если вы показываете его пользователю).


PubKeyHash = RIPEMD-160 (SHA-256 (Публичный)
Адрес = Base58 (версия | PubKeyHash | контрольная сумма)

На редактирования: исправил алгоритм хэширования
DeathAndTaxes сейчас офлайн Пожаловаться на DeathAndTaxes   Ответить с цитированием Мультицитирование сообщения от DeathAndTaxes Быстрый ответ на сообщение DeathAndTaxes

9 января 2015, 6:04:50 AM   # 11
 
 
Сообщения: 1148
Цитировать по имени
цитировать ответ
по умолчанию Re: MultiSig НО с Bitcoin адреса НЕ открытые ключи

Некоторые адреса были известны открытые ключи на блок цепи, но только искать их будет не очень практично, так как не все адреса были известны открытые ключи. Вновь созданный адрес не будет иметь один на цепи; вам нужно / хочу, чтобы ваши клиенты дают вам их pubkeys непосредственно, тем или иным образом. В идеале, они бы создать новый адрес только для данного контракта.
Taras сейчас офлайн Пожаловаться на Taras   Ответить с цитированием Мультицитирование сообщения от Тарас Быстрый ответ на сообщение Тарас

9 января 2015, 6:37:01 AM   # 12
 
 
Сообщения: 1106
Цитировать по имени
цитировать ответ
по умолчанию Re: MultiSig НО с Bitcoin адреса НЕ открытые ключи

Код:
OP_IF
OP_DUP OP_HASH160 <адрес 1> OP_EQUALVERIFY OP_CHECKSIG.
OP_ELSE
OP_DUP OP_HASH160 <Адрес 2> OP_EQUALVERIFY OP_CHECKSIG.
OP_ENDIF

1) Питер Тодд. Вы говорите, что ваш вариант лучше. Но, кажется, включает в себя PubKeys. Мне нужно включить два (или, по меньшей мере, один) Bitcoin адреса (потому что я не имею Публичные, они не мои адреса)
Так будет BIP19 помочь мне здесь? и он теперь доступен?

Это об этом немного сложнее: вы можете заменить <Публичных> CHECKSIG узор в BIP19 с OP_DUP OP_HASH160 <Адрес 2> OP_EQUALVERIFY OP_CHECKSIG.

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

9 января 2015, 6:39:25 AM   # 13
 
 
Сообщения: 1218
Цитировать по имени
цитировать ответ
по умолчанию Re: MultiSig НО с Bitcoin адреса НЕ открытые ключи

это "OP_DUP OP_HASH160 <PubKeyHash> OP_EQUALVERIFY OP_CHECKSIG",
DeathAndTaxes сейчас офлайн Пожаловаться на DeathAndTaxes   Ответить с цитированием Мультицитирование сообщения от DeathAndTaxes Быстрый ответ на сообщение DeathAndTaxes

9 января 2015, 7:41:54 AM   # 14
 
 
Сообщения: 1848
Цитировать по имени
цитировать ответ
по умолчанию Re: MultiSig НО с Bitcoin адреса НЕ открытые ключи

PubKeyHash = SHA-256 (SHA-256 (Публичный)
Адрес = Base58 (версия | PubKeyHash | контрольная сумма)

Нит: что должно быть RIPEMD-160 (SHA-256 (Публичный)).
dserrano5 сейчас офлайн Пожаловаться на dserrano5   Ответить с цитированием Мультицитирование сообщения от dserrano5 Быстрый ответ на сообщение dserrano5

9 января 2015, 8:03:51 AM   # 15
 
 
Сообщения: 1260
Цитировать по имени
цитировать ответ
по умолчанию Re: MultiSig НО с Bitcoin адреса НЕ открытые ключи

котировка
Ты можешь сделать "или" такие случаи с разветвлением OP_IFs (внутри P2SH). Простейшее случай 1/2:
Вы можете также сделать "а также" случаи внутри P2SH
amaclin сейчас офлайн Пожаловаться на amaclin   Ответить с цитированием Мультицитирование сообщения от amaclin Быстрый ответ на сообщение amaclin

9 января 2015, 8:22:25 AM   # 16
 
 
Сообщения: 1750
Цитировать по имени
цитировать ответ
по умолчанию Re: MultiSig НО с Bitcoin адреса НЕ открытые ключи

Это multisig 2-из-2, используя "адреса"

Код:
OP_DUP OP_HASH160 OP_EQUALVERIFY OP_CHECKSIGVERIFY OP_DUP OP_HASH160 OP_EQUALVERIFY OP_CHECKSIG

1-из-2 multisig

Код:
OP_DUP OP_HASH160 OP_EQUALVERIFY OP_CHECKSIG OP_TOALTSTACK OP_DUP OP_HASH160 OP_EQUALVERIFY OP_CHECKSIG OP_FROMALTSTACK OP_ADD

2-3 из-multisig

Код:
OP_DUP OP_HASH160 OP_EQUALVERIFY OP_CHECKSIG OP_TOALTSTACK OP_DUP OP_HASH160 OP_EQUALVERIFY OP_CHECKSIG OP_TOALTSTACK OP_DUP OP_HASH160 OP_EQUALVERIFY OP_CHECKSIG OP_FROMALTSTACK OP_FROMALTSTACK OP_ADD OP_ADD OP_2 OP_EQUAL

Однако это не является стандартной, так не многие горняки шахты для вас (P2SH может работать?). Самое главное, что ни один из нынешних клиентов Bitcoin не может создать подпись для сценария.
jl2012 сейчас офлайн Пожаловаться на jl2012   Ответить с цитированием Мультицитирование сообщения от jl2012 Быстрый ответ на сообщение jl2012

9 января 2015, 1:05:07 PM   # 17
 
 
Сообщения: 352
Цитировать по имени
цитировать ответ
по умолчанию Re: MultiSig НО с Bitcoin адреса НЕ открытые ключи


@edmundedgar; используя свой код и "Bitcoin-разветвление-транзакций строитель" проект (и Питер Тодд общественного Bitcoin адрес, чтобы он мог подписать TRANSACTION)

Код:
вар Биткойн = требуется ( 'bitcoinjs-Lib');
вар BranchingTransactionBuilder = требуется ( './ SRC / branching_transaction_builder');
вар Script = bitcoin.Script;

вар BitcoinAddress1 = "1KYestTGTEJzM5pR7AAQ7ckBE55ytLRaDk";
вар BitcoinAddress2 = "1FCYd7j4CThTMzts78rh6iQJLBRGPW9fWv";
вар правила = "OP_IF OP_DUP OP_HASH160 "+ BitcoinAddress1 + " OP_EQUALVERIFY OP_CHECKSIG. OP_ELSE OP_DUP OP_HASH160 " + BitcoinAddress2 + "  OP_EQUALVERIFY OP_CHECKSIG. OP_ENDIF";
вар NewP2SHAddress = Script.fromASM (правила);

console.log (NewP2SHAddress.buffer.toString ( 'шестигранной'));


 Я получаю Bitcoin адрес: 6376a90088006776a900880068

Это правильно? Где redeemScript


Я просто добавил быстрый тест для разветвления версии оплаты за открытыми ключами хэша - надеюсь, это сделает его более ясным, как это должно работать. В основном bitcoinlib-Js позаботится о том биты внутри OP_IF ветвлений, и моя вещь заботится о положить их вместе в виде разветвленного сценария, так что вам не нужно положить в своих собственных сценариях из кода ASM или что-нибудь.
https://github.com/edmundedgar/bitcoin-branching-transaction-builder/blob/master/test/branching_transaction_builder.js#L81

Blockchain.info взял мой искупительную TX (нестандартный один) - давайте посмотрим, будет ли это подтвердить в разумный срок (или вообще ...)
https://blockchain.info/tx/7d8cf0dac56e90bfff76cee1a13464cc07f0ac36241b6703a894d28987630218
Изменить, чтобы добавить: Да, Элигии взяли его.

Некоторые из других предложений, люди сделали здесь будут по-разному более гибкими (для более комбинаций условий) и более экономичны (в экономии несколько байт), чем у меня, но вы должны работать, как подписать их, так как мой код выиграл «т помочь вам. YMMV, дайте нам знать, как вы получите на ...
edmundedgar сейчас офлайн Пожаловаться на edmundedgar   Ответить с цитированием Мультицитирование сообщения от edmundedgar Быстрый ответ на сообщение edmundedgar

9 января 2015, 2:43:01 PM   # 18
 
 
Сообщения: 1078
Цитировать по имени
цитировать ответ
по умолчанию Re: MultiSig НО с Bitcoin адреса НЕ открытые ключи

Это сообщение было слишком стар и продут
Evil-Knievel сейчас офлайн Пожаловаться на Зла-Knievel   Ответить с цитированием Мультицитирование сообщения от Evil-Knievel Быстрый ответ на сообщение Evil-Knievel

9 января 2015, 3:08:00 PM   # 19
 
 
Сообщения: 9
Цитировать по имени
цитировать ответ
по умолчанию Re: MultiSig НО с Bitcoin адреса НЕ открытые ключи

котировка
Если у вас есть андроид клиент. если у вас есть учетная запись blockchain.info. Вы НЕ иметь открытый ключ.

На самом деле, вы делаете.

Давайте посмотрим, что доказательство. Потому что, если вы можете помочь мне найти "ОткрытыйКлюч" из моих существующих счетов blockchain.info или андроида бумажника, то мы решить мою исходную задачу.

Реальная проблема.

Я хочу сделать 1of2 адрес и у меня есть Публичный, но у меня нет моей мамы (или сестер, или друзей), потому что они используют учетную запись blockchain.info и программное обеспечение для Android Wallet.
damianmontero сейчас офлайн Пожаловаться на damianmontero   Ответить с цитированием Мультицитирование сообщения от damianmontero Быстрый ответ на сообщение damianmontero

9 января 2015, 3:11:39 PM   # 20
 
 
Сообщения: 1260
Цитировать по имени
цитировать ответ
по умолчанию Re: MultiSig НО с Bitcoin адреса НЕ открытые ключи

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



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW