Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
18 марта 2015, 4:08:55 PM   # 1
 
 
Сообщения: 805
Цитировать по имени
цитировать ответ
по умолчанию Re: Enforcing 'N' подписантов подписав заказ на м-о-н P2SH Vs. Multisig

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


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

Например, если 6 человек согласны создать P2SH сделку 6-в-6 и подписать его в последовательности, где Человек А является первым подписать и Person F является последним знаком. Имеет ли Человек А, который создает сценарий P2SH указать в скрипте, что 6 людей должны подписать?

То есть может Person E знак и транслировать сделку P2SH, пропускает Person F и делают сделку 5-в-5?
NO_2 сейчас офлайн Пожаловаться на NO_2   Ответить с цитированием Мультицитирование сообщения от NO_2 Быстрый ответ на сообщение NO_2


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


18 марта 2015, 4:24:58 PM   # 2
 
 
Сообщения: 2002
Цитировать по имени
цитировать ответ
по умолчанию Re: Enforcing 'N' подписантов подписав заказ на м-о-н P2SH Vs. Multisig

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





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

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

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

Пример:

Я создаю транзакцию финансирование P2SH.
При создании сделки, я определяю 4 правом подписи.
При создании транзакции, я определить требование о том, 3 из этих подписей присутствовать.
Я затем подписать мою сделку и транслировать его. (См, только я один, который должен подписать это, так как я посылаю средства, которые я лично контролировать)
Сделка, в конечном счете, добывала и добавляет к blockchain.

Теперь единственный способ, которым эти средства могут быть использованы для финансирования будущей сделки, если подписи обеспечиваются 3 из 4 необходимых подписантов.

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

18 марта 2015, 5:10:21 PM   # 3
 
 
Сообщения: 805
Цитировать по имени
цитировать ответ
по умолчанию Re: Enforcing 'N' подписантов подписав заказ на м-о-н P2SH Vs. Multisig

Спасибо за это.

Я говорю более конкретно в случае, когда количество партий сопоставляя средства на один адрес P2SH.

Чтобы дать другой пример два человека доверчивые 4 отдельных эский заботиться о своих средств, поэтому первый человек создает Сделку с 2 входами (по одному для каждого человека сдачей на хранение деньги) и один выход P2SH. Первый человек затем подписывает первый вход и выход сценарий P2SH и передает его на второй человек, который делает то же самое. Второй человек затем передает его на первый эскроу.

В этом случае мы должны предположить, что мы не можем полностью доверять любому из эскроу, которые должны войти в последовательности. Поэтому то, что остановить любой из этих эскроу от подписания выходного P2SH сделки, а затем передавать его в начале исключая другие эскроу от подписания? Например. если первые вещает условного депонирования, то они могли бы создать 3-в-3 вместо предполагаемого 6-в-6?

Я в настоящее время под впечатлением это было бы невозможно, так как она обеспечивается с помощью сценария, который был создан первым человеком, как 6-на-6?

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

18 марта 2015, 5:31:30 PM   # 4
 
 
Сообщения: 478
Цитировать по имени
цитировать ответ
по умолчанию Re: Enforcing 'N' подписантов подписав заказ на м-о-н P2SH Vs. Multisig

P2SH точно, что: PAY TO SCRIPT HASH.

Другими словами, сценарий установлен в камне второй вы финансировать его.

Если вы не финансировать его ... нет ничего подписывать.



Итак, другими словами, нет, вы не можете сделать ситуацию вы описали.

Поток работает следующим образом:

Я делаю P2SH multisig, которое м от п.

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

Затем я получаю адрес P2SH. (Который является хэш, поэтому неизменна после доработки)

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

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

18 марта 2015, 5:38:30 PM   # 5
 
 
Сообщения: 805
Цитировать по имени
цитировать ответ
по умолчанию Re: Enforcing 'N' подписантов подписав заказ на м-о-н P2SH Vs. Multisig

Благодаря,

Таким образом, чтобы исправить последний пример, который я дал первый и второй человек получит 4 эскроу, чтобы подписать скрипт вывода P2SH первый. Тогда первый человек подпишет первый вход и выход P2SH, то тогда второй человек подпишет второй вход и выход P2SH и транслировать TX.

