You are viewing a single comment's thread from:
RE: LiqBot 0.1 (alpha) | The open-source liquidity bot!
@mauritso & @linouxis9 : Would it be possible to distribute this liquidity software without providing the end user the ability to steal the bot's funds?
There is a possibility. It would be to use multisig. Each BOINC "miner" (I don't know the name so I will use miner even though it's not that) would have a key in the multisig of an account holding the money. Each x minute, a BOINC "miner" would propose a tx to change the orders of the bot in a market pair according to the strategy and each BOINC "miner" would have to see if you need to change the orders like the other BOINC "miner" proposed it (by computing the strategy) and if the change seems correct, each BOINC "miner" would approve/sign this proposal then if this proposal has enough votes for the defined threshold the transaction would be sent and the orders will be changed.
But this is very inefficient and expensive (Like Ethereum where each computations are run on each node).
Ah OK, so you're proposing a P2P network between volunteers? I was initially thinking more along the lines of a distributed (rather than decentralized) liquidity bot system where each volunteer node dialed home (to the BOINC project) for instructions and perhaps used a multisig system to prevent unauthorized transmission of liquidity funds.
I like your idea! Whilst it may be 'inefficient and expensive', we're not running this on top of a blockchain - BOINC allows you to distribute software that can utilize the full resources of the volunteer's computer & network at no cost to the BOINC project (aside from web server costs).
Whilst a significant quantity of users may run BOINC on low performance hardware, there is a significant quantity of users with serious computing power at their disposal (individuals with hundreds to thousands of CPU cores).
Theoretically, you could be as inefficient and expensive as you want/need since it isn't running as a smart contract on a blockchain (unless you created a blockchain specifically for the BOINC project, which would be seriously cool).
"I was initially thinking more along the lines of a distributed liquidity bot system where each volunteer node dialed home (to the BOINC project) for instructions" // That's actually the opposit of my idea.
"BOINC allows you to distribute software that can utilize the full resources of the volunteer's computer & network at no cost to the BOINC project" // Exactly, you will be able to distribute the strategy to the volunteers so they would be able to see if the proposed tx is correct and they sign/approve it if that looks correct (In an automated way, of course).
It's not a P2P network between volunteers nor a smart contract on top of the blockchain, it's just a matters of saying (signing) to the blockchain that the proposed tx is correct and should be proceeded (if it reaches the threshold of approving volunteers before the expiration of the proposal).
"Whilst a significant quantity of users may run BOINC on low performance hardware" // You don't need something powerful for that at all! It's just that you need to find something that prevent a guy to do a 51% attack (by creating 51% more accounts and use it approve a tx which the money to their account) and for that you do random computations to differentiate the volunteers by their computation power (their voting weight would be their computation power).
That said, wouldn't the liquidity bot need to dial home to the BOINC project for the 'strategy'
Yes it could be (if for example you want to give the ability to customers to provide their custom strategy for their assets) or it could be bundled with the software.When you say 'strategy' do you mean these different modes? Or new liquidity strategies?
For me a strategy is the algorithm defining what the bot should do. Both modes you mentionned are in fact the liquidity_wall strategy which has now been merged in StakeMachine but I guess there are better and safer strategies for your needs.Ok, you mean to distribute software that performs a large collaborative multisig verification to approve a single liquidity bot instance's transactions?
Exactly.You could potentially issue an UIA to your BOINC volunteers and use that to decide voting weight? Perhaps users could buy into that to have more stake weight?
That's actually a good idea which is how Bitshares has ever wanted to do things. You could issue the token over the time to (so if they stop participating for some times, they would have less weight).Their voting weight would be with their computation power? Like the computing power they contribute towards other BOINC projects, or do you mean implementing some form of Proof Of Work?
I meant implementing some form of POW but your idea with the UIA is better.