Commit graph

200 commits

Author SHA1 Message Date
Nodari Chkuaselidze
0f4767f1b6
covenant: set methods on covenant. 2023-10-20 12:50:38 +04:00
Rithvik Vibhu
02bb45dded
miner: default block version to chain calculated
reverts 5e20a5a which was meant to be temporary
2023-08-25 22:53:52 +05:30
Matthew Zipkin
235bf21c6c
miner: fix error messages for invalid options 2022-09-23 08:47:39 -04:00
Matthew Zipkin
a5278912ad
node/miner: remove covert signaling
Patial revert of 0603531e70
2021-11-03 13:45:16 -04:00
Christopher Jeffrey (JJ)
87981c6838
Merge pull request #585 from handshake-org/inflation-bug-fix
Inflation bug fix (covert->overt soft-fork)
2021-04-02 11:30:27 -07:00
Christopher Jeffrey
0603531e70
consensus: fix inflation bug pertaining to replacement name claims.
See https://handshake.org/notice/2020-04-02-Inflation-Bug-Disclosure.html
2021-04-02 10:44:06 -07:00
Christopher Jeffrey
5928e80b42
node/rpc: major fixes for getwork. 2021-03-30 23:47:34 -07:00
Christopher Jeffrey
6b98f2dfe6
miner: improve weight calculation for claims and airdrops. 2020-03-19 17:06:50 -07:00
Christopher Jeffrey
5e20a5aaaa
miner: temporarily disable softfork voting by default.
Several mainnet miners have been mistakenly voting on the RSA hardening
soft-fork. This is a result of pool software creating the template internally,
a la bstratum (i.e. not via getwork or getblocktemplate).

Until miner code either accounts for this or switches to GBT completely, we
should take measures to avoid this.
2020-02-19 05:03:25 -08:00
Anthony Liu
adc6632cbe
mining: fix 'aidrop' -> 'airdrop' typos 2020-02-19 00:49:06 -08:00
Christopher Jeffrey
74f2dfd19c
hsd: use bcrypto merkle module. 2020-01-31 05:56:08 -08:00
Christopher Jeffrey
2d64ed698b
miner: add claim and airdrop fees to reward. 2020-01-31 02:31:56 -08:00
Christopher Jeffrey
77dbe2987c
node/rpc: do not activate softforks with getwork. 2020-01-29 05:44:51 -08:00
Christopher Jeffrey
e68b77b8c8
block: cleanup new pow/header serialization. 2019-11-04 03:57:19 -08:00
Christopher Jeffrey
5a34dd6633
chain/block/mining: implement a more foolproof pow (WIP). 2019-11-04 03:57:19 -08:00
Christopher Jeffrey
f36670bd5d
hsd: ensure cryptographic randomness everywhere. fixes #107. 2019-04-01 06:25:41 -07:00
Christopher Jeffrey
9762b29922
covenants: implement mass name revocation safeguards. see #103.
This commit accomplishes a few things:

- The emergency soft-fork safe guards and on-chain mitigations described in
  #103 are implemented.
- Claimed names no longer expire within the reservation window, but are still
  revokable.
- We now track the registered and expired state of a name.
- In addition to the above, we track the total number of renewals.
- We no longer clear name data on expiration.
2019-04-01 06:25:40 -07:00
Christopher Jeffrey
5d8e6b20f9
airdrop: some minor fixes. add tests (finally). 2019-01-21 22:06:27 -08:00
Christopher Jeffrey
71cc2f071c
miner: fix block proofs for submitwork. 2019-01-21 22:06:26 -08:00
Christopher Jeffrey
40157aa468
hsd: several hard-forks.
- Change PoW to KMAC+BLAKE2b-256, remove Cuckoo Cycle.
- Change to a 10 minute block time (updates other constants,
                                    including the halving interval).
- Add `filterRoot` to block header.
- Add a separate witnessRoot.

