Ana içeriğe geç

Neden Kanıtlar?

Bir indeksleyici ZCash blok zincirini tarar ve bir ad kaydı oluşturur. Peki neden kimse buna güvenmeli? Peki ya:

  • Zincirde hiç gerçekleşmemiş bir kayıt mı üretiyor?
  • Yanlış ücret mi alıyor?
  • Bir adı iki kez mi kaydettiriyor?
  • Kayıt durumuna müdahale mi ediliyor?

ZK kanıtları bu soruları ortadan kaldırır. Her kanıt, kaydın doğru şekilde işlendiğini gösteren kriptografik bir sertifikadır. Herkes kanıtı bağımsız olarak doğrulayabilir.

Her Kanıt Neyi Doğruluyor

ZCash Prover, bir RISC-V sıfır bilgi sanal makinesi olan SP1 kullanır. Etki alanıyla yapılan her işlem için kanıtlayıcı, zkVM içinde aşağıdaki kontrolleri gerçekleştirir:

  1. Ad geçerliliği - 1-64 karakter, küçük harf alfasayısal + kısa çizgiler
  2. Ücret yeterliliği - işlemde İsim Uzunluğu için yeterli miktarda ZEC ödendi
  3. Protokol komut bütünlüğü - protokolün tüm koşulları karşılandı
  4. Ed25519 imzası -- memo command üzerindeki imza geçerlidir
  5. Merkle ağacı ekleme -- ad zaten mevcut değildi ve yeni durum kökü doğru

Herhangi bir kontrol başarısız olursa kanıt oluşturulamaz.

Genel Çıktılar

Her kanıt, kendisine kalıcı olarak bağlı olan 3 değeri taahhüt eder:

ÇıkışAçıklama
old_rootMerkle ağacı kökü bu kayıttan önce
new_rootMerkle ağacı kökü bu kayıttan sonra
end_block_heightKayıt grubunun en son ZCash bloğu

block_height kanıtı belirli bir ZCash bloğuna (bir kontrol noktası gibi) sabitler. Herkes ZCash düğümündeki işlemleri arayabilir ve not ile değer eşleşmesini onaylayabilir.