Tấn công 51% (51% Attack) – một sự kiện được xem là “rất nguy hiểm” cho cộng đồng của bất cứ đồng coin nào nếu gặp phải, nhận sự kiện Ethereum Classic (ETC) được cho là đã bị tấn công 51%, bài viết này Tôi Yêu Bitcoin sẽ cùng các bạn tìm hiểu xem khái niệm tấn công 51% này là gì? Tại sao nó lại là mối nguy lớn đối với mạng lưới Blockchain của các đồng coin? Cùng các kiến thức hữu ích khác xung quanh nó nhé.
Nội dung chính
Tấn công 51% là gì?
Tấn công 51% (51% Attack) là một cuộc tấn công vào mạng lưới Blockchain của một đồng tiền điện tử nào đó, thường được thực hiện bởi một nhóm các thợ đào nhằm kiểm soát trên 50% hashrate khai thác của mạng. Mục đích của các cuộc tấn công 51% làm cho các giao dịch không thể xác nhận do tắc nghẽn mạng, điều đáng lo ngại hơn là giao dịch có thể bị đảo ngược nếu kẻ tấn công kiểm soát toàn bộ mạng lưới.
Một ví dụ về việc đảo ngược giao dịch để các bạn có thể thấy được sự nguy hiểm của nó: Giả sử tôi có 1.000 Bitcoin, và dùng để mua một chiếc máy bay tư nhân. Sau khi chuyển 1.000 BTC này vào ví của cửa hàng bán máy bay, chiếc máy bay được giao đến cho tôi vài ngày sau đó. Bằng cách thực hiện tấn công 51% vào blockchain của Bitcoin, tôi có thể đảo ngược giao dịch. Nếu thành công, tôi sẽ lấy lại được 1.000 BTC đã chuyển cho cửa hàng bán máy bay và vẫn có được chiếc máy bay.
Tấn công 51% không thể thay đổi được các block cũ trong hệ thống Blockchain, vì vậy nó sẽ không phá huỷ được Bitcoin hay các đồng tiền điện tử khác, nhưng sẽ để lại một thiệt hại khá lớn.
51% của cái gì?
Các máy tính tham gia vào mạng lưới blockchain gọi là các node. Một số node bật chế độ đào, gọi là máy đào. Nhiệm vụ của các máy đào là sẽ phải tìm ra 1 con số, gọi là giá trị băm (hash), thoả mãn điều kiện đã cho. Ai tìm ra sớm nhất sẽ được quyền thêm block mới vào blockchain và nhận tiền thưởng.
Khốn nỗi, bạn không thể đoán trước được giá trị hash, bạn phải tính toán ra nó rồi mới biết nó có “trúng giải” không. Vì vậy, các máy đào phải có năng lực tạo hash mới càng nhanh càng tốt, hòng tìm ra hash trúng giải sớm hơn các máy đào khác.
Tổng số lượng giá trị hash mà toàn bộ mạng lưới máy đào tạo ra trong 1 đơn vị thời gian gọi là hash rate. Chiếm 51% tức là chiếm 51% hash rate. Đồng nghĩa, về mặt xác xuất, có 51% khả năng chiến thắng ở mỗi vòng thi.

