Page MenuHomePhabricator
Feed Advanced Search

Feb 7 2019

markblundeberg added a comment to D2483: Schnorr signature activation.

switch to generic flag-based activation that applies for all upgrades.

Interesting, if I understand correctly this would also work for the Replay Protection reorg code.
So does that mean the "IsReplayProtectionEnabled" portion could also be removed?
(I guess best done in a separate Diff)

Feb 7 2019, 19:20
markblundeberg added a comment to D2483: Schnorr signature activation.

A couple of comments not addressed as I disagree with them (see replies above).

Feb 7 2019, 19:02
markblundeberg updated the diff for D2483: Schnorr signature activation.

switch to generic flag-based activation that applies for all upgrades.

Feb 7 2019, 18:58
markblundeberg updated the diff for D2487: add Schnorr signing implementation to test_framework.

rebased for childrens' sake

Feb 7 2019, 18:24
markblundeberg added inline comments to D2483: Schnorr signature activation.
Feb 7 2019, 18:16
Herald added a reviewer for D2511: clean up CheckInputs() policy-ban logic and comments: deadalnix.
Feb 7 2019, 17:35
markblundeberg updated the summary of D2483: Schnorr signature activation.
Feb 7 2019, 16:56
markblundeberg updated the diff for D2483: Schnorr signature activation.

make sure peers don't ban each other when tx would be valid before/after upgrade.

Feb 7 2019, 16:55
markblundeberg updated the diff for D2483: Schnorr signature activation.

clean up last revision

Feb 7 2019, 04:27
markblundeberg added inline comments to D2483: Schnorr signature activation.
Feb 7 2019, 04:14
markblundeberg added a comment to D2483: Schnorr signature activation.

(still need to add that p2p banning logic)

Feb 7 2019, 04:12
markblundeberg updated the diff for D2483: Schnorr signature activation.

don't clear mempool but instead reprocess it (both upgrade/downgrade)

Feb 7 2019, 04:11

Feb 5 2019

markblundeberg added a task to D2501: add Schnorr signing module to test_framework [alternative implementation]: T527: Add Schnorr support to OP_CHECKSIG and OP_CHECKDATASIG.
Feb 5 2019, 17:11
markblundeberg added a revision to T527: Add Schnorr support to OP_CHECKSIG and OP_CHECKDATASIG: D2501: add Schnorr signing module to test_framework [alternative implementation].
Feb 5 2019, 17:11
markblundeberg added a comment to D2487: add Schnorr signing implementation to test_framework.

Alternative implementation in its own file, here : D2501

Feb 5 2019, 17:02
Herald added a reviewer for D2501: add Schnorr signing module to test_framework [alternative implementation]: deadalnix.
Feb 5 2019, 16:08

Feb 4 2019

markblundeberg retitled D2483: Schnorr signature activation from Schnorr signature activation to [Target v0.19] Schnorr signature activation.
Feb 4 2019, 23:34
markblundeberg updated the diff for D2455: Enable Schnorr signature verification in CHECK(DATA)SIG(VERIFY).

rebased (fixed merge conflict with other added script_tests)

Feb 4 2019, 20:42
markblundeberg added inline comments to D2455: Enable Schnorr signature verification in CHECK(DATA)SIG(VERIFY).
Feb 4 2019, 19:49
markblundeberg updated the diff for D2487: add Schnorr signing implementation to test_framework.

rebased ; misc nits

Feb 4 2019, 16:12
markblundeberg added a comment to D2341: Enforce NULLDUMMY.

@dagurval I'm working on a very similar thing in D2483, perhaps our efforts would benefit from cross-pollination here.

Feb 4 2019, 15:18
markblundeberg accepted D2457: [schnorr] Refactor the signature process in reusable component.

Seems fine overall, perhaps premature though, do you have an immediate need for these refactors?

Feb 4 2019, 14:57
markblundeberg added inline comments to D2457: [schnorr] Refactor the signature process in reusable component.
Feb 4 2019, 14:53
markblundeberg updated the diff for D2455: Enable Schnorr signature verification in CHECK(DATA)SIG(VERIFY).

naming changes; add comments

Feb 4 2019, 03:45
markblundeberg added a comment to D2483: Schnorr signature activation.

(still need to add that p2p banning logic)

Feb 4 2019, 03:23
markblundeberg updated the diff for D2483: Schnorr signature activation.

advance/rewind logic

Feb 4 2019, 03:22
markblundeberg updated the diff for D2489: fix dependency lcg.h in CMakeLists and Makefile.test.include.

oops, fixed the wrong thing

