Rủi ro Double Spending
DÀNH CHO NGƯỜI MỚI BẮT ĐẦU – KIẾN THỨC BLOCKCHAIN CƠ BẢN
Double Spending là gì?
Double Spending còn gọi là Chi tiêu hai lần. Hành động này là việc chi tiêu nhiều hơn 1 lần cho 1 lượng tiền điện tử hoặc một blockchain token. Chi tiêu hai lần (Double Spending) là một vấn đề có tính rủi ro cao. Nó có thể xảy ra trong hệ thống tiền kỹ thuật số.
Để dễ hiểu vấn đề, cùng một khoản tiền sẽ có thể được chi cho hai người nhận cùng một lúc. Đây là một thực tế có thể xảy ra khi dùng tiền điện tử. Như ví dụ là Bob có thể dùng cùng 1 đồng tiền điện tử để chi trả cho Lisa và Alice, mà 2 bạn này không nhận thức được là chỉ có 1 đồng tiền có thực mà thôi. Nói cách khác, Lisa hoặc Alice đã nhận tiền giả từ Bob. Và Bob hưởng lợi từ giao dịch này bất hợp pháp.
Nếu không có bất kỳ biện pháp đối phó thích hợp nào, một giao thức không giải quyết được vấn đề về cơ bản sẽ bị hủy hoại – người dùng không có cách nào để xác minh rằng số tiền họ nhận được chưa được sử dụng ở nơi khác.
Như vậy, mục đích của kẻ lợi dụng vấn đề Double Spending là nhằm trục lợi trong việc mua bán tài sản. Nhờ hành vi trục lợi này mà dịch vụ và tài sản gốc của họ không bị tiêu hao.
Double Spending diễn ra thế nào?
Mặc dù Blockchain được bảo mật nhưng nó vẫn có một số lỗ hổng. Tin tặc hoặc người dùng có ác ý lợi dụng những sơ hở này để thực hiện các hoạt động của mình.
Chi tiêu 2 lần có nghĩa là chi tiêu cùng một loại tiền kỹ thuật số hai lần trở lên để tận dụng nhiều dịch vụ. Đó là một lỗ hổng kỹ thuật cho phép người dùng nhân đôi tiền.
- Vì tiền kỹ thuật số chỉ là các tập tin nên tin tặc có thể tạo nhiều bản sao của cùng một tập tin tiền tệ và có thể sử dụng nó ở nhiều nơi.
- Sự cố này cũng có thể xảy ra nếu có sự thay đổi trong mạng hoặc các bản sao của loại tiền tệ chỉ được sử dụng chứ không phải bản gốc.
- Ngoài ra còn có các trường hợp tin tặc đảo ngược các giao dịch để giao dịch đó diễn ra hai lần. Bằng cách này, người dùng sẽ mất tiền hai lần, một lần cho khối giả do hacker tạo ra và cho cả khối ban đầu.
Tin tặc cũng nhận được ưu đãi đối với các khối giả đã được khai thác và xác nhận.
Tấn công chi tiêu hai lần
Hiện nay, có ba phương pháp Tấn công 2 lần phổ biến để thực hiện chi tiêu hai lần:
Dữ liệu của Blockchain là phi tập trung và thiếu cơ quan trung ương để thực hiện giao dịch. Sự chính xác của các giao dịch chỉ được xác định bằng cơ chế đồng thuận.
Điều này có nghĩa là khi một đối tượng nắm được quyền kiểm soát đa số đối với các điểm quyết định sự đồng thuận của giao dịch nói trên là họ đã kiểm soát giao dịch. Khi đó, đối tượng này có thể ép dữ liệu dùng phiên bản sự kiện của riêng họ, bao gồm các giao dịch thay thế sai lệch. Họ cũng có thể tạo ra giao dịch nhiều lần.
Cũng có thể là do sự chậm trễ trong việc truyền thông tin, các cuộc tấn công 51% cũng tạm thời có thể xảy ra đối với một nhóm nhỏ tác nhân cục bộ.
Đối tượng dùng cách thức tấn công này bằng cách gửi đi hai giao dịch xung đột liên tiếp, sử dụng cùng một khoản tiền – nhưng chỉ có một giao dịch được xác nhận.
Kẻ tấn công gửi tiền đến hai ví khác nhau gần như đồng thời. Trong 2 ví này có 1 ví là thanh toán mạng. Như vậy, nó tạo ra tình huống người bán có thể giải phóng hàng trước khi nhận được khoản thanh toán thực tế. Trong khi đó, ở lệnh thanh toán còn lại thì người xác nhận giao dịch (thứ 2), cũng đồng thời xác nhận giao dịch tương tự. Như vậy, kẻ tấn công hưởng lợi từ giao dịch đó trong khi người bán mất khoản thanh toán.
Ví dụ như
Kẻ tấn công khai thác trước một giao dịch thành một khối mà không truyền nó lên mạng blockchain ngay. Thay vào đó, họ chi tiêu cùng một khoản tiền đó trong một giao dịch khác. Rồi ngay khi đó mới truyền khối được khai thác lúc trước vào blockchain. Điều này có thể làm mất hiệu lực giao dịch.
Các cuộc tấn công Finney một chuỗi các sự kiện cụ thể xảy ra và cũng phụ thuộc vào sự chấp nhận của người nhận đối với các giao dịch chưa được xác nhận.
- Nakamoto, Satoshi. ¨Bitcoin: A Peer-to-Peer Electronic Cash System¨.p.3, 2008.
- Blockchain Technology Overview. https://doi.org/10.6028/NIST.IR.8202
- ACT-IAC White Paper: Blockchain Playbook for the U.S. Federal Government.”
ACT-IAC, April 23, 2018, https://www.actiac.org/act-iac-white-paper-blockchainplaybook-us-federal-government. - “Majority Attack.” Bitcoin Wiki, https://en.bitcoin.it/wiki/Majority_attack.
- Lamport, L. “Time, Clocks, and the Ordering of Events in a Distributed System.”
Communications of the ACM, vol. 21, no. 7, January 1978, pp. 558–565.,
doi:10.1145/359545.359563. https://amturing.acm.org/p558-lamport.pdf.