LearnBitcoin

Bitcoin Dev Archive 2016

Simple Bitcoin Payment Channel Protocol v0.1 draft (request for comments)

2 messages, 17 Apr to 1 May 2016. Started by Rune K. Svendsen.

Rune K. Svendsen, Rusty Russell

Permalink Original thread on gnusha.org

Rune K. Svendsen permalink original

Dear list

I've spent the past couple of months developing a simple protocol for working with payment channels. I've written up a specification of how it operates, in an attempt to standardize the operations of opening, paying and closing.

This specification was derived from a mostly-working implementation which will be open sourced in a short while (after a clean-up). It's written in Haskell.

I'm sharing the specification now because I think it has value in itself to have everything documented, especially since I've chosen to write the implementation in Haskell, and for people to point out any errors or basically anything I haven't thought of.

Link:

https://raw.githubusercontent.com/runeksvendsen/simple-bitcoin-payment-channel-protocol/master/simple-bitcoin-payment-channel-protocol-v0.1.txt

Regards Rune

Rusty Russell in reply to Rune K. Svendsen permalink original

Rune Kjær Svendsen via bitcoin-dev <bitcoin-dev@lists•linuxfoundation•org> writes:

Quoted text (6 lines)
> Dear list
>
> I've spent the past couple of months developing a simple protocol for
> working with payment channels. I've written up a specification of how
> it operates, in an attempt to standardize the operations of opening,
> paying and closing.

Hi!

        CHECKLOCKTIMEVERIFY [...] allows payment channel
        setup to be risk free [...] something that was
        not the case before, when the refund Bitcoin transaction
        depended on another, unconfirmed Bitcoin transaction. Building
        on unconfirmed transactions is currently not safe in Bitcoin

With Segregated Witness, this is now safe. With that expected soon, I'd encourage you to take advantage of it.

Cheers, Rusty.