Skip to content

IPFS API with verification in enclave #70

Closed
@brenzi

Description

@brenzi

implement an API to ipfs which enables the STF to:

  • fetch a particular ipfs uri.
    • the content can be fetched by the untrusted worker, but the content multihash shall be verified inside the enclave
  • (optional) write content to ipfs

Gitcoin Bounty

design approach

  • please see: "a first version" comment below. not the most elegant, but pretty straight-forward.
  • Alternatively, you may suggest better approaches (like i.e. querying the IPFS node directly from within the enclave - might be less effort and more elegant (caveat: rust-ipfs-api doesn't support no_std yet!).

Please describe your preferred approach in this thread prior to implementing it!

dev environment

You can use our docker to emulate SGX in SW mode, so you don't need SGX enabled HW for this task

acceptance tests:

  • CI test passes
  • unit tests covering all introduced functions pass. in particular:
    • enclave STF queries IPFS content and fails if content isn't correct, passes if correct (matching IPFS hash)
    • must also work for contents larger than 256kB
  • integration test against real IPFS node passes (with similar tests to above)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions