Bitcoin Dergisi
[[alloc] init] Özel Bitcoin İşlemleri İçin Korumalı Bitcoin Teklifini Yayınladı
Korumalı Bitcoin, [[alloc] init] araştırmacıları Clara Shikhelman, Misha Komarov ve Aleksei Moskvin tarafından, operatörlere, yumuşak çatallara veya Bitcoin konsensüsünde başka değişikliklere ihtiyaç duymadan korumalı Bitcoin işlemlerini mümkün kılmak için Bitcoin temel katmanında yeni bir gizlilik metaprotokolü için ileri sürülen bir öneridir. Whitepaper'a buradan, blog duyurusuna ise buradan ulaşabilirsiniz.
Protokol, güçlü gizliliği koruyan işlemler için bir işlem yapısı ve indeksleme protokolü tanımlarken, fonları sisteme girip çıkarmak için Bitcoin PIPE'lere güveniyor. BORU mekanizması hakkında daha fazla bilgiyi makalenin sonunda bulabilirsiniz.
Tasarımı büyük ölçüde Bitcoin'in aynasıdır; UTXO'ya (bir not) eşdeğeri vardır, işlemler notları normal bir Bitcoin işlemi gibi girdi olarak tüketir, bir tanık tüketilen girdilerin uygun şekilde yetkilendirildiğini kanıtlar, düğümler (metaprotokol durumunda indeksleyiciler) işlem geçmişini ayrıştırır ve hangi paraların harcandığı ve harcanmadığına dair güncel bir durum oluşturur, vb.
Ancak tüm detaylar oldukça farklı.
Korumalı Bitcoin işlemi, OP_RETURN, tanık alanı veya başka bir veri taşıma yöntemi kullanılarak yapılan bir Bitcoin işlemine dahil edilen bir önek ("shbtc:" gibi bir şey) içeren bir veri bloğudur. Bitcoin için hiçbir anlamı yoktur, Bitcoin ağı bunu doğrulamak veya ona karşı herhangi bir kural uygulamak için hiçbir şey yapmaz. Geçersiz Korumalı Bitcoin işlemlerinin zincir üzerinde sonuçlanması tamamen mümkündür ve doğrulamada başarısız olduklarında bu işlemleri görmezden gelmek ve bunları ağ bakiyelerinin durumunu güncellemek için uygulamayı reddetmek, blok zincirini pasif olarak izleyen (okuma: düğüm) Korumalı Bitcoin Dizinleyicinin görevidir.
Bir indeksleyici, Bitcoin'in UTXO'larda yaptığı gibi, harcanmamış bir not kümesinden notları silmez. Bir nullifier kümesi kullanır. Bu, bir kullanıcının, hangi notun harcandığını açıklamadan, bir notun harcandığına dair şifrelenmiş bir kanıtı ve geçersiz kılıcıyı kamuya açık olarak yayınlamasının bir yoludur. Buradaki fikir, bir notun "harcanmamış not kümesinde" olup olmadığını görmek yerine, bir geçersiz kılıcının zaten kullanılıp kullanılmadığını kontrol edip görmenizdir. Dizin oluşturucular, sonsuza kadar büyüyen ve yalnızca oluşturulan her nota çıktısına ve ardından nullifier kümesine eklenebilen bir merkle ağacı oluşturur.
Bu protokolü kullanmak için tek ihtiyacınız olan bir Bitcoin düğümü ve Korumalı Bitcoin indeksleyicidir. Fonları geri almak için bir hizmet sağlayıcıya, koordinatöre veya zincir dışı herhangi bir devlete gerek yoktur. Tıpkı zincirdeki Bitcoin gibi çalışır; ihtiyacınız olan tek şey düğümünüz/indeksleyiciniz ve anahtarlarınızdır.
Her kullanıcı cüzdanı, ilgili tüm anahtar setlerinin oluşturulduğu bir ana gizli anahtar türetir.
Bunu Bitcoin'deki HD cüzdanına çok benzer bir şekilde düşünün. Bu ilişkiyle birçok adres seti oluşturabilirsiniz. Sk_spend sizin özel anahtarınızdır, sk_nf not çıktılarını geçersiz kılmak için kullanılır, vk_in gelen notların şifresini çözmek ve görüntülemek için kullanılır, vk_out giden işlemlerinizi görüntülemek için ve sk_view bir alıcı adresi oluşturmak için kullanılır.
Bir kullanıcı, kendisine para göndermek için birine bir adres vermek istediğinde, türetme değerine benzer bir çeşitlendirici değeri d üretir ve ardından değeri kendi sk_view anahtarıyla çarpar. Ortaya çıkan genel anahtar, pk_d ve d kullanıcının adresidir.
Gönderen daha sonra not çıktısının şifrelenmesi ve geçersiz kılınması için gerekli olan r_seed adlı rastgele bir değer üretir (bu noktaya bir saniye içinde ulaşacağız). İşlem çıktıları yalnızca üç şifrelenmiş şey içerir; çıktının değeri, alıcının gönderene verdiği d değeri ve gönderenin r_seed değeri. Gönderen, paylaşılan bir sır oluşturmak için gizli bir geçici anahtar çifti ve alıcının genel anahtarını kullanır. Her iki taraf da kendi özel anahtarını diğerinin açık anahtarıyla çarparak aynı sırrı oluşturabilir. Not çıktısı, bu paylaşılan sır kullanılarak şifrelenir ve geçici sk_eph, alıcının paylaşılan sırrı oluşturabilmesi için şifrelenmemiş olarak dahil edilir.
Resmin giriş tarafında, geçerli bir işleme sahip olmak için iki şeye ihtiyaç vardır: tüketilen banknot çıktıları için genel bir geçersizleştirici ve 1) banknot çıktısının merkle nota ağacına dahil edildiğini, 2) işlemin uygun sk_spend anahtarıyla yetkilendirildiğini, 3) geçersizleştiricinin doğru bir şekilde türetildiğini ve 4) hiçbir enflasyonun meydana gelmediğini kanıtlayan bir sıfır bilgi kanıtı.
Yukarıdaki resimde dikkat ederseniz nullifier sk_nf anahtarını kullanıyor, r_seed'den türetilen ρ değeri ve nota çıktılarının merkle ağacındaki konumu. Sıfır bilgi kanıtı, tüm bunları sağlar; bu nedenle harcanan notları silmek yerine tekrarlar için geçersiz kılıcıları sayabilirsiniz. Bir geçersiz kılıcının hangi nota çıktısına karşılık geldiğini asla bilemeseniz bile, her işlemdeki sıfır bilgi kanıtları, sete eklenen her geçersiz kılıcının geçerli bir not çıktısından geldiğini garanti eder. Tekrarlamadığınız sürece aynı çift harcama garantisini sağlar.
İşte burada, protokol esasen şifrelenmiş metaprotokol işlemlerini Bitcoin blok zincirine yerleştirmenize olanak tanır, ancak yine de hiçbir şeyin iki kez harcanmadığını ve madeni paraların yoktan şişirilmediğini garanti eder.
Bu aslında gizlilik özellikleri açısından çok iyi tasarlanmış bir sistemdir ve Zcash korumalı havuzlar gibi bir şeyle eşdeğerdir. Metaprotokole giriş ve çıkış sırasında dikkate alınması gereken gizlilik hususları vardır ve bunlar yakında yayınlanacak bir belgede ayrıntılı olarak açıklanacaktır. Coinjoin'lerde olduğu gibi mahremiyetin veya periyodik remikslerin ölçülmesi gibi bir endişe yoktur.
Yani çivi. Amaç, bir tanık şifreleme şeması olan PIPEs v2'yi kullanarak bir sabitleme oluşturmaktır. PIPE'ler, belirli bir koşulun karşılandığına (örneğin, bazı UTXO'ların durumu, bir işlemin onaylandığına vb.) ilişkin bir ZK kanıtı sağlayamadığınız sürece, anahtarı ifşa etmeyecek bir program/mekanizma ile özel bir anahtarı şifrelemenize olanak tanır. Bu, bir sabitleyicinin bir operatör, federasyon veya herhangi bir üçüncü tarafın fonları saklaması olmadan çalışmasına olanak tanıyacaktır.
Bu, Bitcoin'de softfork veya protokol değişikliği gerektirmez ve tamamen zincir dışında gerçekleşir.
Korumalı Bitcoin ile ilgili plan ve çalışmalarının bir sonraki kısmı, kullanıcıların PIPE'lerin kriptografik olarak kontrol edilen anahtarlarını kullanarak Korumalı Bitcoin'e para yatırmalarına olanak tanıyan bir sabitleme mekanizmasıdır; bu daha sonra zincir üzerinde onaylanan yasal sabitleme işlemlerinin ZK kanıtını oluşturarak "kilidi açılır".
Sistemin bu yönünü tanımlayan belge üzerinde çalışmalar şu anda devam ediyor ve yakın gelecekte yayınlanması bekleniyor.