Pages:
Author

Topic: [coinb.in] Open Source, Multi Signature, HD Wallet, SegWit/Bech32 and more! - page 15. (Read 74845 times)

hero member
Activity: 714
Merit: 601
Will run a few tests now..

*edit* my test case worked fine. what browser are you working with?

I'm using Chrome on Windows. My linux netbook can't handle that page for some reason, the script becomes unresponsive (debian, iceweasel, 2gb ram), so I did it here. I'll download firefox for windows and try that.

I've made a couple of tweaks to the source code which should decrease the load when attempting to sign, so let me know if your netbook handles it any better.

What version of chrome are you using? How did you get on with firefox?

My tests cases:

https://blockchain.info/tx/652724841d5feea4a80c01225577ed012bef80634e033cd1f2a33a937eeaa2fb

https://blockchain.info/tx/63093ac0911672afb041763d68edca6815952accda98b95dfec5cb96cd1ea129
sr. member
Activity: 412
Merit: 287
Will run a few tests now..

*edit* my test case worked fine. what browser are you working with?

I'm using Chrome on Windows. My linux netbook can't handle that page for some reason, the script becomes unresponsive (debian, iceweasel, 2gb ram), so I did it here. I'll download firefox for windows and try that.
hero member
Activity: 714
Merit: 601
So, I'm testing Coinb.in against Bitwasp, since clients can't really support P2SH. I've rigorously tested it against bitcoind which works fine. I love the idea of a JS tool to sign these transactions, but I'm having difficulty with a transaction. Coinb.in seems to be replacing the signature added by the first signer, rather than just adding the second?

Will run a few tests now..

*edit* my test case worked fine. what browser are you working with?
sr. member
Activity: 412
Merit: 287
So, I'm testing Coinb.in against Bitwasp, since clients can't really support P2SH. I've rigorously tested it against bitcoind which works fine. I love the idea of a JS tool to sign these transactions, but I'm having difficulty with a transaction. Coinb.in seems to be replacing the signature added by the first signer, rather than just adding the second?

I created 3Cmsk15NRXapShxZktkCRFfC7ef9Y9ecnw, with this redeemScript:
Code:
5221031174b9ebf4014181289a3923d6d17205a25808dbd6397bc747e0a5631948adc741043ce7c793baf8aec463114411d685b2ebb27e4b4b578543d82bba5c36e17e3950bef11cb1838c9cdb2323db12ac1c132f2aaba10cfc0b3b1528affe507436c5fc41048bff65f68fad7a6519dd8b6f9232e0ce2e39ad9df9fd1c46a26ebabfd915a7257d3fa34d90f0b02e2ddf1e954f0200037834f7987934ce096999b073eb9d4ef053ae

The first key came from bitcoind, the second from coinbin (private key: 5HwKMWwMpdM5vU62K6zMJjse3ZGWUntZbz1W6UdgWySs3MAaEpD), the deterministically derived from electrum.

I created the following raw transaction spending it to two outputs:
Code:
010000000149306d4e998d629471a261e23593aa96f06e37faf9f29a773032fe01fb3ab84e0000000000ffffffff0210270000000000001976a91463bdd38a5e555ad7c775a64139420ba302201c2d88ac204e0000000000001976a914e3ad4cf590cd02b629ca5e65ed8f27d499edefde88ac00000000

I signed it in bitcoind (the first key in the redeemScript), then took the transaction to Coinbin, loaded the verify tab, it confirmed 1 of 2 needed signatures were there:
010000000149306d4e998d629471a261e23593aa96f06e37faf9f29a773032fe01fb3ab84e00000 000f400473044022041e3be1f1f5b2df1504219d45199b02822940885e347354b392e8d638a304dfe02200b3 80ed825e2b82bcdebdf8986ceb58e90de7f0dca73185c491b174cbd3502c9014ca95221031174b9ebf4014181289a3923d6d17205a25808dbd6397bc747e0a5631948adc741043 ce7c793baf8aec463114411d685b2ebb27e4b4b578543d82bba5c36e17e3950bef11cb1838c9cdb 2323db12ac1c132f2aaba10cfc0b3b1528affe507436c5fc41048bff65f68fad7a6519dd8b6f923 2e0ce2e39ad9df9fd1c46a26ebabfd915a7257d3fa34d90f0b02e2ddf1e954f0200037834f79879 34ce096999b073eb9d4ef053aeffffffff0210270000000000001976a91463bdd38a5e555ad7c77 5a64139420ba302201c2d88ac204e0000000000001976a914e3ad4cf590cd02b629ca5e65ed8f27 d499edefde88ac00000000

