Page MenuHomePhabricator
Feed Advanced Search

Jan 24 2019

markblundeberg added a revision to T527: Add Schnorr support to OP_CHECKSIG and OP_CHECKDATASIG: D2409: add sigcache tests.
Jan 24 2019, 14:43
Herald added a reviewer for D2409: add sigcache tests: deadalnix.
Jan 24 2019, 14:42

Jan 22 2019

markblundeberg added a comment to D2372: sighashtype: clarify subtle logic of isDefined().

@jasonbcox it's still red, what am I supposed to do? If you want to refactor you can submit a revision and we can discuss that. The point of this Diff is only to clarify confusing code.

Jan 22 2019, 18:37
markblundeberg added a comment to D2373: add flags to VerifySignature and sigcache.

Just add friend class CSignatureCacheTest and define CSignatureCacheTest in the test and access whatever you want through it.

Jan 22 2019, 18:11
markblundeberg planned changes to D2377: add Schnorr support to VerifySignature via flag SCRIPT_ENABLE_SCHNORR.

Hmm IsSchnorrSignature is not done correctly here to be reused in CheckRawSignatureEncoding.

Jan 22 2019, 06:14
markblundeberg added a comment to D2373: add flags to VerifySignature and sigcache.

Out of curiosity I did some digging. The sigcache stuff dates back to 2012 and only came with a test of denial of service. Moved & renamed to CSignatureCache later that year.

Jan 22 2019, 05:16
markblundeberg abandoned D2342: WIP: add Schnorr opcode support.

Obsolete. This is being replaced by other Diffs that can be seen in T527

Jan 22 2019, 01:58
markblundeberg added a comment to D2373: add flags to VerifySignature and sigcache.

You'd expect there are some existing tests for the signature cache. but

$ grep -r ../src/test/ -e CachingTransactionSignatureChecker

returns nothing. This is rather concerning, but this absolutely require a test. The cache for script can be used as an example: https://reviews.bitcoinabc.org/source/bitcoin-abc/browse/master/src/test/txvalidationcache_tests.cpp

It's probably a good idea to write a test for it independent of this patch and then have the modified behavior only be added to the test in that patch.

Jan 22 2019, 01:37
markblundeberg added inline comments to D2375: Add function 'IsGreatWallEnabled'.
Jan 22 2019, 01:32
markblundeberg added inline comments to D2372: sighashtype: clarify subtle logic of isDefined().
Jan 22 2019, 01:25
markblundeberg added a comment to D2373: add flags to VerifySignature and sigcache.

So the code looks good, but the new behavior is missing a test. You need to check that caching still works when flags like SCRIPT_VERIFY_MINIMALIF, but do hit a different key when SCRIPT_ENABLE_SCHNORR is passed.

Jan 22 2019, 01:17
markblundeberg added a task to D2377: add Schnorr support to VerifySignature via flag SCRIPT_ENABLE_SCHNORR: T527: Add Schnorr support to OP_CHECKSIG and OP_CHECKDATASIG.
Jan 22 2019, 00:35
markblundeberg added a revision to T527: Add Schnorr support to OP_CHECKSIG and OP_CHECKDATASIG: D2377: add Schnorr support to VerifySignature via flag SCRIPT_ENABLE_SCHNORR.
Jan 22 2019, 00:35
markblundeberg abandoned D2355: add Schnorr support to signature cache.

replaced by D2377.

Jan 22 2019, 00:35
Herald added a reviewer for D2377: add Schnorr support to VerifySignature via flag SCRIPT_ENABLE_SCHNORR: deadalnix.
Jan 22 2019, 00:34
markblundeberg abandoned D2347: API renames of script signature functions to mention ECDSA.

abandoning this in favour of an alternate approach: D2373 etc.

Jan 22 2019, 00:03

Jan 21 2019

markblundeberg updated the diff for D2373: add flags to VerifySignature and sigcache.

moved invariant flags to sigcache.cpp, some comment modifications.

