[bisq-network/bisq] Provide ASIC resistant PoW scheme for BSQ swaps (PR #5858)
chimp1984
notifications at github.com
Fri Nov 26 18:38:39 CET 2021
Index: common/src/main/java/bisq/common/crypto/ProofOfWorkService.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/common/src/main/java/bisq/common/crypto/ProofOfWorkService.java b/common/src/main/java/bisq/common/crypto/ProofOfWorkService.java
--- a/common/src/main/java/bisq/common/crypto/ProofOfWorkService.java (revision e0595aa284ce18ab7602f1126d23014da336ef69)
+++ b/common/src/main/java/bisq/common/crypto/ProofOfWorkService.java (revision e0e70bd804fec36844987bc1a29051a24e3cbdc4)
@@ -19,9 +19,9 @@
import com.google.common.base.Preconditions;
+import java.util.Arrays;
import java.util.Optional;
import java.util.concurrent.CompletableFuture;
-import java.util.function.BiPredicate;
import lombok.Getter;
@@ -58,15 +58,13 @@
public boolean verify(ProofOfWork proofOfWork,
String itemId,
String ownerId,
- double controlDifficulty,
- BiPredicate<byte[], byte[]> challengeValidation,
- BiPredicate<Double, Double> difficultyValidation) {
+ double controlDifficulty) {
Preconditions.checkArgument(proofOfWork.getVersion() == version);
byte[] controlChallenge = getChallenge(itemId, ownerId);
- return challengeValidation.test(proofOfWork.getChallenge(), controlChallenge) &&
- difficultyValidation.test(proofOfWork.getDifficulty(), controlDifficulty) &&
+ return Arrays.equals(proofOfWork.getChallenge(), controlChallenge) &&
+ proofOfWork.getDifficulty() >= controlDifficulty &&
verify(proofOfWork);
}
}
Index: core/src/main/java/bisq/core/filter/FilterManager.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/core/src/main/java/bisq/core/filter/FilterManager.java b/core/src/main/java/bisq/core/filter/FilterManager.java
--- a/core/src/main/java/bisq/core/filter/FilterManager.java (revision e0595aa284ce18ab7602f1126d23014da336ef69)
+++ b/core/src/main/java/bisq/core/filter/FilterManager.java (revision e0e70bd804fec36844987bc1a29051a24e3cbdc4)
@@ -37,9 +37,9 @@
import bisq.common.app.Version;
import bisq.common.config.Config;
import bisq.common.config.ConfigFileEditor;
-import bisq.common.crypto.ProofOfWorkService;
import bisq.common.crypto.KeyRing;
import bisq.common.crypto.ProofOfWork;
+import bisq.common.crypto.ProofOfWorkService;
import org.bitcoinj.core.ECKey;
import org.bitcoinj.core.Sha256Hash;
@@ -58,7 +58,6 @@
import java.math.BigInteger;
-import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Date;
@@ -66,7 +65,6 @@
import java.util.List;
import java.util.Set;
import java.util.concurrent.CopyOnWriteArrayList;
-import java.util.function.BiPredicate;
import java.util.function.Consumer;
import java.lang.reflect.Method;
@@ -88,12 +86,6 @@
private static final String BANNED_SEED_NODES = "bannedSeedNodes";
private static final String BANNED_BTC_NODES = "bannedBtcNodes";
- private final BiPredicate<byte[], byte[]> challengeValidation = Arrays::equals;
- // We only require a new pow if difficulty has increased
- private final BiPredicate<Double, Double> difficultyValidation =
- (value, controlValue) -> value - controlValue >= 0;
-
-
///////////////////////////////////////////////////////////////////////////////////////////
// Listener
///////////////////////////////////////////////////////////////////////////////////////////
@@ -501,9 +493,7 @@
}
return service.get().verify(offer.getBsqSwapOfferPayload().get().getProofOfWork(),
offer.getId(), offer.getOwnerNodeAddress().toString(),
- filter.getPowDifficulty(),
- challengeValidation,
- difficultyValidation);
+ filter.getPowDifficulty());
}
public List<Integer> getEnabledPowVersions() {
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/bisq-network/bisq/pull/5858#issuecomment-980208402
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bisq.network/pipermail/bisq-github/attachments/20211126/8286a461/attachment.htm>
More information about the bisq-github
mailing list