-
Notifications
You must be signed in to change notification settings - Fork 1k
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
[Neo3] Witnesses should deny access to Verification and Invocation script onchain #1029
Comments
Ok, we got the blessing of master yoda here... so I'll put it ready-to-implement xD This is an easy task, good to invite new souls to interact :) Here's the specification:
After this is done, some stuff can be done on neo-devpack-dotnet too... basically remove Witness class and GetWitness call from Transaction. |
Easy to do? 😂 |
Pros and cons of this proposal? |
I only see pros. |
but what are the pros @igormcoelho? I also didn't understand the design. |
According to Erik's comment #1081 (comment) I think this will be resolved with these refactors |
I think we shouldn't give access to Verification or Invocation script on Neo3.
InvocationScript is already non-deterministic, and cut-off on Neo2, but Verification can also be not good to access, if we follow a "Neo SegWit" logic... If we use it on script, we need it to execute the script, so this ties us forever to maintaining that witness on blockchain.
If user really wants to handle VerificationScript, it should pass it manually on Entry (Script) to the contract, that takes the Hash160 and matches against a known witness.
It's much better for network optimizations (we can easily drop all Witnesses in short time periods).
The text was updated successfully, but these errors were encountered: