whyrusleeping
96482f456a
WIP: election post restructuring
2019-11-21 16:21:45 -06:00
whyrusleeping
c4564c0597
use proper round number, allow block signature to be nil
2019-11-20 10:54:10 -06:00
whyrusleeping
f8eabd3db4
Refactor mining logic to match specs ticket chain
2019-11-20 10:52:36 -06:00
whyrusleeping
b77bb9e4aa
Audit pass for blatantly wrong panics
2019-11-16 17:41:14 -06:00
Łukasz Magiera
814e01cc05
gofmt
2019-11-09 01:18:32 +01:00
Steven Li
9a5adfed3a
change with @Kubuxu's comment
2019-11-01 08:56:15 +08:00
Steven Li
85854578d1
Update chain/types/blockheader.go
...
Co-Authored-By: Łukasz Magiera <magik6k@users.noreply.github.com>
2019-10-31 16:44:26 +08:00
Steven Li
0aa56ba665
Refactor the PowerCmp function
...
Why we have this:
This algorithm here directly follow the rule of ratio to win, and easier to understand.
Just think about a smaller space, e.g. 100, instead of 2^256.
When one miner has 10% power, it should have 10% ratio to win. that is, when the h is in {0..9}, it wins. Simply speaking, it is:
(h + 1) / 100 <= 10% , instead of
h / 99 < 10%
The former is easier to understand, though both are equivalent when h is an integer and power_ratio < 1)
2019-10-31 13:36:33 +08:00
Łukasz Magiera
e98feb4a39
fix PowerCmp
2019-10-28 21:28:01 +01:00
Jakub Sztandera
563c0e494e
Use div-free EC power selection function
...
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-10-28 20:01:10 +01:00
Łukasz Magiera
6d766ab241
Set e=3
2019-10-28 19:22:40 +01:00
Jakub Sztandera
1bf713cb0a
Cleanup imports after rename
...
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-10-18 13:47:41 +09:00
whyrusleeping
ab6ef85b6d
More tracing!
2019-10-16 19:24:33 +09:00
whyrusleeping
19b16077fe
remove VDFs from tickets
2019-10-09 13:38:59 +09:00
whyrusleeping
1419031f1e
switch to parent state roots
2019-10-01 15:21:01 -06:00
whyrusleeping
317e83a410
fix sync tests by sorting tipsets
2019-10-01 12:47:42 -06:00
Łukasz Magiera
5ce15bfaf4
types: Less/GreaterThan for bigints
2019-09-23 19:11:44 +02:00
whyrusleeping
fe020d9fd1
implement SlashConsensusFault
2019-09-19 22:23:24 -07:00
whyrusleeping
c7ad08c565
check block signatures during sync
2019-09-11 13:12:49 -07:00
whyrusleeping
74f68dc630
perform tipset expansion on sync and fix tipset comparison
2019-09-09 19:14:27 -07:00
whyrusleeping
ed45d1c2b4
refactor state utilities into StateManager package, implement proper election proofs
2019-09-09 19:14:00 -07:00
whyrusleeping
6e21372ccb
initial refactor for creating tipsets with multiple parents
2019-09-09 19:12:32 -07:00
whyrusleeping
ccdc1575d6
add signatures to blocks
2019-08-26 17:46:39 -07:00
whyrusleeping
8dd16e3bed
some cleanup post PR submission
2019-08-22 12:53:32 -07:00
whyrusleeping
7eb89f90d1
Replace most marshaling with codegen
2019-08-22 12:53:32 -07:00
whyrusleeping
53be71fb73
Start using codegen
2019-08-22 12:53:32 -07:00
whyrusleeping
e9d1f3e7c9
WIP: base mining on power and VRFs
2019-08-16 12:39:12 -07:00
whyrusleeping
dc7c0fcabe
refactoring to accomodate the bls message changes in the spec
2019-08-01 18:19:22 -07:00
whyrusleeping
e09ad3d65c
Refactor out more types into types package, and pull genesis block code into gen package
2019-07-25 16:35:47 -07:00