Jan 21 2019, 23:39
markblundeberg added inline comments to D2373: add flags to VerifySignature and sigcache.
Jan 21 2019, 22:05
markblundeberg added a task to D2373: add flags to VerifySignature and sigcache: T527: Add Schnorr support to OP_CHECKSIG and OP_CHECKDATASIG.
Jan 21 2019, 20:41
markblundeberg added a revision to T527: Add Schnorr support to OP_CHECKSIG and OP_CHECKDATASIG: D2373: add flags to VerifySignature and sigcache.
Jan 21 2019, 20:41
markblundeberg abandoned D2353: API rename VerifySignature -> VerifySignatureECDSA.

abandoning this in favour of an alternate approach: D2373

Jan 21 2019, 20:39
Herald added a reviewer for D2373: add flags to VerifySignature and sigcache: deadalnix.
Jan 21 2019, 20:38
Herald added a reviewer for D2372: sighashtype: clarify subtle logic of isDefined(): deadalnix.
Jan 21 2019, 18:50

Jan 20 2019

markblundeberg updated the summary of D2353: API rename VerifySignature -> VerifySignatureECDSA.
Jan 20 2019, 23:34
Herald added a reviewer for D2355: add Schnorr support to signature cache: deadalnix.
Jan 20 2019, 23:29
markblundeberg added a revision to T527: Add Schnorr support to OP_CHECKSIG and OP_CHECKDATASIG: D2169: [secp256k1] Implement Schnorr signatures.
Jan 20 2019, 22:56
markblundeberg added a task to D2169: [secp256k1] Implement Schnorr signatures: T527: Add Schnorr support to OP_CHECKSIG and OP_CHECKDATASIG.
Jan 20 2019, 22:56
markblundeberg added a comment to D2348: Add CKey::SignSchnorr and CPubKey::VerifySchnorr.

@deadalnix still good?

Jan 20 2019, 22:54
markblundeberg added a task to D2353: API rename VerifySignature -> VerifySignatureECDSA: T527: Add Schnorr support to OP_CHECKSIG and OP_CHECKDATASIG.
Jan 20 2019, 22:52
markblundeberg added a revision to T527: Add Schnorr support to OP_CHECKSIG and OP_CHECKDATASIG: D2353: API rename VerifySignature -> VerifySignatureECDSA.
Jan 20 2019, 22:52
Herald added a reviewer for D2353: API rename VerifySignature -> VerifySignatureECDSA: deadalnix.
Jan 20 2019, 22:51
markblundeberg added inline comments to D2348: Add CKey::SignSchnorr and CPubKey::VerifySchnorr.
Jan 20 2019, 20:10
markblundeberg updated the diff for D2348: Add CKey::SignSchnorr and CPubKey::VerifySchnorr.

oops, missed some .begin()s, now all changed to .data()

Jan 20 2019, 20:05
markblundeberg added inline comments to D2347: API renames of script signature functions to mention ECDSA.
Jan 20 2019, 19:59
markblundeberg added inline comments to D2347: API renames of script signature functions to mention ECDSA.
Jan 20 2019, 19:55
markblundeberg updated the diff for D2348: Add CKey::SignSchnorr and CPubKey::VerifySchnorr.

switched a few begin() to data(), strengthened internal sanity tests

Jan 20 2019, 19:32
markblundeberg added a comment to D2349: fix confusingly named function parameter 'scriptSig'.

Should I land this or wait for the diff testing system to be fixed?

