I'm Customminer from the Gridcoin community, I've been a holder of BTS since BTSX days & have a very positive outlook on the future of Bitshares!
I have been paying attention to the recent Bitshares testnet stress-testing which yielded a rate of approx 3k TX/s, it was mentioned in the 13th Bitshares hangout that a potential reason that we were limited to 3k TX/s was the lack of computing power at the disposal of the stress-test organizers - I believe that the BOINC & Gridcoin community can help!
BOINC is an open-source kit for volunteer distributed computing, it can distribute any kind of computing task and has between 250k & 560k active users (differing estimates depending on what site you go to.. it's difficult to guesstimate) & 4 million registered users in total. To put the scale of available computing power in perspective, team Gridcoin has 100k hosts at its disposal and currently only rewards 0.5% of the active BOINC community. The majority of the BOINC community contributes their resources entirely for free, those that crunch under team Gridcoin are rewarded GRC by the network on behalf of whitelisted projects (project owners pay nothing).
I try to encourage the development of new BOINC projects each month, join in the latest discussion!
Bitshares Testnet Load Generator!
It was mentioned in the last Bitshares hangout that the Bitshares testnet stress test may have been limited due to a lack of resources available for creating a larger transaction volume - what about distributing testnet load generating software out to a few thousand computers around the world via a BOINC project?
Such a project wouldn't be eligible for Gridcoin whitelist status (no GRC rewards) due to the bursty nature of stress testing (GRC needs continuous work availability).
You could easily distribute an UIA to your volunteers proportionally to their completed work by adding a Bitshares field to the BOINC signup page and user profile.
I'd imagine that for this idea, you would distribute a docker container which contained python dependencies, the testnet stress-test python script, and the bitshares client.
Once running on an user's machine, it would need to create a testnet user account, the project admin would send enough testnet BTS to each volunteer bitshares account, each account would register as lifetime (for less fees, but not neccessary), then the main stress-test script would begin bombarding testnet with transactions.
The 3000+ TX/s rate achieved in the recent Bitshares testnet stress-test was great, but let's try to push it to 1 million + TX/s!
Bitshares Full/API node distribution
Alongside the testnet load generator, you could distribute full node servers out to volunteers to supply additional network resources to the Bitshares network.
This would require the development of a proof-of-bandwidth credit mechanism (how to reward credit to users based on their full node availability/capacity/consumed-resources).
Since full-nodes are always required, this would make a Bitshares BOINC project eligible for Gridcoin whitelisting.
This would require setting minimum computer spec requirements, so not everyone would be able to participate unlike the load generator.
Machine Learning + BTS
You could distribute TensorFlow docker containers, and perform machine learning against data gathered from the BTS DEX.
We currently have ~25 witnesses, down from 100 in the switch from BTS 1.0 to BTS 2.0, we could experiment with different quantities of witnesses in an automated manner to evaluate optimal quantities of witnesses.
The BOINC web server is programmed in PHP, you can easily add a Bitshares (and bitshares testnet) account field to the account signup page (and profile page), then expose said account name within the user statistics xml files (which is generated every 24hrs) then you can proportionally distribute an UIA on the BTS network to each BOINC volunteer proportionally to their contributed computation (RAC). Since these xml files are public, anyone could distribute their own UIA against your volunteers (new sharedrop vector!).
If there is a continuous availability of work units for volunteers, then the project would be eligible for Gridcoin whitelist status (the Gridcoin network would distribute rewards to your volunteers).
Do you have an idea for Bitshares which requires vast amount of distributed computing power? Please post your ideas in this thread! +5%