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

Verification Options for Substrate #1119

Closed
p5150j opened this issue Feb 21, 2023 · 7 comments
Closed

Verification Options for Substrate #1119

p5150j opened this issue Feb 21, 2023 · 7 comments
Assignees
Labels
blocked Blocked by another issue chore No feature changes Spike research / spike tech debt

Comments

@p5150j
Copy link
Collaborator

p5150j commented Feb 21, 2023

Security is hard to get right in blockchains. It's even harder to make sure that code is correct while still actively developing the product: code changes are frequent, requirements are changing, and the codebase is growing.

Explore options for verifying blockchain code, specifically for the Substrate blockchain framework to try to verify the code of the Interlay blockchain.

The tool should be integrated into the Rust toolchain (no DSLs)

Please see:
https://harz.dev/blog/rust-verification/

Timebox:
2 days.

@p5150j p5150j added chore No feature changes tech debt Spike research / spike labels Feb 21, 2023
@rlaferla
Copy link
Contributor

@rlaferla
Copy link
Contributor

I tried using Mirai and found no project issues, just issues with the dependencies. However, I am skeptical of the results and filed an issue with the Mirai project for confirmation. facebookexperimental/MIRAI#1206

@rlaferla
Copy link
Contributor

rlaferla commented Apr 20, 2023

I also tried using the Prusti extension for VSCode but was not able to because it was expecting the x86_64 version of OpenJDK but my system is an Apple Silicon m2 (arm64). I filed an issue with the Prusti project. viperproject/prusti-dev#1399. I will try the CLI version now.

@rlaferla
Copy link
Contributor

The Prusti cli generated only errors of type: [Prusti internal error] and [Prusti: unsupported feature]

@rlaferla rlaferla added the blocked Blocked by another issue label Apr 20, 2023
@rlaferla
Copy link
Contributor

@rlaferla
Copy link
Contributor

rlaferla commented Apr 20, 2023

A new one that I found and attempted to use but also didn't work.

Miri https://github.com/rust-lang/miri

@rlaferla
Copy link
Contributor

For Kani, I ran into the same issue as the blog article author:
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocked Blocked by another issue chore No feature changes Spike research / spike tech debt
Projects
None yet
Development

No branches or pull requests

2 participants