Although I agree with his assessment of the memory contraint in XEL making it useful to only limited use cases, I really don't understand the concept of integrating BOINC into a coin. First, we already have GridCoin doing a pretty good job of that...but if you look at BOINC as a whole, I don't see any need a cryptocoin to draw people in...look at how much interest BOINC already has. Also, I've never liked the idea of POW for any of these science coins...I don't think it helps, but it does complicate things. I personally would have preferred if XEL got rid of it.
I always figured the market for XEL was for research on problems that aren't necessarily large / glamorous....maybe just some simple research a scientist needs extra computing power for, and is willing to pay a small bounty for miners who solve the problem...but I do agree XEL servers need to suppor larger memory usage...just not sure if it's possible in this current design.
Well, the thing is that the current system is absolutely trustless. That means that we have no "central authority" verifying anything (such as all BOINC based coins do, since they rely on an external service controlled by a single entity which anytime can turn blackhat and cripple the entire coin) so we have to make sure every node in the network verifies work by himself. Others, very well hyped project deal with it in their very own way: they just drop all that shit and assume everyone trusts everyone ... problem solved ... NOT!
Anyway, in this context we have several issues:
a) Every node must be able to verify the work, the more memory we allow, the "higher" the "required minimal hardware specifications" become.
b) Verification of work must be performed quick. Imagine the verification (one iteration of a work algorithm) takes 10 seconds and the network is so mature that we get 100 POW packages in every second: this would result in a very large back log and eventually stall the network.
What we talked about recently in private was to out-source verification to a subset of nodes, so-called supernodes which have a very potent hardware and which just sign off POW packages and bounties. I thought it might be possible to use such scheme:
- Work may use up to 5 GIG of memory
- Work may take up to 10 seconds to verify
- Verification is only performed by supernodes
- Supernodes deposit an amount of 300,000 XEL and earn x% of all work they confirm
- If a supernode behaves maliciously (when it can be proven that a result was accepted while it's bad) the 300,000 XEL are gone
- Supernodes must be permanently online and have very decent hardware
- If supernodes decide to stop, they have to wait for 1000 blocks without verifying anything to unlock the 300,000 XEL deposit.
- Problem: Malicious billionaire supernodes that do not care about money, and the danger of ending up with no supernodes at all.
This is a change I can make in one weekend, it's just the question if we want it or if we can come up with something better?