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

[FIP]评估/调研 #5349

Closed
Tracked by #5332
Fatman13 opened this issue Oct 8, 2022 · 5 comments
Closed
Tracked by #5332

[FIP]评估/调研 #5349

Fatman13 opened this issue Oct 8, 2022 · 5 comments
Assignees
Labels
design Venus feature/system design issues Epic P1 High - we should be working on this now or in the immediate future

Comments

@Fatman13
Copy link
Contributor

Fatman13 commented Oct 8, 2022

No description provided.

@Fatman13 Fatman13 added P1 High - we should be working on this now or in the immediate future Epic design Venus feature/system design issues labels Oct 8, 2022
@Fatman13 Fatman13 moved this to In Progress in Venus Project Oct 8, 2022
@Fatman13 Fatman13 mentioned this issue Oct 8, 2022
45 tasks
@Fatman13 Fatman13 changed the title [FIP34]评估/调研 [FIP]评估/调研 Oct 8, 2022
@Fatman13
Copy link
Contributor Author

Fatman13 commented Oct 8, 2022

@diwufeiwen diwufeiwen self-assigned this Oct 8, 2022
@diwufeiwen
Copy link
Contributor

FIP0041 Forward Compatibility for PreCommit - enables a cleaner and easier transition to Programmable Storage Markets
FIP0044 Standard Message Authentication - enable metadata authentication for user defined actor

@diwufeiwen diwufeiwen moved this from In Progress to Done in Venus Project Oct 11, 2022
@diwufeiwen
Copy link
Contributor

FIP0041:
https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0041.md
https://github.com/filecoin-project/specs-actors/pull/1575
filecoin-project/builtin-actors#484

扇区证明协议要求提供商在pre-commit 提交扇区数据(UnsealedSectorCID,又名 CommD)。当前流程是间接这样做的:提供者在提交前提供交易 ID,然后矿工参与者通过要求内置市场参与者计算它来获取 UnsealedSectorCID。
这个方案之所以有效,是因为有一个built-in market actor,并且协议信任它来进行这个计算。

该提案让提供者在预提交期间直接提交到 UnsealedSectorCID。矿工参与者将确认这与交易 ID 匹配。交易将不会在预提交时指定(该参数将变得多余)。相反,构成该扇区的数据片段将在证明提交时声明(包含对 UnsealedSectorCID 的证明),并且这些片段 CID 可以推送到可以信任矿工参与者的市场合约。

type PreCommitSectorParams struct {
SealProof abi.RegisteredSealProof
SectorNumber abi.SectorNumber
SealedCID cid.Cid checked:"true" // CommR
SealRandEpoch abi.ChainEpoch
DealIDs []abi.DealID
Expiration abi.ChainEpoch
ReplaceCapacity bool // DEPRECATED: Whether to replace a "committed capacity" no-deal sector (requires non-empty DealIDs)
// DEPRECATED: The committed capacity sector to replace, and it's deadline/partition location
ReplaceSectorDeadline uint64
ReplaceSectorPartition uint64
ReplaceSectorNumber abi.SectorNumber
}

type SectorPreCommitInfo struct {
SealProof abi.RegisteredSealProof
SectorNumber abi.SectorNumber
SealedCID cid.Cid checked:"true" // CommR
SealRandEpoch abi.ChainEpoch
DealIDs []abi.DealID
Expiration abi.ChainEpoch
UnsealedCid *cid.Cid
}

type PreCommitSectorBatchParams struct {
Sectors []PreCommitSectorParams
}

type PreCommitSectorBatchParams2 struct {
Sectors []SectorPreCommitInfo
}

PreCommitSectorBatchParams2 未来使用的新方法,这个版本没有用到。

@diwufeiwen
Copy link
Contributor

FIP0044 Standard Message Authentication
https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0044.md
filecoin-project/builtin-actors#502

Filecoin 虚拟机的计划推出,将会有许多新的用户定义actors。目前唯一可以“验证”数据的actors是account actors——通过签名验证。该 FIP 实现:任何actors可以通过添加一个特殊的“身份验证”消息,以使得其他actors可以使用它来验证数据片段。

当前版本的改动,将AuthenticateMessage添加到内置的Account Actor中,并让Storage Market-Actor调用交易Client对象(本身也是Account)的这个方法验证签名,而不是直接验证签名。

var MethodsAccount = struct {
Constructor abi.MethodNum
PubkeyAddress abi.MethodNum
AuthenticateMessage abi.MethodNum
}{MethodConstructor, 2, 3}

type AuthenticateMessageParams struct {
Signature []byte
Message []byte
}

@diwufeiwen
Copy link
Contributor

对本次升级没有影响

@Fatman13 Fatman13 mentioned this issue Oct 21, 2022
38 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
design Venus feature/system design issues Epic P1 High - we should be working on this now or in the immediate future
Projects
Archived in project
Development

No branches or pull requests

2 participants