The last change fixes our original misdesigned segwit, which made syncing a
non-witness chain more difficult than it needed to be. The previous design
merkelized the transaction itself and there was only one merkle root, which was
essentially a witness root. This required "witness data hashes" to be requested
for each block in a non-witness sync. Using a separate tree is just a better
design in the end.
2019-01-21 22:06:25 -08:00
Christopher Jeffrey
daf38ea4dd
airdrop: first attempt at airdrop proofs. 2018-12-02 15:56:50 -08:00
Christopher Jeffrey
016c487261
pkg: remove bn.js dependency. 2018-08-10 16:34:06 -07:00
Christopher Jeffrey
771c8d42aa
pkg: rename btc->ui. 2018-08-01 20:34:21 -07:00
Christopher Jeffrey
a03fcd1a23
pkg: rename to hsd. 2018-08-01 20:00:09 -07:00
Christopher Jeffrey
6d95d943e8
hskd: lint. 2018-08-01 17:58:31 -07:00
Christopher Jeffrey
75e58b052e
covenant: start moving methods onto the covenant object. 2018-08-01 17:55:37 -07:00
Christopher Jeffrey
b46abfb034
merkle: cleanup. 2018-08-01 11:52:35 -07:00
Christopher Jeffrey
6920520f6c
names: better dos limits. 2018-08-01 04:40:59 -07:00
Christopher Jeffrey
8a49ed432e
consensus: add MAX_BLOCK_OPENS. 2018-07-29 22:59:39 -07:00
Christopher Jeffrey
ea6d91ed53
covenants: commit to height on everything. 2018-07-27 09:08:15 -07:00
Christopher Jeffrey
ba8896712b
protocol: add rfc6962-2. 2018-07-25 11:59:39 -07:00
Christopher Jeffrey
bd0a971d84
merkle: use modified rfc6962 tree. 2018-07-19 17:48:47 -07:00
Christopher Jeffrey
d3d427837a
merkle: commit to leaf index. 2018-07-19 17:38:03 -07:00
Christopher Jeffrey
169da98147
pkg: update deps. remove build. 2018-07-19 05:40:48 -07:00
Christopher Jeffrey
afb98b6fcb
hskd: switch to %x argument in logger. 2018-07-15 10:47:14 -07:00
Christopher Jeffrey
d4782e0cc1
hskd: switch to buffer maps and structs. 2018-07-15 06:22:25 -07:00
Christopher Jeffrey
8ce798dda9
covenants: commit auction state to tree. add OPEN covenant. 2018-07-11 23:35:09 -07:00
Christopher Jeffrey
5b68bc0059
miner: enforce weight limit for claims. 2018-07-10 18:53:05 -07:00
Christopher Jeffrey
ddd06adbb7
wallet/db: improvements to auction state handling. 2018-07-10 16:23:52 -07:00
Christopher Jeffrey
e7e09c40c6
covenants: get claim tests passing. 2018-07-10 01:21:36 -07:00
Christopher Jeffrey
6bdd295067
claim-proofs: implement rsa hardening soft-fork. 2018-07-08 12:04:11 -07:00
Christopher Jeffrey
285ac862b7
consensus: implement permissionless claim proofs. 2018-07-07 16:33:56 -07:00
Christopher Jeffrey
674d1d6003
net: fix various p2p serialization issues. 2018-06-19 09:32:47 -07:00
Christopher Jeffrey
ab0be8498c
tx/consensus: use locktime granularity. 2018-06-19 03:36:38 -07:00
Christopher Jeffrey
2f9e64c39f
cpuminer: remove annoying log. 2018-06-17 03:10:49 -07:00
Christopher Jeffrey
390611fd13
hskd: switch to sha3 for pow hash. see #9. 2018-06-15 15:29:59 -07:00
Christopher Jeffrey
a3acced655
block: switch to a single merkle root. 2018-06-15 01:38:59 -07:00
Christopher Jeffrey
c1a3e013fd
tx: merkelized transaction ids. 2018-06-14 21:34:35 -07:00
Christopher Jeffrey
cf14a4781a
consensus: switch to rfc6962 tree. 2018-06-14 11:00:25 -07:00
Christopher Jeffrey
847dff3949
protocol/miner: officially move maxUpdates to consensus params. 2018-06-12 22:36:52 -07:00