Feb 4 2019, 00:32
markblundeberg updated the summary of D2489: fix dependency lcg.h in CMakeLists and Makefile.test.include.
Feb 4 2019, 00:25
Herald added a reviewer for D2489: fix dependency lcg.h in CMakeLists and Makefile.test.include: deadalnix.
Feb 4 2019, 00:25
markblundeberg requested review of D2455: Enable Schnorr signature verification in CHECK(DATA)SIG(VERIFY).
Feb 4 2019, 00:09

Feb 3 2019

markblundeberg added a comment to D2487: add Schnorr signing implementation to test_framework.

Typo in title:
implemenation -> implementation

Feb 3 2019, 21:17
markblundeberg retitled D2487: add Schnorr signing implementation to test_framework from add Schnorr signing implemention to test_framework to add Schnorr signing implementation to test_framework.
Feb 3 2019, 21:16
markblundeberg retitled D2487: add Schnorr signing implementation to test_framework from add Schnorr signing implemenation to test_framework to add Schnorr signing implemention to test_framework.
Feb 3 2019, 21:08
Herald added a reviewer for D2488: fix a memory leak in test_framework's key.py: deadalnix.
Feb 3 2019, 20:38
markblundeberg added a comment to D2487: add Schnorr signing implementation to test_framework.

(re-reading ... needs a few comment fixups)

Feb 3 2019, 20:27
markblundeberg added a comment to D2455: Enable Schnorr signature verification in CHECK(DATA)SIG(VERIFY).

Can the title of this be changed? I find it a bit difficult to parse.

Something like "Enable Schnorr signature verification in CHECK(DATA)SIG(VERIFY)" would be clearer IMO.

Feb 3 2019, 20:25
markblundeberg updated the test plan for D2455: Enable Schnorr signature verification in CHECK(DATA)SIG(VERIFY).
Feb 3 2019, 20:25
markblundeberg added a task to D2487: add Schnorr signing implementation to test_framework: T527: Add Schnorr support to OP_CHECKSIG and OP_CHECKDATASIG.
Feb 3 2019, 20:01
markblundeberg added a revision to T527: Add Schnorr support to OP_CHECKSIG and OP_CHECKDATASIG: D2487: add Schnorr signing implementation to test_framework.
Feb 3 2019, 20:01
Herald added a reviewer for D2487: add Schnorr signing implementation to test_framework: deadalnix.
Feb 3 2019, 20:01
markblundeberg added a comment to D2483: Schnorr signature activation.

If node A has activated the fork, but B still hasn't, and A broadcast a tx that uses schnorr sigs to B, then B will ban A. Dig in the history for the activation of the original fork to figure out what kind of fix are possible and how to test.

Feb 3 2019, 07:43
markblundeberg updated the diff for D2455: Enable Schnorr signature verification in CHECK(DATA)SIG(VERIFY).

add new test module for 64/65 byte sigs ; tweaks on script_tests

Feb 3 2019, 06:53
markblundeberg added inline comments to D2457: [schnorr] Refactor the signature process in reusable component.
Feb 3 2019, 04:04

Feb 2 2019

markblundeberg added inline comments to D2457: [schnorr] Refactor the signature process in reusable component.
Feb 2 2019, 22:27
markblundeberg added inline comments to D2457: [schnorr] Refactor the signature process in reusable component.
Feb 2 2019, 22:26
markblundeberg added a task to D2483: Schnorr signature activation: T527: Add Schnorr support to OP_CHECKSIG and OP_CHECKDATASIG.
Feb 2 2019, 20:34
markblundeberg added a revision to T527: Add Schnorr support to OP_CHECKSIG and OP_CHECKDATASIG: D2483: Schnorr signature activation.
Feb 2 2019, 20:34
markblundeberg updated the summary of D2483: Schnorr signature activation.
Feb 2 2019, 20:32
Herald added a reviewer for D2483: Schnorr signature activation: deadalnix.
Feb 2 2019, 20:26
markblundeberg added inline comments to D2455: Enable Schnorr signature verification in CHECK(DATA)SIG(VERIFY).
Feb 2 2019, 16:23
markblundeberg added inline comments to D2455: Enable Schnorr signature verification in CHECK(DATA)SIG(VERIFY).
Feb 2 2019, 16:15
markblundeberg added a comment to D2455: Enable Schnorr signature verification in CHECK(DATA)SIG(VERIFY).

You may want to add a unit test for similar to checkdatasig_tests (also, that guys would benefit from using the LCG) for the schnorr sigs. Unit test allows to be more thorough. script_tests allows to have test vector everybody can reuse or test against. Both have their purpose an are necessary.

Feb 2 2019, 16:11
markblundeberg updated the diff for D2482: fix ineffective checkdatasig_tests.

remove custom messaging

Feb 2 2019, 15:49
Herald added a reviewer for D2482: fix ineffective checkdatasig_tests: deadalnix.
Feb 2 2019, 15:37
markblundeberg updated the test plan for D2455: Enable Schnorr signature verification in CHECK(DATA)SIG(VERIFY).
Feb 2 2019, 05:05
markblundeberg updated the diff for D2455: Enable Schnorr signature verification in CHECK(DATA)SIG(VERIFY).

rewrote tests; removed trick for generating valid 64-byte ecdsa

Feb 2 2019, 02:48
markblundeberg added a comment to D2455: Enable Schnorr signature verification in CHECK(DATA)SIG(VERIFY).

OK, thanks for the in depth ideas on how to organize this.

Feb 2 2019, 01:29
markblundeberg abandoned D2467: add tests throwing Schnorr signatures at opcodes when they are disallowed.
Feb 2 2019, 00:25
markblundeberg added a comment to D2455: Enable Schnorr signature verification in CHECK(DATA)SIG(VERIFY).

Possibly the whole business about generating valid 64 byte ECDSA sigs can be taken out...

Feb 2 2019, 00:17
markblundeberg updated the diff for D2455: Enable Schnorr signature verification in CHECK(DATA)SIG(VERIFY).

Note that when the old tests were applied, 7 of them failed due to the change in specification to ban 64+1-byte ECDSA sigs in CHECKMULTISIG. They were updated accordingly.

Feb 2 2019, 00:16

Feb 1 2019

markblundeberg updated the diff for D2469: Add SCRIPT_ENABLE_SCHNORR support to sigencoding.

rebase; add comments; use new lcg.h test module

Feb 1 2019, 23:18
Herald added a reviewer for D2481: radix_tests : use lcg.h module: deadalnix.
Feb 1 2019, 23:10
markblundeberg updated the diff for D2475: sigencoding_tests : use pseudorandom generator for flag patterns.

rm comment

Feb 1 2019, 22:57
markblundeberg added inline comments to D2475: sigencoding_tests : use pseudorandom generator for flag patterns.
Feb 1 2019, 22:55
markblundeberg updated the diff for D2475: sigencoding_tests : use pseudorandom generator for flag patterns.

rebased

Feb 1 2019, 22:40
markblundeberg updated the diff for D2480: tests: add LCG pseudorandom module.

changed name; misc comments from amaury

Feb 1 2019, 22:36
markblundeberg updated the diff for D2480: tests: add LCG pseudorandom module.

changed to return 32bit; expand attribution & explanation; more tests

Feb 1 2019, 22:22
markblundeberg updated the diff for D2475: sigencoding_tests : use pseudorandom generator for flag patterns.

updated to use D2480

Feb 1 2019, 20:25
markblundeberg added a comment to D2477: Refactor signature encoding checks.

ok!

Feb 1 2019, 19:05
Herald added a reviewer for D2480: tests: add LCG pseudorandom module: deadalnix.
Feb 1 2019, 18:29
markblundeberg updated the diff for D2475: sigencoding_tests : use pseudorandom generator for flag patterns.

ensure flags=00000...000 is done at start; rewrap LCG as class & separate test

Feb 1 2019, 17:37
markblundeberg added inline comments to D2475: sigencoding_tests : use pseudorandom generator for flag patterns.
Feb 1 2019, 17:09
markblundeberg updated the summary of D2469: Add SCRIPT_ENABLE_SCHNORR support to sigencoding.
Feb 1 2019, 16:53
markblundeberg updated the test plan for D2469: Add SCRIPT_ENABLE_SCHNORR support to sigencoding.
Feb 1 2019, 16:50
markblundeberg updated the diff for D2469: Add SCRIPT_ENABLE_SCHNORR support to sigencoding.

rebased on top of D2477 and D2475 ; finished changes to sigencoding; added sigencoding_tests.

Feb 1 2019, 16:48
markblundeberg added inline comments to D2477: Refactor signature encoding checks.
Feb 1 2019, 16:22
markblundeberg added a task to D2475: sigencoding_tests : use pseudorandom generator for flag patterns: T527: Add Schnorr support to OP_CHECKSIG and OP_CHECKDATASIG.
Feb 1 2019, 15:57
markblundeberg added a revision to T527: Add Schnorr support to OP_CHECKSIG and OP_CHECKDATASIG: D2475: sigencoding_tests : use pseudorandom generator for flag patterns.
Feb 1 2019, 15:57
markblundeberg added a task to D2477: Refactor signature encoding checks: T527: Add Schnorr support to OP_CHECKSIG and OP_CHECKDATASIG.
Feb 1 2019, 15:56
markblundeberg added a revision to T527: Add Schnorr support to OP_CHECKSIG and OP_CHECKDATASIG: D2477: Refactor signature encoding checks.
Feb 1 2019, 15:56
markblundeberg added inline comments to D2477: Refactor signature encoding checks.
Feb 1 2019, 15:44
markblundeberg accepted D2477: Refactor signature encoding checks.

