Author

Topic: How long until we have time-locked/geo-restricted etc transactions? (Read 862 times)

newbie
Activity: 28
Merit: 0

We have to wait a little bit to have them but it is coming and being implemented.

There are proposed extensions to the bitcoin protocol to address some of these questions. See this [OP_CHECKLOCKTIMEVERIFY][1] for example. It is available on viacoin. Eventually, the idea is that sidechains will be better suited for these scenarios leaving the blockchain with 'normal' transactions.

[1]: https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki


Great, thanks guys. I've spent some time digging into OP_CHECKLOCKTIMEVERIFY now. It can sometimes be hard to separate the potential from the reality. Don't want to put people off by promising a bright new future with all this added functionality if the reality is that it won't be available until many years have passed  Wink
hero member
Activity: 1022
Merit: 500
I hear people speaking about the potential of Bitcoin - for example, being able to carry out transactions that are in some way geo-restricted or time-locked so that the recipient will only receive his/her money when an oracle checks some form of online record (eg. showing someone has died or reached a certain age).

But it's not clear to me how long it might actually take for us to implement these things in the real world. As far as I can make out, these things are all possible in theory - but is it possible to implement them yet? Or are we going to have to wait for years until this sort of functionality is available?

I'm asking this question partly to assess whether or not it's worth developing a business on the assumption that this sort of functionality is, or will be imminently, available - or whether it's simply far too far off in the future to even consider at this point in time.

We have to wait a little bit to have them but it is coming and being implemented.
sr. member
Activity: 467
Merit: 267
There are proposed extensions to the bitcoin protocol to address some of these questions. See this [OP_CHECKLOCKTIMEVERIFY][1] for example. It is available on viacoin. Eventually, the idea is that sidechains will be better suited for these scenarios leaving the blockchain with 'normal' transactions.

[1]: https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki
newbie
Activity: 28
Merit: 0
In terms of the time-lock, I was thinking of money within a transaction that's not released until a specific event occurs which is recorded (somewhere) online - i.e. not simply lets wait until block X for the transaction to be valid. I guess the specific block would work if it was a trust fund that only paid out when your descendants reached say 21 years old (as you can calculate the rough block at this stage) but that feels like a blunt solution in some ways.

I don't see why you would really need something like this.  This still requires that the recipient keep a private key safely stored for 21 years.   A sender could store a paper wallet with a law firm, to be given to the recipient in 21 years.   More likely, the funds would be invested in a low-risk investment for 21 years, instead of being stored under a mattress.

I'm trying to think about a situation where (1) the conditions to accessing the money are embedded at the time that the transaction takes place and (2) it doesn't require a 3rd party in the future to execute (i.e. trusting a law firm to not lose/give you access to your paper wallet). It might be that a multi-sig solution is more appropriate here - perhaps with another family member and some kind of escrow agent who steps in if there's an argument with the family member (or he/she loses the private key).

I'm interested in thinking of use cases where we can replace standard legal contracts (e.g. a legacy under a will) with transactions that have built-in conditions when they are created so that they pay out automatically to the right people in the future.

member
Activity: 112
Merit: 10
In terms of the time-lock, I was thinking of money within a transaction that's not released until a specific event occurs which is recorded (somewhere) online - i.e. not simply lets wait until block X for the transaction to be valid. I guess the specific block would work if it was a trust fund that only paid out when your descendants reached say 21 years old (as you can calculate the rough block at this stage) but that feels like a blunt solution in some ways.

