A decentralized bitcoin exchange network
Find a file
Steven Barclay 266a7ccea4
Add+enable service to mint/verify Equihash proofs of work
Add an abstract base class, 'ProofOfWorkService', for the existing PoW
implementation 'HashCashService' and a new 'EquihashProofOfWorkService'
PoW implementation based on Equihash-90-5 (which has 72 byte solutions &
5-10 MB peak memory usage). Since the current 'ProofOfWork' protobuf
object only provides a 64-bit counter field to hold the puzzle solution
(as that is all Hashcash requires), repurpose the 'payload' field to
hold the Equihash puzzle solution bytes, with the 'challenge' field
equal to the puzzle seed: the SHA256 hash of the offerId & makerAddress.

Use a difficulty scale factor of 3e-5 (derived from benchmarking) to try
to make the average Hashcash & Equihash puzzle solution times roughly
equal for any given log-difficulty/numLeadingZeros integer chosen in the
filter.

NOTE: An empty enabled-version-list in the filter defaults to Hashcash
(= version 0) only. The new Equihash-90-5 PoW scheme is version 1.
2021-12-07 09:35:44 +01:00
.github Print dependency report if failure 2021-11-25 11:06:28 +01:00
.idea Rename :protodefintion subproject to :proto 2020-03-26 17:37:37 +01:00
apitest Add official Java 15 support 2021-11-25 11:06:27 +01:00
assets/src Changes required for GRIN re-listing 2021-11-10 14:23:04 -06:00
cli/src Remove white space 2021-11-07 14:19:38 -03:00
common/src Add+enable service to mint/verify Equihash proofs of work 2021-12-07 09:35:44 +01:00
core Add+enable service to mint/verify Equihash proofs of work 2021-12-07 09:35:44 +01:00
daemon/src Remove code which is already in superclass 2021-11-24 09:48:12 +01:00
desktop Add PoW version(-list) fields to ProofOfWork & Filter 2021-12-07 09:35:43 +01:00
docs Improve release build documentation 2021-11-25 11:06:29 +01:00
gradle Fix guava dependency issue 2021-11-21 17:37:25 +01:00
inventory/src/main Move Utilities.objectToJson to JsonUtil.objectToJson 2021-11-02 16:18:50 +01:00
monitor Cleanups 2021-10-21 10:12:57 +02:00
p2p/src Code cleanup: replace (Bi)Function<..,Boolean> with (Bi)Predicate<..> 2021-12-07 09:35:41 +01:00
pricenode Upgrade to Gradle 7.3 2021-11-13 12:09:22 +01:00
proto/src/main/proto Add PoW version(-list) fields to ProofOfWork & Filter 2021-12-07 09:35:43 +01:00
relay Bump version number for v1.8.0 2021-11-19 18:35:56 +01:00
scripts Merge branch 'master' of github.com:bisq-network/bisq into release/v1.6.3 2021-05-07 10:33:45 +02:00
seednode Enforce inclusion of TradeLimits for headless apps 2021-11-24 09:48:00 +01:00
statsnode/src/main Enforce inclusion of TradeLimits for headless apps 2021-11-24 09:48:00 +01:00
.editorconfig Do not strip trailing whitespace in Git diffs 2020-01-10 19:48:26 +01:00
.gitattributes Add git lfs support for BsqBlocks in resources 2021-11-09 17:22:35 +01:00
.gitignore Git-ignore apitest dao-setup files 2021-01-28 14:21:30 -03:00
.travis.yml Update travis config to Java 11 2021-02-01 18:03:26 +01:00
build.gradle Fix guava dependency issue 2021-11-21 17:37:25 +01:00
CODEOWNERS Remove @cbeams as build and pricenode code owner 2020-06-28 11:23:36 +02:00
CONTRIBUTING.md Switch old docs links to wiki links 2021-04-27 16:29:14 -04:00
gradle.properties Build: Change default console to plain 2021-05-25 08:59:10 +02:00
gradlew Upgraded Gradle to v6.6.1 2020-09-17 01:59:51 +02:00
gradlew.bat Upgraded Gradle to v6.6.1 2020-09-17 01:59:51 +02:00
LICENSE add basic wallet, update nav buttons, move unused img 2014-04-24 16:55:55 +02:00
Makefile Update link to OpenJDK archive 2021-04-23 10:31:11 +02:00
pull_request_template.md Added a Pull Request template 2019-11-27 13:46:54 +01:00
README.md jdk10 is no longer needed to build and run the test suite 2019-08-14 18:11:57 +02:00
settings.gradle Add inventory module 2020-10-23 01:17:32 -05:00

Bisq

Build 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.