As the CPU computing power required for Bitcoin Generation due to the "proof of work"concept is totally wasted (and ultimately converted to CO2), I devised a method to save this computational power and use it in the form of trained AI experts (neural network instances), the difficulty variation of the puzzle in Bitcoin is repaced with the variable Kolmogorov Complexity of any of the training instances of the AI experts, and this instance is evaluated by the client for the "proof of work" generation, and to distributedly train the experts using distributed power.
You can spend a lot of GPU power to train a AI expert (several instances, several iterations), but to use the trained version, you only use the best neural network generated and little CPU resources so the advanced neuroevolution techniques are out of reach for the Arduino Uno or Raspberry Pi.
A novel modified fractal turing machine is used to comunicate neuroevolution commands and signals to field machines and internet of things minimizing transmision cost of the experts to the final user and to replicate, modify and use the best trained AI expert available in the network at low CPU cost.
This resourse is invaluable for research as interconectable, configurable connection-based parametrization inside a taxonómical distribution of AI experts can deliver advanced image analisys and data minning thad due to lack of computing power are out of the reach for some people, aditionally the modular, interconectable, nature of neural networks make possible the creation of very complex experts and the usage of the final trained expert in a prototype or mobil device.
The name comes from the fact that as all the AI experts in the taxonomy reach efficiences superior the the human counterparts by definition the machine is in average more "Inteligent" than one human, and this concept is called Technological Singularity, and i think if done correctly will bastly improve all aspects of life.
Comments, sugestions, help welcome.
4 ·
Comments
@harveybc, do you have any code or other formal descriptions we could talk about or is this purely a product of ideation at the moment?
I have a lot of things to define yet, but the basic process of Singular Coin Minning is as follows for now, this is no formal o final, sugestions, observation welcome:
Each taxonomic catergory is composed by sets of genomes wich are training instances and will be trained by the miners, the genome with the best fitness in the dataset for the taxonomyc category is called champion, the taxonomic category also specify wich is the best or recomended trainimg method for itself.
1. Each miner node collects a set of genoms. The miner only colects genoms for a taxonomical category (like only taking individuals from a single species).
2. At the same time the miner node collects the training set for the taxonomical category.
3. Each miner node train the category genomes using NEAT or other neuroevolution approach.
4. When a miner node is able to increment fitness from the previous champion fitness, it broadcasts the champion's genome to all nodes.
5. If there is consensus on the superior fitness of the champion for the taxonomical category, the miner receives a quantity of SingularCoin determined by the fitness increment and the taxonomic category complexity (training more complex experts make more Singular Coin),
6. The miner broadcast the evolved training genomes (including the champion) for other miners to use only if they have better fitness than the existing ones.
I know there a lot of things to define, for now am working in , but i am working on them. Due to the highly parallelizable nature of neuroevolution training, the training of a taxonomical class can be divided further betwen the miners and they will share the reward based on various factors(WIP).
Sugestions, questions, improvements, etc?
If you do not fully understand what you are reading, you can't say it is speculative, please be specific.
http://www.heatonresearch.com/encog
This is a detailed info on NEAT:
http://nn.cs.utexas.edu/downloads/papers/stanley.ec02.pdf
Obviously you do not implement the neuroevolution algorithms at low level yourself (they are already optimized in Encog) If after reading that you consider that is infeasible, let me know and i will teach you.
NEAT has a great characteristic and it is that the genomes used dured training (population) that we call training instances are represented by genomes (strings or files) and groups of them called species in NEAT, can be started to train from existing genomes, wich is what i do during minning.
I have encountered a problem, and it is that perhaps ethereum do not offer the possibility to change the minning function. Do you Know any other method of doing this rather than forking an existing project like BitCoin, ehtereum?
(the best option now is PPCoin https://bitcointalk.org/index.php?topic=101820.0)
Anyway, i think the main link missing in your explanation is how do bitcoin ASICs fit into this.
These ideas are starting to make more sense to me, looking forward to seeing some more concrete formalizations.
An algo is only valid as a PoW algo if it can a) be - considerably - harder to solve than to be verified (hashes are great for that, obviously) and b) made to scale in difficulty by adjusting some arbitrary parameter (in bitcoin, nonces)
Note that the above has nothing to do with turing completeness, as PoW turing completeness does not automatically grants the algo 'usefulness'. The tentative solution proposed by Gavin in his yellow paper (http://gavwood.com/paper.pdf) for example, solving corrupted contracts, is turing complete. Is it useful? Well, it secures the network (just like sha256 does on bitcoin) and if proven to be sequential memory hard as well could help prevent mining centralization. That said, it's not folding protein either (a useful thing for humanity, but useless for PoW).
So the question to @harveybc is, is training NNs something that can be somehow made appropriate as PoW, and/or do you have maybe tentative information from somewhere that might hint that it could be the case?
For your entertainment only, apart from the useful Research and Internet of things applications, there is another (ugly?) usage for IA, this is the year when an AI expert did its appearance at the Forex World (Approx USD$3Trillion/day market):
http://championship.mql4.com/2007/
This means that while minning bitcoin, the people would be also minning real money using distributed experts, if the best expert is trained and the network widely used. That is speculation, but that sidetrackedme and scaredme in particular how they tolerated the economical perturbations and become multi-coin experts that trade in all the coins at the same (and sense the changes in all markets).
But it works for training a NEAT expert in 5 different machines with the same dataset (market data), i used the same technique described for the Singularity Minning. I mean, each of the machines(like minners) run a totally independent NEAT training, but they shared the best genomes when an increment of fitness is reached, the others check the if the genomes published had major fitness than the population they are training and exchanged the genomes if true. The funny name of the project comes from the technique that killed Bill in Kill Bill Vol 2, movie of wich i was a die-hard-fan, it includes some code in MQL4 used for the interfacing with Forex. As i mentioned earlier is a very ulgy unmanaged code, but it is at least commented (in spanish).
http://en.wikipedia.org/wiki/Foreign_exchange_market
Some time i heard in an opinion of a Forex Automated Championship winner that the IA if widely used could reduce speculation in the markets.
Secondly mining is there for security. It also does issuance to 1) handle the ether supply against hoarding 2) incentivize the miners. That it does issuance essentially also means that you are saying we should pay for this singularity thing. Not saying this is necessarily wrong, just making it explicit.
You could also have it not being issuance, and try figure out how people might want to pay for the activity. If a contract can register the work being done securely, you could make it part of the businessmodel of a contract.(like a DAO)
Note that if you would do it solely for (2) and we found this useful, it probably wouldnt be mining. It would just be in the form of a contract with 'a magic wallet'. Exceedingly unlikely this is going to happen in Ethereum1.0.
Generally, earlier on i was also interested for mining to do some useful thing. But now i realize that the level of activity those useful things is better determined by demand than having them be controlled by the mining reward. (of course, this is unless it also happens to secure the network)
Maybe at application-level the Singularity coin miners, may mine both coins at the same time (something like 1% of CPU for the ethereum coin and 99% for the SingularityNet) and that is the attractive part for the minners.
But the basic approach for the training of the AI using minners and using them to evaluate the experts (like internet of things) is the design problem i am facing now.
I think i have a solution, i would like to use a blockchain for each of my experts (inf.scalable) and all the miners of that n-coin receive the respective payment when one of them finds a measurable efficiency increase proportional to the computational effort used since the last increment of efficiency by each one in a very simple manner, so each blockchain traces the changes made to each expert as it increases efficiency, and the coin measures the expert value measured in invested CPU (n-coin).
I am working in the protocol for the sub-Coins generation and measurement, as they do not need other transactions because are only accumulative.
The coin forged for each miner is representative of the value of the expert in the Gridcoin System or similar.
That is the basic idea. There is la lot of design to do, but the concept remains the same, and now we help BOINC, thats very good. Any suggestions? Thanks