Nghiên cứu: Mô hình Nhà cung cấp Nhà nước trong Ethereum 2.0
Lưu ý của biên tập viên: Bài viết này đến từNhững người đam mê Ethereum (ID: ethfans)Lưu ý của biên tập viên: Bài viết này đến từ
Những người đam mê Ethereum (ID: ethfans)
Giới thiệu
, Tác giả: adietrichs, bản dịch & hiệu đính: Pei Qi & A Jian, được Odaily in lại với sự ủy quyền.
Bài báo này được đồng tác giả với samwilsn và adietrichs, với sự trợ giúp đắc lực của villanuevawill và nhóm Quilt.
Giới thiệu
Tính không trạng thái của Ethereum 2.0 có nghĩa là các giao dịch phải mang trạng thái mà chúng muốn truy cập. Chính xác hơn, đối với người đề xuất khối (BP), ngoài việc chứa các giao dịch, một khối cũng cần chứa tất cả các trạng thái và thông tin nhân chứng tương ứng được truy cập bởi tất cả các giao dịch. Giả sử rằng cả người dùng tạo giao dịch lẫn BP đều không lưu trữ dữ liệu trạng thái, thì mạng cần một nhóm khác để lưu và cung cấp các trạng thái này. Vai trò này thường được gọi là Nhà cung cấp Trạng thái (SP).
Bất kể người đề xuất khối và nhà cung cấp trạng thái trao đổi trạng thái như thế nào, người dùng có thể cần lấy trạng thái trước khi tạo giao dịch. Ví dụ: bằng cách lấy mã byte của hợp đồng, ước tính chi phí Gas hoặc kiểm tra số dư tài khoản. Điều này có nghĩa là nhà cung cấp trạng thái cần hiển thị giao diện giống như kéo cho người dùng. Mặc dù không có lớp khuyến khích, nhưng chỉ dựa vào các nhà cung cấp trạng thái vị tha cũng có thể cung cấp trạng thái cho người dùng (Ethereum 1.0 thực hiện điều này) và thanh toán cũng có thể được thực hiện thông qua các kênh trạng thái, thêm một lớp khuyến khích cho các nhà cung cấp trạng thái.
tiêu chí so sánh
hạn chế truy cập nhà nước
Bởi vì việc thực hiện giao dịch dựa trên trạng thái tại thời điểm thực hiện, nếu trạng thái cơ bản thay đổi, việc thực hiện giao dịch cũng sẽ thay đổi. Đặc biệt, đối với một số giao dịch, vị trí truy cập trạng thái có thể thay đổi. Điều này có thể là do các câu lệnh nhảy đơn giản (chẳng hạn như nếu) hoặc vị trí đã truy cập được tính toán khi chạy. Chúng tôi gọi cả hai trường hợp là Truy cập trạng thái động (DSA). Ở chế độ không trạng thái, điều này làm phức tạp quá trình tạo giao dịch. Vấn đề là có thể không cung cấp trước trạng thái cho các giao dịch này (vì không biết trước trạng thái toàn cầu mà các giao dịch này sẽ truy cập). Các mẫu nhà cung cấp trạng thái khác nhau hoạt động khác nhau trong phạm vi mà họ hỗ trợ các giao dịch này.
Nếu một chế độ hạn chế quyền truy cập trạng thái động, thì Eth1 rất có thể sẽ không trở thành Môi trường thực thi Eth2 (EE) và thường sẽ yêu cầu xử lý đặc biệt.
tiêu đề phụ
Thù lao cho các nhà cung cấp dịch vụ nhà nước được so sánh ở hai khía cạnh sau:
Ai trả tiền và cách tính tiền bồi thường?
Các nhà cung cấp trạng thái vị tha có được hỗ trợ ban đầu không và nếu có, các ưu đãi có thể được thêm vào sau này không?
tiêu đề phụ
rủi ro tập trung
Rủi ro tập trung khác nhau đối với từng mô hình:
Ai có thể xem xét các giao dịch và ở mức độ nào?
Mức độ tin tưởng lẫn nhau nên đạt được giữa những người đề xuất khối và nhà sản xuất nhà nước?hạn chế thời gian
Có một thời gian cố định để các nhà sản xuất khối phát các khối. Vì vậy, chúng tôi đặc biệt xem xét hiệu suất của các chế độ khác nhau trong giới hạn thời gian đó.
tiêu đề phụ
Trong Eth1, sau khi xác minh chữ ký, số dư và kiểm tra nonce cho một giao dịch nhất định hoàn tất, những người khai thác có thể tin tưởng rằng họ sẽ được trả tiền để bao gồm giao dịch. Trong Eth2, việc người đề xuất khối có thể được trả tiền hay không tùy thuộc vào việc trạng thái bị mất có phải là lỗi có thể quy cho hay không. Nếu vậy, ngay cả khi một giao dịch không thành công do mất trạng thái, người đề xuất khối vẫn có thể được thanh toán. Mặt khác, bản thân giao dịch ở trạng thái bị mất không thể giải nén được, nhưng người đề xuất khối có thể không phát hiện ra nó cho đến khi tất cả các giao dịch (thường là dài) đã được thực thi. (Ghi chú của người dịch: Khoản thanh toán ở đây có nghĩa là người đề xuất khối cần tính phí giao dịch trong giao dịch được đóng gói. Nếu đó là một lỗi không thể quy trách nhiệm, thì người đề xuất khối sẽ chi phí để đóng gói giao dịch, nhưng không nhận được giao dịch trong giao dịch. phí.)

