Tài sản mã hóaiCapital4 phút đọc

Node, full node và SPV: bạn tự kiểm tra đến đâu?

Nội dung giáo dục và nghiên cứu, không phải tư vấn đầu tư cá nhân.

Node là một phần mềm hoặc máy tham gia trao đổi dữ liệu trong mạng. Khi nói về Bitcoin, cần phân biệt vai trò kiểm chứng, mức dữ liệu được giữ lại và mức phụ thuộc vào bên khác; gọi chung mọi ứng dụng là “node” dễ làm mất các khác biệt này.

Full node tự xác minh dữ liệu theo quy tắc mà nó thực thi. SPV — Simplified Payment Verification, xác minh thanh toán đơn giản hóa — dùng mô hình nhẹ hơn dựa vào chuỗi header và bằng chứng thành viên Merkle. Việc đánh giá nhánh dựa vào công sức tích lũy mà client có thể quan sát, với giả định client kết nối được tới các peer cung cấp dữ liệu phù hợp. Nguồn: Bitcoin Developer Guide, Full Node và SPV.

Một nút thực hiện những việc nào?

Luồng khái quát gồm nhận dữ liệu, kiểm tra theo quy tắc, cập nhật góc nhìn trạng thái và truyền dữ liệu phù hợp cho các bên khác. Từng phần mềm có thể thực hiện các vai trò khác nhau; câu hỏi quan trọng là nó tự kiểm điều gì trước khi thông báo kết quả cho người dùng.

Không nên đồng nhất full node với việc giữ mọi khối mãi mãi. Tài liệu mạng Bitcoin phân biệt archival node và pruned node: nút pruned vẫn kiểm tra khối theo quy tắc đầy đủ và có thể bỏ bớt dữ liệu khối cũ sau khi xác minh. Nguồn: P2P Network, Introduction.

So sánh mức kiểm chứng

Mô hình Tự kiểm gì? Giữ gì và phụ thuộc dữ liệu từ đâu?
Full node lưu trữ đầy đủ Kiểm tra khối theo quy tắc đầy đủ Giữ dữ liệu khối lịch sử. Nhận dữ liệu từ mạng để tự xác minh.
Pruned full node Kiểm tra khối theo quy tắc đầy đủ Có thể bỏ bớt dữ liệu khối cũ sau khi xác minh.
SPV Kiểm tra chuỗi header và bằng chứng thành viên khi có dữ liệu Dùng header và bằng chứng từ peer. Phụ thuộc vào góc nhìn mạng mà client tiếp cận được.
Giao diện tin máy chủ Hiển thị kết quả do máy chủ cung cấp trong mô hình này Phụ thuộc vào dữ liệu và cách máy chủ kiểm tra.

Bảng dùng để định hướng kiểm tra, không xếp hạng một sản phẩm cụ thể. Một ứng dụng có thể dùng mô hình kết hợp; nhãn trên giao diện chưa đủ thay thế tài liệu kỹ thuật.

Ví dụ giả định: header đạt PoW, khối vi phạm quy tắc

Giả sử người dùng nhận một header thỏa bài toán Proof of Work, cùng một bằng chứng giao dịch thuộc tập được cam kết. Trong phần nội dung khối lại có giao dịch sử dụng đầu vào đã bị chi theo trạng thái trước đó.

Chỉ nhìn header và membership không thay thế việc xác minh đầy đủ nội dung. Ví dụ này giải thích vì sao “giao dịch có trong một khối” và “khối thỏa mọi quy tắc” là hai câu hỏi khác nhau. Đây là tình huống giả định phục vụ phân biệt mô hình, không phải mô tả một sự cố thật.

Tự xác minh vẫn có giới hạn

Người dùng còn phải biết phần mềm chạy quy tắc nào, dữ liệu có đến được từ mạng phù hợp không và thiết bị có vận hành đúng không. Tự xác minh làm rõ một phần phụ thuộc, không tự giải quyết bảo vệ khóa, sự thật ngoài chuỗi hay quyền pháp lý.

Ngộ nhận cần tránh là số lượng node bằng số phiếu bầu có quyền quyết định mọi thay đổi. Cơ chế đồng thuận không thể rút gọn thành việc đếm các máy đang nhìn thấy trên mạng.

Kết luận

Node là phần mềm tham gia mạng, nhưng mức tự kiểm tra rất khác nhau: full node tự xác minh dữ liệu theo quy tắc, còn SPV dựa vào chuỗi header và bằng chứng Merkle nên phụ thuộc nhiều hơn vào bên khác. Ngay cả tự xác minh cũng có giới hạn về phần mềm, dữ liệu và thiết bị; và số lượng node không phải số phiếu quyết định thay đổi.

Đọc tiếp

Đọc Blockchain, Mạng Bitcoin, Merkle proof, Đồng thuận và fork, Xác nhận và finality và Thư viện thuật ngữ.

Lưu ýBài viết nhằm mục đích cung cấp thông tin và giáo dục, không phải tư vấn đầu tư, pháp lý hay thuế và không phải khuyến nghị mua, bán hoặc nắm giữ bất kỳ tài sản mã hóa nào. Tài sản mã hóa có rủi ro cao, gồm biến động giá, mất quyền kiểm soát khóa và thay đổi pháp lý. Thông tin đúng tại ngày cập nhật ghi trên bài và có thể thay đổi sau đó.Cập nhật lần cuối: