

Bitcoin bảo vệ trước nguy cơ chi tiêu hai lần thông qua tính minh bạch của sổ cái công khai, quy tắc đồng thuận và cơ chế khai thác bằng bằng chứng công việc (proof-of-work). Blockchain của Bitcoin đóng vai trò là một sổ cái công khai ghi lại mọi giao dịch, với mỗi nút đầy đủ đều duy trì bản sao hoàn chỉnh và cập nhật khi các khối mới được thêm vào chuỗi. Tính minh bạch này cho phép bất kỳ ai kiểm tra xem một đồng coin cụ thể đã được chi tiêu hay chưa, bởi mọi nỗ lực chi tiêu hai lần sẽ ngay lập tức lộ rõ qua các bản ghi giao dịch mâu thuẫn.
Giao dịch chỉ được coi là đã xác nhận sau khi được đưa vào một khối đã được thợ đào xác thực thông qua quá trình proof-of-work. Chuỗi hợp lệ dài nhất đại diện cho lịch sử giao dịch chuẩn, khiến cho việc tạo ra phiên bản sổ cái thay thế trở nên cực kỳ khó khăn nếu không khai thác được nhiều khối hơn toàn bộ mạng lưới trung thực cộng lại. Sau khoảng sáu lần xác nhận, xác suất tấn công chi tiêu hai lần thành công gần như bằng không, mang lại mức bảo mật mạnh mẽ cho người nhận.
Các động lực kinh tế tích hợp trong thiết kế của Bitcoin càng làm giảm động cơ thực hiện chi tiêu hai lần. Thợ đào nhận phần thưởng khối và phí giao dịch nhờ hành vi trung thực, do đó việc hỗ trợ mạng lưới mang lại lợi ích kinh tế lớn hơn so với tấn công nó. Sự gắn kết giữa động lực kinh tế và an ninh mạng tạo nên cơ chế phòng thủ vững chắc, đã chứng minh hiệu quả qua hơn một thập kỷ vận hành.
Để minh họa vấn đề chi tiêu hai lần, hãy xem xét một tình huống mà Alice sở hữu 1 BTC và cố tình lừa hai người bán bằng cách chi tiêu cùng một đồng coin hai lần. Cô ấy tạo ra Giao dịch 1: "Alice trả 1 BTC cho Bob" và đồng thời tạo Giao dịch 2: "Alice trả 1 BTC cho Charlie", cả hai đều sử dụng cùng một đầu ra giao dịch chưa sử dụng (UTXO). Đây là điển hình của một hành vi chi tiêu hai lần, khi chỉ một trong hai giao dịch này cuối cùng có thể hợp lệ do chúng tham chiếu cùng một đầu vào.
Trong điều kiện mạng lưới bình thường, thợ đào sẽ chỉ đưa một trong hai giao dịch mâu thuẫn vào khối. Điểm mấu chốt là cả hai giao dịch không thể cùng tồn tại trên blockchain hợp lệ. Cơ chế đồng thuận của Bitcoin đảm bảo chỉ một lịch sử giao dịch được chấp nhận, ngăn chặn hiệu quả tấn công chi tiêu hai lần.
Mempool đóng vai trò quan trọng trong quá trình này. Khi các nút nhận được giao dịch mâu thuẫn, chúng thường chấp nhận giao dịch đầu tiên và từ chối mọi nỗ lực chi tiêu cùng một UTXO sau đó. Tuy nhiên, cho đến khi giao dịch được đưa vào một khối xác nhận, vẫn tồn tại một khoảng thời gian dễ bị tấn công, vì thế việc chờ xác nhận là cần thiết đối với giao dịch giá trị lớn.
Tấn công 51% là hình thức tấn công chi tiêu hai lần mạnh nhất, trong đó một đối tượng xấu giành quyền kiểm soát hơn 50% tổng công suất tính toán của mạng lưới. Với tỷ lệ băm đa số này, kẻ tấn công có thể khai thác khối nhanh hơn phần còn lại của mạng lưới trung thực, cho phép họ phân nhánh blockchain và trình bày phiên bản sổ cái của mình là "chuỗi dài nhất".
Trên thực tế, thực hiện tấn công 51% trên Bitcoin là cực kỳ khó và gần như không khả thi về kinh tế. Tỷ lệ băm của mạng lưới đã đạt mức khổng lồ, đòi hỏi kẻ tấn công phải sở hữu hoặc chiếm đoạt lượng lớn thiết bị khai thác chuyên dụng và nguồn điện khổng lồ. Chi phí sẽ rất lớn, có thể lên tới hàng tỷ đô la, và khả năng tấn công bị phát hiện trước khi thành công là rất cao.
Hơn nữa, ngay cả khi kẻ tấn công tạm thời kiểm soát đa số, hậu quả kinh tế sẽ rất nghiêm trọng. Cuộc tấn công có thể khiến giá Bitcoin sụp đổ, làm mất giá trị của bất kỳ đồng coin nào bị đánh cắp. Mạng lưới cũng có thể đáp trả bằng cách thay đổi thuật toán proof-of-work, khiến phần cứng đắt tiền của kẻ tấn công trở nên vô dụng. Những yếu tố này tạo ra động lực kinh tế mạnh mẽ để ngăn chặn hành vi tấn công như vậy.
Dù Bitcoin chưa từng bị tấn công 51% thành công, nhưng các đồng tiền điện tử proof-of-work nhỏ hơn với tỷ lệ băm thấp đã từng bị tổn thương bởi các cuộc tấn công này, cho thấy mức độ bảo mật mạng lưới tỷ lệ thuận với công suất tính toán.
Tấn công race xảy ra khi kẻ tấn công phát đồng thời hai giao dịch mâu thuẫn: một gửi cho nạn nhân, một gửi cho bản thân hoặc địa chỉ kiểm soát, hy vọng phiên bản ưu tiên của họ được thêm vào khối tiếp theo. Loại tấn công này khai thác khoảng thời gian ngắn trước khi giao dịch được xác nhận, nhắm vào người bán chấp nhận giao dịch chưa xác nhận.
Kịch bản tấn công race là lý do chính khiến các khuyến nghị tốt nhất về Bitcoin yêu cầu chờ xác nhận trước khi coi các khoản thanh toán lớn là hoàn tất. Tính năng Replace-By-Fee (RBF) của Bitcoin, khi kích hoạt, cho phép người gửi gửi lại giao dịch với phí cao hơn, thay thế giao dịch gốc trong mempool. Dù RBF có mục đích hợp pháp như tăng phí, nó cũng có thể bị lợi dụng cho các cuộc tấn công race.
Người bán có thể bảo vệ mình khỏi tấn công race bằng nhiều biện pháp. Cách hiệu quả nhất là chờ ít nhất một lần xác nhận trước khi coi thanh toán là hoàn tất. Với giao dịch nhỏ, người bán có thể chấp nhận rủi ro và theo dõi mempool để phát hiện giao dịch mâu thuẫn cũng như kiểm tra xem RBF có được bật hay không. Một số bộ xử lý thanh toán còn duy trì các nút kết nối mạnh để phát hiện nỗ lực chi tiêu hai lần nhanh hơn.
Một khi thanh toán đã được đưa vào khối, mọi giao dịch mâu thuẫn sẽ bị mạng lưới từ chối, loại bỏ hoàn toàn rủi ro tấn công race. Với giao dịch giá trị lớn, chờ thêm nhiều lần xác nhận sẽ đảm bảo an toàn hơn nữa.
Tấn công Finney là phương pháp chi tiêu hai lần dựa vào thời điểm, phức tạp hơn và đòi hỏi kẻ tấn công phải là thợ đào. Trong kiểu tấn công này, thợ đào xấu khai thác trước một khối chứa giao dịch chuyển coin về cho bản thân nhưng không phát khối này ngay cho mạng lưới. Sau đó, kẻ tấn công thực hiện thanh toán thông thường cho người bán bằng chính số coin đó, hy vọng người bán chấp nhận giao dịch chưa xác nhận.
Sau khi người bán nhận tiền và giao hàng hóa hoặc dịch vụ, kẻ tấn công phát khối đã khai thác trước, chứa giao dịch mâu thuẫn. Nếu khối này được mạng lưới chấp nhận trước khi thợ đào khác khai thác được khối cạnh tranh, kẻ tấn công sẽ chi tiêu hai lần thành công và giữ lại hàng hóa của người bán.
Tấn công Finney đòi hỏi thời điểm chính xác và khả năng khai thác khối, nên khó thực hiện hơn nhiều so với tấn công race. Kẻ tấn công phải khai thác được khối trước khi thực hiện thanh toán gian lận và phải phát đúng lúc. Mỗi lần xác nhận bổ sung làm tăng độ khó thực hiện tấn công này theo cấp số nhân.
Kiểu tấn công này phổ biến hơn trong những năm đầu của Bitcoin khi độ khó khai thác thấp và thợ đào cá nhân có thêm cơ hội tìm khối. Trong mạng lưới Bitcoin hiện đại với quy mô khai thác công nghiệp và độ khó cao, xác suất thực hiện thành công tấn công Finney gần như bằng không, đặc biệt với giao dịch đã có ít nhất một lần xác nhận.
Trong suốt lịch sử hoạt động của Bitcoin, blockchain chưa từng bị xâm phạm bởi một cuộc tấn công chi tiêu hai lần xác nhận thành công gây mất tài sản. Hồ sơ bảo mật xuất sắc này chứng minh hiệu quả của thiết kế Bitcoin trong việc giải quyết vấn đề chi tiêu hai lần một cách phi tập trung.
Vào tháng 12 năm 2021, một công cụ phân tích blockchain của BitMEX đã phát hiện một sự kiện nghi ngờ chi tiêu hai lần, gây chú ý trong cộng đồng tiền điện tử. Tuy nhiên, điều tra kỹ hơn cho thấy đây là tình huống liên quan tới khối cũ (stale block) và giao dịch bị thay thế, không phải là tấn công chi tiêu hai lần thực sự. Đây là hiện tượng bình thường trong hoạt động blockchain khi hai thợ đào khai thác khối gần như cùng lúc, và một khối trở thành khối mồ côi khi mạng lưới đồng thuận với chuỗi thay thế.
Sự kiện duy nhất đáng kể trong lịch sử Bitcoin có thể liên quan tới chi tiêu hai lần là lỗi "value overflow" được phát hiện vào tháng 8 năm 2010. Đây là lỗ hổng phần mềm cho phép ai đó tạo giao dịch với giá trị đầu ra cực lớn do lỗi tràn số nguyên. Tuy nhiên, đây không phải là tấn công chi tiêu hai lần thực sự mà là lỗi trong mã xác thực giao dịch. Cộng đồng Bitcoin đã phản ứng nhanh chóng, sửa lỗi và đảo ngược blockchain để loại bỏ giao dịch không hợp lệ, thể hiện khả năng phản ứng trước các mối đe dọa nghiêm trọng của mạng lưới.
Bản ghi bảo mật vững chắc này trái ngược với một số đồng tiền điện tử nhỏ đã từng bị tấn công chi tiêu hai lần thành công, đặc biệt qua tấn công 51%. Tỷ lệ băm khổng lồ và mạng lưới khai thác phân tán rộng lớn khiến Bitcoin có khả năng chống lại các cuộc tấn công này một cách đặc biệt.
Bitcoin đại diện cho một giải pháp đột phá đối với vấn đề chi tiêu hai lần, đạt được điều từng tưởng như không thể: tạo ra đồng tiền kỹ thuật số phi tập trung mà không cần đến cơ quan trung gian đáng tin cậy. Thông qua sự kết hợp sáng tạo giữa công nghệ blockchain, đồng thuận proof-of-work và động lực kinh tế, Bitcoin đã ngăn chặn thành công các cuộc tấn công chi tiêu hai lần suốt hơn một thập kỷ hoạt động.
Thiết kế blockchain, được bảo vệ bởi thuật toán proof-of-work, tạo nên chuỗi khối chống giả mạo, trong đó mỗi khối được liên kết mật mã với khối trước. Cấu trúc này khiến các cuộc tấn công trở nên cực











