2 poin oleh GN⁺ 2025-02-02 | 1 komentar | Bagikan ke WhatsApp
  • Earthstar adalah spesifikasi data dan library JavaScript untuk membuat aplikasi terdistribusi privat yang dimiliki dan dioperasikan langsung oleh pengguna
  • Spesifikasi Earthstar yang baru telah beralih berbasis Willow, dan Earthstar v11 saat ini tersedia dalam versi beta
  • Aplikasi secara default mengutamakan operasi offline, sekaligus mendukung sinkronisasi live, dokumen sementara, penghapusan sungguhan, serta penyimpanan musik, foto, dan video
  • Server bersifat opsional, tetapi model operasinya selalu self-hosting, dan tidak bergantung pada blockchain atau token
  • Berjalan di browser, Deno, dan Node, serta menyediakan verifikasi ed25519, akses read-only, sinkronisasi streaming, multi-penulis, dan driver penyimpanan

Peran dan status Earthstar saat ini

  • Earthstar adalah spesifikasi dan library JavaScript yang berkarakter seperti database untuk membuat aplikasi milik pengguna
  • Spesifikasi Earthstar yang baru berbasis Willow
  • Earthstar v11 saat ini tersedia sebagai versi beta
  • Dokumentasi, API JavaScript, spesifikasi, dan tutorial aplikasi chat disediakan sebagai titik masuk utama

Fitur untuk aplikasi yang mengutamakan offline

  • Fitur aplikasi

    • Mendukung operasi offline
    • Mendukung sinkronisasi live dan metode Sneakernet
    • Dapat menyimpan musik, foto, dan video
    • Mendukung dokumen sementara dan penghapusan data secara sungguhan
    • Dapat menggunakan satu atau beberapa identitas (identity)
  • Model operasi

    • Server bersifat opsional
    • Model operasinya selalu self-hosting
    • Tidak menggunakan blockchain dan token
    • Mengusung prinsip “gratis selamanya dalam segala arti”
  • Fitur teknis

    • Mendukung verifikasi ed25519
    • Berjalan di browser, Deno, dan Node
    • Dapat memberikan hak akses read-only
    • Mendukung sinkronisasi efisien dan sinkronisasi streaming
    • Satu identitas dapat digunakan di beberapa perangkat
    • Mendukung multi-penulis, driver penyimpanan, dan izin penulisan dokumen

