Slashing: Nỗi ám ảnh của các validator

Slashing là gì?
Slashing là cơ chế phạt được áp dụng cho các validator vi phạm quy tắc của mạng lưới blockchain Proof of Stake (PoS) (như Ethereum, Cosmos, Aura Network, Avalanche…). Những vi phạm này bao gồm double signing (ký hai khối khác nhau), xác nhận giao dịch không hợp lệ, không hoạt động trong thời gian dài…
Mục đích của cơ chế slashing nhằm duy trì tính bảo mật và toàn vẹn của blockchain thông qua việc ngăn chặn các hành vi gian lận, đảm bảo các validator hoạt động trung thực và ổn định, đồng thời bảo vệ hệ thống khỏi các rủi ro như fork hoặc tấn công mạng.
Tùy vào quy định của mỗi blockchain, hình phạt và mức độ nghiêm khắc của slashing dành cho validator sẽ khác nhau, từ bị mất một lượng hoặc toàn bộ token đã stake, đến bị cấm hoạt động một khoảng thời gian hoặc vĩnh viễn…
Hiểu về Validator: Nhân tố chủ chốt trong Blockchain PoS
Mọi blockchain đều hoạt động dựa trên một hệ thống các quy tắc, gọi là cơ chế đồng thuận (consensus mechanism), chúng quyết định cách mạng lưới vận hành, cách người dùng tương tác với mạng lưới và cách ngăn chặn các hành vi có thể gây hại cho hệ thống. Cơ chế đồng thuận này được duy trì và đảm bảo bởi một mạng lưới các node liên kết với nhau.
Đối với những blockchain sử dụng cơ chế đồng thuận Proof of Stake (PoS), để tham gia vào quá trình xác thực giao dịch và đồng thuận của mạng, cần phải stake một lượng token nhất định và trở thành node. Việc này nhằm đảm bảo rằng các node sẽ hành động vì lợi ích chung của mạng lưới.
Khi một node được chọn để xác thực giao dịch, nó chính thức trở thành validator. Validator chịu trách nhiệm ghi nhận lịch sử giao dịch, xác minh và đề xuất các khối (block) mới. Đổi lại, họ nhận được phần thưởng staking. Đây là cơ chế để khuyến khích sự tham gia của nhiều validator hơn, đảm bảo tính phi tập trung, toàn vẹn và ổn định cho mạng.

Tuy nhiên, chuyện gì sẽ xảy ra nếu một validator vô tình mắc lỗi, hoặc tệ hơn, cố tình lạm dụng quyền hạn của mình để thao túng mạng lưới? Lúc này, toàn bộ blockchain có thể hoạt động không hiệu quả hoặc bị tấn công.
Để ngăn chặn điều này, bên cạnh việc khuyến khích hành vi đúng, cơ chế đồng thuận còn triển khai các biện pháp xử phạt đối với những hành vi sai phạm - Slashing.
Khi nào cơ chế Slashing được kích hoạt?
Cơ chế slashing ra đời nhằm trừng phạt hoặc loại bỏ các validator không trung thực và hoạt động kém hiệu quả, mà vẫn đảm bảo khả năng vận hành của blockchain.
Các sai phạm phổ biến làm kích hoạt cơ chế slashing bao gồm: tạm ngừng hoạt động (downtime), ký giao dịch hai lần (double signing) và thao túng mạng lưới (nói cách khác, xác thực giao dịch không hợp lệ).
Validator tạm ngừng hoạt động (Downtime)
Khi một validator ngoại tuyến và không tham gia vào quá trình đồng thuận, nó làm giảm hiệu suất của mạng lưới. Điều này ảnh hưởng đến tốc độ và độ tin cậy của blockchain, do đó, nhiều giao thức PoS coi đây là một hành vi bị slashing.
Hầu hết các trường hợp downtime không phải là cố ý mà do sự cố kỹ thuật. Tuy nhiên, một số blockchain PoS sử dụng thuật toán đồng thuận Tendermint như Cosmos, Aura Network… vẫn áp dụng hình phạt để khuyến khích validator duy trì sự ổn định.
Đặc biệt, đối với lỗi downtime, các validator bị phạt thường được phép gửi yêu cầu để tham gia lại nhóm validator.
Validator ký hai lần (Double signing)
Double signing (ký hai lần) là hành vi một validator ký xác nhận hai khối khác nhau cho cùng một thời điểm, gây ra sự không nhất quán trong mạng lưới và có thể dẫn đến các vấn đề như fork hoặc thao túng blockchain. Nếu hai phiên bản của blockchain với lịch sử giao dịch khác nhau được tạo ra, khả năng xảy ra double spending (chi tiêu hai lần) là có thể.
Vì lý do này, double signing cũng là một trong những lỗi nghiêm trọng nhất mà validator có thể mắc phải, có thể dẫn đến việc bị tombstone, tức cấm hoạt động vĩnh viễn khỏi blockchain.

