Bỏ qua đến nội dung chính

Tấn công đồng thuận là gì?

Đã cập nhật hôm nay

Cơ chế đồng thuận của Bitcoin đề cập đến việc, ít nhất là về mặt lý thuyết, rất khó để một thợ đào (hoặc nhóm đào) sử dụng sức mạnh tính toán của riêng mình để thực hiện lừa đảo hoặc phá hoại. Cơ chế đồng thuận của Bitcoin dựa trên tiền đề rằng phần lớn các thợ đào, vì lợi ích tốt nhất của họ, sẽ duy trì toàn bộ hệ thống Bitcoin bằng cách đào một cách trung thực. Tuy nhiên, khi xuất hiện một thợ đào hoặc một nhóm thợ đào có lượng sức mạnh tính toán lớn trong hệ thống, họ có thể đạt được mục tiêu làm suy yếu tính bảo mật và độ tin cậy của mạng Bitcoin bằng cách tấn công cơ chế đồng thuận của Bitcoin.

Cần lưu ý rằng các cuộc tấn công đồng thuận chỉ có thể ảnh hưởng đến sự đồng thuận trong tương lai của toàn bộ chuỗi khối, hoặc tối đa là sự đồng thuận của một vài khối trong quá khứ gần đây (tối đa 10 khối trong quá khứ). Và theo thời gian, khả năng toàn bộ chuỗi khối Bitcoin bị giả mạo ngày càng giảm đi. Về lý thuyết, một nhánh chuỗi khối có thể phân nhánh rất dài, nhưng trên thực tế, sức mạnh tính toán cần thiết để thực hiện một nhánh chuỗi khối rất dài là rất, rất lớn, và khi toàn bộ chuỗi khối Bitcoin dần phát triển, các khối trong quá khứ về cơ bản có thể được coi là không thể giả mạo bằng nhánh. Ngoài ra, các cuộc tấn công đồng thuận không ảnh hưởng đến khóa riêng của người dùng cũng như thuật toán mã hóa (ECDSA). Chúng cũng không thể đánh cắp bitcoin từ các ví khác, thanh toán bitcoin mà không có chữ ký, phân phối lại bitcoin, thay đổi các giao dịch trong quá khứ hoặc thay đổi hồ sơ nắm giữ bitcoin. Tác động duy nhất mà một cuộc tấn công đồng thuận có thể gây ra là ảnh hưởng đến các khối gần đây nhất (tối đa 10 khối) và ảnh hưởng đến việc tạo khối trong tương lai thông qua từ chối dịch vụ.

Một kịch bản điển hình của tấn công đồng thuận là "tấn công 51%". Hãy tưởng tượng một kịch bản trong đó một nhóm thợ đào kiểm soát 51% sức mạnh tính toán của toàn bộ mạng Bitcoin và họ hợp lực với ý định tấn công toàn bộ hệ thống Bitcoin. Vì nhóm thợ đào này có thể tạo ra phần lớn các khối, họ có thể cố tình tạo ra một nhánh chuỗi khối để "trả gấp đôi" hoặc chặn một giao dịch cụ thể hoặc tấn công một địa chỉ ví cụ thể thông qua việc từ chối dịch vụ. Tấn công nhánh chuỗi khối/trả gấp đôi là khi kẻ tấn công từ chối một giao dịch gần đây và xây dựng lại một khối mới trước giao dịch đó, do đó tạo ra một nhánh mới và cho phép trả gấp đôi. Với sự đảm bảo có đủ sức mạnh tính toán, kẻ tấn công có thể giả mạo sáu khối hoặc nhiều khối gần đây cùng một lúc, do đó làm cho các giao dịch trong các khối này, vốn được coi là không thể giả mạo, biến mất. Cần lưu ý rằng việc trả gấp đôi chỉ có thể thực hiện được đối với các giao dịch xảy ra trong các ví thuộc sở hữu của kẻ tấn công, vì chỉ chủ sở hữu ví mới có thể tạo chữ ký hợp lệ cho các giao dịch trả gấp đôi. Kẻ tấn công chỉ có thể thực hiện tấn công trả gấp đôi đối với các giao dịch của chính mình, nhưng cuộc tấn công như vậy sẽ có lợi khi giao dịch tương ứng với một khoản mua hàng không thể hủy ngang.

