Mempool là gì? Hành trình giao dịch vào blockchain

Mempool là gì?

Mempool, viết tắt của memory pool, là khu vực lưu trữ tạm thời các giao dịch hợp lệ nhưng chưa được đưa vào khối. Khi người dùng gửi một giao dịch blockchain, giao dịch thường được truyền đến các node, kiểm tra theo quy tắc của mạng rồi chờ trong mempool để miner hoặc validator lựa chọn.

Mempool không phải là một hàng đợi duy nhất nằm ở trung tâm blockchain. Mỗi node tham gia mạng có thể duy trì mempool riêng dựa trên những giao dịch node đó đã nhận, chính sách chuyển tiếp và giới hạn tài nguyên của nó. Vì vậy, hai trình khám phá blockchain hoặc hai ví có thể hiển thị trạng thái chờ hơi khác nhau tại cùng một thời điểm.

Cần phân biệt ba trạng thái cơ bản:

  • Đã phát giao dịch: ví đã ký và gửi dữ liệu giao dịch đến một hoặc nhiều node.
  • Đang ở mempool: một node đã chấp nhận giao dịch nhưng giao dịch chưa nằm trong khối được xác nhận.
  • Đã xác nhận: giao dịch đã được đưa vào một khối hợp lệ; mức độ chắc chắn tăng khi có thêm khối nối tiếp.

Giao dịch đi qua mempool như thế nào?

Ảnh minh hoạ: Mempool là gì? Hành trình giao dịch vào blockchain

Hành trình phổ biến của một giao dịch diễn ra theo các bước sau.

1. Ví tạo và ký giao dịch

Ví chọn địa chỉ nhận, số tài sản cần chuyển, nguồn tiền hoặc trạng thái tài khoản liên quan, sau đó tạo chữ ký bằng khóa riêng. Khóa riêng không cần và không nên được gửi lên mạng; các node chỉ nhận dữ liệu giao dịch cùng chữ ký để xác minh.

Với Bitcoin, giao dịch sử dụng các đầu ra chưa chi tiêu, thường gọi là UTXO. Trên các blockchain theo mô hình tài khoản, giao dịch có thể phụ thuộc vào số dư và thứ tự nonce của tài khoản.

2. Giao dịch được phát tới node

Ví gửi giao dịch đến node do ví tự vận hành hoặc node của nhà cung cấp dịch vụ. Node nhận giao dịch sẽ kiểm tra các điều kiện như định dạng, chữ ký, nguồn tiền, xung đột chi tiêu và quy tắc đồng thuận liên quan.

Việc ví báo đã gửi không đồng nghĩa mọi node trên mạng đều đã nhận giao dịch. Nếu kết nối lỗi hoặc nhà cung cấp không chuyển tiếp, giao dịch có thể chưa được lan truyền rộng.

3. Node chấp nhận giao dịch vào mempool

Nếu giao dịch hợp lệ và đáp ứng chính sách cục bộ, node lưu giao dịch trong mempool. Chính sách này có thể bao gồm mức phí chuyển tiếp tối thiểu, giới hạn kích thước, quy tắc xử lý giao dịch phụ thuộc và cách chấp nhận giao dịch thay thế.

Có thể bạn chưa biết:  Sàn Gate.io là gì? Phí, KYC, bảo mật và rủi ro

Để hiểu vai trò của từng thiết bị trong quá trình kiểm tra và chuyển tiếp, người mới có thể đọc thêm về full node, light node và validator. Không phải mọi loại node hoặc ứng dụng ví đều tự duy trì một mempool hoàn chỉnh.

4. Giao dịch được truyền giữa các node

Node có thể thông báo giao dịch mới cho các node ngang hàng. Qua quá trình truyền tin ngang hàng, giao dịch dần xuất hiện trong mempool của nhiều node khác nhau. Tốc độ lan truyền phụ thuộc vào kết nối mạng, cấu trúc các peer, chính sách của node và tình trạng của blockchain.

5. Miner hoặc validator lựa chọn giao dịch

