Post
Topic
Board Announcements (Altcoins)
Re: [ANN] [XEL] :: Elastic - The Decentralized Supercomputer ::
by
coralreefer
on 10/06/2017, 16:36:55 UTC


The very short version:  A job requester would annotate an SSA form program (in a specific machine model resulting in a particularly structured (binary) flow graph)  with a simple liveness/reachability model so that miners could (quickly, and without running any example case inputs) verify the necessary complexity bound of the job's individual work task before selecting.  PoW solutions would operate a little differently (still using "per user" generated inputs incl nonce data, but basically hashing/checking "instruction by instruction" instead of at the end of each input run) so that PoW solution rates become uniform across jobs, being able to be found at any point mid-execution.  (PoW prize pool would probably also need to work a little differently, with any amount of proof-of-work certificates able to be submitted before a bounty is found, and the PoW pool being divided proportionally after.)  Bounty solutions would include an annotation of the original model with information about the eventual I/O relation, such that verifying the output submission can be reduced to an instance of a satisfiability problem.  Nodes (all of them) would validate solutions against this model. (They would still need to "re-run the program" by a symbolic interpretation, but could know that they are doing so in an optimally efficient way - effectively skipping any "unrelated loops" encountered.)  Jobs would always end after one bounty is found.

I'm summarizing a lot, but that is the basic idea.

Thank you for the contribute HunterMinerCrafter. I wonder has anyone of the contribuitor explorer further this concept?

I haven't really had time to look into this yet....but here are my initial thoughts...

@HunterMinerCrafter, I think the latest version of the ElasticPL language sets us up well for something like this because it requires the job author to create a "verify" function with logic for a similar purpose (right now it's just to verify the final Bounty solution...but could easily be expanded)...so I don't see this as being difficult to implement technically.  What I don't have a good feel for is this...a job author may be quite successful in expressing their primary algorithm to be solved in ElasticPL, but if they don't know how to (or just get lazy) express the verification logic in SSA form they may leave lots of room for miners to exploit their POW rewards without actually working on the Bounty solution.  My concern is that they may not know where these intermediate checkpoints need to be within the flow in order to keep the processing time to a minimum while ensuring the value checked truly demonstrates that the miner performed the work they say they did.  Of course, I may be completely mis-understanding what you were suggesting...any additional thoughts would be appreciated.