A decentralized bitcoin exchange network
Go to file
Steven Barclay 6ae9831818
Parallelise signature checking in VoteResultView.doFillCycleList()
Run through the 'DecryptedBallotsWithMerits' list of each cycle in
parallel, when filling the cycle list of the Vote Result view, to speed
up the signature verification of all the 'Merit' objects found in the
DAO state. Checking all the signatures is necessary to correctly compute
the total merit stake and hence the vote weight of each ballot list, and
profiling shows that it is by far the biggest bottleneck during the
initial view load (with all subsequent activations of the view skipping
'doFillCycleList()', when outside of the Vote Result DAO phase).

(Since each signature is checked only once from 'doFillCycleList()' and
skipping the checks could potentially affect the computed vote weights,
we cannot obviously do any better than parallelise the checks, to speed
up this method.)

(Even though it may be a little more efficient to parallelise the outer
loop of the method, over the cycles instead of the decrypted votes of
each cycle, each individual signature check is expensive enough that it
probably wouldn't give much improvement over this one-line change.)
2024-05-05 00:20:09 +02:00
.github Merge pull request #7085 from bisq-network/dependabot/github_actions/gradle/gradle-build-action-3.3.2 2024-04-30 03:14:40 +00:00
.idea Enforce Official Kotlin Codestyle 2023-09-10 18:30:06 +02:00
apitest DevEnv: Make DEV_PRIVILEGE_PRIV_KEY private and add getter 2023-12-28 08:50:13 +01:00
assets Move hamcrest dependency definition to bisq.java-conventions 2023-05-08 17:51:05 +10:00
build-logic Add JUnit MockitoExtension library 2023-12-28 08:50:13 +01:00
cli Add API for payment started with XMR auto conf params. 2024-02-26 08:39:39 -06:00
code-coverage-report Create standalone code coverage aggregation module 2023-07-06 17:52:54 +02:00
common DevEnv: Add static getDevPrivilegePubKeys() method 2023-12-28 08:50:13 +01:00
core Merge pull request #7050 from devinbileck/scan-qr-code 2024-04-30 03:13:31 +00:00
daemon Add API for payment started with XMR auto conf params. 2024-02-26 08:39:39 -06:00
desktop Parallelise signature checking in VoteResultView.doFillCycleList() 2024-05-05 00:20:09 +02:00
docs Extract 3 sections from the release notes as markdown pages. 2023-07-24 23:43:01 +02:00
gradle Restore QR code scanner feature for mobile notification pairing 2024-04-01 21:52:40 -07:00
p2p Increase MAX_REPEATED_REQUESTS from 20 to 30 and in case we are a seed node to 100. 2024-04-01 14:50:59 +07:00
persistence persistence: Implement RollingBackups 2024-02-26 08:39:21 +01:00
platform Declare global protobuf-java in Java Platform Plugin 2023-07-06 18:18:59 +02:00
proto Add API for payment started with XMR auto conf params. 2024-02-26 08:39:39 -06:00
regtest Create regtest-mempool docker-compose 2023-12-30 07:56:42 +01:00
scripts seednode: Install openjdk-11-jdk from OS repository 2023-10-31 16:52:15 +01:00
seednode seednode: Update BISQ_ENTRYPOINT 2023-12-15 09:44:15 +01:00
statsnode Use onDataReceived instead of onUpdatedDataReceived for considering p2p network state as initialized 2023-11-19 14:47:52 +07:00
.editorconfig Do not strip trailing whitespace in Git diffs 2020-01-10 19:48:26 +01:00
.gitattributes Not use git lfs anymore 2022-09-15 09:21:37 +02:00
.gitignore .gitignore: Exclude regtest data directories 2023-12-30 07:57:00 +01:00
.travis.yml Not use git lfs anymore 2022-09-15 09:21:37 +02:00
Bisq1_icon.svg Add project icon (can be used in Intellij for the project) 2023-12-10 11:23:19 +07:00
build.gradle Implement startBitcoindRegtest Gradle Task 2023-09-11 16:55:11 +02:00
CODEOWNERS Remove @cbeams as build and pricenode code owner 2020-06-28 11:23:36 +02:00
CONTRIBUTING.md Remove references to keybase and switch to Matrix 2022-02-02 16:57:06 +01:00
gradle.properties Enforce Gradle Dependency Verification 2022-12-06 21:21:39 +02:00
gradlew Update to Gradle 7.6.3 2023-10-17 00:25:21 +02:00
gradlew.bat Update to Gradle 7.6.3 2023-10-17 00:25:21 +02:00
LICENSE
Makefile Revert Makefile to e5aef09 2023-12-14 16:23:39 +01:00
pull_request_template.md
README.md Replace Travis build icon with the Github Actions svg 2022-04-12 17:57:12 +02:00
settings.gradle Create persistence module 2024-01-31 14:50:12 +01:00

Actions Status

What is Bisq?

Bisq is a safe, private and decentralized way to exchange bitcoin for national currencies and other digital assets. Bisq uses peer-to-peer networking and multi-signature escrow to facilitate trading without a third party. Bisq is non-custodial and incorporates a human arbitration system to resolve disputes.

To learn more, see the doc and video at https://bisq.network/intro.

Get started using Bisq

Follow the step-by-step instructions at https://bisq.network/get-started.

Contribute to Bisq

See CONTRIBUTING.md and the developer docs.