Distributed Validator Technology (DVT) là gì? Cách hoạt động của DVT
Distributed Validator Technology (DVT) là gì?
Distributed Validator Technology (DVT, hay công nghệ trình xác thực phân tán) là một phương pháp giúp tăng bảo mật cho validator trên Ethereum, cho phép nhiều bên cùng vận hành một validator, bằng cách tách private key của validator thành nhiều phần và chia cho các bên để quản lý và ký (sign) xác thực giao dịch.
Ví dụ: Theo thiết kế cũ, thay vì một node chạy một validator. DVT cho phép nhiều node cùng chạy một validator, trong quy trình đồng thuận, mỗi lần validator cần xác thực khối và nhận phần thưởng khối (block reward) thì yêu cầu các node đó đều phải ký (sign) giao dịch.
Mục đích của DVT nhằm làm giảm điểm lỗi đơn lẻ (single points of failure) và tăng khả năng phục hồi của các validator node, đồng thời tăng tính phân cấp (decentralized) trên mạng lưới blockchain Ethereum.
Về phía người dùng, việc tham gia staking trên các giao thức tích hợp DVT cũng sẽ giúp tối ưu hóa phần thưởng staking và giảm thiểu rủi ro mất ETH do slashing.
Tại sao công nghệ trình xác thực phân tán (DVT) cần thiết?
Sau sự thành công của sự kiện The Merge, mạng lưới Ethereum chuyển từ mô hình đồng thuận Proof-of-Work (PoW) sang Proof-of-Stake (PoS), giúp blockchain này tiêu tốn ít năng lượng hơn so với trước đó. Việc chuyển đổi này đồng thời mang lại cơ hội lợi nhuận rộng mở hơn cho những người nắm người giữ ETH.
Trước kia, người dùng muốn trở thành validator trên Ethereum cần phải stake một lượng ETH đủ theo yêu cầu (32 ETH) và thiết lập phần cứng máy tính để chạy node. Giờ đây người dùng có thể stake ETH vào các dịch vụ staking và kiếm phần thưởng staking, các dịch vụ này sẽ gom đủ số lượng ETH cần thiết để thiết lập và chạy các validator node trên mạng lưới Ethereum, sau đó phân phối một phần phần thưởng cho người dùng (staker).
Tuy nhiên, mô hình PoS này cũng mang lại nhiều rủi ro đáng chú ý cho cả validator và staker, đặc biệt là sự tập trung hóa. Một số nền tảng staking phổ biến với độ uy tín và mức lợi nhuận cao sẽ thu hút nhiều người dùng stake ETH hơn, từ đó dẫn đến việc thị trường staking sẽ bị tập trung vào một số cái tên lớn, ví dụ như Lido, Coinbase, RocketPool, StakeWise...
Trong trường hợp tiêu cực, nếu các validator do những giao thức này vận hành bị phạt, lỗi, hack, cấm hoạt động… thì sẽ gây ảnh hưởng lớn đến toàn bộ mạng lưới Ethereum.
Trong đó, phải kể đến Lido Finance, giao thức nắm giữ lượng ETH được stake lớn nhất hiện nay, chiếm đến 31.69% lượng ETH được stake trên mạng Ethereum, dữ liệu tính đến ngày 17/02/2024 (nguồn tại đây). Điều này khiến cho Lido có một mức độ “tập trung” rất cao khi sử dụng chủ yếu các Node Operator chuyên cung cấp dịch vụ chạy staking node trên thị trường.
Từ đó, nhu cầu phát triển Distributed Validator Technology (DVT) dần hình thành để giải quyết những vấn đề này, đồng thời đảm bảo sự phân cấp của ETH khi mạng lưới tiếp tục phát triển mạnh hơn.
DVT hoạt động như thế nào?
Về bản chất, DVT sẽ phân chia trách nhiệm và quyền sở hữu private key cho nhiều thực thể (gọi là operator) cùng chạy một validator node.
Thông thường, mỗi validator node sẽ được quản lý bằng một private key. Điều này có nghĩa là chủ sở hữu key có thể đưa ra các quyết định một cách đơn phương, ngay cả khí chúng không mang lại lợi ích tốt nhất cho mạng.
Tuy nhiên, bằng cách tách key thành nhiều phần và chia sẻ chúng cho các operator khác nhau để phân phối quyền sở hữu key, DVT giúp chia các key nhỏ này thành nhiều vai trò và chịu trách nhiệm khác nhau trong việc quản lý validator node. Các key này sẽ được tổ chức theo mô hình “cluster” để tách biệt vai trò của chúng. Ví dụ:
- Một phần key sẽ được ủy quyền cho người đề xuất khối (block proposer).
- Các phần khác của key có thể được nắm giữ bởi những người quản lý (manager), giữ vai trò chứng thực tính hợp lệ của khối mới và quản lý việc phân phối phần thưởng.
Cơ chế chia key của một validator theo các vai trò khác nhau này giúp DVT có thể làm giảm tính tập trung trên mạng lưới, đồng thời thúc đẩy việc quản lý validator node trở nên hiệu quả hơn. Vì có nhiều bên tham gia vào việc ký (sign) từ một node, nên nguy cơ lỗi hoặc bị phạt cũng sẽ thấp hơn so với việc lưu trữ privakey trên một điểm (point) duy nhất.
Xet ở khía cạnh công nghệ, giải pháp Distributed Validator Technology (DVT) bao gồm năm thành phần cơ bản:
- Cơ chế Shamir’s Secret Sharing: Giúp tách key thành khác phần với chức năng khác nhau, cùng với cơ chế BLS keys để kết hợp lại chữ ký từ các operator vận hành node.
- Lược đồ Chữ ký Ngưỡng (Threshold signature scheme, hay TSS): Giúp xác định số lượng chữ ký BLS cần thiết để ký xác thực các giao dịch trên một node. Ví dụ như chỉ cần 3 trên 4 chữ ký là giao dịch sẽ được xác thực bởi node đó.
- Distributed Key Generation (DKG): Là quy trình mã hóa chịu trách nhiệm tạo các phần key nhỏ và phân phối chúng cho bộ DVT của các node xác thực mới hoặc hiện có.
- Multiparty computation (MPC): Chịu trách nhiệm tạo private key đầy đủ cho validator một cách bí mật. Thiết kế này giúp đảm bảo rằng không có bất kỳ thực thể vận hành node nào có thể biết toàn bộ private key, thay vào đó họ chỉ biết phần key của họ.
- Giao thức đồng thuận (consensus protocol): Chịu trách nhiệm chọn một node để đóng vai trò là người đề xuất khối (block proposer). Proposer sẽ chia sẻ block mới với các node khác trong bộ DVT, sau đó các node sẽ thêm chữ ký để xác thực block. Khi đã đủ (hoặc vượt) số lượng chữ ký ngưỡng, khối mới sẽ được đề xuất lên mạng Ethereum.
Lợi ích của Distributed Validator Technology (DVT)
Distributed Validator Technology (DVT) mang lại một số lợi ích cho mạng Ethereum như tăng tính phân cấp (decentralization) và tính bảo mật (security), giảm rủi ro điểm lỗi đơn lẻ.
Tính phân cấp (Decentralization)
Với giải pháp DVT, các dự án cung cấp dịch vụ staking như Lido hay RocketPool vẫn có thể tồn tại trong khi vẫn duy trì được sự phân cấp trên mạng. Điều này là do các khóa của mỗi validator được phân phối trên nhiều máy (node) khác nhau, và validator đó sẽ cần có sự “thông đồng” lớn hơn để có thể thực hiện bất kỳ hành vi độc hại nào đối với mạng.
Nếu không có DVT, các dịch vụ staking chỉ hỗ trợ một hoặc hai cấu hình máy khách cho tất cả validator, làm tăng tác động của việc máy khách bị lỗi lên toàn bộ mạng lưới. Tuy nhiên, việc sử dụng DVT sẽ giúp phân tán rủi ro trên nhiều cấu hình máy khách và phần cứng khác nhau, giúp tăng khả năng phục hồi cho các validator node.
Tính bảo mật (Security)
Thông thường, validator sẽ có hai cặp khóa bao gồm:
- Validator key để tham gia vào đồng thuận.
- Withdrawal key để truy cập vào tài sản bên trong.
Các validator có thể bảo mật withdrawal key bằng cách lưu trữ lạnh (ngoại tuyến, không có mạng internet), tuy nhiên validator key phải được lưu trữ trực tuyến 24/7. Nếu một validator key bị xâm phạm, kẻ tấn công có thể có quyền kiểm soát validator đó và dẫn đến khả năng bị slashing hoặc mất số ETH đã stake.
Tuy nhiên, khi sử dụng DVT, staker có thể tham gia stake ETH trên các dự án staking mà vẫn đảm bảo validator key được an toàn và bảo mật. Thông qua cơ chế hoạt động như trên, DVT sẽ có mã hóa và tách private key của validator thành nhiều phần để phân phối cho nhiều bên quản lý. Sau đó tổng hợp chúng một cách bí mật khi cần xác thực giao dịch và đảm bảo rằng không có ai biết toàn bộ key.
Các quy trình này được thực hiện một cách tách biệt bởi các thành phần khác nhau để đảm bảo tính minh bạch và bảo mật tốt nhất trong hệ thống.
Hạn chế rủi ro điểm lỗi đơn lẻ
Khi một validator được phân chia thành nhiều bên vận hành và nhiều máy tính khác nhau, nó có thể vẫn hoạt động trực tuyến bình thường kể cả khi có một máy riêng lẻ bị lỗi phần cứng hay phần mềm. Đồng thời, rủi ro xảy ra lỗi cũng có thể được giảm bớt bằng cách sử dụng các cấu hình phần cứng và phần mềm đa dạng trên các node trong một bộ DVT.
Nếu một thành phần của một máy tính trong bộ DVT bị ngưng hoạt động (ví dụ, một validator có 4 người vận hành, trong đó có một người sử dụng máy khách bị lỗi), những thành phần còn lại sẽ đảm bảo rằng validator vẫn có thể tiếp tục chạy mà không gặp vấn đề gì. Điều này cũng giúp tạo khả năng chịu lỗi (fault tolerance) cho các validator node trong mạng lưới.
Các ứng dụng của Distributed Validator Technology (DVT)
Staking độc lập (solo)
Thay vì sử dụng các dịch vụ staking, người dùng có thể stake ETH và vận hành validator riêng lẻ một cách độc lập, cùng với việc sử dụng giải pháp DVT để phân phối tách và phân phối validator key trên các node từ xa, đồng thời vẫn tự giữ được key ở môi trường ngoại tuyến theo ý mình.
Nói cách khác, các staker không nhất thiết phải chi tiền cho phần cứng mà vẫn có thể chạy được một validator node độc lập, hơn nữa việc phân phối key sẽ giúp tăng cường khả năng bảo mật trước các vụ tấn công tiềm ẩn từ hacker.
Staking-as-a-Service (SaaS)
Các bên cung cấp dịch vụ staking (ví dụ như staking pool) phải quản lý nhiều validator cũng có thể sử dụng giải pháp DVT để giảm rủi ro bị tấn công hàng loạt hay dừng hoạt động. Thông qua việc phân phối cơ sở hạ tầng (tách key và chia cho nhiều node khác nhau quản lý), họ có thể bổ sung thêm một lớp dự phòng cho mô hình hoạt động của mình và đa dạng hóa các loại phần cứng để vận hành node.
Bên cạnh đó, DVT chia sẻ trách nhiệm quản lý key trên nhiều node, từ đó dịch vụ staking có thể chia sẻ một số chi phí vận hành với node, giảm rủi ro hoạt động và chi phí bảo hiểm như bảo trì thiết bị, phần mềm…
Staking pool
Mỗi validator đều có tiêu chuẩn riêng để thiết lập, do đó các operator trong các staking pool và những dự án liquid staking sẽ có mức độ tin cậy khác nhau, vì mỗi giao thức sẽ có mức lãi lỗ và phân phối phần thưởng khác nhau.
Hơn nữa, các giao thức này cũng sẽ bị phụ thuộc nhiều vào các operator đơn lẻ vì họ tự quản lý key và số lượng ETH stake một cách độc lập. Việc này có thể sẽ gây ra rủi ro lớn đến giao thức và cả người dùng nếu các operator này hoạt động kém, ngừng hoạt động, bị xâm phạm hoặc có hành vi độc vì bất kỳ lí do gì.
Bằng cách tích hợp giải pháp DVT, staking pool và giao thức liquid staking có thể giảm đáng kể việc phải đặt niềm tin vào các operator, vì:
- Các pool có thể cho phép operator nắm giữ lượng ETH được stake mà không cần phải đưa quyền kiểm soát validator key, thay vào đó là một phần key.
- Số lượng ETH được stake cũng có thể được phân phối và quản lý bởi nhiều operator, giúp giảm rủi ro tập trung. Ví dụ: Thay vì chỉ có một operator quản lý 1,000 validator, giờ đây 1,000 validator này có thể được vận hành chung bởi nhiều operator hơn.
- Mỗi operator sẽ có một cấu hình khác nhau, giúp đảm bảo rằng nếu một operator ngừng hoạt động thì những operator khác vẫn có thể thực hiện vai trò của mình một cách trơn tru mà không bị ảnh hưởng. Sự đa dạng hóa trong cấu hình này sẽ giúp mang lại hiệu suất và khả năng phục hồi tốt hơn cho validator, đồng thời giúp tối đa hóa phần thưởng staking và chạy node.
Ngày 03/11/2023, Lido Finance đã thông qua đề xuất thử nghiệm Distributed Validator Technology (DVT), hợp tác cùng 2 dự án Obol Network và SSV Network. Giai đoạn thử nghiệm trên sẽ giới hạn trong phạm vi 0,5% tổng giá trị đang khoá trên Lido. Trong đó, Obol Network là cái tên đi đầu và phát triển mạnh nhất trong mảng DVT trên thị trường hiện nay.
Giải pháp DVT được tích hợp sẽ giúp giảm thiểu các rủi ro liên quan đến tính tập trung, tăng khả năng hoạt động và phục hồi của validator, từ đó giúp trải nghiệm staking của người dùng được tối ưu hoá.
Hạn chế của DVT
Tuy nhiên, DVT vẫn tồn tại một số hạn chế và rủi ro tiềm ẩn mà nó có thể gây ra trên mạng lưới. Đầu tiên, việc thêm một thành phần bổ sung vào cơ chế của ETH như vậy có thể khiến cho mạng lưới dễ gặp phải các cuộc tấn công mới hơn.
Thứ hai, việc triển khai DVT mặc dù có thể giúp các giao thức staking có thể chia sẻ chi phí vận hành cho các node. Tuy nhiên, nhìn chung thì chi phí vận hành tổng thể có thể sẽ tăng lên và độ trễ mạng (latency) cũng tăng, vì việc đồng thuận của node lúc này bị phân chia cho nhiều bên hơn.
Những rủi ro và hạn chế này có thể được giảm thiểu nếu các giao thức DVT triển khai một cách cẩn thận và có cân nhắc đến các vấn đề trên. Hơn nữa, từ góc độ rộng hơn, việc tăng một ít chi phí và độ trễ có thể là chi phí cơ hội hợp lý cho việc nâng cao bảo mật trên mạng lưới.