Zincire demirlenmiş yönlendirme çözümlemesi

Relay bir did:solidus'a teslimat yapması gerektiğinde, o DID'nin nerede yaşadığı konusunda sizin sözünüze güvenmez. DID'yi Solidus zincirine karşı çözümler ve DIDComm hizmet girdisini zincir üstü belgeden okur.

Kapsam, önce belirtilmiştir, çünkü ifade fazla okumaya davet ediyor: bu, muhataplarınızın DID'lerini çözümlemekle ilgilidir. Aracının kendi kimliği bir did:keydir ve zincire demirlenmemiştir, bkz. bir aracı için did:key ve did:solidus.

Neden zincir üstünde çözümlemeli

Bir yönlendirme anahtarı ve uç noktası, bir aracıya nereye göndereceğini söyler. O işaretçi soran kişiden geliyorsa, aracının meşru bir güncellemeyi bir yönlendirmeden ayırmanın yolu yoktur. DID'yi demirlenmiş bir kaynaktan çözümlemek, cevabın isteyenden değil DID'nin denetleyicisinin yayımladığı yerden gelmesi demektir.

Mekanizma: solidus_didResolve'a bir RPC çağrısı, ardından DIDCommMessaging hizmet girdisinin, yani uri, accept ve routingKeys alanlarının çıkarılması.

Üç sonuç ve üçüncüsünün neden dürüst kısım olduğu

Bir çözümleme üç şekilde sonuçlanabilir ve relay hangisinin gerçekleştiğini düzleştirmek yerine bildirir:

source Ne anlama geliyor
on-chain Az önce zincirden canlı çözümlendi.
cache Zincir çağrısı başarısız oldu ya da zaman aşımına uğradı, dolayısıyla son önbelleğe alınmış değer sunuldu, özgün blok yüksekliğini ve çözümleme zaman damgasını taşıyarak, taze görünen birini değil.
failed Zincir çağrısı başarısız oldu ve önbellek yoktu. Gerçek bir çözümleme başarısızlığı.

cache satırı üzerinde durmaya değer olandır. Önbelleğe alınmış bir cevap yine de bir cevaptır ve onu sunmak genellikle doğrudur, ama onu güncel zamanla yeniden damgalamak, bir işletmeciye yönlendirmenin az önce teyit edildiğini söylerdi; oysa edilmedi. Relay bunun yerine özgün bloğu ve zaman damgasını korur. Bayat diye etiketlenmiş bayat veri yararlıdır; taze diye etiketlenmiş bayat veri, temiz bir arayüzle söylenmiş bir yalandır.

failed boş bir sonuç değil gerçek bir durumdur. İşletmeciye görünür ve sessizce bozulmak yerine bir resolution.failed web kancası tetikler. Bkz. web kancaları ve teslimat günlükleri.

Bilinmeye değer iki tasarım tercihi

Bozuk bir hizmet girdisi "hizmet bulunamadı" olarak ele alınır, asla yarı güvenilmez. Zincir üstü belgede doğrulanmayan bir DIDCommMessaging girdisi varsa, relay tanıdığı parçaları kurtarmaya çalışmaz. Kısmen anlaşılmış bir yönlendirme talimatı, tam olarak istenmeyen bir yere teslimat yapan türden bir şeydir.

Blok yüksekliği süstür ve asla engelleyici değildir. Relay, işletmeci görünümü için güncel bloğu okur, ama o okuma başarısız olursa çözümleme null bir blokla yine de başarılı olur. Kozmetik bir sayının bir teslimatı başarısız kılmasına izin verilmez.

Zincir çağrısında sınırlı bir zaman aşımı ve sınırlı bir önbellek ömrü vardır; ikisi de yavaş bir zincirin asılı kalan bir isteğe değil cache'e bozulması için vardır.

Bu ne değildir

  • Aracının kendi kimliği değildir. Tekrarlanıyor, çünkü en olası yanlış okuma budur: relay kendini bir did:key ile tanıtır.
  • Ana ağ hakkında bir iddia değildir. Karşısında çözümleme yapılan zincir Solidus **açık test
  • Mesaj içeriklerinin bir bütünlük kanıtı değildir. Nereye yönlendirileceğini demirler; zarfın içinde ne olduğu hakkında hiçbir şeyi değil.
  • **Bir mahremiyet özelliği değildir. Çözümleme, relay'in yönlendirirken neyi gözlemlediği hakkında hiçbir şey söylemez: o, bir aracının görebildikleri ve göremedikleri sayfasıdır.

Görmek

Çözümlemeler, kimlik doğrulaması gereken işletmeci düzleminde /v1/resolutions adresinde açılır:

curl -s -o /dev/null -w '%{http_code}\n' https://relay.solidus.network/v1/mediations
# 401

Bir anahtar için relay.solidus.network adresinde oturum açın. Konsol örnek veri gösterir ve bunu söyler; oradaki rakamları gerçek ölçüt olarak okumayın.

Relay, Coordinate Mediation 2.0 ve Pickup 3.0 uygular; bağımsız bir DIDComm uygunluk paketi çalıştırılmamıştır, dolayısıyla iddia "uygular"dır, "uygundur" değil.

Okumaya devam edin

Zincire demirlenmiş yönlendirme çözümlemesi · Solidus