Bitcoin giao dịch lặp lại: một lỗ hổng thú vị nhưng rủi ro cực thấp
Có một hiện tượng thú vị trong mạng Bitcoin: hai nhóm giao dịch hoàn toàn giống nhau. Tình huống này có thể xảy ra vì giao dịch coinbase không có đầu vào, mà trực tiếp tạo ra đồng coin mới. Do đó, hai giao dịch coinbase khác nhau có thể gửi cùng một số lượng Bitcoin đến cùng một địa chỉ và được xây dựng theo cách hoàn toàn giống nhau, khiến chúng hoàn toàn tương đồng. Bởi vì những giao dịch này giống nhau, ID giao dịch của chúng (TXID) cũng khớp nhau, vì TXID là tóm tắt hash của dữ liệu giao dịch.
Hai nhóm giao dịch lặp lại này xảy ra từ ngày 14 đến 15 tháng 11 năm 2010, kéo dài khoảng 16 giờ. Nhóm giao dịch lặp lại đầu tiên được kẹp giữa hai nhóm thứ hai. Chúng tôi phân loại d5d2....8599 là giao dịch lặp lại đầu tiên, vì nó trở thành bản sao trước, mặc dù nó xuất hiện lần đầu trên blockchain muộn hơn giao dịch lặp lại khác e3bf....b468.
Tổng số Bitcoin liên quan đến các giao dịch lặp lại này là 200 BTC, hoặc có thể là 100 BTC, tùy thuộc vào cách hiểu. Cho đến hiện tại, những Bitcoin này vẫn chưa được sử dụng. Về lý thuyết, người sở hữu khóa bí mật liên quan có thể sử dụng những Bitcoin này, nhưng một khi đã sử dụng, 50 BTC lặp lại sẽ không thể sử dụng lại và sẽ bị mất, vì vậy chỉ có 100 BTC thực sự có sẵn.
Giao dịch lặp lại rõ ràng là có vấn đề. Chúng sẽ gây ra sự nhầm lẫn cho ví và trình duyệt khối, cũng như làm cho người ta không rõ nguồn gốc của Bitcoin. Nó cũng có thể dẫn đến một số cuộc tấn công và lỗ hổng, chẳng hạn như việc trả tiền cho ai đó hai lần bằng hai giao dịch lặp lại, nhưng thực tế chỉ có một nửa số tiền có thể sử dụng.
Để giải quyết vấn đề này, các nhà phát triển đã đề xuất nhiều đề xuất cải tiến:
BIP30: Soft fork được thực hiện vào tháng 3 năm 2012, cấm sử dụng TXID trùng lặp để giao dịch, trừ khi TXID trước đó đã được sử dụng.
BIP34: Kích hoạt vào tháng 3 năm 2013, yêu cầu giao dịch coinbase phải bao gồm chiều cao khối, khiến cho tất cả các giao dịch đều phải là duy nhất.
Tháng 11 năm 2015, các nhà phát triển đã loại bỏ kiểm tra BIP30, vì BIP34 đã giải quyết vấn đề này.
Tuy nhiên, BIP34 không phải là giải pháp hoàn hảo. Trong một số block trước khi BIP34 được kích hoạt, có trường hợp byte đầu tiên của scriptSigs trong giao dịch coinbase khớp với độ cao block hợp lệ trong tương lai. Block tiếp theo có thể xảy ra giao dịch trùng lặp là 1,983,702, dự kiến sẽ được tạo ra vào khoảng tháng 1 năm 2046.
Mặc dù vậy, chi phí và độ khó để khai thác lỗ hổng này rất cao. Lấy ví dụ về khối 1,983,702, thợ mỏ cần chi tiêu hơn 170 BTC( theo giá hiện tại khoảng 15 triệu USD) để thực hiện cuộc tấn công, và gần như không có lợi nhuận thực tế.
Xét đến độ khó và chi phí của việc sao chép giao dịch, cũng như sự hiếm hoi của các cơ hội, lỗ hổng này không tạo thành mối đe dọa an ninh chính đối với Bitcoin. Tuy nhiên, các nhà phát triển có thể vẫn sẽ tìm cách khắc phục triệt để vấn đề này trước năm 2046, các phương pháp có thể bao gồm việc thực thi cam kết SegWit.
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
20 thích
Phần thưởng
20
5
Chia sẻ
Bình luận
0/400
SmartContractPlumber
· 9giờ trước
Một 0day thú vị, nhưng có vẻ như là một trường hợp thử nghiệm.
Lỗ hổng giao dịch lặp lại của Bitcoin: Vấn đề lịch sử và thách thức trong tương lai
Bitcoin giao dịch lặp lại: một lỗ hổng thú vị nhưng rủi ro cực thấp
Có một hiện tượng thú vị trong mạng Bitcoin: hai nhóm giao dịch hoàn toàn giống nhau. Tình huống này có thể xảy ra vì giao dịch coinbase không có đầu vào, mà trực tiếp tạo ra đồng coin mới. Do đó, hai giao dịch coinbase khác nhau có thể gửi cùng một số lượng Bitcoin đến cùng một địa chỉ và được xây dựng theo cách hoàn toàn giống nhau, khiến chúng hoàn toàn tương đồng. Bởi vì những giao dịch này giống nhau, ID giao dịch của chúng (TXID) cũng khớp nhau, vì TXID là tóm tắt hash của dữ liệu giao dịch.
Hai nhóm giao dịch lặp lại này xảy ra từ ngày 14 đến 15 tháng 11 năm 2010, kéo dài khoảng 16 giờ. Nhóm giao dịch lặp lại đầu tiên được kẹp giữa hai nhóm thứ hai. Chúng tôi phân loại d5d2....8599 là giao dịch lặp lại đầu tiên, vì nó trở thành bản sao trước, mặc dù nó xuất hiện lần đầu trên blockchain muộn hơn giao dịch lặp lại khác e3bf....b468.
Tổng số Bitcoin liên quan đến các giao dịch lặp lại này là 200 BTC, hoặc có thể là 100 BTC, tùy thuộc vào cách hiểu. Cho đến hiện tại, những Bitcoin này vẫn chưa được sử dụng. Về lý thuyết, người sở hữu khóa bí mật liên quan có thể sử dụng những Bitcoin này, nhưng một khi đã sử dụng, 50 BTC lặp lại sẽ không thể sử dụng lại và sẽ bị mất, vì vậy chỉ có 100 BTC thực sự có sẵn.
Giao dịch lặp lại rõ ràng là có vấn đề. Chúng sẽ gây ra sự nhầm lẫn cho ví và trình duyệt khối, cũng như làm cho người ta không rõ nguồn gốc của Bitcoin. Nó cũng có thể dẫn đến một số cuộc tấn công và lỗ hổng, chẳng hạn như việc trả tiền cho ai đó hai lần bằng hai giao dịch lặp lại, nhưng thực tế chỉ có một nửa số tiền có thể sử dụng.
Để giải quyết vấn đề này, các nhà phát triển đã đề xuất nhiều đề xuất cải tiến:
BIP30: Soft fork được thực hiện vào tháng 3 năm 2012, cấm sử dụng TXID trùng lặp để giao dịch, trừ khi TXID trước đó đã được sử dụng.
BIP34: Kích hoạt vào tháng 3 năm 2013, yêu cầu giao dịch coinbase phải bao gồm chiều cao khối, khiến cho tất cả các giao dịch đều phải là duy nhất.
Tháng 11 năm 2015, các nhà phát triển đã loại bỏ kiểm tra BIP30, vì BIP34 đã giải quyết vấn đề này.
Tuy nhiên, BIP34 không phải là giải pháp hoàn hảo. Trong một số block trước khi BIP34 được kích hoạt, có trường hợp byte đầu tiên của scriptSigs trong giao dịch coinbase khớp với độ cao block hợp lệ trong tương lai. Block tiếp theo có thể xảy ra giao dịch trùng lặp là 1,983,702, dự kiến sẽ được tạo ra vào khoảng tháng 1 năm 2046.
Mặc dù vậy, chi phí và độ khó để khai thác lỗ hổng này rất cao. Lấy ví dụ về khối 1,983,702, thợ mỏ cần chi tiêu hơn 170 BTC( theo giá hiện tại khoảng 15 triệu USD) để thực hiện cuộc tấn công, và gần như không có lợi nhuận thực tế.
Xét đến độ khó và chi phí của việc sao chép giao dịch, cũng như sự hiếm hoi của các cơ hội, lỗ hổng này không tạo thành mối đe dọa an ninh chính đối với Bitcoin. Tuy nhiên, các nhà phát triển có thể vẫn sẽ tìm cách khắc phục triệt để vấn đề này trước năm 2046, các phương pháp có thể bao gồm việc thực thi cam kết SegWit.