Hãy xem xét một ví dụ thực tế về "tấn công 51%". Trong Chương 1, chúng ta đã nói về giao dịch giữa Alice và Bob để mua một tách cà phê bằng Bitcoin. Bob, chủ quán cà phê, sẵn sàng cung cấp cà phê cho Alice khi giao dịch của cô ấy được xác nhận với số lần xác nhận bằng không, bởi vì rủi ro "tấn công 51%" đối với một giao dịch nhỏ như vậy là rất nhỏ so với sự tức thời của việc khách hàng mua hàng (Alice có thể nhận cà phê ngay lập tức). Tương tự, hầu hết các quán cà phê không mất thời gian và công sức để yêu cầu chữ ký cho các giao dịch thẻ tín dụng dưới 25 đô la, vì việc yêu cầu chữ ký thẻ tín dụng tốn kém hơn rủi ro khách hàng có thể hủy thanh toán bằng thẻ tín dụng. Theo đó, rủi ro trả gấp đôi đối với các giao dịch lớn được thanh toán bằng Bitcoin cao hơn nhiều, vì người mua (kẻ tấn công) có thể hủy giao dịch thực bằng cách phát sóng một giao dịch giả mạo trên mạng giống hệt UTXO của giao dịch thực. Việc trả gấp đôi có thể được thực hiện theo hai cách: hoặc trước khi giao dịch được xác nhận hoặc bởi kẻ tấn công thông qua nhánh chuỗi khối. Người thực hiện tấn công 51% có thể hủy giao dịch đã ghi trên nhánh cũ và sau đó tạo lại giao dịch có cùng số tiền trên nhánh mới, do đó đạt được việc trả gấp đôi.

Để tránh loại tấn công này, các thương nhân bán hàng số lượng lớn nên đợi cho đến khi giao dịch nhận được sáu lần xác nhận trên toàn mạng trước khi giao hàng. Ngoài ra, thương nhân nên sử dụng tài khoản đa chữ ký của bên thứ ba cho giao dịch và cũng đợi cho đến khi tài khoản giao dịch nhận được nhiều lần xác nhận trên toàn mạng trước khi giao hàng. Số lần xác nhận càng nhiều, kẻ tấn công càng khó giả mạo nó thông qua tấn công 51%. Đối với các giao dịch lớn, việc sử dụng thanh toán Bitcoin rất tiện lợi và hiệu quả cho cả người mua và người bán, ngay cả khi hàng hóa được vận chuyển 24 giờ sau thanh toán. Sau 24 giờ, giao dịch sẽ có ít nhất 144 lần xác nhận trên toàn mạng (giảm đáng kể khả năng xảy ra tấn công 51%).

Ngoài tấn công "trả gấp đôi", một kịch bản tấn công khác trong tấn công đồng thuận là từ chối dịch vụ đối với một địa chỉ bitcoin cụ thể. Kẻ tấn công có phần lớn sức mạnh tính toán trong hệ thống có thể dễ dàng bỏ qua một giao dịch cụ thể. Nếu giao dịch tồn tại trong một khối do thợ đào khác tạo ra, kẻ tấn công có thể cố tình tạo nhánh khối đó, tạo lại nó và loại bỏ giao dịch mà họ muốn bỏ qua khỏi khối. Kết quả của cuộc tấn công này là, miễn là kẻ tấn công này có phần lớn sức mạnh tính toán trong hệ thống, họ có thể liên tục can thiệp vào tất cả các giao dịch được tạo ra bởi một địa chỉ ví hoặc một nhóm địa chỉ cụ thể với mục đích từ chối dịch vụ đối với các địa chỉ đó.