Таким образом, нет никакого риска эского передающего ОЙ рано. (Edit: и предоставление средств ООН-расходуемые)

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

18 марта 2015, 5:39:51 PM   # 6
 
 
Сообщения: 1218
Цитировать по имени
цитировать ответ
по умолчанию Re: Enforcing 'N' подписантов подписав заказ на м-о-н P2SH Vs. Multisig

Я думаю, что (на основе вашей формулировки), вы можете запутаться, чтобы, когда сценарий P2SH оценивается. Сценарий, который хешируется является redeemScript, поскольку она оценивается только тогда, когда средства расходуются не получили от / по адресу P2SH. 

Требования к расходам устанавливаются на выходе тратятся. Если вы отправляете деньги на мой адрес P2SH это ваши ключи не мои, которые используются в подписи. Это ничем не отличается, чем один из ключевых сценария. Разница между P2SH и P2PkH происходит только тогда, когда средства расходуются «от» адреса. Отправка средств на адрес совпадает. В обоих случаях получатель не участвует на всех обеспечения адреса. 

Попечители в вашем примере не будет подписывать сделку финансирования на всех. Это ничем не отличается, чем для P2PkH. Если я дам вам мой адрес мне не нужно подписывать сделку для того, чтобы иметь возможность отправлять монеты ко мне.

Пример может помочь:
Алиса, Боб, и Чарли есть ситуация, в которой они нуждаются в контроле многопользовательского тратить (не получить) средства. Они создают сценарий С. Это redeemScript и им нужно будет сохранить копию или быть в состоянии воспроизвести его позже из некоторых детерминированного способа. Когда HASH256 применяются к этому сценарию он создает хэш Hs. Когда закодированы в Base58 это порождало адрес Как для пользователей, которые хотят, чтобы направить средства на них. 

Пример redeemScript
Код:
2 3 OP_CHECKMULTISIG

В этом сценарии м 2 и п 3. Как вы можете видеть, п ​​несколько излишним, потому что есть три открытых ключей там. Если вы имели п значение ничего, кроме трех в этом случае скрипт будет недействительным. Т = 2 означает, что тратить монеты, полученные Как TXN необходимо будет подписан ровно два из трех ключей, указанных.


Теперь Джо и Сэм хотел бы направить средства на организацию Алиса, Боб, и Чарли. Джо и Сэм создать сделку (или отделите сделки) отправка средств для решения As. PkScript на выходе этого TXN содержит короткий скрипт, который выглядит примерно так.

Код:
OP_HASH160 OP_EQUAL

бумажник Джо принимает адрес, выданный (As) декодирует и из-за «версию» знает выход является ScriptHash (Hs) и создает этот конкретный сценарий как PkScript выхода TxN. Выход теперь привязан к сценарию (S), которая будет предоставлена ​​позже, когда средства расходуются.

Только подписи в этой «операции финансирования» являются Джо и / или Сэм. Теперь позже неродственного TXN нужно проводить из As средств. Вход этого TXN будет ссылаться на один или несколько неизрасходованных выходов (возможно, Джо или перед txns Сэма). ScriptSig на входе потребует как полный redeemScript (проверить это делает хэш Hs) и два действительных подписей, полученных из множества Алисы, Боба и закрытые ключи Чарли.
DeathAndTaxes сейчас офлайн Пожаловаться на DeathAndTaxes   Ответить с цитированием Мультицитирование сообщения от DeathAndTaxes Быстрый ответ на сообщение DeathAndTaxes

18 марта 2015, 5:58:38 PM   # 7
 
 
Сообщения: 1218
Цитировать по имени
цитировать ответ
по умолчанию Re: Enforcing 'N' подписантов подписав заказ на м-о-н P2SH Vs. Multisig

Таким образом, чтобы исправить последний пример, который я дал первый и второй человек получит 4 эскроу, чтобы подписать скрипт вывода P2SH первый.

Нет ни один из escrows не подпишет TxN отправку средств по адресу P2SH.

Это на самом деле не отличается от отдельных клавиш. Я дам вам один адрес ключа. Вы можете создать TxN отправки 1 BTC по этому адресу. Кто подписывает TxN?
а) вы
б) мне
с) ты и я

