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

Update fip-0077.md specification #963

Conversation

ipfsforcezuofu
Copy link

@ipfsforcezuofu ipfsforcezuofu commented Mar 17, 2024

The specification has been updated to address previous feedback. And a formula for calculating the deposit amount has been drafted. In response to concerns about variable deposit amounts, it is proposed that the message for insufficient deposits will now specify the exact amount needed to meet the deposit requirement.

@ipfsforcezuofu
Copy link
Author

The specification has been updated to address previous feedback. And a formula for calculating the deposit amount has been drafted. In response to concerns about variable deposit amounts, it is proposed that the message for insufficient deposits will now specify the exact amount needed to meet the deposit requirement.

1 similar comment
@ipfsforcezuofu
Copy link
Author

The specification has been updated to address previous feedback. And a formula for calculating the deposit amount has been drafted. In response to concerns about variable deposit amounts, it is proposed that the message for insufficient deposits will now specify the exact amount needed to meet the deposit requirement.

@ipfsforcezuofu ipfsforcezuofu deleted the ipfsforcezuofu-patch-1 branch March 17, 2024 03:58
@ipfsforcezuofu ipfsforcezuofu restored the ipfsforcezuofu-patch-1 branch March 17, 2024 04:00
@luckyparadise
Copy link
Collaborator

Are you drafting a new FIP?

Please follow these guidelines to help ensure that your proposal is set up for success in the governance process.

Open a discussion topic

Changes to the Filecoin core protocol proceed through open discussion. Please open a new discussion topic in the FIPs repository discussion board and outline you motivation and proposal.

The FIP format is suitable for specifying a concrete protocol change for implementation, but your discussion post should describe more of the background and problem to be solved, outline a range of approaches and their tradeoffs, and invite participants to explore other solutions.

Historically, failing to gain some community buy-in before submitting a FIP has often resulted in rejected FIPs and much wasted effort.

Please use the template

Please draft your FIP by starting with an appropriate template file from templates directory. Do not significantly change the header table format or section headings.

Don't claim a FIP number

FIP numbers are allocated by the FIP editors when a draft is ready to be merged into the master branch. The editors coordinate to ensure allocations to in-flight drafts don't collide. Please do not allocate yourself a FIP number.

Name your file fip-my_draft_title.md (replacing the suffix with an abbreviated title) and leave "to be assigned" for the FIP number in the header table. A FIP editor will either inform you of the appropriate number, or insert it themselves when merging.

Please add your FIP to the README

The top-level README.md file contains a table of all FIPs. Please add yours there in the same PR that adds the FIP draft itself. Use XXXX for the FIP number until it is assigned by an editor.

Delete this guidance and describe your FIP

Once you've followed the guidance above and are ready to submit your FIP draft, please delete this text and replace it with a copy of the Abstract from your draft, and a link to the relevant discussion forum topic.

@ipfsforcezuofu could you delete the template text from the description box and include the details of this PR request there instead? I see you wrote it down as a comment but it will be more helpful if it is stated in the description box. Thanks!

@ipfsforcezuofu
Copy link
Author

thanks @luckyparadise
Please kindly check that PR description has been modified and that the template text has been removed.

Copy link
Member

@jsoares jsoares left a comment

Choose a reason for hiding this comment

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

I feel like the mechanisms are a bit underspecified, or at least lacking some rigour, but will let others opine. In the meantime, here are some formatting and clarity improvements.

- Proposed:
Require transfer a certain amount of money to the miner's account as locked reward, and the amount of this money depends on the pledge required to reach the network's block production threshold.
To combat spamming, a deposit reflecting the opportunity cost is proposed for each new miner creation, detailed as follows:
### Deposit Amount Calculation:
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
### Deposit Amount Calculation:
### Deposit Amount Calculation

### Deposit Amount Calculation:
The deposit amount will be based on a waterline storage deposit of 10t, defined in the MINIMUM_CONSENSUS_POWER constant.
This base amount will be multiplied by the sealing cost pledge, approximately 5.5 FIL/t as of 3/16/2024, as determined by StateMinerInitialPledgeCollateral. This reflects the economic conditions of the network.
### Vesting Schedule:
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
### Vesting Schedule:
### Vesting Schedule

This base amount will be multiplied by the sealing cost pledge, approximately 5.5 FIL/t as of 3/16/2024, as determined by StateMinerInitialPledgeCollateral. This reflects the economic conditions of the network.
### Vesting Schedule:
Deposited funds will be locked as rewards for 180 days, representing the opportunity cost and ensuring funds are temporarily inaccessible.
### Handling Deposit Discrepancies:
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
### Handling Deposit Discrepancies:
### Handling Deposit Discrepancies

Comment on lines +50 to +51
The deposit amount will be based on a waterline storage deposit of 10t, defined in the MINIMUM_CONSENSUS_POWER constant.
This base amount will be multiplied by the sealing cost pledge, approximately 5.5 FIL/t as of 3/16/2024, as determined by StateMinerInitialPledgeCollateral. This reflects the economic conditions of the network.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
The deposit amount will be based on a waterline storage deposit of 10t, defined in the MINIMUM_CONSENSUS_POWER constant.
This base amount will be multiplied by the sealing cost pledge, approximately 5.5 FIL/t as of 3/16/2024, as determined by StateMinerInitialPledgeCollateral. This reflects the economic conditions of the network.
The deposit amount will be based on a waterline storage deposit of 10 TiB, defined in the MINIMUM_CONSENSUS_POWER constant.
This base amount will be multiplied by the sealing cost pledge, approximately 5.5 FIL/TiB as of 3/16/2024, as determined by StateMinerInitialPledgeCollateral. This reflects the economic conditions of the network.

