Pages:
Author

Topic: FINALLY!! OP_CHECKLOCKTIMEVERIFY.. it's big.. (Read 4755 times)

hero member
Activity: 854
Merit: 1007
JAYCE DESIGNS - http://bit.ly/1tmgIwK
November 27, 2015, 10:27:59 PM
#41
It is, finally we can get rid of corrupt exchanges, and scam exchanges.

Tons of scam exchanges just do inside jobs all the time, rigging prices, and more.

Time for trustless systems.
legendary
Activity: 1232
Merit: 1084
Sipa created a graph which shows the average version number.
legendary
Activity: 3724
Merit: 3063
Leave no FUD unchallenged
If anyone with ties to the mining community could give them a nudge to update, that would be great.  We need more version 4 blocks before OP_CHECKLOCKTIMEVERIFY can come out to play and all of this cross-chain awesomeness can occur.

I found this bitcoinity link that graphically and textually shows how many miners out of the 1000 last blocks were using the necessary updated wallets. It shows we are 49.07% of the way to the threshold needed before OP_CHECKLOCKTIMEVERIFY can be used to start the awesomeness.

http://data.bitcoinity.org/bitcoin/block_version/5y?c=block_version&r=week&t=a

Quote
Out of 1000 last blocks, 368 had version >= 4 , and 632 did NOT which is 49.07% of the first threshold (activation).

When you say you "found" it, do you mean you didn't see me linking to the same page in the text you just quoted?   Tongue

51% today, so at least we're half way there.
sr. member
Activity: 326
Merit: 250
If anyone with ties to the mining community could give them a nudge to update, that would be great.  We need more version 4 blocks before OP_CHECKLOCKTIMEVERIFY can come out to play and all of this cross-chain awesomeness can occur.

I found this bitcoinity link that graphically and textually shows how many miners out of the 1000 last blocks were using the necessary updated wallets. It shows we are 49.07% of the way to the threshold needed before OP_CHECKLOCKTIMEVERIFY can be used to start the awesomeness.

http://data.bitcoinity.org/bitcoin/block_version/5y?c=block_version&r=week&t=a

Quote
Out of 1000 last blocks, 368 had version >= 4 , and 632 did NOT which is 49.07% of the first threshold (activation).
legendary
Activity: 3724
Merit: 3063
Leave no FUD unchallenged
If anyone with ties to the mining community could give them a nudge to update, that would be great.  We need more version 4 blocks before OP_CHECKLOCKTIMEVERIFY can come out to play and all of this cross-chain awesomeness can occur.
legendary
Activity: 2282
Merit: 1072
https://crowetic.com | https://qortal.org
@Doom - I also would love to see BURST be the one to do the first with BTC, I think I will go out dev hunting soon, as I know vbcs could do it by himeself, but I think having a few more people to collab with would be great. But QORA will likely want to be the first as well, and seeing as vbcs is more QORA than BURST, maybe we can work out a 3-way scenario? xD. heh.

Actually, the 3-way thing is quite doable.  If both coins are ready in time, you could arrange it so that a Burst/BTC and a Qora/BTC cross chain transaction both make it into the same block on Bitcoin's blockchain.  Then they can take joint credit for being first.      Smiley

Also, I just realised we'll have Proof of Work, Proof of Stake and Proof of Capacity algorithms all acting in unison for the first time.  How truly momentous.

This would truly be awesome. I think it should be considered, for sure. Smiley
legendary
Activity: 3724
Merit: 3063
Leave no FUD unchallenged
@Doom - I also would love to see BURST be the one to do the first with BTC, I think I will go out dev hunting soon, as I know vbcs could do it by himeself, but I think having a few more people to collab with would be great. But QORA will likely want to be the first as well, and seeing as vbcs is more QORA than BURST, maybe we can work out a 3-way scenario? xD. heh.

Actually, the 3-way thing is quite doable.  If both coins are ready in time, you could arrange it so that a Burst/BTC and a Qora/BTC cross chain transaction both make it into the same block on Bitcoin's blockchain.  Then they can take joint credit for being first.      Smiley

Also, I just realised we'll have Proof of Work, Proof of Stake and Proof of Capacity algorithms all acting in unison for the first time.  How truly momentous.
legendary
Activity: 2282
Merit: 1072
https://crowetic.com | https://qortal.org
I feel like a lot of interesting features get lost because you need to be very knowledgeable to take advantage of them. I would like full support for all of this on the GUI.


I used to not understand a majority of how everything actually worked in crypto land. However, after time, and enough actually wanting to know, I now feel like I have a decent grasp on it, the next step is for me to put it into action and start coding the things I would like to see within BURST, starting with simple tools and going from there.

My point here, is that I truly believe that most people in this forum, aside from the ones here to scam or the ones who don't really care enough to give it their attention, have the capacity to learn what is going on, but no, it is not something you can do unless you're adamant in it, and actually want to.



