Как работал блокчейн раньше, я понимаю, но вот с сегвитом что поменялось не совсем все до конца ясно.
Если правильно понимаю то основная идея это вынесение подписи в отдельный тип блока. То есть в выходе остается отправитель и получатель, а подпись считается позже и сохраняется в отдельный блок. Получается что-то похожее на сайдчейн. И еще добавляется какой-то SegWit адресс. Не понимаю как он обезопасит от фальшивых транзакций, ведь получается что транзакция добавляется в блок а только потом проверяется ее валидность.
у меня немного другое понимание:
1) из транзакции удаляется подпись (unlock script), она заменятеся в
scriptPubKey на
Witness program2) доказательство владения aka witness (сама подпись и публичный ключ) помещается в конец каждого блока (если это не так, то можно скинуть ссылку? я основывался на
https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki и
http://learnmeabitcoin.com/faq/segregated-witness). для всех witness строится дерево хэшей подобно дереву хэшей транзакций, корневой хэш которого помещается в
scriptPubKey coinbase транзакции. Хэш блока подсчитывается по всему блоку, включая список witness.
3) таким образом майнер все равно имеет возможность проверить валидность транзакции
4) фул ноды должны держать большие блоки у себя, а SPV нодам теперь можно отсылать блок без witness части.
5) также отличают теперь txid - хэш транзакции без witness и wtxid - хэш транзакции с witness