Bitcoin Core Github
44 subscribers
121K links
Download Telegram
💬 glozow commented on pull request "v3 transaction policy for anti-pinning":
(https://github.com/bitcoin/bitcoin/pull/28948#issuecomment-1911778393)
Please take high-level and LN usage discussions elsewhere.
- Lightning usage, including switching {commitment, HTLC-X} transactions to using {v3, ephemeral anchors} is being discussed here: https://delvingbitcoin.org/t/lightning-transactions-with-v3-and-ephemeral-anchors/418/24
- General v3 discussion can go here: https://delvingbitcoin.org/t/v3-transaction-policy-for-anti-pinning/340/32
💬 fanquake commented on pull request "consensus: Store transaction nVersion as uint32_t":
(https://github.com/bitcoin/bitcoin/pull/29325#issuecomment-1911784362)
> So enabling that compiler warning may not be possible without changing a lot more code.

Yea. See here for example output compiling master with GCC 13.2.0 + -Wsign-conversion: https://gist.github.com/fanquake/8e7a49dc1968afd07d89e822ffb4adac.
💬 glozow commented on pull request "policy: enable sibling eviction for v3 transactions":
(https://github.com/bitcoin/bitcoin/pull/29306#discussion_r1467461085)
Yeah I think passing those in would be a bit unhygienic. `ApplyV3Rules` would be using the contents beforehand to decide whether a child would be replaced, and then potentially modifying it in a way that looks like the child would replace it.
💬 tromp commented on issue "Witness scripts being abused to bypass datacarriersize limit (CVE-2023-50428)":
(https://github.com/bitcoin/bitcoin/issues/29187#issuecomment-1911816807)
Nobody is defending the exploit. Rather, some of us recognize that this exploit is inherent in Bitcoin's design, whose script language provides plenty of room for embedding arbitrary data. What transactions miners put in blocks is driven purely by profit motives and the fact is that inscriptions are very profitable. Declaring them "bad" doesn't change that. As long as they follow consensus rules, they are "good" to the miners.

The intentions behind this proposal are good. What I object to is
...
💬 maflcko commented on pull request "log: Nuke error(...)":
(https://github.com/bitcoin/bitcoin/pull/29236#issuecomment-1911903716)
> nit: it seems the return value from SerializeFileDB is never used to actually shut down the node. In the case of failing to open file, I think LogError is appropriate because that probably should lead to a shutdown. In the case of "Failed to flush file", I think a LogWarning could be more appropriate.
>
> I think it's best to leave the PR as is to make progress, bikeshedding over warning vs error categories doesn't have a huge amount of benefit here. Just leaving this comment for visibility.
...
💬 fanquake commented on pull request "build: Pass sanitize flags to instrument `libsecp256k1` code":
(https://github.com/bitcoin/bitcoin/pull/28875#discussion_r1467547030)
> My feeling is just that setting SECP_CFLAGS is not the cleanest choice and more likely than my other suggestions to cause breaks in the future.

We can accept that possibility for now, and at the next subtree update (if/when things break), we'll take another look.
💬 fanquake commented on pull request "build: Pass sanitize flags to instrument `libsecp256k1` code":
(https://github.com/bitcoin/bitcoin/pull/28875#discussion_r1467547077)
These lines have never been super consistent, but are meant to be a rough overview of the (interesting) flags being used for compilation. I think you're correct in that printing secp flags (again) here would be overkill. For any other flags, I don't think they are very meaningful for most builders. I think it's also unlikely we'll significantly change anything here too much further, given that this is going to be completely redone with CMake.
fanquake closed an issue: "libsecp256k1 not instrumented when building with sanitizers"
(https://github.com/bitcoin/bitcoin/issues/27990)
🚀 fanquake merged a pull request: "build: Pass sanitize flags to instrument `libsecp256k1` code"
(https://github.com/bitcoin/bitcoin/pull/28875)
dergoegge closed a pull request: "fuzz: Test headers pre-sync through p2p interface"
(https://github.com/bitcoin/bitcoin/pull/28043)
💬 dergoegge commented on pull request "fuzz: Test headers pre-sync through p2p interface":
(https://github.com/bitcoin/bitcoin/pull/28043#issuecomment-1911941270)
It's been more than 6 months since I opened this without substantial review, so closing. Let me know if anyone is actually interested in reviewing and I'll reopen.
💬 torkelrogstad commented on pull request "rpc: validate fee estimation mode case insensitive":
(https://github.com/bitcoin/bitcoin/pull/29175#discussion_r1467562973)
Ah, thanks. I'm very new to C++, so I didn't realize I could even use things that weren't imported. Didn't realize I should also include a header statement, since it compiled just fine! Added the include.
💬 RicYashiroLee commented on pull request "set `DEFAULT_PERMIT_BAREMULTISIG` to false":
(https://github.com/bitcoin/bitcoin/pull/28217#issuecomment-1911955460)
Why was my last comment to Peter Todd's comment, DELETED? Where can I find the reasoning for such deletion?
💬 glozow commented on pull request "Weaken serfloat tests":
(https://github.com/bitcoin/bitcoin/pull/29192#discussion_r1467572446)
Is this doing 100 iterations per setting, when it was 1000 before?
💬 glozow commented on pull request "Weaken serfloat tests":
(https://github.com/bitcoin/bitcoin/pull/29192#discussion_r1467560621)
IIUC pseudocode:
Use values of `x` to codify all possibilities of 9 bits, with 1000 iters for each setting. So x=0..(1000*2^9)-1
for `x_pos`, `v_pos` in enumerate([0, 1, 50, 51, 52, 53, 61, 62, 63]):
    `v` starts as 64 random bits
    reset `v`'s `v_pos`th bit to what `x` 's `x_pos` bit is
    turn `v` into double `f` and `TestDouble(f)`
dergoegge closed a pull request: "Revert "build: Fix regression in "ARMv8 CRC32 intrinsics" test""
(https://github.com/bitcoin/bitcoin/pull/29226)
💬 michaelfolkson commented on issue "Witness scripts being abused to bypass datacarriersize limit (CVE-2023-50428)":
(https://github.com/bitcoin/bitcoin/issues/29187#issuecomment-1911987679)
The incorrect use of terms like "exploit", "bug" and "spam" is ensuring this discussion is extremely subpar. The absolute best this pull request can accomplish is to slow down the confirmation of certain transactions and ensure they are submitted directly to mining pools rather than propagated over the P2P network. So even if it was an "exploit" (which it isn't) this pull request doesn't fix the "exploit".

If it truly was an "exploit" it would need to be comprehensively fixed. The way to comp
...
💬 GregTonoski commented on issue "Witness scripts being abused to bypass datacarriersize limit (CVE-2023-50428)":
(https://github.com/bitcoin/bitcoin/issues/29187#issuecomment-1911994284)
> with negative effects on fee estimation.

What is the negative effect? Could you describe (and possibly quantify in order to put it into perspective), please?

Could you explain the mechanism or provide evidence that support the opinion, please? Why negative and not neutral? Isn't the fee estimation flawed and confused with the proposal, perhaps?
🤔 shaavan reviewed a pull request: "consensus: Store transaction nVersion as uint32_t"
(https://github.com/bitcoin/bitcoin/pull/29325#pullrequestreview-1845680627)
Concept ACK

<details>
<summary>
Notes:
</summary>

1. Change the type of nVersion for transactions from `int32_t` → `uint32_t`
2. Appropriately remove casts, from the codebase
3. Introduce test cases to properly address the change in behavior
4. Appropriately change the format form `<i` to `<I` indicating the change from signed little-endian to unsigned little-endian when serializing and deserializing tx.nVersion.
</details>

Suggestions:

1. In `void static RandomTransaction(CM
...
💬 shaavan commented on pull request "consensus: Store transaction nVersion as uint32_t":
(https://github.com/bitcoin/bitcoin/pull/29325#discussion_r1467605265)
Question: If we are removing the "signedness" of the tx.nVersion, should we think about removing the test cases that made sense for the signed nVersion?