Node, Full Node là gì? Tìm hiểu Node Bitcoin và Node của Blockchain

Exchange Script mời bạn đọc cùng tìm hiểu về Node, Full Node là gì? Vai trò của Node, Node Bitcoin và các loại Node của Blockchain qua bài viết này nhé.

thiết kế sàn giao dịch tiền ảo

Node là gì? 

Node (nút) có thể thay đổi đáng kể theo ngữ cảnh nó được sử dụng. Khi nói đến mạng máy tính hoặc viễn thông, node 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. Thông thường, một node là một thiết bị mạng vật lý, nhưng trong một số trường hợp cụ thể, nút ảo được sử dụng.

Nói một cách đơn giản, một node mạng 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. Theo đó, chúng ta sẽ thảo luận về các loại node Bitcoin khác nhau: full node, super node, miner node, và SPV client.

== Tiền điện tử là gì?

Node có vai trò gì?

Vai trò của một nút 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 nút 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 nút riêng, duy trì các bản ghi giao dịch của loại tiền đó.

Với các nút 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 nút 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

Có rất nhiều loại node trong Blockchain như:

  • Root node- Nút cao nhất trong một cây nhị phân.
  • Parent node- Một nút mà có những nút mở rộng từ nó.
  • Child note- Một nút được mở rộng từ nút khác.
  • Leaf node- Một nút không có nút con
  • Sibling nodes – Những nút kết nối với cùng một nút lớn(parent node).
  • Tree- Một cấu trúc dữ liệu bắt đầu từ một nút gốc (rood node).
  • Forest- Một tập hợp những cây(trees) nút.
  • Degree- Thứ bậc nút con của một nút.
  • Edge- sự liên kết giữa các nút.

Node Bitcoin là gì?

Mạng các node máy tính giúp cho Bitcoin có thể được sử dụng như một loại tiền tệ kỹ thuật số ngang hàng phi tập trung (P2P) không chịu sự kiểm duyệt nhờ vào thiết kế của nó và không cần một bên trung gian để tiến hành giao dịch giữa những người dùng (bất kể khoảng cách địa lý trên thế giới).

Do đó, các node blockchain 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. Bất kỳ máy tính hoặc thiết bị nào kết nối với giao diện Bitcoin đều có thể được coi là một node vì nhìn chung thì chúng giao tiếp với nhau theo cách nào đó. Các node này cũng có thể truyền thông tin về các giao dịch và các khối trong mạng máy tính phân tán bằng cách sử dụng giao thức ngang hàng Bitcoin. Tuy nhiên, mỗi node máy tính được xác định theo các chức năng cụ thể của nó, vì vậy có các loại node Bitcoin khác nhau.

== Những thuật ngữ cơ bản của công nghệ Blockchain

node-bitcoin

Full Node là gì?

Bất kỳ máy tính nào kết được nối với mạng Bitcoin đều được gọi là Node . Các Node xác minh đầy đủ tất cả các quy tắc của Bitcoin được gọi là Full Node . Việc thực hiện phần mềm phổ biến nhất của các Full Node được gọi là Bitcoin Core.

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 khác 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 đáng tin cậy thường chạy 24/7 và có một số kết nối được thiết lập. 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.

Node của thợ đào

Để 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.

Lightweight Client (SPV Client)

Còn được biết đến là 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). Lightweight 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 và Mining 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ợ mỏ 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.

Tại sao nên sử dụng một ví full node?

Các Full Node tải xuống mọi khối và giao dịch và kiểm tra chúng dựa trên các quy tắc đồng thuận của Bitcoin. Dưới đây là ví dụ về các quy tắc đồng thuận, mặc dù có nhiều quy tắc hơn:

  • Các khối chỉ có thể tạo một số bitcoin nhất định. (Hiện tại là 12,5 BTC mỗi khối.)
  • Giao dịch phải có chữ ký chính xác cho các bitcoin đang được chi tiêu.
  • Giao dịch / khối phải ở định dạng dữ liệu chính xác.
  • Trong một chuỗi khối duy nhất , đầu ra giao dịch không thể được chi tiêu gấp đôi.

Nếu một giao dịch hoặc khối vi phạm các quy tắc đồng thuận, thì nó hoàn toàn bị từ chối, ngay cả khi mọi node khác trên mạng đều cho rằng nó hợp lệ. Đây là một trong những đặc điểm quan trọng nhất của các nút đầy đủ: chúng làm những gì đúng cho dù thế nào đi chăng nữa. Đối với các Full Node, người khai thác thực sự có sức mạnh khá hạn chế: họ chỉ có thể sắp xếp lại hoặc loại bỏ các giao dịch và chỉ bằng cách chi tiêu rất nhiều công suất tính toán. Một thợ mỏ mạnh mẽ có thể thực hiện một số cuộc tấn công nghiêm trọng , nhưng vì các Full Node chỉ dựa vào các thợ mỏ chỉ vì một vài thứ, các thợ mỏ không thể thay đổi hoàn toàn hoặc phá hủy Bitcoin.

Các Node có quy tắc đồng thuận khác nhau thực sự sử dụng hai mạng / tiền tệ khác nhau. Thay đổi bất kỳ quy tắc đồng thuận nào đòi hỏi một cái nĩa cứng , có thể được coi là tạo ra một loại tiền tệ mới và có tất cả mọi người chuyển sang nó. Các quy tắc đồng thuận khác với các quy tắc chính sách , trong đó xác định cách một Node hoặc thợ mỏ ưu tiên hoặc không khuyến khích những thứ nhất định. Quy tắc chính sách có thể được thay đổi một cách tự do và các Node khác nhau có thể có các quy tắc chính sách khác nhau. Bởi vì tất cả các nút đầy đủ phải sử dụng chính xác các quy tắc đồng thuận tương tự để duy trì tương thích với nhau, thậm chí nhân đôi lỗi và kỳ quặc trong quy tắc đồng thuận ban đầu, tạo ra một nút đầy đủ từ đầu là vô cùng khó khăn và nguy hiểm. Do đó, khuyến cáo rằng tất cả những ai muốn chạy một Full Node đều sử dụng phần mềm dựa trên máy khách tham chiếu , đó là khách hàng duy nhất được bảo đảm hành xử một cách chính xác.

node-full-node-la-gi-tim-hieu-node-bitcoin-va-node-cua-blockchain

Tối thiểu, một Full Node phải tải xuống mọi giao dịch đã từng diễn ra, tất cả giao dịch mới và tất cả các tiêu đề chặn. Ngoài ra, các nút đầy đủ phải lưu trữ thông tin về mọi đầu ra giao dịch chưa sử dụng cho đến khi nó được chi tiêu. Theo mặc định, các Full Node không hiệu quả khi chúng tải xuống mỗi giao dịch mới ít nhất hai lần và chúng lưu trữ toàn bộ chuỗi khối (hơn 165 GB kể từ 20180214) mãi mãi, mặc dù chỉ yêu cầu kết quả giao dịch chưa thanh toán (<2 GB). Hiệu suất có thể được cải thiện bằng cách bật -blocksonlychế độ và cho phép cắt xén .

Các Node lưu trữ

Một tập con của các nút đầy đủ cũng chấp nhận các kết nối đến và tải các khối cũ lên các đồng nghiệp khác trên mạng. Điều này xảy ra nếu phần mềm được chạy với giá trị -listen=1mặc định. Trái ngược với một số quan niệm sai lầm phổ biến, là một nút lưu trữ không cần thiết để trở thành một nút đầy đủ. Nếu băng thông của người dùng bị hạn chế thì họ có thể sử dụng -listen=0, nếu không gian đĩa của họ bị hạn chế, họ có thể sử dụng cắt tỉa, trong khi vẫn là một nút hoàn toàn hợp lệ thực thi các quy tắc đồng thuận của bitcoin và góp phần bảo mật tổng thể của bitcoin.

Cách chạy một full node đầy đủ

Nếu bạn chạy ví Bitcoin / bitcoin , bạn đang chạy một nút đầy đủ. Nếu bạn mở cổng 8333, bạn sẽ đóng góp vào khả năng của mạng. Nếu bạn thực sự sử dụng tính năng ví, hoặc nếu bạn sử dụng một ứng dụng nhẹ như MultiBit nhưng cấu hình nó để kết nối riêng với nút đầy đủ của bạn, thì bạn sẽ đóng góp vào sức mạnh kinh tế của mạng và nhận được sự bảo vệ từ một số cuộc tấn công có thể xảy ra đối với các nút nhẹ.

Có một vài triển khai nút đầy đủ thay thế, nhưng chúng không được khuyến khích sử dụng nghiêm trọng bởi vì hiện tại rất khó để xác định liệu chúng có thực thi các quy tắc đồng thuận với độ chính xác 100% hay không. Ngay cả những điểm không chính xác rất nhỏ cũng có thể gây ra các vấn đề nghiêm trọng cho người dùng của những khách hàng thay thế này. Ví dụ về triển khai Bitcore , libbitcoin , btcd .

Mẹo và thủ thuật để chạy một nút

Đối với Bitcoin Core :

  • Tiêu thụ băng thông có thể được giảm bằng cách sử dụng hướng dẫn này: https://bitcoin.org/en/full-node#reduce-traffic
  • Yêu cầu về không gian đĩa có thể được giảm xuống bằng cách sử dụng hướng dẫn này: https://bitcoin.org/en/full-node#reduce-storage Xem thêm ghi chú phát hành giải thích việc cắt tỉa .
  • Để lưu trữ các tập tin blockchain trên một ổ đĩa cứng bên ngoài sử dụng `-datadir`. ví dụ: `-datadir = / path / to / your / bitcoin / directory`
  • Trang web này có mẫu được xác định trước tốt để tạo tệp cấu hình bitcoin https://jlopp.github.io/bitcoin-core-config-generator/

Kết luận

Exchange Script đã giúp bạn tìm hiểu Node, Full Node là gì? Tìm hiểu Node Bitcoin và Node của Blockchain?. Nếu bạn còn thắc mắc gì, hay gặp khó khăn gì khi tìm hiểu về Node thì có thể để lại dưới phần bình luận của bài viết, chúng tôi sẽ giải đáp sớm nhất cho bạn.

Chúc bạn thành công.

thiết kế sàn giao dịch tiền ảo

Share Social