Cơ chế đồng thuận của Bitcoin đề cập đến việc trên 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 hành vi 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 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 một thợ đào hoặc một nhóm thợ đào xuất hiện với một lượng lớn sức mạnh tính toá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 cùng lắm là sự đồng thuận của một vài khối trong quá khứ gần đây (lên đến 10 khối trước đó). Và khi thời gian trôi qua, khả năng toàn bộ chuỗi khối Bitcoin bị giả mạo ngày càng ít đi. Về lý thuyết, một nhánh chuỗi khối có thể trở nên 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 cách phân 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). Một cuộc tấn công đồng thuận cũng không thể đánh cắp bitcoin từ ví khác, chi tiêu bitcoin mà không có chữ ký, phân bổ lại bitcoin, thay đổi 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 (lên đến 10 khối) và ảnh hưởng đến việc tạo khối trong tương lai thông qua tấn công từ chối dịch vụ.
Một kịch bản tấn công đồng thuận điển hình là "tấn công 51%". Hãy tưởng tượng một kịch bản mà 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 để "chi tiêu hai lần" 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 tấn công từ chối dịch vụ. Tấn công phân nhánh chuỗi khối/chi tiêu hai lần 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 chi tiêu hai lần. Với sự đảm bảo về đủ sức mạnh tính toán, kẻ tấn công có thể giả mạo sáu hoặc nhiều khối gần đây cùng một lúc, do đó khiến các giao dịch trong các khối này, vốn dĩ không thể giả mạo, biến mất. Cần lưu ý rằng việc chi tiêu hai lần chỉ có thể thực hiện được đối với các giao dịch xảy ra trong 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 chi tiêu hai lần. Kẻ tấn công chỉ có thể thực hiện tấn công chi tiêu hai lần đối với các giao dịch của chính họ, 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 giao dịch 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ề một 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 cho Alice một tách cà phê khi giao dịch chuyển tiền của cô ấy được xác nhận ở mức không, vì rủi ro của "tấn công 51%" đối với một giao dịch nhỏ như vậy là nhỏ so với tính tức thời của giao dịch mua hàng của khách (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 mua hàng bằng 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 thẻ tín dụng. Theo đó, rủi ro chi tiêu hai lần đố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 tế bằng cách phát sóng một giao dịch giả mạo trên mạng giống hệt với UTXO của giao dịch thực tế. Việc chi tiêu hai lần có thể được thực hiện theo hai cách: trước khi giao dịch được xác nhận hoặc bởi kẻ tấn công thông qua phân nhánh chuỗi khối. Người thực hiện tấn công 51% có thể hủy giao dịch được ghi trên nhánh cũ và sau đó tạo lại một giao dịch có cùng số tiền trên nhánh mới, do đó đạt được việc chi tiêu hai lần.
Để tránh loại tấn công này, các thương nhân bán hàng hóa 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. Giao dịch càng có nhiều xác nhận, 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 vừa thuận tiện vừa hiệu quả cho cả người mua và người bán, ngay cả khi hàng hóa được giao 24 giờ sau khi 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 hiệu quả khả năng tấn công 51%).
Ngoài tấn công "chi tiêu hai lần", 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ể. Một 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 được tạo bởi một thợ đào khác, kẻ tấn công có thể cố tình phân 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 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, đúng như tên gọi của nó; 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 nó có ít hơn 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% chỉ đơn giản là 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 nó gần như chắc chắn sẽ thành công. Về bản chất, 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 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 đang 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 đó, sức mạnh tính toán càng ít thì kẻ tấn công càng ít có khả năng thắng cuộc đấu. Mặt khác, kẻ tấn công càng có nhiều sức mạnh tính toán, hắn ta càng có thể tạo ra chuỗi khối phân nhánh dài hơn và càng có nhiều khối gần đây có thể bị giả mạo hoặc các khối trong tương lai dưới sự kiểm soát của hắn ta. 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. Tuy nhiên, các nhóm đào được kiểm soát tập trung lại mang đến rủi ro rằng người điều hành nhóm sẽ 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 ra các khối ứng cử viên, và cũng kiểm soát việc 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 chi tiêu hai lần. 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ó đo lường, 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 thực hiện cuộc tấn công đơn giản chỉ để 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à kế hoạch cẩn thận, do đó 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 chính phủ tài trợ. 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 nói 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 trong 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 phi tập trung hóa hơn nữa quyền kiểm soát đào, 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 đang liên tục được cải thiện, do đó cộng đồng Bitcoin cũng buộc phải 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.
