Комментарии к переводу статьи о CSV.
Graphics by @demosphenуровень знаний: начальный продвинутый
<Скрипты биткоина>
Переведенные монеты в транзакции указывают на публичный ключ (рис 1.б), но если копнуть глубже, то не на просто публичный ключ, а на скрипт, использующий его (рис 1.в). Что такое скрипт и зачем он нужен? В этой статье мы узнаем кое-что о сценарном языке биткоина и выясним, почему вместо простого публичного ключа нужно использовать именно скрипт.

Публичный и приватный ключ обьединены криптографической связью, первый можно получить из второго, но не наоборот. На транзакции ставится подпись приватным ключом, а хэш от публичного ключа используется в качестве адреса для получения монет (рис 1.г). В получателе перевода принято указывать хэш от публичного ключа, так как он занимает меньше места в блокчеине, чем сам ключ.
публичный ключ: 04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f хэш от публичного ключа: 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa

Наиболее типичный вид транзакции биткоина — это трата монет с использованием подписи приватного ключа, соответствующего публичному, хэш которого упомянут в скрипте (рис 1.г). Также хэш от скрипта (рис 1.д) может использоваться как адрес для перевода монет. Поэтому мы переводим монеты не на публичный ключ, а на хэш скрипта биткоина. И, как мы увидим, для биткоина это самый типичный сценарий.
Пример:
OP_DUP
OP_HASH16
0 69e02e18...
OP_EQUALVERIFY
OP_CHECKSIG
В данной модели получатель платежа не раскрывает своего публичного ключа, а сообщает хэш от него в качестве реквизитов для платежа. Когда получатель монет будет составлять транзакцию по расходованию собственных монет, он укажет свой публичный ключ и подпись, сделанную приватным ключом. Скрипт биткоина командой OP_HASH16 получит двойной хэш от указанного публичного ключа и сверит с «0 69e02e18...», если совпадет, то переходит к проверке подписи.
Криптографическая связь между приватным и публичным ключом заключается в их способности совместно зашифровывать и расшифровывать сообщения. Например открытым текстом будет «Привет». Если зашифровать приватным ключом открытый текст, то получится закрытый текст «абракадабра1», если к нему применить расшифровку публичным ключом, то снова получится открытый текст.
В биткоин подписью считается публикация текста «абракадабра1» и публичного ключа, с помощью которого можно расшифровать закрытый текст.

Продолжение тут