BIP "Giảm Dữ Liệu Tạm Thời Softfork" đề xuất tạm thời vô hiệu hóa các tính năng Bitcoin khác nhau trong sự đồng thuận. Tôi đã khảo sát blockchain để định lượng tác động tiềm năng, bằng cách xác định các giao dịch lịch sử vi phạm từng quy tắc này. 🧵↓
Quy tắc #1: "Các scriptPubKeys đầu ra mới vượt quá 34 byte là không hợp lệ, trừ khi opcode đầu tiên là OP_RETURN, trong trường hợp đó tối đa 83 byte là hợp lệ." Điều này ảnh hưởng đến tất cả các đầu ra P2PK và P2MS, cũng như một số lượng nhỏ các SPK không chuẩn.
Quy tắc #2: "OP_PUSHDATA* với payload lớn hơn 256 byte là không hợp lệ, ngoại trừ việc đẩy redeemScript trong scriptSigs BIP16." Tôi giả định rằng điều này chỉ áp dụng cho các đẩy dữ liệu *được thực thi*, vì vậy tôi đã loại trừ các đẩy trong các phong bì ghi chú taproot, trong đó có rất nhiều.
Quy tắc #3: "Chi tiêu các phiên bản chứng nhân không xác định (hoặc Tapleaf) (tức là, không phải Witness v0/BIP 141 hay Taproot/BIP 341) là không hợp lệ." Hiện có hơn 54k giao dịch với số phiên bản không xác định (chủ yếu sử dụng các đầu ra giả để vượt qua giới hạn op_return).
Tuy nhiên, BIPs 141 và 341 định nghĩa các độ dài chương trình chứng kiến cụ thể: - v0, độ dài 20 (P2WPKH) - v0, độ dài 32 (P2WSH) - v1, độ dài 32 (P2TR) như đã viết, RDTS dường như cấm tất cả các độ dài chương trình khác, bao gồm cả các điểm neo P2A (v1, độ dài 2).
Quy tắc #4: "Chứng kiến các ngăn xếp với annex Taproot là không hợp lệ." Cho đến nay, đã có 11 giao dịch đính kèm một annex vào các chi tiêu taproot, chủ yếu là cho jpegs.
mononaut
mononaut11 thg 5, 2025
một tệp jpeg thứ hai đã tấn công phụ lục
Quy tắc #5: "Các khối điều khiển Taproot lớn hơn 257 byte (một cây merkle với 128 lá kịch bản) là không hợp lệ." Có khoảng ~32k giao dịch taproot rõ ràng nhúng dữ liệu với độ sâu khối điều khiển trên 100+ (labitbus và tương tự). Nhưng cũng có một vài giao dịch "hợp pháp" ở độ sâu thấp hơn.
Quy tắc #6: "Tapscripts bao gồm các mã lệnh OP_SUCCESS* ở bất kỳ đâu (ngay cả khi chưa thực thi) đều không hợp lệ." Có hai giao dịch taproot lịch sử bao gồm các mã lệnh OP_SUCCESS: giao dịch lightning-breaker của Burak và bản demo OP_CAT ngớ ngẩn này.
Quy tắc #7: "Tapscripts thực thi lệnh OP_IF hoặc OP_NOTIF (bất kể kết quả) là không hợp lệ." Điều này nhằm vô hiệu hóa "bao bì ghi chú", đã được sử dụng trong hơn 104 triệu giao dịch cho đến nay.
Tuy nhiên, RDTS không chỉ dừng lại ở việc vô hiệu hóa phong bì ghi danh, mà còn cấm hoàn toàn OP_IF và OP_NOTIF. Khoảng 70 giao dịch không ghi danh đã sử dụng OP_IF trong các kịch bản taproot. Nhiều giao dịch là các thí nghiệm kiểu bitvm, nhưng cũng có những ví dụ về các ứng dụng tài chính đơn giản hơn.
Ví dụ, có một vài chi tiêu sử dụng mẫu kịch bản "multisig phân rã" này, mà sử dụng nhiều OP_IF.
Điều đáng lo ngại nhất là có nhiều lần chi tiêu từ một ví sử dụng mẫu kịch bản HTLC này phía sau một điểm bip341 NUMS (vô hiệu hóa đường dẫn khóa) Kịch bản sử dụng OP_IF để chọn giữa một nhánh yêu cầu hai chữ ký và một hình ảnh băm, hoặc một chữ ký sau một khoảng thời gian tương đối.
Các nhà ủng hộ RDTS đã bác bỏ những lo ngại về việc tịch thu liên quan đến OP_IF và các khối kiểm soát lớn trong taproot bằng cách tuyên bố rằng người dùng luôn có thể chi tiêu thông qua keypath. Tuy nhiên, khoảng 560k giao dịch đã chi tiêu đầu ra taproot mà keypath đã bị vô hiệu hóa một cách rõ ràng.
122,5K