I don't see why you would really need something like this.  This still requires that the recipient keep a private key safely stored for 21 years.   A sender could store a paper wallet with a law firm, to be given to the recipient in 21 years.   More likely, the funds would be invested in a low-risk investment for 21 years, instead of being stored under a mattress.
newbie
Activity: 28
Merit: 0
In terms of the geo-restricted transactions part, what I'm wondering is whether it's possible a currency that can only be used within one area such as maybe a town - for example, to replace/power a local currency such as the Brixton Pound [http://news.bbc.co.uk/1/hi/magazine/8245276.stm]. This helps to keep the wealth circulating within an area that might be deprived economically. It seems as if this could be more of a solution for a local token that is built on top of Counterparty/using Coloured Coins etc perhaps rather than using standard bitcoins I guess. It goes against the fundamentally global-by-default nature of Bitcoin but I can see a value to getting a project like this off the time.

In terms of the time-lock, I was thinking of money within a transaction that's not released until a specific event occurs which is recorded (somewhere) online - i.e. not simply lets wait until block X for the transaction to be valid. I guess the specific block would work if it was a trust fund that only paid out when your descendants reached say 21 years old (as you can calculate the rough block at this stage) but that feels like a blunt solution in some ways.
hero member
Activity: 714
Merit: 500
I think some clone has implemented geo faucets & like...so even geo restricted transactions should be easy. But is there a market need for such features ?
I think, it is about security. So people can't use your wallet in another country, as where you live. That is why ATM cards from the EU are blocked in underdeveloped countries like the USA, because they have bad security there.
But like I said, I don't think, it is easy to determine a location for certain.
newbie
Activity: 14
Merit: 0
I think some clone has implemented geo faucets & like...so even geo restricted transactions should be easy. But is there a market need for such features ?
legendary
Activity: 4228
Merit: 1313
I hear people speaking about the potential of Bitcoin - for example, being able to carry out transactions that are in some way geo-restricted or time-locked so that the recipient will only receive his/her money when an oracle checks some form of online record (eg. showing someone has died or reached a certain age).

But it's not clear to me how long it might actually take for us to implement these things in the real world. As far as I can make out, these things are all possible in theory - but is it possible to implement them yet? Or are we going to have to wait for years until this sort of functionality is available?

I'm asking this question partly to assess whether or not it's worth developing a business on the assumption that this sort of functionality is, or will be imminently, available - or whether it's simply far too far off in the future to even consider at this point in time.
Time locked is pretty simple and you can already do it: https://en.bitcoin.it/wiki/NLockTime

All this talking about oracles deciding stuff, I am not so sure about that, since it is really hard to find a reliable oracle

Thanks for the link re time lock. My instinct is that whilst oracles (reading the register of births, deaths etc) might be more complicated, restricting transactions according to GPS co-ordinates should be much simpler given the existing technology around mobile/location. But maybe that's an unfair assumption?
I don't think, it is that easy to make really reliable. The NLockTime is on the blockchain, as far as I understand it. It can not be executed as long as block N is reached.
GPS is a whole other issue. You can't put it on the blockchain. You can make a multisig, where on signature is given by a server that checks your location. But what does checkong your location really mean? If your smartphone sends your location, based on their GPS, I am pretty sure, that can be manipulated really easy.

It sounds like OP may mean that outputs are locked until a particular time, whereas NLockTime merely locks that particular transaction from being accepted until a particular block.  Eg. I create a NLT transaction and hold it (but do not broadcast it since nodes will not store it - to prevent attacks) until block X. At block X, I can broadcast it and have it go through.

At any point, however, before block X, I can create a new transaction that spends those outputs.

In my opinion, if OP meant "lock outputs until block X" and "only accept signed transactions regarding output Y from a certain GPS area" those won't happen in Bitcoin at the protocol level since they involve large changes.  They *could* happen in a side chain though and that is where I'd expect that to occur at a protocol level.  They can also work through a third party who encumbers the coins and restricts them in some way by time and/or geolocation, perhaps using multi-sig and some type of gps enabled signing device, but that is a layer above the protocol.

If you want it, laying out a detailed proposal as to how to implement it would expose trouble areas or describing what you want to accomplish.
legendary
Activity: 1204
Merit: 1002
RUM AND CARROTS: A PIRATE LIFE FOR ME
I don't see how you could make geo-restricted transactions.

Although the idea of making secure GPS information is an interesting idea, no? Could be novel.
hero member
Activity: 714
Merit: 500
I hear people speaking about the potential of Bitcoin - for example, being able to carry out transactions that are in some way geo-restricted or time-locked so that the recipient will only receive his/her money when an oracle checks some form of online record (eg. showing someone has died or reached a certain age).

But it's not clear to me how long it might actually take for us to implement these things in the real world. As far as I can make out, these things are all possible in theory - but is it possible to implement them yet? Or are we going to have to wait for years until this sort of functionality is available?

I'm asking this question partly to assess whether or not it's worth developing a business on the assumption that this sort of functionality is, or will be imminently, available - or whether it's simply far too far off in the future to even consider at this point in time.
Time locked is pretty simple and you can already do it: https://en.bitcoin.it/wiki/NLockTime

All this talking about oracles deciding stuff, I am not so sure about that, since it is really hard to find a reliable oracle

Thanks for the link re time lock. My instinct is that whilst oracles (reading the register of births, deaths etc) might be more complicated, restricting transactions according to GPS co-ordinates should be much simpler given the existing technology around mobile/location. But maybe that's an unfair assumption?
I don't think, it is that easy to make really reliable. The NLockTime is on the blockchain, as far as I understand it. It can not be executed as long as block N is reached.
GPS is a whole other issue. You can't put it on the blockchain. You can make a multisig, where on signature is given by a server that checks your location. But what does checkong your location really mean? If your smartphone sends your location, based on their GPS, I am pretty sure, that can be manipulated really easy.
newbie
Activity: 28
Merit: 0
I hear people speaking about the potential of Bitcoin - for example, being able to carry out transactions that are in some way geo-restricted or time-locked so that the recipient will only receive his/her money when an oracle checks some form of online record (eg. showing someone has died or reached a certain age).

But it's not clear to me how long it might actually take for us to implement these things in the real world. As far as I can make out, these things are all possible in theory - but is it possible to implement them yet? Or are we going to have to wait for years until this sort of functionality is available?

I'm asking this question partly to assess whether or not it's worth developing a business on the assumption that this sort of functionality is, or will be imminently, available - or whether it's simply far too far off in the future to even consider at this point in time.
Time locked is pretty simple and you can already do it: https://en.bitcoin.it/wiki/NLockTime

All this talking about oracles deciding stuff, I am not so sure about that, since it is really hard to find a reliable oracle

Thanks for the link re time lock. My instinct is that whilst oracles (reading the register of births, deaths etc) might be more complicated, restricting transactions according to GPS co-ordinates should be much simpler given the existing technology around mobile/location. But maybe that's an unfair assumption?
hero member
Activity: 714
Merit: 500
I hear people speaking about the potential of Bitcoin - for example, being able to carry out transactions that are in some way geo-restricted or time-locked so that the recipient will only receive his/her money when an oracle checks some form of online record (eg. showing someone has died or reached a certain age).

But it's not clear to me how long it might actually take for us to implement these things in the real world. As far as I can make out, these things are all possible in theory - but is it possible to implement them yet? Or are we going to have to wait for years until this sort of functionality is available?

I'm asking this question partly to assess whether or not it's worth developing a business on the assumption that this sort of functionality is, or will be imminently, available - or whether it's simply far too far off in the future to even consider at this point in time.
Time locked is pretty simple and you can already do it: https://en.bitcoin.it/wiki/NLockTime

All this talking about oracles deciding stuff, I am not so sure about that, since it is really hard to find a reliable oracle
newbie
Activity: 28
Merit: 0
I hear people speaking about the potential of Bitcoin - for example, being able to carry out transactions that are in some way geo-restricted or time-locked so that the recipient will only receive his/her money when an oracle checks some form of online record (eg. showing someone has died or reached a certain age).

But it's not clear to me how long it might actually take for us to implement these things in the real world. As far as I can make out, these things are all possible in theory - but is it possible to implement them yet? Or are we going to have to wait for years until this sort of functionality is available?

I'm asking this question partly to assess whether or not it's worth developing a business on the assumption that this sort of functionality is, or will be imminently, available - or whether it's simply far too far off in the future to even consider at this point in time.
Jump to: