Trong lĩnh vực mạng máy tính và viễn thông, node (nút) được hiểu là là một thiết bị mạng vật lý, có thể được dùng với các mục đích riêng biệt, hoạt động như một điểm phân phối lại hoặc là điểm cuối giao tiếp.
Node là gì
Trong lĩnh vực tiền mã hóa crypto, thì node được hiểu là một thiết bị trên một mạng blockchain, là yếu tố nền tảng cho phép công nghệ blockchain hoạt động và tồn tại. Các node được phẩn bổ trong một mạng lưới rộng và thực hiện nhiều tác vụ khác nhau.
Một node có thể là bất kỳ thiết bị điện tử nào đang hoạt động, như máy tính, điện thoại hoặc thậm chí máy in, miễn là nó được kết nối với internet và có địa chỉ IP.
Các node hoạt động như thế nào?
Vai trò của một node là hỗ trợ mạng lưới bằng cách duy trì một bản sao của một blockchain, trong một số trường hợp, node đó dùng để xử lý các giao dịch. Các node thường được bố trí theo cấu trúc dạng cây, được gọi là cây nhị phân. Mỗi một đồng tiền điện tử có các node riêng, duy trì các bản ghi giao dịch của loại tiền đó.
Với các node là các phần riêng lẻ của một blockchain, có cấu trúc dữ liệu hớn hơn, và khi chủ sở hữu của các node này sẵn sàng đóng góp tài nguyên máy tính của họ để lưu trữ và xác thực các giao dịch, thì họ có cơ hội thu phí giao dịch và kiếm được phần thưởng bằng tiền điện tử.
Quy trình này được gọi là “đào tiền ảo”. Việc xử lý các giao dịch này có thể sẽ yêu cầu công suất tính toán và xử lý dữ liệu lớn, điều này có nghĩa là khả năng đáp ứng của một máy tính trung bình là không đủ.
Vì vậy, mà các thợ đào đầu tư vào các thiết bị máy tính có CPU (các đơn vị xử lý trung tâm) hoặc GPU (các đơn vị xử lý đồ họa) cực mạnh để theo kịp yêu cầu về công suất xử lý, và xác thực các giao dịch trong blockchain và nhận phần thưởng cho công việc.
Các loại node trong blockchain
Một node có thể là điểm cuối giao tiếp hoặc điểm phân phối lại liên lạc, liên kết với các node khác. Mỗi node trên mạng hầu như đều có vai trò như nhau, tuy nhiên một số node nhất định có vai trò khác theo cách mà node hỗ trợ mạng lưới. Vì vậy không phải tất cả các node sẽ lưu trữ một bản sao đầy đủ của một blockchain để xác thực các giao dịch.
Một node có thể tải xuống một bản sao hoàn chỉnh của một blockchain và kiểm tra bất kỳ giao dịch mới nào đến dựa trên giao thức đồng thuận được sử dụng bởi tiền điện tử hoặc token được gọi là một node đây đủ (Full Node).
Tất cả các node sử dụng cùng một giao thức đồng thuận để duy trì tương thích với nhau. Có những node trên hệ thống xác nhận và xác thực giao dịch, đặt chúng thành các khối. Các node luôn có quyết định riêng của nó về việc liệu một giao dịch có hợp lệ và được thêm vào một khối với các giao dịch khác không, bất kể các nút khác hoạt động như thế nào.
Có nhiều loại node khác nhau trong blockchain. Các yêu cầu để sở hữu một node là khác nhau tùy theo loại tiền điện tử (hay ứng dụng của blockchain) và phương thức đồng thuận của chúng. Các node trong blockchain gồm có:
- Root node – Node cao nhất trong một cây nhị phân.
- Parent node – Một node mà có những node mở rộng từ nó.
- Child note – Một node được mở rộng từ node khác.
- Leaf node – Một node không có node con.
- Sibling nodes – Những node kết nối với cùng một node lớn (parent node).
- Tree – Một cấu trúc dữ liệu bắt đầu từ một node gốc (root node).
- Forest – Một tập hợp những cây (trees) node.
- Degree – Thứ bậc node con của một node.
- Edge – sự liên kết giữa các node.
Bitcoin Node
Bitcoin Node là một điểm mà tại đó một tin nhắn có thể được tạo ra, được nhận, hoặc truyền đi trong mạng blockchain của Bitcoin.
Giống như các node blockchain nói chung thì bitcoin node cũng có trách nhiệm đóng vai trò như một điểm giao tiếp có thể thực hiện các chức năng khác nhau như truyền thông tin về các giao dịch trong hệ thống mạng Bitcoin. Trong blockchain của bitcoin, có các loại node gồm: full node, listening node, miner node (node của thợ đào), và SPV client.
Full Node
Full Node Bitcoin là một thành phần quan trọng của Mạng lưới Bitcoin vì nó làm cho blockchain bitcoin có hiệu lực bằng cách tải xuống bản sao của nó. Các node này cũng được gọi là các node xác nhận đầy đủ vì chúng tham gia vào quá trình xác minh các giao dịch và khối trước các quy tắc đồng thuận của hệ thống.
Full node cũng có thể chuyển tiếp các giao dịch và khối mới đến blockchain.
Một full node của Bitcoin có thể được thiết lập thông qua các triển khai phần mềm khai thác khác nhau, nhưng được sử dụng nhiều nhất và phổ biến nhất là Bitcoin Core. Đây là những yêu cầu tối thiểu để chạy một full node Bitcoin Core:
- Máy tính bàn hoặc máy tính xách tay được cài phiên bản mới nhất của Windows, Mac OS X hoặc Linux.
- Ít nhất có ổ cứng có 200GB trống.
- Ram tốt thiểu 2GB.
- Kết nối internet tốc độ cao với tốc độ tải lên tối thiểu 50 kB/s.
- Máy tính nên chạy ít nhất 6 giờ mỗi ngày. Thậm chí tốt hơn nếu bạn cho chạy liên tục (24/7)
Hiện tại, có khoảng 9.700 node đang chạy công khai trên mạng Bitcoin. Con số này chỉ bao gồm các node được công khai của Bitcoin được cho hiển thị và có thể truy cập vào được (còn được biết đến là các listening node).
Bên cạnh các node công khai, có nhiều node ẩn khác không hiển thị (các non-listening node). Các node này thường hoạt động đằng sau tường lửa, thông qua các giao thức ẩn như Tor, hoặc đơn giản là vì chúng được cấu hình để không nhận kết nối.
Listening Node (Super Node)
Về cơ bản, một listening node hoặc super node là một full node có kết nối được công khai. Nó giao tiếp và cung cấp thông tin cho bất kỳ node nào khi quyết định thiết lập kết nối với nó. Do đó, một super node cơ bản là một điểm phân phối lại có thể đóng hai vai trò như một nguồn dữ liệu và một cầu giao tiếp.
Một super node thường chạy 24/7 và là đầu mối đáng tin cậy cho các node khác kết nối. Node này truyền tải lịch sử blockchain và dữ liệu giao dịch tới nhiều node trên khắp thế giới. Vì lý do đó, một super node có thể cần nhiều công suất tính toán hơn và kết nối internet tốt hơn khi so sánh với một full node bị ẩn.
Để kích hoạt chức năng này cho một Bitcoin client hoạt động như một node, bạn phải làm cho nó có thể kết nối công khai. Một cách để làm điều này là tắt tường lửa hoặc thiết lập cổng chuyển tiếp.
Node của thợ đào (Miner’s Node)
Để có thể đào Bitcoin trong tình trạng cạnh tranh hiện tại, thợ đào phải đầu tư vào các phần cứng và chương trình đào chuyên biệt. Các chương trình đào (phần mềm) này không liên quan trực tiếp đến Bitcoin Core và chạy song song để đào các khối Bitcoin. Một thợ đào có thể chọn làm việc một mình (solo miner) hoặc theo nhóm (pool miner).
Trong khi các full node của solo miner tận dụng bản sao blockchain của riêng họ, các pool miner làm việc cùng nhau, mỗi người đóng góp tài nguyên tính toán của mình (hashpower). Trong một mỏ khai thác, chỉ quản trị viên của mỏ cần phải chạy một full node – có thể được gọi là full node của pool miner.
SPV Client (Lightweight Client)
Simplified Payment Verification (SPV) client, lightweight client là máy khách tận dụng mạng Bitcoin nhưng không thực sự hoạt động như một full node. Do đó, SPV client không đóng góp vào an ninh của mạng vì không giữ một bản sao của blockchain và không tham gia vào quá trình xác minh và xác thực giao dịch.
Tóm lại, SPV là phương thức mà qua đó người dùng có thể kiểm tra xem liệu một số giao dịch có được đưa vào trong một khối hay không mà không phải tải xuống toàn bộ dữ liệu khối.
Do đó, SPV client dựa vào thông tin được cung cấp bởi các full node khác (các super node). SPV client hoạt động như các điểm cuối giao tiếp và được sử dụng bởi nhiều ví tiền điện tử.
Client Node vs Miner’s Node
Điều quan trọng cần lưu ý là chạy một full node không giống như chạy một node đào đầy đủ. Trong khi thợ đào phải đầu tư vào phần cứng và phần mềm đào đắt tiền, bất kỳ ai cũng có thể chạy một node xác thực đầy đủ.
Hơn nữa, trước khi cố gắng đào một khối, thợ đào cần thu thập các giao dịch đang chờ xử lý mà trước đó đã được chấp nhận là hợp lệ bởi các full node.
Tiếp theo, thợ đào tạo ra một khối ứng cử viên (với một nhóm các giao dịch) và cố gắng đào khối đó. Nếu thợ đào tìm ra một lời giải hợp lệ cho khối đó, anh ta sẽ thông báo nó trên mạng và các full node khác sẽ xác minh tính hợp lệ của khối.
Do đó, các quy tắc đồng thuận được quyết định và bảo đảm bởi mạng phân tán gồm các node xác thực chứ không phải bởi các thợ đào.
Kết luận
Các node của một hệ thống blockchain giao tiếp với nhau thông qua giao thức mạng ngang hàng (P2P – Peer to peer). Bằng cách như vậy, chúng đảm bảo tính toàn vẹn của hệ thống. Một node bị lỗi hoặc cố gắng truyền đi thông tin không chính xác sẽ nhanh chóng được các node trung thực nhận ra và sẽ bị ngắt kết nối khỏi mạng.
Mặc dù thực tế là việc chạy một node xác thực đầy đủ không nhận được phần thưởng về tài chính, nó vẫn được khuyến khích vì nó cung cấp sự tin tưởng, bảo mật và riêng tư cho người dùng.
Các full node đảm bảo rằng các quy tắc đang được tuân theo. Chúng bảo vệ blockchain chống lại các cuộc tấn công và gian lận (chẳng hạn như gian lận chi tiêu double-spending). Ngoài ra, full node cho phép người dùng có toàn quyền kiểm soát tiền của mình vì không cần phải ủy thác vào đối tượng khác.
Đến đây các bạn đã có thể hiểu được node của blockchain là gì cũng như các loại node của hệ thống tiền điện tử lớn nhất thế giới Bitcoin. Nếu các bạn có thắc mắc hay ý kiến gì khác về node của blockchain, hãy để lại comment ngay dưới để được hỗ trợ giải đáp!
Đừng quên theo dõi thường xuyên (hoặc bookmark) chuyên mục Kiến thức cơ bản để không bỏ lỡ những kiến thức mới và cần thiết để phục vụ cho quá trình học hỏi lâu dài về crypto của bản thân nhé!
Tổng hợp – Nguồn: Blogtienao, Binance academy