Я дам вам адрес P2SH. Вы можете создать TxN отправки 1 BTC по этому адресу. Кто подписывает TxN?
а) вы
б) мне
с) ты и я

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

18 марта 2015, 6:23:32 PM   # 8
 
 
Сообщения: 805
Цитировать по имени
цитировать ответ
по умолчанию Re: Enforcing 'N' подписантов подписав заказ на м-о-н P2SH Vs. Multisig

Спасибо, что нашли время, чтобы объяснить это.

Поэтому говорить конкретно о P2SH, если у меня есть открытые ключи для всех подписантов мне нужно (например, 3 открытых ключей), это вся информация, мне нужно, чтобы сформировать адрес P2SH, где я могу указать м <= 3 и п, как >= 1, но <= 3?
NO_2 сейчас офлайн Пожаловаться на NO_2   Ответить с цитированием Мультицитирование сообщения от NO_2 Быстрый ответ на сообщение NO_2

18 марта 2015, 6:39:40 PM   # 9
 
 
Сообщения: 2002
Цитировать по имени
цитировать ответ
по умолчанию Re: Enforcing 'N' подписантов подписав заказ на м-о-н P2SH Vs. Multisig

Спасибо, что нашли время, чтобы объяснить это.

Поэтому говорить конкретно о P2SH, если у меня есть открытые ключи для всех подписантов мне нужно (например, 3 открытых ключей), это вся информация, мне нужно, чтобы сформировать адрес P2SH, где я могу указать м <= 3 и п, как >= 1, но <= 3?

Да. Я уже объяснил это:

- чик -
Пример:

Я создаю транзакцию финансирование P2SH.
При создании сделки, я определяю 4 правом подписи.
При создании транзакции, я определить требование о том, 3 из этих подписей присутствовать.
Я затем подписать мою сделку и транслировать его. (См, только я один, который должен подписать это, так как я посылаю средства, которые я лично контролировать)

Сделка, в конечном счете, добывала и добавляет к blockchain.
- чик -

Мой пример работает так же, если есть 2 человека, финансирующий адрес, который в конечном счете потребует 5 из 6 подписей.

Пример:

  • Каждые из этих двух людей, финансирующих P2SH обеспечивают неизрасходованные результаты, которые они будут использовать для финансирования сделки.
  • Один человек с доступом ко всем шести открытых ключей создает транзакцию финансирование P2SH. (Только один человек должен создать это, больше может участвовать, если это желательно, но потом кто-то финансирует сделку следует пересмотреть его, прежде чем подписать его, чтобы убедиться, что он правильно реализует то, что они согласились).
  • При создании транзакции, они определяют 6 уполномоченных подписавшиеся на расходы вновь созданное производство в будущем.
  • При создании транзакции, они определяют требование, что 5 из этих подписей присутствовать.
  • Каждый из этих двух людей, которые финансируют P2SH каждый обзор и подписать сделку. (См только те ФИНАНСИРОВАНИЕ сделки должны подписать его. Не те, что получают его).
  • Транзакция транслируется
  • Сделка, в конечном счете, добавляется к blockchain

Теперь единственный способ, которым эти средства могут быть использованы для финансирования будущей сделки, если подпись предоставляется на 5 из 6 необходимых подписантов.

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

18 марта 2015, 6:41:04 PM   # 10
 
 
Сообщения: 1218
Цитировать по имени
цитировать ответ
по умолчанию Re: Enforcing 'N' подписантов подписав заказ на м-о-н P2SH Vs. Multisig

Поэтому говорить конкретно о P2SH, если у меня есть открытые ключи для всех подписантов мне нужно (например, 3 открытых ключей), это вся информация, мне нужно, чтобы сформировать адрес P2SH, где я могу указать м <= 3 и п, как >= 1, но <= 3?

Да. Также м <= П, не ясно, как вы сформулированный его. Другой Гоча это многие пользователи думают о своем обращении в качестве ключа, а адрес декодирует к pubkeyhash * а не Публичным.    

