Programlama ve Yazılım Geliştirme

Spritely, merkeziyetsiz ve güvenli uçtan uca internet mimarisi vizyonunu sunuyor

Spritely’den Christine Lemmer-Webber ve David Thompson, platformun yetenek güvenliğini, aktör modelini, OCapN protokolünü ve eşler arası uygulamalar oluşturmak için petname sistemlerini nasıl bir araya getirdiğini açıklıyor. Makale ayrıca yetkilendirme, eşzamanlama ve adlandırma sorunlarının ele alınmasında Goblins, Hoot ve yerel CRDT’lerin rolünü de ortaya koyuyor.

2026-09-27
4 dk okuma
17 görüntülenme
certi.news Editorial Team
Spritely, merkeziyetsiz ve güvenli uçtan uca internet mimarisi vizyonunu sunuyor

Spritely, dağıtık sistemlerdeki üç temel sorunu (erişim kontrolü, süreçler arası iletişim ve kaynakların adlandırılması) ele alarak varsayılan olarak merkeziyetsiz ve güvenli uygulamalar oluşturma vizyonu sunuyor. Bu sunum, Spritely Institute’ün genel müdürü Christine Lemmer-Webber ile enstitünün teknik direktörü David Thompson tarafından gerçekleştirildi.

Fikir, merkezi hizmetlerin mühendislik açısından daha kolay olduğu, ancak işletmeci kuruluşa hizmeti değiştirme, kullanıcıları izleme veya ürünü tamamen durdurma konusunda büyük bir güç verdiği varsayımından hareket ediyor. Spritely, merkezi platformlara bağımlılığın kullanıcıları sınırlı seçeneklerle karşı karşıya bıraktığını düşünüyor. Ayrıca büyük şirketleri hedef almak üzere tasarlanan bazı yasaların, uyumluluğu küçük projeler ve kendi kendine barındırma açısından maliyetli hâle getiren “yasal siperlere” dönüşebileceğini belirtiyor.

Güvenlik, genel izinlerden değil yeteneklerden başlar

Makale, erişim kontrol listeleri ve rol modellerini eleştiriyor; çünkü bu modeller çoğunlukla geniş gruplara ve izinlere, ayrıca yetkilendirme vermek için merkezi bir yönetim makamına dayanıyor. Spritely’nin sunduğu alternatif, yetenek güvenliği. Bu modelde yetenek, kaynağın tanımlanmasını ve onu kullanma izninin verilmesini bir araya getiren, sahteciliğe karşı dayanıklı bir referansı ifade ediyor.

Pratikte program yalnızca kendisine açıkça aktarılan yetenekleri alıyor. Güvenilmeyen bir uygulama çalıştırılırsa, örneğin kullanıcıya ait tüm izinlerle çalıştırmak yerine yalnızca ekran ve klavyeyle etkileşim kurma yetkisi verilebiliyor. Bu model, yetki devredildiğinde iznin daraltılmasına ve merkezi bir yöneticiye başvurmadan başka bir tarafa aktarılmasına olanak tanıyor; ayrıca yetki daha sonra iptal edilebiliyor.

Spritely bu ilkeleri, yeteneklere dayalı güvenli bir dağıtık programlama ortamı olan Goblins’te hayata geçiriyor. Makale, yeteneklerin aktarılması ile programlama dillerindeki argümanların aktarılması arasında bağlantı kuruyor; böylece kaynaklara erişim, fonksiyonun veya sürecin örtük olarak erişebileceği şeylerin değil, doğrudan kendisine verilen şeylerin sonucu hâline geliyor. Goblins ayrıca eşzamanlılığı, kalıcılığı ve işlemleri destekliyor; buna işlemin başarısız olması durumunda önceki bir duruma geri dönme de dâhil.

Aktör modeli ve OCapN protokolü

Süreçler arasındaki iletişimi düzenlemek için Spritely, her aktörün bir seferde tek bir mesaj aldığı, diğer aktörlere mesaj gönderebildiği, yeni aktörler oluşturabildiği veya bir sonraki mesaj için davranışını değiştirebildiği aktör modeline dayanıyor. Bu model, paylaşılan kilitlere olan bağımlılığı azaltan bir yöntemle asenkron iletişimi ve durum yönetimini bir araya getiriyor.

Spritely, REST’in esas olarak istemci-sunucu uygulamaları için uygun olduğunu, birbirine güvenmeyen taraflardan oluşan bir eşler arası ağ için ise uygun olmadığını düşünüyor. Object-Capability Network’ün kısaltması olan OCapN ise uzak yordam çağrılarına güvenli referans aktarımını ekliyor. Protokol taşıma yönteminden bağımsız ve WebSockets, Tor onion hizmetleri veya başka yöntemler üzerinden çalıştırılabiliyor; ayrıca iki taraf arasındaki iletişimi ve nesnelerin üçüncü bir tarafa aktarılmasını destekliyor.

OCapN, temel katmanda zorunlu bir şema bulunmayan bir veri modeline dayanıyor ve asenkron çağrıları ile vaat değerlerini destekliyor. Makale, şu anda Scheme, JavaScript ve Dart’ta uygulamalarının bulunduğunu belirtiyor.

Genel adlara körü körüne güvenmek yerine yerel adlandırma

Spritely, kaynakların adlandırılması sorununu, kullanıcılara tanıdıkları taraflar veya nesneler için seçtikleri yerel adları veren petname sistemleri aracılığıyla ele alıyor. Bu yaklaşım, alan adlarıyla ilgili kimlik avı, ad kaçırma ve görsel benzerlik saldırıları gibi sorunlara yanıt olarak ortaya çıkıyor.

Makale, bu zorluğu, tek bir sistemde insanlar tarafından anlaşılabilir ad, merkeziyetsizlik ve güvenliği bir araya getirmenin zor olduğunu varsayan Zooko üçgeniyle ilişkilendiriyor. Petname modeli, küresel bir adı kimliğin yeterli kanıtı olarak sunmak yerine, kullanıcının kaynakla olan yerel ilişkisine odaklanıyor.

Pratikte ne değişiyor?

Spritely, merkezi hizmetlerin yerine geçecek hazır bir üründen çok bir ilkeler ve araçlar paketi sunuyor. Temel değer, geliştiriciden dağıtık sistemler ve güvenlik alanındaki onlarca yıllık araştırmayı yeniden keşfetmesini istemek yerine, güvenliği ve merkeziyetsizliği varsayılan hâle getirmeye çalışması. Ancak sunumun kendisi; geniş ölçekli benimsenme, kullanıcı deneyimi, mevcut uygulamalarla uyumluluk veya tarafların bağlantısının kesilmesi ya da farklılaşması durumunda kaynakların nasıl yönetileceği konularını kesin biçimde çözüme kavuşturmuyor.

Yazılım mimarları açısından yaklaşımın önemi, izinler üzerinde hassas kontrolü asenkron iletişim ve referans aktarımıyla bir araya getirmesinde yatıyor. Geliştiriciler içinse zorluk, araçların ve protokollerin ne ölçüde olgun olduğu ve alışılmış merkezi mimarilerden daha basit işletim modellerinin bulunup bulunmadığı olmaya devam ediyor.

Haber kaynağı
InfoQ - Architecture Articles
Özgün kaynağı aç ↗
c
Yazar

certi.news Editorial Team

Aynı kategoride

Bunlar da ilginizi çekebilir

Tüm haberleri gör