Phát hành ZeroNet 0.7, một nền tảng để tạo các trang web phi tập trung

Sau một năm phát triển, nền tảng web phi tập trung đã ra mắt ZeroNet 0.7, đề xuất sử dụng cơ chế xác minh và đánh địa chỉ của Bitcoin kết hợp với các công nghệ phân phối phân tán của BitTorrent để tạo ra các trang web không thể bị kiểm duyệt, làm giả hoặc bị chặn. Nội dung của các trang web được lưu trữ trong mạng P2P trên máy của khách truy cập và được xác minh bằng chữ ký số của chủ sở hữu. Một hệ thống máy chủ DNS gốc thay thế được sử dụng để đánh địa chỉ Namecoin. Dự án được viết bằng Python và phân phối bởi được cấp phép theo GPLv2.

Dữ liệu đăng trên trang web được xác minh và liên kết với tài khoản của chủ sở hữu trang web, tương tự như liên kết của ví Bitcoin, điều này cũng giúp kiểm soát mức độ liên quan của thông tin và cập nhật nội dung theo thời gian thực. Để ẩn địa chỉ IP, mạng Tor ẩn danh có thể được sử dụng, mạng hỗ trợ này được tích hợp vào ZeroNet. Người dùng tham gia vào việc phân phối tất cả các trang web mà anh ta truy cập. Sau khi được tải xuống hệ thống cục bộ, các tệp sẽ được lưu vào bộ nhớ đệm và có sẵn để phân phối từ máy hiện tại bằng các phương pháp gợi nhớ đến BitTorrent.

Để xem các trang ZeroNet, chỉ cần chạy tập lệnh zeronet.py, sau đó bạn có thể mở các trang web trong trình duyệt thông qua URL “http://127.0.0.1:43110/zeronet_address” (ví dụ: “http://127.0.0.1 :43110/1HeLLo4uzjaLetFx6NMN3PMwF5qbebTf1D”) . Khi mở một trang web, chương trình sẽ tìm các trang ngang hàng gần đó và tải xuống các tệp được liên kết với trang được yêu cầu (html, css, hình ảnh, v.v.).
Để tạo trang web của bạn, chỉ cần chạy lệnh “zeronet.py siteCreate”, sau đó mã nhận dạng trang web và khóa riêng sẽ được tạo để xác nhận quyền tác giả bằng chữ ký điện tử.

Đối với trang web đã tạo, một thư mục trống có dạng “data/1HeLLo4usjaLetFx6NMH5PMwF3qbebTf1D” sẽ được tạo. Sau khi thay đổi nội dung của thư mục này, phiên bản mới phải được chứng nhận bằng lệnh “zeronet.py siteSign site_identifier” và nhập khóa riêng. Sau khi nội dung mới đã được xác minh, nội dung đó cần được thông báo bằng lệnh “zeronet.py sitePublish site_id” để phiên bản đã thay đổi có sẵn cho các thiết bị ngang hàng (API WebSocket được sử dụng để thông báo các thay đổi). Trong chuỗi, các đồng nghiệp sẽ kiểm tra tính toàn vẹn của phiên bản mới bằng chữ ký số, tải xuống nội dung mới và chuyển nó cho các đồng nghiệp khác.

Chính cơ hội:

  • Không có điểm lỗi duy nhất - trang web vẫn có thể truy cập được nếu có ít nhất một thiết bị ngang hàng trong bản phân phối;
  • Thiếu bộ nhớ tham chiếu cho trang web - không thể đóng trang web bằng cách ngắt kết nối dịch vụ lưu trữ vì dữ liệu nằm trên tất cả các máy của khách truy cập;
  • Tất cả thông tin đã xem trước đó đều nằm trong bộ đệm và có thể truy cập được từ máy hiện tại ở chế độ ngoại tuyến mà không cần truy cập vào mạng toàn cầu.
  • Hỗ trợ cập nhật nội dung theo thời gian thực;
  • Khả năng đánh địa chỉ thông qua đăng ký tên miền trong vùng “.bit”;
  • Làm việc mà không cần thiết lập sơ bộ - chỉ cần giải nén kho lưu trữ bằng phần mềm và chạy một tập lệnh;
  • Khả năng sao chép các trang web chỉ bằng một cú nhấp chuột;
  • Xác thực không cần mật khẩu dựa trên định dạng BIP32: tài khoản được bảo vệ bằng phương pháp mã hóa tương tự như tiền điện tử Bitcoin;
  • Máy chủ SQL tích hợp có chức năng đồng bộ hóa dữ liệu P2P;
  • Khả năng sử dụng Tor để ẩn danh và hỗ trợ đầy đủ cho việc sử dụng các dịch vụ ẩn Tor (.onion) thay vì địa chỉ IPv4;
  • Hỗ trợ mã hóa TLS;
  • Khả năng truy cập tự động qua uPnP;
  • Khả năng gắn một số tác giả với chữ ký số khác nhau vào trang web;
  • Có sẵn plugin để tạo cấu hình nhiều người dùng (openproxy);
  • Hỗ trợ phát sóng nguồn cấp tin tức;
  • Hoạt động trong mọi trình duyệt và hệ điều hành.

Những thay đổi lớn trong ZeroNet 0.7

  • Mã đã được làm lại để hỗ trợ Python3, đảm bảo khả năng tương thích với Python 3.4-3.8;
  • Chế độ đồng bộ hóa cơ sở dữ liệu được bảo vệ đã được triển khai;
  • Nếu có thể, việc phân phối chính của các thư viện bên thứ ba sẽ bị ngừng để thay thế bằng các thư viện phụ thuộc bên ngoài;
  • Mã xác minh chữ ký số đã được tăng tốc 5-10 lần (sử dụng thư viện libsecp256k1;
  • Đã thêm tính năng ngẫu nhiên hóa các chứng chỉ đã được tạo để bỏ qua các bộ lọc;
  • Mã P2P đã được cập nhật để sử dụng giao thức ZeroNet;
  • Đã thêm chế độ Ngoại tuyến;
  • Đã thêm plugin UiPluginManager để cài đặt và quản lý plugin của bên thứ ba;
  • Hỗ trợ đầy đủ cho OpenSSL 1.1 được cung cấp;
  • Khi kết nối với các thiết bị ngang hàng, các bản ghi SNI và ALPN giả được sử dụng để tạo các kết nối giống với các cuộc gọi đến các trang web thông thường qua HTTPS hơn;

Cùng ngày phát hành ZeroNet 0.7.0 hình thành cập nhật 0.7.1, giúp loại bỏ lỗ hổng nguy hiểm có khả năng cho phép thực thi mã ở phía máy khách. Do lỗi trong mã hiển thị các biến mẫu, một trang web mở bên ngoài có thể thiết lập kết nối với hệ thống máy khách thông qua WebSocket với quyền ADMIN/NOSANDBOX không giới hạn, điều này giúp có thể thay đổi các tham số cấu hình và thực thi mã của nó trên máy tính của người dùng thông qua thao tác với tham số open_browser.
Lỗ hổng xuất hiện ở nhánh 0.7, cũng như trong các bản dựng thử nghiệm bắt đầu từ bản sửa đổi 4188 (thay đổi được thực hiện 20 ngày trước).

Nguồn: opennet.ru

Thêm một lời nhận xét