Извини, я технически не испытывали...
Тогда вы можете иметь некоторые трудности понимания некоторых из
Технические подробности о том, как Bitcoin работ.
Что платить Публичный хэш и оплатить скрипт хэш средство?
На уровне протокола нет никакого Bitcoins или любых адреса на всех. "Bitcoins" являются всего лишь абстракция, что люди используют, чтобы сделать его проще, чтобы обсудить передачу контроля стоимости. "Адреса" просто сокращенная, что мы создали, чтобы представить несколько очень распространенных сценариев, используемых.
На уровне протокола, есть неизрасходованные выходы транзакций, и они используются в качестве входных данных для операций, которые создают новые неизрасходованные выходы транзакций. Выходы транзакций обременены с требованием которые должны быть выполнены для того, чтобы использовать их в качестве входных данных в транзакции. Требование неизрасходованных выходов, которые используются в качестве входных данных выполняется отправителем транзакции в виде данных (и, возможно, сценарий) в "ScriptSig" часть входных данных. Требования, которые вновь создаваемые выходы загромождены создаются отправителем в виде сценария в "ScriptPubKey" Часть выходного сигнала.
Существует целый язык сценариев для создания этих сценариев. Вы можете увидеть команды, доступные здесь:
https://en.bitcoin.it/wiki/ScriptВместо того, нуждаясь сказать кому-то:
"Пожалуйста, создайте транзакцию, которая имеет выход со значением 100000000 и обремененная скрипт создает требование предоставить как сигнатуру ECDSA с помощью кривой Secp256k1 и связанного с ним публичным ключом, и проверяет, что подпись и хэш с помощью SHA256, а затем RIPEMD -160 с шестигранным значением 0xa7ffa0ee21557a7efd80659e7e1959454c3b03af"
(Обратите внимание, что сценарий имеет требование, построенный на хэш открытого ключа, а "
Публичный хэш")
Это гораздо проще для всех, чтобы просто согласиться, что мы создадим значение, которое мы называем "адрес" который основан на том RIPEMD-160 хэш, и что имеет "версия сценария" из
1 в начале и контрольная сумма в конце концов, чтобы поймать любые опечатки. Тогда мы все согласны с тем, что наш кошелек программное обеспечение распознает этот тип "адрес" и создаст согласованный сценарий, описанный выше, с использованием хэша извлеченного из адреса. Программное обеспечение бумажника берет на себя все технические детали создания сценария с соответствующими требованиями и отправкой сделки. Тогда любое программное обеспечение, которое кто-то пишет, чтобы посмотреть на сделки распознает шаблон сценария и преобразует его обратно в "адрес" при отображении его нам люди. Тогда вы можете сказать одно и то же это так:
"Пожалуйста, отправьте 1 BTC в 1GKJ5Rd5ngMdMkrnxPQhVE9F46HxZ2LrMs"
Теперь, что если вы хотите что-то более сложное, чем обычный тип сценария, для которого каждый согласился на "адрес" тип? Так как ваши потребности будут особенными и не часто, то не было бы никакого соглашения о том, как кодировать нужный скрипт как "адрес", Вы должны были бы описать сложные требования, и отправитель должен был бы понять, как создать сценарий, который будет удовлетворять эти потребности, чтобы они могли закладывать выход с соответствующим сценарием. Это сделало бы "умные контракты"И мульти-сиг операция, трудная и сложная для общения. Вы можете создать сценарий для отправителя, а затем дать им это, но в среднем отправитель транзакция не будет технически достаточно хорошо осведомлены, чтобы знать, как создать транзакцию, которая использует свой специальный скрипт.
Вместо того, что вы могли бы сделать, это создать сценарий, а затем создать хэш сценария. Теперь у вас есть формат, который может быть легко стандартизирован. Любой может создать любой сценарий любой сложности. Тогда они могут хэширования этот сценарий, и попросите отправителя:
"Пожалуйста, создайте транзакцию, которая имеет выход со значением 100000000 и обремененная с помощью сценария, создающего требования предоставить сценарий, который и оценивает успешно и хэш с помощью SHA256, а затем RIPEMD-160 в шестнадцатеричном значение 0xe8c300c87986efa84c37c0519929019ef86eb5b4"
(Обратите внимание, что сценарий имеет требование, построенный на хэш сценарии, "
сценарий хэш")
Если мы все согласны по этому вопросу нового "заплатить скрипт хэш" шаблон сценария, то мы можем согласиться, что мы создадим значение, которое мы называем "адрес" который основан на том RIPEMD-160 хэш, и что имеет "версия сценария" из
3 в начале и контрольная сумма в конце концов, чтобы поймать любые опечатки. Тогда мы все согласны с тем, что наш кошелек программное обеспечение распознает этот тип "адрес" и создаст согласованный стандартизированный сценарий, описанный выше, с использованием хэша извлеченного из адреса. Программное обеспечение бумажника берет на себя все технические детали создания сценария с соответствующими требованиями и отправкой сделки. Тогда любое программное обеспечение, которое кто-то пишет, чтобы посмотреть на сделки распознает шаблон сценария и преобразует его обратно в "адрес" при отображении его нам люди. Тогда вы можете сказать одно и то же это так:
"Пожалуйста, отправьте 1 BTC в 3NukJ6fYZJ5Kk8bPjycAnruZkE5Q7UW7i8",
Обратите внимание, что получатель этой сделки (тот, который хочет сложный сценарий, в первую очередь) отвечает за создание сценария, хеширования, а затем предоставление отправителю с "адрес" который имеет 3 версии и хеш и контрольная сумма вкладывается. Отправитель может просто послать в "адрес" и их бумажник знает, как создать "заплатить скрипт хэш" узор на выходе. В этом случае приемник должен предоставить фактический сценарий на входе, когда они в конечном счете провести вывод, который был создан для них.
Это упрощает отправку Bitcoins, когда приемник требует сложного сценария, и помещает всю нагрузку на человеке, который requireing сложный сценарий, в первую очередь.
Эта стандартизация была принята на один шаг дальше в случае нескольких сиг операций, позволяя приемник (ы) сделки, чтобы создать pay2script хэш-адрес с их бумажник программного обеспечения и кошелек заботится о отслеживании что хэшируются сценарий и используя этот сценарий, когда приемник позже тратит эти биткойны.