Block Block Block Block Block X Y Block
- Mỗi đồng tiền Bitcoin mới được phát hành gắn liền với một lời giải của bài tốn khó ứng với việc tạo ra một Block mới. Đồng tiền mới này được thưởng cho node mạng tìm ra lời giải của bài tốn khó thơng qua một giao dịch đặc biệt chính là giao dịch đầu tiên nằm trong khối Block kế tiếp. Giá trị của đồng tiền Bitcoin mới cũng là động lực thúc đẩy các node mạng nhanh chóng tìm được lời giải của bài tốn khó, giúp cho việc tăng tốc quá trình ghi nhận lịch sử giao dịch.
3.2.3.3. Xác thực giao dịch
Để xác thực một giao dịch, người dùng truy vấn các node mạng để có được chuỗi Block dài nhất. Các node mạng cũng trả về Block chứa giao dịch của người dùng nhờ quy trình xác thực dữ liệu trên cây băm Merkle. Người nhận kiểm tra hai vấn đề quan trọng sau:
- Block chứa giao dịch của mình có thuộc trên chuỗi Block dài nhất hay không?! Nếu không, người dùng không chấp nhận giao dịch.
- Số Block được nối tiếp sau Block chứa giao dịch của mình tính đến thời điểm hiện tại. Như đã đề cập, những giao dịch nằm trong Block mà theo sau nó có càng nhiều Block khác được nối tiếp thì độ an tồn càng cao. Người dùng phải căn cứ vào đó để quyết định việc chấp nhận giao dịch. Độ an toàn này sẽ được đánh giá chi tiết trong nội dung vấn đề an toàn bảo mật của hệ thống tiền điện tử ngang hàng Bitcoin.
Bên cạnh đó, để giảm lượng dữ liệu người dùng cần tải về phục vụ cho việc xác thực giao dịch, chuỗi lịch sử giao dịch có thể lược bỏ đi những giao dịch mà phần Output của chúng đã được chỉ đến trong phần Input của các giao dịch xảy ra sau. Với cấu trúc cây Merkle lưu trữ các giao dịch trong một Block, các giao dịch dư thừa hồn tồn có thể được lược bỏ mà khơng ảnh hưởng tới giá trị node gốc và vì vậy khơng ảnh hưởng tới kết quả bài tốn khó Hashcash trong mỗi block [11].
3.2.4. Vấn đề chia nhỏ giá trị của một đồng tiền Bitcoin và một giao dịch sử dụng nhiều đồng tiền Bitcoin dụng nhiều đồng tiền Bitcoin
Để chia nhỏ hoặc gộp giá trị của đồng tiền điện tử Bitcoin nhằm thuận tiện cho việc thanh toán, một giao dịch cho phép chứa nhiều Input và nhiều Output bên trong.
- Mỗi Input chỉ đến một đồng tiền Bitcoin sử dụng trong giao dịch.
- Mỗi Output chỉ đến một địa chỉ số của người được nhận tiền. Thông thường, một giao dịch gồm hai Output: một Output dùng để gửi tiền đến địa chỉ số của
người nhận, một Output dùng để gửi lại tiền thừa (nếu có) vào chính địa chỉ số của người gửi [11].