Double signing có thể xảy ra do lỗi kỹ thuật hoặc hành vi thao túng có chủ đích. Tuy nhiên, các lỗi kỹ thuật không chủ ý là nguyên nhân phổ biến hơn, vì rủi ro từ slashing thường lớn hơn lợi ích mà kẻ gian lận có thể nhận được. Một số nguyên nhân cụ thể có thể kể đến như:
- Lỗi kỹ thuật khi thiết lập hệ thống dự phòng: Một số validator thiết lập nhiều máy chủ (backup node) để dự phòng trong trường hợp node chính gặp sự cố, một node khác có thể tiếp quản ngay lập tức để tránh downtime. Tuy nhiên, nếu cấu hình không đúng cách, cả hai node có thể hoạt động đồng thời và sử dụng cùng một validator key để ký xác nhận hai khối cùng lúc, dẫn đến double signing.
- Lỗi phần mềm: Các lỗi trong phần mềm của validator có thể khiến node mất dấu lịch sử ký trước đó và ký lại giao dịch.
- Tấn công từ bên ngoài: Nếu hacker xâm nhập vào hệ thống validator, chúng có thể lợi dụng lỗi bảo mật để thực hiện double signing từ hai node khác nhau, gây thiệt hại lớn cho validator bị tấn công.
Thao túng mạng lưới
Cuối cùng, nếu validator có hành vi cho thấy sự nỗ lực trong việc thao túng mạng lưới, họ sẽ bị slashing.
Ví dụ: Validator xác thực một block có chứa lịch sử giao dịch của block khác trước đó, điều này đồng nghĩa với việc cố gắng thay đổi lịch sử blockchain. Hành động này có thể tạo ra gian lận trong dữ liệu giao dịch và gây nguy hiểm cho tính toàn vẹn của blockchain.

Cơ chế Slashing hoạt động như thế nào?
Tùy vào giao thức đồng thuận mà cơ chế slashing sẽ có cách hoạt động và mức phạt khác nhau. Phần này sẽ tập trung vào cơ chế slashing của Ethereum, blockchain PoS lớn nhất hiện tại.
Trong blockchain Ethereum, slasher node là thực thể chuyên phát hiện các hành vi gian lận của validator, thường là những validator, cá nhân, tổ chức đã stake lượng lớn ETH vào blockchain. Khi một validator trên Ethereum vi phạm quy tắc đồng thuận, cơ chế slashing diễn ra theo các bước sau:
- Slasher node phát hiện vi phạm: Slasher node liên tục quét và kiểm tra tất cả các chứng thực (attestation) và đề xuất block trong mạng Ethereum. Nếu phát hiện bằng chứng vi phạm, slasher sẽ gửi thông tin này lên toàn bộ mạng lưới.
- Block proposer xác nhận và thêm bằng chứng vào khối: Người đề xuất block tiếp theo (block proposer) sẽ kiểm tra và đưa bằng chứng vi phạm vào khối mới. Khi thông tin vi phạm được đưa vào blockchain, validator phạm lỗi sẽ bị slashing ngay lập tức.
- Mạng lưới xử phạt validator vi phạm: Validator bị chuyển sang trạng thái "slashed_exiting" và bị loại khỏi mạng sau một khoảng thời gian. ETH bị trừ khỏi tài khoản validator, thông thường là hơn 1 ETH, nhưng có thể nhiều hơn nếu vi phạm nghiêm trọng. Validator sẽ không thể tham gia staking hoặc xác nhận giao dịch nữa.
- Block proposer nhận phần thưởng: Người thêm bằng chứng vào block sẽ được thưởng một phần phí mạng lưới.
Lưu ý: Slasher sẽ không nhận được phần thưởng. Và việc chạy slasher node cũng không nhằm mục đích kiếm lợi nhuận, vì phần thưởng cho việc phát hiện vi phạm được thiết kế rất thấp để tránh việc trục lợi hoặc spam hệ thống. Việc vận hành slasher được xem như một hành động vì lợi ích chung (altruistic action), giúp bảo vệ sự ổn định của mạng Ethereum.
Ngoài ra, hình phạt slashing cho các hành vi sai phạm của validator trên Ethereum là giống nhau, với quy trình xử phạt như sau:
- Đầu tiên, ngay khi vi phạm bị phát hiện, validator sẽ lập tức bị mất 1/32 số ETH đã stake. Với mức stake tối thiểu là 32 ETH, hình phạt ban đầu thường rơi vào khoảng 1 ETH.
- Sau khi bị slashing, validator bị chuyển sang trạng thái "slashed_exiting". Họ sẽ không còn là validator hợp lệ và bị đưa vào hàng chờ rời khỏi mạng (exit queue).
- Trong 36 ngày tiếp theo, validator không chỉ mất quyền nhận thưởng staking mà còn bị phạt bổ sung vì không thực hiện nhiệm vụ, mức phạt cụ thể là 8,000 GWei (0.000008 ETH) cho mỗi epoch (~6.4 phút). Với trung bình 225 epoch/ngày, mức phạt này có thể lên đến ~0.07 ETH trong 36 ngày.
- Đặc biệt, nếu nhiều validator bị slashing trong một khoảng thời gian gần nhau, mức phạt sẽ tăng lên nhằm ngăn chặn các cuộc tấn công đồng thuận có tổ chức. Điều này có nghĩa là nếu một validator vi phạm cùng lúc với nhiều validator khác, họ có thể bị phạt nặng hơn bình thường. Trong trường hợp tệ nhất, validator có thể mất toàn bộ ETH đã stake.
Tuy nhiên, trong thực tế, hầu hết các trường hợp slashing chỉ mất khoảng 1 ETH (chưa tính mức phạt trong 36 ngày), và chỉ rất ít validator bị mất toàn bộ số ETH đã stake.

Có phải mọi blockchain PoS đều có cơ chế Slashing?
Slashing chủ yếu xuất hiện trong các blockchain sử dụng Proof of Stake (PoS) hoặc biến thể của PoS, nơi các validator cần stake tài sản để tham gia vào quá trình đồng thuận, ví dụ như như Delegated Proof of Stake (DPoS) hay Proof of Staked Authority (PoSA).
Vì vậy, không phải tất cả các blockchain PoS đều áp dụng slashing. Một số blockchain không có slashing có thể kể đến như Bitcoin (BTC), Cardano (ADA), Ripple (XRP), Stellar (XLM), Algorand (ALGO)...
Đọc thêm: TWAMM: Công cụ tối ưu hóa giá dành cho người dùng DeFi