I suppose this is what you meant

Comment on lines +50 to +51
The deposit amount will be based on a waterline storage deposit of 10t, defined in the MINIMUM_CONSENSUS_POWER constant.
This base amount will be multiplied by the sealing cost pledge, approximately 5.5 FIL/t as of 3/16/2024, as determined by StateMinerInitialPledgeCollateral. This reflects the economic conditions of the network.
Copy link
Member

Choose a reason for hiding this comment

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

Is the final formula just MINIMUM_CONSENSUS_POWER x StateMinerInitialPledgeCollateral? If so, that should be clearly written as the text can be interpreted in different ways.

Require transfer a certain amount of money to the miner's account as locked reward, and the amount of this money depends on the pledge required to reach the network's block production threshold.
To combat spamming, a deposit reflecting the opportunity cost is proposed for each new miner creation, detailed as follows:
### Deposit Amount Calculation:
The deposit amount will be based on a waterline storage deposit of 10t, defined in the MINIMUM_CONSENSUS_POWER constant.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
The deposit amount will be based on a waterline storage deposit of 10t, defined in the MINIMUM_CONSENSUS_POWER constant.
The deposit amount will be based on a waterline storage deposit of 10TiB, defined in the MINIMUM_CONSENSUS_POWER constant.

To combat spamming, a deposit reflecting the opportunity cost is proposed for each new miner creation, detailed as follows:
### Deposit Amount Calculation:
The deposit amount will be based on a waterline storage deposit of 10t, defined in the MINIMUM_CONSENSUS_POWER constant.
This base amount will be multiplied by the sealing cost pledge, approximately 5.5 FIL/t as of 3/16/2024, as determined by StateMinerInitialPledgeCollateral. This reflects the economic conditions of the network.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
This base amount will be multiplied by the sealing cost pledge, approximately 5.5 FIL/t as of 3/16/2024, as determined by StateMinerInitialPledgeCollateral. This reflects the economic conditions of the network.
This base amount will be multiplied by the Initial Pledge, approximately 5.5 FIL/TiB as of 3/16/2024, as determined by StateMinerInitialPledgeCollateral. This reflects the economic conditions of the network.

The deposit amount will be based on a waterline storage deposit of 10t, defined in the MINIMUM_CONSENSUS_POWER constant.
This base amount will be multiplied by the sealing cost pledge, approximately 5.5 FIL/t as of 3/16/2024, as determined by StateMinerInitialPledgeCollateral. This reflects the economic conditions of the network.
### Vesting Schedule:
Deposited funds will be locked as rewards for 180 days, representing the opportunity cost and ensuring funds are temporarily inaccessible.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
Deposited funds will be locked as rewards for 180 days, representing the opportunity cost and ensuring funds are temporarily inaccessible.
Deposited funds will be locked 180 days, similar to a portion of block rewards are locked for 180 days before they are released to SP, representing the opportunity cost and ensuring funds are temporarily inaccessible.

Copy link

Choose a reason for hiding this comment

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

maybe we shouly released to miner

### Vesting Schedule:
Deposited funds will be locked as rewards for 180 days, representing the opportunity cost and ensuring funds are temporarily inaccessible.
### Handling Deposit Discrepancies:
If the deposit is insufficient, the user will be notified of the exact amount required to proceed.
Copy link
Member

Choose a reason for hiding this comment

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

This seems like a client implementation detail. For this spec, maybe consider to rephrase this as "Miner actor creation will fail if user fail to provide sufficient deposit."

Copy link
Author

Choose a reason for hiding this comment

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

@jennijuju thank you for your suggestion. I will modify the statement to reflect that miner actor creation will fail due to insufficient deposit, and I will also include details about the exact deposit amount required. This adjustment aims to address concerns regarding variable deposit amounts.

Deposited funds will be locked as rewards for 180 days, representing the opportunity cost and ensuring funds are temporarily inaccessible.
### Handling Deposit Discrepancies:
If the deposit is insufficient, the user will be notified of the exact amount required to proceed.
Surplus deposits will be refunded to the Storage Provider's (SP) balance, ensuring only the necessary funds are locked.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
Surplus deposits will be refunded to the Storage Provider's (SP) balance, ensuring only the necessary funds are locked.
Surplus deposits will be added to the Storage Provider's (SP) available balance, ensuring only the necessary funds are locked.

Copy link
Member

@anorth anorth left a comment

Choose a reason for hiding this comment

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

There's a lot more detail in filecoin-project/builtin-actors#1535. Some of this will need to be translated to the FIP as specification.

The deposit amount will be based on a waterline storage deposit of 10t, defined in the MINIMUM_CONSENSUS_POWER constant.
This base amount will be multiplied by the sealing cost pledge, approximately 5.5 FIL/t as of 3/16/2024, as determined by StateMinerInitialPledgeCollateral. This reflects the economic conditions of the network.
### Vesting Schedule:
Deposited funds will be locked as rewards for 180 days, representing the opportunity cost and ensuring funds are temporarily inaccessible.
Copy link
Member

Choose a reason for hiding this comment

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

Exactly 180 days as a cliff, or a ramped release? Is the proposal to use the existing vesting table data structure for this? That would be fine, but needs to be stated.

@ipfsforcezuofu
Copy link
Author

As suggested by @lucky N. _FF. The PR is closed for now and will be reopened once the implementation details are finalized.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants