Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Signature Aggregation #210

Closed
wants to merge 14 commits into from
Closed
Show file tree
Hide file tree
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion actors.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,8 @@ Parameters:

Return: None

All references to `VaidateSignature` must implement the `Signature` interface found [here](https://github.com/filecoin-project/specs/blob/master/signatures.md).

```go
func SlashConsensusFault(block1, block2 BlockHeader) {
if block1.Height != block2.Height {
Expand Down Expand Up @@ -440,7 +442,7 @@ Note: this is unlikely to ever be called on-chain, and will be a very large amou

### ArbitrateDeal

This may be called by anyone to penalize a miner for dropping the data of a deal they committed to before the deal expires. Note: in order to call this, the caller must have the signed deal between the client and the miner in question, this would require out of band communication of this information from the client to acquire.
This may be called by anyone to penalize a miner for dropping the data of a deal they committed to before the deal expires. Note: in order to call this, the caller must have the signed deal between the client and the miner in question, this would require out of band communication of this information from the client to acquire. All references to `VaidateSignature` must implement the `Signature` interface found [here](https://github.com/filecoin-project/specs/blob/master/signatures.md).

Parameters:
- deal Deal
Expand Down
2 changes: 1 addition & 1 deletion mining.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ Chain selection is a crucial component of how the Filecoin blockchain works. Eve

### Block Validation

The block structure and serialization is detailed in [the datastructures spec](data-structures.md#block). Check there for details on fields and types.
The block structure and serialization is detailed in [the datastructures spec](data-structures.md#block). Check there for details on fields and types. All references to `VaidateSignature` must implement the `Signature` interface found [here](https://github.com/filecoin-project/specs/blob/master/signatures.md).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This addition is confusing. Why not just say that signature validation is covered in detail in the signature spec?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a good point. I've been mulling over how to best represent that ValidateSignature must use the verification method in signatures.md. The current phrasing is confusing b/c it should read: "Block implements the Signature interface" and ValidateSignature --> Block.Verify(SignedMessage_Block, PublicKey). in this case, the internal block messages would be represented as a single value (hashed), SignatureBytes would be the actual signature of the message and Address would be the address of the block proposer.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we also need a place that implements verification of the aggregated signatures, e.g. a method like VerfiyAggregates([]Message, SignatureBytes) bool for use inside the block validation.


In order to validate a block coming in from the network at round `N` was well mined a miner must do the following:

Expand Down
Loading