Đơn vị tạo khối chọn một tập hợp giao dịch hợp lệ để xây dựng khối ứng viên. Phí là một yếu tố quan trọng, nhưng cách lựa chọn cụ thể còn phụ thuộc vào cơ chế của blockchain, giới hạn khối, quan hệ phụ thuộc giữa các giao dịch và phần mềm tạo khối.

Do đó, giao dịch vào mempool trước chưa chắc được xác nhận trước. Mempool không nhất thiết hoạt động theo nguyên tắc ai đến trước phục vụ trước.

6. Giao dịch được đưa vào khối

Khi một khối chứa giao dịch được mạng chấp nhận, các node cập nhật trạng thái blockchain và loại giao dịch đó khỏi mempool. Các giao dịch xung đột hoặc không còn hợp lệ cũng có thể bị loại bỏ.

Trong một số tình huống tổ chức lại chuỗi, giao dịch từng xuất hiện trong một khối có thể trở lại trạng thái chưa xác nhận nếu nó vẫn hợp lệ và được node chấp nhận lại.

Vì sao mỗi node có thể nhìn thấy mempool khác nhau?

Không tồn tại một mempool toàn cầu mà mọi node phải sao chép giống hệt nhau. Sự khác biệt có thể xuất hiện vì các nguyên nhân sau:

  • Thời điểm nhận giao dịch khác nhau: giao dịch cần thời gian để truyền qua mạng ngang hàng.
  • Kết nối peer khác nhau: mỗi node kết nối với một nhóm node lân cận riêng nên đường truyền giao dịch không giống nhau.
  • Chính sách chuyển tiếp khác nhau: một node có thể từ chối lưu hoặc chuyển tiếp giao dịch mà node khác vẫn chấp nhận.
  • Giới hạn bộ nhớ khác nhau: node có cấu hình tài nguyên thấp hơn có thể loại bỏ giao dịch sớm hơn khi mempool tăng lớn.
  • Ngưỡng phí cục bộ khác nhau: khi tài nguyên hạn chế, node có thể ưu tiên giữ giao dịch có mức phí hiệu quả cao hơn.
  • Cách xử lý giao dịch thay thế khác nhau: một giao dịch xung đột có thể được một số node chấp nhận thay thế nhưng chưa xuất hiện tại node khác.
  • Trạng thái chuỗi tạm thời khác nhau: các node chưa đồng bộ cùng một đầu chuỗi có thể đánh giá giao dịch theo trạng thái khác nhau.
  • Giao dịch có quan hệ cha – con: giao dịch con phụ thuộc vào giao dịch cha chưa xác nhận, khiến chính sách tiếp nhận và lựa chọn theo gói trở nên quan trọng.

Vì vậy, thông báo không tìm thấy trong mempool của một trình khám phá không đủ để kết luận giao dịch chưa từng được phát hoặc đã biến mất khỏi toàn mạng. Kết quả chỉ phản ánh dữ liệu mà dịch vụ đó quan sát được.

Mempool Bitcoin hoạt động như thế nào?

Mempool Bitcoin là tập hợp cục bộ các giao dịch Bitcoin chưa xác nhận mà một node đã kiểm tra và chấp nhận. Miner thường xây dựng khối ứng viên từ các giao dịch họ quan sát được, có xét đến giới hạn tài nguyên của khối và doanh thu phí.

Có thể bạn chưa biết:  Balancer là gì? Thông tin chi tiết và đánh giá token BAL

Trong Bitcoin, cần phân biệt tổng phí và mức phí theo kích thước giao dịch. Một giao dịch có tổng phí lớn nhưng dữ liệu cũng lớn chưa chắc được ưu tiên hơn giao dịch nhỏ có mức phí hiệu quả cao hơn. Vì thế, chỉ nhìn số BTC trả làm phí có thể dẫn đến đánh giá sai về khả năng được xác nhận.

Kích thước giao dịch Bitcoin không đơn thuần phụ thuộc vào số BTC được chuyển. Nó còn liên quan đến số lượng đầu vào, đầu ra và loại dữ liệu giao dịch. Chuyển một giá trị lớn không mặc nhiên cần phí cao hơn chuyển một giá trị nhỏ nếu cấu trúc giao dịch tương tự.

