Bitcoin Script: язык, стоящий за транзакциями Bitcoin

Введение

Децентрализованные цифровые валюты, такие как Bitcoin ($BTC), Ethereum ($ETH), Solana ($SOL) и другие, появились благодаря развитию технологии блокчейн. Эта технология позволила людям обмениваться ценностями по всему миру без необходимости посещать или полагаться на банки или центральные органы власти. Мы можем представить блокчейн как цифровой реестр валют, который регистрирует и хранит каждую транзакцию в прозрачной и безопасной форме. Когда мы говорим о Bitcoin, мы в основном думаем о том, как быстро он умножил инвестиции людей за эти годы. Однако в его работе есть нюансы, которые привлекают внимание немногих, но они заслуживают изучения. Одной из таких мелких деталей является Bitcoin script.

Что такое Bitcoin Script?

Bitcoin script — это язык программирования специального назначения, разработанный специально для сети Bitcoin, чтобы она могла определять правила для отправки и получения монет. Его также можно понять как набор инструкций, которые направляют сеть тратить $BTC только при выполнении определённых условий. Каждый компьютер (узел) в сети выполняет этот скрипт для проверки валидности транзакции и допускает её добавление в блок только в случае её соответствия скрипту. Узел немедленно отклоняет транзакцию, которая нарушает любое из условий скрипта.

Однако не следует считать Bitcoin script подобным другим языкам программирования, таким как JavaScript, C++, Python и т. д. Эти языки являются многоцелевыми скриптами, кардинально отличающимися от Bitcoin Script, который не может запускать сложные приложения, а его единственная цель — безопасно проверять условия транзакций.

Аналогия из реальной жизни

Чтобы упростить понимание для обычного читателя, уместно провести параллель между работой Bitcoin Script и системой замка и ключа. В каждой транзакции Bitcoin есть две части скрипта: одна, которая блокирует Bitcoin, и другая, которая его разблокирует. Часть скрипта, отвечающая за блокировку монет, сообщает сети, что необходимо предоставить для расходования или разблокировки монет. Реальные данные, соответствующие условиям расходования, поступают из части скрипта, которая их разблокирует. Обе части объединяются в систематическую программу, которая разрешает или отклоняет транзакцию. Это похоже на ключ, который может открыть замок только если его зубцы совпадают с внутренней структурой замка.

Как работает Bitcoin Script в транзакциях

Каждая транзакция Bitcoin содержит входы и выходы. Bitcoin не управляет балансами на счетах, как это делает банк. Вместо этого он отслеживает неистраченные выходы транзакций, или UTXO, каждый из которых — это часть Bitcoin, которая ещё не была потрачена и к которой привязаны определённые условия. Эти условия записаны в скрипте. Когда кто-то хочет потратить Bitcoin, он ссылается на UTXO и предоставляет скрипт разблокировки, который должен соответствовать условиям скрипта блокировки.

На стороне получателя

Когда вы получаете Bitcoin от кого-то, этот Bitcoin существует как UTXO в блокчейне и содержит скрипт блокировки, который говорит: «Только тот, кто сможет доказать владение этим приватным ключом, может потратить эти монеты». Это самая базовая форма скрипта, и именно она лежит в основе большинства Bitcoin-адресов, которые используют люди ежедневно.

На стороне отправителя

Чтобы потратить полученные Bitcoin, ваше программное обеспечение кошелька автоматически создает новый кусок скрипта, включающий вашу подпись и публичный ключ. Эта подпись доказывает, что вы являетесь законным владельцем, потому что она совпадает с приватным ключом, связанным с публичным ключом в скрипте блокировки. Когда сеть Bitcoin анализирует эту комбинацию, скрипт признается действительным, и транзакция принимается.

Каждый узел в сети Bitcoin индивидуально проверяет валидность транзакции и связанного скрипта. Когда вы транслируете транзакцию, эти узлы не принимают её как должное. Вместо этого они запускают скрипт через процесс, который проверяет каждое условие. Если даже один узел обнаружит, что результат скрипта ложен, сеть мгновенно отклоняет транзакцию. Эта независимая проверка узлами делает Bitcoin децентрализованным и безопасным.

Распространённые типы скриптов

Pay-to-Pubkey

Со временем развитие Bitcoin script претерпело эволюцию, и сообщество придумало несколько распространённых типов скриптов. Цель этих скриптов — сделать повседневные транзакции проще и эффективнее. P2PK (коротко для Pay-to-Pubkey) — самый простой из этих типов скриптов. В этом случае средства блокируются на определённый публичный ключ. Для расходования средств требуется подпись, совпадающая с этим ключом. Однако эта ранняя форма сегодня используется редко.

Pay-to-Pubkey-Hash

P2PKH (коротко для Pay-to-Pubkey-Hash) — наиболее распространённый формат Bitcoin-адресов на протяжении многих лет. Вместо блокировки средств непосредственно на публичный ключ, они блокируются на хэш этого ключа. Хэш — это как отпечаток данных, который легко вычислить в одну сторону, но трудно обратно. Одно из преимуществ использования хэша — скрытие полного публичного ключа до тех пор, пока средства не будут потрачены, что добавляет небольшой уровень приватности и безопасности. Большинство Bitcoin-кошельков, которые вы используете сегодня, генерируют P2PKH-адреса.

Pay-to-Script-Hash

Другой важный тип скрипта — Pay-to-Script-Hash (P2SH), который позволяет блокировать Bitcoin на хэше более сложного скрипта вместо раскрытия полного скрипта. Отправитель нужен только хэш, а получатель позже предоставляет полный скрипт и выполняет его условия, что делает P2SH полезным для продвинутых настроек, таких как мультиподписные кошельки.

Почему Bitcoin Script важен

Bitcoin Script кажется техническим и далёким от повседневного использования. Большинство пользователей Bitcoin, возможно, никогда не потребуется взаимодействовать с ним напрямую, потому что кошельки и программные инструменты делают это автоматически. Однако скрипт — это фундаментальный язык, реализующий правила транзакций Bitcoin. Без него сеть не смогла бы проверять их валидность. Он — основа модели безопасности Bitcoin.

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

Заключение

Bitcoin Script — это тихий, но важный механизм, который обеспечивает доверие, безопасность и децентрализацию внутри сети Bitcoin. Хотя большинство пользователей никогда не взаимодействуют с ним напрямую, каждая $BTC транзакция полагается на скрипт для проверки владения и условий расходования без посредников. Благодаря простоте, детерминированности и безопасности язык Bitcoin гарантирует, что транзакции останутся устойчивыми к мошенничеству и цензуре. Понимание Bitcoin Script даёт более глубокое представление о том, как Bitcoin функционирует как программируемые деньги и почему он продолжает работать надёжно как по-настоящему децентрализованная финансовая система.

BTC0,74%
ETH0,35%
SOL1,43%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • комментарий
  • Репост
  • Поделиться
комментарий
0/400
Нет комментариев
  • Закрепить