Lưu ý rằng tấn công 51% không yêu cầu ít nhất 51% sức mạnh tính toán của kẻ tấn công để khởi động; trên thực tế, nó vẫn có thể cố gắng thực hiện một cuộc tấn công như vậy ngay cả khi có dưới 51% sức mạnh tính toán của hệ thống. Lý do nó được đặt tên là tấn công 51% đơn giản là vì khi sức mạnh tính toán của kẻ tấn công đạt đến ngưỡng 51%, nỗ lực tấn công của họ gần như chắc chắn sẽ thành công. Về cơ bản, tấn công đồng thuận giống như một hệ thống nơi tất cả sức mạnh tính toán của các thợ đào được chia thành hai nhóm, một nhóm có sức mạnh tính toán trung thực và một nhóm có sức mạnh tính toán của kẻ tấn công, và cả hai nhóm đều cạnh tranh để trở thành người đầu tiên tính toán các khối mới trên chuỗi khối, ngoại trừ sức mạnh tính toán của kẻ tấn công tính toán các khối được xây dựng cẩn thận chứa hoặc loại trừ các giao dịch nhất định. Do đó, càng ít sức mạnh tính toán mà kẻ tấn công có, thì khả năng họ giành chiến thắng trong cuộc đấu càng thấp. Mặt khác, kẻ tấn công càng có nhiều sức mạnh tính toán, thì chuỗi khối giả mạo mà họ có thể cố tình tạo ra càng dài, và các khối gần đây hơn có thể bị giả mạo hoặc các khối trong tương lai nằm dưới sự kiểm soát của họ. Một số nhóm nghiên cứu bảo mật đã sử dụng các mô hình thống kê để kết luận rằng 30% sức mạnh tính toán của mạng là đủ để thực hiện tấn công 51%.

Sự gia tăng đáng kể về sức mạnh tính toán trên toàn mạng đã khiến hệ thống Bitcoin không thể bị tấn công bởi một thợ đào đơn lẻ, vì một thợ đào đơn lẻ không còn có thể chiếm được dù chỉ 1% sức mạnh tính toán của mạng. Nhưng các nhóm đào tập trung giới thiệu rủi ro rằng người điều hành nhóm có thể tấn công vì lợi nhuận. Người điều hành nhóm kiểm soát việc tạo các khối ứng viên, và cũng kiểm soát các giao dịch nào được đưa vào các khối mới được tạo. Bằng cách này, người điều hành nhóm có quyền loại trừ các giao dịch cụ thể hoặc trả gấp đôi. Nếu quyền lực này bị người điều hành nhóm lạm dụng một cách tinh vi và có phương pháp, thì người điều hành nhóm có thể thực hiện các cuộc tấn công đồng thuận và thu lợi từ chúng mà không bị phát hiện.

Tuy nhiên, không phải tất cả kẻ tấn công đều vì lợi nhuận. Một kịch bản có thể xảy ra là kẻ tấn công đang thực hiện một cuộc tấn công đơn giản để phá vỡ toàn bộ hệ thống Bitcoin, thay vì vì lợi nhuận. Một kẻ tấn công như vậy có ý định phá vỡ hệ thống Bitcoin sẽ đòi hỏi một khoản đầu tư khổng lồ và một kế hoạch cẩn thận, vì vậy có thể hình dung rằng một cuộc tấn công như vậy có thể đến từ một tổ chức được tài trợ bởi chính phủ. Tương tự, những kẻ tấn công như vậy có thể mua máy đào, vận hành các nhóm đào và thực hiện các cuộc tấn công đồng thuận như từ chối dịch vụ bằng cách lạm dụng quyền lực của người điều hành nhóm đã đề cập ở trên. Tuy nhiên, khi sức mạnh tính toán của mạng Bitcoin tăng trưởng theo cấp số nhân và nhanh chóng, những kịch bản tấn công khả thi về mặt lý thuyết này ngày càng trở nên khó thực hiện trên thực tế. Các nâng cấp gần đây cho hệ thống Bitcoin, chẳng hạn như giao thức đào P2Pool, nhằm mục đích phân cấp quyền kiểm soát đào thêm, cũng đang làm cho các cuộc tấn công khả thi về mặt lý thuyết này ngày càng khó khăn hơn.

Không còn nghi ngờ gì nữa, một cuộc tấn công đồng thuận nghiêm trọng chắc chắn sẽ làm giảm niềm tin vào hệ thống Bitcoin, điều này lần lượt có thể dẫn đến sự sụt giảm giá Bitcoin. Tuy nhiên, hệ thống Bitcoin và phần mềm liên quan cũng không ngừng cải tiến, vì vậy cộng đồng Bitcoin cũng chắc chắn sẽ phản ứng nhanh chóng với bất kỳ cuộc tấn công đồng thuận nào để làm cho toàn bộ hệ thống Bitcoin trở nên mạnh mẽ và đáng tin cậy hơn bao giờ hết.

Nội dung này có giải đáp được câu hỏi của bạn không?