Re: [Bitcoin-development] BIP Draft: Atomic Cross Chain Transfer Protocol

2014-04-30 Thread Tier Nolan
I updated again.

The new version only requires non-standard transactions on one of the two
networks.

Next step is a simple TCP / RPC server that will implement the protocol to
trade between testnet and mainnet.  Timeouts of much less than 24 hours
should be possible now.


On Wed, Apr 30, 2014 at 9:48 PM, Tier Nolan  wrote:

> On Wed, Apr 30, 2014 at 7:59 PM, Luke Dashjr  wrote:
>
>> Instead of TX0, TX1, etc, can you put some kind of meaningful identifier
>> for
>> these transactions?
>>
>
> Sorry, that is the names come from the original thread, where I was
> outlining the idea.  I updated the names.
>
>
>> TX1 and TX2 *cannot* be signed until after TX0 is completely signed by
>> both
>> parties.
>
>
> The bail in transactions are only signed by one of the parties.  They are
> kept secret until the refund/payout transactions are all properly signed.
>
> There is a malleability risk though, hence the need for the 3rd party.
>
> It works on the same refund principle as payment channels.
>
> After TX0 is signed, but before TX2 is signed, either party could
>> walk away or otherwise hold the funds hostage. The sequence of signing
>> proposed in this BIP is *not possible to perform*.
>
>
> TX0 is not broadcast until the refund transactions are complete.
>
>
>> How did you implement and test this? :/
>>
>
> This is a draft at the moment.
>
> There is an implementation of (almost) this system but not by me.  This
> proposal reduces the number of non-standard transaction types required.
>
> A full implement is the next step.
>
>
>> What is the purpose of the OP_EQUAL_VERIFY in TX4? I don't see a use...
>>
>
> That is a typo, I have updated it.
>
>
>> IMO, there should be separate BIPs for the exchange itself, and the
>> protocol
>> to negotiate the exchange.
>
>
> I can do that.
>
>
>> I would recommend changing the latter from JSON-RPC
>> to some extension of the Payment Protocol, if possible.
>>
>
> I wanted it to be as simple as possible, but I guess MIME is just a
> different way of doing things.
>
>>
>> Perhaps it would be good to only support compressed keys, to discourage
>> use of
>> uncompressed ones..
>>
>
> I would have no objection.
>
>
>>
>> Luke
>>
>
>
--
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] BIP Draft: Atomic Cross Chain Transfer Protocol

2014-04-30 Thread Tier Nolan
On Wed, Apr 30, 2014 at 7:59 PM, Luke Dashjr  wrote:

> Instead of TX0, TX1, etc, can you put some kind of meaningful identifier
> for
> these transactions?
>

Sorry, that is the names come from the original thread, where I was
outlining the idea.  I updated the names.


> TX1 and TX2 *cannot* be signed until after TX0 is completely signed by both
> parties.


The bail in transactions are only signed by one of the parties.  They are
kept secret until the refund/payout transactions are all properly signed.

There is a malleability risk though, hence the need for the 3rd party.

It works on the same refund principle as payment channels.

After TX0 is signed, but before TX2 is signed, either party could
> walk away or otherwise hold the funds hostage. The sequence of signing
> proposed in this BIP is *not possible to perform*.


TX0 is not broadcast until the refund transactions are complete.


> How did you implement and test this? :/
>

This is a draft at the moment.

There is an implementation of (almost) this system but not by me.  This
proposal reduces the number of non-standard transaction types required.

A full implement is the next step.


> What is the purpose of the OP_EQUAL_VERIFY in TX4? I don't see a use...
>

That is a typo, I have updated it.


> IMO, there should be separate BIPs for the exchange itself, and the
> protocol
> to negotiate the exchange.


I can do that.


> I would recommend changing the latter from JSON-RPC
> to some extension of the Payment Protocol, if possible.
>

I wanted it to be as simple as possible, but I guess MIME is just a
different way of doing things.

>
> Perhaps it would be good to only support compressed keys, to discourage
> use of
> uncompressed ones..
>

I would have no objection.


>
> Luke
>
--
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] BIP Draft: Atomic Cross Chain Transfer Protocol

2014-04-30 Thread Luke Dashjr
On Wednesday, April 30, 2014 6:03:59 PM Tier Nolan wrote:
> Due to "popular" demand, I have created a BIP for cross chain atomic
> transfers.
> 
> https://github.com/TierNolan/bips/blob/bip4x/bip-atom.mediawiki

Instead of TX0, TX1, etc, can you put some kind of meaningful identifier for 
these transactions?

TX1 and TX2 *cannot* be signed until after TX0 is completely signed by both 
parties. After TX0 is signed, but before TX2 is signed, either party could 
walk away or otherwise hold the funds hostage. The sequence of signing 
proposed in this BIP is *not possible to perform*. How did you implement and 
test this? :/

What is the purpose of the OP_EQUAL_VERIFY in TX4? I don't see a use...

IMO, there should be separate BIPs for the exchange itself, and the protocol 
to negotiate the exchange. I would recommend changing the latter from JSON-RPC 
to some extension of the Payment Protocol, if possible.

Perhaps it would be good to only support compressed keys, to discourage use of 
uncompressed ones..

Luke

--
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


[Bitcoin-development] BIP Draft: Atomic Cross Chain Transfer Protocol

2014-04-30 Thread Tier Nolan
Due to "popular" demand, I have created a BIP for cross chain atomic
transfers.

Unlike the previous version, this version only requires hash locking.   The
previous version required a "selector" transaction based on if statements.

OP_HASH160 OP_EQUAL_VERIFY [public key] OP_CHECKSIG

OP_HASH160 OP_EQUAL_VERIFY OP_N [public key 1] ... [public key m]
OP_M OP_CHECK_MULTISIG

https://github.com/TierNolan/bips/blob/bip4x/bip-atom.mediawiki
--
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development