Rilis ZeroNet 0.7, sebuah platform untuk membuat situs web terdesentralisasi

Setelah satu tahun pengembangan, rilis platform web terdesentralisasi dirilis ZeroNet 0.7, yang mengusulkan penggunaan mekanisme pengalamatan dan verifikasi Bitcoin yang dikombinasikan dengan teknologi pengiriman terdistribusi BitTorrent untuk membuat situs yang tidak dapat disensor, dipalsukan, atau diblokir. Konten situs disimpan dalam jaringan P2P di mesin pengunjung dan diverifikasi menggunakan tanda tangan digital pemiliknya. Sistem server DNS root alternatif digunakan untuk pengalamatan Namecoin. Proyek ini ditulis dengan Python dan didistribusikan oleh berlisensi di bawah GPLv2.

Data yang diposting di situs diverifikasi dan ditautkan ke akun pemilik situs, mirip dengan penautan dompet Bitcoin, yang juga memungkinkan untuk mengontrol relevansi informasi dan memperbarui konten secara real time. Untuk menyembunyikan alamat IP, jaringan Tor anonim dapat digunakan, yang dukungannya ada di dalam ZeroNet. Pengguna berpartisipasi dalam distribusi semua situs yang diaksesnya. Setelah diunduh ke sistem lokal, file-file tersebut di-cache dan tersedia untuk didistribusikan dari mesin saat ini menggunakan metode yang mirip dengan BitTorrent.

Untuk melihat situs ZeroNet cukup jalankan script zeronet.py, setelah itu Anda dapat membuka situs di browser melalui URL “http://127.0.0.1:43110/zeronet_address” (misalnya “http://127.0.0.1 :43110/1HeLLo4uzjaLetFx6NMN3PMwF5qbebTf1D”) . Saat membuka situs web, program menemukan rekan terdekat dan mengunduh file yang terkait dengan halaman yang diminta (html, css, gambar, dll.).
Untuk membuat situs Anda, cukup jalankan perintah “zeronet.py siteCreate”, setelah itu pengidentifikasi situs dan kunci pribadi akan dibuat untuk mengonfirmasi kepengarangan menggunakan tanda tangan digital.

Untuk situs yang dibuat, direktori kosong dalam bentuk “data/1HeLLo4usjaLetFx6NMH5PMwF3qbebTf1D” akan dibuat. Setelah mengubah isi direktori ini, versi baru harus disertifikasi menggunakan perintah “zeronet.py siteSign site_identifier” dan memasukkan kunci pribadi. Setelah konten baru diverifikasi, konten tersebut perlu diumumkan dengan perintah “zeronet.py sitePublish site_id” sehingga versi yang diubah tersedia untuk rekan-rekan (WebSocket API digunakan untuk mengumumkan perubahan). Sepanjang rantai, rekan-rekan akan memeriksa integritas versi baru menggunakan tanda tangan digital, mengunduh konten baru dan mentransfernya ke rekan-rekan lain.

Utama kemampuan:

  • Tidak ada satu titik kegagalan pun - situs tetap dapat diakses jika setidaknya ada satu rekan dalam distribusi;
  • Kurangnya penyimpanan referensi untuk situs - situs tidak dapat ditutup dengan menonaktifkan hosting, karena data terletak di semua mesin pengunjung;
  • Semua informasi yang dilihat sebelumnya ada dalam cache dan dapat diakses dari mesin saat ini dalam mode offline, tanpa akses ke jaringan global.
  • Mendukung pembaruan konten waktu nyata;
  • Kemungkinan pengalamatan melalui pendaftaran domain di zona “.bit”;
  • Bekerja tanpa pengaturan awal - cukup buka paket arsip dengan perangkat lunak dan jalankan satu skrip;
  • Kemampuan untuk mengkloning situs web dalam satu klik;
  • Otentikasi tanpa kata sandi berbasis format BIP32: akun dilindungi oleh metode kriptografi yang sama dengan mata uang kripto Bitcoin;
  • Server SQL bawaan dengan fungsi sinkronisasi data P2P;
  • Kemampuan untuk menggunakan Tor untuk anonimitas dan dukungan penuh untuk menggunakan layanan tersembunyi Tor (.onion) alih-alih alamat IPv4;
  • Dukungan enkripsi TLS;
  • Aksesibilitas otomatis melalui uPnP;
  • Kemungkinan melampirkan beberapa penulis dengan tanda tangan digital berbeda ke situs;
  • Ketersediaan plugin untuk membuat konfigurasi multi-user (openproxy);
  • Dukungan untuk menyiarkan feed berita;
  • Bekerja di browser dan sistem operasi apa pun.

Perubahan besar di ZeroNet 0.7

  • Kode telah dikerjakan ulang untuk mendukung Python3, memastikan kompatibilitas dengan Python 3.4-3.8;
  • Mode sinkronisasi basis data yang dilindungi telah diterapkan;
  • Jika memungkinkan, distribusi utama perpustakaan pihak ketiga telah dihentikan demi ketergantungan eksternal;
  • Kode untuk memverifikasi tanda tangan digital telah dipercepat 5-10 kali (perpustakaan libsecp256k1 digunakan;
  • Menambahkan pengacakan sertifikat yang sudah dibuat untuk melewati filter;
  • Kode P2P telah diperbarui untuk menggunakan protokol ZeroNet;
  • Menambahkan mode Offline;
  • Menambahkan plugin UiPluginManager untuk menginstal dan mengelola plugin pihak ketiga;
  • Dukungan penuh untuk OpenSSL 1.1 disediakan;
  • Saat menyambung ke rekan, catatan SNI dan ALPN tiruan digunakan untuk membuat sambungan lebih mirip dengan panggilan ke situs biasa melalui HTTPS;

Hari yang sama dengan rilis ZeroNet 0.7.0 terbentuk perbarui 0.7.1, yang menghilangkan kerentanan berbahaya yang berpotensi memungkinkan eksekusi kode di sisi klien. Karena kesalahan dalam kode untuk merender variabel templat, situs eksternal yang terbuka dapat membuat koneksi ke sistem klien melalui WebSocket dengan hak ADMIN/NOSANDBOX yang tidak terbatas, yang memungkinkan untuk mengubah parameter konfigurasi dan menjalankan kodenya di komputer pengguna melalui manipulasi dengan parameter open_browser.
Kerentanan muncul di cabang 0.7, serta dalam versi eksperimental yang dimulai dari revisi 4188 (perubahan dilakukan 20 hari yang lalu).

Sumber: opennet.ru

Tambah komentar