- Yggdrasil adalah jaringan yang bereksperimen dengan alternatif terdesentralisasi untuk protokol routing terstruktur, menggunakan pendekatan routing ringkas yang dirancang dengan mempertimbangkan jaringan mesh berskala besar
- Implementasi saat ini adalah router perangkat lunak ruang pengguna yang ringan dan mudah dikonfigurasi, yang menghubungkan routing IPv6 terenkripsi ujung-ke-ujung antar peserta
- Peering node dapat dikonfigurasi melalui LAN, tautan titik-ke-titik, dan koneksi TCP/TLS di atas internet; peering aktual dapat berjalan di atas IPv4 maupun IPv6
- Fiturnya mencakup topologi skala besar, pemulihan dari kegagalan dan peristiwa mobilitas, enkripsi ujung-ke-ujung yang selalu aktif, operasi P2P tanpa titik pusat, serta dukungan untuk berbagai sistem operasi
- Masih berada pada tahap alfa, sehingga kemungkinan perubahan yang memutus kompatibilitas masih ada, tetapi secara umum cukup stabil untuk penggunaan sehari-hari dan sedang diuji stres secara intensif oleh sebagian pengguna
Masalah jaringan yang ingin dipecahkan Yggdrasil
- Yggdrasil adalah pendekatan routing ringkas baru yang eksperimental
- Tujuannya menjadi alternatif terdesentralisasi dan berorientasi masa depan untuk protokol routing terstruktur yang umum digunakan di internet
- Dirancang sebagai teknologi yang memungkinkan jaringan mesh berskala besar di masa mendatang
-
Karakteristik desain jaringan
- Skalabilitas: mendukung topologi besar dan kompleks, termasuk topologi skala internet
- Pemulihan mandiri: bereaksi cepat terhadap kegagalan koneksi atau peristiwa mobilitas
- Enkripsi: trafik yang melewati jaringan selalu menggunakan enkripsi ujung-ke-ujung penuh
- P2P: beroperasi secara ad hoc tanpa titik terpusat bawaan
- Lintas platform: mendukung Linux, macOS, Windows, iOS, Android, dan lainnya
Cara implementasi dan bergabung ke jaringan
- Implementasi saat ini adalah router perangkat lunak ruang pengguna yang ringan
- Mudah dikonfigurasi dan mendukung berbagai platform
- Menghubungkan routing IPv6 terenkripsi ujung-ke-ujung di antara semua peserta jaringan
- Peering antar node dapat dikonfigurasi melalui koneksi TCP/TLS
- Dapat digunakan pada jaringan area lokal, tautan titik-ke-titik, maupun di atas internet
- Yggdrasil Network menyediakan routing IPv6 antar node, tetapi koneksi peering itu sendiri dapat disiapkan di atas jaringan IPv4 atau IPv6
- Proyek ini masih berada pada tahap alfa
- Perubahan yang memutus kompatibilitas dapat terjadi di masa depan
- Meski begitu, secara umum cukup stabil untuk penggunaan sehari-hari
- Sebagian pengguna memakainya secara intensif untuk berbagai tujuan sekaligus melakukan stress test
-
Cara memulai dan berkontribusi
- Anda dapat bergabung ke jaringan dari komputer pribadi atau router melalui instalasi dan konfigurasi
- Anda dapat menjelajahi layanan internal dalam jaringan yang dioperasikan pengguna
- Anda dapat berpartisipasi dalam proyek melalui halaman pengembang dan GitHub
- Bug dan masalah dapat dilaporkan di GitHub Issues
1 komentar
Komentar Hacker News
Hal pertama yang saya cari di situs web dan GitHub adalah spesifikasi protokol yang bisa diimplementasikan secara independen dari implementasi referensi, tetapi untuk sesuatu yang dipromosikan sebagai scheme/protocol, tidak ada spesifikasi yang ditautkan di mana pun
Setelah menggali sendiri, saya menemukan [1] di cabang samping proyek GitHub lain, dan saya memberi tepuk tangan untuk penulisnya. Isinya cukup baik mencakup hal-hal yang diperlukan seperti identitas kriptografis, format pesan, protokol transport, peering dan semantik stream, pembaruan spanning tree dan pemilihan root, DHT, logika forwarding, sesi, dan sebagainya
Namun ada TODO seperti cara verifikasi/penandatanganan pembaruan root, dan ada ambiguitas dalam algoritma penanganan seri saat memilih next hop. Selain itu, semua paket harus dikirim secara andal dan berurutan, serta harus bisa dipecah menjadi paket yang lebih kecil agar sesuai dengan MTU, sehingga lapisan transport tampaknya sangat terikat dengan TCP
[1] https://github.com/yggdrasil-network/yggdrasil-specs/blob/ys...
Di v0.4, DHT cukup banyak berubah, dan di v0.5 DHT dihapus sepenuhnya. Karena ini proyek riset, kemungkinan besar akan terus berubah sampai mencapai desain yang lebih memuaskan, dan pada saat itu saya pasti akan meluangkan lebih banyak waktu untuk dokumentasi
Kebutuhan akan link yang menjamin urutan/andal pada tahap saat ini lebih banyak demi kemudahan pengembangan, tetapi bagian itu jelas bisa diperbaiki
Sejauh yang saya pahami, yggdrasil dan cjdns adalah jaringan P2P virtual yang dibangun di atas internet yang sudah ada, dan menyediakan layanan routing lapisan 3 yang umum
Jadi tetap masih membutuhkan ISP, backbone internet, dan sebagainya. Apakah ada proyek yang mencoba membuat jaringan P2P global yang menggantikan lapisan IP, yang bisa berjalan tanpa router Verizon atau Cisco?
Saya tahu beberapa teknologi jaringan mesh untuk jaringan kecil yang terputus, tetapi tidak begitu tahu yang ditujukan untuk konsumen sekaligus mendukung ribuan node atau lebih
Lihat paragraf pertama https://github.com/cjdelisle/cjdns/blob/master/doc/Whitepape.... Sayangnya, cara routing itu ternyata dalam praktiknya kurang skalabel. Yggdrasil memakai algoritma routing yang berbeda, jadi mungkin saja ada peluang
Cara itu punya banyak keunggulan, terutama membuat adopsi menjadi mudah. Sekarang, untuk aplikasi legacy, kita menjalankan jaringan telepon di atas IP. Jika Yggdrasil ini berhasil, saya rasa pada akhirnya kita akan menjalankan IP di atasnya demi sistem legacy
Ini bukan sekadar salah satu dari banyak masalah, melainkan keterbatasan mendasar dalam desainnya. Internet (ARPAnet) juga pada awalnya bermula sebagai jaringan mesh, dan konsep trunk, backbone, serta routing muncul untuk menyelesaikan masalah skalabilitas tersebut
Atau maksudnya lapisan IP di atas jaringan terpisah, bukan di atas “internet”? Kalau begitu, saya penasaran bagaimana rencananya menghubungkan orang satu sama lain. Semakin besar skalanya, routing mesh membuat mesh menjadi tidak efisien, dan pada akhirnya cepat atau lambat Anda akan menciptakan ulang “internet sendiri”. Hanya saja, karena tidak punya sumber daya untuk benar-benar menghubungkan seluruh dunia, itu tidak akan benar-benar global
Saat itu, ini lebih mirip respons idealistis/anarkistis terhadap putusan Pirate Bay pada 2009–2010. Seingat saya, cjdns muncul tidak lama kemudian dan menyerap sebagian besar grup
Siapa sangka para hacker yang tidak puas dan pembajak software tidak akan bertahan lama jika membuat internet yang lebih buruk?
[0] https://en.m.wikipedia.org/wiki/Athens_Wireless_Metropolitan...
Tautan terkait:
Yggdrasil Network - https://news.ycombinator.com/item?id=41669625 - September 2024, 3 komentar
Yggdrasil P2P mesh E2EE IPv6 network - https://news.ycombinator.com/item?id=30156551 - Januari 2022, 77 komentar
Yggdrasil – Early-stage implementation of an end-to-end encrypted IPv6 network - https://news.ycombinator.com/item?id=27577201 - Juni 2021, 102 komentar
Show HN: Yggdrasil Network – compact mesh routing experiment for mesh networks - https://news.ycombinator.com/item?id=18863554 - Januari 2019, 15 komentar
Announcing Yggdrasil Network v0.3 - https://news.ycombinator.com/item?id=18751991 - Desember 2018, 3 komentar
Yggdrasil: End-To-end Encrypted IPv6 Networking - https://news.ycombinator.com/item?id=18666245 - Desember 2018, 1 komentar
Kalau membutuhkan jaringan IP mesh P2P sungguhan yang bisa menembus firewall/NAT, pakai Tailscale/Headscale saja
Kalau menginginkan jaringan koneksi P2P yang alamatnya ditentukan oleh kunci enkripsi, ada proyek yang relatif baru dan cukup bagus melakukan ini: https://www.iroh.computer
Ia menembus firewall/NAT dan membuat koneksi QUIC. Sudah ada dua proof of concept yang cukup layak dipakai:
https://github.com/n0-computer/sendme
https://github.com/n0-computer/dumbpipe
Apakah ada kelebihannya? Kalau sekadar ingin menjalankan VPN privat ringan untuk penggunaan pribadi, Tailscale sangat bagus, dan kalau ingin meng-host jaringan sendiri, ada Headscale yang juga punya banyak keuntungan
3–4 tahun lalu saya cukup berharap banyak, tetapi sekarang ini terlihat seperti proyek yang agak terbengkalai. Saya penasaran apakah ada yang benar-benar memakainya dan bagaimana kesannya
Akhir tahun lalu kami merilis versi 0.5 dengan desain protokol baru, dan sekitar sebulan lalu merilis 0.5.9 yang secara signifikan meningkatkan latensi jaringan melalui perubahan biaya link
Saya memakainya seperti VPN untuk menghubungkan ponsel dan jaringan rumah, dan keduanya saya peer secara privat ke sebuah VPS
Memang lebih rumit daripada langsung terhubung ke rumah, tetapi konfigurasinya lebih mudah daripada harus memikirkan IP dinamis, port forwarding, dan pertukaran kunci WireGuard
Peering multicast cukup baik, jadi saat berada di rumah pun saya bisa mengakses server rumah secara langsung dengan Ygg IP yang sama. Masalahnya adalah harus memakai IP. Aplikasi iOS tidak mendukung pengaturan server DNS kustom untuk koneksi Ygg VPN
Untuk penggunaan ini, Headscale sebenarnya solusi yang lebih baik, tetapi fakta bahwa cukup menambahkan satu peering untuk mendapatkan internet alternatif itu cukup menarik
Sekarang saya memakai yggdrasil di semua perangkat, sehingga meski berada di balik NAT, semuanya bisa saling diakses lewat ssh
Dengan termux dan aplikasi Android yggdrasil di Android, saat bepergian pun saya bisa mengakses file di komputer rumah tanpa harus menyimpan file di suatu layanan cloud
Pengembangannya cukup aktif, dan pada rilis terbaru algoritma routing diperbaiki agar lebih memprioritaskan hop dengan latensi paling rendah, sehingga terasa ada peningkatan
Kalau mengharapkan hub komunitas besar di dalam jaringan, mungkin Anda akan kecewa, tetapi Anda juga bisa membuatnya sendiri. Banyak orang memakainya sesuai kebutuhan masing-masing, dan proyek ini jauh dari kata terbengkalai
Saya kira ini adalah distribusi Linux
https://en.m.wikipedia.org/wiki/Yggdrasil_Linux/GNU/X
Di bidang ini juga ada Reticulum Network Stack: https://reticulum.network/
Di FAQ tertulis, “Apakah Yggdrasil anonim? Tidak, tujuan proyek Yggdrasil bukan menyediakan anonimitas.”
Saya paham masalahnya sulit, dan ada isu yang harus diselesaikan melampaui sekadar masalah teknis, tetapi jujur saja bagi saya ini sudah gugur sejak titik awal. Kalau ini evolusi internet yang nyata, menurut saya seharusnya mencakup anonimitas praktis.
Jika itu dikecualikan, saya tidak tahu masalah internet lama apa yang benar-benar diselesaikan oleh konfigurasi saat ini, yang belum terselesaikan.
Jaringan anonim biasanya memiliki biaya dan overhead yang sangat besar. Sebab, demi penyamaran, jaringan itu sengaja membuat rute yang panjang dan tidak langsung. Melihat performa dan keandalan sirkuit Tor yang secara umum rendah, kita bisa mengerti mengapa kita tidak ingin seluruh internet bekerja seperti itu.
Tidak ada alasan mengapa kita tidak bisa menjalankan jaringan Yggdrasil lalu mengoperasikan jaringan I2P di dalamnya. Dengan begitu, komunikasi yang tidak memerlukan anonimitas hanya mengalami sedikit penurunan performa, dan peer anonim pun bisa dibuat tanpa naik ke clearnet.
Ide bahwa alamat diturunkan dari kunci publik memang sangat bagus, tetapi pendekatan ini punya masalah. Karena Yggdrasil saat ini memakai alamat IPv6, panjangnya sangat terbatas dan kolisi dapat ditemukan.
Memang ada solusi memutari masalah ini dengan brute force untuk menemukan kunci yang memiliki lebih banyak bit awal. Sepemahaman saya, rencana jangka panjangnya adalah menambahkan protokol kustom yang tidak memiliki batasan panjang alamat.
Namun membuat kolisi dengan kumpulan alamat yang sudah digunakan masih terlihat tidak realistis. Dalam konteks Yggdrasil, seberapa besar sebenarnya masalah yang pertama itu?
Meski begitu, untuk saat ini artinya hampir semua aplikasi yang mendukung IPv6 dapat berjalan di atas Yggdrasil tanpa modifikasi, dan itu merupakan sifat yang bagus untuk sebuah testnet.
Tertulis “Yggdrasil is a new experimental compact routing scheme”, tetapi bukankah sekarang sudah tidak terlalu baru lagi? Setidaknya sudah 6 tahun.