An important part of ZenCash is operating Secure Nodes. Zen Nodes run the software that makes the ZenCash system work.

The purpose of Secure Nodes is to create a network that is large and resilient enough to provide the foundation for a worldwide private communication and publishing system that is difficult to interrupt and gather data on. The ideal would be 1000-5000 secure nodes, each running on a separate system, all over the world.

Part of the ZenCash specification is to redirect 3.5% of the mining reward to the owners of ZenCash Secure Node which meet the requirements. The ZenCash Secure Node System is the application software running on nodes as well as the systems and servers which perform these functions:

Challenge Generation

Response Tracking

Analysis and Reporting

Payment

The first level implementation is to get the basics of the system going so people can operate and be rewarded for running Secure Nodes. Over time the system can be improved to be more distributed, resilient, and automatic. Each of the specific applications are intended to run on servers owned by the ZenCash Foundation, with operation by team members.

The first step is to find someone to select as the software development project manager for the different Secure Node system below. Next would be for the project manager to get more specific software specifications written. After that, we can get proposals for development of the software application on ZenCash maintained servers.

Zen team will contract for the development of the applications, which will be developed in an open-source manner with an MIT license.

General Description of System

Zen Secure Nodes require multiple applications running on different systems to operate. It involves the Zen nodes running software to monitor for and respond to a challenge. There are also applications running on systems that track the challenge, record it, and report. Furthermore, there are applications running on systems to authorize payment.

List of System Applications:

Secure Node Challenge Publishing System (ChalPubSys) – This is the system that generates the challenge. Anyone operating a secure node can monitor the challenge system and respond to it.

Secure Node (SecNode) – This is the actual secure node. There will be many of these. It is a hardened server that runs the Zen node system software. It also needs to run the SecNodeApp software. It has to maintain a small amount of Zen on it to be able to send shielded transactions.

Secure Node System Application (SecNodeApp) – This is an application designed to operate on the same system as the Secure Node. It will check the ChalPubSys every minute. When a new challenge is published, it will take action and generate a Response, publish the Response, and send a Response Notification.

Secure Node Response Tracking System (TrackSys) – This server receives the shielded transactions, analyzes them, and records them in a database.

Secure Node Response Reporting Server (ReportSys) – This server will operate a web page that posts the information in the databases of the TrackSys.

Secure Node Payout System (NodePaySys) – This is the server that calculates the payment transactions to be made every payout period.

Other Application Servers that are helpful to operating the system:

Secure Node Information System (NodeInfoSys) – This server maintains a count and identification of all the Zen nodes it can find. It figures out which ones are operating with a valid SSL certificate. Operates a web page providing information.

ZenCash Block Explorer (BlockExplorer) – Server running a full Zen node with entire Zen blockchain. Provides a web page with a way to search the ZenCash blockchain by transaction, t_address, block number, and other ways.

Operating System Example

At the beginning, a Challenge will be published daily. This can be increased in frequency as the system scales.

Challenge is published by ChalPubSys (JSON format)

Challenge Sequence Number

Transaction number from the ZenCash blockchain

Shielded address (z_address) to send response to

SecNodeApp is running on a Zen Secure Node. It checks for a new challenge every minute. When it sees a new Challenge, it:

Creates a Response

Challenge Sequence Number

Response address (looked up from the transaction number)

Secure Node identifier (Secure node t_address)

Secure Node ZenCash staking info (Staking t_address)

Encrypts the response using SSL private key

Publishes SSL public key and Response (JSON format)

Creates a z_transaction with Response URL in memo field and sends it to the Challenge Shielded Address

TrackSys checks ZenCash blockchain for new responses. When it sees one, it:

Reads the memo field.

Gets the JSON information from the URL in the memo field

Verifies SecureNode SSL public cert is valid

Decrypts the Response with the SSL public cert

Validates the Response is correct for the challenge

Records the valid response for both the Node t_address and Staking t_address.

When the Challenge period is complete, it stops checking for new responses and creates a list of Node and Staking addresses that provided a valid challenge .

ReportSys updates it’s data and presents it in a user readable web page.

Information from TrackSys as each response comes in.

List of successful Secure Nodes per valid Challenge sequence number

Historical record of Challenges and valid Responses

Process 1-4 continues for the duration of the 1 week period. When the week is over, NodePaySys calculates payouts based on formula above.

The more successful Responses, the less each Secure Node is paid.

Payment will be sent to the Staking t_address

Payments will be made weekly.

Please review the ZenCash forum post with the Secure Node System overview specification. Discussion takes place in the forum, and on the ZenCash Slack in the #securenodes and #developers channels. We would love to have people join the ZenCash Secure Node System discussion, no matter what level of development or cryptocurrency experience.

5 Comments

[…] are continuing to make progress toward implementing the Secure Node Tracking and Payment System which will do the Challenge and Response for secure nodes, as well as the Tracking and Payment. As […]

[…] Secure Nodes. Zen nodes run the software that makes the ZenCash system work. The purpose of ZenCash Secure Nodes is to create a network that is large and resilient enough to provide the foundation for a worldwide […]

[…] Secure Nodes. Zen nodes run the software that makes the ZenCash system work. The purpose of ZenCash Secure Nodes is to create a network that is large and resilient enough to provide the foundation for a worldwide […]

[…] are continuing to make progress toward implementing the Secure Node Tracking and Payment System which will do the Challenge and Response for secure nodes, as well as the Tracking and Payment. As […]