XRPLF / rippled

Decentralized cryptocurrency blockchain daemon implementing the XRP Ledger protocol in C++
https://xrpl.org
ISC License
4.51k stars 1.46k forks source link

Minimize disk usage for non-public validating nodes #169

Closed mjethani closed 7 years ago

mjethani commented 11 years ago

If validating nodes do not need to store the history, then it should be so that they take up very little disk space. Right now, no matter what configuration settings you use, the database just keeps growing, and has to be manually deleted every few hours.

This is important for adoption. It should be possible for every geek out there to download and run their own Ripple validator on their home computer. Public keys can be shared via Facebook or Twitter. We can achieve true decentralization only if we lower the barrier to entry to the point where any average middle-class person is able to participate in the global trust network.

vinniefalco commented 11 years ago

I disagree. I'm not sure having "every geek" run their own validator is beneficial to the network, because validators need to be publicly known entities. Or else how will anyone know whether or not validators are colluding, or represent the same entity? In order for the network to be secure, we don't want just a lot of anonymous validators. We need validators corresponding to well known businesses or organizations that are represented by a verifiable legal entity.

mjethani commented 11 years ago

I'm a well-known legal entity to those who know me personally. That's the whole point of a decentralized peer-to-peer network and the very essence of Ripple.

What we need is a "rippled-lite" that runs in the background on any home computer. Its job would be to validate ledgers, and nothing else. The full nodes will do all the heavy lifting of serving millions of clients. As a server, you can send me a ledger, but I'll trust it only if it has been signed by most of the people in my UNL.

JoelKatz commented 11 years ago

I agree that being able to reduce storage requirements for validators would be a good thing.

I can also see light validators that just ensure the network is in agreement, key validators are present, and so on, which sign validations for clients so they can easily know what the last closed ledger is.

I don't see light validators that actually process transactions though. As the network transaction rate goes up, keeping up is going to require computing resources and bandwidth. Of course, those things are increasing too, so maybe it's not an issue. That said, our validators do an awful lot less work than the client-handling servers. Retrieving history for clients and servers, pathfinding, and so on are the heavy lifting today.

vinniefalco commented 7 years ago

Obsolete with the rotate/delete feature