Transaction Size là gì?
Transaction Size là lượng dữ liệu mà giao dịch tiền mã hóa của bạn chiếm dụng, thường được đo bằng byte hoặc virtual bytes. Dữ liệu lớn hơn nghĩa là cần lưu trữ và truyền tải nhiều hơn trên mạng. Hãy tưởng tượng giống như gửi một email với một biểu tượng cảm xúc so với gửi cả một album ảnh.
“Nếu tôi gửi số lượng tiền mã hóa lớn hơn, Transaction Size sẽ lớn hơn.” Không đúng. Kích thước phụ thuộc vào có bao nhiêu đầu vào, đầu ra và chữ ký trong giao dịch, chứ không phải số lượng coin.
Cách Transaction Size vận hành
Tổng quan nhanh với một lần gửi đơn giản trên Bitcoin làm ví dụ.
- Step 1: Ví của bạn chọn các input, tức là những coin bạn đã nhận trước đó. Nhiều input thường dẫn đến nhiều byte hơn.
- Step 2: Nó tạo các output cho người nhận và thường một output trả lại tiền thừa cho bạn. Mỗi output thêm một chút dữ liệu.
- Step 3: Nó thêm chữ ký và script. Tính năng nâng cao như giao dịch đa chữ ký sẽ làm tăng byte vì nhiều khóa cần ký.
- Step 4: Ví ước tính chi phí bằng cách nhân kích thước với mức phí hiện tại. Đó là lúc phí giao dịch xuất hiện.
- Step 5: Thợ mỏ ưu tiên phí trên mỗi byte cao hơn, nên Transaction Size nhỏ hơn có thể giúp giao dịch của bạn được xác nhận nhanh hơn với cùng tổng phí.
Rõ ràng và dễ hiểu. Dữ liệu nhỏ hơn, đường đi mượt hơn.
Tại sao Transaction Size quan trọng
Bởi vì bạn quan tâm đến tốc độ và chi phí, và các thợ khai thác cũng vậy.
- Lợi ích: Transaction Size nhỏ hơn thường có nghĩa là bạn trả ít hơn trong khi vẫn giữ cùng mục tiêu xác nhận.
- Góc nhìn: Khi xảy ra tắc nghẽn mạng, thị trường phí tăng nhiệt, và các giao dịch cồng kềnh trở nên đắt để đẩy qua.
- Mối liên hệ: Nó liên quan đến khả năng mở rộng, vì đưa được nhiều giao dịch vào các block hơn sẽ cải thiện thông lượng tổng thể.
Dùng địa chỉ và ví hỗ trợ Segregated Witness (SegWit). Cách này giảm phần dữ liệu được tính nhiều nhất cho chi phí, nên Transaction Size tính theo virtual bytes sẽ giảm.
Các đặc điểm chính của Transaction Size
Những yếu tố làm nó tăng hoặc giảm:
- Inputs: Nhiều input thêm chữ ký và script, điều này làm tăng số byte.
- Outputs: Thêm người nhận và output trả lại tiền thừa làm tăng kích thước, dù thường ít hơn so với input.
- Scripts: Script phức tạp hoặc điều kiện chi tiêu thêm dữ liệu phải được đưa vào.
- Witness: Với SegWit, một phần dữ liệu được chiết khấu khi tính theo virtual bytes.
- Tái sử dụng: Gom các đồng nhỏ khi phí thấp có thể giảm Transaction Size trong tương lai.
Transaction Size được tính như thế nào?
Trên Bitcoin, dữ liệu được tuần tự hóa thành byte. Với SegWit, kích thước thường được biểu diễn bằng weight và virtual bytes.
- Weight: số byte non witness nhân 4 cộng với số byte witness.
- Virtual bytes: vbytes bằng weight chia cho 4, làm tròn lên.
Ví dụ: nếu non witness là 180 byte và witness là 100 byte, weight bằng 180 nhân 4 cộng 100 là 820, và vbytes bằng 820 chia cho 4 là 205.
Các cách gọi khác
Các cách khác mà người ta tham chiếu kích thước:
- Bytes: Độ dài tuần tự thô không có chiết khấu.
- Vbytes: Virtual bytes được thị trường phí dùng sau chiết khấu SegWit.
- Weight: Thước đo nội bộ áp dụng tỷ lệ khác nhau cho phần witness và phần non witness.
Số bitcoin bạn gửi không làm thay đổi Transaction Size. Cấu trúc của giao dịch mới quyết định kích thước.
Ví dụ
Gửi cho một người bạn với một input và một output có thể khoảng vài trăm virtual bytes, trong khi dùng năm input nhỏ có thể đẩy Transaction Size lên cao hơn nhiều và làm tăng phí.
Sự thật thú vị
SegWit giới thiệu khái niệm weight và virtual bytes để có thể đưa nhiều giao dịch vào một block hơn mà không thay đổi con số một megabyte cũ, đây là một đoạn lịch sử thú vị của tiền mã hóa kết hợp với cải tiến kỹ thuật.
Kết luận
Hãy coi Transaction Size như dấu vết chi phí của bạn. Cố gắng giảm nó khi có thể, rồi bạn sẽ cảm thấy lợi ích khi đến lúc phải trả phí.