OK looks good, I added a couple of comments showing how this will have to integrate with the schnorr flag

Feb 1 2019, 15:26
markblundeberg added a comment to D2477: Refactor signature encoding checks.

@markblundeberg Have a look at D2478. Does it make more sense with that one added after?

I split the refactor into two, this one to pave the way for banning 64-byte ECDSA signatures, and D2478 to make it easy to add Schnorr.

My idea is to add the code to restrict 64-byte signature inside CheckRawECDSASignatureEncoding, and add the code allowing 64-byte signatures (with no DER checks) in CheckRawSignatureEncoding

Maybe it would be less confusing if I combine the diffs into one.

Feb 1 2019, 15:00
markblundeberg added inline comments to D2469: Add SCRIPT_ENABLE_SCHNORR support to sigencoding.
Feb 1 2019, 13:46
markblundeberg added a comment to D2477: Refactor signature encoding checks.

(CheckTransactionECDSASignatureEncoding could also be called CheckTransactionSignatureEncodingButNo65ByteSignaturesAllowedIfSchnorrEnabled, at least that is the function that CHECKMULTISIG must call per specification.)

Feb 1 2019, 13:41
markblundeberg requested changes to D2477: Refactor signature encoding checks.
Feb 1 2019, 13:39
markblundeberg added a comment to D2475: sigencoding_tests : use pseudorandom generator for flag patterns.

Does this hit enough flag combinations? See comments in the code..

Feb 1 2019, 04:01
Herald added a reviewer for D2475: sigencoding_tests : use pseudorandom generator for flag patterns: deadalnix.
Feb 1 2019, 03:54
markblundeberg updated the summary of D2469: Add SCRIPT_ENABLE_SCHNORR support to sigencoding.
Feb 1 2019, 02:28
markblundeberg planned changes to D2467: add tests throwing Schnorr signatures at opcodes when they are disallowed.
Feb 1 2019, 02:16
markblundeberg added a task to D2467: add tests throwing Schnorr signatures at opcodes when they are disallowed: T527: Add Schnorr support to OP_CHECKSIG and OP_CHECKDATASIG.
Feb 1 2019, 00:29
markblundeberg added a revision to T527: Add Schnorr support to OP_CHECKSIG and OP_CHECKDATASIG: D2467: add tests throwing Schnorr signatures at opcodes when they are disallowed.
Feb 1 2019, 00:29
markblundeberg added a task to D2469: Add SCRIPT_ENABLE_SCHNORR support to sigencoding: T527: Add Schnorr support to OP_CHECKSIG and OP_CHECKDATASIG.
Feb 1 2019, 00:28
markblundeberg added a revision to T527: Add Schnorr support to OP_CHECKSIG and OP_CHECKDATASIG: D2469: Add SCRIPT_ENABLE_SCHNORR support to sigencoding.
Feb 1 2019, 00:28

Jan 31 2019

markblundeberg updated the test plan for D2469: Add SCRIPT_ENABLE_SCHNORR support to sigencoding.
Jan 31 2019, 22:19
markblundeberg retitled D2469: Add SCRIPT_ENABLE_SCHNORR support to sigencoding from ban 64-byte signatures in CHECKMULTISIG when SCRIPT_ENABLE_SCHNORR to ban 64+1 byte signatures in CHECKMULTISIG when SCRIPT_ENABLE_SCHNORR.
Jan 31 2019, 21:58
Herald added a reviewer for D2469: Add SCRIPT_ENABLE_SCHNORR support to sigencoding: deadalnix.
Jan 31 2019, 21:56
markblundeberg added a comment to D2468: Add SCRIPT_ALLOW_SEGWIT_RECOVERY.

Beautifully simple way to do an exception, which is reflected in the shortness of the Diff.

Jan 31 2019, 21:07
Herald added a reviewer for D2467: add tests throwing Schnorr signatures at opcodes when they are disallowed: deadalnix.
Jan 31 2019, 20:53
markblundeberg added a task to D2466: duplicate API CheckTransactionSignatureEncoding -> CheckTransactionECDSASignatureEncoding: T527: Add Schnorr support to OP_CHECKSIG and OP_CHECKDATASIG.
Jan 31 2019, 20:18