Commit Graph

34 Commits

Author SHA1 Message Date
whyrusleeping
b7a89b56b3 more statticcheck! 2019-12-04 21:14:19 -08:00
Łukasz Magiera
adcda68d62 fix winner math 2019-12-03 00:18:27 +01:00
Łukasz Magiera
fd92b8f19a Type 256 differently 2019-12-02 23:49:41 +01:00
Łukasz Magiera
ab36a5aa04 wip fixing IsTicketWinner 2019-12-02 23:46:49 +01:00
Łukasz Magiera
aefd432422 actors: Fallback post progress 2019-11-28 13:46:56 +01:00
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