Open
Conversation
…ize函数,将再次给header.Time赋值,使得state状态不一样,从而产生分叉.模拟重现,部署智能合约,合约中调用now()函数给变量赋值,由于now()函数取值为header.Time值,使得打包块打包的header.Time值与验证时header.Time值不一样,从事验证时stateRoot验证不通过,产生bad block从而分叉. 2. 指针赋值发生浅拷贝.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
给header.Time赋值时如果在Finalize函数中,在收到远端挖出的块的时候,会在验证state的时候也会再次调用Finalize函数,将再次给header.Time赋值,使得state状态不一样,从而产生分叉.模拟重现,部署智能合约,合约中调用now()函数给变量赋值,由于now()函数取值为header.Time值,使得打包块打包的header.Time值与验证时header.Time值不一样,从事验证时stateRoot验证不通过,产生bad block从而分叉.
指针赋值发生浅拷贝赋值.