Tổng quan
Các thức tạo Block là một phần quan trọng của Blockchain. Trong một blockchain, block được tạo ra bằng cách gộp các giao dịch thành một nhóm và đặt nó vào một chuỗi các block được liên kết với nhau một cách cố định.
Tạo block mới sẽ giúp bảo vệ tính toàn vẹn và tính không thay đổi của các giao dịch trong blockchain. Nó cũng giúp tăng hiệu suất và giảm thời gian xử lý cho mỗi giao dịch.
Trong phần 2, chúng ta sẽ xây dựng trên nền tảng từ bài viết đầu tiên. Chúng ta sẽ xem xét thời gian của giao thức và bắt đầu khám phá quá trình tạo khối.
Protocol Timing
Để thực sự hiểu cách thức hoạt động của giao thức, chúng ta cần hiểu thời gian của các phần khác nhau của giao thức.
Có những điều xảy ra có thể dự đoán được theo một lịch trình được xác định thời gian chặt chẽ (xác định và đồng bộ) và những điều được thúc đẩy bởi các sự kiện và thời gian của chúng là không thể đoán trước (không xác định và không đồng bộ).
Phần không xác định, không đồng bộ của giao thức là thực thi và xác minh (execution, verification), bởi vì các giao dịch trong các bộ sưu tập khác nhau về nhu cầu tính toán của chúng.
Phần xác định, đồng bộ của giao thức là bộ sưu tập và tạo block, diễn ra theo lịch trình do chế độ xem điều khiển.
Để đơn giản hóa mọi thứ, hãy coi một chế độ xem là một khoảng thời gian mà một trong các node đồng thuận (consensus nodes) được xác định trước để trở thành người dẫn đầu (node này thường được gọi là ‘leader’).
Lưu ý rằng trên thực tế, một node đồng thuận quyết định thời lượng của chế độ xem, bởi vì tốt nhất là nên đồng bộ hóa với các node khác — chúng ta không thể dựa vào thời gian trên máy chủ tập trung trong mạng phi tập trung, vì vậy các node sử dụng thuật toán có tên “máy tạo nhịp tim” để luôn đồng bộ.
Người dẫn đầu đồng thuận cho một chế độ xem sẽ xây dựng block từ các sự kiện không đồng bộ đã tích lũy kể từ khi block cuối cùng được tạo.
Bây giờ chúng ta đã hiểu cách dữ liệu truyền qua mạng tạo thành một block, chúng ta có thể bắt đầu khám phá cách một block được hình thành và điều gì quyết định xem nó có được ủy ban đồng thuận chấp nhận hay không.
Tạo Block
Quorum Certificate là bằng chứng cho thấy các node đồng thuận có đủ “quyền biểu quyết” (voting power) đã bỏ phiếu cho block được đề xuất — họ đồng ý rằng block đó hợp lệ và nên được thêm vào block.
Hãy xem sơ đồ bên dưới — đây là một số quy tắc giúp hiểu những gì đang xảy ra ở đó:
- Mỗi chế độ xem có một node đồng thuận được xác định trước là node dẫn đầu đồng thuận (leader).
- Block luôn được đề xuất bởi leader đồng thuận.
- Người lãnh đạo đồng thuận chỉ có thể đề xuất một khối dựa trên khối gốc có Quorum Certificate tồn tại.
- Consensus leader A nhận các nội dung (nội dung sẽ được tích lũy trong “mempool”) và đề xuất Block 0 (B0).
- Các node Đồng thuận nhận được B0, xác nhận rằng nó là một block hợp lệ và gửi phiếu cho Consensus Leader cho View tiếp theo. Việc xác nhận block được đề xuất là một chủ đề phức tạp ngoài phạm vi của bài viết này, nhưng tại mức cao, nó bao gồm:
- Kiểm tra rằng block thỏa mãn các quy tắc đồng thuận, chẳng hạn như: Nó đến từ một node đồng thuận được ủy quyền, node đồng thuận là một lãnh đạo cho view tương ứng, block chứa QC hợp lệ.
- Kiểm tra rằng payload của block thỏa mãn các quy tắc giao thức, chẳng hạn như: Không có bảo đảm thu thập trùng lặp hoặc kết quả thực thi tồn tại trong block và các block trước đó, bảo đảm thu thập được ký bởi số đông lớn nhất của tập hợp tương ứng, kết quả thực thi được gửi bởi các execution nodes.
- Giả sử nó nhận được đủ các phiếu bầu từ ủy ban đồng thuận, lãnh đạo đồng thuận B xây dựng QC cho B0 và thêm nó vào khối 1 (B1) được đề xuất.
Khi quá trình này lặp lại trong mỗi view, Blockchain sẽ phát triển, các giao dịch trong mỗi block được thực hiện và tài khoản người dùng nắm giữ các tài nguyên khác nhau (Token, NFT,…) được cập nhật.
GFI hy vọng sự hình thành block hiện đã rõ ràng, trong bài tiếp theo, chúng ta sẽ xem xét các phân nhánh blockchain và giải thích khái niệm hoàn thiện block.