So I copied the private key from the Bitcoin Keys tab, to the Sign tab, as well as the above transaction. I clicked sign, and up pops:
010000000149306d4e998d629471a261e23593aa96f06e37faf9f29a773032fe01fb3ab84e00000 000f4004730440220588e2a0e528e6545cc1650bf608ca92a2eacb6cd2e8ff6e051d1206770672b11022074e 0fd24e9c352ace7112feff2e1c9bd456162760a16a30e3a947bfce44ccd06014ca95221031174b9ebf4014181289a3923d6d17205a25808dbd6397bc747e0a5631948adc741043 ce7c793baf8aec463114411d685b2ebb27e4b4b578543d82bba5c36e17e3950bef11cb1838c9cdb 2323db12ac1c132f2aaba10cfc0b3b1528affe507436c5fc41048bff65f68fad7a6519dd8b6f923 2e0ce2e39ad9df9fd1c46a26ebabfd915a7257d3fa34d90f0b02e2ddf1e954f0200037834f79879 34ce096999b073eb9d4ef053aeffffffff0210270000000000001976a91463bdd38a5e555ad7c77 5a64139420ba302201c2d88ac204e0000000000001976a914e3ad4cf590cd02b629ca5e65ed8f27 d499edefde88ac00000000

Which when passed to the Verify tab says only one signature is added, as highlighted above, and it's different to the one I added. There's an implicit reward here for anyone who can help..
legendary
Activity: 1232
Merit: 1094
The contents of the redeemscript/serialized script is M pubkey pubkey ... N OP_CHECKMULTISIG.
I presume this is 'standard' in the sense that this is the form of the pre-p2sh "raw" multisig script.

The question was why you can have more than 3 keys for multi-sig, if you use P2SH.  It is supposed to check the serialized script that hashes to the hash, and make sure that is standard too.

This check is obviously not made with P2SH for multisig.
sr. member
Activity: 469
Merit: 253
The 520 byte limit for the redeemscript is "absolute" (not depending on isStandard()). ie your m signatures plus your n pubkeys plus a few bytes must be less than 520.

The 500 byte limit for the whole scriptSig is an isStandard() rule, and so you can send out transactions which violate this limit via for example Eligius. Or, at least, you *may* be able to.

My question was about the contents of the serialized script in the p2sh.  It sounds like that doesn't actually have to be a standard script (unlike what the BIP says).

The contents of the redeemscript/serialized script is M pubkey pubkey ... N OP_CHECKMULTISIG.
I presume this is 'standard' in the sense that this is the form of the pre-p2sh "raw" multisig script.
legendary
Activity: 1232
Merit: 1094
The 520 byte limit for the redeemscript is "absolute" (not depending on isStandard()). ie your m signatures plus your n pubkeys plus a few bytes must be less than 520.

The 500 byte limit for the whole scriptSig is an isStandard() rule, and so you can send out transactions which violate this limit via for example Eligius. Or, at least, you *may* be able to.

My question was about the contents of the serialized script in the p2sh.  It sounds like that doesn't actually have to be a standard script (unlike what the BIP says).
sr. member
Activity: 469
Merit: 253
Actually no! P2SH doesn't have an explicit limitations beyond the 520byte P2SH redeemScript limit, and more importantly the 500-byte scriptSig limit for IsStandard() transactions, so n and m just need to fit within that. Try it!

Does this mean that the reference client hasn't implemented the BIP as stated?  It is supposed to verify that the serialized script is standard, right?

Is the issue that the isStandard() only checks the scriptPub and the serialized script is in the scriptSig?
The 520 byte limit for the redeemscript is "absolute" (not depending on isStandard()). ie your m signatures plus your n pubkeys plus a few bytes must be less than 520.

The 500 byte limit for the whole scriptSig is an isStandard() rule, and so you can send out transactions which violate this limit via for example Eligius. Or, at least, you *may* be able to.
legendary
Activity: 1232
Merit: 1094
Actually no! P2SH doesn't have an explicit limitations beyond the 520byte P2SH redeemScript limit, and more importantly the 500-byte scriptSig limit for IsStandard() transactions, so n and m just need to fit within that. Try it!

Does this mean that the reference client hasn't implemented the BIP as stated?  It is supposed to verify that the serialized script is standard, right?

