Network

The Neuron Network is a decentralized peer-to-peer network that facilitates real-time publishing and subscribing to data. It is commonly utilized by applications for decentralized messaging, enabling data sharing across various applications or broadcasting information to large audiences.

The decentralized nature of the system ensures scalability, robustness, security, tamper-proofing, and censorship resistance of the data transport. The Neuron Network is comprised of nodes that interconnect through the Neuron protocol, forming a topic-based publish-subscribe messaging system. These topics are referred to as networks, and the primary function of the Neuron Network is to deliver published networks of messages to all subscribers of that network.

As a message transport middleware, the Neuron Network serves as a building block for decentralized applications, enabling parties to distribute or exchange information without relying on a central server to broker data.

Intro to Neuron nodes

Neuron nodes serve as access points for applications to publish and subscribe to networks on the Neuron Network. To connect an application to networks, it must interface with a Neuron node. There are two strategies for interfacing applications with Neuron nodes: light nodes and broker nodes. Light nodes are imported to the application as a library and run locally, while broker nodes run separately and are connected to remotely using one of the supported protocols. The choice between these two approaches depends on the specific use case. Here are some commonly used decision criteria:

  • For JS development, light nodes are recommended, while broker nodes are preferable for other programming languages.

  • Broker nodes should be used for applications running on very limited CPU, memory, or bandwidth, such as battery-powered or embedded devices.

  • Light nodes should be used if the data needs to be cryptographically signed at the source.

Light nodes

Light nodes are Neuron nodes that run locally within the application instance. To utilize them, they are simply imported as a library, and function calls are used to interface with them. This approach is highly decentralized as it eliminates the need to host Neuron nodes separately. However, it is dependent on the availability of a Neuron node implementation in the programming language being used. At present, Neuron nodes have only been implemented in JS, making light nodes suitable for web applications and Node.js-based applications.

Broker nodes

Broker nodes are Neuron nodes that operate externally to the application being used. To utilize a broker node, a node is launched on a server, and remote interface via one of the supported protocols is established. The Broker node is equipped with plugins for HTTP, Websocket, and MQTT protocols, and libraries for these protocols are available in virtually every programming language, making it possible to conveniently publish and subscribe to data from the Neuron Network using any programming language. Additionally, the plugin architecture of broker nodes enables them to perform other tasks aside from serving applications, such as mining.

Further reading

The majority of readers seeking information on utilizing the Neuron Network in their applications can find an in-depth discussion of the technical aspects of the Network and its nodes on the Network page. For those seeking a more concise overview, a condensed summary of the Network is available on the project website's Network page.

Last updated