👍 TheCharlatan approved a pull request: "guix: remove redundant glibc patches"
(https://github.com/bitcoin/bitcoin/pull/27670#pullrequestreview-1435483318)
ACK 3cfe366ec35eebfc0dad89ac7a09c32c45c30ea5
```
find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
3d180219536b4ae2b4ea012a2e2afc8dcc76a79a7f55a36418a6e5a83f5adf90 guix-build-3cfe366ec35e/output/aarch64-linux-gnu/SHA256SUMS.part
c25fbd84b7791d5bd3cab36d26828bf2b1063fadc4e944096e65597b66aba867 guix-build-3cfe366ec35e/output/aarch64-linux-gnu/bitcoin-3cfe366ec35e-aarch64-linux-gnu-debug.tar.gz
bee8bf6f100912a0548cee798abb
...
(https://github.com/bitcoin/bitcoin/pull/27670#pullrequestreview-1435483318)
ACK 3cfe366ec35eebfc0dad89ac7a09c32c45c30ea5
```
find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
3d180219536b4ae2b4ea012a2e2afc8dcc76a79a7f55a36418a6e5a83f5adf90 guix-build-3cfe366ec35e/output/aarch64-linux-gnu/SHA256SUMS.part
c25fbd84b7791d5bd3cab36d26828bf2b1063fadc4e944096e65597b66aba867 guix-build-3cfe366ec35e/output/aarch64-linux-gnu/bitcoin-3cfe366ec35e-aarch64-linux-gnu-debug.tar.gz
bee8bf6f100912a0548cee798abb
...
💬 hebasto commented on pull request "Deniability - a tool to automatically improve coin ownership privacy":
(https://github.com/bitcoin-core/gui/pull/733#issuecomment-1556112377)
> This PR is an implementation of the ideas in Paul Sztorc's blog post "Deniability - Unilateral Transaction Meta-Privacy"([truthcoin.info/blog/deniability](https://www.truthcoin.info/blog/deniability/)).
Has that idea been discussed somewhere already?
(https://github.com/bitcoin-core/gui/pull/733#issuecomment-1556112377)
> This PR is an implementation of the ideas in Paul Sztorc's blog post "Deniability - Unilateral Transaction Meta-Privacy"([truthcoin.info/blog/deniability](https://www.truthcoin.info/blog/deniability/)).
Has that idea been discussed somewhere already?
💬 pavel-vasin commented on issue "Compute 'short id' when transaction joins mempool":
(https://github.com/bitcoin/bitcoin/issues/27706#issuecomment-1556126859)
>Does it really need to be the block header? If we kept a random, per connection byte-array used for salting, how could an attacker cause intentional collisions?
If PoW or something similarly strong is not involved then the attacker can create collisions for a chosen set of nonces. An algorithm of the attack is straightforward:
1. Connect to a next victim
2. Negotiate a nonce
3. Bruteforce transactions that collide under the nonce
4. Go to step 1
(https://github.com/bitcoin/bitcoin/issues/27706#issuecomment-1556126859)
>Does it really need to be the block header? If we kept a random, per connection byte-array used for salting, how could an attacker cause intentional collisions?
If PoW or something similarly strong is not involved then the attacker can create collisions for a chosen set of nonces. An algorithm of the attack is straightforward:
1. Connect to a next victim
2. Negotiate a nonce
3. Bruteforce transactions that collide under the nonce
4. Go to step 1
💬 josibake commented on pull request "random: drop syscall wrapper usage for getrandom()":
(https://github.com/bitcoin/bitcoin/pull/27699#issuecomment-1556127350)
Guix builds:
```
19f9e24d91522aac6c349dffd4ae5b0386bc15c92767a65eb393e6a42ab5b256 aarch64-linux-gnu/bitcoin-5228223e1ff2-aarch64-linux-gnu-debug.tar.gz
935f337b5679825aadb004ab0848ba6bae5f7c287f17198faec361eae83e7f1e aarch64-linux-gnu/bitcoin-5228223e1ff2-aarch64-linux-gnu.tar.gz
2359e16fd74fa7fcf279a23ab75ccdf652e598e7be131a594137456f9f5df6a8 arm64-apple-darwin/bitcoin-5228223e1ff2-arm64-apple-darwin-unsigned.dmg
8e6d36685bbea7ae6a8442e94f27605c4fa1ac8be3ef3c9a6e56a1202094dd06 arm64-
...
(https://github.com/bitcoin/bitcoin/pull/27699#issuecomment-1556127350)
Guix builds:
```
19f9e24d91522aac6c349dffd4ae5b0386bc15c92767a65eb393e6a42ab5b256 aarch64-linux-gnu/bitcoin-5228223e1ff2-aarch64-linux-gnu-debug.tar.gz
935f337b5679825aadb004ab0848ba6bae5f7c287f17198faec361eae83e7f1e aarch64-linux-gnu/bitcoin-5228223e1ff2-aarch64-linux-gnu.tar.gz
2359e16fd74fa7fcf279a23ab75ccdf652e598e7be131a594137456f9f5df6a8 arm64-apple-darwin/bitcoin-5228223e1ff2-arm64-apple-darwin-unsigned.dmg
8e6d36685bbea7ae6a8442e94f27605c4fa1ac8be3ef3c9a6e56a1202094dd06 arm64-
...
💬 josibake commented on pull request "random: drop syscall wrapper usage for getrandom()":
(https://github.com/bitcoin/bitcoin/pull/27699#issuecomment-1556127480)
ACK https://github.com/bitcoin/bitcoin/pull/27699/commits/5228223e1ff2af29e6e77668ce3288005c2adbbc
guix builds match hebastos
(https://github.com/bitcoin/bitcoin/pull/27699#issuecomment-1556127480)
ACK https://github.com/bitcoin/bitcoin/pull/27699/commits/5228223e1ff2af29e6e77668ce3288005c2adbbc
guix builds match hebastos
📝 hebasto opened a pull request: "ci, iwyu: Update mappings"
(https://github.com/bitcoin/bitcoin/pull/27710)
The first commit has been pulled from https://github.com/bitcoin/bitcoin/pull/26766.
The second commit significantly reduces false warnings for unit tests. From the Boost.Test's [point of view](https://github.com/boostorg/test/blob/d2895ebfdfdf16074c58c9801d53e190c4654fcb/include/boost/test/unit_test.hpp#L11), the `boost/test/unit_test.hpp` header:
```
... should be the only header necessary to include to start using the framework
```
A note: I prefer our own two lines of mappings inste
...
(https://github.com/bitcoin/bitcoin/pull/27710)
The first commit has been pulled from https://github.com/bitcoin/bitcoin/pull/26766.
The second commit significantly reduces false warnings for unit tests. From the Boost.Test's [point of view](https://github.com/boostorg/test/blob/d2895ebfdfdf16074c58c9801d53e190c4654fcb/include/boost/test/unit_test.hpp#L11), the `boost/test/unit_test.hpp` header:
```
... should be the only header necessary to include to start using the framework
```
A note: I prefer our own two lines of mappings inste
...
👍 TheCharlatan approved a pull request: "build: Do not define `ENABLE_ZMQ` when ZMQ is not available"
(https://github.com/bitcoin/bitcoin/pull/27696#pullrequestreview-1435518441)
ACK fa5831bd6f940c4afb43ff625ba4fa6c641e999a
Verified that the symbol is not defined when zmq is not available in config.status.
(https://github.com/bitcoin/bitcoin/pull/27696#pullrequestreview-1435518441)
ACK fa5831bd6f940c4afb43ff625ba4fa6c641e999a
Verified that the symbol is not defined when zmq is not available in config.status.
📝 TheCharlatan opened a pull request: "kernel: Remove shutdown from kernel library"
(https://github.com/bitcoin/bitcoin/pull/27711)
This pull request is part of the `libbitcoinkernel` project https://github.com/bitcoin/bitcoin/issues/27587 https://github.com/bitcoin/bitcoin/projects/18 and more specifically its "Step 2: Decouple most non-consensus code from libbitcoinkernel". Together with #27576 this should complete step 2.
---
This removes the shutdown files from the kernel library.
Based on #27636. Actual commits start after the commit titled `commits after this are non-base`.
(https://github.com/bitcoin/bitcoin/pull/27711)
This pull request is part of the `libbitcoinkernel` project https://github.com/bitcoin/bitcoin/issues/27587 https://github.com/bitcoin/bitcoin/projects/18 and more specifically its "Step 2: Decouple most non-consensus code from libbitcoinkernel". Together with #27576 this should complete step 2.
---
This removes the shutdown files from the kernel library.
Based on #27636. Actual commits start after the commit titled `commits after this are non-base`.
📝 theStack opened a pull request: "test: p2p: check misbehavior for non-continuous headers messages"
(https://github.com/bitcoin/bitcoin/pull/27712)
This PR adds missing test coverage for a peer sending a `headers` message where the headers don't connect to each other, which should be treated as misbehaving (not disconnecting though, as the score increase is only 20). The relevant code path is `PeerManagerImpl::ProcessHeadersMessage` -> `PeerManagerImpl::CheckHeadersPoW` -> `PeerManagerImpl::CheckHeadersAreContinuous`:
https://github.com/bitcoin/bitcoin/blob/17acb2782a66f033238340e4fb81009e7f79e97a/src/net_processing.cpp#L2415-L2419
ht
...
(https://github.com/bitcoin/bitcoin/pull/27712)
This PR adds missing test coverage for a peer sending a `headers` message where the headers don't connect to each other, which should be treated as misbehaving (not disconnecting though, as the score increase is only 20). The relevant code path is `PeerManagerImpl::ProcessHeadersMessage` -> `PeerManagerImpl::CheckHeadersPoW` -> `PeerManagerImpl::CheckHeadersAreContinuous`:
https://github.com/bitcoin/bitcoin/blob/17acb2782a66f033238340e4fb81009e7f79e97a/src/net_processing.cpp#L2415-L2419
ht
...
💬 hebasto commented on pull request "test: Add missed header":
(https://github.com/bitcoin-core/gui/pull/729#issuecomment-1556169237)
> > Looks like iwyu doesn't work with qt?
>
> We might have to provide a mapping file, for it to work sanely? i.e [include-what-you-use/include-what-you-use@`master`/qt5_11.imp](https://github.com/include-what-you-use/include-what-you-use/blob/master/qt5_11.imp?rgh-link-date=2023-05-17T13%3A29%3A36Z).
Added in https://github.com/bitcoin/bitcoin/pull/27710.
(https://github.com/bitcoin-core/gui/pull/729#issuecomment-1556169237)
> > Looks like iwyu doesn't work with qt?
>
> We might have to provide a mapping file, for it to work sanely? i.e [include-what-you-use/include-what-you-use@`master`/qt5_11.imp](https://github.com/include-what-you-use/include-what-you-use/blob/master/qt5_11.imp?rgh-link-date=2023-05-17T13%3A29%3A36Z).
Added in https://github.com/bitcoin/bitcoin/pull/27710.
💬 theStack commented on pull request "test: p2p: check misbehavior for non-continuous headers messages":
(https://github.com/bitcoin/bitcoin/pull/27712#issuecomment-1556180004)
(Force-pushed with a simpler variant that just deletes a random block header in the middle of a valid `headers` message instead of messing around with `hashPrevBlock`, which needed to re-grind the header for valid PoW. The previous version looked like this:
```
# modify previous block hash of an arbitrary sequent block header to break link
modified_block_header = block_headers[random.randrange(1, len(block_headers))]
modified_block_header.hashPrevBlock ^= 1
#
...
(https://github.com/bitcoin/bitcoin/pull/27712#issuecomment-1556180004)
(Force-pushed with a simpler variant that just deletes a random block header in the middle of a valid `headers` message instead of messing around with `hashPrevBlock`, which needed to re-grind the header for valid PoW. The previous version looked like this:
```
# modify previous block hash of an arbitrary sequent block header to break link
modified_block_header = block_headers[random.randrange(1, len(block_headers))]
modified_block_header.hashPrevBlock ^= 1
#
...
📝 hebasto converted_to_draft a pull request: "ci, iwyu: Update mappings"
(https://github.com/bitcoin/bitcoin/pull/27710)
The first commit has been pulled from https://github.com/bitcoin/bitcoin/pull/26766.
The second commit significantly reduces false warnings for unit tests. From the Boost.Test's [point of view](https://github.com/boostorg/test/blob/d2895ebfdfdf16074c58c9801d53e190c4654fcb/include/boost/test/unit_test.hpp#L11), the `boost/test/unit_test.hpp` header:
```
... should be the only header necessary to include to start using the framework
```
A note: IWYU's [`boost-1.75-all.imp`](https://github
...
(https://github.com/bitcoin/bitcoin/pull/27710)
The first commit has been pulled from https://github.com/bitcoin/bitcoin/pull/26766.
The second commit significantly reduces false warnings for unit tests. From the Boost.Test's [point of view](https://github.com/boostorg/test/blob/d2895ebfdfdf16074c58c9801d53e190c4654fcb/include/boost/test/unit_test.hpp#L11), the `boost/test/unit_test.hpp` header:
```
... should be the only header necessary to include to start using the framework
```
A note: IWYU's [`boost-1.75-all.imp`](https://github
...
📝 sbhuiyan20 opened a pull request: "Create Genarsative Ai"
(https://github.com/bitcoin/bitcoin/pull/27713)
<!--
*** Please remove the following help text before submitting: ***
Pull requests without a rationale and clear improvement may be closed
immediately.
GUI-related pull requests should be opened against
https://github.com/bitcoin-core/gui
first. See CONTRIBUTING.md
-->
<!--
Please provide clear motivation for your patch and explain how it improves
Bitcoin Core user experience or Bitcoin Core developer experience
significantly:
* Any test improvements or new tests that improv
...
(https://github.com/bitcoin/bitcoin/pull/27713)
<!--
*** Please remove the following help text before submitting: ***
Pull requests without a rationale and clear improvement may be closed
immediately.
GUI-related pull requests should be opened against
https://github.com/bitcoin-core/gui
first. See CONTRIBUTING.md
-->
<!--
Please provide clear motivation for your patch and explain how it improves
Bitcoin Core user experience or Bitcoin Core developer experience
significantly:
* Any test improvements or new tests that improv
...
✅ fanquake closed a pull request: "Create Genarsative Ai"
(https://github.com/bitcoin/bitcoin/pull/27713)
(https://github.com/bitcoin/bitcoin/pull/27713)
📝 fanquake locked a pull request: "Create Genarsative Ai"
(https://github.com/bitcoin/bitcoin/pull/27713)
<!--
*** Please remove the following help text before submitting: ***
Pull requests without a rationale and clear improvement may be closed
immediately.
GUI-related pull requests should be opened against
https://github.com/bitcoin-core/gui
first. See CONTRIBUTING.md
-->
<!--
Please provide clear motivation for your patch and explain how it improves
Bitcoin Core user experience or Bitcoin Core developer experience
significantly:
* Any test improvements or new tests that improv
...
(https://github.com/bitcoin/bitcoin/pull/27713)
<!--
*** Please remove the following help text before submitting: ***
Pull requests without a rationale and clear improvement may be closed
immediately.
GUI-related pull requests should be opened against
https://github.com/bitcoin-core/gui
first. See CONTRIBUTING.md
-->
<!--
Please provide clear motivation for your patch and explain how it improves
Bitcoin Core user experience or Bitcoin Core developer experience
significantly:
* Any test improvements or new tests that improv
...
💬 hebasto commented on pull request "ci: Update "Win64 native" task":
(https://github.com/bitcoin/bitcoin/pull/26891#issuecomment-1556187285)
FWIW, the recent [ccache 4.8.1](https://ccache.dev/releasenotes.html#_ccache_4_8_1) seems broken. Note the cacheable calls ratio:
```
Cacheable calls: 264 / 617 (42.79%)
Hits: 264 / 264 (100.0%)
Direct: 264 / 264 (100.0%)
Preprocessed: 0 / 264 ( 0.00%)
Misses: 0 / 264 ( 0.00%)
Uncacheable calls: 353 / 617 (57.21%)
Local storage:
Cache size (GB): 0.2 / 0.2 (99.87%)
Hits: 264 / 264 (100.0%)
Misses: 0 / 264 ( 0.00%
...
(https://github.com/bitcoin/bitcoin/pull/26891#issuecomment-1556187285)
FWIW, the recent [ccache 4.8.1](https://ccache.dev/releasenotes.html#_ccache_4_8_1) seems broken. Note the cacheable calls ratio:
```
Cacheable calls: 264 / 617 (42.79%)
Hits: 264 / 264 (100.0%)
Direct: 264 / 264 (100.0%)
Preprocessed: 0 / 264 ( 0.00%)
Misses: 0 / 264 ( 0.00%)
Uncacheable calls: 353 / 617 (57.21%)
Local storage:
Cache size (GB): 0.2 / 0.2 (99.87%)
Hits: 264 / 264 (100.0%)
Misses: 0 / 264 ( 0.00%
...
💬 ddykeman1 commented on issue "crash on macOS 12.6.5":
(https://github.com/bitcoin-core/gui/issues/731#issuecomment-1556206697)
Not sure how to do that at the moment
(https://github.com/bitcoin-core/gui/issues/731#issuecomment-1556206697)
Not sure how to do that at the moment
💬 furszy commented on pull request "index: improve initialization and pruning violation check":
(https://github.com/bitcoin/bitcoin/pull/27607#discussion_r1199788121)
yeah thx, this is a remanent from a previous version.
(https://github.com/bitcoin/bitcoin/pull/27607#discussion_r1199788121)
yeah thx, this is a remanent from a previous version.
💬 furszy commented on pull request "index: improve initialization and pruning violation check":
(https://github.com/bitcoin/bitcoin/pull/27607#discussion_r1199796712)
> Could the commit message clarify if any behavior is changing here? Would be good to label it a refactoring and say it does not change behavior if nothing is changing, and say what is changing otherwise.
yeah sure. https://github.com/bitcoin/bitcoin/commit/704c9e4cf67468708db655226a78489b92ef0523 introduces no behavior change.
> Also, it seems like new code that is added here just gets moved / deleted later in the PR in the last commit "index: verify blocks data existence only once" (http
...
(https://github.com/bitcoin/bitcoin/pull/27607#discussion_r1199796712)
> Could the commit message clarify if any behavior is changing here? Would be good to label it a refactoring and say it does not change behavior if nothing is changing, and say what is changing otherwise.
yeah sure. https://github.com/bitcoin/bitcoin/commit/704c9e4cf67468708db655226a78489b92ef0523 introduces no behavior change.
> Also, it seems like new code that is added here just gets moved / deleted later in the PR in the last commit "index: verify blocks data existence only once" (http
...
💬 TheCharlatan commented on pull request "Allow configuring target block time for a signet":
(https://github.com/bitcoin/bitcoin/pull/27446#issuecomment-1556263037)
Approach NACK.
I get this - wasting time waiting for confirmations is more than annoying. Its effect usually lingers, because you loose context in the meantime and it slows down development in your entire organization. However, I also think supporting options that might lead to clients running disagreeing consensus rules on the same network is dangerous and might annoy developers in fresh ways. I would support the approach laid out by ajtowns in [this comment](https://github.com/bitcoin/bitc
...
(https://github.com/bitcoin/bitcoin/pull/27446#issuecomment-1556263037)
Approach NACK.
I get this - wasting time waiting for confirmations is more than annoying. Its effect usually lingers, because you loose context in the meantime and it slows down development in your entire organization. However, I also think supporting options that might lead to clients running disagreeing consensus rules on the same network is dangerous and might annoy developers in fresh ways. I would support the approach laid out by ajtowns in [this comment](https://github.com/bitcoin/bitc
...