* Теперь, когда v.10 делает большинство искупит сценарии стандарт можно было бы сделать multisig скрипт, используя pubkeyhashes. Это сделало бы его гораздо проще установить депозитные и каналы оплаты, так как пользователи могут просто предоставить свой адрес. Плохая новость не стандартный клиент не поймет, как знак того, что сделки прямо сейчас, но, возможно, когда-нибудь, как это может быть изменено с помощью обновления клиентов. Ни одна вилка протокола не требуется.
DeathAndTaxes сейчас офлайн Пожаловаться на DeathAndTaxes   Ответить с цитированием Мультицитирование сообщения от DeathAndTaxes Быстрый ответ на сообщение DeathAndTaxes

18 марта 2015, 7:05:06 PM   # 11
 
 
Сообщения: 805
Цитировать по имени
цитировать ответ
по умолчанию Re: Enforcing 'N' подписантов подписав заказ на м-о-н P2SH Vs. Multisig

Да. Я уже объяснил это:

- чик -
Пример:

Я создаю транзакцию финансирование P2SH.
При создании сделки, я определяю 4 правом подписи.
При создании транзакции, я определить требование о том, 3 из этих подписей присутствовать.
Я затем подписать мою сделку и транслировать его. (См, только я один, который должен подписать это, так как я посылаю средства, которые я лично контролировать)

Сделка, в конечном счете, добывала и добавляет к blockchain.
- чик -

Мой пример работает так же, если есть 2 человека, финансирующий адрес, который в конечном счете потребует 5 из 6 подписей.
...

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

Каждые из этих двух людей, финансирующих P2SH обеспечивают неизрасходованные результаты, которые они будут использовать для финансирования сделки

Под «обеспечить» здесь вы имеете в виду, что они предоставляют отдельные подписи на «провести» каждый из двух выходов в этой новой транзакции?

Каждый из этих двух людей, которые финансируют P2SH каждый обзор и подписать сделку. (См только те ФИНАНСИРОВАНИЕ сделки должны подписать его. Не те, что получают его).

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

18 марта 2015, 7:07:19 PM   # 12
 
 
Сообщения: 805
Цитировать по имени
цитировать ответ
по умолчанию Re: Enforcing 'N' подписантов подписав заказ на м-о-н P2SH Vs. Multisig

Поэтому говорить конкретно о P2SH, если у меня есть открытые ключи для всех подписантов мне нужно (например, 3 открытых ключей), это вся информация, мне нужно, чтобы сформировать адрес P2SH, где я могу указать м <= 3 и п, как >= 1, но <= 3?

Да. Также м <= П, не ясно, как вы сформулированный его. Другой Гоча это многие пользователи думают о своем обращении в качестве ключа, а адрес декодирует к pubkeyhash а не Публичных.     

Можно сделать redeemScript, который проверяет подпись образует несколько pubkeyhashes вместо pubkeys. Плохая новость не стандартный клиент не поймет, как подписать эту сделку. Хорошая новость заключается в том, что это может быть изменена только обновлениями клиента не будет требовать вилки протокола.

Спасибо за помощь здесь.

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

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

18 марта 2015, 8:15:27 PM   # 13
 
 
Сообщения: 2002
Цитировать по имени
цитировать ответ
по умолчанию Re: Enforcing 'N' подписантов подписав заказ на м-о-н P2SH Vs. Multisig

- чик -
Каждые из этих двух людей, финансирующих P2SH обеспечивают неизрасходованные результаты, которые они будут использовать для финансирования сделки

Под «обеспечить» здесь вы имеете в виду, что они предоставляют отдельные подписи на «провести» каждый из двух выходов в этой новой транзакции?
- чик -

Нет. В данный момент нет подписи. Подписи не не предоставляется до тех пор, когда сделка будет полностью построена.

То, что я имею в виду, что человек строит сделку нужно будет точно знать, какие выходы используются для финансирования сделки. Они будут нуждаться в списке значений TransactionID и Vout, что они будут использовать в качестве входных данных в этой транзакции.
DannyHamilton сейчас офлайн Пожаловаться на DannyHamilton   Ответить с цитированием Мультицитирование сообщения от DannyHamilton Быстрый ответ на сообщение DannyHamilton

19 марта 2015, 11:12:38 AM   # 14
 
 
Сообщения: 805
Цитировать по имени
цитировать ответ
по умолчанию Re: Enforcing 'N' подписантов подписав заказ на м-о-н P2SH Vs. Multisig

Таким образом, чтобы подтвердить, что я получил логику этого и зависимостей исправить:

