Elemental Chat is our proof-of-concept app that represents a successful end-to-end infrastructure test of the Holo Hosting network built to run on the new version of Holochain (RSM).
Elemental Chat is not a production ready application. It was built as the simplest test application for the Holo platform.
This is a fully distributed, self hosted hApp, running on Holochain. The success we are witnessing with the Holochain infrastructure, networking and key functionality of the back-end's (DNA) testing Elemental Chat enables us to trailblaze the Holo Apps, like the Publisher Portal and the Host Console.
SSH is a protocol that allows a device requesting information or services (in this case our customer support or dev team) to connect to another device (your HoloPort). When we connect over SSH, your HoloPort can be controlled like a local computer by our team.
SSH is a feature that we have built into the settings of your HoloPort so that you can turn it on when you want to grant the Holo team access to your device and you can turn it off when you want to remove that access.
We’re not changing our business model, nor trying to sell a chat service. We simply wanted to roll out an app that could give end users a direct experience of the speed of Holochain and Holo hosted apps. When you chat with someone and they can immediately reply without needing to wait 10 minutes for a new block to commit to a blockchain or pay $5 per message, then you know you’re using next gen distributed apps.
HoloFuel is still coming, but requires much greater security review than a proof of concept chat app does.
Elemental Chat is just a proof of concept test. We set a goal of having at least 500 HoloPorts using Elemental Chat. This represents a successful end-to-end infrastructure test of the Holo Hosting network rebuilt to run on the new version of Holochain (RSM). This first stage is giving HoloPort owners the ability to test this on their own devices. Next, we’ll have Elemental Chat available to web users as a hosted app.
Yes, Holochain is infinitely scalable, and each Holochain app generates its own network which has distinct resources to run it, but we are still tuning and testing various components to demonstrate scaling within one hApp. For example, we’re running this test with a single proxy server even though a Holochain app has no limit to the number of proxy servers it can use, and every Holochain node has the code needed to function as a proxy.
This release is also running at full synchronization without sharding the DHT content into different neighborhoods.
Though occasionally the initial order of signals messages may appear out of order, they always resolve to the correct order after they have been gossiped with the DHT, usually within 3-7 minutes currently. Signals is our method of supporting real time messaging on a fully distributed app without verification feedback. The gossipping of messages following that verifies and shares all messages via the Elemental Chat DHT.
This chat app doesn’t have any restrictions on usernames, and doesn’t enforce unique names. You could build that into an app if you need it.
In Holochain, it is virtually impossible to actually impersonate another user because every action and communication you make is signed by your private key. However, in Elemental Chat we haven't designed the user interface to show that. In the HoloFuel app you will see unique identicons that are cryptographic icons based on the public key of each user.
If your peer(s) have a HoloPort, then you can certainly test with them. However, during this first phase of testing it is only open to HoloPort owners. The next hosted Elemental Chat available via a browser, all Alpha/Beta perk purchasers from the IGG campaign and Nano owners will be invited to participate.
For this milestone only HoloPort and HoloPort+ hosts can use Elemental Chat as this is the ‘self-hosting’ test of the infrastructure. In the next infrastructure milestone, invited testers will be able to test Elemental Chat hosted by the HoloPort network using only their web browsers. For a much deeper look at our roadmap read our Leadership/Org blog from late last year.
It’s hard to know for sure, but we can make some estimates. If there are 500 HoloPorts running at less than 1/10 capacity with a 45 watt power supply (which draw between 10 to 32 watts depending on load) then that comes out to around 11 kWh for every hour the network is running. Compare that to 2.1 million kWh per hour for the Ethereum network or 656 kWh for a single bitcoin transaction!
At the moment each host running a HoloPort is paying their own electricity, but keep in mind that it’s like having a 25 watt light bulb turned on. It’s a little early to make serious bandwidth estimates, and they vary hugely based on usage load and creation of new content. Since chat messages are small, overall bandwidth per node is quite small just like energy consumption is low.
Though we’re not sure how often we’ll need to reset the DHT, it could be anywhere from a few days to a few weeks as we need to wipe the slate clean for new rounds of performance testing.