micropayment channels, n-m addresses, interoperability I just read bitcoinJ's working with contracts tutorial and I am puzzled as:


it seems to me that n-m addresses are implemented in Bitcoinj using plain multisig (as defined in this bit of the developer's guide, and discussed here) 
I looked for implementations of addresses controlled by more than one private key with pybitcointools (tutorial on that here) and on libbitcoin's wiki. It seems to me that these two libraries use P2SH.


Most libraries seem to use P2SH, but bitcoinJ chose the other way it seems (or is it?)...

In an implementation of micropayment channel with bitcoinJ on one side and, say, libbitcoin on the other ; will the two sides be able to interoperate?

(edit: I m talking here only about unidirectional payment channels)

Thanks
Not necessarily interoperable. 

Firstly, libraries have to agree on what kind of parameters to exchange and how they are exchanged. There's no guarantee that the parameters required by bitcoinj and libbitcoin are the same. 

Secondly, it is now considered standard practice to create P2SH transactions regardless of what kind of transaction you're setting up, unless it is P2PKH. In the case of P2SH transactions, you then have to assert that the payment channel protocol would also be able to parse/recognise/understand the redeem script provided by service provider of the payment channel (assuming that you're talking about a single-direction payment channel).