Thanks for your ideas
So first I have to tell you I'm an economics student and really not a programmer.
I'm very excited about a financial system that is built on an algorithm, instead of the reputation of certain institutions.
However I'm rather new to the actual mechanisms of the trasnactions.
So with bitcoin @ 500 USD/BTC you are talking about 2mBTC to 10 mBTC Id think the fee of 0.1mBTC could be a problem as its 1-5% of the coins transfered each time and you also want to profit. How would you solve this?
So when I want to do a small transaction, I have to pay extra miner fees?
Do I understand it right, that the system is designed to give miner incentives to confirm bigger transactions first and to rather avoid small (or spam) transactions?
The fee is not determined by the size of the TX in value but by the size of the TX in bytes. A TX is made off at least one input and at least one output. Each input and output need space and the miners fee that is currenly considered appropriate (by the miners!*) is 0.0001 BTC per started KByte. So every TX would have at least 0.1mBTC in fees if you want it to confirm fast. The way I understand your idea, the moment you broadcast the TX you want it to be in the next block. To ensure this you would have to pay the above fee. But since you also want to transfer very little value in comparison to the fee a very big part of the transfered value would go to you and the miners. In short: it makes your service very expensive. Microtransactions are currently a bit problematic with bitcoin because of the way to fee works.
To avoid spam there is a limit how big an output can be, its ~5432 satoshi. That way its not possible to send spam TX worth 1 satoshi each.
Can I see somewhere what's the likelyhood that a transaction is confirmed very fast, with a given miner fee and the assumption of profit maximizing miners, based on empirical results?
Blockchain.info shows a "priority" for each TX, but thats often not correct. I usually have very fast confirmations (within the next block) when paying 0.1mBTC fee, yet there have been some posts recently that took a while even though they paid an appropriate fee. There is also the factor of aged coins [2] which gives older inputs a higher priority.
Here is a strange one:
https://bitcointalk.org/index.php?topic=741046.0and here is one that had no fee and took 1 day:
https://bitcointalk.org/index.php?topic=741152.0There is also this statistic [3] that shows the average time for a confirmation, but I dont know if there is something like that for mean times and for TX without/with low fees.
How can you time in advance when the TX will be confirmed? Or could your customer only determine when the TX will be broadcasted?
They could determine when the TX will be broadcasted. Is it possible to guarantee that for example in 95% of the time the TX will be confirmed within the next hour? This would lower the uncertainty for the customer.
The way the network is designed the average time for the next block (and thus the first confirmation) would be 10 minutes. Again blockchain.info [1] (as well as other block explorers) have plenty of data on that. Since you are apprently looking for a high TX volume, maybe you can make a deal with one of the pools to include your TX even with a lower/no fee.
Blocknotify and walletnotify are features of the bitcoin-core client. If you set them up the bitcoin-core client will notify (hence the name) another programm that a new block (blocknotify) or transactions for one of the wallets addresses (walletnotify) has been noticed. This other programm would be started and handed over data to know which is the new block/tx. Since this can happen very oftern and bitcoin core will start a new programm every time, it makes sense to keep this programm very small and fast. You can use this to feed a database of sorts or any other tool that you use in the background that is not actually the wallet itself. It can also be used to resend incomming transactions to a central cold wallet once a certain amount has been reached.
Not actually little child level, but I hope it still helps
Make the payment arrive at cold storrage and since you have a timetable when you need to send coins you can manually fill a hot wallet that automatically handles the timed TX from you to the destiny. E.g. do not allow times less than 8 hours in advance so you know how much you need in the hot wallet for the next 8 hours and can fill it in 3 shifts each day.
That makes sense thank you!
* There are discussions whether the fee is currenly way to high and should be a tenth of that, but it is very hard to force miners to change that policy. Mining is securing the network and its expensive, so its hard to blame miners for greedy fee practices.
[1]
https://blockchain.info/blocks[2]
https://en.bitcoin.it/wiki/Transaction_fees#Technical_info[3]
https://blockchain.info/charts/avg-confirmation-time