Một số giao dịch Bitcoin hỗ trợ cơ chế thay thế bằng phí cao hơn nếu được tạo với điều kiện phù hợp. Ngoài ra, giao dịch nhận đầu ra chưa xác nhận có thể tạo giao dịch con với phí đủ hấp dẫn để miner xem xét cả gói giao dịch. Khả năng sử dụng các phương án này phụ thuộc vào ví, cấu trúc giao dịch và chính sách của mạng tại thời điểm xử lý.

Mempool đầy có nghĩa là gì?

Ảnh minh hoạ: Mempool là gì? Hành trình giao dịch vào blockchain

Cụm từ mempool đầy thường mô tả tình trạng lượng giao dịch chờ tăng cao so với dung lượng mà một node dành cho mempool. Đây không phải là dấu hiệu blockchain đã hết chỗ vĩnh viễn hoặc không thể tiếp nhận thêm giao dịch.

Khi đạt giới hạn cục bộ, node có thể loại bỏ các giao dịch có mức phí hiệu quả thấp hơn và tăng ngưỡng tiếp nhận tạm thời. Một node khác có cấu hình lớn hơn vẫn có thể lưu các giao dịch đó. Bởi vậy, cùng một giao dịch có thể còn trong mempool của node này nhưng đã bị loại khỏi node khác.

Bị loại khỏi mempool cũng không đồng nghĩa giao dịch chắc chắn bị hủy trên toàn mạng. Giao dịch có thể vẫn tồn tại ở node khác, được phát lại hoặc được xác nhận nếu miner đã nhận được. Ngược lại, nếu không còn node nào chuyển tiếp và giao dịch chưa được đưa vào khối, ví có thể cần phát lại hoặc tạo phương án thay thế phù hợp.

Lưu lượng mạng ảnh hưởng đến phí và thời gian xác nhận ra sao?

Mỗi khối chỉ có khả năng chứa một lượng dữ liệu hoặc mức tài nguyên hữu hạn theo quy tắc của blockchain. Khi nhiều người cùng gửi giao dịch, nhu cầu đưa giao dịch vào khối có thể vượt quá không gian sẵn có trong ngắn hạn.

Trong giai đoạn lưu lượng cao:

  • Số giao dịch trong mempool có xu hướng tăng.
  • Các giao dịch trả mức phí cạnh tranh hơn thường có cơ hội được chọn sớm hơn.
  • Giao dịch có mức phí thấp có thể phải chờ nhiều khối.
  • Công cụ ước tính phí có thể đề xuất mức cao hơn dựa trên dữ liệu đang quan sát.

Khi lưu lượng giảm, các giao dịch chờ có thể lần lượt được xử lý và mức phí cần thiết cho mục tiêu xác nhận nhanh có thể giảm. Không có một mức phí cố định phù hợp cho mọi thời điểm, mọi blockchain hay mọi giao dịch.

Người dùng nên chọn phí theo mức độ khẩn cấp và dữ liệu hiện tại của mạng thay vì sao chép một con số cũ. Ước tính của ví chỉ là dự báo, không phải cam kết giao dịch sẽ được xác nhận trong một số khối nhất định.

Có thể bạn chưa biết:  Binance là gì? Phí, KYC và cách dùng sàn an toàn

Cách kiểm tra và xử lý giao dịch trong mempool

Khi giao dịch chưa được xác nhận, trước tiên hãy lấy mã giao dịch, thường gọi là transaction ID hoặc txid, từ ví hoặc nền tảng gửi. Sau đó kiểm tra trên trình khám phá phù hợp với đúng blockchain và đúng mạng đã sử dụng.

Các thông tin nên xem gồm:

  1. Giao dịch có được trình khám phá nhận diện hay không.
  2. Trạng thái hiện tại là chưa xác nhận, đã xác nhận hay thất bại.
  3. Địa chỉ gửi, địa chỉ nhận và tài sản có đúng không.
  4. Mức phí hoặc phí theo tài nguyên có cạnh tranh với lưu lượng hiện tại không.
  5. Giao dịch có phụ thuộc vào giao dịch chưa xác nhận khác không.
  6. Với mạng dùng nonce, có giao dịch trước đó đang chờ hay không.