Chiếm 51% vẫn KHÔNG làm được gì?
51% thì cũng không thể thay đổi nội dung các giao dịch. Các máy đào chỉ có thể xác nhận các giao dịch có hợp lệ hay không, rồi thực hiện sắp xếp giao dịch vào block để “đào”. 51% thì cũng không thể tạo ra các giao dịch không hợp lệ. Chẳng hạn, tiêu tiền quá số dư hoặc tiêu tiền của người khác. Các node trong mạng lưới sẽ kiểm tra và từ chối các giao dịch như vậy.
Cũng không khả thi nếu họ muốn thay đổi cách sắp xếp giao dịch ở các block sâu trong quá khứ. Vì khi đó sẽ phải đào lại tất cả block xảy ra sau đó. Mà thời gian đào mỗi block khá là lâu (đối với bitcoin là 10 phút, Ethereum là 17 giây, nếu đào lại 1 mình thì còn lâu hơn). Do đó, để đào kịp tiến độ với phần còn lại thì mất rất nhiều thời gian và chi phí – thường lớn hơn nhiều so với tiền kiếm được (nếu có).
Chiếm 51% có thể làm gì?
Thứ nhất, họ có thể “kiểm duyệt” giao dịch với động cơ không trong sáng. Chẳng hạn, không sắp xếp vào block tất cả giao dịch gửi đến địa chỉ của Amazon. Điều này thì không cần chiếm 51%, cứ có số % lớn đủ gây ảnh hưởng là có thể làm được.
Thứ hai, họ có thể tiêu 1 khoản tiền 2 lần (double spending).
Để hiểu được vì sao, cần biết thêm về cách thức phối hợp giữa các máy đào. Mỗi khi đào được 1 block hợp lệ, máy đào ngay lập tức phát tán đi khắp mạng lưới. Các máy đào khác khi nhận được sẽ xác nhận, lưu lại, rồi chuyển sang đào block tiếp theo.
Bởi vì đường truyền có độ trễ nên khi bạn đào được 1 block thì cũng mất mấy giây mới truyền tới máy đào khác cách nửa vòng trái đất. Điều gì xảy ra khi trong thời gian đó máy bên kia cũng đào được? Khi đó xảy ra hiện tượng fork tạm thời: blockchain lưu ở 1 số node có sự khác biệt so với blockchain lưu ở các node còn lại.
Để giải quyết, 1 quy định được đưa ra: bên nào dài hơn bên ấy hợp lệ. Ban đầu thì độ dài của blockchain ở 2 nhánh là bằng nhau. Tuy nhiên, sau một thời gian, nhánh nào được đào bởi tập hợp máy đào có hash rate lớn hơn sẽ dài hơn. Khi đó, các node sẽ đồng loạt chuyển sang dùng bản dài hơn, và nhánh ngắn hơn không còn ý nghĩa. Sẽ chẳng còn máy đào nào phí công đào cái nhánh bỏ đi đó nữa.
Đối tượng máy đào chiếm 51% hash rate có thể tiêu 1 khoản tiền 2 lần theo cách như sau:
- Thực hiện 1 giao dịch chuyển tiền để mua 1 xe máy điện Klara, tạm gọi là giao dịch A
- Âm thầm thực hiện đào các block, nhưng cố tình bỏ qua giao dịch A kia. Đào được 1 block thì không truyền cho các máy đào khác mà âm thầm đào tiếp trong bóng tối. Ta tạm gọi là nhánh tối
- Ở nhánh sáng, các máy đào khác xác nhận giao dịch A. Phía cửa hàng sau khi thấy giao dịch thành công, đợi 1 thời gian ngắn cho block đủ sâu, rồi giao hàng
- Lúc này, nhánh tối đã dài hơn nhánh sáng. Sau khi nhận được xe Klara, đối tượng mới thực hiện phát tán nhánh tối ra mạng lưới. Các node đồng loạt chấp nhận nhánh tối, do nó dài hơn. Trong nhánh tối không có giao dịch A, nên tiền vẫn còn trong tài khoản. Trong khi hàng thì đã nhận rồi!

Như vậy là đối tượng có xe Klara đi mà không mất tiền, sau đó lại dùng tiền đó để tiêu tiếp. Mặc dù cửa hàng đã đợi cho block được xác nhận đủ lâu mới giao hàng nhưng vẫn không tránh được cú lừa này.
Hơn nữa, do đào nhánh tối hoàn toàn một mình, đối tượng chiếm toàn bộ tiền thưởng!
Về mặt lý thuyết, nếu có đủ sức mạnh, có thể kiên nhẫn đào lại toàn bộ block trong quá khứ để nhận hết phần thưởng. Tuy nhiên, làm như vậy giá trị của đồng coin tương ứng sẽ rớt thảm, tiền thưởng đó sẽ không thấm vào đâu so với chi phí đào.
Trên thực tế, tấn công 51% chưa xảy ra lần nào với Bitcoin và Ethereum. Vào năm 2014, ghash.io có lúc vượt 50% hash rate của Bitcoin. Tuy nhiên, sau đó nó tự nguyện giảm xuống và hứa sẽ không bao giờ vượt quá 40%, vì sự lành mạnh của mạng lưới là một đảm bảo về quyền lợi của máy đào. Các blockchain nhỏ hơn thì không được may mắn như thế. Do chi phí để chiếm phần lớn hash rate không quá lớn, đã có nhiều cuộc tấn công 51% được ghi nhận (như đối với Bitcoin Gold, Verge, v.v.).
Chiếm 51% hash rate còn có thể làm được 1 số điều khác, nhưng 2 điều đã nói ở trên là cơ bản nhất.
Lời kết
Trên đây là bài viết “Tấn công 51% là gì? Hiểu rõ hơn về mối nguy hại của các cuộc tấn công 51% vào mạng Blockchain” được Tôi Yêu Bitcoin tổng hợp. Hi vọng nó sẽ giúp bạn đọc hiểu hơn về địa nghĩa này trong không gian tiền điện tử và Blockchain. Nếu bạn còn bất cứ thắc mắc hoặc góp ý nào hãy để lại dưới phần bình luận nhé. Đừng quên Like, Share và đánh giá 5 sao để ủng hội ToiYeuBitcoin. Chúc bạn thành công.
Tham gia kênh của chúng tôi để cập nhật tin tức và kiến thức hữu ích nhất tại:
- Telegram: https://t.me/toiyeubitcoin
- Facebook: https://www.facebook.com/toiyeubitcoindotcom/