Node là gì? Khi nói về cơ sở hạ tầng tạo nên blockchain, thì node đóng vai trò rất quan trọng. Vậy làm thế nào để thực hiện chạy node trong công nghệ blockchain hiện nay? Trong bài viết sau đây, Binancevi.com sẽ giải đáp cho các bạn tất tần tật các thắc mắc về Node là gì, cách hoạt động của node trong blockchain và phân loại các node một cách chi tiết nhất.
Node là gì?
Node là các nút hỗ trợ lưu trữ, truyền đạt và bảo quản dữ liệu blockchain, do đó, về mặt lý thuyết, các blockchain tồn tại trên các node. Yếu tố chính của blockchain là thông qua nguyên tắc mạng P2P (Peer to Peer). Trong đa số các mạng, không có máy chủ trung tâm mà có sự phối hợp hài hòa giữa các node.
Node có thể là bất cứ loại thiết bị nào, nó có thể là PC, máy tính xách tay, máy chủ lớn,… Các node hình thành cơ sở hạ tầng của một blockchain. Toàn bộ các node trên blockchain được liên kết với nhau và chúng trao đổi dữ liệu mới nhất liên tục để tất cả các node luôn được cập nhật.
Cách node trong blockchain hoạt động như thế nào?
Khi những người khai thác hoặc người xác thực (Validator) cố gắng thêm các giao dịch mới vào một block, họ sẽ truyền block đến toàn bộ (hoặc một vài phần, phụ thuộc vào thuật toán đồng thuận blockchain được sử dụng) các node trên mạng.
Tùy thuộc vào tính hợp lệ của block (chữ ký chính xác 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 đó. Nếu một node đồng ý với một block giao dịch mới, nó sẽ giữ block đó ở đầu các block còn lại được lưu trữ trước đó. Tóm lại, sau đây là cách vận hành của các node:
- Những node thực hiện kiểm tra block giao dịch có chính xác hay không, đồng ý hoặc từ chối nó.
- Trường hợp đồng ý, các node sẽ lưu trữ block giao dịch phía trên những block đã được chấp nhận trước đó.
- Những node phát và lan truyền lịch sử giao dịch này đến các node còn lại để đồng thuận với blockchain (cập nhật dữ liệu giao dịch).
Có bao nhiêu loại node trong blockchain?
Bao gồm hai node chính trong blockchain:
- Full nodes (Node đầy đủ)
- Lightweight nodes (Node nhẹ)
Full nodes
Full node hoạt động giống một máy chủ của mạng phi tập trung. Vai trò chủ chốt của Full node là duy trì cơ chế đồng thuận giữa các node với nhau và kiểm tra tính chính xác của giao dịch.
Bên cạnh đó, nó cũng lưu lại bản sao của blockchain, vì vậy sẽ an toàn hơn và hỗ trợ các chức năng chuyên sâu khác như biểu quyết các đề xuất trong mạng. Một số điểm đặc trưng của một Full node:
- Lưu trữ toàn bộ dữ liệu blockchain
- Tiến hành kiểm tra block, xác minh mọi block và trạng thái của nó
- Toàn bộ các trạng thái có thể xuất phát từ Full node
- Cung cấp dữ liệu theo đề xuất đến các Lightweight node
Lightweight nodes
Bên cạnh đó, một node khác dùng trong các hoạt động tiền kỹ thuật số mỗi ngày, chính là Lightweight node, hay node kiểm tra thanh toán đơn giản (SPV – Simple Payment Verification).
Những node này tương tác với blockchain trong khi thông qua các Full node để cung cấp đầy đủ các thông tin quan trọng. Tính chất của các Lightweight node là không lưu trữ bản sao của blockchain, nó chỉ truy vấn hành trình để xác minh giao dịch.
Để khởi chạy Lightweight nodes không cần thiết sử dụng quá nhiều tài nguyên. Tuy nhiên, nó sẽ hành động để bảo vệ thông tin và nhu cầu tiện ích.
Ai có thể thực hiện blockchain node?
Chúng ta đã tìm hiểu node là gì, vậy ai là người chạy blockchain node? Xét về lý thuyết, ai cũng có thể chạy blockchain node. Tuy nhiên, phụ thuộc vào cơ chế đồng thuận của blockchain sẽ có những yêu cầu cụ thể.
Tuy nhiên, các blockchain như BSC, Okexchain, HECO,… Họ sử dụng cơ chế đồng thuận Proof of Authority (PoA), một thuật toán đồng thuận dựa vào danh tiếng. Giải thích cụ thể hơn thì bất kỳ ai cũng có thể chạy node, nhưng để xác minh các chuỗi PoA, bạn phải có danh tiếng thực sự trong cộng đồng đó, điều mà không dành cho đại đa số người dùng bình thường.
Hoặc các blockchain sử dụng cơ chế đồng thuận Delegated Proof of Stake (DPoS), dựa trên giá trị của token do người dùng sở hữu, nói cách khác, chỉ “những người nắm giữ hàng đầu” mới có quyền chạy các node trên các blockchain này.
Ngoài ra còn có nhiều blockchain phi tập trung hơn với các hạn chế tham gia thấp hơn rất nhiều, chẳng hạn như Ethereum. Ethereum khuyến khích người dùng chạy các node của riêng họ, cho phép họ sử dụng Ethereum một cách bảo mật và đáng tin, trong khi vẫn hỗ trợ mạng lưới.
Ưu điểm khi tự chạy một Ethereum Full Node:
- Các node của bạn cần tự xác thực toàn bộ các giao dịch dựa theo cơ chế đồng thuận.
- Điều này tức là bạn không phải phụ thuộc vào bất cứ node nào khác trong mạng lưới hoặc tin tưởng chúng tuyệt đối.
- Bạn sẽ tránh được vấn đề 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 đánh giá là bảo mật và an toàn hơn khi sử dụng node do mình tự chạy.
- Bạn có thể lập trình RPC endpoints cho riêng mình.
Các tiện ích đem lại cho Ethereum Network:
- Một tập hợp các node đa dạng vô cùng quan trọng đối với tính bảo mật và khả năng khôi phục của Ethereum.
- Các Full node cung cấp quyền truy cập vào mạng lưới blockchain cho các Lightweight node phụ thuộc vào nó.
Các bước chạy node chi tiết cho người mới bắt đầu
Bên cạnh việc staking token/coin để tạo thành node, còn có một hình thức khác là chạy node dựa trên node. Cách tiếp cận này thường phức tạp vì hầu hết người chơi tiền điện tử không quen thuộc với node.
Node thường được chạy bằng mã của testnet, vì dự án chưa phát hành token. Nhưng cũng bởi vì chưa có token chính thức, nên có nhiều khả năng bị Retroactive.
Có rất nhiều trang web cung cấp dịch vụ cho thuê VPS. Điển hình như Contabo. Phần lớn những trường hợp chỉ việc mua lựa chọn rẻ nhất là ổn. Sau đây là các bước chạy node đơn giản:
- Mua VPS.
- Cung cấp thông tin đăng nhập.
- Điền hàm tmux.
- Căn cứ vào dự án mà tiếp theo vào các lệnh khác nhau.
Dưới đây là các bước chi tiết về hướng dẫn chạy node, bạn có thể làm theo để sở hữu một node cho riêng mình.
Bước 1: Mua VPS
VPS hay đầy đủ là Virtual Private Server, là một máy tính ảo hỗ trợ người dùng chạy code. Để mua VPS tương tự như bạn mua một chiếc máy tính mới, nó không có tính chất vật lý.
Vậy vì sao cần mua VPS mới khởi chạy node được? Nguyên nhân là vì các dự án testnet phần lớn bảo mật rất kém, do đó dùng mạng chính có thể tác động đến dữ liệu.
- Ban đầu, truy cập contabo.com/en và lựa chọn VPS chi phí rẻ.
- Sau đó, chọn thời gian và vị trí, ví dụ bạn chọn 12 tháng và ASIA. Lưu ý: Bạn có thể không nhất thiết phải chọn Châu Á, hãy chọn European Union có mức giá rẻ nhất.
- Cuộn xuống dưới và điền mật khẩu. Những thông tin khác giữ nguyên, gồm bộ nhớ 200 GB SSD, hệ điều hành Ubuntu,… Tiếp tục bấm Next.
Cuối cùng, bạn hãy cung cấp thông tin cá nhân và thẻ thanh toán để hoàn thành thủ tục mua VPS.
Bước 2: Điền thông tin đăng nhập
Sau khi hoàn tất, hệ thống sẽ gửi email cho bạn.
Khi đã hoàn thành nhập các thông tin, hệ thống sẽ gửi thông báo đến email của bạn. Hãy chờ một lát, sẽ có email trong đó có tài khoản và mật khẩu.
Tiếp theo, vào trang web my.contabo.com/account/login và đăng nhập. Hãy tiến hành lần lượt các bước dưới đây để đổi mật khẩu.
- Bấm Your services
- Tiếp tục chọn Manage >> Control.
- Ấn vào Password Reset.
Cuối cùng là điền mật khẩu mới để hoàn thành. Nguyên nhân bạn cần phải đổi mật khẩu vì mật khẩu do hệ thống cung cấp lúc đầu không biết vì sao mà không đăng nhập được.
Bước 3: Điền thông tin đăng nhập
Thông tin đăng nhập gồm có IP, nằm trong email thông tin đăng nhập bên trên, và mật khẩu được đổi bên trên.
Dưới đây là cách đăng nhập, căn cứ vào hệ điều hành máy tính của bạn:
- Windows: Start + R; tiếp đó search CMD và Enter.
- MacOS: Command + Space; tiếp đó đó search Terminal và Enter.
Sau đó, hãy điền cú pháp này để đăng nhập VPS:
ssh root@<địa chỉ IP>
Tiếp tục chọn Enter. Ví dụ: ssh [email protected]
Với lần đầu tiên đăng nhập VPS vào máy, hệ thống sẽ đặt câu hỏi. Bạn bấm yes (Lưu ý viết thường, vì có khi sẽ viết hoa) và nhấn Enter.
Sau đó, các bạn điền mật khẩu được đổi bên trên vào. Lưu ý, những ký tự mật khẩu sẽ không hiển thị trên Terminal, đừng lo lắng mà hãy thao tác như thường. Xong thì nhấn Enter.
Bước 4: Điền hàm tmux
tmux là hàm dùng cho chạy node nếu bạn tắt máy. VPS là một máy tính bình thường, nếu chúng ta tắt Terminal đi, VPS cũng tắt và tất các hoạt động đều dừng lại. Điều đó làm quá trình chạy node dừng lại.
Để hạn chế điều này xảy ra, hãy cài tmux. Khi chạy node ở tmux sẽ là vĩnh viễn trừ khi các bạn chủ động dừng nó lại. Tất nhiên, không bị tác động bởi tắt máy.
Khi đã hoàn tất, các bạn cài tmux qua lệnh dưới đây:
apt install tmux
Tiếp tục nhấn Enter. Sau đó hãy vào lệnh này:
tmux
Cuối cùng nhấn Enter.
Bước 5: Khởi chạy node
Dựa vào các bước bên trên, các bạn đã nắm được những bước đơn giản trong việc chạy node. Phần phía sau sẽ căn cứ vào mỗi dự án sử dụng ngôn ngữ lập trình và thiết kế ra sao để có những lệnh khác nhau.
Bước 6: Reinstall node (muốn hoặc không)
Reinstall node là thao tác xóa toàn bộ các dữ liệu trong node, hãy dùng nó khi bạn cảm thấy đang lưu trữ nhiều dữ liệu không cần thiết, hoặc không thể xóa thủ công. Sau khi reinstall, node sẽ là mới hoàn toàn. Để reinstall, bạn có thể làm theo các bước dưới đây:
- Thực hiện đăng nhập vào VPS, nhấn vào Your services.
- Ấn vào Manage, chọn Reinstall.
- Tiếp đó bạn điền mật khẩu vào, ấn vào Star Installation.
- Phần trạng thái sẽ là Pending >> Running >> Finish. Trong vòng 10 phút mà không hiển thị kết thúc, bạn có thể chọn refresh để làm mới.
Với nội dung node là gì ngày hôm nay, chúng ta đã nắm được khái niệm của nó, cách thức hoạt động và các bước để chạy node. Có thể thấy, trong thế giới công nghệ blockchain, node mang một ý nghĩa quan trọng, vai trò của nó không thể bị coi thường. Follow Binancevi.com để xem thêm nhiều thông tin bổ ích khác nhé!
Tôi Vũ Khương Thế – tác giả của trang web BinanceVi.com. Với hơn 5 năm trong thị trường tiền ảo với các thăng trầm mà bản thân đã rút được một ít kinh nghiệm. Tôi không muốn các anh em phạm phải những sai lầm mà tôi đã từng có. Đầu tư lúc được lúc mất nhưng trang bị đầy đủ kiến thức giúp ta vững tâm hơn với các quyết định của bản thân.