Is the issue that the isStandard() only checks the scriptPub and the serialized script is in the scriptSig?
hero member
Activity: 714
Merit: 601
Is the service currently operational?

I noticed that on your site, you currently have this message up:
We're currently experiecing some techincal issues. Service will return to normal shortly. Sorry for any inconvenience caused.

Yes the mutlisig part of the site is fully operational.

I was trying to test this functionality out, I do not believe I can currently complete a transaction.  When I attempt to "Sign" - nothing happens.  It just sits there - am I doing something wrong?

I was able to create the multi-sig address, and I was able to send a small amount of BTC to this address.  Now I am trying to sign the transaction and release the funds.

I've just tested it and it works, what browser are you using?
newbie
Activity: 9
Merit: 0
Is the service currently operational?

I noticed that on your site, you currently have this message up:
We're currently experiecing some techincal issues. Service will return to normal shortly. Sorry for any inconvenience caused.

I was trying to test this functionality out, I do not believe I can currently complete a transaction.  When I attempt to "Sign" - nothing happens.  It just sits there - am I doing something wrong?

I was able to create the multi-sig address, and I was able to send a small amount of BTC to this address.  Now I am trying to sign the transaction and release the funds.
legendary
Activity: 3472
Merit: 1724
It might be over 500 bytes... in which case (I'm told) it won't get confirmed by anyone.

500 bytes is only for the scriptSig to pass the IsStandard() check.
hero member
Activity: 518
Merit: 500
BTC < > INR & USD
I've made a few changes to improve usability and fixed a couple of small bugs.

The biggest change I've made is an update for those wanting to manipulate the the transaction inputs, so let me know how you get on - any suggestions are most welcome.

Thanks mate. I had sent you a PM a few days ago. Kindly have a look and appreciate if you could reply.
hero member
Activity: 714
Merit: 601
I've made a few changes to improve usability and fixed a couple of small bugs.

The biggest change I've made is an update for those wanting to manipulate the transaction inputs, so let me know how you get on - any suggestions are most welcome.
newbie
Activity: 38
Merit: 0
Great work. Any plans to integrate this into bitcoinjs ?

Or is it possible to get a look at the JS non-minimised ?

Thanks.
full member
Activity: 210
Merit: 100
How do i create multisig address with bitcoinqt
WiW
sr. member
Activity: 277
Merit: 250
"The public is stupid, hence the public will pay"
It might be over 500 bytes... in which case (I'm told) it won't get confirmed by anyone.

Confirmed 3 of 4 txn, 577 bytes.
https://blockchain.info/tx/ec680affe2d8f8c846e6906a0a16f99c32d931a32fc38b60caf48f057cf99915
legendary
Activity: 1008
Merit: 1000
My 3 of 5 is being rejected... The "verify script" shows all in order. Blockchain.info pushtx:
Quote
Script not of right size, expecting 2 but got 5

I couldn't use Blockchain.info's pushtx for this. *shrugs*

I just used the one on OPs website.



Coinb.in is also failing... I also just tried a 3 of 4...

3 of 4 worked fine for me... note that if you try to resubmit the same transaction it will say your txn is invalid.

My 3 of 4 just got confirmations. 3 of 5 still being rejected by both coinb.in and blockchain.info.

It might be over 500 bytes... in which case (I'm told) it won't get confirmed by anyone.
WiW
sr. member
Activity: 277
Merit: 250
"The public is stupid, hence the public will pay"
My 3 of 5 is being rejected... The "verify script" shows all in order. Blockchain.info pushtx:
Quote
Script not of right size, expecting 2 but got 5

I couldn't use Blockchain.info's pushtx for this. *shrugs*

I just used the one on OPs website.



Coinb.in is also failing... I also just tried a 3 of 4...

3 of 4 worked fine for me... note that if you try to resubmit the same transaction it will say your txn is invalid.

My 3 of 4 just got confirmations. 3 of 5 still being rejected by both coinb.in and blockchain.info.
legendary
Activity: 1008
Merit: 1000
My 3 of 5 is being rejected... The "verify script" shows all in order. Blockchain.info pushtx:
Quote
Script not of right size, expecting 2 but got 5

I couldn't use Blockchain.info's pushtx for this. *shrugs*

I just used the one on OPs website.



Coinb.in is also failing... I also just tried a 3 of 4...

3 of 4 worked fine for me... note that if you try to resubmit the same transaction it will say your txn is invalid.
Pages:
Jump to: