Welcome to the first demo of the Constellation testnet where Wyatt, Brendan, and Ryle give a high level overview of the local end-to-end dockerized test of Constellation. This test is running a 3 node cluster with our latest hierarchical bundle and reputation / schema updates.
This aforementioned implementation will be superseded by our Kubernetes test cluster so we can continue ramping up to larger experiments on Google Cloud. This upgrade will be made after we’ve finished verifying full functionality of the latest release.
Most of the information on the UI shown on the right of the screen is for debugging or metrics collection currently. We’re slowly running through the tests to verify correctness before we start scaling our latest code. We are modifying the performance tests and cluster configurations with our latest changes in order to start running larger experiments and collecting more data. Once this is completed, we will demonstrate a series of stress tests with varying cluster sizes, focusing on around 100 nodes and up, and from there start scaling even further.
The test that is running in the video is only processing a small number of transactions that have been slowed down purposefully, in order to aid with inspections in the nodes’ ‘cockpit’ UI shown on the right.
Live demo of the Constellation DAG:
Visualization of the Constellation DAG:
It may be helpful for developers to start getting familiar with our nomenclature for describing certain parts of Constellation. Here are some definitions to help you understand the output on the nodes dashboard “Cockpit”.
Bundle: Each bundle in Constellation has a hash equivalent to the hash of a typical block in a blockchain, except bundles can contain arbitrary collections of data, as opposed to just packaging transactions. It can be thought of as a block of blocks of blocks … to the Nth order that embeds observations of transactions across the network along with additional metadata used to determine optimal topologies and rewards.
address: The Constellation account structure and address for DAG transactions. It starts with 0xDAG….
allPeerAllBundleHashSync: ‘true’ means that all peers are synchronized on the chain they are on, therefore, consensus has been reached.
allPeerSynchronizedLastHash: ‘true’ means that all peers are synchronized on the chain they are on therefore consensus has been reached with respect to the last hash on the chain.
Balance: Account balance of the Constellation node that we are working in on the UI.
downloadMode: Has the peer downloaded the main chain and is it synced with the network, this is done from a merkle root hash in a way that is similar to Bittorrent.
genesisBundle: The genesis bundle on the current DAG.
genesisBundleHash: The sha256 hash of the genesis bundle for the testnet.
genesisBundleIds: Debugging option
Id: The nodes internal id dumped to base 58 format (debugging)
keyPair: The JSON serialized for of the wallet keypair which includes the private key.
last10TXHash: The last 10 test transaction hashes that this node sent.
last10ValidBundleHashes: The last 10 valid bundle hashes added to the DAG globally on the network. Equivalent to the last 10 block hashes.
lastValidBundle: Metadata about the last valid bundle such as, hierarchical depth, number of participants, and number of transactions, and the meme-score.
lastValidBundleHash: The last valid bundle hashe added to the DAG globally on the network. Equivalent to the last block hash.
memPoolSize : Size of transactions waiting to be validated and added to the DAG
numActiveBundles: This is the number of bundles that the node is currently processing and trying to combine and merge into the best possible bundle with the highest meme-score. Not ever piece of data makes it into the global block and nodes compete to fill a bundle to gain the best score. We can call this implicit proof-of-work.
numPeers: Number of connected peers to the node interface.
numValidBundles: This is the block-height of the DAG.
numValidTransactions: The total number of transactions validations over all history and added to the DAG
peerBestBundles: This is synchronization data which keeps track of each nodes internal highest scoring bundles. Nodes can process bundles in parallel.
Peers: IDs of connected peers to the local node
Reputations: Deterministic reputation of the nodes in the DAG including the local node, there are three in total.
selfBestBundle: The nodes current highest meme-score bundle across everything it has observed on the network.
shortID: Four character ID of the node that is being observed.
totalNumBroadcasts: A metric for tracking the total number of attempted broadcasts to other peers and it tracks each individual broadcast to multiple nodes. So one broadcast can reach 5 nodes and be counted as one.
totalNumBundleMessages: The total number of unique bundles that have been received on a given peer.
z_Bundles: Debugging information
z_UTXO: Debugging information
Z_peers: Debugging information
The testnet will launch on the 1st August, 2018 with permissioned nodes allowed to connect to our test cluster.
Brendan and Wyatt
Join Our Telegram Group: https://t.me/constellationcommunity
Connect With Us On Social: