Node là gì? Cách chạy node đơn giản cho người mới bắt đầu

Node là gì? Chúng ta thường nghe thuật ngữ Node trong Blockchain. Vậy Node có vai trò gì trong Blockchain? Hãy tìm hiểu những kiến thức liên quan đến Node trong Blockchain và cách chạy node cho người mới bắt đầu.

Node là gì?

Node là các nút giúp lưu trữ, truyền tải và bảo toàn dữ liệu blockchain. Vì vậy về mặt lý thuyết, một blockchain tồn tại trên các node. Cốt lõi của Blockchain dựa trên các nguyên tắc của mạng P2P (Peer to Peer). Trong hầu hết các mạng, không có máy chủ trung tâm, nhưng sự đồng thuận giữa các node.

Node là gì?Node là gì?

Node có thể là bất kỳ loại thiết bị nào, nó có thể là PC, Máy tính xách tay, máy chủ lớn hơn,… Các node tạo thành cơ sở hạ tầng của một blockchain. Tất cả các node trên một blockchain đều được kết nối với nhau, chúng liên tục trao đổi dữ liệu mới nhất với nhau để tất cả các node luôn được cập nhật.

Node hoạt động như thế nào trong blockchain

Khi một thợ đào hoặc người xác thực (Validator) cố gắng thêm một block giao dịch mới vào blockchain, họ sẽ truyền khối đó đến tất cả (hoặc một phần, tùy thuộc vào thuật toán đồng thuận blockchain được sử dụng) trên mạng.

Dựa trên tính hợp pháp của block (chữ ký và tính hợp lệ của giao dịch), các node có thể chấp nhận hoặc từ chối block đó. Khi một node chấp nhận một block mới, nó sẽ lưu trữ block đó trên phần còn lại của các block mà nó đã lưu trữ. Tóm lại, đây là những gì các node làm:

  • Các node kiểm tra xem một block có hợp lệ hay không và chấp nhận hoặc từ chối nó.
  • Nếu được chấp nhận, các node sẽ lưu trữ các block (lưu trữ lịch sử giao dịch blockchain).
  • Các node phát sóng và truyền bá lịch sử giao dịch này đến các node khác để đồng bộ hóa với blockchain (cập nhật lịch sử giao dịch).

Các loại node trong Blockchain

Các loại node trong BlockchainCác loại node trong Blockchain

Full Node

Full Node hoạt động như một máy chủ trong một mạng phi tập trung. Nhiệm vụ chính của nó bao gồm duy trì sự đồng thuận giữa các node khác và xác minh các giao dịch.

Nó cũng lưu trữ một bản sao của blockchain, do đó an toàn hơn và cho phép các chức năng nâng cao như quyền biểu quyết cho các đề xuất trong mạng. Một số đặc điểm chính của Full Node:

  • Lưu trữ đầy đủ dữ liệu blockchain.
  • Tham gia xác nhận block, xác minh tất cả các block và trạng thái.
  • Tất cả các trạng thái có thể bắt nguồn từ node đầy đủ.
  • Cung cấp dữ liệu theo yêu cầu cho các lightweight nodes.

Lightweight nodes

Một loại node khác được sử dụng trong các hoạt động tiền điện tử hàng ngày, là các lightweight node hoặc các nút Xác minh thanh toán đơn giản (SPV).

Các loại nút này giao tiếp với blockchain trong khi dựa vào các nút đầy đủ để cung cấp cho chúng thông tin cần thiết. Vì chúng không lưu trữ một bản sao của toàn bộ blockchain, chúng chỉ truy vấn trạng thái hiện tại để xử lý các giao dịch.

Chạy các lightweight node không yêu cầu nhiều tài nguyên, nhưng nó hy sinh bảo mật vì mục đích thuận tiện.

Ai có thể chạy blockchain node?

Về mặt lý thuyết, bất kỳ ai cũng có thể chạy một node, nhưng tùy thuộc vào thuật toán đồng thuận của blockchain đó, có những yêu cầu nhất định:

Tuy nhiên, với các Blockchain như BSC, Okexchain, HECO,… sử dụng thuật toán đồng thuận Proof of Authority (PoA), một thuật toán đồng thuận dựa trên danh tiếng. Có nghĩa là, bất kỳ ai cũng có thể chạy một node, nhưng để xác thực các chuỗi PoA, bạn phải thực sự có uy tín trong cộng đồng đó, điều này không phù hợp với đại đa số người dùng thông thường.