Jan 20 2019, 19:12
markblundeberg added inline comments to D2169: [secp256k1] Implement Schnorr signatures.
Jan 20 2019, 11:55
markblundeberg added revisions to T527: Add Schnorr support to OP_CHECKSIG and OP_CHECKDATASIG: D2349: fix confusingly named function parameter 'scriptSig', D2347: API renames of script signature functions to mention ECDSA, D2342: WIP: add Schnorr opcode support, D2348: Add CKey::SignSchnorr and CPubKey::VerifySchnorr, D2345: API rename: Sign->SignECDSA, Verify->VerifyECDSA.
Jan 20 2019, 07:31
markblundeberg added a task to D2345: API rename: Sign->SignECDSA, Verify->VerifyECDSA: T527: Add Schnorr support to OP_CHECKSIG and OP_CHECKDATASIG.
Jan 20 2019, 07:31
markblundeberg added a task to D2348: Add CKey::SignSchnorr and CPubKey::VerifySchnorr: T527: Add Schnorr support to OP_CHECKSIG and OP_CHECKDATASIG.
Jan 20 2019, 07:31
markblundeberg added a task to D2342: WIP: add Schnorr opcode support: T527: Add Schnorr support to OP_CHECKSIG and OP_CHECKDATASIG.
Jan 20 2019, 07:31
markblundeberg added a task to D2347: API renames of script signature functions to mention ECDSA: T527: Add Schnorr support to OP_CHECKSIG and OP_CHECKDATASIG.
Jan 20 2019, 07:31
markblundeberg added a task to D2349: fix confusingly named function parameter 'scriptSig': T527: Add Schnorr support to OP_CHECKSIG and OP_CHECKDATASIG.
Jan 20 2019, 07:31
markblundeberg lowered the priority of T529: Schnorr batch verification from Normal to Low.
Jan 20 2019, 07:29
markblundeberg triaged T531: Add support for Schnorr signature aggregation in wallet. as Low priority.
Jan 20 2019, 07:28
markblundeberg triaged T530: Add wallet support for making basic Schnorr signatures as Normal priority.
Jan 20 2019, 07:28
markblundeberg triaged T529: Schnorr batch verification as Normal priority.
Jan 20 2019, 07:27
markblundeberg triaged T528: Add Schnorr support to OP_CHECKMULTISIG (new mechanics) as Normal priority.
Jan 20 2019, 07:25
markblundeberg triaged T527: Add Schnorr support to OP_CHECKSIG and OP_CHECKDATASIG as Normal priority.
Jan 20 2019, 07:24
markblundeberg triaged T526: Schnorr-ifying as Normal priority.
Jan 20 2019, 07:23
markblundeberg closed T253: Canonical Transaction Ordering as Resolved.
Jan 20 2019, 07:17
markblundeberg closed T253: Canonical Transaction Ordering, a subtask of T251: Gigablocks and beyond, as Resolved.
Jan 20 2019, 07:17
markblundeberg closed T253: Canonical Transaction Ordering, a subtask of T254: Graphene, as Resolved.
Jan 20 2019, 07:17
markblundeberg added a comment to D2349: fix confusingly named function parameter 'scriptSig'.
Jan 20 2019, 06:19
markblundeberg added inline comments to D2347: API renames of script signature functions to mention ECDSA.
Jan 20 2019, 06:13
Herald added a reviewer for D2349: fix confusingly named function parameter 'scriptSig': deadalnix.
Jan 20 2019, 05:50
markblundeberg updated the test plan for D2348: Add CKey::SignSchnorr and CPubKey::VerifySchnorr.
Jan 20 2019, 03:17
markblundeberg updated the diff for D2348: Add CKey::SignSchnorr and CPubKey::VerifySchnorr.

oops, messed that up. trying again...

Jan 20 2019, 03:15
markblundeberg updated the diff for D2348: Add CKey::SignSchnorr and CPubKey::VerifySchnorr.

improve tests to check against ECDSA-Schnorr nonce reuse ; also fix braces

Jan 20 2019, 03:13
markblundeberg added inline comments to D2348: Add CKey::SignSchnorr and CPubKey::VerifySchnorr.
Jan 20 2019, 01:33

Jan 19 2019

markblundeberg added a comment to D2342: WIP: add Schnorr opcode support.

Currently this diff being split into D2345 D2347 D2348 ... more to come.

Jan 19 2019, 21:31
markblundeberg updated the test plan for D2348: Add CKey::SignSchnorr and CPubKey::VerifySchnorr.
Jan 19 2019, 21:21
markblundeberg updated the diff for D2348: Add CKey::SignSchnorr and CPubKey::VerifySchnorr.

Added tests

