Chuyển tới nội dung chính

Chi tiêu hai lần và tấn công 51%

Bài toán chi tiêu hai lần​

Một trong những vấn đề cốt lõi của hệ thống thanh toán số là chi tiêu hai lần. Đó là khả năng sử dụng lại cùng một tài sản số để thực hiện nhiều khoản thanh toán.

Trong các hệ thống tập trung truyền thống, vấn đề này được giải quyết bởi một trung gian đáng tin cậy, chẳng hạn ngân hàng, thông qua việc theo dõi số dư và xác nhận giao dịch. Trong môi trường phi tập trung, nơi không có một đầu mối quản lý duy nhất, mô hình đó không thể áp dụng.


Chi tiêu hai lần trong hệ thống phi tập trung​

Trong mạng phi tập trung, các bên tham gia không bắt buộc phải tin tưởng lẫn nhau. Nếu không có cơ chế phối hợp riêng, kẻ xấu có thể tìm cách gửi cùng một giao dịch đến nhiều người nhận cùng lúc.

Blockchain giải quyết vấn đề này nhờ:


Blockchain ngăn chi tiêu hai lần như thế nào?​

Mỗi giao dịch trên blockchain được đưa vào một khối và có vị trí trong chuỗi. Sau khi khối được xác nhận, giao dịch được coi là đã hoàn tất.

Các nút mạng sẽ phát hiện nỗ lực sử dụng lại cùng một khoản tiền, vì giao dịch đó mâu thuẫn với trạng thái đã được ghi nhận của sổ cái.


Xác nhận giao dịch và tính chung cuộc​

Trong phần lớn blockchain, giao dịch được coi là đáng tin cậy hơn khi có thêm nhiều khối được nối sau khối chứa giao dịch đó. Những khối này được gọi là các xác nhận.

Giao dịch nhận được càng nhiều xác nhận thì về lý thuyết, việc thay đổi lịch sử blockchain để đảo ngược giao dịch càng khó.

Phân nhánh và tầm quan trọng của các xác nhận​

Đôi khi, nhiều khối được tạo gần như đồng thời trên blockchain. Chuỗi tạm thời bị chia nhánh này được gọi là phân nhánh (fork). Cuối cùng, các nút mạng lựa chọn chuỗi có tổng độ khó lớn nhất (trong bằng chứng công việc) hoặc lượng tài sản đặt cọc lớn nhất (trong bằng chứng cổ phần).

Trong những trường hợp này, các xác nhận ban đầu của giao dịch có thể tạm thời bị đảo ngược cho đến khi chuỗi ổn định hoàn toàn. Tính chung cuộc trên thực tế chỉ đạt được sau một số khối tiếp theo, giúp giảm nguy cơ đảo ngược hoặc chi tiêu hai lần. Những giao dịch bị đảo ngược sẽ được xử lý và đưa vào các khối mới sau đó.

Chẳng hạn, trong mạng Bitcoin, trên thực tế người ta thường coi giao dịch là đã hoàn tất một cách an toàn sau 6 xác nhận. Ở các mạng PoS, tính chung cuộc trên thực tế cũng đạt được sau một số khối, nhưng số lượng cụ thể phụ thuộc vào quy tắc giao thức và lượng tài sản đặt cọc của các người xác thực. Với mạng Ethereum, một số sàn giao dịch tiền mã hóa chờ hơn 50 xác nhận (khối) trước khi xác nhận hoàn tất khoản nạp.


Tấn công 51% là gì?​

Tấn công 51% là tình huống giả định khi một bên hoặc một nhóm bên tham gia kiểm soát hơn 50% sức mạnh tính toán của mạng (trong hệ thống bằng chứng công việc) hoặc tỷ lệ tài sản đặt cọc (trong hệ thống bằng chứng cổ phần).

Khi đó, kẻ tấn công có thể:

  • tạm thời thay đổi thứ tự giao dịch,
  • đảo ngược các giao dịch của chính mình,
  • bỏ qua giao dịch của người khác,
  • thực hiện chi tiêu hai lần.

Giới hạn của tấn công 51%​

Ngay cả khi tấn công 51% thành công, kẻ tấn công cũng không thể:

  • tạo giao dịch thay mặt người dùng khác,
  • truy cập tiền của người khác,
  • sửa dữ liệu trong những khối đã có đủ số xác nhận mà không tốn chi phí đáng kể.

Ngoài ra, cuộc tấn công như vậy đòi hỏi nguồn lực rất lớn và thường làm suy giảm niềm tin vào chính mạng đó, khiến nó không có lợi về kinh tế. Tuy nhiên, tấn công 51% vào những blockchain ít phổ biến vẫn có thể xảy ra mà không cần nguồn lực đáng kể. Chẳng hạn, vào giữa năm 2025, mạng Monero đã chứng kiến việc kiểm soát hơn 51% sức mạnh tính toán. Sau đó, cộng đồng tích cực phản đối sự tập trung hóa này và cuộc tấn công không gây thiệt hại cho mạng.


Tổng kết​

Chi tiêu hai lần là một thách thức nền tảng đối với các hệ thống số phi tập trung. Blockchain giải quyết vấn đề bằng sự kết hợp của:

Hiểu rõ giới hạn và rủi ro, bao gồm tấn công 51% và phân nhánh, giúp đánh giá thực tế hơn về mức độ bảo mật và độ tin cậy của các dự án blockchain.