Scriptsig является подписью, которая разблокирует Scriptpubkey где Scriptpubkey является выходом данной транзакции, которые должны быть удовлетворены, чтобы быть расходуемыми на новый выход.

Правильно ли я думать, что Scriptsig является секретным ключом подписи по всей (?) Сделке, которая затем может быть проверена с помощью открытого ключа?

А открытый ключ может быть проверено, как он соответствует хэш выхода предыдущей транзакции (адрес Bitcoin)?

И открытый ключ и Scriptsig посылаются с новой транзакцией.

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

19 марта 2015, 2:39:48 PM   # 15
 
 
Сообщения: 2002
Цитировать по имени
цитировать ответ
по умолчанию Re: Enforcing 'N' подписантов подписав заказ на м-о-н P2SH Vs. Multisig

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

19 марта 2015, 3:08:20 PM   # 16
 
 
Сообщения: 805
Цитировать по имени
цитировать ответ
по умолчанию Re: Enforcing 'N' подписантов подписав заказ на м-о-н P2SH Vs. Multisig

Спасибо, я могу также проверить, я получил это право:

Когда транзакция хранится на blockchain, сценарий Scriptpubkey, который содержит адрес хранится в виде условия для удовлетворения использовать выход.

Scriptsig и открытый ключ не хранится на blockchain.

Scriptpubkey является фактический сценарий, хранится на blockchain, что является условием требуется (для оценки, как «True»), чтобы иметь возможность провести этот вывод на выход (ы) другой транзакции с одного сценария на выход.
NO_2 сейчас офлайн Пожаловаться на NO_2   Ответить с цитированием Мультицитирование сообщения от NO_2 Быстрый ответ на сообщение NO_2

19 марта 2015, 4:40:59 PM   # 17
 
 
Сообщения: 2002
Цитировать по имени
цитировать ответ
по умолчанию Re: Enforcing 'N' подписантов подписав заказ на м-о-н P2SH Vs. Multisig

Спасибо, я могу также проверить, я получил это право:

Когда транзакция хранится на blockchain, сценарий Scriptpubkey который содержит адрес хранится в условиях, чтобы удовлетворить использовать выход.

Scriptpubkey является фактический сценарий, хранится на blockchain, что является условием требуется (для оценки, как «True»), чтобы иметь возможность провести этот вывод на выход (ы) другой транзакции с одного сценария на выход.

Верный.

Примечание относительно подчеркнутой части:

ScriptPubKey обычно не "содержат адрес", Адрес является функция пользовательского интерфейса используется кошельков для сбора и проверки информации, необходимой для построения ScriptPubKey. Как таковой, адрес Bitcoin обычно включает в себя кодированный номер версии и контрольную сумму. При создании фактического ScriptPubKey, бумажник декодирует адрес, извлекает из него хэша открытого ключа, проверяет контрольную сумму, и использует номер версии точно определить, какой тип сценария для создания. ScriptPubKey затем, как правило, включает в себя открытый ключе хэш, а не Bitcoin адрес. Кроме того, это возможно для вывода не требует подписей вообще. В этом случае не будет открытым ключом хэша, а там будет сценарий, который будет принимать некоторые материалы и оценивать либо «True» или «False» в зависимости от этого входа.

Scriptsig и открытый ключ не хранится на blockchain.

Это не правильно. При ссылке неизрасходованный вывода из предыдущей операции в качестве вклада в новую транзакцию, то Scriptsig и открытый ключ включены в вводе этой новой транзакции и ввод хранятся на blokchain в рамках новой сделки.

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

19 марта 2015, 4:53:09 PM   # 18
 
 
Сообщения: 464
Цитировать по имени
цитировать ответ
по умолчанию Re: Enforcing 'N' подписантов подписав заказ на м-о-н P2SH Vs. Multisig

Вы можете думать, что это более. Прежде всего, P2SH и мульти-сиг две ортогональные вещи. Вы можете иметь P2SH без мульти-сига, мульти-сига без P2SH и т.д.