Ai có thể chạy blockchain node?Ai có thể chạy blockchain node?

Hoặc với blockchain sử dụng thuật toán đồng thuận Delegated Proof of Stake (DPoS), đây là thuật toán dựa trên giá trị của token mà người dùng nắm giữ, nói cách khác, chỉ “top holders” mới có quyền chạy các node đối với các blockchain này. Điều này cũng không phù hợp với đại đa số người dùng nói chung.

Ai có thể chạy blockchain node?Ai có thể chạy blockchain node?

Ngoài ra còn có nhiều blockchain phi tập trung hơn với giới hạn đầu vào thấp hơn đáng kể như Ethereum. Ethereum khuyến khích người dùng chạy node của riêng họ để cho phép họ sử dụng Ethereum một cách đáng tin cậy và riêng tư, trong khi vẫn hỗ trợ hệ sinh thái.

Một số lợi ích của việc tự chạy Ethereum Full Node:

  • Node của bạn tự xác minh tất cả các giao dịch theo các quy tắc đồng thuận. Điều này có nghĩa là bạn không phải dựa vào bất kỳ node nào khác trong mạng hoặc hoàn toàn tin tưởng chúng.
  • Bạn sẽ không phải rò rỉ địa chỉ và số dư ví của mình cho các node ngẫu nhiên.
  • Dapp của bạn có thể an toàn và riêng tư hơn nếu bạn sử dụng node của riêng mình.
  • Bạn có thể lập trình các RPC endpoints tùy chỉnh của riêng mình.

Một số lợi ích cho Mạng Ethereum:

  • Một tập hợp các node đa dạng là rất quan trọng đối với tính bảo mật và khả năng phục hồi của Ethereum.
  • Các node đầy đủ cung cấp quyền truy cập vào dữ liệu blockchain vào các lightweight nodes phụ thuộc vào nó.

Cách chạy node cho người mới bắt đầu

Ngoài việc stake token/coin để trở thành Node, còn có một hình thức khác để chạy Node thông qua Node. Phương pháp này thường kém phổ biến hơn vì hầu hết những người chơi tiền điện tử không quá chuyên về Node.

Thường chạy Node với code cho testnet, vì dự án chưa phát hành token tại thời điểm đó. Nhưng cũng bởi vì không có token, cơ hội bị Retroavtive là rất lớn.

Có rất nhiều trang web cung cấp dịch vụ cho thuê VPS. Một trong số đó là Contabo. Trong hầu hết các trường hợp, chỉ cần mua Option rẻ nhất là đủ. Dưới đây là các bước thường phải làm:

  • Thuê VPS.
  • Nhận thông tin đăng nhập.
  • Nhập hàm tmux.
  • Tùy thuộc vào dự án, sau đó nhập các lệnh khác nhau.

Bước 1: Thuê VPS

VPS (Virtual Private Server) có thể hiểu là một máy tính ảo để người dùng chạy code. Mua một VPS cũng giống như mua một máy tính khác, nhưng không phải là sở hữu vật chất.

Vậy tại sao phải mua VPS để chạy Node? Do hầu hết các project testnet đều không có tính bảo mật tốt nên việc sử dụng máy chính có thể ảnh hưởng đến dữ liệu.

Đầu tiên, hãy vào contabo.com/en/ và chọn VPS rẻ nhất.

Cách chạy node cho người mới bắt đầuCách chạy node cho người mới bắt đầu

Tiếp theo, chọn cụ thể VPS

Cách chạy node cho người mới bắt đầuCách chạy node cho người mới bắt đầu

Chọn thời gian và địa điểm. Ở đây tôi chọn 12 tháng và ASIA. Cập nhật: Bạn KHÔNG CẦN phải chọn Châu Á, chỉ cần chọn Liên minh Châu Âu để tiết kiệm.

Cách chạy node cho người mới bắt đầuCách chạy node cho người mới bắt đầu

Cuộn xuống và nhập Mật khẩu. Các thông tin còn lại vẫn giữ nguyên, bao gồm bộ nhớ SSD 200 GB, hệ điều hành Ubuntu… và nhấp vào Next.

Cách chạy node cho người mới bắt đầuCách chạy node cho người mới bắt đầu

