BÖLÜM 16, TÜM DERSLER ‹

USTA · BÖLÜM 16 · DERS 1 / 5

Script ve Yükseltmeler

Bitcoin Script

Bir çıktıyı kilitlemek için aslında ne yazılır? 6 dk

Her çıktı, kilitleme betiği olan küçük bir program taşır. Onu harcamak için bir girdi, kilit açma kısmını sağlar. Düğümler ikisini birlikte çalıştırır: program doğru ile biterse, harcama geçerlidir.

Bir yığın makinesi

Script bir yığın üzerinde çalışır: öğeler yığına itilir ve işlemler en üsttekileri alıp sonuçları yığına iter. Klasik eski ödeme şöyledir: OP_DUP OP_HASH160 <public key hash> OP_EQUALVERIFY OP_CHECKSIG. Kelimelerle: sağlanan genel anahtarın kopyasını al, hash'ini al, çıktıda bulunanla eşleştiğini kontrol et, ardından imzayı bununla doğrula.

Kasıtlı olarak sınırlı

Script'te döngüler ve genel amaçlı bellek yoktur. Her program hızlıca biter ve her düğüm kontrol etmenin maliyetini tahmin edebilir. Bu, onu diğer blok zincirlerinin dillerinden çok daha az ifade edici ve anlaşılması çok daha kolay hale getirir.

  • Çoklu imza: bir anahtar kümesinden birkaç imza gerektirir.
  • Karma kilitler: hash'i bilinen bir sırrın ifşa edilmesini gerektirir, Lightning'in yaptığı gibi.
  • Zaman kilitleri: belirli bir tarihten veya blok yüksekliğinden önce harcamayı yasaklar.

Neler hatırlanmalı

  • Çıktılar küçük yığın tabanlı programlarla kilitlenir.
  • Script'te döngü yoktur: her kontrol öngörülebilir şekilde biter.
  • İmzalar, hash'ler ve zamanlar onun yapı taşlarıdır.

Hızlı kontrol

Bir harcama Script seviyesinde ne zaman geçerlidir?

Script'te neden döngü yok?

Bitcoin Script · Bitcoin Üniversitesi