SolidusIdentity

18 Yaşından Büyük Olduğunuzu Kimlik Göstermeden Kanıtlamak

Evet, ilkesel olarak, ve çoğu kişinin varsaydığı biçimde değil. Burada sıfır bilgi kanıtı yok.

Ve ayrıntıdan önce: bunların hiçbiri bugün size açık değil. Onu gerçekleştiren paket özel diye işaretlenmiş ve npm'de değil, bu oturumda kontrollerle doğrulandı.

Düzeneğin gerçekte ne olduğu

Bir kimlik bilgisi önceden hesaplanmış boole iddiaları taşıyabiliyor, age_over_18 ve age_over_21, ad ve doğum tarihi gibi sıradan niteliklerin yanında. Her biri ayrı ayrı açıklanabilir, dolayısıyla bir sahip booleyi bırakıp açıklanabilir olan diğer her şeyi esirgeyebiliyor.

Bu gerçek bir mahremiyet kazancıdır ve sahip olmaya değer. Girişi denetleyen bir mekân, doğum tarihiniz, adınız ve belge numaranız yerine doğru öğreniyor. Bir kimlik belgesini teslim etmeye kıyasla muazzam biçimde daha iyidir.

Ama bu doğum tarihiniz hakkında bir kanıt değildir

Buradaki hiçbir şey 18 yaşından büyük olduğunuzu kanıtlamıyor. Bir verenin öyle söylediğini kanıtlıyor.

  • Veren doğum tarihinizi biliyor. Boole değerini ondan hesapladı.
  • Doğrulayıcı, gizli bir değer hakkındaki matematiksel bir ifadeyi denetlemiyor, verenin aritmetiğine güveniyor.
  • Veren onu yanlış ya da dürüst olmayan biçimde hesapladıysa, kimlik bilgisindeki hiçbir şey bunu açığa çıkarmıyor.

Bir sıfır bilgi aralık kanıtı farklı bir şeydir: bir doğrulayıcının, kimsenin açıklamadığı bir değer hakkındaki bir ifadeyi teyit etmesine izin veriyor. Biz öyle bir şey sunmuyoruz. SDK'mızda ve bu ürünün arka ucunda bir yüklem ya da aralık kanıtı için yapılan bir arama ilgili hiçbir şey döndürmüyor, aramanın işlediğini teyit eden bir kontrolle birlikte. Bunu sıfır bilgi yaş doğrulaması diye tarif eden herkes yanılıyor olurdu, biz dâhil.

Yalnızca iki eşik var, ve verilme anında sabitleniyorlar

age_over_18 ve age_over_21. Listenin tamamı budur.

"16'dan büyük", "25'ten büyük" ya da "65'ten büyük" isteyen bir doğrulayıcı yanıtlanamıyor, daha az açıklayarak da değil, sahip tarafında herhangi bir işlemle de değil. Boole değerleri kimlik bilgisi verildiğinde hesaplandı ve imzalandı. Soruyu değiştirmek verenden yeni bir kimlik bilgisi gerektiriyor.

Bu, önceden hesaplamanın yapısal bedelidir, ve gerçek bir yüklem kanıtının yapmayacağı takastır.

Ve "başka hiçbir şeyi açığa çıkarmadan" doğru değil: kendi yorumumuz öyle diyordu, düzeltildi

Kaynak dosya İngilizce tutuluyor ve bunu bir zamanlar "a bar proves age revealing nothing else" (bir barın başka hiçbir şeyi açığa çıkarmadan yaş kanıtladığı) yol diye tarif ediyordu. Artık etmiyor. İki iddia grubu her zaman açıklanıyor ve sahip tarafından esirgenemiyor:

  1. Güvence düzeyi, özgün doğrulamanın ne kadar güçlü olduğu.
  2. Bir kanıt bloğu, ki ne tür bir belgenin kullanıldığını, nasıl denetlendiğini, kişinin ona nasıl eşleştirildiğini, bir tarama bayrağının konulup konulmadığını, doğrulamanın ne zaman gerçekleştiğini, ve bazen belgenin ne zaman süresinin dolduğunu kaydediyor.

Yani bir yaş açıklaması alan bir doğrulayıcı bunların hepsini de öğreniyor, her seferinde, sahip ne seçerse seçsin. Bir zaman damgası ve bir belge türü hiçbir şey değildir demek değil: kim olabileceğinizi daraltıyorlar ve doğrulayıcılar arasında bir ilişkilendirme tutamağı veriyorlar.

Tasarım sebebi iyidir ve onu eleştiriden önce belirtiyoruz: kanıt bloğu, verenin güvence iddiasının inanç üzerine alınmak yerine denetlenebilir olması için var. Kanıtının destekleyemeyeceği güçlü bir güvence düzeyini imzalayan bir veren, tam olarak tasarımın yasakladığı dürüstsüzlüktür, ve kod bunu her derlemede doğruluyor. Kanıtı gizlemek, güvence iddiasını yanlışlanamaz kılardı.

Bu savunulabilir bir takastır. "Başka hiçbir şey" değildir, ve kendi paketimizdeki yorum artık öyle demiyor. 2026-08-25'te, sessizce değil açıkça düzeltildi.

Bunların hiçbiri bugün sizin için kullanılabilir değil

Paket özel diye işaretlenmiş ve yayımlanmamış. Bir yabancının denetleyeceği biçimde denetlendi:

$ npm view @solidus-network/verify-capture-credential version   →  E404
$ npm view @solidus-network/sdk version                          →  0.6.3     (control)
$ npm view @solidus-network/zzz-not-real-qqq version             →  E404      (control)

Ve yüklem iddiası, kurulmuş yayımlanmış paketlerimizin hiçbir dosyasında görünmüyor, aramanın onlara ulaştığını teyit eden bir kontrolle birlikte.

Bunu neyin gerçek kılacağı

  1. Paketi yayımlamak, ki bizden başka biri onu kullanabilsin.
  2. İnsanların zaten güvendiği bir veren boole değerini hesaplıyor olmalı. Düzenek, ancak onu imzalayan kadar iyidir, ve bugün o biziz.
  3. Onu kabul eden bir doğrulayıcı. Hiçbiri kabul etmedi.
  4. Ya gerçek bir yüklem kanıtı, ya da eşikler üzerinde dürüst ve kalıcı bir sınır. İki boole bir ürün kararıdır, ve sayfa bunu söylemeyi sürdürmeli.

Okumaya devam edin

18 Yaşından Büyük Olduğunuzu Kimlik Göstermeden Kanıtlamak · Solidus — Solidus Identity