This article has been translated from English to Vietnamese.

Bitcoin giải đáp câu hỏi, “Nên giữ giao dịch nào?

Cách Bitcoin giải đáp câu hỏi này thật xuất sắc.

Đây là cách mà nó thực hiện...

Mỗi nút trên mạng lưới Bitcoin đều chia sẻ thông tin về các giao dịch mới.

Các giao dịch trên mạng lưới Bitcoin KHÔNG được thêm trực tiếp vào blockchain. Chúng trước tiên được thu thập và lưu trữ trong cái gọi là "bể nhớ".

MỖI máy tính chạy chương trình Bitcoin tạo ra một khu vực lưu trữ tạm thời cho các giao dịch gọi là “bể nhớ”. Còn được gọi ngắn gọn là “mempool”.

Mỗi nút Bitcoin có mempool riêng, nơi nó lưu trữ hàng đợi các giao dịch mà nó đã kiểm tra và coi là hợp lệ.Bitcoin Node's Memory Pool

Nói rộng ra, một mempool là một hàng đợi có tổ chức nơi các giao dịch được lưu trữ và sắp xếp trước khi được thêm vào một khối mới tạo ra.

  • Bể nhớ giữ các giao dịch “mới” hoặc chưa được xác nhận (lưu trữ dưới dạng các giao dịch riêng lẻ).
  • Blockchain giữ các giao dịch đã “lưu trữ” hoặc đã được xác nhận (đóng gói trong “khối”).

Tất cả các giao dịch bitcoin chỉ đơn giản là các giao dịch “chưa được xác nhận” và chỉ tồn tại trong mempool trước khi chúng được “xác nhận” và thêm vào blockchain.

Trên mạng lưới Bitcoin, tất cả các nút đầy đủ đều có một bể nhớ.

All Bitcoin nodes have a memory pool

Giả sử bạn khởi tạo một giao dịch ở bên này của mạng (giao dịch màu tím).

Và sau đó đi qua đây, sử dụng cùng một bitcoin và chèn giao dịch màu đỏ vào máy tính này.

Nếu bạn để ý, hai giao dịch này KHÔNG được ghi trực tiếp vào tệp. Cả hai giao dịch chỉ đơn giản được lưu trữ trong bể nhớ của mỗi máy tính trước tiên.

Both transactions are stored in memory pool

Vì vậy, cả hai giao dịch sẽ lan truyền trên mạng.

Máy tính này sẽ TỪ CHỐI giao dịch màu đỏ vì họ đã nhận được giao dịch màu tím.

Transaction is rejected from mempool

Vậy bây giờ CẢ HAI giao dịch đều ở trên mạng.

Nhưng chúng vẫn CHƯA được ghi vào tệp, vì vậy tệp vẫn chưa được cập nhật.

Both transactions are waiting in mempool

Điều gì sẽ xảy ra sau đó là tất cả các máy tính này sẽ làm việc và cố gắng đưa các giao dịch của chúng từ bể nhớ vào tệp.

Chúng sẽ cạnh tranh để là những người đầu tiên đưa các giao dịch trong bể nhớ của mình lên đầu tệp.Bitcoin mining nodes compete

Giả sử máy tính này (màu vàng) là người đầu tiên làm được điều đó.

Bitcoin node first to add transaction to blockchain

thêm giao dịch của mình từ bể nhớ vào tệp:

Bitcoin nodes adds transaction to blockchain

Và khi nó đã làm xong điều đó….

Nó sẽ chuyển bản sao tệp đã được cập nhật của mình cho tất cả những người mà nó kết nối….

Bitcoin node shares blockchain copy

Và họ sẽ cập nhật bản sao của mình.

Trong minh họa dưới đây, nút này nhận được tệp cập nhật chứa giao dịch màu tím chi tiêu cùng bitcoin.

Bitcoin node kicks out conflicting transaction

Điều gì xảy ra với giao dịch màu đỏ xung đột trong bể nhớ của nó?

Vì cùng một bitcoin đã được chi tiêu trong giao dịch màu tím, nó sẽ loại bỏ giao dịch màu đỏ khỏi bể nhớ của mình!

Nút này sau đó sẽ chuyển tiếp tệp đã được cập nhật.

Và các nút khác cũng sẽ làm điều tương tự... nó sẽ loại bỏ bất kỳ giao dịch xung đột nào trong bể nhớ của mình.

All Bitcoin nodes kick out conflicting transaction

Tất cả các máy tính giờ đây đều có tệp được cập nhật.

Vậy đó là cách bạn giải quyết vấn đề có hai giao dịch xung đột trên mạng.

Bạn thực sự chỉ cần có một “khu vực chờ” (mempool) cho các giao dịch đang chờ xử lý và các nút cạnh tranh và cố gắng thêm giao dịch của mình vào tệp.

Trong ví dụ này, anh chàng màu tím sẽ nhận được bitcoin...Bitcoin transaction is successful

Nhưng khi bạn cố gắng chi tiêu cùng bitcoin đó với anh chàng màu đỏ, nó sẽ không thành công.Bitcoin transaction fails

Quá trình các nút cạnh tranh để cố gắng đưa giao dịch của mình từ bể nhớ lên tệp (“blockchain”) được gọi là KHAI THÁC.