Bitcoin Forum
May 28, 2024, 04:26:42 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Transaction schedule  (Read 1034 times)
charlie_7521 (OP)
Newbie
*
Offline Offline

Activity: 3
Merit: 0


View Profile
August 17, 2014, 03:23:44 PM
 #1

Hello everyone
I`m thinking about building a business with a friend of mine. The business would use bitcoin as its primer currency, because we expect most of the transactions to be rather small amounts of money (1 to 5 $).
I don`t really want to go into details about the idea, but our goal is to only operate as a middleman in the market. The transactions of our business would have to happen as follows:
The user sends us a small fraction of a bitcoin and would define a time frame after which the money should get transferred to another user. From this amount we would take some % for us as profits.
The problem is, our idea would only work if there were a lot of users. And if we achieve this, it implies that we have too many transactions to handle them manually.
So my question is, how can we automatically transfer the coins after a certain time, in a professional way?
User a for example would define that he wants his money to get transferred to user b after 2 days and 1 hour. How can we do this transaction in an automated way.
And how can we store the coins securely within this time? Do they have to be online the whole time, or could we have a better solution whit cold storage in some form?
Any suggestions?

Thanks guys
cosix
Member
**
Offline Offline

Activity: 77
Merit: 10


View Profile
August 17, 2014, 04:18:17 PM
 #2

set up scheduled task to do that?
shorena
Copper Member
Legendary
*
Offline Offline

Activity: 1498
Merit: 1520


No I dont escrow anymore.


View Profile WWW
August 17, 2014, 06:33:25 PM
 #3

Hello everyone
I`m thinking about building a business with a friend of mine. The business would use bitcoin as its primer currency, because we expect most of the transactions to be rather small amounts of money (1 to 5 $).

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?

I don`t really want to go into details about the idea, but our goal is to only operate as a middleman in the market. The transactions of our business would have to happen as follows:
The user sends us a small fraction of a bitcoin and would define a time frame after which the money should get transferred to another user. From this amount we would take some % for us as profits.

How can you time in advance when the TX will be confirmed? Or could your customer only determine when the TX will be broadcasted?

The problem is, our idea would only work if there were a lot of users. And if we achieve this, it implies that we have too many transactions to handle them manually.
So my question is, how can we automatically transfer the coins after a certain time, in a professional way?

I assume blocknotify and walletnotify are the way to go here. Just make sure they only feed some sort of queue.

User a for example would define that he wants his money to get transferred to user b after 2 days and 1 hour. How can we do this transaction in an automated way.

You can use a local (well on your server/network) locally bitcoin client in server mode (see json rpc).

And how can we store the coins securely within this time?

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.

Do they have to be online the whole time, or could we have a better solution whit cold storage in some form?
Any suggestions?

Thanks guys


Im not really here, its just your imagination.
charlie_7521 (OP)
Newbie
*
Offline Offline

Activity: 3
Merit: 0


View Profile
August 18, 2014, 02:22:53 PM
 #4

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.


Quote
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?

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?


Quote
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.

Can you explaine what blocknotify and walletnotify more or less is?

But explain it like to a little child or a golden retriever Wink
Best scene:   https://www.youtube.com/watch?v=SmHl7hKlVj4


Quote
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!

neha
Full Member
***
Offline Offline

Activity: 168
Merit: 100


View Profile WWW
August 18, 2014, 03:42:39 PM
 #5

I am wondering why would you want timed payment and why would customer want a middleman if they want to send money after a couple of hours...why wont they just send it after a couple of hours?

charlie_7521 (OP)
Newbie
*
Offline Offline

Activity: 3
Merit: 0


View Profile
August 18, 2014, 05:23:42 PM
 #6

Ok I should have clarified that, this is NOT the actual business model!!

Sorry I don't want to reveal the business idea itself, because you guys could implement it way faster than I can Wink
It's just the transaction part of the business model.

Just imagine there's a certain exchange of value between the customers.

And by the way I think timed payments could be an interesting feature for Bitcoin...
shorena
Copper Member
Legendary
*
Offline Offline

Activity: 1498
Merit: 1520


No I dont escrow anymore.


View Profile WWW
August 18, 2014, 07:24:02 PM
 #7

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.


Quote
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.0
and here is one that had no fee and took 1 day: https://bitcointalk.org/index.php?topic=741152.0

There 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.

Quote
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.

Can you explaine what blocknotify and walletnotify more or less is?

But explain it like to a little child or a golden retriever Wink
Best scene:   https://www.youtube.com/watch?v=SmHl7hKlVj4

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 Wink

Quote
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

Im not really here, its just your imagination.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!