These commits are when the Protocol Buffers files have changed: (only the last 100 relevant commits are shown)
Commit: | 9b1786a | |
---|---|---|
Author: | Tomasz Slabon | |
Committer: | Tomasz Slabon |
Updated package structure
The documentation is generated from this commit.
Commit: | 36c20d2 | |
---|---|---|
Author: | Tomasz Slabon |
Added claim signature message
Commit: | d1f8cbe | |
---|---|---|
Author: | Tomasz Slabon | |
Committer: | Tomasz Slabon |
Added MovedFundsSweepProposal type
Commit: | f8bdbef | |
---|---|---|
Author: | Tomasz Slabon |
Removed wallet public key hash from moving funds proposal
Commit: | d943730 | |
---|---|---|
Author: | Tomasz Slabon |
Added moving funds message unmarshaling
Commit: | 33a1475 | |
---|---|---|
Author: | Lukasz Zimnoch |
Coordination message and marshaling machinery Here we implement the coordination message type along with all marshaling machinery necessary to transfer it over the wire.
Commit: | 8d48b64 | |
---|---|---|
Author: | Lukasz Zimnoch |
Remove DKG stop pill mechanism
Commit: | 95c219d | |
---|---|---|
Author: | Lukasz Zimnoch |
Rename the concept of "signing sync" to "signing done check"
Commit: | 35b89d3 | |
---|---|---|
Author: | Lukasz Zimnoch |
Improve marshaling of `signingSyncMessage` The `message` field is easier to manage if it is marshaled as bytes not string.
Commit: | 383304d | |
---|---|---|
Author: | Lukasz Zimnoch |
Marshaling code for `tecdsa.Signature`
Commit: | dea6b60 | |
---|---|---|
Author: | Lukasz Zimnoch |
Synchronize signing group members upon successful signing Here we implement a component that is meant to synchronize all signing group members once a signature is produced by the given attempt's participants. All signing group members (either participating or omitting the given attempt) must end up with the same signature and a common end block. This is crucial for serial signing.
Commit: | 0ad0b8c | |
---|---|---|
Author: | Lukasz Zimnoch |
Abstract the tECDSA signing announcer logic Here we abstract the tECDSA signing announcer and move it to the `pkg/protocol/announcer` package. This logic is generic and can be used by multiple interactive protocols.
Commit: | c65d659 | |
---|---|---|
Author: | Piotr Dyraga |
Identify stop pill by DKG seed or signed message The stop pill was sent in a broadcast channel and stopped all signing and key generation using that broadcast channel. This worked fine for key generation, because broadcast channel name for key generation is computed from the last block's hash. This did not work well for signing sometimes because there is one broadcast channel used for all attempts of signing. If there were two attempts running at the same time (e.g. multiple attempts of the previous signing and a new signing starting), the stop pill was stopping the slower signing protocol. With this change, each signing and DKG is uniquely identified. It was not a must for DKG but I thought it is good to stay consistent. The identification is based on DKG seed and message being signed. My first attempt was to use a session ID but the session ID is computed separately for each attempt and we want to stop the main loop, not just the given attempt.
Commit: | 675d20c | |
---|---|---|
Author: | Lukasz Zimnoch |
Introduce the signing attempt announcement message
Commit: | 5eae0ff | |
---|---|---|
Author: | Lukasz Zimnoch |
Add confirmation state at the end of ECDSA DKG So far, members' failures in the last state (finalization) of the ECDSA DKG could remain undetected by other participants as no explicit confirmation step was done after the result was produced. The result signature process that occurs after the DKG finalization is able to detect such a failures to some extent, only when the signatures count is lower than the group quorum parameter. Undetected DKG finalization failures lead to a spurious view regarding the wallet's state because some members considered as properly operating are actually inactive. Such inactive members are normally selected for the signing work despite being unable to participate in the protocol. That leads to multiple signing failures that must be compensated by the random retry algorithm. This extends the signature time abnormally. To mitigate that problem, we are extending the DKG finalization state to produce and exchange messages informing about successful finalization. We are also introducing a new confirmation state that occurs after the finalization and makes sure that all DKG participants selected for current DKG attempt sent a finalization message thus were able to produce the result.
Commit: | 6ede771 | |
---|---|---|
Author: | Lukasz Zimnoch |
Add session ID to the beacon DKG messages So far, the messages carrying information specific to a DKG instance were identified only by the sender ID. That can be problematic if multiple DKG instances occur in a short period of time. Due to network retransmissions, old DKG messages referring to a previous DKG instance may be handled by members listening for DKG messages specific for the currently executed DKG instance. If that scenario happens, group members can turn into an inconsistent state and break the protocol execution. As remediation, we are extending the DKG messages definitions by adding a session ID field that allows attributing the messages to a specific DKG instance. Then, the session ID can be used by group members to filter out all messages that does not belong to the currently processed DKG instance.
Commit: | e22944c | |
---|---|---|
Author: | Lukasz Zimnoch |
Add session ID to the beacon relay entry messages So far, the messages carrying signature shares specific to a relay entry request were identified only by the sender ID. That turned to be problematic if multiple relay entry requests target the same group in a short period of time. Due to network retransmissions, old shares messages referring to a previous entry request may be handled by members listening for share messages specific for the currently processed entry request. If that scenario happens, group members reject the wrong shares related to previous entry and produce log warnings. Although that case does not harm the protocol execution at the moment, it is generally error-prone and may lead to unpredictable consequences in the future. As remediation, we are extending the relay entry share message definition by adding a session ID field that allows attributing the message to a specific relay entry request. Then, the session ID can be used by group members to filter out all messages that does not belong to the currently processed relay entry request.
Commit: | 9196573 | |
---|---|---|
Author: | Piotr Dyraga |
Stop pill as a workaround for no consensus integration `StopPill` is a temporary workaround for a missing chain integration. When a group member is not selected for the current attempt of key generation or signing and there is no other member from the same client selected for the protocol execution, the member does not know what was the result of the protocol execution and if it completed or not. In other words, `defer cancelLoopCtx()` does not get executed and the member will stay hung on the block waiter, waiting for their turn. The `StopPill` is sent via broadcast channel on a successful protocol execution and tells all members waiting for their turn in the retry loop to stop because the result was produced.
Commit: | a1216a8 | |
---|---|---|
Author: | Jakub Nowakowski |
Marshal PaillierSK for PreParams The LocalPreParams struct from tss-lib defined a PaillierSK property. This property is generated for PreParams and is required for DKG execution. We need to marshal and unmarshal it to not loose the data.
Commit: | b63d061 | |
---|---|---|
Author: | Jakub Nowakowski |
Merge remote-tracking branch 'origin/main' into storage
Commit: | aa208e8 | |
---|---|---|
Author: | Lukasz Zimnoch |
Align field names in tECDSA protocol messages
Commit: | 4877dfc | |
---|---|---|
Author: | Jakub Nowakowski | |
Committer: | Jakub Nowakowski |
Implement pre params persistence We want to store the generated pre params on disk to use them after a client restarts. Here we implement the persistent storage for pre params. Once the preparams are generated they are stored on disk in the storage dir `work/preparams/` in a file named according to a template: `pp_<CREATION TIMESTAMP MS>_<HASH 7 characters>`. When the praparams are used by DKG they are deleted from the storage.
Commit: | 2cae2e8 | |
---|---|---|
Author: | Jakub Nowakowski |
Add `./` to go_package in .proto files The prefix is required by the protoc-gen-go ``` protoc-gen-go: invalid Go import path "pb" for "pkg/net/gen/pb/message.proto" The import path must contain at least one period ('.') or forward slash ('/') character. ```
Commit: | 79c1330 | |
---|---|---|
Author: | Lukasz Zimnoch |
TSS round nine for tECDSA signing Here we implement the TSS round nine for the tECDSA signing protocol. This round expects simple broadcast messages produced in round eight as input and produces a simple broadcast message as output.
Commit: | 0339e73 | |
---|---|---|
Author: | Lukasz Zimnoch |
TSS round eight for tECDSA signing Here we implement the TSS round eight for the tECDSA signing protocol. This round expects simple broadcast messages produced in round seven as input and produces a simple broadcast message as output.
Commit: | 2784be7 | |
---|---|---|
Author: | Lukasz Zimnoch |
TSS round seven for tECDSA signing Here we implement the TSS round seven for the tECDSA signing protocol. This round expects simple broadcast messages produced in round six as input and produces a simple broadcast message as output.
Commit: | a7606d8 | |
---|---|---|
Author: | Lukasz Zimnoch | |
Committer: | Lukasz Zimnoch |
TSS round six for tECDSA signing Here we implement the TSS round six for the tECDSA signing protocol. This round expects simple broadcast messages produced in round five as input and produces a simple broadcast message as output.
Commit: | 50bbe74 | |
---|---|---|
Author: | Lukasz Zimnoch |
TSS round five for tECDSA signing Here we implement the TSS round five for the tECDSA signing protocol. This round expects simple broadcast messages produced in round four as input and produces a simple broadcast message as output.
Commit: | 263650d | |
---|---|---|
Author: | Lukasz Zimnoch |
TSS round four for tECDSA signing Here we implement the TSS round four for the tECDSA signing protocol. This round expects simple broadcast messages produced in round three as input and produces a simple broadcast message as output.
Commit: | fa24962 | |
---|---|---|
Author: | Lukasz Zimnoch |
TSS round three for tECDSA signing Here we implement the TSS round three for the tECDSA signing protocol. This round expects aggregate messages produced in TSS round two as input. Each input message consists of encrypted parts intended for specific participants. The TSS round three produces a simple message as output. The output message has only the public broadcast part.
Commit: | c025b84 | |
---|---|---|
Author: | Lukasz Zimnoch | |
Committer: | Lukasz Zimnoch |
TSS round two for tECDSA signing Here we implement the TSS round two for the tECDSA signing protocol. This round expects aggregate messages produced in TSS round one as input. Each input message consists of a public broadcast part and encrypted parts intended for specific participants. The TSS round two produces an aggregate message as output. The output message has only the encrypted point-to-point parts and, unlike the previous round output, does not contain the public broadcast part.
Commit: | a4e17c9 | |
---|---|---|
Author: | Lukasz Zimnoch |
Remove unused field from beacon's EphemeralPublicKey protobuf
Commit: | d5703d7 | |
---|---|---|
Author: | Lukasz Zimnoch |
Components and setup of TSS round one for tECDSA signing Here we define all the required components (state, message, member, etc) for the TSS round one for tECDSA signing, and we implement the setup logic that is done upon switch from the symmetric key generation phase.
Commit: | b94cc86 | |
---|---|---|
Author: | Lukasz Zimnoch |
Ephemeral key exchange and symmetric key generation phases for tECDSA signing Here we introduce the two first phases of the tECDSA signing protocol that are about exchanging ephemeral keys and generating symmetric keys. Symmetric keys are meant to secure P2P communication in later phases of the protocol. Basically, the code was ported from the sibling `pkg/tecdsa/dkg` package that also uses those two phases at the beginning.
Commit: | 2093146 | |
---|---|---|
Author: | Tomasz Slabon |
Merge branch 'main' into dkg-result-submission-tbtc
Commit: | a8ee7dc | |
---|---|---|
Author: | Lukasz Zimnoch |
Merge branch 'main' into tbtc-dkg-retry # Conflicts: # pkg/tbtc/node.go # pkg/tecdsa/dkg/dkg.go
Commit: | 0236bad | |
---|---|---|
Author: | Tomasz Slabon |
Merge branch 'main' into dkg-result-submission-tbtc
Commit: | 5731d07 | |
---|---|---|
Author: | Tomasz Slabon | |
Committer: | Tomasz Slabon |
Added sessionID to resultSignatureMessage
Commit: | 900220d | |
---|---|---|
Author: | Tomasz Slabon |
Merge branch 'main' into dkg-result-submission-tbtc
Commit: | 7206caa | |
---|---|---|
Author: | Tomasz Slabon | |
Committer: | Tomasz Slabon |
Renamed message
Commit: | 2fd5cab | |
---|---|---|
Author: | Piotr Dyraga |
Move TSS pre-params marshalling code to dkg package TSS pre-params are important only for DKG. Also, the dkg package is where the pre-params pool lives.
Commit: | 7477db4 | |
---|---|---|
Author: | Lukasz Zimnoch |
Merge branch 'main' into tbtc-dkg-retry
Commit: | 8ff42ee | |
---|---|---|
Author: | Piotr Dyraga |
Use separate preparams pb type for LocalPreParams and LocalPartySaveData In 9c62fdd I promoted LocalPreParams to be defined outside of LocalPartySaveData. With this change, in 78dc79f, I could move LocalPreParams message to a separate file. This message is used by LocalPartySaveData and by PreParams that will be saved on disk. I was struggling with PrivateKey part: it is empty for PreParams (before DKG) and is filled for LocalPartySaveData. After consulting with @lukasz-zimnoch we decided to keep LocalPreParams as internal for LocalPartySaveData and introduce separate LocalPreParams without PrivateKey and use it as an internal message of PreParams. A little duplication seems to be a much smaller problem than introducing the additional complexity related to a field that can be in different states depending on the usage context. Protobuf definitions are meant to describe the shape of data and we think we should not have any details regarding how those data are processed (i.e. this field should be empty before DKG but filled after). Additionally, the structure with re-used pre-params can be error-prone, especially regarding the marshaling code.
Commit: | 5d505bb | |
---|---|---|
Author: | Lukasz Zimnoch |
Add `sessionID` to the `ephemeralPublicKeyMessage` Just like all other messages exchanged during ECDSA DKG, this message should have the `sessionID` as well. This way we guarantee that messages are not mixed between DKG retries.
Commit: | dd67596 | |
---|---|---|
Author: | Piotr Dyraga |
Introduced PreParams message definition in preparams.proto PreParams message will be serialized on disk. This way generated and not yet used pre-parameters will survive client restarts.
Commit: | 78dc79f | |
---|---|---|
Author: | Piotr Dyraga |
Extracted LocalPreParams pb definition to a separate file We want to store LocalPreParams on disk and we need to generate LocalPreParams PB type. Doing it ouside of the context of key.pb.go feels cleaner.
Commit: | 9c62fdd | |
---|---|---|
Author: | Piotr Dyraga |
Promote LocalPreParams pb type one level higher LocalPreParams has been promoted one level higher in protobuf definition - it is no longer embedded inside LocalPartySaveData. This will allow us to use LocalPreParams outside of the context of LocalPartySaveData.
Commit: | b165513 | |
---|---|---|
Author: | Tomasz Slabon | |
Committer: | Tomasz Slabon |
Merge branch 'main' into dkg-result-submission-tbtc
Commit: | e3791a7 | |
---|---|---|
Author: | Lukasz Zimnoch |
Simplify `tbtc.signer` marshaling
Commit: | 3dd6046 | |
---|---|---|
Author: | Lukasz Zimnoch |
Marshaling of `tbtc.wallet` and `tbtc.signer`
Commit: | 0d1f3b8 | |
---|---|---|
Author: | Lukasz Zimnoch |
Marshaling of `tecdsa.PrivateKeyShare` Here we add the code necessary for marshaling and unmarshaling of the `tecdsa.PrivateKeyShare` type. Most of it was directly ported from https://github.com/keep-network/keep-ecdsa/blob/main/pkg/ecdsa/tss/marshaling.go
Commit: | 0140017 | |
---|---|---|
Author: | Lukasz Zimnoch |
Rename `pkg/ecdsa` to `pkg/tecdsa` This package is actually about threshold-ECDSA. Renaming it seems to be a good move since we avoid confusion with native `crypto/ecdsa` package, and we will achieve a better naming of package types.
Commit: | f7fa0c7 | |
---|---|---|
Author: | Tomasz Slabon | |
Committer: | Tomasz Slabon |
Used ECDSA DKG result publishing functionalities
Commit: | 82b34b3 | |
---|---|---|
Author: | Tomasz Slabon | |
Committer: | Tomasz Slabon |
Added new state machine states for ECDSA DKG signing and submission
Commit: | 0a61cc7 | |
---|---|---|
Author: | Lukasz Zimnoch |
Implement TSS round three Adds the TSS round three phase to the ECDSA DKG state machine.
Commit: | 3221198 | |
---|---|---|
Author: | Lukasz Zimnoch |
Implement TSS round two Adds the TSS round two phase to the ECDSA DKG state machine.
Commit: | 1ca5fe0 | |
---|---|---|
Author: | Lukasz Zimnoch |
Adjust param id in the `EphemeralPublicKeyMessage` proto
Commit: | 5b75ec5 | |
---|---|---|
Author: | Lukasz Zimnoch |
Implement TSS round one Adds the TSS round one phase to the ECDSA DKG state machine.
Commit: | 9dbaa67 | |
---|---|---|
Author: | Lukasz Zimnoch | |
Committer: | Lukasz Zimnoch |
Store proper group operators on disk Since `RandomBeacon` contract stores the group members as a hash, each client should store the plain text group operators on disk in order to use them for future operations.
Commit: | 2fe0c16 | |
---|---|---|
Author: | Lukasz Zimnoch |
Remove the intermediary `relay` package This package is redundant and makes the structure more complicated. We get an opportunity and remove it.
Commit: | 635319a | |
---|---|---|
Author: | Tomasz Slabon | |
Committer: | Tomasz Slabon |
Removed unicast channel functionality Since unicast channels will not be used in client v2, all the unicast channel-related code was removed. Maintaing connections bewteen nodes using unicast channels would require opening too many channels. Broadcast channels will most likely be used instead.
Commit: | 1759f51 | |
---|---|---|
Author: | Piotr Dyraga |
Pass protocol identifier during the handshake There are two protocols run by Keep network: `keep-beacon` and `keep-ecdsa` both initiator and responder are expected to pass the protocol identifier during the handshake. This change lets to eliminate honest, misconfigured nodes from network they do not support.
Commit: | d6b0d35 | |
---|---|---|
Author: | Lukasz Zimnoch |
Remove unused Join protobuf message
Commit: | 51eed80 | |
---|---|---|
Author: | Lukasz Zimnoch |
Merge branch 'master' into signature-shares-validation
Commit: | 125b9a0 | |
---|---|---|
Author: | Lukasz Zimnoch |
Refactoring of NetworkMessage
Commit: | 5eb595c | |
---|---|---|
Author: | Lukasz Zimnoch |
Unicast channel message signing
Commit: | 13cf020 | |
---|---|---|
Author: | Piotr Dyraga | |
Committer: | Piotr Dyraga |
Sequence-number-based retransmissions Instead of computing a fingerpting for each received message (bottleneck) and using this fingerprint along with a retransmission counter to filter out duplicates (possibility of accepting the same message twice if order is flipped), we use per-channel sequence ID. This is faster and easier.
Commit: | 6d0c75d | |
---|---|---|
Author: | Lukasz Zimnoch |
Store computed group public key shares on disk
Commit: | bf44cc1 | |
---|---|---|
Author: | Piotr Dyraga |
Protobuf network message retransmission header changes 1. Renamed `retransmissionSequence` to `retransmission` and changed the type from int32 to uint32. It is not possible retransmission number can be negative so uint32 is better. 2. Removed checksum field. We do not want to trust the sender whether the checksum is correct and it reflects the message type and payload. We'd have to validate the checksum on the receiver side anyway. If the receiver needs to validate the checksum, there is no need to transfer it in the message from sender.
Commit: | da8355e | |
---|---|---|
Author: | Lukasz Zimnoch |
Extend message proto with checksum and sequence Added new fields in message proto in order to handle retransmission in a correct way.
Commit: | e1eebd9 | |
---|---|---|
Author: | Lukasz Zimnoch |
Rename DisqualifiedEphemeralKeysMessage Renamed DisqualifiedEphemeralKeysMessage to MisbehavedEphemeralKeysMessage. Also, some docs improved.
Commit: | cd69a93 | |
---|---|---|
Author: | Piotr Dyraga |
Eliminated relay entry SigningID from Go client In the previous commit we removed signing ID from the operator contract. We can have just one ongoing relay entry so we do not need additional identifier. Two changes require more detailed explanation: 1. In local.go, I removed the map of relay entries altogether. The validation we had was not up to date - only one group member submits the entry, it does not make sense to validate if all signatures on entries are the same because multiple entry submissions from the same group are not going to happen - this is validated in other tests. 2. In cmd/relay.go I removed the part capturing request ID. When we run relay command we are bound to one service contract and one operator contract. Since there can be only one relay entry processed, the fact that the relay request was accepted is enough to assume that the relay entry that is going to be produced is "ours".
Commit: | 3c84d71 | |
---|---|---|
Author: | Nik G |
Rename requestID to signingId
Commit: | cc25cf6 | |
---|---|---|
Author: | Piotr Dyraga |
Package thresholdsignature renamed to entry We are no longer doing only thresholdsignature there. We are preparing the new entry, signing it and publishing to the chain. Things that were changed additionally: - function CombineEntryToSign renamed to CombineToSign - File thresholdsignature.go renamed to entry.go - Function Execute renamed to SignAndSubmit
Commit: | 0216dba | |
---|---|---|
Author: | Piotr Dyraga |
Include request ID in SignatureShareMessage It is possible the same group may work on two or more relay entries at the same time. If that happens we need to be able to distinguish between SignatureShareMessages.
Commit: | 35234db | |
---|---|---|
Author: | Dmitry |
Merge branch 'master' into state-managment-disk-storage
Commit: | 32d7a68 | |
---|---|---|
Author: | Dmitry |
Adding `ThresholdSigner` to message.proto as a separate type - Split MembershipMessage to `Membership` and `ThresholdSigner` in message.proto - Added and modified tests to cover the above changes
Commit: | 8317a22 | |
---|---|---|
Author: | Dmitry |
Reorganizing group registry and adding marshalling functions - Restructured group registry packaged. Moved it to it's own package. - Added protobuff for Membership struct - Added marshalling functions around Membership in order to save it on disk
Commit: | 09e7f64 | |
---|---|---|
Author: | Raghav Gulati |
Remove net.NetworkEnvelope Since we'll no longer be signing network messages (we rely on libp2p's pubsub layer to do this), we no longer need an envelope. We can directly use the net.NetworkMessage directly.
Commit: | 95fe511 | |
---|---|---|
Author: | Raghav Gulati |
Remove unused fields in net.NetworkMessage
Commit: | 208b6a5 | |
---|---|---|
Author: | starsitar |
nbstrip process
Commit: | c4b15c8 | |
---|---|---|
Author: | starsitar |
git ipynb notebook cleanup using nbstripout
Commit: | a492d07 | |
---|---|---|
Author: | Piotr Dyraga |
dkg2 package directory renamed to dkg dkg2 was a temporary name when we've been developing a new version of our DKG protocol having the old dkg still in place. Now, after we fully switched to the new version we can do the rename.
Commit: | 90fc7b3 | |
---|---|---|
Author: | Piotr Dyraga |
Keep PeerShares message senderID as uint32 proto type
Commit: | 3c5d420 | |
---|---|---|
Author: | Piotr Dyraga |
Keep proto share map keys as uint32 We were previously marshalling gjkr.MemberID and member.Index to bytes or string. String type was used for map keys because array of bytes cannot be a map key. We no longer use bytes for serialization and in this commit we port string map keys to uint32 as well. This way, we have all sender/receiver proto representations consistent.
Commit: | dce6497 | |
---|---|---|
Author: | Piotr Dyraga |
Use uint32 proto type for threshold signature sender ID member.Index is a type aliast for uint32. We can use dedicated proto type for uint32 instead of serializing it to bytes.
Commit: | 027d7d1 | |
---|---|---|
Author: | Piotr Dyraga |
Use uint32 as proto type for sender/receiver ID marshalling gjkr.MemberID is member.Index which is a type aliast for uint32. We can use dedicated proto type for uint32 instead of serializing it to bytes.
Commit: | 489c1bd | |
---|---|---|
Author: | Jakub Nowakowski |
Revert "Update message sender index marshalling" This reverts commit 92d61a7ec449b37de443144d5d2ad5b3723e1a17. Appoach from GJKR might be wrong and we should change there protobuf to carry uint32 sender ID.
Commit: | 92d61a7 | |
---|---|---|
Author: | Jakub Nowakowski |
Update message sender index marshalling Marshall sender index to bytes and unmarshall it from bytes.
Commit: | 2692b1b | |
---|---|---|
Author: | Jakub Nowakowski | |
Committer: | Jakub Nowakowski |
Add public key to the message Public Key need to be broadcasted so receivers can verify the signature.
Commit: | 304aa42 | |
---|---|---|
Author: | Jakub Nowakowski |
Rename package to result
Commit: | efef66f | |
---|---|---|
Author: | Jakub Nowakowski |
Updated docs for the message
Commit: | 34f38e3 | |
---|---|---|
Author: | Jakub Nowakowski | |
Committer: | Jakub Nowakowski |
Extract code to separate package
Commit: | c1f47d4 | |
---|---|---|
Author: | Jakub Nowakowski |
Marshaling/Unmarshaling of hash signature message
Commit: | 843a639 | |
---|---|---|
Author: | Piotr Dyraga | |
Committer: | Piotr Dyraga |
Fix for threshold signature process We were comparing transport-level identifier against protocol-level identifier and that was wrong. Actually, we were even failing to cast transport-level identifier to protocol-level identifier before the actual comparison could take place.
Commit: | 7796fc7 | |
---|---|---|
Author: | Piotr Dyraga |
Removed interface for semi-unicast messages in channels After we removed possibility to register association between network and protocol identifier we can no longer send semi-unicast messages from protocol since there is no way to map protocol-level ID to network-level ID. What's more, the implementation of semi-unicast messaging wasn't perfect. Currently, we support only broadcast channels, so all messages, including those with recipient, were sent to all members who joined the channel. It was the responsibility of individual members to filter out messages once received (in protocol code) and those not properly filtered out could yield an error later. This is quite unexpected behaviour if we look only at the SendTo signature allowing to pass recipient's transport ID. For this reason, I removed SendTo method (currently unused by the way) and left only Send which does not accept recipient.
Commit: | d02fba0 | |
---|---|---|
Author: | Piotr Dyraga |
Removed Joint-Feldman implementation of DKG protocol We now use a new implementation based on GJKR protocol for DKG. Previous JF version is no longer used. We do not want to maintain unused code, especially that we can restore it from version control at any point in future, if needed.
Commit: | 01a4196 | |
---|---|---|
Author: | Piotr Dyraga |
Merge branch 'master' into state-machine
Commit: | 5d57b54 | |
---|---|---|
Author: | Piotr Dyraga |
Added new line to the end of the proto file
Commit: | 43418c7 | |
---|---|---|
Author: | Piotr Dyraga |
Marshalling mechanism for DisqualifiedEphemeralKeysMessage