This article has been translated from English to Vietnamese.

Mạng lưới Bitcoin là một mạng ngang hàng (P2P) của các "node".

Trong các bài học trước, bạn đã học về chức năng của một mạng và mạng P2P là gì.

Nhưng chính xác thì một Bitcoin node là gì? Một Bitcoin node làm gì? Và nó hoạt động như thế nào?

Một Bitcoin node, cụ thể hơn là Bitcoin "full node", đơn giản là một máy tính chạy phần mềm Bitcoin (được biết đến với tên gọi "Bitcoin client" hoặc "phần mềm khách hàng Bitcoin").

Nó có thể là một máy tính để bàn hoặc laptop miễn là có đủ dung lượng ổ cứng để lưu trữ dữ liệu lịch sử.

Bitcoin node

Các thuật ngữ "node" và "full node" thường được sử dụng đồng nghĩa, nhưng thực tế có sự khác biệt giữa hai cái. Đó là vì có hai loại node: "full node" và "light node" (hoặc "lightweight node"). Full nodes tạo nên xương sống của mạng lưới Bitcoin, trong khi light nodes phụ thuộc vào full nodes để hoạt động. Vì light nodes không thể tự hoạt động, tôi coi chúng giống như một "kí sinh trùng" vì chúng cần gắn liền với một full node. Về sau, trừ khi có nói rõ, khi tôi sử dụng từ "node", tôi có ý nói đến "full node".

Một Bitcoin node làm gì?

Một node thực hiện ba điều:

  1. Tuân theo quy tắc
  2. Chia sẻ thông tin
  3. Lưu trữ một bản sao của các giao dịch đã được xác nhận

1. Tuân theo quy tắc

Mỗi node (một máy tính chạy phần mềm Bitcoin) đã được lập trình để tuân theo một bộ quy tắc.

Đây được gọi là giao thức Bitcoin.

Một giao thức là một tập hợp các quy tắc được định trước quy định cách mà mạng hoạt động, và tất cả các thành viên trong mạng phải tuân thủ để mạng hoạt động.

Mỗi Bitcoin node là độc lập. Nếu bạn có một máy tính chạy phần mềm khách hàng Bitcoin, mạng không "bảo bạn phải làm gì". Thay vào đó, phần mềm khách hàng Bitcoin đã biết cần làm gì, và nó tự đưa ra quyết định dựa trên giao thức Bitcoin (các quy tắc).

Vì các quy tắc đã được định sẵn và mã hóa trong phần mềm Bitcoin, điều này ngăn cản bất kỳ sự bất đồng nào trên mạng lưới Bitcoin.

Bằng cách tuân theo những quy tắc này, một node có thể kiểm tra các giao dịch mà nó nhận được và chỉ truyền tải chúng nếu mọi thứ hợp lệ.

Nếu có bất kỳ vấn đề gì, giao dịch sẽ không được chuyển tiếp.

Bitcoin node follow rules

Một giao dịch không tuân theo các quy tắc sẽ bị từ chối bởi mạng P2P của các máy tính.

Ví dụ, một quy tắc là một người phải sở hữu một số lượng bitcoin bằng hoặc lớn hơn so với số lượng họ đang cố gắng gửi.

Nếu node của bạn nhận được một giao dịch mà ai đó cố gắng gửi nhiều bitcoin hơn họ sở hữu, giao dịch sẽ không được truyền đến các node khác.

Nếu bất kỳ thành viên nào của mạng Bitcoin cố gắng phát tán thông tin sai lệch, tất cả các node trên mạng sẽ ngay lập tức nhận ra điều này là không hợp lệ và từ chối.

mỗi node có thể tự mình xác minh tất cả thông tin trên mạng, không cần phải tin tưởng các thành viên khác trong mạng. Điều này làm cho Bitcoin trở thành một hệ thống không cần sự tin tưởng.

2. Chia sẻ thông tin

Công việc chính của một node là gossip...chia sẻ thông tin với các node khác.

Thông tin mà một node chia sẻ là các giao dịch.

Có HAI loại giao dịch mà các node chia sẻ:

  1. Giao dịch mới: các giao dịch mới được đưa vào mạng.
  2. Giao dịch đã xác nhận: các giao dịch đã được “xác nhận” và ghi vào một tệp. Các giao dịch này không được chia sẻ từng cái một mà được đóng gói thành BLOCKS trước khi được chia sẻ.

