Tổng quan
Để hiểu vị trí mà các Mempool nắm giữ trong các giao dịch tiền mã hoá, hãy cùng xem qua tổng quan nhanh về toàn bộ quá trình. Trên Blockchain, một giao dịch được tiến hành và sau đó được xác minh bởi các thợ đào hoặc người xác nhận để mạng vẫn an toàn.
Mempool là gì?
Trong một giao dịch Blockchain, Mempool hay còn gọi là Memory Pool là danh sách các giao dịch đang chờ xử lý và chờ xác thực từ một Node trước khi nó được cam kết với một khối trên blockchain. Mỗi Node này đều có bộ nhớ và dung lượng riêng của mình để lưu trữ các giao dịch chưa được xác nhận. Khi giao dịch đó được xử lý, nó sẽ bị xoá khỏi Mempool. Mặc dù điều này là ổn khi đề cập tới một Mempool cụ thể, nhưng điều quan trọng là không có một Mempool khổng lồ nào trải rộng trên toàn bộ chuỗi khối.
Kích thước Mempool cao cho biết nhiều lưu lượng mạng hơn, dẫn đến thời gian xác nhận trung bình lâu hơn và phí ưu tiên cao hơn. Kích thước Mempool là một số liệu tốt để ước tính thời gian tắc nghẽn sẽ kéo dài trong khi biểu đồ Số lượng giao dịch Mempool cho chúng ta biết có bao nhiêu giao dịch đang gây ra tắc nghẽn.
Mempool
Mối quan hệ giữa Mempool, Full Node và Miner Node trong Bitcoin
Với mọi Full Node đều được có quyền để truy cập vào Mempool với mục đích lưu trữ tất cả các giao dịch cũng như các khối của Bitcoin. Ngoài ra, Full Node còn có mục đích xác thực tất cả các giao dịch theo nguyên tắc của giao thức Bitcoin.
Các Full Node sẽ chạy và hoạt động nhằm để xác minh tính xác thực như xác minh rằng chữ ký là chính xác để đảm bảo các giao dịch được xác minh một cách hợp lệ. Nếu có bất kì điều kiện nào không được đáp ứng, giao dịch sẽ bị từ chối. Tuy nhiên, một khi giao dịch đã được xác minh theo các quy tắc hợp lệ, nó sẽ được đưa vào Bitcoin Mempool.
Khi các giao dịch chưa được xử lý đã ở Mempool, các Miner Node sẽ là người chọn và sắp xếp chúng vào các Block tiếp theo của Bitcoin. Các Miner Node sẽ được lựa chọn trên tiêu chí là phí giao dịch, giao dịch nào trả phí cao nhất sẽ được ưu tiên xử lý trước.
Cách thức hoạt động của Mempool
Tầm quan trọng của Mempool
Vì các Blockchains là bất biến, điều quan trọng là các giao dịch được nhập vào Blockchain phải hợp lệ và không có lỗi. Node lưu trữ Mempool đóng một vai trò quan trọng trong việc xác thực từng giao dịch trước khi quy trình được bắt đầu để cam kết với blockchain.
Đối với các nhà phát triển, điều quan trọng là phải hiểu các bài kiểm tra xác thực để hiểu tại sao các giao dịch có thể thất bại hoặc bị mắc kẹt ở trạng thái ‘Đang chờ xử lý’:
Nguồn vốn sẵn có
Node xác nhận xem địa chỉ người gửi có đủ tiền để trang trải chi phí của cả số tiền được gửi và tiền để hoàn thành giao dịch hay không. Nếu quá trình xác thực này không thành công, giao dịch sẽ bị xóa khỏi Mempool. Điều quan trọng là sử dụng các tham số chính xác của việc gửi và địa chỉ đích để đảm bảo rằng quá trình xác thực này được thông qua.
Hiệu lực của Transaction Signatures
Mỗi giao dịch cần được ký bởi địa chỉ của người gửi. Điều này để xác định rằng người gửi thực sự là người dùng chính xác. Nút sẽ xác nhận rằng chữ ký là chữ ký chính xác được đính kèm với địa chỉ của người gửi.
Phí gas
Tùy thuộc vào mempool, có giới hạn về số lượng giao dịch có thể được thực hiện trong mempool cùng một lúc. Geth, ứng dụng khách Ethereum phổ biến, có giới hạn mặc định là 4096 giao dịch đang chờ xử lý và 1024 giao dịch được xếp hàng đợi. Khi đạt đến giới hạn này, các giao dịch có giá gas thấp nhất sẽ bị loại bỏ khỏi nhóm để quản lý không gian.
Kích thước của một bộ nhớ pool
Khi một node nhận được một khối hợp lệ, tất cả giao dịch đã xử lý được lưu trữ trong nhóm bộ nhớ sẽ bị xóa. Nó là để tạo không gian cho giao dịch mới chưa được xác nhận cần được thêm vào blockchain tiếp theo. Điều này sẽ dẫn đến việc giảm kích thước mempool như bạn thấy trong hình dưới đây.
Kích thước nhóm bộ nhớ dao động tùy thuộc vào số lượng giao dịch đang được chuyển tiếp. Ngoài ra, bạn phải lưu ý rằng một khối chỉ có thể chứa một số lượng giao dịch nhất định. Hãy tưởng tượng điều gì sẽ xảy ra nếu có một số lượng lớn giao dịch đến Mempool. Mempool sẽ được điền và do đó sẽ xảy ra sự chậm trễ trong giao dịch.
Cũng do số lượng node có sẵn hạn chế, bộ nhớ cần thiết để lưu trữ tất cả các giao dịch chưa được xác nhận trên mạng cũng trở nên hạn chế. Vì vậy, để tránh bị crash do giao dịch quá tải, Mempool khi đạt đến giới hạn kích thước, nó sẽ tự động đặt ngưỡng phí tối thiểu. Bất kỳ giao dịch nào thấp hơn ngưỡng sẽ bị xóa khỏi Mempool. Chỉ các giao dịch mới đáp ứng phí Mempool mới được nhóm bộ nhớ chấp nhận.
Vậy có thể tìm kích thước mempool này (tính bằng MB) và số lượng giao dịch trong mempool ở đâu? Không phải tất cả các đồng tiền đều có một số loại hình ảnh mempool hoặc mempool explorer, nhưng đối với Bitcoin thì có. Ngoài ra, có thể tham khảo một số website để đọc về Mempool size, phí giao dịch và cách thức giao dịch.
Một số website theo dõi chỉ số Mempool
Để sử dụng Mempool, các miners có thể sử dụng những công cụ mining có khả năng duy trì nhiều kết nối ngang hàng thay vì một nodes thông thường. Những giao dịch có phí cao hơn sẽ được miners chọn ra khỏi Mempool và thêm vào block nhanh hơn so với các giao dịch có phí thấp.
Tất cả các giao dịch Bitcoin đơn giản là giao dịch đang chờ xử lý và chỉ tồn tại trong mempool trước khi nó được xác nhận. Bất cứ khi nào người dùng bắt đầu một giao dịch Bitcoin, nó sẽ được ký bằng mật mã và được gửi đến mạng lưới Bitcoin để chờ thợ khai thác xác minh giao dịch và thêm nó vào blockchain. Mọi giao dịch đã xác minh đều có sẵn công khai và có thể truy cập được trên sổ cái công khai như một phương tiện để ghi lại và phân phối một cách minh bạch mỗi giao dịch Bitcoin khiến chúng không thể bị thao túng.
- http://bitcointicker.co/networkstats/
- https://jochen-hoenicke.de/queue/#2,24h
- https://www.blockchain.com/en/charts/mempool-size
Sự hạn chế của kiến trúc Mempool
Mặc dù Mempool đã mang lại rất nhiều giá trị quan trọng, tuy nhiên Mempool cũng đem lại rất nhiều ảnh hưởng tới quyền lợi người dùng (MEV), có thể hiểu MEV là lợi nhuận mà Miner Node kiếm được nhờ việc lợi dụng quyền lợi của mình. Bởi vì có thể hiểu Miner Node sẽ ưu tiên những giao dịch được trả phí cao hơn hoặc các lệnh có lợi cho mình, dẫn đến những tác hại phổ biến với MEV là:
- Bot giao dịch chênh lệch giá của bên thứ ba.
- Exchange front-running bot, các bot này có thể giám sát các giao dịch lớn đang chờ được xử lý trên Mempool và tận dụng chúng để kiếm lời.
Tổng kết
Mempool là một phần rất quan trọng của mạng Bitcoin. Nó cho phép hiểu được mức độ đông đúc của mạng lưới và liệu có “tắc đường giao dịch” dẫn đến thời gian xác nhận chậm hơn và phí cao hơn hay không.