Chi tiêu gấp đôi – Double Spending

Chi tiêu gấp đôi – Double Spending

Double Spending là gì?

Double spending là việc sử dụng thành công các khoản tiền giống nhau hai lần. Đây là một lỗ hổng tiềm ẩn trong hệ thống thanh toán tiền kỹ thuật số, điều này có thể xảy ra vì mã các đồng tiền kỹ thuật số bao gồm một tệp kỹ thuật số có thể được sao chép hoặc làm giả. Cũng như tiền giả, việc chi tiêu gấp đôi như vậy dẫn đến lạm phát bằng cách tạo ra một lượng tiền tệ gian lận mới mà trước đây không tồn tại. Điều này làm giảm giá trị tiền tệ so với các đơn vị tiền tệ khác, đồng thời làm giảm lòng tin của người dùng cũng như việc lưu thông và lưu giữ tiền tệ.

Bitcoin là hệ thống có thể chống lại hình thức gian lận chi tiêu Double Spending này. Nếu một ai đó cố gắng gửi cùng một giao dịch Bitcoin đi song song đến hai địa chỉ – một đến địa chỉ của người khác để thanh toán chi tiêu và một gửi đến địa chỉ nằm trong sự kiểm soát của kẻ chủ mưu, thì người đó có xác suất 50% hoặc là nhận được món hàng do giao dịch thanh toán thành công hoặc là nhận lại được số Bitcoin đã gửi đi vào địa chỉ nhận do họ kiểm soát tùy thuộc vào giao dịch nào được xác nhận trước trên mạng lưới.

Hiểu về Double Spending

Để hiểu về chi tiêu gấp đôi, trước tiên cần xem lại cách hoạt động của blockchain. Khi một khối được tạo, nó sẽ nhận được một mã băm (hoặc số được mã hóa) bao gồm Timestamp, thông tin từ khối trước đó và dữ liệu giao dịch. Thông tin này được mã hóa bằng giao thức bảo mật như thuật toán SHA-256 được Bitcoin sử dụng.

Sau khi thông tin của khối đó được xác minh bởi các thợ đào (bằng chứng đồng thuận  Proof-of-Work), nó sẽ được đóng thành block và block mới được tạo với Timestamp, thông tin giao dịch và băm của khối trước đó. Phần thưởng Bitcoin được trao cho người thợ đào nào đã có công tính toán để thêm một khối mới này.

Đối với một người nào đó chi tiêu gấp đôi, một khối bí mật phải được khai thác vượt xa việc tạo ra chuỗi khối thực. Sau đó, họ sẽ cần public chuỗi đó với mạng trước khi chuỗi chính bắt kịp. Nếu điều này xảy ra, thì mạng sẽ nhận ra nó là tập hợp các khối mới nhất và thêm nó vào chuỗi. Người đã làm điều này sau đó có thể trả lại cho họ số tiền điện tử mà họ đã chi tiêu và sử dụng lại.

(Để giao dịch double spending được hợp lệ, chuỗi nhánh A->B’ có chứa thông tin sai lệch cần phải chạy trước chuỗi chính của mạng là A->B)

Ngăn chặn Double Spending

Thực tế, khả năng một khối bí mật (khối chứa giao dịch gian lận) được chèn vào blockchain là rất nhỏ vì nó phải được chấp nhận và xác minh bởi mạng lưới các thợ đào.

Kẻ gian lận có thể giành chiến thắng ở vòng xổ số nhỏ trong việc tìm ra số Nonce để giành quyền thêm block có chứa thông tin sai lệch trước mọi người khác, tuy nhiên mạng lưới vẫn đang nghe ngóng các thợ đào khác phát sóng. Vì vậy để giữ cho mạng lưới tin vào khối có chứa thông tin lệch này, hắn sẽ phải tự bỏ ra tất cả “công” tính toán để tiếp tục thêm các khối mới trên dãy phân nhánh trong mạng lưới để trở thành chuỗi dài nhất, hợp thức hóa giao dịch gian lận của hắn. Kẻ gian lận có thể kịp cho thêm một vài khối nếu hắn ta tiếp tục may mắn tìm ra các khối nhanh hơn các thợ đào còn lại trên mạng nhưng trên thực tế, theo thời gian, cơ chế đồng thuận và chuỗi khối di chuyển nhanh đến mức khối chứa thông tin sai lệch sẽ bị lỗi thời trước khi nó được chấp nhận.

Do đó, giao dịch ngày càng an toàn hơn theo thời gian khi mạng blockchain được mở rộng. Và những block đã được thêm vào chuỗi trong quá khứ bao giờ cũng an toàn hơn so với những block mới được thêm vào. Bởi vì một block mới được thêm vào chuỗi trung bình cứ 10 phút một lần, cho nên trong khoảng 1 giờ kể từ khi giao dịch lần đầu tiên được nhóm vào trong block sẽ tạo ra một xác suất khá cao rằng giao dịch đã được xử lý/xác thực và không thể đảo ngược.

Tuy nhiên vẫn tồn tại một lỗ hổng có thể thực hiện gian lận Double Spending nếu kẻ gian lận có hơn 50% tài nguyên tính toán của tất cả các thợ đào trên mạng lưới.

Tấn công 51% xảy ra khi một nhóm hoặc cá nhân kiểm soát hơn 50% sức mạnh băm của mạng để thay đổi chuỗi khối. Với quyền kiểm soát này, những kẻ tấn công có thể khởi động một cuộc tấn công double spending. Tuy nhiên, do tỷ lệ băm khổng lồ của Bitcoin, nên kịch bản này rất khó xảy ra trên giao thức Bitcoin.

Trong khi Bitcoin hầu như không bị ảnh hưởng bởi các cuộc tấn công này, các loại tiền điện tử khác có ít sức mạnh băm hơn đã bị double spending thông qua các cuộc tấn công 51%. Bởi vì các cuộc tấn công 51% rất tốn kém để thực hiện, chúng chủ yếu nhắm mục tiêu vào các sàn giao dịch lớn với lượng nắm giữ khá lớn. Những kẻ tấn công cần phải chi thành công gấp đôi chi phí của cuộc tấn công để kiếm lợi nhuận.

Kết luận

Các cuộc tấn công chi tiêu kép đã được nghiên cứu và thảo luận rộng rãi trong cộng đồng blockchain. Miễn là bạn không chấp nhận các giao dịch chưa được xác nhận, bạn có thể chấp nhận thanh toán bằng Bitcoin với niềm tin rằng khả năng xảy ra một cuộc tấn công chi tiêu gấp đôi là khá nhỏ.

Nguồn: tổng hợp

2 thoughts on “Chi tiêu gấp đôi – Double Spending

  1. Xin cảm ơn tác giả vì bài viết. Mình phân vân về lựa chọn từ ngữ sử dụng: “Tiền kỹ thuật số” hay “tiền mã hoá”?

    1. Chào bạn, chính xác theo học thuật phải là “tiền mã hóa” bạn ạ. Do mình muốn chọn “tiền kỹ thuật số” để tiếp cận được nhiều đối tượng người đọc hơn

Leave a Reply

Your email address will not be published.