Bitcoin là một mạng thanh toán ngang hàng: không có ngân hàng nào giữ sổ, mà nhiều máy tính độc lập (node) cùng lưu và kiểm tra một sổ cái công khai theo chung một bộ quy tắc. Đơn vị tài sản trên mạng cũng được gọi là bitcoin. Bài này theo chân một giao dịch — từ lúc ví ký, chờ trong mempool, được miner đưa vào block, tới khi có confirmation — để thấy mỗi bên làm gì và vì sao “đã gửi” chưa chắc đã là “đã xong”.
Khi một ví Bitcoin hiển thị “đã gửi”, giao dịch chưa nhất thiết đã được ghi vào blockchain. Ví có thể mới tạo và ký giao dịch, một node có thể mới nhận nó vào mempool, hoặc giao dịch có thể đã nằm trong một block nhưng mới có ít confirmations.
Để hiểu Bitcoin vận hành, cần theo dõi cả hành trình: UTXO được chọn làm input, output mới được tạo, chữ ký chứng minh quyền chi tiêu, node kiểm tra và relay, miner xây block candidate, Proof of Work được thực hiện, rồi các node lại xác thực block.
Nội dung chính
Bitcoin không duy trì một bảng số dư tài khoản toàn cục giống ngân hàng. Nó theo dõi các output giao dịch chưa được chi tiêu, gọi là UTXO. Một giao dịch mới tiêu một hoặc nhiều UTXO làm input và tạo ra output mới.
Ví tạo giao dịch và chữ ký. Node kiểm tra rules và truyền giao dịch. Mỗi node có mempool riêng. Miner chọn giao dịch để tạo block candidate và tìm Proof of Work hợp lệ. Sau đó, node độc lập kiểm tra toàn bộ block. Giao dịch có thêm confirmation khi các block mới được xây tiếp trên active chain.
- Ví / phần mềm kýTạo và ký giao dịch
- Nút ban đầu và các nút ngang hàngKiểm tra, chuyển tiếp · sai chữ ký hoặc đầu vào đã chi → từ chối
- Mempool của từng nútGiao dịch chờ, mỗi nút một tập
- Thợ đàoXây khối ứng viên, tìm Proof of Work
- Các nút xác minh khốiTự kiểm tra · khối vi phạm quy tắc → từ chối
- Người nhậnĐộ chắc chắn tăng khi lịch sử được xây tiếp
UTXO: đơn vị được chi tiêu
Mỗi giao dịch Bitcoin có ít nhất một input và một output, ngoại trừ các đặc điểm riêng của coinbase transaction. Input tham chiếu tới output của một giao dịch trước. Nếu output đó chưa từng được dùng làm input hợp lệ, nó là một UTXO — unspent transaction output.
Giả sử một ví kiểm soát UTXO trị giá 100.000 satoshi và muốn trả 70.000 satoshi. Giao dịch có thể dùng toàn bộ UTXO làm input, tạo một output 70.000 satoshi cho người nhận, một change output trả phần còn lại về một điều kiện chi tiêu do người gửi kiểm soát, và để chênh lệch làm transaction fee. Đây chỉ là ví dụ giả định để giải thích cấu trúc, không phải mức phí thực tế.
Bitcoin Developer Guide mô tả mỗi input là việc tiêu một output trước đó và mỗi output tiếp tục chờ cho tới khi một input tương lai tiêu nó. “Số dư ví” vì vậy là cách phần mềm cộng các UTXO mà ví xác định có thể chi tiêu, không phải một dòng số dư được blockchain cập nhật trực tiếp. Nguồn: Bitcoin Developer Guide, Transactions.
Ví tạo và ký giao dịch
Ví chọn UTXO, xây output cho người nhận, tạo change nếu cần và tính fee từ chênh lệch tổng input với tổng output. Sau đó ví tạo dữ liệu thỏa điều kiện chi tiêu của UTXO trước đó — thường gồm chữ ký và thông tin khóa phù hợp với loại script.
Chữ ký số cho phép node kiểm tra rằng giao dịch được tạo với private key tương ứng mà không cần biết private key. Chữ ký không chứng minh người ký là chủ sở hữu pháp lý, không xác nhận người nhận là ai và không thể sửa một địa chỉ được nhập sai.
Broadcast và mempool
Giao dịch đã ký được gửi tới một hoặc nhiều Bitcoin node. Node kiểm tra các điều kiện trước khi chấp nhận và relay, gồm format, chữ ký, UTXO được tham chiếu, việc không chi tiêu trùng và các policy cục bộ.
Nếu vượt qua kiểm tra, giao dịch có thể được đưa vào mempool của node đó — tập giao dịch hợp lệ mà node biết nhưng chưa được xác nhận trong active chain. Không có một mempool toàn cầu duy nhất. Hai node có thể có tập giao dịch khác nhau do thời điểm nhận, policy, giới hạn bộ nhớ và trạng thái kết nối.
Vào mempool không bảo đảm giao dịch sẽ được miner chọn hoặc được xác nhận trong một thời hạn cố định. Miner thường xem fee rate và các ràng buộc block khi lựa chọn, nhưng còn có package relationships, policy và quyết định riêng. Các trang developer cũ có thể chứa tham số fee đã lỗi thời; mọi số liệu phí phải lấy từ nguồn hiện hành và có timestamp.
Miner xây block candidate
Miner hoặc mining pool lấy các giao dịch mà họ biết, lựa chọn một tập phù hợp và tạo coinbase transaction để nhận block subsidy cùng fees. Transaction hashes được cam kết qua Merkle root trong block header.
Mining hardware thử nhiều giá trị nonce và thay đổi dữ liệu liên quan để tạo block header hash thấp hơn target của mạng. Vì kết quả hash khó dự đoán, quá trình chủ yếu là thử lặp với tốc độ lớn. Difficulty phản ánh mức target được điều chỉnh theo rules để giữ nhịp tạo block quanh mục tiêu của giao thức.
Hashrate là ước tính lượng phép hash mạng thực hiện trong một đơn vị thời gian. Nó giúp phân tích quy mô tính toán, nhưng không phải phép đo đầy đủ của bảo mật: phân bố mining, chi phí phần cứng/năng lượng, khả năng huy động vốn, kết nối và hành vi của node cũng quan trọng.
Node xác thực block của miner
Khi tìm được header đáp ứng target, miner phát block ra mạng. Mỗi full node nhận block sẽ tự kiểm tra, thay vì tin rằng miner đã làm đúng.
Các kiểm tra bao gồm Proof of Work, liên kết với block trước, cấu trúc và giới hạn block, từng giao dịch, chữ ký và script, UTXO chưa bị chi, tổng input/output, block subsidy và nhiều consensus rules khác. Block không hợp lệ bị từ chối ngay cả khi miner đã bỏ công tính toán.
Vai trò này tạo ra sự phân chia quan trọng: miner đề xuất thứ tự giao dịch và cung cấp Proof of Work; node xác định block có tuân thủ rules mà node đang chạy hay không. Miner không thể đơn phương buộc full node chấp nhận việc tạo thêm bitcoin ngoài quy tắc. Nguồn tham khảo hiện hành: Bitcoin Core validation source.
Confirmation là gì
Khi giao dịch xuất hiện trong một block thuộc active chain, nó có confirmation đầu tiên. Mỗi block hợp lệ tiếp theo được xây trên chain đó làm tăng depth và số confirmations.
Confirmation không biến giao dịch thành không thể đảo ngược tuyệt đối. Hai block có thể được tìm thấy gần nhau, tạo nhánh tạm thời; chain có accumulated work lớn hơn có thể trở thành active chain. Bên tấn công cũng có thể cố xây lịch sử thay thế. Số block sâu hơn thường làm chi phí và độ khó của việc này tăng, nhưng rủi ro phụ thuộc mô hình đối thủ, giá trị giao dịch, hashrate, topology và chính sách của người nhận.
Vì vậy, không có một con số confirmation duy nhất phù hợp cho mọi giao dịch. Một người bán món hàng nhỏ, một sàn xử lý khoản rút lớn và một hệ thống settlement tổ chức có thể chọn ngưỡng khác nhau. Các ngưỡng đó là chính sách quản trị rủi ro, không phải bảo đảm của giao thức.
Full node và SPV
Full node tải và xác thực dữ liệu cần thiết để tự kiểm tra consensus rules. Người dùng chạy full node giảm phụ thuộc vào một máy chủ bên ngoài để biết chain nào hợp lệ theo rules của mình.
Simplified Payment Verification, như mô tả trong whitepaper, dùng block headers và Merkle proof để kiểm tra một giao dịch được cam kết trong block mà không tải toàn bộ giao dịch của chain. Đổi lại, SPV có thêm giả định về việc lấy được chain headers phù hợp và không tự xác thực mọi rule giống full node.
Ba ngộ nhận thường gặp
Bitcoin được chuyển từ ví này sang ví khác như một tệp. Giao dịch tiêu UTXO cũ và tạo output mới; ví chỉ quản lý khóa và dữ liệu để thực hiện việc đó.
Giao dịch vào mempool là đã hoàn tất. Mempool chỉ là trạng thái chưa được xác nhận ở từng node; giao dịch có thể bị thay thế, xung đột hoặc không được chọn.
Miner có thể tự tạo thêm bitcoin. Miner có thể đề xuất coinbase transaction, nhưng node từ chối block có subsidy hoặc giao dịch vi phạm consensus rules.
Kết luận
Bitcoin vận hành không nhờ một bên trung tâm xác nhận, mà nhờ một chuỗi kiểm tra lặp lại: ví chứng minh quyền chi bằng chữ ký, node kiểm tra quy tắc, miner bỏ công sức để đề xuất block, rồi node lại kiểm tra chính block đó. Với người dùng, câu hỏi đúng vì thế không phải “đã gửi chưa”, mà là “giao dịch đã có bao nhiêu confirmation, và mức đó đã đủ cho khoản tiền này chưa”.
Những điểm cần nhớ:
- Bitcoin dùng mô hình UTXO thay vì số dư tài khoản toàn cục.
- Ví tạo và ký giao dịch; node kiểm tra và relay.
- Mỗi node có mempool riêng, không có một hàng đợi toàn cầu duy nhất.
- Miner xây block candidate và thực hiện Proof of Work; node vẫn xác thực block độc lập.
- Confirmation làm tăng độ sâu và chi phí đảo ngược nhưng không bảo đảm tuyệt đối.
Đọc tiếp
- Blockchain và cơ chế sổ cái phân tán — hiểu hash, block, node và đồng thuận.
- Ví, khóa riêng tư và quyền sở hữu — hiểu ai có thể ký giao dịch và rủi ro custody.
- Kinh tế học Bitcoin, nguồn cung và halving — nối block reward với mining và bảo mật mạng.
