Keluaran ZeroNet 0.7, platform untuk mencipta tapak web terdesentralisasi

Selepas setahun pembangunan, keluaran platform web terdesentralisasi telah dikeluarkan ZeroNet 0.7, yang mencadangkan penggunaan mekanisme pengalamatan dan pengesahan Bitcoin dalam kombinasi dengan teknologi penghantaran teragih BitTorrent untuk mencipta tapak yang tidak boleh ditapis, dipalsukan atau disekat. Kandungan tapak disimpan dalam rangkaian P2P pada mesin pelawat dan disahkan menggunakan tandatangan digital pemilik. Sistem pelayan DNS akar alternatif digunakan untuk menangani Namecoin. Projek ini ditulis dalam Python dan diedarkan oleh dilesenkan di bawah GPLv2.

Data yang disiarkan di laman web ini disahkan dan dipautkan ke akaun pemilik tapak, serupa dengan pemautan dompet Bitcoin, yang juga memungkinkan untuk mengawal perkaitan maklumat dan mengemas kini kandungan dalam masa nyata. Untuk menyembunyikan alamat IP, rangkaian Tor tanpa nama boleh digunakan, sokongan yang dibina ke dalam ZeroNet. Pengguna mengambil bahagian dalam pengedaran semua tapak yang dia akses. Setelah dimuat turun ke sistem tempatan, fail dicache dan disediakan untuk pengedaran daripada mesin semasa menggunakan kaedah yang mengingatkan BitTorrent.

Untuk melihat tapak ZeroNet, hanya jalankan skrip zeronet.py, selepas itu anda boleh membuka tapak dalam penyemak imbas melalui URL “http://127.0.0.1:43110/zeronet_address” (contohnya, “http://127.0.0.1 :43110/1HeLLo4uzjaLetFx6NMN3PMwF5qbebTf1D”) . Apabila membuka tapak web, program mencari rakan sebaya yang berdekatan dan memuat turun fail yang dikaitkan dengan halaman yang diminta (html, css, imej, dll.).
Untuk membuat tapak anda, hanya jalankan arahan "zeronet.py siteCreate", selepas itu pengecam tapak dan kunci peribadi akan dijana untuk mengesahkan pengarang menggunakan tandatangan digital.

Untuk tapak yang dibuat, direktori kosong borang "data/1HeLLo4usjaLetFx6NMH5PMwF3qbebTf1D" akan dibuat. Selepas menukar kandungan direktori ini, versi baharu mesti diperakui menggunakan arahan “zeronet.py siteSign site_identifier” dan memasukkan kunci peribadi. Setelah kandungan baharu telah disahkan, ia perlu diumumkan dengan arahan “zeronet.py sitePublish site_id” supaya versi yang diubah tersedia kepada rakan setara (API WebSocket digunakan untuk mengumumkan perubahan). Di sepanjang rangkaian, rakan sebaya akan menyemak integriti versi baharu menggunakan tandatangan digital, memuat turun kandungan baharu dan memindahkannya kepada rakan sebaya yang lain.

Utama keupayaan:

  • Tiada titik kegagalan tunggal - tapak kekal boleh diakses jika terdapat sekurang-kurangnya satu rakan sebaya dalam pengedaran;
  • Kekurangan storan rujukan untuk tapak - tapak tidak boleh ditutup dengan memutuskan sambungan pengehosan, kerana data terletak pada semua mesin pelawat;
  • Semua maklumat yang dilihat sebelum ini berada dalam cache dan boleh diakses daripada mesin semasa dalam mod luar talian, tanpa akses kepada rangkaian global.
  • Menyokong kemas kini kandungan masa nyata;
  • Kemungkinan menangani melalui pendaftaran domain dalam zon ".bit";
  • Bekerja tanpa persediaan awal - hanya bongkar arkib dengan perisian dan jalankan satu skrip;
  • Keupayaan untuk mengklon laman web dalam satu klik;
  • Pengesahan tanpa kata laluan berasaskan format BIP32: akaun dilindungi oleh kaedah kriptografi yang sama seperti mata wang kripto Bitcoin;
  • Pelayan SQL terbina dalam dengan fungsi penyegerakan data P2P;
  • Keupayaan untuk menggunakan Tor untuk tidak dikenali dan sokongan penuh untuk menggunakan perkhidmatan tersembunyi Tor (.onion) dan bukannya alamat IPv4;
  • sokongan penyulitan TLS;
  • Kebolehcapaian automatik melalui uPnP;
  • Kemungkinan melampirkan beberapa pengarang dengan tandatangan digital yang berbeza ke tapak;
  • Ketersediaan pemalam untuk mencipta konfigurasi berbilang pengguna (openproxy);
  • Sokongan untuk penyiaran suapan berita;
  • Berfungsi dalam mana-mana pelayar dan sistem pengendalian.

Perubahan besar dalam ZeroNet 0.7

  • Kod tersebut telah diolah semula untuk menyokong Python3, memastikan keserasian dengan Python 3.4-3.8;
  • Mod penyegerakan pangkalan data yang dilindungi telah dilaksanakan;
  • Di mana boleh, pengedaran utama perpustakaan pihak ketiga telah dihentikan dan memihak kepada kebergantungan luar;
  • Kod untuk mengesahkan tandatangan digital telah dipercepatkan 5-10 kali (pustaka libsecp256k1 digunakan;
  • Menambahkan rawak sijil yang telah dihasilkan untuk memintas penapis;
  • Kod P2P telah dikemas kini untuk menggunakan protokol ZeroNet;
  • Ditambah mod Luar Talian;
  • Menambah pemalam UiPluginManager untuk memasang dan mengurus pemalam pihak ketiga;
  • Sokongan penuh untuk OpenSSL 1.1 disediakan;
  • Apabila menyambung kepada rakan sebaya, rekod SNI dan ALPN tiruan digunakan untuk membuat sambungan lebih serupa dengan panggilan ke tapak biasa melalui HTTPS;

Hari yang sama dengan keluaran ZeroNet 0.7.0 terbentuk kemas kini 0.7.1, yang menghapuskan kerentanan berbahaya yang berpotensi membenarkan pelaksanaan kod pada bahagian klien. Disebabkan ralat dalam kod untuk memaparkan pembolehubah templat, tapak luaran terbuka boleh mewujudkan sambungan ke sistem klien melalui WebSocket dengan hak ADMIN/NOSANDBOX tanpa had, yang memungkinkan untuk menukar parameter konfigurasi dan melaksanakan kodnya pada komputer pengguna melalui manipulasi dengan parameter open_browser.
Kerentanan muncul dalam cawangan 0.7, serta dalam binaan percubaan bermula daripada semakan 4188 (perubahan dibuat 20 hari yang lalu).

Sumber: opennet.ru

Tambah komen