AI ajanları için seçici açıklama: BBS+ neyi açığa çıkarmadan kanıtlar
Burada tarif edilen bağlanamazlık uygulaması denetlenmemiştir.
Dış denetim, bir NLnet NGI Zero hibesi aracılığıyla 2026 yılının ikinci yarısı için hedeflenmiştir ve o gelene kadar aşağıdaki her şey, çalışan kodun doğrulanmış bir özelliğini değil tasarımın niyetini tarif eder. Bunu takip eden her iddia için göz önünde tutun; iki paragraf sonra daha az doğru hâle gelmiyor.
Bunu belirttikten sonra, işte BBS+'ın bir ajan için gerçekte çözdüğü problem.
Problem: her şeyi kanıtlamadan tek bir şeyi kanıtlamak
Başkası adına hareket eden bir AI ajanı, yani sipariş veren, ücretli API'leri çağıran, başka ajanları işe alan bir ajan, düzenli olarak dayanan bir tarafa bir şeyi, bütün kimlik bilgisi dosyasını teslim etmeden kanıtlamak zorunda kalır. "Bu ajanın işletmecisi KYC'lidir." "Bu ajan 500 dolara kadar harcamaya yetkilidir." "Bu ajan kayıtlı bir filoya aittir." Bunların her biri daha büyük bir imzalı belgenin içine gömülü tek bir olgudur ve sıradan bir imza tek bir olguyu temiz biçimde çıkarmanıza izin vermez: yalnızca üzerinde hesaplandığı tam baytlara karşı doğrular. Tek bir alanı teslim edin, ya bir şey sahtelemiş ya da bütün belgeyi teslim etmiş olursunuz.
BBS+, ayrı mesajlardan oluşan bir vektörü tek bir imza altında imzalar ve ihraççının değil taşıyıcının, sunum anında yalnızca kendi seçtiği mesaj alt kümesini açıklayan taze ve tek kullanımlık bir kanıt türetmesine izin verir. Geri kalanı kanıtlanabilir biçimde imzalı kalır ve taşıyıcının makinesinden hiç çıkmaz. Seçici açıklama budur. İlginç mühendisliğin yaşadığı ikinci özellik, tasarım gereği bağlanamazlıktır: her sunum, özgün imza baytlarının bir kopyası değil yeni üretilmiş bir sıfır bilgi ispatı olduğundan, aynı kimlik bilgisinin iki farklı dayanan tarafa yapılan iki sunumu, bir doğrulayıcının onları birbirine ya da özgün imzalama olayına bağlamak için kullanabileceği hiçbir şeyi paylaşmaz; uygulama doğru olmak kaydıyla. O "kaydıyla" gerçek bir iş yapıyor ve bu sayfanın ilk paragrafının var olma sebebi de bu.
Nereden geliyor
Solidus bunların hiçbirini icat etmedi. Temel şema olan "BBS", Dan Boneh, Xavier Boyen ve Hovav Shacham tarafından 2004 tarihli "Short Group Signatures" makalelerinde tasarlandı. Pratik çok mesajlı seçici açıklamayı mümkün kılan "+" uzantısı, 2006'da Man Ho Au, Willy Susilo ve Yi Mu'dan geldi. Birlikte çalışabilir hat biçimi, yani uygulamaların birbirleriyle konuşabilmek için üzerinde anlaşması gereken kısım, süregiden IETF ve W3C/DIF BBS Cryptosuite şartname çalışmasından çıkıyor. Bu, BLS imzalarında kullanılan aynı BLS12-381 eşleştirme dostu eğrisi üzerine kurulmuş, yirmi yıllık hakem denetimli açık anahtar kriptografisidir. @solidus-network/bbs o şartnameyi uygular; Solidus matematiği değil paketlemeyi yazdı.
Solidus bunu bir ajan için nasıl kullanıyor
Bir ajan bir pasaport aldığında, yani Base Sepolia üzerinde bir ERC-8004 jetonuna demirlenmiş bir did:solidus kimliği, yanında bir BBS+ yetenek kimlik bilgisi de verilebilir. O kimlik bilgisi bir iddialar vektörü taşıyabilir: işletmecinin KYC durumu, bir harcama tavanı, bir filo üyeliği, dayanan bir tarafın ajanla işlem yapmadan önce kontrol etmesi gereken her ne ise. Sunum anında ajan yalnızca söz konusu iddiayı açıklar. En açık canlı örnek işletmeci KYC bağlantısıdır: bir işletmeci bir kez doğrulanır ve ajan daha sonra dayanan bir tarafa "işletmecim KYC'li" olduğunu, o dayanan taraf işletmecinin altta yatan kimlik belgelerini, adını ya da uyruğunu hiç görmeden kanıtlayabilir; bunlar kimlik bilgisinin içinde, açıklanmamış ve hâlâ geçerli biçimde imzalı kalır.
Kanıt
Bunu kendiniz çalıştırın, yukarıdaki iddiayı inanca dayandırmayın:
npm i @solidus-network/auth @solidus-network/bbs
node node_modules/@solidus-network/auth/demo/unlinkability-demo.mjs
Bu, tek bir kimlik bilgisi verir, onu iki ayrı dayanan tarafa sunar, iki sunumu da bağımsız olarak doğrular ve gizli anlaşma yapan bir dayanan taraf çiftinin sonradan notlarını havuzlarsa tam olarak neyi göreceğini yazdırır. Demonun tam yazdırdığı çıktı ve onun bayt bayt okunuşu bağlanamazlık sayfasında yaşar; buraya taşınmaya değer sayı ise onun ilişkilendirme kontrolüdür. İki sunum arasında karşılaştırılan 432 bayt konumu boyunca biri eşleşti; kabaca 1.7'lik rastgele bir taban çizgisine karşı. İki kanıt yalnızca farklı biçimlendirilmiş değil; istatistiksel olarak bağımsız çekilişlere yakınlar ve "yapı gereği bağlanamaz"ın pratikte, yalnızca makalede değil, böyle görünmesi gerekir. Aynı yetenek kimlik bilgisini birçok dayanan tarafa sunan bir ajan için, o tarafların ajanın eylemlerini tek bir profile bağlamasını engelleyen özellik budur.
Dürüstlük sınırı
Demonun yazdırdığı çıktıyı dikkatle okuyun, iddianın etrafına bir çizgi çekiyor; bu sayfa da demoyu işaret edip durmak yerine aynı çizgiyi çekiyor. Burada bağlanamaz olan şey, sunum zarfının içinde gezendir: kimlik bilgisinin kendi imzası ve açıklama için seçilen alanlar. O iddia, o zarfı taşıyan ağa uzanmaz. İki dayanan taraf, bir ajanı sunumlar arasında IP adreslerini, istek zamanlamasını, TLS ya da cihaz parmak izlerini karşılaştırarak ya da yalnızca her birinin kendi başına topladığı kayıt dışı veriyi (bir e-posta adresi, bir telefon numarası, bir ödeme kartı) havuzlayarak hâlâ ilişkilendirebilir. Solidus hiçbir Tor ya da karıştırıcı ağ taşıması sevk etmiyor, dolayısıyla ağ katmanı mahremiyeti ayrı ve ele alınmamış bir problemdir: kimlik bilgisi biçimi bunu çözmek için hiç tasarlanmadı ve aksini iddia etmek bir ihmal değil, çitin ihlali olurdu. Solidus dışında hiç kimse uygulamayı henüz kontrol etmedi.
Bu kanıt sırada nereye gidiyor
Doğrulanmış bir BBS+ sunumu, yani kanıt, açıklanan iddialar, gerçekleştiği an, tam olarak bir ERC-8004 Doğrulama Sicili kaydının kaydetmesi gereken kanıt biçimidir: üçüncü bir tarafın, belirli bir ajan eyleminin kontrol edilip geçerli bulunduğunu beyan etmesi. Solidus o sicil yuvasını henüz doldurmadı, yukarı akış standardın bir Doğrulama Sicili sözleşme adresi yayımlamasına bağlı, ama burada tarif edilen kimlik bilgisi biçimi o varış noktası akılda tutularak kuruldu.

