Beta 2 is finally out and running in the wild. It's two weeks behind schedule and contains zero new features.
In retrospect why is pretty obvious, we released payments and then immediately set about doubling the size of our test network. In doing so we had raised the bar for the quality of our features and interfaces.
Many of the quirks that were previously acceptable were now major annoyances. So Beta 2 became a four week long marathon of much needed user experience polish.
What's new in Beta 2
- xdai support that actually works well
- Fixes for various UI inconsistencies
- Improvements to peer discovery
- Fixes to port toggling
- Much faster startup
- Better detection of crashes and automated recovery
- Improved firewall setup
- Fixes for stuck nonce preventing payments
- Performance optimizations for accounting code
We are now at 100% of the network running Beta 2 and loaded with Ethereum to pay for their access.
The anti-overpay protections seem to be working flawlessly as all of the billing issues we've encountered have involved nodes underpaying. The current breakdown is about half of the network paying without any issue and the other half underpaying in some way.
Of those underpaying, a minority were underpaying dramatically due to a bug that caused their nonce values to desync from the blockchain, preventing new payments from being sent. This is fixed in Beta 2.
The rest are underpaying by a value between 5-10% which we've attributed to packet loss from radio links. This is only really a problem for exit -> client traffic since that's the only pay to receive scenario. In the general case packet loss will only result in overpayment since it's pay per forward.
The exit-client relationship is already fairly trustful so we can just couple what the user pays to what the exit sends and not necessarily what the user receives. With the usual safeguards against wallet draining attacks.
Intermediary < Relay
We now have 3 relays, meaning users who are also hooking up other users.
We used to use 'intermediary' as the term for this but in the process of actually getting people started we've found that relay is more quickly understood by most people so we're switching terminology.
We also had our first completely organic install in the Clatskanie network, a relay connected and setup their user without any intervention on our part.
The friction points for that case make up about half of our beta 2 fixes. While the relay had no issues with the actual physical setup several parts of our software where mislabled or confusing.
With payments out and pretty rapid expansion on the table we're mostly focusing on user facing improvements for the time being. Like this new router dashboard.
The network DAO features continue to lag behind where I would like, but with payments online I expect to have it out the door within the next two release at least. Depending on how well dialling in bandwidth payments goes.