Skip to content

Releases: keep-network/keep-core

v0.9.1

11 Feb 19:36
3cb9d92
Compare
Choose a tag to compare
v0.9.1 Pre-release
Pre-release
  • Unicast transport support (#1262, #1336)
  • Client interfaces for random beacon and token staking (#1351)
  • Update of go-ethereum dependency to 1.9.10 (#1344)

v0.9.0

06 Feb 16:28
b76b418
Compare
Choose a tag to compare
v0.9.0 Pre-release
Pre-release
  • Bugfix: Could not add filter for channel failure during DKG channel initialization (#1187)
  • Bugfix: keep-clients "loose contract access" if the eth-tx node is cycled (#1057)
  • Update yellowpaper to reflect the content of RFCs (#935)
  • Reentrancy protection (#1261)
  • Stake delegation and undelegation adjustments (#932)
  • Authorizations in the upgrade scheme (#1072)
  • Authorization of operator contracts for slashing (#930)
  • Slashing scheme implementation (#805)
  • Reward for relay entry timeout tattletale (#1079)
  • Operator callback reimbursement in the operator contract (#1048)
  • npm audit fix smart contract dependencies (#1288)
  • libp2p transport layer encryption (#1327)
  • Eliminate the possibility of accepting late retransmission (#1279)
  • Validate if a peer is allowed to participate in threshold signature (#797)
  • libp2p buffers adjustments - improve message delivery rate (#1286)
  • Improve libp2p broadcast channel message delivery pipeline (#1328)
  • Increase active time for commitment and points validation phases of GJKR (#1326)
  • Remove idle states and wait delays from state machines (#1278)
  • Optimization of relay entry verification gas cost to not include the cost of creating new group (#1236)

Token Dashboard:

  • Beneficiary view (#1245)
  • Create Token Grant view should be only visible to KEEP token owner (#1268)

v0.8.0

16 Jan 16:10
7579548
Compare
Choose a tag to compare
v0.8.0 Pre-release
Pre-release
  • Bugfix: Group selection occasionally fails on Infura (#1247, #1238)
  • Bugfix: Group selection is not triggered again after a failure (#1249)
  • Retransmitter refinements - improve message delivery rate (#1251)
  • Adjust gas price for Ropsten (#1250)
  • Signing group member as a relay entry timeout tattletale (#1234)

Token Dashboard:

  • Pending transaction indicator (#1217)
  • Web3 connection status (#1224)
  • Layout reorganization (#1237)
  • Bugfix: Undelegation failure: _this.state.stakeBalance.sub is not a function (#1252)

Infrastructure:

  • Infrastructure for public testnet (#1074)

v0.7.0

13 Dec 13:56
408c460
Compare
Choose a tag to compare
v0.7.0 Pre-release
Pre-release
  • Bugfix: Do not allow to submit relay entry more than one time (#1226)
  • Bugfix: Message unmarshallers registered too late (#1218)
  • Bugfix: Relay entry verification gas cost peaks (#1212)
  • Bugfix: Failing DKG because of invalid detection of identical messages in network time cache (#1211)
  • Bugfix: Group is marked as stale too early (#1188)
  • Bugfix: Disk persistence failure during group archival (#1186)
  • Bugfix: Incorrect encoding of the previous entry and seed for signature (#1066)
  • Simplified stake delegation - no operator's signature is required (#1190)
  • Reduce operator contract size (#1140, #1095)
  • Upgrade go-ethereum version (#1139)
  • libp2p message retransmitter (#1138)
  • Ticket packing (#1136)
  • Increase group size to 64 members (#1112)
  • Optimized ticket selection algorithm (#1098)
  • Relay entry verification cost optimizations (#1096)
  • Optimize block times for public testnet (#1073)
  • Validate group member candidate stake during ticket submission (#1071)
  • Reject duplicate group member candidate tickets (#1067)
  • Solidity test execution time optimization (#1061)
  • Migrate to Go modules (#1051)
  • Multiple bootstrap nodes (#1047)
  • DKG: discard shares received from disqualified members (#1036)
  • DKG: reconstruct shares from inactive qualified members (#1035)
  • Split off pkg/chain/ethereum/ethutil to keep-common repo (#1012)
  • Configurable client's address to announce in the network (#1012)

Token Dashboard:

  • Refresh pending unstakes list after successful undelegation (#1181)
  • Block buttons/forms on pending user actions (#1180)
  • Upgrade web3 version (#1173)
  • Remove blinking become an operator component (#1158)
  • Access features by URL (#1157)
  • Support for multiple accounts (#1154)

Infrastructure:

  • Multi-bootstrap setup (#1142, #1201)
  • Staking dApp deployment (#1129)
  • Persist Storage.DataDir (#1064)
  • geth upgrade (#1090)
  • Do not stake relay request submitter (#1104)
  • Configurable LibP2P.Peers (#1110)
  • Fetch bucket object service account (#1161, #1160)
  • ETH miner to DeamonSet (#1185, #1189)

v0.6.0

09 Sep 11:38
312bfc2
Compare
Choose a tag to compare
v0.6.0 Pre-release
Pre-release

Changes in the release:

  • Bugfix: Incorrect group threshold when signing relay entry
  • Bugfix: Total number of groups must be greater than zero
  • Bugfix: Inactive and disqualified bytes arrays don't match the group size
  • Bugfix: Non-uniform distribution of group selection results
  • Bugfix: Incorrect seed for group selection and Pedersen commitment
  • Bugfix: Group can collude to provide desired input for signing
  • Token grants implementation
  • Basic NAT support
  • Timeout for a relay entry
  • Let to re-trigger genesis when the first group creation failed
  • Member inactivity test scenarios for DKG
  • OpenZeppelin upgrade to 2.3.0
  • Log the gas cost of contract calls
  • Test engine for DKG

v0.5.0

16 Jul 23:39
4e65b27
Compare
Choose a tag to compare
v0.5.0 Pre-release
Pre-release

Changes in the release:

  • Basic logging in the client
  • Serialize relay requests
  • Contract upgrade scheme implementation
  • Cleanup DKG result submission - there can be only one DKG in progress
  • Go-ethereum version upgrade
  • Keep client group membership state management
  • Contract callback for relay requests
  • Command-line interface to contracts
  • Stake delegation
  • Retry mechanism for network bootstrap
  • Support for concurrent relay requests in the off-chain thresholdsig protocol
  • Research: Token grant RFC
  • Timeout for a group selection
  • Infrastructure: Kube InitContainer keep-client configuration
  • Infrastructure: Kube InitContainer for ETH account create
  • Infrastructure: Kube InitContainer for ETH account unlock and stake

v0.4.0

15 May 11:29
6a3e612
Compare
Choose a tag to compare
v0.4.0 Pre-release
Pre-release

Changes in the release:

  • DKG on-chain result publication without voting
  • Group expiration by block age
  • Properly extract errors in case of contract function revert
  • Libp2p version upgrade
  • Message signature verification in libp2p
  • Update network security implementation RFC with libp2p security changes
  • Extract tECDSA to a separate repository
  • Switch from gossipsub to floodsub
  • Local chain stub test coverage improvements
  • Refactor DKG group membership code to allow for IA/DQ filtering in DKG P13
  • Bugfix: All handlers use the same name in the state machine
  • Bugfix: Dropped network messages
  • Bugfix: Broken handler unregistration in libp2p broadcast channel
  • Bugfix: Block counter drops notification about new mined blocks
  • Bugfix: Cannot fetch selected tickets right after ticket challenge timeout
  • Infrastructure: Circle: Get various js scripts running via Circle
  • Infrastructure: Truffle js scripts: Parallelize scripts that act on eth accounts
  • Infrastructure: Script to submit relay entry
  • Infrastructure: Keel implementation via Terraform
  • Infrastructure: Circle config upgrade + GCR auth
  • Infrastructure: Retrofit keep-dev keep-clients for standard image deployment
  • Infrastructure: keep-client toml/eth account data as config-maps POC

v0.3.0

20 Mar 14:32
6e677f7
Compare
Choose a tag to compare
v0.3.0 Pre-release
Pre-release

Notable changes in the release:

  • Support for relay requests
  • On-chain BLS signature verification
  • Support for threshold relay signing
  • Improved block wait times synchronization
  • Bugfix: "Could not find unmarshaller for relay/signature/share message type"

v0.2.0

18 Feb 12:03
7b0f78e
Compare
Choose a tag to compare
v0.2.0 Pre-release
Pre-release

Version 0.2.0 contains the implementation of the Distributed Key Generation for the threshold relay based on a protocol by Gennaro, Jarecki, Krawczyk and Rabin [GJKR]. GJKR is further based on Pedersen-VSS (verifiable secret sharing) [Ped]. For this implementation, GJKR has been modified to make protocol violations objectively attributable and remove the need for one-to-one messaging channels.

Notable changes in the release are:

  • Implemented a simplified group selection protocol (phase 1 and 2),
  • Each relay entry generates a new group. Each new group triggers DKG protocol,
  • Each newly registered group triggers submission of a new relay entry,
  • DKG protocol has been implemented up to phase 13,
  • Network messages are signed with peer's static key,
  • Each network peer needs to maintain a minimum stake of KEEP tokens.

[GJKR] Gennaro R., Jarecki S., Krawczyk H., Rabin T. (1999) Secure Distributed Key Generation for Discrete-Log Based Cryptosystems. In: Stern J. (eds) Advances in Cryptology — EUROCRYPT ’99. EUROCRYPT 1999. Lecture Notes in Computer Science, vol 1592. Springer, Berlin, Heidelberg

[Ped] Pedersen T.P. (1992) Non-Interactive and Information-Theoretic Secure Verifiable Secret Sharing. In: Feigenbaum J. (eds) Advances in Cryptology — CRYPTO ’91. CRYPTO 1991. Lecture Notes in Computer Science, vol 576. Springer, Berlin, Heidelberg