Distributed Validators (DV) là một kỹ thuật để phân phối công việc của Ethereum validator giữa tập hợp các nodes phân tán giúp cải thiện khả năng xử lý so với việc chạy một ứng dụng xác thực trên một máy duy nhất.
Thiết lập Authenticator Client truyền thống
Các trình xác thực Ethereum tham gia vào các giao thức Proof of Stake (PoS) bằng cách ký các thông báo bằng các private key staking của họ. Các khóa này chỉ có thể truy cập thông qua phần mềm client, sắp xếp thứ tự và ký thông báo theo sự phân công của trình xác thực. Thiết lập validator client truyền thống đi kèm một số rủi ro sau:
Private key tồn tại ở một nơi, khi hacker lấy được sẽ tạo ra các thông báo gây xung đột, dẫn đến giảm tiền gửi xác minh. Các nhà cung cấp dịch vụ không chạy validator node cần phải giao các private key staking cho nhà điều hành.
Nếu validator client không thể tạo thông báo kịp thời để thực hiện các nhiệm vụ thì validator không thể hoạt động và số dư sẽ bị giảm. Điều này có thể do sự cố phần mềm, mất mạng, lỗi phần cứng,… Nếu node báo hiệu client xác nhận kết nối không thành công, validator có thể tuân theo một nhánh số ít nodes, phần còn lại của giao thức PoS xuất hiện ngoại tuyến.
Giao thức trình xác thực phân tán
Giao thức trình xác thực phân tán cung cấp giải pháp để giảm thiểu rủi ro và mối lo ngại liên quan đến thiết lập trình xác thực đơn truyền thống. Ngoài ra, giao thức cũng có thể được sử dụng để triển khai staking.
Hai khái niệm cơ bản của trình xác thực phân tán:
Sự đồng thuận: Validator đơn lẻ được chia cho một số người co-validators, họ sẽ cộng tác để thống nhất về cách bỏ phiếu trước khi ký bất kỳ thông báo nào.
Chữ ký M-N: Private key cam kết của người xác minh bao gồm N phần và mỗi người giữ một phần. Khi ít nhất M người đồng xác minh đạt được sự đồng thuận về cách bỏ phiếu, họ sẽ ký các thông báo với những chữ ký được tập hợp lại.
PoS Ethereum sử dụng công cụ chữ ký BLS, trong đó private key có thể sử dụng công nghệ chữ ký M-N. Sự kết hợp giữa thuật toán đồng thuận và chữ ký M-N giúp cho giao thức được đảm bảo bằng mật mã và có ít nhất M người đồng xác minh chịu trách nhiệm cho bất kỳ quyết định nào.
Kiến trúc tổng thể
Đặc điểm kỹ thuật triển khai phần mềm Distributed Validator Client (DVC) làm phần mềm trung gian giữa các nodes báo hiệu (Beacon Node – BN) và chữ ký từ xa (Remote Signer – RS):
Tất cả giao tiếp giữa các BN và RS được DVC quản lý để nó có thể cung cấp chức năng xác nhận phân tán bổ sung. DVC là phần mềm tham gia như trình đồng xác thực bằng cách chạy giao thức DV. DVC có thể truy cập private key của người đồng xác minh.
Giả thuyết
Tương tự bên trên sẽ có M người đồng xác minh và N phần private key. Để tương thích với các giao thức đồng thuận của Byzantine, giả sứ M = ceil(2 * N/3).
Đặc điểm kỹ thuật này giả định một số loại giao thức đồng thuận tập trung vào bảo mật dựa trên người lãnh đạo, trong đó những người đồng xác nhận chọn cùng một bằng chứng / khối để ký. Giao thức đồng thuận sẽ chạy thành công với M nodes đúng, không quá F = (N-1)/3 nút Byzantime và N-M-F nodes dừng lại trong tổng N nodes. Chúng ta giả định các điều kiện tiên quyết thông thường cho hoạt động an toàn của ứng dụng trình xác thực bao gồm cơ sở dữ liệu hoạt động ổn định. Tính năng bỏ phiếu về fork Ethereum chưa thể xem xét tính đúng hay sai, nó sẽ được thêm vào bản cập nhật trong tương lai.
Tổng kết
Chi tiết đặc điểm kỹ thuật được mô tả trong phần src/ dvspec tại Github của Ethereum. Mọi người có thể xem: Tại đây