Earthstar – Kişisel dağıtık çevrimdışı öncelikli uygulamalar için veritabanı
(earthstar-project.org)- Earthstar, kullanıcıların doğrudan sahip olduğu ve işlettiği özel dağıtık uygulamalar oluşturmak için bir veri spesifikasyonu ve JavaScript kütüphanesidir
- Yeni Earthstar spesifikasyonu Willow tabanlı hale geldi ve Earthstar v11 şu anda beta olarak sunuluyor
- Uygulamalar varsayılan olarak çevrimdışı çalışma yaklaşımıyla gelirken canlı senkronizasyonu, geçici belgeleri, gerçek silmeyi ve müzik·fotoğraf·video depolamayı destekler
- Sunucular isteğe bağlıdır, ancak çalışma modeli her zaman self-hosting temellidir ve blockchain ya da tokenlara dayanmaz
- Tarayıcı, Deno ve Node üzerinde çalışır; ed25519 doğrulaması, salt okunur erişim, akış tabanlı senkronizasyon, çoklu yazar ve depolama sürücüleri sunar
Earthstar'ın rolü ve mevcut durumu
- Earthstar, kullanıcı sahipli uygulamalar oluşturmak için veritabanı niteliğinde bir spesifikasyon ve JavaScript kütüphanesidir
- Yeni Earthstar specification, Willow temel alınarak hazırlanmıştır
- Earthstar v11 şu anda beta sürüm olarak sunulmaktadır
- Dokümantasyon, JavaScript API, spesifikasyon ve sohbet uygulaması eğitimi başlıca giriş noktaları olarak sunulmaktadır
Çevrimdışı öncelikli uygulamalar için özellikler
-
Uygulama özellikleri
- Çevrimdışı çalışma desteği sunar
- Canlı senkronizasyon ve Sneakernet yöntemini destekler
- Müzik, fotoğraf ve video depolanabilir
- Geçici belgeleri ve verilerin gerçekten silinmesini destekler
- Tek bir kimlik (identity) veya birden fazla kimlik kullanılabilir
-
İşletim modeli
- Sunucu isteğe bağlıdır
- İşletim modeli her zaman self-hosting temellidir
- Blockchain ve token kullanılmaz
- “Her anlamda sonsuza kadar ücretsiz” anlayışını benimser
-
Teknik özellikler
- ed25519 doğrulamasını destekler
- Tarayıcı, Deno ve Node üzerinde çalışır
- Salt okunur erişim yetkisi verilebilir
- Verimli senkronizasyon ve akış tabanlı senkronizasyonu destekler
- Birden fazla cihazda tek bir kimlik kullanılabilir
- Çoklu yazar, depolama sürücüleri ve belge yazma yetkilerini destekler
1 yorum
Hacker News yorumları
nostr'a biraz benziyor ama farkları var. Veriler içerik adreslemeli değil, ad tabanlı olduğu için üzerine yazmayı ve silmeyi destekliyor; ham veri tipi de mesaj kümesi değil, addan belgeye giden bir ilişkisel dizi
Belgeler "shares" içinde gruplanıyor ve bir sunucunun ilgili share'in belgelerine sahip olduğunu kabul etmesi için önce "share address"i bilmesi gerekiyor. Bazıları özel, bazıları herkese açık olan erişim ilginç; bu eksende uç noktalardan birini seçen projeler genelde zorlanıyor, bence çoğu da öyle
Spam gönderenleri ve dolandırıcıları engellemede başarılı olacak gibi, ancak motivasyonu yüksek saldırganlarla karşı karşıya kalan büyük gruplar için temkinliyim. Bir kullanıcı, herkese açık ile özel arasındaki belirsiz bölgede kalan bir share address'i ifşa ederse, o share'deki tüm kullanıcılar açığa çıkıyor gibi görünüyor
Saldırganın hedefini bulmadan önce güven grafiğinin her hop'unu aşmak zorunda olduğu bir güven ağı daha iyi olurdu; ama kullanıcının üstlenmesi gereken karmaşıklık arttığı için, basitlik uğruna ayrıntı eksikliğine katlanılmasının nedenini de anlıyorum. Böyle şeylerin başarılı olmasını istiyorum; web'i kaybetmişiz gibi geliyor ve web benzeri bir şey olmadan kritik zamanlarda çok sayıda insanın büyük ölçekte koordinasyon sağlaması zor
share address, ssh anahtarı gibi ele alınmalı
Bunun tam olarak ne olduğundan emin değilim
İçinde bolca JavaScript olan bir belge/medya veritabanı mı? Biraz self-hosting odaklı ve Mastodon'a benzer şekilde peer node'lara mı replike ediyor? Büyük bir vizyon var gibi ama pek net görünmüyor
Earthstar'ın dağıtıklığıyla ne kazanıldığını bilmiyorum. Yedekleme ise SQLite ve PGlite ile de oldukça basit. Veritabanı kullanıcılarının çoğu için büyük bir avantaj olup olmadığı pek görünmüyor
Verilerini kendi cihazlarında saklayıp bu verileri başka bireylerle paylaşmak ve onların da yerel kopyalara sahip olmasını isteyenler için faydalı gibi görünüyor. Belki de içerik korsan paylaşımı içindir
İlginç özellikleri kesinlikle var, ama özellik listesinin içinde vizyon bulanıklaşmış gibi
Bence bu, daha önce paylaşılan Willow protokolü [0] ile değiştirilmiş durumda
Willow'u okumaya çalıştım ama bir türlü kavrayamadım [1]. Zaman damgaları ve kriptografik token'lar için eklenmiş bir sürü ekstra alanı olan hiyerarşik anahtar-değer deposu gibi görünüyor, fakat çalışan örnekler fazlasıyla yetersiz
En yeni Rust kütüphanesi [2] bile fiilen bir soyut sınıflar demeti ve implementasyonlar sadece hata fırlatıyor. Avrupa teknolojik inceliğinin mevcut durumu hakkında şaka yapabilirdim, ama kibar bir tebessümle geçeceğim
[0] https://willowprotocol.org/earthstar/spec/
[1] https://willowprotocol.org/specs/data-model/index.html#data_...
[2] https://github.com/earthstar-project/willow-rs/tree/main
[1] https://nlnet.nl/project/current.html
[2] https://nlnet.nl/funding.html
Silikon Vadisi'nde yapılan yazılımların kalitesini başarılı olamamış VC yatırım projelerine göre değerlendireceksek, işin içinden çıkılmaz
Willow'un arkasındaki kişiler de aynı ekip gibi görünüyor: https://earthstar-project.org/docs/future#willow-protocol
https://willowprotocol.org/more/compare/index.html#compare_e...“Yukarıdaki özelliklerin tümü, üzerinde çalıştığımız yeni Willow General Purpose Sync Protocol ile mümkün oluyor. Earthstar'dan ilham alan yeni bir protokol; onun kavramlarını rafine edip genişletiyor. Bu protokolün eksiksiz spesifikasyonunu içeren yeni bir web sitesi yayımlayacağız.”
“Earthstar size Willow'a çok benzer geliyorsa bu tesadüf değil. Willow, Earthstar'ı yeniden düşünme süreciyle başladı; Earthstar'ın gelecekteki sürümleri Willow üzerine inşa edilecek ve Earthstar'ın çekirdek maintainer'ı Willow'un iki yazarından biridir.”
Bir Python istemcisi var mı? Dokümanda Python ile ilgili gördüğüm tek şey şu
# Earthstar timestamps in pythontimestamp = int(time.time() * 1000 * 1000)Bunun yerine jellyfin, immich, geri kalanı için de sadece sftp önerirdim. Senkronizasyon, yok yani dağıtıklaştırma git, syncthing, rsync ile yapılabilir.
Henüz düzgün bir self-hosted kimlik yöneticisi ya da SSO benzeri bir şey görmedim. bluesky’nin bir tane yaptığını biliyorum ama self-hosting mümkün olur mu bilmiyorum. Otomatik tamamlama Freudvari biçimde self hosted’ı self hostage diye değiştirdi.
Homelab/özel bulutta hâlâ çözemediğim bir başka sorun da kendi CA’im olup karşı tarafa ssh öğretmeden makinelerime erişimi yönetmenin yolu.
NordVPN’in meshnet’i gibi, aile planında oturum açmış kişilerin birbirlerinin makinelerini yerel ağdaymış gibi görebildiği bir şey istiyorum. wireguard ile mümkün mü? yggdrasil de buna benziyor sanırım ama henüz derinlemesine bakmadım.
“İyi” kimlik yönetimi derken OpenLDAP ya da 389 olmayan bir şeyi mi kastediyorsunuz? Windows’u da hesaba katıyorsanız ne kadar iyi uyacağını bilmiyorum.
Kendi CA’iniz olmak kolay, ama o CA’i istediğiniz tüm makinelere kurma kısmı pek hoş değil. Let’s Encrypt kullanınca her şey düzgün çalışıyor.
Wireguard internet üzerinden iki LAN’ı bağlayabilir, ama iki uçta da pfsense gibi wireguard destekli iki yönlendirici olması iyi olur. Yoksa her istemci makineye özel yönlendirme ayarları kurmanız gerekir. Bağlantı üzerinden otomatik keşif için avahi’yi nasıl ileteceğimi henüz çözemedim.
Tarayıcıların SQLite desteğini sonlandırmasından sonra SQLite partisine katılmış olmamız hâlâ içimde ukde.
Bunun için bir blog yazısı gerçekten faydalı olur gibi. Örneğin neden böyle tasarlandığı, alternatiflerin neler olduğu gibi bir yazı.
İlk izlenimim ilginç olduğu yönünde. Kimliğin anahtar çifti olması ve dosyalarla içeriğe adla erişilebilmesi de hoşuma gitti.
Python gibi başka dillerde uygulanma ihtimali var mı? Her şeyini beğendim, sadece JavaScript olması takılıyor; bu tür bir kullanım için JavaScript kullanma konusunda hâlâ temkinliyim.
Ne yazık ki ikisi de o kadar popüler değil; sonuçta yine birden fazla dilde uygulama isteniyor ve bu da böyle projelerin bakımını yapanlar için yük olur gibi. Her hâlükârda gerçeklik bu; böyle bir dil değilse ben de Python istemci kütüphanesiyle ilgilenirim.
“Her zaman self-hosted. Sunucu isteğe bağlı. Blockchain yok. Token yok. Her anlamda sonsuza dek ücretsiz.”
Harika bir tez özeti.