Cuối cùng, điền thông tin cá nhân và thẻ thanh toán để hoàn tất việc thuê VPS.

Cách chạy node cho người mới bắt đầuCách chạy node cho người mới bắt đầu

Bước 2: Nhận thông tin đăng nhập

Sau khi hoàn tất, hệ thống sẽ gửi email cho bạn.

Cách chạy node cho người mới bắt đầuCách chạy node cho người mới bắt đầu

Chờ trong giây lát, sẽ có một email tiếp theo cung cấp tài khoản đăng nhập và mật khẩu như sau:

Cách chạy node cho người mới bắt đầuCách chạy node cho người mới bắt đầu

Sau đó, chuyển đến my.contabo.com/account/login để đăng nhập. Thay đổi mật khẩu lần lượt theo các bước sau: Chọn Your Services.

Cách chạy node cho người mới bắt đầuCách chạy node cho người mới bắt đầu

Tiếp theo nhấp vào Manage → Control.

Cách chạy node cho người mới bắt đầuCách chạy node cho người mới bắt đầu

Nhấp vào Password Reset.

Cách chạy node cho người mới bắt đầuCách chạy node cho người mới bắt đầu

Cuối cùng nhập Password mới và bạn đã hoàn tất. Lý do có một bước để thay đổi mật khẩu là vì mật khẩu ban đầu của Contabo không thể đăng nhập được mà không rõ lý do.

Bước 3: Điền thông tin đăng nhập

Thông tin đăng nhập bao gồm IP mà chúng tôi có trong email thông tin đăng nhập, cùng với mật khẩu đã thay đổi ở trên.

Cách chạy node cho người mới bắt đầuCách chạy node cho người mới bắt đầu

Để đăng nhập, tùy thuộc vào hệ điều hành, có nhiều cách khác nhau:

  • Windows: Start + R; sau đó search CMD và Enter.
  • MacOS: Command + Space; sau đó search Terminal và Enter.

Cách chạy node cho người mới bắt đầuCách chạy node cho người mới bắt đầu

Bạn bấm vào cú pháp sau để đăng nhập vào VPS:

ssh root@<Địa chỉ IP>

Sau đó nhấn Enter. Chẳng hạn:

ssh [email protected]

Đối với các VPS đăng nhập lần đầu tiên, hệ thống sẽ hỏi như sau. Chúng tôi nhấn yes (chú ý đến chữ thường, vì đôi khi nó sẽ được viết hoa) và Enter.

Cách chạy node cho người mới bắt đầuCách chạy node cho người mới bắt đầu

Tiếp theo, bạn nhập mật khẩu đã thay đổi ở trên. Lưu ý, các ký tự Mật khẩu không xuất hiện trên Terminal, vì vậy bạn chỉ cần nhấn bình thường. Sau khi hoàn tất, hãy nhấn Enter.

Cách chạy node cho người mới bắt đầuCách chạy node cho người mới bắt đầu

Bước 4: Nhập hàm Tmux

tmux là chức năng chạy Node khi bạn tắt máy. VPS chỉ là một chiếc máy tính thông thường, khi chúng ta tắt Terminal, VPS cũng sẽ tắt, và mọi hoạt động cũng sẽ dừng lại. Điều này ngăn chặn node chạy.

Để khắc phục điều này, chúng ta cần cài đặt tmux. Khi chạy Node trong tmux sẽ chạy mãi mãi cho đến khi chúng ta chủ động dừng lại, mà không bị ảnh hưởng bởi việc tắt máy.

Sau khi đăng nhập thành công, hãy cài đặt tmux bằng lệnh sau:

apt install tmux

Sau đó enter.

Cách chạy node cho người mới bắt đầuCách chạy node cho người mới bắt đầu

Để truy cập tmux, hãy nhấn lệnh sau:

tmux

Sau đó nhấn Enter.

Cách chạy node cho người mới bắt đầuCách chạy node cho người mới bắt đầu

Bước 5: Chạy node

Qua các bước trên, chúng ta đã trải qua các bước cơ bản để chạy Node. Phần còn lại phụ thuộc vào dự án sử dụng ngôn ngữ lập trình, thiết kế có các lệnh khác nhau.

Vậy là chúng ta đã biết node là gì và cách chạy node đơn giản cho người mới. Chúc bạn thực hiện thành công!