Chức năng chính của mempool là lưu trữ giao dịch trước khi chúng được xác nhận.
Bitcoin và Ethereum là những ví dụ về các blockchain sử dụng mempool.
Tắc nghẽn Blockchain là nguyên nhân chính khiến giao dịch bị mắc kẹt trong thời gian dài.
Nếu bạn muốn giao dịch được xử lý nhanh hãy sử dụng phí gas phù hợp.
Chúng ta thường thực hiện các giao dịch trên nhiều chuỗi khối khác nhau như Ethereum Và Bitcoin nhưng chúng ta có thể không hiểu rõ một số khía cạnh kỹ thuật của chúng. Tuy nhiên, việc biết cách hoạt động của một số thành phần của các blockchain có thể giúp chúng ta tăng tốc giao dịch hoặc giảm chi phí của chúng.
Trong phân tích này, chúng tôi thảo luận về Mempool trong blockchain và cách nó hoạt động. Chúng tôi cũng sẽ giải thích cách bạn có thể xử lý các giao dịch đang chờ hoặc bị trễ trên các mạng Bitcoin và Ethereum.
Đọc thêm: Blockchain Explorer là gì?
Mempool, một hình thức viết tắt của bể nhớ, là một không gian nút để lưu trữ thông tin như giao dịch chưa được xác nhận. Nó hoạt động như một phòng chờ cho các giao dịch chưa được xác nhận hoặc chấp thuận. Hãy nhớ rằng các giao dịch chỉ được bao gồm trong một khối khi chúng được xác minh hoặc chấp thuận.
Nói cách khác, mempool là một không gian nơi giao dịch đang chờ đợi trước khi được thêm vào một khối.
Khi giao dịch được xác minh, điều đó có nghĩa là tất cả các đồng nghiệp trên blockchain đều có thể truy cập thông tin. Tuy nhiên, trước khi giao dịch được chấp nhận, các nút khác nhau xác minh chữ ký, kiểm tra xem đầu ra có lớn hơn đầu vào không và hệ thống chưa gửi tài sản kỹ thuật số. Nếu bất kỳ điều kiện nào không đáp ứng, người xác minh hoặc máy đào sẽ từ chối giao dịch.
Quan trọng là hiểu rằng không có một mempool duy nhất cho một blockchain. Do đó, mỗi nút trên mạng blockchain đều có mempool riêng của mình, còn gọi là transaction pool. Do đó, mempools của các nút khác nhau tạo thành một mempool chung của blockchain.
Ví dụ, các giao dịch được thực hiện trên Bitcoin Mạng không được thêm trực tiếp vào blockchain. Mỗi nút lưu trữ giao dịch trong bộ nhớ tạm thời cho giao dịch được gọi là mempool hoặc txpool. Kết quả là, chúng tạo thành một hàng đợi cần được kiểm tra và xác minh.
Vì vậy, chúng tôi có thể định nghĩa mempool đơn giản là một hàng đợi được tổ chức của các giao dịch cần được sắp xếp và thêm vào một khối.
Bể nhớ (Mempool) trong một Node- Babypips
Hãy nhớ rằng giao dịch chỉ tồn tại trong mempool trước khi được xác nhận hoặc đóng gói vào các khối. Trong sơ đồ trên, phần màu xanh là không gian mempool tồn tại trong một nút. Sơ đồ tiếp theo cho thấy phân phối của mempools trong một mạng.
Các nút đầy đủ trong Mạng lưới Bitcoin có Mempools - Babypips
Như được thấy trong hình ảnh trên, mỗi nút đầy đủ trong mạng như bitcoin hoặc Ethereum đều có một mempool. Tuy nhiên, mỗi giao dịch sẽ được phát sóng trên các nút mạng như được chỉ ra trong sơ đồ tiếp theo.
Một mạng lưới các nút Bitcoin - Babypips
Như chúng tôi lưu ý trong sơ đồ, người dùng màu tím bắt đầu một giao dịch bitcoin được lưu trữ trong mempool trước khi phê duyệt. Điều cần lưu ý là một khi giao dịch được xác minh, nó sẽ được thêm vào một khối, như hình minh họa tiếp theo cho thấy.
Một giao dịch được thêm vào tệp (khối) - Babypips
Mũi tên màu xanh trong sơ đồ cho thấy điều gì xảy ra khi giao dịch được xác minh, nó sẽ được chuyển từ txpool sang khối. Ở giai đoạn đó, tất cả các máy tính sẽ có tệp cập nhật về giao dịch được xác nhận.
Nói chung, Mempools không hoạt động theo cách hoàn toàn giống nhau. Cách hoạt động của chúng phụ thuộc vào kiến trúc của từng blockchain. Nói cách khác, chúng hoạt động khác nhau tùy thuộc vào loại cơ chế đồng thuận của các mạng. Các giao dịch được xác minh bởi các nhà xác minh hoặc các nhà khai thác tùy thuộc vào mạng.
Ví dụ, các giao dịch trên blockchain của bitcoin được xác minh bởi các thợ mỏ vì nó sử dụng cơ chế ủy quyền công việc chứng thực. Trong khi đó, các giao dịch trên mạng Ethereum được chấp thuận bởi các nhà xác minh vì blockchain sử dụng cơ chế ủy quyền cổ phần chứng thực.
Đọc thêm: Định hình lại Ethereum và Điều lo lắng về Sức khỏe Mạng lưới tiềm ẩn
Mạng bitcoin yêu cầu ít nhất sáu xác nhận cho mỗi giao dịch trong khi blockchain Ethereum cần ít nhất bảy xác nhận. Cơ bản, mỗi giao dịch trong mempool có một trạng thái cụ thể. Nó có thể đang chờ xử lý hoặc được xếp hàng. Khi một bộ xử lý hoặc người đào xác nhận một giao dịch trong hàng đợi, nó trở thành một giao dịch đang chờ xử lý.
Xem thêm: Mạng Lightning của Bitcoin là gì?
Hãy xem một ví dụ đơn giản về những gì xảy ra khi bạn gửi ETH cho một người bạn. Quy trình bao gồm việc nhập địa chỉ ví, thiết lập phí gas và xác nhận giao dịch.
Sau khi bạn thực hiện những điều này, giao dịch của bạn sẽ được đưa vào hàng đợi, chờ xác minh. Lúc đó, nó sẽ được phát sóng đến toàn bộ mạng lưới các nút nhưng chưa là một phần của bất kỳ khối nào.
Nếu các trình xác thực kiểm tra giao dịch và thấy rằng nó đáp ứng tất cả các điều kiện thì nó sẽ được chuyển từ trạng thái được xếp hàng sang trạng thái đợi xác nhận. Từ đó, một trong các trình xác thực sẽ chọn giao dịch từ mempool và thêm nó vào một khối mới.
Ở giai đoạn đó, một số người xác minh thông qua để cho phép bạn của bạn nhận ETH.
Bước 1: Người gửi nhập địa chỉ đích, chấp nhận phí giao dịch mạng và nhấn ‘GỬI’
BƯỚC 2: Giao dịch được thêm vào mempool gần nhất và được đưa vào hàng đợi.
BƯỚC 3: Dữ liệu mempool được phát sóng đến các nút khác trong mạng.
BƯỚC 4: Một nút phê duyệt giao dịch và trạng thái của nó thay đổi từ Đang chờ xử lý thành Đang chờ xử lý.
BƯỚC 5: Một người đào chọn giao dịch chờ xử lý và thêm vào một khối.
BƯỚC 6: Các nút còn lại loại bỏ giao dịch khỏi mempool của chúng.
BƯỚC 7: Giao dịch hoàn tất và tài sản được chuyển vào ví đích.
Bây giờ khi bạn đã hiểu được nguyên nhân gây trì hoãn giao dịch khi xử lý nó, hãy xem xét những lý do mà một số giao dịch bị kẹt và những biện pháp bạn có thể thực hiện.
Lý do chính tại sao các giao dịch bị kẹt trong mempool là do tắc nghẽn mạng. Khi có áp lực lượng giao dịch cao đè lên không gian khối có sẵn, điều này kích hoạt hàng đợi mempool. Điều này xảy ra nếu số giao dịch đang chờ xử lý lớn hơn số giao dịch trung bình trong một khối.
Một số sự kiện và tin tức ảnh hưởng đến mức độ giao thông trên blockchain có thể gây tắc nghẽn trên mạng. Ví dụ, việc phát triển, niêm yết trên nhiều sàn giao dịch hơn hoặc các đối tác mới có thể dẫn đến tắc nghẽn. Tuy nhiên, có những yếu tố giúp các nút ưu tiên xử lý một số giao dịch cụ thể.
Phí giao dịch Số lượng phí gắn liền với các giao dịch khác nhau quyết định những giao dịch được phê duyệt trước. Khi các thợ đào và người xác minh được thúc đẩy bởi lợi nhuận, họ ưu tiên các giao dịch có phí cao vì điều đó giúp họ nhận được phần thưởng cao hơn.
Do đó, các thợ mỏ và người xác minh tổ chức giao dịch trong mempools của họ dựa trên phí mỗi đơn vị như satoshis/byte. Cuối cùng, họ thêm vào các khối các giao dịch có phí cao nhất trước. Hệ thống này buộc người dùng phải thiết lập phí cao cho các giao dịch của họ.
Tuy nhiên, tùy thuộc vào lưu lượng mạng, người dùng có thể thiết lập phí gas tối ưu và vẫn có thể xác nhận giao dịch của họ đúng thời gian. Quan trọng đối với người dùng là kiểm tra các yếu tố như dữ liệu lịch sử, tắc nghẽn mạng, khối lượng giao dịch và phân bổ phí trong mempool trước khi đặt phí gas của riêng họ.
Thời gian xác nhận: Người dùng cũng có thể cần kiểm tra thời gian xác nhận trước khi đặt phí của họ. Khi thời gian xác nhận cao, điều đó có nghĩa rằng các thợ mỏ và người xác minh ưa thích giao dịch có phí cao. Nói một cách ngắn gọn, khi bộ nhớ tạm kẹt, điều đó có nghĩa là các giao dịch có phí thấp sẽ mất nhiều thời gian để xử lý.
Không gian khối Không gian khối cũng xác định thời gian trôi qua trước khi giao dịch được chấp nhận. Do không gian khối luôn luôn bị hạn chế, người đào và người xác minh ưu tiên cho các giao dịch có phí cao hơn. Điều này có nghĩa là các giao dịch có phí thấp sẽ mất nhiều thời gian trong mempool.
Kích thước của bộ nhớ tạm và loại bỏ: Mỗi giao dịch được thêm vào khối là một mảnh dữ liệu có kích thước được đo bằng kilobyte. Do đó, mempool lớn chứa nhiều giao dịch. Thông thường, các node đặt kích thước mempool của mình, thường là 300MB cho Bitcoin. Khi mempool đạt đến ngưỡng, node có thể đặt một phí giao dịch tối thiểu.
Khi người dùng hiểu được những động lực như vậy, việc đặt phí giao dịch và duyệt chúng trong một khoảng thời gian hợp lý sẽ trở nên dễ dàng. Ví dụ, họ có thể tránh việc trả quá nhiều phí trong những thời điểm thấp điểm hoạt động hoặc trả quá thấp trong những thời điểm cao điểm khi họ có các giao dịch cần được xử lý gấp. Họ cũng có thể đưa ra những dự đoán gần đúng về tốc độ xác thực giao dịch của mình.
Thường thì, các giao dịch bị mắc kẹt trong mempool vì nhiều lý do nhưng hầu hết liên quan đến phí gas. Tuy nhiên, lý do lớn nhất khiến một số giao dịch bị mắc kẹt trong mempool là tắc nghẽn mạng. Khi có tắc nghẽn, các giao dịch có phí cao được xử lý trước, để lại các giao dịch khác bị mắc kẹt ở đó.
Do đó, điều tốt nhất trong thời gian cao điểm mạng là tăng phí giao dịch. Điều này là vì khi có tắc nghẽn, phí gas tăng đột ngột. Vì vậy, nếu bạn thực hiện giao dịch trong thời gian bận rộn, bạn nên phù hợp phí của bạn với những người dùng mạng khác đang trả.
Lý do khác khi giao dịch bị mắc kẹt trong mempool là sự giảm hash rate. Chúng ta nói rằng hash rate đã giảm khi mạng không có đủ công suất tính toán vật lý để thực hiện một số lượng giao dịch chờ xử lý cao.
Bạn có một số lựa chọn khi giao dịch của bạn bị mắc kẹt trong mempool. Lựa chọn đầu tiên là hủy giao dịch. Trong trường hợp này, bạn sẽ phải trả một khoản phí giao dịch khác. Ví dụ, bạn có thể gửi lại giao dịch với cùng một nonce.
Thứ hai, bạn có thể chọn tăng tốc giao dịch bằng cách kết nối Ledger của mình với ví của bên thứ ba như MetaMask hoặc Electrum. Tuy nhiên, bạn sẽ cần phải trả thêm chi phí cho việc đó.
Lựa chọn thứ ba là chờ một chút lâu hơn để giao dịch được thực hiện. Bằng cách này, bạn đợi cho lưu lượng mạng giảm xuống, điều này sẽ cho phép giao dịch của bạn được thực hiện mà không tốn thêm chi phí.
Các giao dịch được gửi đến mạng Bitcoin không được thêm vào blockchain ngay lập tức. Đầu tiên chúng sẽ được đưa vào mempool. Trong quá khứ, các giao dịch như vậy chỉ cần phí được đo bằng satoshis mỗi byte.
Tuy nhiên, điều này đã thay đổi sau khi nâng cấp SegWit cho phép giao dịch được đo bằng đơn vị trọng lượng. Điều tốt là các tính năng segwit cho phép thêm nhiều dữ liệu vào một khối hơn trước đây. Cụ thể, có 2MB dữ liệu trên mỗi khối mặc dù có thể tăng lên 4MB.
Ban đầu, mạng Ethereum yêu cầu giao dịch phải vào mempool trước khi được xác nhận. Tuy nhiên, khi blockchain chuyển từ cơ chế đồng thuận proof-of-work sang proof-of-stake, nó giới thiệu khái niệm về người xây dựng khối.
Cơ bản, người xây dựng khối là những bên thứ ba tổ chức các giao dịch thành một gói giao dịch tối ưu tạo thành một khối. Trong trường hợp này, các bên thứ ba tổ chức hoặc sắp xếp lại một số giao dịch từ mempool thành các gói. Sau đó, họ cung cấp các gói giao dịch cho các người xác minh để bao gồm vào các khối. Các bên thứ ba nhận phần thưởng cho việc thực hiện các nhiệm vụ này.
Tóm lại, mempool là một không gian mà một nút blockchain lưu trữ tạm thời các giao dịch trước khi chúng được xác minh. Thời gian mà một giao dịch ở trong mempool trên Ethereum phụ thuộc vào nhiều yếu tố như tắc nghẽn giao thông mạng và phí gas. Cả blockchain Bitcoin và Ethereum đều sử dụng pools giao dịch.
Một mempool là một không gian nơi các giao dịch đang chờ đợi trước khi được thêm vào một khối. Sau khi giao dịch được xác thực, nó sẽ được thêm vào một khối tồn tại trên blockchain.
Khi một số giao dịch được đặt trong một mempool, một số validators hoặc miners sẽ chọn chúng và thêm vào các khối. Tuy nhiên, một số giao dịch có thể vẫn chờ đợi hoặc chờ xử lý trong một khoảng thời gian dài nếu có tắc nghẽn giao thông mạng.
Mempool BTC là phòng chờ cho các giao dịch được xử lý trên mạng Bitcoin. Thông thường, mỗi nút chuỗi khối Bitcoin đều có mempool riêng của mình.
Một mempool trong Ethereum là không gian để lưu trữ các giao dịch trên các nút Ethereum trước khi được xác nhận. Thời gian trôi qua trước khi các giao dịch này được xác nhận phụ thuộc vào lưu lượng mạng Ethereum trong một khoảng thời gian nhất định.