Итак, давайте начнем с не P2SH мульти-сиг. Так как это нормальный ОЕ, у вас есть pubscript и sigscript. Соединенный, они должны оценить, верно.
Мульти-сиг pubscript выглядит ... , Кто финансирует вывод решает, что открытые ключи и сколько необходимо.
Для того, чтобы тратить его подпись M должна быть предоставлена ​​в выкуплене сценарии.

Это все хорошо, но неудобна, так как добавить больше денег в пул, то есть, чтобы создать еще один вывод, который имеет те же требования, расходы, вы должны скопировать несколько значи pubscript. Сравните это с случае pubhash оплаты в-где адрес является достаточным. От адреса, приложение бумажника можно вычислить хэш паба и сформировать соответствующий скрипт с оплатой в-pubhash.

P2SH является выбранное решение этой проблемы (были предложены и другие решения). Обобщая, мы можем рассмотреть более широкий случай, когда сценарий является более сложным. В основном, P2SH не ограничиваются несколькими сиг, даже если они являются наиболее общеупотребительным.

Проблема: У нас есть pubscript X. Люди должны иметь возможность отправить деньги с одними и теми же условиями погашения без X. Секретности X не главное, но с очень длинным «адресом», который будет декодировать в X есть.

С P2SH, X хешируется подобно Публичным хешируются для классического сценария платных к-pubhash. Для того, чтобы отличить от более поздних, используется другой адрес версии.
Это делает P2SH адрес выделяется потому, что они начинаются с «3» вместо «1».

Люди могут отправлять деньги по адресу P2SH, не зная X. По существу, они посылают в хэш X, то есть хэш сценария. Таким образом, имя: Оплатите на Script Hash.

Когда кто-то хочет выкупить деньги, это становится немного более сложным для него больше, чем в обычном случае.
Он должен обеспечить выкуп сценарий (как в обычном случае) * и * он должен предоставить X.
Во-первых, Биткойн узел проверяет, что хэш X соответствует хэш заданной в P2SH. Затем он дополнительно проверяет, что выкупает сценарий является правильным в отношении X.

PS:
P2SH сценарий выглядит OP_HASH160 <гашиш> OP_EQUAL. Код проверки распознает этот конкретный сценарий и выполняет проверку на два шага. Клиент, который не знает P2SH бы сделать только первый шаг.
hhanh00 сейчас офлайн Пожаловаться на hhanh00   Ответить с цитированием Мультицитирование сообщения от hhanh00 Быстрый ответ на сообщение hhanh00

19 марта 2015, 4:55:30 PM   # 19
 
 
Сообщения: 805
Цитировать по имени
цитировать ответ
по умолчанию Re: Enforcing 'N' подписантов подписав заказ на м-о-н P2SH Vs. Multisig

...
Scriptsig и открытый ключ не хранится на blockchain.

Это не правильно. При ссылке неизрасходованный вывода из предыдущей операции в качестве вклада в новую транзакцию, то Scriptsig и открытый ключ включены в вводе этой новой транзакции и ввод хранятся на blokchain в рамках новой сделки.

Ах, я не понимаю. Сохранен ли открытый ключ «как есть», или это укороченный или хэшируются версия него открытый ключ?

Если это не укоротить ли она предоставляется в полном объеме для всех, чтобы видеть, что новая транзакция потратив этот вывод справедлив?
NO_2 сейчас офлайн Пожаловаться на NO_2   Ответить с цитированием Мультицитирование сообщения от NO_2 Быстрый ответ на сообщение NO_2

20 марта 2015, 10:21:03 AM   # 20
 
 
Сообщения: 805
Цитировать по имени
цитировать ответ
по умолчанию Re: Enforcing 'N' подписантов подписав заказ на м-о-н P2SH Vs. Multisig

Я имел взгляд вокруг, но не могу найти однозначный ответ на мой предыдущий вопрос.

Говоря только о P2SH:

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

Хранится этот сценарий ввода в полном объеме ввода сделки, которую проводит его, когда сделка добывается в blockchain?

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

Я также считать, сделка с одним или несколькими P2SH входами, который имеет один или несколько выходов P2SH стандарт? Предположим, что каждый сценарий ниже 1,650 байт, а общая сделка ниже 100000 байт.
NO_2 сейчас офлайн Пожаловаться на NO_2   Ответить с цитированием Мультицитирование сообщения от NO_2 Быстрый ответ на сообщение NO_2



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW