Đọc bài viết này để hiểu nguyên tắc thực hiện và biện pháp phòng ngừa của “tỳ hưu bị trì hoãn”
Bản gốc - Odaily
Tác giả - Nam Trí

Token Pixiu thường đề cập đến tình huống một loại token nhất định chỉ có thể được mua chứ không thể bán được, nhà phát triển sẽ loại bỏ LP sau một thời gian để kiếm lợi nhuận và lôi kéo người mua. Tỳ hưu bị trì hoãn có thể được giao dịch trong một khoảng thời gian ngắn khi mã thông báo lần đầu tiên được mở để giao dịch và sau đó trở thành trạng thái Tỳ hưu. Đối với loại kỹ thuật kéo thảm này,Nhiều công cụ phát hiện hợp đồng chưa bổ sung thêm chức năng phát hiện tương ứng., đang trở thành một trong những phương thức kiếm lợi nhuận chính của các nhà phát triển độc hại.
Dưới đây, Odaily sẽ giải thích cách triển khai độ trễ của Pixiu thông qua tổng quan ngắn gọn về các nguyên tắc của ERC 20 và Uniswap.
Lưu ý: Một số so sánh trong bài viết không hoàn toàn chặt chẽ để dễ hiểu.
Thông tin cơ bản về ERC 20
Hầu hết các token trên thị trường đều tuân thủ tiêu chuẩn ERC-20, ERC-20 là gì? Câu trả lời của ChatGPT như sau:
ERC-20 là một tiêu chuẩn mã thông báo trên chuỗi khối Ethereum xác định các hợp đồng mã thông báomột bộ quy tắc phải được tuân theovà giao diện. Tiêu chuẩn này tiêu chuẩn hóa các chức năng cơ bản của token, bao gồm chuyển khoản, truy vấn số dư, ủy quyền chi tiêu token thay mặt cho người khác, v.v.
Dưới đây là một số quy tắc và tính năng tiêu chuẩn chính của mã thông báo ERC-20:
Chuyển khoản: Token ERC-20 có thể được chuyển qua hợp đồng thông minh, cho phép người dùng gửi token đến các địa chỉ Ethereum khác.
Truy vấn số dư (BalanceOf): Người dùng có thể truy vấn số dư mã thông báo ERC-20 của họ để xem họ sở hữu bao nhiêu mã thông báo.
Truy vấn số dư (BalanceOf):
Trên thực tế, hàm này không chỉ có chức năng “truy vấn”, việc người dùng “sở hữu” bao nhiêu token cũng do hàm này xác định. Mỗi mã thông báo có thể được hiểu là một ngân hàng và mỗi địa chỉ ví sẽ nhận được một thẻ gửi tiền từ ngân hàng sau khi giao dịch mã thông báo, thẻ này ghi lại số dư của từng địa chỉ (Số dư). Tức là bạn có thể đăng ký vào ngân hàng để kiểm tra số dư của bạn hoặc bạn có thể gửi yêu cầu thay đổi tài sản tới ngân hàng để giao dịch.
Lưu ý: Ethereum áp dụng mô hình Dựa trên tài khoản.
Do đó, về cơ bản, người dùng không sở hữu tài sản của họ mà số lượng token bạn có thể chi tiêu được xác định bởi một hàm.
Tức là: X token Số dư của [Tài khoản A]=Số lượng X token mà tài khoản A có thể chi tiêu ra bên ngoài
Lưu ý: Tiền gửi ngân hàng trong thế giới thực là khoản nợ của ngân hàng đối với khách hàng và ngân hàng có quyền sở hữu tài sản.
Chuyển khoản
Tất cả token ERC-20 phải hoàn thành chức năng chuyển, dựa trên mô hình sổ cái trước đó, khi chuyển khoản xảy ra, không phải tài khoản A “giao” token cho tài khoản B mà bị trừ vào tài khoản A. Số lượng token là X và số lượng token X được thêm vào tài khoản B.
Tức là: Số dư của [Tài khoản A]-X và Số dư của [Tài khoản B]+X cùng một lúc
Nhà phát triển có thể sửa đổi chức năng chuyển nhượng để giới hạn số lần chuyển nhượng, người được chuyển nhượng, v.v.
Hàm truyền là nguồn cơ bản của hầu hết các cơ chế Tỳ hưu.
Uniswap
Phần trước đã tương tự hóa mỗi token thành một “ngân hàng” và Uniswap có thể được hiểu là người trung gian chấp nhận ở đây, trao đổi hai token thông qua nguyên tắc AMM xy=k.
Quá trình trao đổi như sau:
Người dùng chuyển token A sang hợp đồng Uniswap
Uniswap sẽToken đã nhận được, tính toán số token cần được trả lại thông qua y=k/x và khấu trừ phí xử lý
Uniswap chuyển token A vào nhóm LP và rút token B
Uniswap chuyển token B cho người dùng
Tất nhiên, Uniswap thực sự bao gồm nhiều chức năng và quy trình. Điểm mấu chốt cần hiểu ở đây là,Uniswap chỉ giao dịch dựa trên mã thông báo nhận đượcvà khi người dùng thực hiện thao tác chuyển khoản, số tiền có thể đã thay đổi.
cơ chế Tỳ hưu
Trong phần này, cơ chế Tỳ hưu được chia thành hai loại:
① Thuế giao dịch cao, dẫn đến người dùng không nhận được chiết khấu từ token bán hàng;
② Không thể chuyển khoản, dẫn đến người dùng không thể giao dịch với Uniswap.
thuế giao dịch cao
Phần này trình bày quy trình tính toán của một đồng Meme coin có thuế giao dịch như hình bên dưới (chỉ tập trung vào phần màu đỏ).
Tính thuế giao dịch
Trích toàn bộ số tiền từ ví của người dùng (BalancerOf[user] giảm token A)
Chuyển tiền đến một địa chỉ như ví nhà phát triển hoặc LP (BalancerOf[Dev] tăng token A × tax S)
Chuyển một số token sang Uniswap để đổi lấy token B (token A×(1-S))
Người dùng nhận không đủ số lượng token B

Như đã đề cập ở phần trước, Uniswap chỉ hỗ trợ “Token đã nhận được” được xử lý và các nhà phát triển có thể sửa đổi số tiền được chuyển sang Uniswap và người dùng theo ý muốn.
Tại đây, nếu thuế suất giao dịch được sửa đổi thành 100%, bước thứ ba ③Chuyển sang ví của nhà phát triển hoặc LP và các địa chỉ khác sẽ được triển khai và người dùng sẽ không nhận được mã thông báo nữa.
Không thể chuyển
Trong Solidity, nhà phát triển có thể hạn chế giao dịch thông qua yêu cầu:
Nếu nhà phát triểnGiới hạn trao đổi mã thông báo đến các địa chỉ danh sách trắng nhất định, khi đó người dùng không thể gửi token trong tay mình tới Uniswap, sau đó ở bước thứ hai “② Trừ tiền từ ví của người dùng”, Pixiu được triển khai và nhà phát triển có thể đặt Router của Uniswap để có thể gửi token và kết quả là:
Người dùng chỉ có thể mua (Uniswap chuyển token cho người dùng), nhưng không thể bán (vì token không thể chuyển sang Uniswap để lấy ETH, v.v.).
Hoặc các nhà phát triển có thể đặt giới hạn chuyển khoản thành 0, tắt công tắc giao dịch và các hoạt động khác thông qua nhiều đường dẫn khác nhau, nhưng cuối cùng họ đều kiểm soát hành vi chuyển khoản.
Tỳ hưu bị trì hoãn
Độ trễ hơn nữa đạt được bằng cách yêu cầu giới hạn thời gian (chiều cao khối).
Ví dụ: trong một mã thông báo nhất định, các hạn chế như sau:
require(block.number < _allowance)
Khi chiều cao khối tăng lên, người dùng sẽ không thể chuyển khi đạt đến một ngưỡng nhất định, nhận ra Tỳ hưu.
Ngoài ra, cũng có những Pixiu được thực hiện khi số lượng giao dịch đạt đến một ngưỡng nhất định. Loại Pixiu bị trì hoãn này có thể được giao dịch bình thường trong tình huống ban đầu nếu không có cài đặt mục tiêu khi kiểm tra một số công cụ phát hiện bảo mật hợp đồng nhất định, khiến người dùng cảm thấy khó chịu. rơi vào bẫy.
Làm thế nào để ngăn chặn
Do phương pháp thu hoạch này phổ biến trong việc vuốt chó, người mua thường theo đuổi sự hiệu quả và bỏ qua sự an toàn, và chúng tôi chưa thấy công ty bảo mật trưởng thành nào tung ra công cụ phát hiện đặc biệt cho phương pháp này, vì vậy Odaily xin nhắc nhở bạn rằng vì tài sản của riêng mình, người mua có khả năng mã hóa nhất định cũng nên xem qua mã hợp đồng (hoặc sử dụng các công cụ như ChatGPT để xem nhanh), đặc biệt chú ý đến hợp đồng selpair và tránh xa các dự án có chứa các vùng mã bất thường.


