
Zaman kilitleri: belirli bir ana kadar hareket edemeyen coinler
Kriptodaki güvenliğin büyük kısmı kimin harcayabileceğiyle ilgilidir: hangi anahtarlar, kaç imza. Zaman kilitleri buna ikinci bir boyut ekler: ne zaman. Zaman kilitli bir coin, anahtarlar kimde olursa olsun, belirlenen bir tarihten veya blok yüksekliğinden önce harcanamaz.
Niş bir özellik gibi görünse de zaman kilitleri kriptonun pek çok parçasına sessizce güç verir: ödeme kanalları, vesting takvimleri, miras planları ve yönetişim gecikmeleri. Onları anlamak, çoğu cüzdanda karşılaşacağınız bir tasarım tercihini de açıklar.
İki tür zaman
Blokzincirler zamanı iki şekilde ölçer ve zaman kilitleri ikisini de kullanır:
- Mutlak zaman. "1 Ocak 2030'dan önce değil" ya da "1.000.000. bloktan önce değil". Coin o ana kadar kilitli kalır, ardından normal şekilde davranır.
- Göreli zaman. "Bu coin alındıktan sonraki 1.000 blok dolmadan değil." Saat coin oluşturulduğunda işlemeye başlar, bu yüzden her yatırmanın kendi geri sayımı olur.
Mutlak kilitler, bir vesting'in başlangıç bekleme süresi (cliff) gibi sabit tarihlere uygundur. Göreli kilitler ise "30 gün içinde başka kimse harekete geçmezse bu diğer anahtar harcayabilir" gibi kurallara uygundur; bu kalıp kurtarma ve miras tasarımlarında sıkça karşımıza çıkar.
Bitcoin bunu nasıl yapar
Bitcoin'de zaman kilitleri iki düzeyde bulunur:
- İşlem düzeyi. Her işlemin bir
nLockTimealanı vardır. Gelecekteki bir zamana veya bloğa ayarlanırsa ağ, işlemi o zamana kadar kabul etmez. Bu, coin'i değil işlemi kilitler; anahtarları elinde tutan kişi yine de kilitsiz farklı bir işlem imzalayabilir. - Script düzeyi. İki opcode,
OP_CHECKLOCKTIMEVERIFY(mutlak) veOP_CHECKSEQUENCEVERIFY(göreli), bir adresin kendi harcama kurallarının belirli bir sürenin geçmesini şart koşmasını sağlar. Bunlar coin'i kilitler: kim imzalarsa imzalasın hiçbir işlem onu erken harcayamaz.
Asıl güçlü olanlar script düzeyindeki sürümlerdir. Bunlar, "bu 3 anahtardan 2'si her zaman ya da bir yıl sonra bu tek yedek anahtar" gibi birden çok harcama yolu olan adresler kurmanıza olanak tanır.
Akıllı sözleşme zincirleri bunu nasıl yapar
Ethereum ve benzeri zincirlerde zaman kilidi yalnızca sözleşme mantığıdır: sözleşme mevcut blok zamanını kayıtlı bir son tarihle karşılaştırır ve o tarihten önce işlem yapmayı reddeder. Bu da zaman kilitlerini esnek kılar: tokenleri her ay serbest bırakan vesting sözleşmeleri, bir oylamanın kabulü ile uygulanması arasında bekleme süresi zorunlu kılan yönetişim sistemleri ve kullanıcıların tepki verebilmesi için değişiklikleri günler önceden duyuran yükseltilebilir sözleşmeler.
Bu son kullanım güvenlik açısından önemlidir. "Bir yönetici anahtarı bir şeye karar verdi" ile "bu gerçekleşti" arasındaki gecikme, herkese kötü niyetli bir değişikliği fark etmesi için zaman tanır; bu, herhangi bir sözleşmenin yükseltme yetkileri hakkında sorulmaya değer sorulardan biridir.
Zaman kilitleri ne işe yarar
- Miras ve acil erişim. Ancak uzun bir hareketsizlik döneminden sonra açılan bir yedek yol, mirasçıların siz aktifken fonlara dokunamadan onları kurtarabilmesini sağlar. Miras planlaması çoğu zaman tam olarak bu tür bir kurala dayanır.
- Kurtarma anahtarları. Tek başına işlem yapabilen ama bunu yalnızca bir gecikmeden sonra yapabilen bir kurtarma anahtarı, çalınırsa çok daha az tehlikelidir; sahibi fonları önce taşımak için zaman bulur.
- Ödeme kanalları. Lightning Network, her tarafa bir hile girişimine itiraz edebileceği bir zaman aralığı tanımak için göreli zaman kilitlerine dayanır.
- Vesting ve taahhütler. Tokenleri bir tarihe kadar kilitlemek, bir sözün güven yerine zincir tarafından uygulanmasını sağlar.
Ödünleşimler
Zaman kilitlerinin bir bedeli vardır:
- Sizi de dışarıda bırakırlar. Bir kilit, saldırganı acil bir durumdan ayırt edemez. Paraya tarihten önce ihtiyacınız olursa kilitli kalmaya devam eder.
- Karmaşıklığın maliyeti vardır. Birden çok yolu olan scriptleri oluşturmak, denetlemek ve kurtarmak daha zordur. Zaman kilitli bir scriptteki hata fonları harcanamaz hâle getirebilir ve bu hata ancak yıllar sonra, kilidin süresi dolduğunda ortaya çıkabilir.
- Göreli kilitler bakım ister. "Bir yıllık hareketsizlikten sonra" türündeki düzenler genellikle sahibin saati yeniden başlatmak için coinlerini düzenli aralıklarla yenilemesini gerektirir.
- Cüzdan desteği tutarsızdır. Zaman kilitli bir adres, ancak sonunda kurtarma yapacağınız yazılım onu anlıyorsa işe yarar.
Zaman kilitleri ve SSP
SSP'nin kasaları bugün saf multisig'dir: zamana dayalı hiçbir harcama koşulu olmayan M-of-N bir anahtar kümesi. 2-of-2 kasanız, iki anahtar da onay verdiğinde her an harcanabilir, aksi hâlde asla. Bu bilinçli bir ödünleşimdir: basit bir scriptin doğrulanması kolaydır, standart araçlarla geri yüklenmesi kolaydır ve yıllar sonra sizi şaşırtabilecek bir saati yoktur.
SSP'de kurtarma, zaman gecikmeli yollar yerine anahtarlarınız ve onların yedekleri üzerinden işler. Farklı multisig yapılandırmalarının karşılaştırması çoğu kişi için önemli olan seçenekleri ele alır; ekipler içinse SSP Enterprise kasaları kaç imzacının onay vermesi gerektiğini seçmenize olanak tanır.
Dürüst özet
Zaman kilitleri, zincirin yalnızca coinleri kimin taşıyabileceğini değil, ne zaman taşınabileceğini de uygulamasını sağlar. Miras planlarını, kurtarma anahtarlarını ve ödeme kanallarını, kimsenin beklemesine güvenmek gerekmeden mümkün kılarlar.
Öte yandan karmaşıklık da eklerler ve sahiplerini saldırganlar kadar sıkı biçimde dışarıda bırakabilirler. Dikkatle kullanıldıklarında kriptonun en faydalı araçlarından biridirler ve en basit scriptler hâlâ çoğu zaman en güvenli olanlardır.