That being said, I'm 100% sure all of this will be done in a simple to use format with pretty buttons. (How else will any of us get mass adoption? We all know most people's main reason for the internet is Facebook.)

So yea, things take time, in this world things move insanely fast, I'm willing to bet we will start seeing these new additions popping up all over the place very shortly.


@Doom - I also would love to see BURST be the one to do the first with BTC, I think I will go out dev hunting soon, as I know vbcs could do it by himeself, but I think having a few more people to collab with would be great. But QORA will likely want to be the first as well, and seeing as vbcs is more QORA than BURST, maybe we can work out a 3-way scenario? xD. heh.
legendary
Activity: 1344
Merit: 1000
so basically we have to make banks obsolete using technology and destroy other niche jobs in the process,
legendary
Activity: 1204
Merit: 1028
I feel like a lot of interesting features get lost because you need to be very knowledgeable to take advantage of them. I would like full support for all of this on the GUI.
legendary
Activity: 3430
Merit: 3071
Grear news! What next?  Smiley

It would be great is someone could implement FiatCoin (pegged to USD, EUR, GBP, etc.), hopefully without any AML/KYC restrictions (beyond the initial purchase). Then you can truly trade Bitcoins and fiat from your client.

Think the closest thing to that at the moment is Tether, USD₮, EUR₮, and JPY₮.  It uses the Omni (formerly Mastercoin) layer.  I've seen USD₮ on the Poloniex exchange, but haven't come across the others.  

As for what's next, hopefully some talented coders start creating stuff to utilise this new feature and wallets start updating their GUIs to handle it.  This will result in increased resistance to regulatory shutdown (exchanges are easy to shut down), increased privacy (no need to register accounts and submit to KYC/AML) and increased security (not relying on third parties to store funds and you'll have full control over private keys for the pairs you're trading in) once it's all up and running.  All things that we should be striving for.

One possible (highly amusing) side-effect of a long-term successful USD crypto-proxy would be if the proxy started to approach the trade volume of and/or circulation velocity of actual Fed USD  Cheesy The crypto copy could usurp the Fed issued version out of existence.  Grin
legendary
Activity: 3724
Merit: 3063
Leave no FUD unchallenged
Grear news! What next?  Smiley

It would be great is someone could implement FiatCoin (pegged to USD, EUR, GBP, etc.), hopefully without any AML/KYC restrictions (beyond the initial purchase). Then you can truly trade Bitcoins and fiat from your client.

Think the closest thing to that at the moment is Tether, USD₮, EUR₮, and JPY₮.  It uses the Omni (formerly Mastercoin) layer.  I've seen USD₮ on the Poloniex exchange, but haven't come across the others.  

As for what's next, hopefully some talented coders start creating stuff to utilise this new feature and wallets start updating their GUIs to handle it.  This will result in increased resistance to regulatory shutdown (exchanges are easy to shut down), increased privacy (no need to register accounts and submit to KYC/AML) and increased security (not relying on third parties to store funds and you'll have full control over private keys for the pairs you're trading in) once it's all up and running.  All things that we should be striving for.
legendary
Activity: 1232
Merit: 1084
Admittedly I'm not very well versed with P2SH so I'm not sure exactly how you could get the script that does not contain the nor public keys to actually work (but I do think this should be possible).

P2SH doesn't fundamentally change script.  It is just another way of encoding everything using a template so that the scriptPubKey is effectively included when spending the coin.

You pay to OP_HASH160 <20-byte-hash-value> OP_EQUAL and the client interprets the hash value as the hash of the actual scriptPubKey you want to use.

Script works with a stack.  For spending, the stack is initialized so that it doesn't result in a failure if the scriptPubKey is executed.

Protocol

Alice picks a random array "secret" and funds this Altcoin transaction.

Code:
OP_IF
  OP_HASH160 OP_EQUALVERIFY OP_CHECKSIG
OP_ELSE
   OP_CHECKLOCKTIMEVERIFY OP_CHECKSIG
OP_ENDIF

If Bob knew the secret, he could spend this transaction output with this stack

     OP_1

Alice can spend this transaction output with this stack

     OP_0

OP_0 causes the else branch to execute and Alice doesn't have to provide the secret but she does have to wait 24 hours due to the locktime requirement.

This means that Alice can spend the output in 24 hours if Bob hasn't and Bob can only spend it if he finds out the secret.

Bob funds this output with BTC.

Code:
OP_IF
  OP_HASH160 OP_EQUALVERIFY OP_CHECKSIG
OP_ELSE
   OP_CHECKLOCKTIMEVERIFY OP_CHECKSIG
OP_ENDIF

This means that he can get his money back after 12 hours or Alice can spend the output immediately.  If she spends the output, she has to do it before 12 hours has passed.  This means that Bob has another 12 hours to use the secret to spend the first output.

The steps are

