Cảm ơn đặc biệt Micah Zoltu, Toni Wahrstätter, Justin Traglia và pcaversaccio đã thảo luận
Lời chỉ trích phổ biến nhất về việc tăng giới hạn gas L1, ngoài những lo ngại về an toàn mạng, là làm cho việc chạy một nút đầy khó khăn hơn.
Đặc biệt trong bối cảnh một con đường tập trung vàophân rãnút đầy đủ, để giải quyết vấn đề này đòi hỏi hiểu biết về mục đích của các nút đầy đủ là gì.
Lịch sử, suy nghĩ đã từng là rằng các nút đầy đủ dùng để xác minh chuỗi; xem ở đâyđể diễn đạt ý kiến cá nhân của tôi về những gì có thể xảy ra nếu người dùng thông thường không thể xác minh được. Nếu đây là vấn đề duy nhất, thì việc mở khóa L1 scaling được thực hiện bởi ZK-EVMs: giới hạn duy nhất là giữ cho chi phí xây dựng khối và chứng minh đủ thấp để cả hai có thể tiếp tục tồn tại1-trong-nthị trường không bị kiểm duyệt và cạnh tranh.
Tuy nhiên, trong thực tế điều này không phải là mối quan tâm duy nhất. Mối quan tâm chính khác là: quan trọng khi có một nút đầy đủ để bạn có thể có một máy chủ RPC cục bộ mà bạn có thể sử dụng để đọc chuỗi một cách không cần tin cậy, chống kiểm duyệt và bảo vệ quyền riêng tư. Tài liệu này sẽ thảo luận về các điều chỉnh cho lộ trình mở rộng L1 hiện tại để thực hiện điều này.
Cửa hàng lộ trình bảo mật mà tôi đã công bố vào tháng trướctập trung vào TEEs +ORAMnhư là một biện pháp tạm thời cộng thêm PIRnhư một giải pháp dài hạn. Điều này, cùng với việc xác minh Helios và ZK-EVM, sẽ cho phép bất kỳ người dùng nào kết nối với RPCs bên ngoài và hoàn toàn tự tin rằng (i) chuỗi họ nhận được là chính xác, và (ii) việc bảo vệ dữ liệu riêng của họ. Vì vậy, đáng giá khi đặt câu hỏi: tại sao không dừng lại ở đây? Những giải pháp mật mã tiên tiến như vậy có làm cho các nút tự lưu trữ trở nên lỗi thời không?
Ở đây tôi có thể đưa ra một số câu trả lời:
Vì những lý do này, việc tiếp tục đảm bảo sự thuận lợi hơn trong việc vận hành một nút cá nhân là có giá trị.
Khi chúng ta kích hoạt xác minh không trạng thái, việc chạy một nút có khả năng RPC (tức là một nút lưu trữ trạng thái) mà không lưu trữ các nhánh Merkle trạng thái trở nên khả thi. Điều này giảm yêu cầu lưu trữ thêm điều nữa khoảng ~2 lần.
Đây là ý tưởng mới, và sẽ là yếu tố quan trọng cho việc cho phép hoạt động nút cá nhân ngay cả trong bối cảnh giới hạn gas L1 tăng lên 10-100 lần.
Chúng tôi thêm một loại nút kiểu mà xác minh trạng thái khối mà không cần lưu trữ, và xác minh toàn bộ chuỗi (entweder durch stateless validation oder ZK-EVM) và giữ cập nhật một phần của trạng thái. Nút có khả năng phản hồi các yêu cầu RPC miễn là dữ liệu cần thiết nằm trong tập con đó của trạng thái; các yêu cầu khác sẽ thất bại (hoặc phải dự phòng cho một giải pháp mật mã do bên ngoài quản lý; liệu có nên thực hiện điều này hay không nên là quyền lựa chọn của người dùng).
partial_statelessness.drawio776×341 19.9 KB
Phần cụ thể của trạng thái sẽ phụ thuộc vào cấu hình được chọn bởi người dùng. Một số ví dụ có thể là:
Cấu hình có thể được quản lý bởi một hợp đồng trên chuỗi: người dùng sẽ chạy nút của họ với —save_state_by_config 0x12345…67890, và địa chỉ sẽ chỉ định bằng một số ngôn ngữ danh sách địa chỉ, khe lưu trữ hoặc các khu vực đã lọc khác của trạng thái mà nút sẽ lưu và duy trì cập nhật. Lưu ý rằng không cần thiết phải lưu Merkle branches; họ chỉ cần lưu các giá trị thô.
Loại nút này sẽ mang lại lợi ích của việc truy cập trực tiếp địa phương đến trạng thái mà người dùng cần quan tâm, cũng như sự riêng tư hoàn toàn tối đa khi truy cập vào trạng thái đó.
Cảm ơn đặc biệt Micah Zoltu, Toni Wahrstätter, Justin Traglia và pcaversaccio đã thảo luận
Lời chỉ trích phổ biến nhất về việc tăng giới hạn gas L1, ngoài những lo ngại về an toàn mạng, là làm cho việc chạy một nút đầy khó khăn hơn.
Đặc biệt trong bối cảnh một con đường tập trung vàophân rãnút đầy đủ, để giải quyết vấn đề này đòi hỏi hiểu biết về mục đích của các nút đầy đủ là gì.
Lịch sử, suy nghĩ đã từng là rằng các nút đầy đủ dùng để xác minh chuỗi; xem ở đâyđể diễn đạt ý kiến cá nhân của tôi về những gì có thể xảy ra nếu người dùng thông thường không thể xác minh được. Nếu đây là vấn đề duy nhất, thì việc mở khóa L1 scaling được thực hiện bởi ZK-EVMs: giới hạn duy nhất là giữ cho chi phí xây dựng khối và chứng minh đủ thấp để cả hai có thể tiếp tục tồn tại1-trong-nthị trường không bị kiểm duyệt và cạnh tranh.
Tuy nhiên, trong thực tế điều này không phải là mối quan tâm duy nhất. Mối quan tâm chính khác là: quan trọng khi có một nút đầy đủ để bạn có thể có một máy chủ RPC cục bộ mà bạn có thể sử dụng để đọc chuỗi một cách không cần tin cậy, chống kiểm duyệt và bảo vệ quyền riêng tư. Tài liệu này sẽ thảo luận về các điều chỉnh cho lộ trình mở rộng L1 hiện tại để thực hiện điều này.
Cửa hàng lộ trình bảo mật mà tôi đã công bố vào tháng trướctập trung vào TEEs +ORAMnhư là một biện pháp tạm thời cộng thêm PIRnhư một giải pháp dài hạn. Điều này, cùng với việc xác minh Helios và ZK-EVM, sẽ cho phép bất kỳ người dùng nào kết nối với RPCs bên ngoài và hoàn toàn tự tin rằng (i) chuỗi họ nhận được là chính xác, và (ii) việc bảo vệ dữ liệu riêng của họ. Vì vậy, đáng giá khi đặt câu hỏi: tại sao không dừng lại ở đây? Những giải pháp mật mã tiên tiến như vậy có làm cho các nút tự lưu trữ trở nên lỗi thời không?
Ở đây tôi có thể đưa ra một số câu trả lời:
Vì những lý do này, việc tiếp tục đảm bảo sự thuận lợi hơn trong việc vận hành một nút cá nhân là có giá trị.
Khi chúng ta kích hoạt xác minh không trạng thái, việc chạy một nút có khả năng RPC (tức là một nút lưu trữ trạng thái) mà không lưu trữ các nhánh Merkle trạng thái trở nên khả thi. Điều này giảm yêu cầu lưu trữ thêm điều nữa khoảng ~2 lần.
Đây là ý tưởng mới, và sẽ là yếu tố quan trọng cho việc cho phép hoạt động nút cá nhân ngay cả trong bối cảnh giới hạn gas L1 tăng lên 10-100 lần.
Chúng tôi thêm một loại nút kiểu mà xác minh trạng thái khối mà không cần lưu trữ, và xác minh toàn bộ chuỗi (entweder durch stateless validation oder ZK-EVM) và giữ cập nhật một phần của trạng thái. Nút có khả năng phản hồi các yêu cầu RPC miễn là dữ liệu cần thiết nằm trong tập con đó của trạng thái; các yêu cầu khác sẽ thất bại (hoặc phải dự phòng cho một giải pháp mật mã do bên ngoài quản lý; liệu có nên thực hiện điều này hay không nên là quyền lựa chọn của người dùng).
partial_statelessness.drawio776×341 19.9 KB
Phần cụ thể của trạng thái sẽ phụ thuộc vào cấu hình được chọn bởi người dùng. Một số ví dụ có thể là:
Cấu hình có thể được quản lý bởi một hợp đồng trên chuỗi: người dùng sẽ chạy nút của họ với —save_state_by_config 0x12345…67890, và địa chỉ sẽ chỉ định bằng một số ngôn ngữ danh sách địa chỉ, khe lưu trữ hoặc các khu vực đã lọc khác của trạng thái mà nút sẽ lưu và duy trì cập nhật. Lưu ý rằng không cần thiết phải lưu Merkle branches; họ chỉ cần lưu các giá trị thô.
Loại nút này sẽ mang lại lợi ích của việc truy cập trực tiếp địa phương đến trạng thái mà người dùng cần quan tâm, cũng như sự riêng tư hoàn toàn tối đa khi truy cập vào trạng thái đó.