Post
Topic
Board Кодеры
Merits 4 from 2 users
Re: Как сделать криптозавещание ?
by
kzv
on 25/10/2019, 06:16:25 UTC
⭐ Merited by igor72 (2) ,xandry (2)
Например.
секретное слово1 = blablabla
хэш(blablabla)  = 7f9038204185da148f636a56713991e379473089
секретное слово2 = ololo
хэш(ololo) = 4a287de13f0649b7645ea163d1949af3baf0e1be
Почему-то у меня другие хеши получились. Я делал хеш(blablabla) = ripemd160(sha256(626c61626c61626c61)), это неправильно?


Опкод OP_RIPEMD160 делает просто "The input is hashed using RIPEMD-160."
Опкод OP_HASH160 делает "The input is hashed twice: first with SHA-256 and then with RIPEMD-160."
https://en.bitcoin.it/wiki/Script

Хэши кстати тоже хитрая штука. Всякие онлайн-сервисы дают хэши которые биткоин не понимает.
Вот тут я вопрос задавал https://bitcointalk.org/index.php?topic=5048638.0
Тут решение https://bitcointalk.org/index.php?topic=5048638.msg46822169#msg46822169


И такой вопрос возник, а насколько это вообще надежно, это же нестандартная транзакция? Не может ли случиться так, что ноды перестанут такие транзакции обрабатывать?

P2SH это стандартные транзакции.
Алгоритм примерно следующий:
1. Пишем скрипт
2. Считаем хэш скрипта redeemScriptHash = hash160(скрипт)
3. Посылаем стандартную P2SH транзакцию scriptPubKey = OP_HASH160 OP_EQUAL

Чтобы потратить битки из транзакции посылаем стандартную транзакцию у которой scriptSig = скрипт