1) Alice picks secret and broadcasts her transaction
2) Bob verifies that her transaction is confirmed and then sends his transaction
3) Alice verifies that his transaction is confirmed and then spends his transaction (requires publishing the secret)
4) Bob uses the secret to spend Alice's transaction

To show that it is atomic, you have to show that it can be reversed if anyone refuses to continue.

Bob refuses to complete step 2)

Alice keeps the secret a secret and waits 24 hours to get her money back

Alice refuses to complete step 3)
After 12 hours Bob can recover his money
Alice has to wait 12 more hours to get her money back.  She needs to make sure to keep the secret a secret

Bob refuses to complete step 4)
He only harms himself by doing this.  After the 24 hour lockout, Alice can take back her money.  He needs to make sure to take back his money by then.

-----------------------------------------------------------------

Script execution

This is a step by step guide to the first script, when Bob spends it.

The script is initialized to

     OP_1

When OP_IF fires, it will read 1 off the stack and execute the top branch.

    

OP_HASH160 will read off the stack and then place hash(secret) onto the stack.

    

will push hash(secret) onto the stack

    

OP_EQUALVERIFY makes sure the top 2 elements on the stack match and fails otherwise (and removes them)

    

will push Bob's public key 1 onto the stack

    

and finally OP_CHECKSIG will verify the signature using the public key (and remove both)

If all goes well, OP_1 will be pushed onto the stack.

This counts as a successful script execution.
legendary
Activity: 3206
Merit: 1069
Grear news! What next?  Smiley

It would be great is someone could implement FiatCoin (pegged to USD, EUR, GBP, etc.), hopefully without any AML/KYC restrictions (beyond the initial purchase). Then you can truly trade Bitcoins and fiat from your client.
Syscoin does this

Not what I had in mine. The FiatCoin would be unmineable and instead backed by an equivalent amount of fiat. The issuance would be done by a centralized authority (e.g. bank or brokerage, possibly for a small fee) but once issued they may be exchanged freely on a distributed blockchain that is compatible with cross-chain transactions. Mining will be fee based only without block rewards.

if there is the old known governments behind it, how we can think of having those fiatcryptocoin without aml/kyc...we cannot, they must be decentralized like every other crypto
donator
Activity: 1616
Merit: 1003
Grear news! What next?  Smiley

It would be great is someone could implement FiatCoin (pegged to USD, EUR, GBP, etc.), hopefully without any AML/KYC restrictions (beyond the initial purchase). Then you can truly trade Bitcoins and fiat from your client.
Syscoin does this

Not what I had in mine. The FiatCoin would be unmineable and instead backed by an equivalent amount of fiat. The issuance would be done by a centralized authority (e.g. bank or brokerage, possibly for a small fee) but once issued they may be exchanged freely on a distributed blockchain that is compatible with cross-chain transactions. Mining will be fee based only without block rewards.
legendary
Activity: 2044
Merit: 1005
Grear news! What next?  Smiley

It would be great is someone could implement FiatCoin (pegged to USD, EUR, GBP, etc.), hopefully without any AML/KYC restrictions (beyond the initial purchase). Then you can truly trade Bitcoins and fiat from your client.
Syscoin does this
donator
Activity: 1616
Merit: 1003
Grear news! What next?  Smiley

It would be great is someone could implement FiatCoin (pegged to USD, EUR, GBP, etc.), hopefully without any AML/KYC restrictions (beyond the initial purchase). Then you can truly trade Bitcoins and fiat from your client.
full member
Activity: 152
Merit: 100
Grear news! What next?  Smiley
newbie
Activity: 36
Merit: 0
This is goooood news..

As of the release of Core 0.11.2 OP_CHECKLOCKTIMEVERIFY is now becoming a reality.

This has major implications, as it means that REFUND TXNs now work. Without having to worry about TXN malleability.

Actually with transaction malleability finally being fixed CLTV is more a nice feature than a necessity. Moreover, practical difference is small, because for both features to work, you need both coins (that you want to trade) to implement it.
legendary
Activity: 3724
Merit: 3063
Leave no FUD unchallenged
I'm afraid that I didn't understand. What does it actually mean ? You could buy altcoins directly from Bitcoin Core ? How could it be organised ? It seems unrealistic for me.

Basically, yes.  Once all the foundations are laid, you'd enter your buy/sell order directly through the wallet.  Obviously the user interface in the wallet software will need an update (for any coins that you want to trade between), but that shouldn't be too large a job.  The more tricky part would be the "matchmaking" bit to match a buy/sell order on one blockchain to another, but if it already works between Burst and Qora, then it should be doable in Bitcoin (and any other altcoin that wants to add support for it).  Truly decentralised trading.  The future just gets more and more interesting.  Can't wait to see which currency makes history by being the first to transact directly with the Bitcoin blockchain (hoping it's Qora or Burst, since they've got a good head start). 
Pages:
Jump to: