


Tính malleability của giao dịch là khái niệm then chốt trong lĩnh vực tiền mã hóa, đặc biệt đối với mạng Bitcoin. Bài viết này sẽ phân tích sâu về các khía cạnh của tính malleability, nguyên nhân, các kiểu tấn công, ví dụ thực tiễn, tác động đến hệ sinh thái tiền mã hóa và các giải pháp xử lý.
Tính malleability của giao dịch là khả năng thay đổi mã định danh duy nhất (TXID) của giao dịch trước khi giao dịch được xác nhận vào một block trên mạng Bitcoin. Việc thay đổi này không làm biến động các thành phần chính như người gửi, người nhận hoặc số tiền chuyển. Thay vào đó, nó điều chỉnh mã hash nhận diện duy nhất giao dịch trên blockchain.
Bản chất vấn đề nằm ở cơ chế ký giao dịch của Bitcoin. Chữ ký số chỉ bảo vệ phần lớn dữ liệu giao dịch, nhưng một số trường, ví dụ như scriptSig trong input, lại không được bảo vệ bởi chữ ký. Điều này tạo điều kiện cho các chỉnh sửa nhỏ, không ảnh hưởng tới nội dung quan trọng nhưng lại làm thay đổi mã hash và TXID của giao dịch.
Các yếu tố chính dẫn đến tính malleability của giao dịch gồm:
Phương thức ký số: Phương thức hiện tại không bao phủ toàn bộ dữ liệu giao dịch, tạo khoảng trống cho việc chỉnh sửa.
Các trường linh hoạt: Một số trường giao dịch có thể biểu diễn bằng nhiều cách hợp lệ, tạo điều kiện để thay đổi TXID mà không ảnh hưởng đến tính hợp lệ của giao dịch.
Chỉnh sửa từ bên thứ ba: Khi giao dịch chưa được xác nhận, bên thứ ba có thể thay đổi các phần dễ bị malleable mà không làm mất hiệu lực giao dịch.
Các cuộc tấn công malleability phổ biến gồm:
Làm sai lệch dữ liệu: Thao túng các phần dữ liệu không trọng yếu nhằm gây nhầm lẫn.
Nhân bản hóa đơn: Sao chép hóa đơn để lừa người dùng hoặc dịch vụ thanh toán hai lần cho cùng một hóa đơn.
Thao túng phí giao dịch: Chỉnh sửa giao dịch để thay đổi mức phí.
Thay đổi TXID: Sửa TXID để đánh lừa đối tác rằng giao dịch đã thất bại hoặc chưa được xử lý.
Chi tiêu hai lần: Tạo điều kiện cho chi tiêu hai lần bằng cách khiến các giao dịch chỉnh sửa xuất hiện như giao dịch mới, riêng biệt.
Năm 2014, một sàn giao dịch tiền mã hóa lớn đã phải ngừng rút tiền và nộp đơn phá sản sau khi mất lượng lớn Bitcoin. Kẻ tấn công đã tận dụng tính malleability để chỉnh sửa giao dịch trước khi được ký và băm, dẫn tới sự nhầm lẫn trong hoạt động và kích hoạt nhiều lần rút tiền khiến quỹ Bitcoin bị hao hụt nghiêm trọng.
Tính malleability của giao dịch ảnh hưởng đáng kể tới mạng Bitcoin:
Ảnh hưởng tới hoạt động của sàn và khả năng mở rộng: Có thể tạo ra độ trễ xử lý giao dịch, hạn chế năng lực xử lý khối lượng giao dịch lớn của mạng.
Chậm xác nhận giao dịch: Nếu hệ thống dựa vào TXID cụ thể, việc thay đổi TXID có thể gây chậm trễ và ảnh hưởng trải nghiệm người dùng.
Gia tăng nguy cơ gian lận và chi tiêu hai lần: Tính malleability mở rộng nguy cơ gian lận tiền mã hóa do sự nhầm lẫn về trạng thái giao dịch.
Nhiều giải pháp công nghệ đã được đề xuất và triển khai để khắc phục tính malleability:
Segregated Witness (SegWit): Tách dữ liệu chữ ký khỏi dữ liệu giao dịch, giúp ngăn chặn thay đổi TXID.
Schnorr signatures: Cho phép xác thực giao dịch Bitcoin mà không cần mã định danh số.
Merkelized Abstract Syntax Trees (MAST): Đề xuất này tăng cường khả năng lập trình cho giao dịch, giảm phí và cải thiện khả năng mở rộng mạng.
Tính malleability của giao dịch là vấn đề phức tạp, ảnh hưởng trực tiếp tới bảo mật và hiệu quả xử lý giao dịch trong mạng Bitcoin và toàn bộ hệ sinh thái tiền mã hóa. Dù còn nhiều thách thức, các tiến bộ công nghệ blockchain đang từng bước kiểm soát và khắc phục lỗ hổng này. Khi thị trường tiền mã hóa tiếp tục phát triển, việc am hiểu và kiểm soát tính malleability là điều kiện tiên quyết để đảm bảo tính toàn vẹn và hiệu quả của giao dịch số.
Tính malleability là lỗ hổng tồn tại ở một số loại tiền mã hóa, cho phép thay đổi TXID mà không làm biến động nội dung giao dịch, dễ dẫn tới các hình thức tấn công chi tiêu hai lần.
Hãy kiểm tra phần mềm ví hoặc sử dụng trình khám phá blockchain. Mã hash là mã định danh giao dịch duy nhất, thường được hiển thị trong thông tin chi tiết giao dịch.
Không thể. Một khi đã ghi nhận trên blockchain, mã hash trở thành định danh duy nhất, vĩnh viễn cho giao dịch đó.
Quy tắc 51% là trường hợp một bên kiểm soát hơn một nửa sức mạnh đồng thuận của blockchain, có nguy cơ thao túng giao dịch và block. Mạng lớn có khả năng phòng vệ tốt hơn, còn mạng nhỏ lại dễ bị tấn công hơn.











