Bitcoin Script Nedir?
Yayın: · Son güncelleme:
Bitcoin Script Nedir? Kısaca
Bitcoin Script, bir Bitcoin çıktısının hangi koşullarla harcanabileceğini tanımlayan, yığın (stack) tabanlı ve kasıtlı olarak sınırlı tutulmuş programlama dilidir. Çoklu imza ve zaman kilidi gibi özellikler bununla yapılır.

Bitcoin Script, Bitcoin işlemlerinde paranın hangi koşullarda harcanabileceğini belirleyen basit bir programlama dilidir. Her Bitcoin çıktısı küçük bir "kilit" betiği taşır; bu çıktıyı harcamak isteyen kişi, kilidi açan "anahtar" verisini sunmak zorundadır.
Bitcoin Script nedir?
Script, yığın tabanlı bir dildir: Veriler bir yığının üstüne konur ve işlem kodları (opcode) bu verileri alıp işler. Doğrulama sırasında harcama verisi ile kilit betiği birlikte çalıştırılır; sonuç geçerli çıkarsa harcama kabul edilir.
En yaygın örnekte kilit şunu söyler: "Bu parayı, şu açık anahtarın hash'ine sahip anahtarla geçerli bir imza atan harcayabilir." Harcayan kişi de imzasını ve açık anahtarını sunar.
Neden sınırlı?
Bitcoin Script kasıtlı olarak Turing-complete değildir; yani döngü içermez. Bunun nedenleri:
- Her betiğin kısa sürede bitmesini garanti etmek,
- Ağı kilitleyebilecek sonsuz döngüleri engellemek,
- Saldırı yüzeyini küçük tutmak.
Bu yüzden Ethereum'daki gibi karmaşık akıllı sözleşmeler doğrudan yazılamaz; ancak sınırlı ama güçlü yapılar kurulabilir.
Neler yapılabilir?
- Çoklu imza: Örneğin 3 anahtardan 2'sinin imzası gerektiren cüzdanlar.
- Zaman kilidi: Belirli bir tarih ya da blok yüksekliğinden önce harcanamayan çıktılar.
- HTLC: Lightning Network'ün temelindeki, gizli bir değere ve süreye bağlı koşullu ödemeler.
SegWit ve Taproot gibi güncellemeler Script'in verimliliğini ve gizliliğini artırmıştır. Sıradan kullanıcı Script yazmaz; cüzdan yazılımları bunu arka planda halleder.
Sıkça Sorulan Sorular
Bitcoin Script ile akıllı sözleşme yazılabilir mi?
Sınırlı ölçüde. Çoklu imza, zaman kilidi ve koşullu ödemeler gibi yapılar kurulabilir, ancak Ethereum'daki gibi genel amaçlı programlar yazılamaz.
Bitcoin Script neden döngü içermiyor?
Her betiğin öngörülebilir sürede bitmesi ve ağın sonsuz döngülerle kilitlenmemesi için. Bu tasarım güvenliği önceliklendirir.