Jan 19 2019, 21:19
Herald added a reviewer for D2348: Add CKey::SignSchnorr and CPubKey::VerifySchnorr: deadalnix.
Jan 19 2019, 20:10
markblundeberg updated the summary of D2347: API renames of script signature functions to mention ECDSA.
Jan 19 2019, 19:37
Herald added a reviewer for D2347: API renames of script signature functions to mention ECDSA: deadalnix.
Jan 19 2019, 19:33
markblundeberg added a comment to D2345: API rename: Sign->SignECDSA, Verify->VerifyECDSA.

Only one doubt: are there any external programs that call into this API?

Jan 19 2019, 17:16
Herald added a reviewer for D2345: API rename: Sign->SignECDSA, Verify->VerifyECDSA: deadalnix.
Jan 19 2019, 17:13
markblundeberg planned changes to D2342: WIP: add Schnorr opcode support.

OK, thanks for the quick feedback! I will fix the booling API. I can split this diff up like so for starters:

Jan 19 2019, 15:41
markblundeberg added a comment to D2343: Update CONTRIBUTING.md to clang-7.

What about this thing I had to run? update-alternatives --install /usr/bin/clang-format clang-format /usr/bin/clang-format-7 100 -- was that not needed when you grabbed it from apt.llvm.org?

Jan 19 2019, 05:57
markblundeberg added a comment to D2342: WIP: add Schnorr opcode support.

Question, regarding this To Do item: "test op_checkmultisig still accepts 64 byte ECDSA"

Would it make sense to restrict MultiSig to non-64-byte ECDSA? If the plan is to eventually implement Schnorr on MultiSig also, I just wonder if avoiding 64-byte ECDSA would be better.

Jan 19 2019, 05:49
markblundeberg updated the diff for D2342: WIP: add Schnorr opcode support.

linted

Jan 19 2019, 04:34
Herald added a reviewer for D2342: WIP: add Schnorr opcode support: deadalnix.
Jan 19 2019, 03:30

Jan 10 2019

markblundeberg added a comment to D2169: [secp256k1] Implement Schnorr signatures.

Looks good!

Jan 10 2019, 21:46

Jan 8 2019

markblundeberg added a comment to D2169: [secp256k1] Implement Schnorr signatures.

Note to observers: Much discussion about e selection was had in other avenues... interesting cryptography behind this.

Jan 8 2019, 21:14

Jan 4 2019

markblundeberg added a comment to D2169: [secp256k1] Implement Schnorr signatures.

I'm not convinced that the mod approach is a good idea. In general this is known to be a problem. BIPSCHNORR argues that this is not a problem because the range of number that are twice as probable is small, but I'm not convinced this is desirable.

Jan 4 2019, 23:13
markblundeberg added inline comments to D2169: [secp256k1] Implement Schnorr signatures.
Jan 4 2019, 17:43
markblundeberg added inline comments to D2169: [secp256k1] Implement Schnorr signatures.
Jan 4 2019, 17:10
markblundeberg accepted D2169: [secp256k1] Implement Schnorr signatures.

Seems good then. A couple more remarks added.

Jan 4 2019, 16:55
markblundeberg added a comment to D2169: [secp256k1] Implement Schnorr signatures.

A few replies. I have to still review some other parts of code so some more comments may be coming.

Jan 4 2019, 14:48
markblundeberg requested changes to D2169: [secp256k1] Implement Schnorr signatures.

A few comments. Most notably the computation of e should not be failing on overflow.

Jan 4 2019, 02:20

Dec 23 2018

markblundeberg added a comment to D596: Introduce SIGHASH_SPENDANYOUTPUT.

Added note that scriptPubKey / scriptCode committing obstructs Eltoo.

Dec 23 2018, 18:01

Dec 7 2018

markblundeberg added a comment to D2169: [secp256k1] Implement Schnorr signatures.

Just wondering, there are two implementations here, e.g., "secp256k1_schnorr_verify" and "secp256k1_schnorr_sig_verify". I understand one is from Amaury and one is from Pieter. What is the goal here, keep both or keep just one (and which?)?

Dec 7 2018, 23:08