visdude are you describing p2pool ?
I am not entirely familiar with the inner workings of P2Pool but I remember it could not garner enough hashing power to compete with the big pools back in the day, hence it failed. I also remember its peculiarity of needing a special or customized version/release of certain mining software in conjunction with some mining hardware. I surmised that it was still subject to Bitcoin's winner-take-all lottery mining reward implementation and therefore still functioned as an "external" mining pool (outside of core/protocol)...still had to compete with other centralized "external" pools for those winner-take-all block rewards to be divvied up among the participants. Is that an accurate assessment on my part? I mean, Bitcoin's block reward rule have not changed since the genesis block as far as I know.
The model that I am thinking of is for a cryptocurrency to have a pool-like block reward distribution in its core/protocol, i.e. based on hashing share of participating "solo" miners instead of the current winner-take-all lottery reward paradigm. Whether it can be technically implemented or not, I do not know as I am not a coder; just a user with a somewhat wild imagination. If it can be technically implemented, the motivation to establish centralized "external" pools would no longer exist then as the block reward is already divvied up according to shares out of the gate or from the get-go.
So then the current block rewards become something based on work performed, not based on some method of luck. This seems like a very good egalitarian voting system, where each vote counts as one that is deserved
Yes. A paradigm shift from a competitive/gambling block reward model to a distributed or more accurately, a "cooperative" model. The nature or principle of Monero and other similar cryptocurrencies is unmistakably egalitarian in itself (all nodes are equal). So why not adopt the same principle in its mining reward implementation?
So to make this "egalitarian mining" or "fair mining work for pay", would the code changes need to be made to core, mining, and pool source code?
It seems pretty straightforward to implement, as the block rewards would simply be each in relation to each miners hash for a specified period of time - maybe daily work for daily pay is a starting point.
I guess the first question to be answered is how often this block reward would be paid, as expressed in time vs blocks. It seems intuitive that a 24 hour period would be used, but maybe a 12 hour or 1 hour period is better?
It seems that the communication of each miners daily PoW would need to be encrypted and sent to the network for inclusion in the blockchain, and it would be processed like a transaction, is this correct?
That might add an additional component of blockchain bloat that will have to be dealt with
I think "co-op mining" would be a more approriate term. It also has a community-oriented connotation rather than political.
You obviously have a better handle on coding concepts than I do. I got zilch. All I have is an imagination with a sprinkling of common sense and logic here and there.
Simplistically, why not just take the pool mining concept and apply it as a sort of module in the existing core software to handle the divvying up of a block reward according to shares and distribute it to miners' wallets? Computing resources to handle such extra processing shouldn't be an issue as the "network" virtually becomes a supercomputer (so I read). Everything else stays the same including block frequency and reward. I don't imagine it would create a significant blockchain bloat since they're just regular transactions going to certain wallets (something pools already do anyway) albeit originating from coinbase.
Anyway, as my post at the top of this page stated, this cannot be applied to Monero nor did I suggest it to be so. It was just a reaction to the current and ongoing development of solo/pool mining features in the Monero Wallet GUI which I thought was relative to what I had in mind. Therefore, this topic is no longer within the scope of this thread. Perhaps further discussion in the tech/development forum would be in order for way smarter people than I'll ever be to mull over.