Cách đây không lâu, mạng lưới blockchain của đồng tiền mã hóa Verge bị hacker đánh cắp hơn 1,7 triệu USD bởi một cuộc “tấn công 51%”. Cuối tuần qua, Bitcoin Gold tiếp tục bị hacker đánh cắp 17,5 triệu USD cũng bởi một cuộc “tấn công 51%”. Vậy tấn công 51% là gì, nó đe dọa làm sụp đổ Bitcoin và các đồng tiền mã hóa như thế nào?
“Tấn công 51%” là một khái niệm trong truyền thuyết, nhưng nó đã thực sự xảy ra, thậm chí là 2 lần trong năm 2018 này.
Đây là ví dụ về một cuộc tấn công 51%, nhằm thực hiện giao dịch không hợp lệ double spend (hay còn gọi là giao dịch 2 lần). Giả sử tôi có 100 Bitcoin, và dùng để mua một chiếc siêu xe Lamborghini. Sau khi chuyển 100 Bitcoin vào ví của công ty bán xe, chiếc Lamborghini được giao đến vài ngày sau đó.
Bằng cách thực hiện một cuộc 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ẽ sở hữu chiếc xe Lamborghini và 100 Bitcoin vẫn ở trong ví của tôi. Do đó, tôi có thể tiếp tục sử dụng 100 Bitcoin vào một việc khác, ví dụ như mua thêm một chiếc Lamborghini nữa.
Giả sử tôi có 100 Bitcoin, và dùng để mua một chiếc siêu xe Lamborghini.
Lý thuyết về một cuộc tấn công 51% là hacker sẽ chiếm quyền kiểm soát hơn một nửa hệ thống máy đào trong blockchain. Tuy nhiên rất nhiều người hiểu sai về cách thức hoạt động của một cuộc tấn công 51%. Do đó bài viết này sẽ nhằm giải thích rõ ràng hơn, và tìm hiểu xem liệu Bitcoin có thể sụp đổ hoàn toàn bởi một cuộc tấn công 51% hay không?
Blockchain = phi tập trung
Trước khi đi vào tìm hiểu một cuộc tấn công 51% là gì, chúng ta phải biết rằng mạng lưới blockchain là phi tập trung. Một mạng lưới blockchain quản lý một sổ cái lưu trữ dữ liệu, thông thường là dữ liệu giao dịch. Các dữ liệu này được đóng góp, xác nhận và quản lý bởi rất nhiều máy đào rải rác trên toàn thế giới. Các mày đào này chính là những hệ thống máy tính tham gia giải mã trong mạng lưới blockchain.
Chính vì vậy mà mạng lưới này không cần tới một tổ chức thứ ba đứng ra quản lý, ví dụ như ngân hàng hay chính phủ. Do đó mà các dữ liệu trên blockchain là công khai, minh bạch và không thể sửa đổi bởi bất kỳ một cá nhân nào. Tuy nhiên nó vẫn có lỗ hổng có thể bị khai thác.
Khi tôi thực hiện giao dịch chuyển 100 Bitcoin vào ví của công ty bán xe Lamborghini, giao dịch này được ký mã hóa và đưa vào một nơi gọi là “các giao dịch chưa xác nhận”. Thợ mỏ sẽ chọn các giao dịch chưa xác nhận này và thành lập một block. Sau đó, block sẽ được thêm vào mạng lưới blockchain.
Tuy nhiên để làm được điều đó, thợ mỏ cần giải một bài toàn rất phức tạp. Đó là lý do vì sao các máy đào Bitcoin yêu cầu phần cứng xử lý và tính toán mạnh mẽ. Rất nhiều thợ mỏ sẽ cạnh tranh với nhau, ai giải được bài toán trước sẽ được ghép block của mình vào blockchain.
Chưa xong, giao dịch trong block này sẽ được công khai và cần được xác nhận bởi các thợ mỏ khác. Nếu có hơn 50% xác nhận hợp lệ, block này mới được hiện lên blockchain và giao dịch được ghi lại trong sổ cái. Tôi chính thức đã hoàn thành giao dịch chuyển 100 Bitcoin để mua một chiếc Lamborghini.
Có một điều lưu ý là các thợ mỏ chỉ có thể xác nhận giao dịch và ghép khối vào blockchain. Các thợ mỏ không thể tự tạo ra một giao dịch, bởi họ cần có chữ ký mã hóa của tài khoản lưu trữ Bitcoin. Tất nhiên chỉ có tôi mới có chữ ký mã hóa tài khoản lưu trữ 100 Bitcoin của mình, do đó không ai có thể đánh cắp 100 Bitcoin của tôi.
Tôi sẽ nhân đôi 100 Bitcoin của mình, bằng cách thực hiện cuộc tấn công 51%
Chúng ta sẽ bắt đầu đi sâu hơn để tìm hiểu rõ cách thức hoạt động của một cuộc tấn công 51%. Như đã giải thích ở trên, khi một thợ mỏ giải được bài toán để ghép block của mình vào mạng lưới blockchain. Block này sẽ được công khai để các thợ mỏ khác xác nhận và đạt đồng thuận với tỷ lệ trên 50%.
Tôi tạo ra một blockchain giả mạo màu cam, không công khai. Blockchain thật màu xanh.
Tuy nhiên một thợ mỏ có thể không công khai block của mình, và tạo ra một blockchain con không được khai báo. Chúng ta sẽ có hai blockchain, giả sử là một blockchain màu xanh (blockchain thật được xác nhận bởi đa số thợ mỏ) và một blockchain màu cam (blockchain giả không được khai báo).
Khi tôi thực hiện việc mua chiếc xe Lamborghini bằng 100 Bitcoin, tôi khai báo và xác nhận giao dịch trên blockchain thật màu xanh. Giao dịch này được các thợ mỏ khác xác nhận, và ví tiền của tôi bị trừ đi 100 Bitcoin.
Ở blockchain thật, giao dịch của tôi được xác nhận và trừ 100 Bitcoin trong ví. Ở blockchain giả, tôi không thực hiện giao dịch này.
Ở một động thái khác, trên blockchain màu cam, tôi không thực hiện giao dịch này và 100 Bitcoin vẫn nằm trong ví của tôi. Blockchain này không được công khai, do đó các thợ mỏ khác không thể biết.
Như trong hình trên, chúng ta có thể thấy sự khác biệt chính là ở block số 40. Ở blockchain màu, xanh ví của tôi đã bị trừ 100 Bitcoin, nhưng ở blockchain màu cam thì ví của tôi vẫn còn 100 Bitcoin. Sau đó, tôi sao chép các khối tiếp theo của blockchain màu xanh và tự thực hiện việc xác nhận nó trên blockchain màu cam của tôi. Ví dụ như trong hình là các block số 41, 42 v.v..
Đây chính là lúc rắc rối bắt đầu xảy ra
Blockchain hoạt động theo mô hình quản trị dân chủ, hay còn gọi là đa số. Blockchain luôn xác nhận các chuỗi khối dài nhất. Thông thường, phiên bản blockchain thật với sự tham gia của rất nhiều máy đào trên toàn thế giới sẽ có tốc độ thêm khối mới nhanh nhất. Đây là cách mà blockchain xác định phiên bản nào là thật.
Với sức mạnh tính toán tương đương 51% toàn bộ mạng lưới máy đào, tôi có thể khiến blockchain giả của mình có tốc độ xác nhận nhanh hơn.
Nhưng cuộc đua bắt đầu. Nếu tôi có đủ sức mạnh để chạy nhanh hơn cả chuỗi blockchain thật, tôi có thể biến chuỗi blockchain giả của mình trở thành blockchain thật. Như vậy, sau khi đã tạo ra chuỗi blockchain dài hơn, tôi phát sóng chuỗi blockchain màu cam của mình cho tất cả thợ mỏ khác.
Phần còn lại của mạng lưới bao gồm các thợ mỏ khác, sẽ phát hiện ra rằng chuỗi blockchain giả mạo của tôi dài hơn phiên bản mà họ đang làm việc. Các thợ mỏ này buộc phải chuyển qua chuỗi blockchain mới.
Nhờ đó, tôi biến blockchain giả của mình thành blockchain thật.
Boom! Tôi đã đánh lừa tất cả các thợ mỏ khác, biến chuỗi blockchain giả của mình thành blockchain thật. Và tại block số 40 của chuỗi blockchain giả, tôi không thực hiện giao dịch chuyển Bitcoin. Như vậy, tôi vẫn có chiếc Lamborghini và trong ví vẫn còn 100 Bitcoin. Tất nhiên ví tiền của công ty bán xe sẽ không có 100 Bitcoin của tôi. Tất cả như một màn ảo thuật tài tình.
Giao dịch 100 Bitcoin của tôi đã được đảo ngược. Tôi vừa sở hữu chiếc Lamborghini, trong khi vẫn còn nguyên 100 Bitcoin trong ví.
Nó được gọi là cuộc tấn công 51%, vì để có được tốc độ xác nhận nhanh hơn toàn bộ mạng lưới blockchain thật, riêng bản thân tôi phải có được sức mạnh tính toán bằng 51% sức mạnh của toàn bộ các máy đào trên thế giới tham gia mạng lưới này.
Vì sao một cuộc tấn công 51% lại chỉ có trong lý thuyết? Và vì sao nó lại xuất hiện?
Trước đây, các chuyên gia về tiền mã hóa tin rằng một cuộc tấn công 51% chỉ có trong lý thuyết. Bởi thực tế, việc đạt được sức mạnh tương đương với 51% toàn bộ các máy đào trong một mạng lưới blockchain là điều không thể.
Đặc biệt là với Bitcoin, đồng tiền mã hóa lớn nhất thế giới hiện nay. Các chuyên gia tin rằng Bitcoin không bao giờ có thể bị ảnh hưởng bởi một cuộc tấn công 51%. Ngay cả những chiếc máy tính mạnh nhất thế giới hiện nay cũng không thể cạnh tranh trực tiếp với tổng công suất tính toán của blockchain Bitcoin.
Để thực hiện một cuộc tấn công 51% vào mạng lưới blockchain Bitcoin cần sức mạnh tính toán khổng lồ, mà không bao giờ có thể xảy ra.
Bạn sẽ cần phải có những nhà máy khổng lồ, lượng điện tiêu thụ khổng lồ. Tất nhiên là hành vi của bạn sẽ không thể qua mắt các nhà quản lý, rất dễ để phát hiện ra một ai đó có khả năng thâu tóm 51% sức mạnh của một mạng lưới blockchain lớn như Bitcoin.
Tuy nhiên, các cuộc tấn công 51% khác đã diễn ra. Ví dụ như cuộc tấn công 51% vào Verge hồi tháng 4 năm 2018. Nhưng nguyên nhân là do một lỗ hổng của mạng lưới blockchain này, cho phép hacker có thể tạo ra block mới với tốc độ cực nhanh mà không cần tới sức mạnh tính toán thực tế bằng 51% toàn bộ mạng lưới.
Bên cạnh đó, các chuyên gia cũng nhận định rằng một blockchain nhỏ của một đồng altcoin (không phải Bitcoin) nào đó hoàn toàn có thể bị tấn công 51%. Do để tấn công vào các blockchain nhỏ cần ít năng lực tính toán hơn so với tấn công vào Bitcoin. Cũng vì vậy mà chúng ta thường thấy các đồng tiền mã hóa khác bị tấn công 51%, mà Bitcoin chưa bao giờ bị như vậy.
Các máy đào ASIC ngày càng trở thành mối hiểm họa, tiếp tay cho các cuộc tấn công 51%
Một chủ đề đang ngày càng được cộng đồng tiền mã hóa quan tâm và tỏ ra lo ngại, đó là sự bùng nổ của những chiếc máy đào ASIC. Đây là những chiếc máy đào chuyên dụng, với sức mạnh tính toán cao hơn nhiều lần so với máy tính sử dụng card đồ họa. Những chiếc máy đào ASIC này khiến cho quyền lực tập trung vào tay của một vài cá nhân.
Các máy đào ASIC chiếm tới 80% sức mạnh tính toán trong mạng lưới blockchain của Monero.
Ví dụ điển hình là blockchain của Monero (XMR), mới đây đã thực hiện một cập nhật ngăn chặn việc các máy đào ASIC tham gia khai thác. Kết quả thật bất ngờ khi tổng sức mạnh đã giảm đi tới 80%.
Tất nhiên là 80% này không tập trung vào một cá nhân nào đó. Tuy nhiên kết quả này vẫn khiến nhiều người lo ngại. Hãng sản xuất máy đào ASIC lớn nhất thế giới, Bitmain bị nghi ngờ có hành vi kiểm soát một số lượng lớn các hoạt động đào tiền mã hóa bằng các máy đào ASIC này.
Các máy đào ASIC có thể đe dọa tấn công 51% vào các mạng lưới blockchain nhỏ.
Đội ngũ phát triển Bitcoin Gold cũng vừa mới phải hứng chịu một cuộc tấn công 51%, cũng tuyên bố sẽ ra mắt bản cập nhật để loại bỏ các máy đào ASIC tham gia khai thác trong mạng lưới của mình.
Có vẻ như các máy đào ASIC đang là thứ vũ khí mạnh nhất, để một kẻ có quyền lực nào đó kiểm soát mạng lưới blockchain của một đồng tiền mã hóa altcoin. Trong tương lai, để một đồng tiền mã hóa có thể tồn tại thì mạng lưới blockchain phải được phân quyền cho càng nhiều thợ mỏ cá nhân càng tốt, thay vì tập trung vào các trang trại khai thác khổng lồ.

Tham khảo: Medium, Wiki