
Визначення скрипта встановлює правила, за якими транзакцію можна розблокувати і витратити. Це подібно до замка, який визначає, хто і коли може відчинити двері. Умови записують у вигляді виконуваних інструкцій, щоб вузли мережі могли послідовно перевіряти легітимність транзакції.
У Bitcoin визначення скрипта складається з двох частин: скрипт блокування встановлює правила блокування, а скрипт розблокування підтверджує наявність ключа. Під час перевірки транзакцій вузли поєднують обидва скрипти та виконують їх. Якщо всі умови виконані, вихід можна витратити.
Визначення скрипта визначає, чи може кожен невитрачений вихід транзакції (UTXO) бути витрачений. Вихід можна уявити як дрібні кошти у гаманці з написаними правилами — скористатися цими коштами можна лише після виконання умов розблокування, передбачених у визначенні скрипта.
Механізм наступний: скрипт блокування задає умови, наприклад, необхідність чинного підпису або обмеження витрати до певного моменту. Скрипт розблокування під час витрати надає підпис чи доказ часу. Вузли мережі виконують об’єднані скрипти, перевіряючи кожен пункт. Тільки якщо всі умови виконані, транзакція підтверджується як дійсна.
Bitcoin підтримує різні шаблони визначень скриптів. Найпоширеніші — це платежі з одним підписом, що зазвичай пов’язані з адресами, які починаються з “1”, “3” або “bc1”. Кожен тип відповідає окремому стилю скрипта. Адреси з “bc1” часто використовують Segregated Witness (SegWit), що знижує комісії та підвищує ефективність транзакцій.
Мультипідписні скрипти вимагають “M із N підписів” для розблокування коштів. Їх застосовують для командних казначейств або в ескроу-сценаріях. Скрипти з часовими умовами додають вимоги, наприклад, дозволяють витрату лише після досягнення певної висоти блоку, що дозволяє впроваджувати відкладені витрати або резервні стратегії.
Taproot робить визначення скриптів приватнішими та гнучкішими. Складні політики витрат можна згорнути у прості адреси, а деталі розкривати лише за необхідності, підвищуючи приватність і ефективність.
Скрипти і смартконтракти обидва описують правила у вигляді коду, але мають різний фокус. Скрипти Bitcoin працюють як чеклісти, що відповідають на питання, чи можна витратити кошти. Вони не виконують загальних обчислень у мережі. Ethereum смартконтракти — це повноцінні програми, що керують станом, викликають функції й генерують події.
Скрипти Bitcoin не є Тюринг-повними — вони не містять циклів і складної логіки, що знижує ризики атак і непередбачуваність. Смартконтракти Ethereum виконуються у EVM і потребують gas fees для обмеження обчислень, що робить їх придатними для децентралізованих застосунків і токен-логіки.
Визначення скрипта працює через опкоди та стек. Опкоди — це інструкції системи, наприклад, перевірити підпис, порівняти або отримати значення. Стек використовується як тимчасове сховище даних за принципом “останній увійшов — перший вийшов”, що дозволяє покрокову перевірку умов.
Наприклад, скрипт розблокування розміщує підпис і публічний ключ у стек. Скрипт блокування містить опкоди, такі як OP_CHECKSIG, для перевірки відповідності підпису публічному ключу і даним транзакції. Якщо перевірка успішна — виконання триває, якщо ні — скрипт завершується невдачею, і транзакцію не можна витратити.
Такий підхід забезпечує простоту і прозорість визначень скриптів. Кожен крок виконує одну дію, вузли можуть швидко й послідовно перевіряти транзакції без зовнішніх залежностей чи складної логіки.
Читати визначення скрипта можна поетапно — від загальних ознак до технічних деталей.
Крок 1. Визначте тип адреси. Адреси з “bc1” зазвичай використовують SegWit-скрипти, Taproot має префікс “bc1p”, а адреси з “3” — це скрипт-керовані адреси з мультипідписом чи іншими умовами.
Крок 2. Знайдіть умови блокування. Скрипт блокування міститься у виході транзакції — звертайте увагу на перевірку підпису, зіставлення хешу або часові опкоди, які виступають правилами замка.
Крок 3. Перевірте докази розблокування. Скрипт розблокування міститься у наступних транзакціях витрати, зазвичай містить один чи кілька підписів (для мультипідпису) або додаткові скрипти чи параметри.
Крок 4. Зімітуйте виконання. Поєднайте докази розблокування з умовами блокування і крок за кроком перевірте дії опкодів у стеку, щоб переконатися у виконанні всіх умов.
Визначення скрипта впливає на формат адреси і розмір комісій. Наприклад, при депозиті Bitcoin на Gate через адресу “bc1” використовується SegWit-скрипт, що забезпечує ефективніше пакування і менші комісії.
Під час виведення вибір різних типів адрес означає різні визначення скриптів, що впливає на комісії і сумісність. Деякі старі гаманці не підтримують нові формати; виведення на несумісну адресу може завершитися помилкою або затримкою. Важливо перевірити тип адреси і сумісність мережі, щоб уникнути помилок.
Кошти з умовами скриптів безпечніші, але суворіші на ланцюгу. Для мультипідписних скриптів потрібно резервувати всі ключі учасників, інакше активи можуть бути заморожені, якщо умови розблокування неможливо виконати.
Помилки у визначенні скрипта впливають на безпеку і доступність коштів. Неправильні умови або параметри можуть зробити кошти недоступними для витрати. Складні скрипти з багатьма учасниками несуть ризики операційних помилок чи втрати ключів.
Найкраща практика: починайте з перевірених шаблонів і додавайте складність поступово. Для мультипідписних схем чітко визначайте вимоги і резервуйте всі ключі та плани відновлення. Для Taproot-стратегій додавайте аварійні шляхи (наприклад, один підпис після тайм-ауту), щоб зберігати доступ до активів навіть при втраті ключових учасників.
Для депозитів і виведення перевіряйте тип адреси і сумісність мережі. На Gate перевіряйте ланцюг, префікс адреси, мінімальні суми депозиту і кількість підтверджень перед початком, щоб уникнути втрат через несумісні формати або недоставлені дрібні депозити.
До 2025 року більше гаманців і сервісів підтримують Taproot-адреси, підвищуючи приватність і гнучкість визначень скриптів. Miniscript перетворює складні політики витрат у читабельні та перевіряємі шаблони, знижуючи кількість помилок і дозволяючи автоматизацію.
У майбутньому визначення скриптів інтегруватимуться з офлайн-інструментами політик. Розробники зможуть створювати захищені стратегії через візуальні шаблони, а користувачі легко розумітимуть роботу кожного замка. Біржі й гаманці прозоро відображатимуть типи адрес і значення скриптів у інтерфейсі, зменшуючи ризик неправильного використання.
Визначення скрипта кодує правила витрати коштів у машинно-перевірювану форму. Воно об’єднує умови блокування з доказами розблокування, використовуючи опкоди і стекову модель для перевірки. Найпоширеніші типи — скрипти з одним підписом, мультипідписом і часовими умовами; Taproot і Miniscript підвищують приватність і зручність. Завжди визначайте тип адреси, читайте скрипти послідовно, перевіряйте сумісність і стратегії безпеки перед депозитами чи виведенням — це допоможе уникнути ризиків через помилки у скриптах чи операційний недогляд.
Визначення скрипта дозволяють встановлювати складні умови розблокування для транзакцій Bitcoin, а не лише переказувати кошти “один до одного”. Це дає змогу впроваджувати мультипідпис, timelocks та інші функції, значно підвищуючи гнучкість і безпеку Bitcoin.
Під час депозиту або виведення на Gate визначення скрипта обробляються автоматично платформою. Вам не потрібно керувати ними самостійно. Розуміння визначень скрипта допомагає зрозуміти причини необхідності кількох підтверджень для деяких транзакцій або часових обмежень на виведення — це робить роботу з платформою зрозумілішою і безпечнішою.
Звичайним користувачам не потрібно писати скрипти. Визначення скрипта розробляють і впроваджують розробники та майнери. Достатньо знати базове поняття. Якщо ви не створюєте гаманці Bitcoin чи біржі, розуміння того, що скрипти — це правила транзакцій, є достатнім.
Визначення скрипта має обмеження порівняно зі смартконтрактами Ethereum: воно забезпечує перевірку платежів і умовні перекази, але не довільну складну логіку. Однак Bitcoin розширює можливості скриптів через Taproot для впровадження нових функцій.
Bitcoin, отриманий через легітимні канали, безпечний: визначення скрипта — це лише правило, а не шкідливе ПЗ. Остерігайтеся, якщо скрипт вимагає надати приватний ключ або підпис для розблокування коштів — це шахрайство. Платформи на кшталт Gate перевіряють свої визначення скриптів на безпеку, тому їх можна використовувати впевнено.