Fresh vs. Confirmed Transactions

Một node chia sẻ cả “giao dịch mới” và blocks của “giao dịch đã xác nhận”.

Block là gì?

Giả sử bạn đi đến quán cà phê quen và sau khi thanh toán, bạn nhận được một biên lai thể hiện một "giao dịch" với nhân viên pha chế. Bạn rất thích đến quán cà phê này và sau nhiều lần ghé thăm, bạn có một đống biên lai. Bạn gộp chúng lại với nhau. Đó là một "block".

Vì vậy, trong Bitcoin, các giao dịch được gộp lại với nhau được gọi là một “block”.

Đừng lo lắng quá nhiều về block hoặc sự khác biệt giữa giao dịch mới và giao dịch đã xác nhận ngay bây giờ. Nó sẽ được làm rõ trong các bài học sau.

3. Lưu trữ một bản sao của các giao dịch đã xác nhận

Như đã đề cập ở trên, mỗi node cũng lưu trữ blocks của các “giao dịch đã xác nhận”.

Chúng được giữ trong một tệp gọi là “blockchain”.

Chain là gì?

Đối với mục đích của bài học này, một “chain” chỉ có nghĩa là khi bạn tạo một block mới (một gói giao dịch khác), bạn gắn nó vào block trước đó. Và một khi đã gắn kết, nó là vĩnh viễn. Bạn không thể "tháo gỡ" nó.

Nó mãi mãi gắn liền với block trước đó. Vì vậy, dùng ví dụ quán cà phê mà tôi đã đề cập trước đó, hãy tưởng tượng một chuỗi các gói biên lai…đó là một “chuỗi các blocks” hoặc một blockchain.
Each node keeps a copy of the blockchain.

Các giao dịch mới lưu thông quanh mạng cho đến khi chúng được thêm vào blockchain, mà nó chỉ là một sổ cái của các giao dịch đã xác nhận.

Không có một blockchain duy nhất. Mỗi node đều có bản sao của riêng mình về blockchain.

Tất cả các node đều cố gắng đồng bộ hóa. Nếu một số node có các bản sao lỗi thời của blockchain, các node khác có bản sao mới nhất của blockchain sẽ chia sẻ bản sao của chúng với chúng.

Điều thú vị về mỗi node có bản sao riêng của blockchain là nếu một (hoặc nhiều) node ngừng hoạt động, mạng Bitcoin vẫn có thể tiếp tục hoạt động! Càng nhiều node đang chạy, thì càng khó để tắt Bitcoin.

Mạng không phụ thuộc vào bất kỳ node đơn lẻ nào. Không có điểm thất bại trung tâm. Để thực sự tiêu diệt Bitcoin, mọi bản sao của blockchain đều phải bị phá hủy.

Mỗi node là độc lập. Các node (máy tính) có thể rời khỏi và tái nhập mạng bất cứ lúc nào.

Nếu một node ngắt kết nối khỏi mạng và quay lại, máy tính sẽ chỉ cần tải xuống bản sao mới nhất của blockchain Bitcoin và nó lại trở thành một node.

Nodes là một phần quan trọng của hệ thống Bitcoin. Không có nodes, sẽ không có mạng Bitcoin.

Và không có mạng Bitcoin, sẽ không có blockchain vì nodes cần thiết để lưu trữ các bản sao của blockchain.

Và không có blockchain, sẽ không có hệ thống Bitcoin.

Tóm tắt

Cho đến nay, bạn đã học rằng mạng Bitcoin là:

  • một mạng lưới ngang hàng không có người lãnh đạo của các nodes (máy tính chạy phần mềm Bitcoin),
  • trong đó mỗi node độc lập kiểm tra rằng tất cả các quy tắc đang được tuân theo,
  • xác minh các giao dịch mới
  • lưu trữ một bản sao của blockchain (sổ cái của các giao dịch đã xác nhận).

Vì mỗi node đều làm công việc tương tự, không có điểm thất bại trung tâm. Không có máy chủ tập trung.

Để các giao dịch mới được THÊM vào blockchain, chúng đi qua một quá trình gọi là “đào” được thực hiện bởi một loại node đặc biệt được gọi là “thợ đào”.

Nhưng để hiểu cách hoạt động của việc đào Bitcoin, chúng ta cần một chút sự gián đoạn.