Tiêu đề gốc: "The Portal Network"
Tác giả gốc: namrapatel
Biên soạn gốc: Min Min& A Jian blockquote>
Giới thiệu
Mạng Cổng thông tin được thiết kế để cung cấp một cách thức dễ dàng cho các thiết bị có nguồn lực hạn chế để truy cập các giao thức. Như tên cho thấy, cái gọi là "cổng" có nghĩa là các mạng này chỉ có thể cung cấp chế độ xem giao thức nhưng không quan trọng đối với hoạt động của giao thức lõi Ethereum.
Mạng Cổng thông tin sẽ bao gồm một hoặc nhiều mạng ngang hàng phi tập trung cùng nhau cung cấp dữ liệu và chức năng theo yêu cầu của API JSON-RPC tiêu chuẩn. Các mạng này được thiết kế để đảm bảo rằng khách hàng sử dụng tài nguyên băng thông, CPU, RAM và ổ cứng tối thiểu để tham gia.
Ứng dụng cổng thông tin đề cập đến phần mềm tham gia vào các mạng này và hiển thị các cổng API JSON-RPC tiêu chuẩn.
Động lực
Cổng thông tin Mạng nhằm đạt được hai mục tiêu liên quan đến nhau.
Máy khách không trạng thái
Giao thức lõi Ethereum đang hướng tới khu vực "không trạng thái" Phát triển có định hướng của các mô hình xác minh khối. Theo mô hình này, khách hàng có thể xác minh đầy đủ việc thực thi khối bằng dữ liệu nhân chứng. Bằng cách này, khách hàng sẽ không cần lưu bất kỳ dữ liệu "trạng thái" Ethereum nào nữa. Ứng dụng khách này sẽ có giá trị lớn đối với giao thức lõi Ethereum và giúp thúc đẩy sự hợp nhất Eth1 và Eth2 tốt hơn.
Để tìm hiểu thêm về lý do tại sao tình trạng không quốc tịch lại quan trọng đối với việc sáp nhập Eth1/Eth2, bạn nên đọc: https://dankradfeist.de/ethereum/2021 /02/14 /why-stateless.html
Điều dễ bị bỏ qua là ứng dụng khách "không quốc tịch" này hầu như không thể làm gì khác nếu không có cơ sở hạ tầng bổ sung. Cụ thể, nó không thể phục vụ phần lớn API JSON-RPC. Mạng Cổng thông tin có thể lấp đầy chính xác khoảng trống này, cho phép các máy khách không trạng thái hiển thị các API bên ngoài hỗ trợ hệ sinh thái Web 3.0.
Máy khách nhẹ có khả năng mở rộng
"Máy khách nhẹ" thường đề cập đến máy khách DevP2P LES Network hiện có. Mạng này được thiết kế sử dụng kiến trúc máy khách/dịch vụ. Tổng dung lượng của mạng LES được xác định bởi số lượng "máy chủ" trong mạng. Để thuận tiện cho việc mở rộng mạng, dung lượng "máy chủ" phải được tăng lên. Nghĩa là, bất cứ lúc nào, khi tải mạng vượt quá tổng dung lượng mạng sẽ khiến toàn bộ dịch vụ mạng bị xuống cấp. Do đó, mạng LES không đáng tin cậy khi hoạt động gần hết công suất.
Portal Network nhằm mục đích giải quyết vấn đề này từ góc độ thiết kế mạng, cho phép mỗi khách hàng mới tham gia mạng để tăng dung lượng của mạng. Khi có nhiều nút tham gia mạng hơn, mạng sẽ trở nên mạnh mẽ và mạnh mẽ hơn.
Đọc mở rộng: https://snakecharmers.ethereum.org/the-winding-road-to-function-light-clients/ (Bản dịch tiếng Trung)Video giải thích: https://www.youtube.com/watch?v=MZxqRs_tLNs
Chức năng mạng
Trạng thái: Các hạng mục lưu trữ tài khoản và hợp đồng
Mạng lưới Nhà nước tạo điều kiện truy xuất dữ liệu trạng thái Ethereum theo yêu cầu.
Các nút có thể chọn trạng thái mà chúng muốn lưu trữ và chia sẻ, đồng thời mạng phải cung cấp cách xác định các nút nào sẽ được truy vấn về dữ liệu trạng thái được yêu cầu. Bằng cách này, các nút dù nhỏ đến đâu cũng có thể góp phần duy trì sự mạnh mẽ của mạng.
Hoạt động của mạng phụ thuộc vào việc nhận trạng thái mới và cập nhật trạng thái dựa trên các khối mới. Các nút "cầu nối" đầy đủ tính năng đóng vai trò là nhà cung cấp trạng thái chịu trách nhiệm vận chuyển dữ liệu này từ mạng chính đến mạng cổng thông tin. Do đó, mạng vẫn hoạt động tốt ngay cả khi có một số lượng nhỏ nút cầu.
Tốc độ truy vấn và đọc dữ liệu từ mạng phải đáp ứng yêu cầu vận hành ví của con người (chẳng hạn như ước tính phí gas cần thiết cho một giao dịch hoặc đọc trạng thái từ một hợp đồng) cần.
Lịch sử chuỗi: tiêu đề khối, khối và biên nhận
Yêu cầu xác minh từ Mạng cổng thông tin tới có được dữ liệu, máy khách cổng thông tin phải có khả năng lấy được các tiêu đề khối và xác minh xem chúng có tồn tại trên chuỗi chính hay không. Khách hàng có thể sử dụng các tiêu đề khối đã được xác minh để xác minh thêm các khối, khối chú, giao dịch, biên nhận và nút trạng thái.
Khách hàng thông thường sẽ tải xuống từng tiêu đề khối để xây dựng chuỗi chính. Đối với một khách hàng "không quốc tịch", điều này là không hợp lý. Cơ chế "bộ tích lũy nhật ký merkle hai đợt" cho phép các máy khách cổng thông tin tránh tải xuống mọi tiêu đề khối thuộc chuỗi chính.
Khi ứng dụng khách cổng yêu cầu tiêu đề khối, hai bằng chứng tích lũy sẽ được trả về cùng nhau. Miễn là khách hàng (thông qua mạng tin đồn) giữ chế độ xem cập nhật về tiêu đề chuỗi, bằng chứng tích lũy có thể được sử dụng để xác minh rằng tiêu đề khối được đưa vào chuỗi hợp pháp. Sau đó, khách hàng có thể sử dụng tiêu đề khối để xác minh dữ liệu khác được lấy từ Mạng Cổng thông tin.
Thiết kế của Portal Network mô phỏng các thông báo giao thức Ethereum sau đây và hỗ trợ truy xuất dữ liệu sau thông qua block_hash .
Ether Thỏa thuận Fang Mạng cổng thông tin GetBlockHeaders -> BlockHeaders block_hash -> Tiêu đề khối và bằng chứng bao gồm GetBlockBodies -> BlockBodies block_hash -> nội dung khối Nhận Biên lai -> Biên lai block_hash -> chặn biên nhận
Chỉ số chuỗi chính: Truy xuất các giao dịch theo giá trị băm và các khối theo số
Để phục vụ các điểm cuối eth_getTransactionByHash và eth_getBlockByNumber JSON-RPC API, khách hàng thường tạo chúng khi đồng bộ hóa toàn bộ chỉ mục cục bộ của chuỗi. Mạng Cổng thông tin cần mô phỏng các chỉ mục này. Điều này được thực hiện bằng cách tạo các ánh xạ duy nhất cho các giao dịch và khối trước khi xuất bản chúng trên Mạng Cổng thông tin.
Vì các giao dịch hợp lệ cũng có thể tồn tại bên ngoài một khối cụ thể nên chúng tôi cần một cơ chế để chứng minh rằng giao dịch đó được bao gồm trong một khối cụ thể. Tương tự, các khối hợp lệ có thể là khối chú, nhưng không có bằng chứng nào cho thấy chúng được đưa vào chuỗi chính. Do đó, cũng cần có một cơ chế để xác minh xem một khối có nằm ở độ cao khối nhất định trên chuỗi chính hay không (chứ không phải khối chú) và liệu một giao dịch có được đưa vào khối hợp pháp hay không.
Các ánh xạ sau được lưu trữ trên Mạng cổng thông tin và hoạt động với bộ tích lũy để hoạt động như các chỉ mục hợp pháp.
Chỉ số khối chuỗi chính: block_number -> (block_hash) . Lấy tiêu đề khối liên quan đến block_hash và sử dụng bộ tích lũy để xác minh xem block_hash trong tiêu đề khối có tương ứng với một block_number nhất định hay không.
Chỉ số giao dịch chuỗi chính: tx_hash -> (block_hash, tx_index). Lấy tiêu đề khối được liên kết với block_hash và xác minh tiêu đề khối bằng bộ tích lũy. Sau đó, lấy nội dung khối được liên kết với tiêu đề khối đó và xác minh rằng tx_hash khớp với giao dịch được tìm thấy bởi tx_index trong cây giao dịch.
Gửi giao dịch: Tuyên truyền tin đồn về giao dịch hợp tác
Mạng lưới tin đồn về giao dịch được thiết kế để đảm bảo rằng những người khai thác có quyền truy cập vào tất cả các giao dịch mới, để đóng gói chúng thành các khối.
Khách hàng không quốc tịch phải có khả năng khai báo khối lượng giao dịch mà họ muốn xử lý dựa trên tài nguyên họ có, trong tất cả các giao dịch hợp lệ không được đóng gói trên chuỗi ( tức là nhóm giao dịch) và các giao dịch này chỉ có thể được lấy từ các nút khác.
Xác minh giao dịch không trạng thái bao gồm xác minh số dư và nonce của tài khoản, vì vậy mạng cần đính kèm bằng chứng tài khoản khi truyền bá mỗi giao dịch.
Thông số mạng
1. uTP dựa trên DiscoveryV5
2. Mạng trạng thái
1) Trạng thái mới Phổ biến dữ liệu tin đồn có thể mở rộng: https://ethresear.ch/t/scalable-gossip-for-state-network/8958/4 (Bản dịch tiếng Trung)
3. Mạng lịch sử chuỗi
1) Chưa có thông số kỹ thuật
2) Nghiên cứu trước đây: https://notes.ethereum.org/oUJE4ZX2Q6eMOgEMiQPkpQ?view
3 ) Bằng chứng trước đây về khái niệm được viết bằng Python: https://github.com/ethereum/ddht/tree/341e84e9163338556cd48dd2fcfda9eedec3eb45
4) Bằng chứng về khái niệm này không đại diện cho mục tiêu cuối cùng. Nó kết hợp các cơ chế hiện chưa thể áp dụng trong thực tế triển khai, đặc biệt là hệ thống "quảng cáo" (đã được chứng minh là một nút thắt rất lớn) và hệ thống gốc SSZ Merkel (ban đầu được sử dụng để giải quyết các vấn đề truyền dữ liệu lớn, bây giờ chúng tôi dự định sẽ sử dụng uTP để thay thế nó).
4. Tuyên truyền tin đồn về giao dịch
1) Chưa có quy định
p>
p>
2) Nghiên cứu trước đây: https://ethresear.ch/t/scalable-transaction-gossip/8660
Liên kết gốc
Chào mừng bạn tham gia cộng đồng chính thức của BlockBeats:
Nhóm Telegram đăng ký: https://t.me/theblockbeats
Nhóm Telegram thảo luận: https://t.me/BlockBeats_App
Tài khoản Twitter chính thức: https://twitter.com/BlockBeatsAsia