1 komentar

 
GN⁺ 2025-02-02
Opini di Hacker News
  • Sedikit mirip dengan nostr, tetapi ada perbedaannya. Datanya bukan berbasis pengalamatan konten, melainkan berbasis nama, sehingga mendukung penimpaan dan penghapusan; tipe data mentahnya juga bukan kumpulan pesan, melainkan array asosiatif dari nama ke dokumen.
    Dokumen dikelompokkan dalam "shares", dan agar sebuah server mengakui bahwa ia memiliki dokumen dari share tersebut, ia harus lebih dulu mengetahui "share address". Pendekatan akses yang sebagian privat dan sebagian publik ini menarik; proyek-proyek yang memilih posisi ekstrem pada sumbu ini biasanya kesulitan, dan menurut saya kebanyakan memang begitu.
    Sepertinya akan berhasil mencegah spammer dan penipu, tetapi saya akan berhati-hati untuk grup besar yang menghadapi penyerang yang bermotivasi tinggi. Jika satu pengguna mengekspos share address yang berada di wilayah abu-abu antara publik dan privat, tampaknya semua pengguna share itu akan terungkap.
    Web of trust, di mana penyerang harus menembus setiap hop dalam graf kepercayaan sebelum menemukan target, akan lebih baik, tetapi kompleksitas yang harus ditanggung pengguna jadi besar, jadi saya juga paham mengapa mereka menerima kurangnya granularitas demi kesederhanaan. Saya berharap hal seperti ini berhasil; rasanya kita telah kehilangan web, dan tanpa sesuatu yang mirip web, sulit bagi banyak orang untuk berkoordinasi dalam skala besar pada masa-masa penting.

    • Dengan desain berbasis capability yang benar, setiap pengguna seharusnya mendapat share address terpisah, dan bisa dinonaktifkan kapan saja.
      Share address harus diperlakukan seperti kunci ssh.
  • Saya tidak benar-benar paham ini sebenarnya apa.
    Apakah ini semacam basis data dokumen/media dengan banyak JavaScript? Agak berorientasi self-hosting, lalu direplikasi ke node peer seperti Mastodon? Visi besarnya tampak ada, tetapi kurang terlihat jelas.

    • Kelebihan Earthstar tampaknya adalah sifat terdistribusinya. Kalau bukan itu, lebar fitur basis datanya tidak seluas PGlite atau SQLite, yang bisa berjalan offline, menyimpan secara lokal, dan berjalan di browser.
      Saya tidak tahu apa yang didapat dari sifat terdistribusi Earthstar. Kalau untuk backup, itu juga cukup sederhana di SQLite dan PGlite. Saya tidak melihat apakah ini memberi manfaat besar bagi sebagian besar pengguna basis data.
      Tampaknya ada manfaat bagi orang yang ingin menyimpan data di perangkatnya sendiri sambil membagikan data itu dengan individu lain, dan ingin mereka juga memiliki salinan lokal. Mungkin juga bisa untuk berbagi konten ilegal.
    • Untuk konsep yang sama ada istilah local-first, dan area itu tampaknya lebih aktif.
    • Saya juga datang untuk menulis ini. Saya tidak tahu use case-nya apa, bagaimana memakainya, atau mengapa harus memakainya.
      Jelas ada fitur-fitur menarik, tetapi visinya terasa tenggelam dalam daftar fitur.
  • Saya menganggap ini telah digantikan oleh protokol Willow [0] yang pernah muncul sebelumnya.
    Saya mencoba membaca Willow, tetapi sama sekali tidak bisa menangkap gambarannya [1]. Kelihatannya seperti penyimpanan key-value hierarkis dengan banyak field tambahan untuk timestamp dan token kriptografis, tetapi contoh cara kerjanya terlalu kurang.
    Bahkan library Rust terbaru [2] pada dasarnya hanya kumpulan kelas abstrak, dan implementasinya sebatas melempar error. Saya bisa saja bercanda tentang kondisi kecanggihan teknologi Eropa saat ini, tetapi akan saya lewatkan dengan senyum sopan.
    [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

    • Ini adalah proyek yang didukung oleh NLnet. Daftar proyek yang didukung NLnet ada di [1], dan proyek bebas/open-source apa pun bisa mengajukan permohonan [2].
      [1] https://nlnet.nl/project/current.html
      [2] https://nlnet.nl/funding.html
    • Saya juga mau mengatakan hal yang sama seperti komentar saudara. Tidak perlu menyindir; NLnet mendukung sangat banyak proyek keren.
      Kalau kualitas perangkat lunak buatan Silicon Valley dinilai dari proyek-proyek investasi VC yang tidak berhasil, ya tidak ada jawabannya.
    • Orang-orang di balik Willow juga tampaknya tim yang sama: https://earthstar-project.org/docs/future#willow-protocol
      “Semua fitur di atas dimungkinkan oleh Willow General Purpose Sync Protocol baru yang sedang kami kerjakan. Ini adalah protokol baru yang terinspirasi oleh Earthstar, yang menyempurnakan dan memperluas konsep-konsepnya. Kami akan meluncurkan situs web baru berisi spesifikasi lengkap protokol ini.”

      https://willowprotocol.org/more/compare/index.html#compare_e...
      “Jika Earthstar terasa sangat mirip dengan Willow, itu bukan kebetulan. Willow berawal dari upaya membayangkan ulang Earthstar; versi Earthstar mendatang akan dibangun di atas Willow, dan maintainer inti Earthstar adalah salah satu dari dua penulis Willow.”
    • Banner di bagian paling atas situs web secara harfiah berbunyi “Earthstar has a new specification powered by Willow.
    • Satu proyek open-source satu orang tidak mewakili seluruh keadaan kecanggihan teknologi Eropa.
  • Apakah ada klien Python? Satu-satunya hal yang terlihat terkait Python di dokumentasi hanyalah ini:
    # Earthstar timestamps in python
    timestamp = int(time.time() * 1000 * 1000)

  • Daripada itu, saya akan merekomendasikan jellyfin, immich, dan untuk sisanya cukup sftp. Sinkronisasi—atau lebih tepatnya desentralisasi—bisa dilakukan dengan git, syncthing, rsync
    Saya belum melihat pengelola identitas self-hosted atau SSO yang benar-benar bagus. Saya tahu bluesky sedang membuat salah satunya, tapi tidak tahu apakah bisa di-self-host. Autocomplete secara Freudian mengubahnya menjadi self hostage
    Masalah lain yang belum terpecahkan di homelab/private cloud adalah bagaimana menjadi CA sendiri dan mengelola akses ke mesin saya tanpa harus mengajari orang lain ssh
    Saya ingin sesuatu seperti meshnet milik NordVPN, sehingga orang-orang yang login ke paket keluarga bisa melihat mesin satu sama lain seperti di jaringan lokal. Apakah bisa dengan wireguard? yggdrasil juga tampaknya seperti ini, tapi saya belum mendalaminya

    • Bukankah ini library untuk membuat aplikasi sendiri? Saya tidak mengerti apa hubungannya dengan sesuatu seperti jellyfin di sini
      Kalau yang dimaksud manajemen identitas yang “bagus”, apakah maksudnya selain OpenLDAP atau 389? Kalau sampai mempertimbangkan Windows, saya tidak tahu seberapa cocoknya
      Menjadi CA sendiri itu mudah, tapi bagian memasang CA itu di semua mesin yang diinginkan kurang enak. Kalau memakai Let’s Encrypt, semuanya berjalan lancar
      Wireguard bisa menghubungkan dua LAN lewat internet, tapi akan lebih baik jika ada dua router yang mendukung wireguard, seperti pfsense, di kedua ujungnya. Kalau tidak, harus memasang pengaturan routing khusus di tiap mesin klien. Saya belum menemukan cara meneruskan avahi untuk auto-discovery melewati link itu
    • Kalau yang Anda inginkan adalah berbagi VLAN dengan keluarga, tailscale mungkin yang Anda cari
  • Saya masih menyayangkan baru ikut pesta SQLite setelah browser menghentikan dukungan SQLite

  • Tulisan blog tentang ini sepertinya akan sangat membantu. Misalnya tulisan tentang mengapa didesain seperti ini, apa alternatifnya, dan sebagainya
    Kesan pertama saya menarik. Saya juga suka bahwa identitasnya berupa pasangan kunci, dan file serta konten bisa diakses berdasarkan nama

  • Apakah ada kemungkinan diimplementasikan dalam bahasa lain seperti Python? Saya suka semuanya, hanya saja terganjal karena ini JavaScript, dan saya masih berhati-hati memakai JavaScript untuk penggunaan seperti ini

    • Untuk aplikasi seperti ini, bahasa yang bisa dikompilasi ke JavaScript dan target lain seperti nim atau gleam terasa bagus. Dengan begitu aplikasi bisa dijalankan di Raspberry Pi, ESP32, atau tab browser mana pun
      Sayangnya keduanya tidak begitu populer, jadi pada akhirnya orang akan meminta implementasi dalam banyak bahasa, dan itu tampaknya akan menjadi beban bagi maintainer proyek seperti ini. Bagaimanapun, begitulah kenyataannya, dan kalau bukan memakai bahasa seperti itu, saya juga tertarik pada library klien Python
  • “Selalu self-hosted. Server bersifat opsional. Tanpa blockchain. Tanpa token. Gratis selamanya dalam segala arti.”
    Ini ringkasan tesis terbaik