Nếu giao dịch vẫn trong mempool, người dùng có thể chờ khi không khẩn cấp. Nếu cần xử lý sớm, hãy kiểm tra xem ví có hỗ trợ tăng phí, thay thế giao dịch hoặc phương án hợp lệ khác hay không. Hướng dẫn kiểm tra và xử lý giao dịch crypto bị pending giúp phân biệt các trường hợp trước khi thao tác.

Không nên gửi lặp lại nhiều giao dịch khi chưa hiểu nguyên nhân. Trên mạng UTXO, thao tác sai có thể tạo thêm giao dịch xung đột hoặc chuỗi giao dịch phụ thuộc. Trên mạng dùng tài khoản, nonce bị kẹt có thể khiến các giao dịch gửi sau tiếp tục chờ.

Nếu rút tiền từ sàn giao dịch, trạng thái đang xử lý trên sàn chưa chắc có nghĩa giao dịch đã vào mempool. Nền tảng có thể đang kiểm tra nội bộ trước khi phát giao dịch lên blockchain. Chỉ khi có mã giao dịch hợp lệ, người dùng mới có thể đối chiếu trực tiếp trên trình khám phá mạng.

Tuyệt đối không cung cấp seed phrase hoặc khóa riêng cho người tự nhận có thể giải phóng giao dịch. Việc kiểm tra txid không yêu cầu tiết lộ thông tin bí mật của ví.

Những hiểu lầm thường gặp về mempool

Ảnh minh hoạ: Mempool là gì? Hành trình giao dịch vào blockchain

Giao dịch ở mempool đã hoàn tất

Chưa đúng. Giao dịch trong mempool vẫn là giao dịch chưa xác nhận. Người nhận nên căn cứ vào số xác nhận phù hợp với giá trị và mức độ rủi ro, thay vì chỉ dựa vào trạng thái đã nhìn thấy trên mạng.

Mọi node đều có cùng danh sách giao dịch

Không đúng. Mempool là dữ liệu cục bộ, chịu ảnh hưởng của thời điểm truyền, kết nối, cấu hình và chính sách từng node.

Phí cao luôn bảo đảm vào khối tiếp theo

Phí cạnh tranh có thể tăng khả năng được chọn nhưng không tạo ra bảo đảm tuyệt đối. Khối có thể đã được xây dựng, giao dịch có thể chưa truyền đến miner, có quan hệ phụ thuộc hoặc không đáp ứng một chính sách cụ thể.

Mempool đầy nghĩa là blockchain ngừng hoạt động

Không đúng. Khối mới vẫn có thể tiếp tục được tạo và xử lý giao dịch. Tình trạng này chủ yếu thể hiện sự cạnh tranh cao đối với không gian khối và tài nguyên lưu trữ tạm thời của node.

Giao dịch biến mất khỏi một trình khám phá là tiền đã mất

Không thể kết luận như vậy. Cần kiểm tra trạng thái trên ví, node hoặc nhiều nguồn quan sát đáng tin cậy, đồng thời xác minh giao dịch có bị thay thế, bị loại cục bộ hay đã được xác nhận dưới trạng thái khác hay không.

Kết luận

Mempool là vùng chờ cục bộ của node dành cho các giao dịch hợp lệ chưa được đưa vào khối. Giao dịch được ví tạo và ký, phát tới mạng, kiểm tra, lưu tạm trong mempool rồi được miner hoặc validator lựa chọn theo quy tắc của blockchain.

Do mỗi node có kết nối, cấu hình và chính sách riêng, không có một ảnh chụp mempool duy nhất đại diện tuyệt đối cho toàn mạng. Khi lưu lượng tăng, cạnh tranh không gian khối thường khiến thời gian chờ và mức phí cần thiết thay đổi. Hiểu quá trình này giúp người dùng đánh giá giao dịch pending chính xác hơn, lựa chọn phí theo tình trạng thực tế và tránh các thao tác thiếu an toàn.