Авторский перевод статьи о CHECKSEQUENCEVERIFY CSV

Авторский перевод статьи о CHECKSEQUENCEVERIFY CSV

cryptoEsope @estilibera, graphics by @demosphen

CSV или CheckSequenceVerify новый OPcode в системе программирования транзакций, а по смыслу это измененная версия существующего OPcode NOP3. Язык программирования Биткоина предоставляет систему, позволяющую тратить переведенные монеты в различных режимах, в зависимости от указанных параметров. Стандартная биткоин транзакция между двумя сторонами должна удовлетворять двум требованиям для дальнейшей возможности траты монет: публичный ключ должен соответствовать адресу получателя монет, и подпись дальнейшей траты монет должна быть поставлена приватным ключом, соответствующим вышеуказанному публичному ключу. Также программирование транзакций биткоин может требовать несколько подписей для того, чтобы быть действительной, либо вообще ни одной подписи.


Предложения по улучшению протокола Биткоин BIP112/113 в сочетании с BIP68 вводят изменения в сценарии выполнения скрипта транзакций, позволяющие добавить ограничение по времени. Три BIP-а описывают изменения в скриптинге транзакций, после активации которых, поле nSequence может использоваться как параметр учета времени. CheckSequenceVerify новый сценарий скриптинга, который не позволяет запечатать транзакцию в блок до тех пор, пока не наступит точка во времени, указанная в новосозданном параметре nSequence.

BIP68/112/113 вступили в силу в блокчеине Биткоина через механизм активации софтфорка BIP9. Предыдущие софтфорки активировались через механизм IsSuperMajority. Ключевые отличия между ISM и BIP9 в возможности одновременной активации нескольки СФ, и первый механизм трэкает последние N блоков, а второй работает по интервалам блоков.

Эти изменения важный шаг на пути развития протокола Биткоина, они позволят реализовать различные идеи, о которых мы слышали за последние годы. Новые возможности скриптинга могут быть использованы для двунаправленных каналов и создания инфраструктуры офф-чеиновых транзакций. Нововведения ответ на увеличение комиссионных сборов и ограниченность размера блока в главной цепочке блоков Биткоина, а двунаправленные платежные каналы будут способствовать дешевым офф-чеиновым транзакциям, одновременно обеспечивая безопасность и надежность протокола сети.

Программирование CSV инструкций облегчено механизмом версионности языка скриптинга биткоина, введенного через активацию софтфорка SegWit, который послужил решением давно существующей проблемы “transaction malleability”. Суть проблемы заключалась в возможности менять некоторые характеристики транзакций, пока они находились в офф-чеин состоянии, что мешало развивать инфраструктуру Биткоин сети в направлении масштабируемости и построении поистине магических трюков поверх блокчеина, не уменьшая безопасности сети. После полной активации СФ сегвит позволил увеличить место в блоке, не меняя его максимальный размер. Это удалось достигнуть благодаря выносу подписей за пределы основного хранилища транзакций, что сократило размер сегвит транзакций.


Report Page