Nếu người đề xuất khối phải chạy các giao dịch để tìm lỗi, nhưng các giao dịch này không được đóng gói (nghĩa là không thể trả phí giao dịch), thì người đề xuất khối dễ bị tấn công từ chối dịch vụ với chi phí gần như bằng không.
người mẫu
tiêu đề phụ
Mô hình đẩy trực tiếp
hạn chế truy cập nhà nước
kích động
Người dùng tạo giao dịch về cơ bản trở thành nhà cung cấp trạng thái duy nhất cho giao dịch. Nói chung, không có cách nào để đảm bảo rằng trạng thái do người dùng cung cấp có thể đáp ứng tất cả các nhu cầu truy cập khi giao dịch trực tuyến trong tương lai. Do đó, trong chế độ Đẩy trực tiếp, chỉ các giao dịch có quyền truy cập trạng thái có thể dự đoán được mới có thể được thực hiện. Vì các giao dịch chỉ có thể được truy cập bằng cách sử dụng trạng thái tĩnh, người tạo hợp đồng cũng nên thiết kế hợp đồng của họ để có quyền truy cập ở trạng thái có thể dự đoán được: có thể sử dụng các chú thích như danh sách truy cập, nêu chi tiết nơi hợp đồng có thể truy cập trong thời gian chạy. Cách tiếp cận này, kết hợp với một mẫu tránh truy cập trạng thái động (xem bài đăng blog có liên quan này của Vitalik trên Eth1.x), sẽ dẫn đến một mẫu mới vẫn cung cấp đủ chức năng.
Tuy nhiên, đây sẽ là một sự khác biệt lớn so với hệ thống Eth1 hiện tại. Nó có thể làm hỏng kế hoạch chuyển đổi Eth1 sang Eth2.
kích động
Mẫu này chỉ dựa vào mạng nhà cung cấp chung của bang. Như đã nêu ở trên, dường như có thể thực hiện được mà không cần hệ thống khuyến khích.
Hệ thống khuyến khích cũng có thể được thêm vào thông qua các kênh thanh toán. Cho rằng mỗi người dùng phải thiết lập một kênh thanh toán với một hoặc nhiều nhà cung cấp của tiểu bang, phương pháp này sẽ đặc biệt phức tạp.
rủi ro tập trung
Một nhà cung cấp của một bang không thể kiểm duyệt các giao dịch, vì người dùng có thể gửi nhiều truy vấn tới nhiều nhà cung cấp của bang.
Vì các nhà cung cấp trạng thái chỉ có thể giữ một phần trạng thái nên các yêu cầu về phần cứng có thể được giảm bớt khi cần thiết.
Ưu đãi tiền tệ có thể khuyến khích một số nhà cung cấp trạng thái tập trung hóa, vì vậy khi người dùng mua trạng thái thông qua các kênh thanh toán, họ cần tin tưởng đối thủ của mình.
hạn chế thời gian
Không có hạn chế về thời gian.
Thuộc tính của trạng thái bị mất
điểm quan trọng
Ưu điểm chính: đơn giản. Không cần các nhà cung cấp trạng thái chuyên biệt hoặc hệ thống khuyến khích. Không có hạn chế thời gian cụ thể.
Nhược điểm chính: Chỉ phù hợp với các giao dịch mà tất cả các nhu cầu truy cập trạng thái đều được biết trước. Điều này giới hạn chức năng của toàn bộ hệ thống. Không thể giải quyết các vấn đề về khả năng tương thích, mặc dù có sẵn một số biện pháp giảm nhẹ. Đặc biệt, theo mô hình này, Eth1 không thể trở thành môi trường hoạt động của Eth2.
tiêu đề phụ
Mô hình đẩy chuyển tiếp
Tương ứng, hệ thống vẫn có thể chạy khi các gói giao dịch trong nhóm gói giao dịch được chứng minh là không sử dụng được. Các bộ chuyển tiếp chỉ thông báo sự tồn tại của các gói giao dịch. Người đề xuất khối sẽ liên hệ trực tiếp với người chuyển tiếp, nhận gói giao dịch và đưa nó vào khối mới.
kích động
hạn chế truy cập nhà nước
không giới hạn. Miễn là người chuyển tiếp có thể đẩy trạng thái tới gói giao dịch mọi khe (slot) để đảm bảo có thể đáp ứng nhu cầu truy cập trạng thái, thì sẽ ổn thôi. Ngoài ra, mỗi khối mới chỉ chứa một gói dữ liệu, giúp ngăn cản sự can thiệp giữa các gói giao dịch.
kích động
Việc thiết kế một cơ chế khuyến khích cho những người chuyển tiếp thực sự khá phức tạp, bởi vì một khi thông tin về trạng thái và nhân chứng được công khai, người dùng và/hoặc BP có cơ hội bỏ qua nhân chứng và tự tạo lại gói giao dịch.
Hai giải pháp khả thi:
Trong trường hợp không có nhóm giao dịch, gói giao dịch sẽ không được công khai. Người chuyển tiếp bán gói giao dịch do nhà nước đính kèm cho người đề xuất khối (phí thấp hơn một chút so với phí giao dịch), do đó hình thành thị trường gói giao dịch. Có một số rủi ro đối với người đề xuất khối: một giao dịch có thể đã được đưa vào một khối khác, khiến nó trở thành một giao dịch không hợp lệ; hoặc phí giao dịch nhận được thấp hơn mức mà người chuyển tiếp thông báo khi bán.
Ngoài ra, các giao dịch có thể bao gồm các khoản thanh toán cho một người chuyển tiếp cụ thể, có hoặc không có nhóm giao dịch. Người dùng cam kết trong một khoảng thời gian độc quyền (nghĩa là một vài khoảng thời gian) mà trong thời gian đó người dùng sẽ không tạo giao dịch nào khác. Nếu người dùng ký hai hoặc nhiều giao dịch cùng một lúc trong thời gian độc quyền, họ sẽ bị phạt. Để làm được điều này, EE phải cung cấp một cách để "chặt chém" người dùng. Nhưng vì người dùng không khóa tiền gửi nên không rõ làm thế nào để phạt những người dùng không có đủ số dư tài khoản.
rủi ro tập trung
Rủi ro tập trung phụ thuộc vào việc sử dụng các ưu đãi chuyển tiếp nào:
Do việc hợp nhất các gói giao dịch rất phức tạp (do quyền truy cập trạng thái động), thị trường gói giao dịch dẫn đến mức độ tập trung cao và cho phép những người chuyển tiếp riêng lẻ xem xét các giao dịch. Vì những rủi ro mà các BP có thể gặp phải trong danh sách trên, các BP ưu tiên hợp tác với những người chuyển tiếp nổi tiếng và đáng tin cậy. So với những người chuyển tiếp nổi tiếng này, người dùng cá nhân không thể cung cấp các gói giao dịch với phí giao dịch đủ cao.
Việc sử dụng các khoảng thời gian độc quyền và nhóm giao dịch mang lại mức độ phân cấp cao, nhưng phải trả giá bằng sự thuận tiện của người dùng và việc triển khai nhóm giao dịch phức tạp hơn. Về lý thuyết, bất kỳ người dùng nào cũng có thể truy xuất gói giao dịch từ nhóm giao dịch, thêm giao dịch của riêng họ để mở rộng gói giao dịch, sau đó chuyển tiếp gói giao dịch với phí giao dịch cao hơn.
hạn chế thời gian
Để hỗ trợ tất cả các loại giao dịch, bất kỳ gói giao dịch nào được bao gồm trong một khối phải chứa trạng thái mới nhất. Người chuyển tiếp phải tải xuống khối trước đó, tạo và gửi bản cập nhật tương ứng với gói giao dịch cho người đề xuất khối và người đề xuất khối sẽ đưa gói giao dịch được cập nhật vào khối mới, tất cả các hành động này phải được hoàn thành trong một khoảng thời gian trong vòng .
Thuộc tính của trạng thái bị mất
Mất trạng thái có thể được quy cho người chuyển tiếp. Người đề xuất khối có thể yêu cầu người chuyển tiếp (hoặc người chuyển tiếp tự nguyện chọn) đính kèm "giao dịch hoàn tiền" vào một giao dịch, được sử dụng để hoàn trả cho người đề xuất khối khi giao dịch thất bại do mất trạng thái.
điểm quan trọng
Ưu điểm chính: Không hạn chế quyền truy cập của nhà nước.
sự thiếu sót:
Không có nhóm giao dịch, các gói giao dịch không thể được kết hợp, do đó, một khối chỉ có thể chứa các gói giao dịch được đề xuất bởi một người chuyển tiếp duy nhất. Người chuyển tiếp có thể tập trung hóa và giới thiệu kiểm duyệt.
Ngay cả với nhóm giao dịch, vẫn chưa rõ liệu sự kết hợp của các gói giao dịch có đủ để giảm bớt hoàn toàn vấn đề kiểm duyệt hay không.
Các hệ thống khuyến khích rất phức tạp.
tiêu đề phụ
Mô Hình Kéo (Pull Model)
Người dùng gửi các giao dịch đến mạng và các nút duy trì một nhóm các giao dịch đang chờ xử lý. Trước khi tạo một khối, người đề xuất khối chọn một số giao dịch đang chờ xử lý từ nhóm giao dịch, tạo thành một gói giao dịch và gửi nó đến nhà cung cấp trạng thái để yêu cầu trạng thái của gói giao dịch. Sau khi nhận được trạng thái, nhà cung cấp khối đóng gói giao dịch vào một khối mới.
Trước khi nhà cung cấp trạng thái cung cấp tất cả trạng thái, để các nút trung gian và người đề xuất khối xác minh tính hợp lệ của giao dịch, người dùng phải đính kèm thông báo nhân chứng cần thiết để xác minh chữ ký và khả năng thanh toán phí cho giao dịch. Do đó, phần này phải được chuẩn hóa trên các môi trường thực thi (EE) khác nhau và tất cả các EE phải cung cấp tùy chọn cho chức năng xác minh đơn giản nhất.
Ngoài ra, có thể sử dụng EE Giữ giá trị (VHEE). Mọi giao dịch đều sử dụng VHEE này để thanh toán phí. Các nút trong mạng sẽ hiểu VHEE để có thể xác minh tính hợp lệ của giao dịch.
Trong cả hai trường hợp, các nút trong mạng cần cập nhật thông tin nhân chứng của trạng thái đính kèm khi các khối mới đến.
hạn chế truy cập nhà nước
kích động
Không có hạn chế đối với các giao dịch chính. Người đề xuất khối sẽ chỉ liên hệ với nhà cung cấp trạng thái khi tạo khối để đảm bảo rằng trạng thái trả về được cập nhật. Quan trọng hơn, bằng cách nhóm các giao dịch lại với nhau và yêu cầu trạng thái theo đơn vị của gói giao dịch, trạng thái được đính kèm trong ngữ cảnh chính xác. Cách tiếp cận này đảm bảo rằng trạng thái được cung cấp luôn đủ. Điều này bao gồm một điểm khác biệt chính so với chế độ Đẩy trực tiếp.Trong chế độ Đẩy trực tiếp, trạng thái được thêm vào trước khi giao dịch được nhóm lại, do đó hạn chế quyền truy cập trạng thái.
Bởi vì người dùng phải bao gồm trạng thái xác minh chữ ký và khả năng thanh toán phí, về mặt kỹ thuật, các hạn chế đối với phần giao dịch giống như những hạn chế được liệt kê trong mô hình Đẩy trực tiếp. Tuy nhiên những hạn chế này là không đáng kể trong thực tế. Bởi vì trong Eth1, xác minh chữ ký và thanh toán phí là quyền truy cập trạng thái có thể dự đoán được, khả năng tương thích giữa Eth1 và Eth2 sẽ không bị phá vỡ. Ngoài ra, đối với VHEE, thiết kế của nó đảm bảo quyền truy cập trạng thái có thể dự đoán được, khiến cho các hạn chế khác trở nên không cần thiết.
kích động
Người đề xuất khối có thể thanh toán cho trạng thái do nhà cung cấp trạng thái cung cấp thông qua kênh thanh toán hoặc các phương tiện khác. Theo mức độ tin tưởng của BP và SP đối tác, phí có thể được thanh toán theo số lượng giao dịch (đây là mức tối thiểu hóa niềm tin) hoặc theo gói giao dịch (cách này hiệu quả hơn)
rủi ro tập trung
Nhà cung cấp trạng thái phải lưu tất cả trạng thái và yêu cầu lưu trữ là rất lớn. Các nhà cung cấp nhà nước cũng được kỳ vọng sẽ thực hiện các gói giao dịch một cách nhanh chóng và do đó yêu cầu sức mạnh tính toán.
Những người đề xuất khối có thể có xu hướng lấy trạng thái từ nhóm nhà cung cấp trạng thái đáng tin cậy của họ hơn, giảm nguy cơ thiệt hại do ác ý, do đó tăng mức độ tập trung.
Tuy nhiên, một nhà cung cấp trạng thái duy nhất không thể kiểm duyệt các giao dịch vì chính người đề xuất khối chịu trách nhiệm tạo và đặt hàng gói giao dịch. Nhà cung cấp trạng thái có thể ẩn trạng thái mà một gói giao dịch nhất định cần, nhưng làm như vậy sẽ gây tổn hại đến danh tiếng của họ và người đề xuất khối có thể dễ dàng thử lại với nhà cung cấp trạng thái khác.
hạn chế thời gian
Người đề xuất khối phải liên hệ với nhà cung cấp trạng thái có thể cung cấp cho TA trạng thái theo yêu cầu của gói giao dịch để tải lên trong một khoảng thời gian.
Thuộc tính của trạng thái bị mất
Nhà cung cấp trạng thái luôn chịu trách nhiệm về trạng thái mà nó cung cấp. Người đề xuất khối không thể đóng gói các giao dịch không đủ trạng thái vào khối và sẽ chỉ thanh toán sau khi xác minh rằng trạng thái đủ.
điểm quan trọng
lợi thế:
Không có hạn chế truy cập nhà nước liên quan.
Có ít vấn đề hạn chế về thời gian hơn.
Không có rủi ro tập trung đáng kể. Mặc dù dự kiến rằng một số nhà cung cấp trạng thái nhất định sẽ cung cấp trạng thái dành riêng cho những người đề xuất khối, nhưng không nhà cung cấp trạng thái đơn lẻ nào có thể can thiệp đáng kể vào quá trình tổng thể. Điều tồi tệ nhất mà nhà cung cấp trạng thái có thể làm là không cung cấp trạng thái khi được yêu cầu.
Nhược điểm chính: Một số tiêu chuẩn hóa phải được thực hiện khi xác minh chữ ký, thông qua tập lệnh xác minh hoặc sử dụng VHEE.
thảo luận mở rộng
Thông tin chứng thực tự lực & Chi phí gas
Nếu những người khởi xướng giao dịch có thể cung cấp đủ thông tin nhân chứng để đảm bảo số dư của họ, thì việc truy cập trạng thái có thể rẻ hơn không? Nếu thông tin của người làm chứng cũng được đưa vào giao dịch và được ký tên thì có thể đảm bảo tính chắc chắn nhưng sẽ làm tăng tính phức tạp.
lệ phí nhà nước
Làm thế nào để những người đề xuất khối và các nhà cung cấp nhà nước thương lượng giá nhà nước? Có phải do nhà mạng đặt không? Để tạo ra một khối, người đề xuất khối có nên đặt giá thầu cho nhiều người đề xuất của tiểu bang và chọn khối rẻ nhất không?
Giá có tính theo số lượt truy cập status không? Hay nó được tính theo kích thước của dữ liệu nhân chứng?
Nếu tính phí dựa trên khối lượng dữ liệu của dữ liệu nhân chứng, làm thế nào để BP biết rằng SP không chứa byte bổ sung?
Nếu nhiều giao dịch sử dụng cùng một thông tin nhân chứng, phí có nên được chia đều không? Hay bạn trả toàn bộ số tiền cho mỗi giao dịch? Hay đó chỉ là giao dịch đầu tiên cần được thanh toán?
trừu tượng hóa trạng thái


