Во-первых, позвольте мне описать очень конкретные выгоды, которые могут быть получены от реализации предложения.
- Пользователи могут генерировать адрес Bitcoin, что при получении Bitcoins, автоматически обремененные на 2 закрытых ключей, или ключевой стратегии 2-в-3 - непосредственно уменьшая риск людей получать свои монеты потерянные или украденные.
- Новые Bitcoin адреса может быть сгенерирован надежно половинок на двух разных машинах, где ни машины (ни тот, кто коренится его) имеет достаточно закрытый ключ материал, чтобы тратить средства.
- Все адреса Bitcoin, полученные в этих двух схем будет полностью обратно совместимы и хорошо сформированные, и никто не должен был бы изменить их взаимодействия с bitcoind для размещения исходящих платежей по этим адресам
И позвольте мне описать, как все эти замечательные выгоды могут быть достигнуты.
- Одно простое изменение команды OP_CHECKSIG.
- Да, это потребовало бы вилку блока цепи, но это не должно быть сделано сейчас, в ближайшее время, или когда-либо, только для одной этой цели.
- Просто поместите код в настоящее время и оставить его выключенным через блок 250000 по производственной цепочке, пока некоторые другие внешние силы вызывают нас не раскошелиться блок цепь по какой-то другой причине. К тому времени, текущие версии, безусловно, будет вымершие динозавры, и если блок цепь вилка была когда-нибудь произойдет раньше, номер блока может быть легко перемещен, только как объединенная добыча namecoin пошло от 25000 до 19200, когда случай представился.
А теперь позвольте мне описать то, что изменение.
- Измените команду OP_CHECKSIG, поэтому там, где он теперь занимает ОДИН Публичные и одна подписи, это будет необязательно принимать бинарное-сериализованное логическое выражение п pubkeys вместо одной Публичных и п подписи подписать против pubkeys, некоторые из которых может быть или не может присутствовать в любом данной транзакции.
- Прямо сейчас, адрес Bitcoin кодирует хэш Публичных. С этим Кроме того, адрес Bitcoin может кодировать хэш всего двоичного сериализованном выражения. (The OP_HASH160 будет по-прежнему работать так же, как это было раньше, это будет просто хэширования больше байт).
- Для того, чтобы тратить деньги, то транжира должны были бы обеспечить все выражение вместо Публичных. Все выражение равно будет один комком байт в стеке сценариев просто как Публичная, но будет просто немного больше
Так вот пример. Как это работает сейчас, я посылаю биткоен на адрес X. излучающего Моего клиента:
Код:
OP_DUP OP_HASH160 hashofpubkeyofX OP_EQUALVERIFY OP_CHECKSIG
И когда X идет тратить их, он испускает scriptsig из:Код:
signatureforX pubkeyofX
С этой модификации, адрес Х может быть основан на хэш небольшой сценарий, который фактически содержит три pubkeys, расположенные в виде (А и В) или С. Поскольку адрес Bitcoin представляет собой хэш, а хэш берется на каплю байты, ничего не говорит о том, что капля байт не может быть сценарием, а не один открытым ключом. Клиент будет по-прежнему излучает тот же сценарий:
Код:
OP_DUP OP_HASH160 hashofpubkeyofthewholescript OP_EQUALVERIFY OP_CHECKSIG
И если X хочет провести их, и у него есть личные ключи для А и В, он будет излучать:
Код:
signatureforA + signatureforB + пустой сценарий: (pubkeyforA И pubkeyforB) ИЛИ pubkeyforC
OP_CHECKSIG будет проходить, потому что сценарий может быть удовлетворен только два из трех подписей.И если X хочет провести их и он только имеет закрытый ключ для C, он будет испускать:
Код:
нуль + нуль + signatureforC сценарий: (pubkeyforA И pubkeyforB) или pubkeyforC
Теперь, как безопасное поколение Bitcoin адрес будет работать:
Джо хочет безопасный адрес Bitcoin, но справедливо боятся вирусов и кейлоггеров. Он не должен бояться, так как он будет использовать два устройства вирус заражал надежно сформировать адрес.
Он генерирует один ECDSA ключей на его вирусом заражены ПК с помощью кейлоггера и удаленного просмотра трояна контролируется кем-то в Румынии.
Он генерирует второй ECDSA ключи на его Blackberry, который был коренится его оператором беспроводной связи по поручению своего правительства, через интернет-сайт, который тайно хранит копию всех закрытых ключей, которые она производит.
Он записывает как частные ключи.
С любым из этих компьютеров, он создает один Bitcoin адрес путем хэширования два его открытых ключей вместе. Если он не использует две машины и Позор тем же злоумышленником, или два атакующие имеют какой-то способ, чтобы найти друг друга и сделать "показать вам мой, если вы показать мне ваши"Он в значительной степени защищены от атак, потому что ни один из его противников знает другой секретный ключ, и оба необходимы, чтобы тратить средства. Не дай бог, он генерирует один из этих ключей с использованием устройства, которое не имеет подключения к Интернету, и нет никакого способа, он сможет получить его Bitcoins украден.