oasisprotocol / oasisprotocol/oasis-core

For web3c, support a trusted group "environment"

Open
#1,244 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

c:registry p:2
Dominant language
Go
Stars
369
Forks
151
Avg merge
1d 3h
Merged PRs (30d)
6

Description

For the first step in implementing scheduler constraints, we probably want to enable 2 types of committees to run confidential smart contracts.

  1. SGX - schedule any machines with SGX
  2. Cloud groups - schedule machines within a certain "group". For example a hospital might not care about SGX, but want to make sure compute runs within specific machines.

Details

This means we are starting to dynamically schedule different types of compute committees within the same "runtime".

I'm defining web3 as the model where there is "public" data accessible to all outside parties viewable from an external interface.
I'm defining web3c as the model where data is kept secret to the "environment" defined by the contract's scheduling constraints. (e.g. SGX, or a trusted group)

Acceptance Criteria

  • We are scheduling appropriate committees to satisfy contract's constraints.
  • Web3c transactions/calls can be routed to the right committee based on the contract's constraints
  • We support SGX committees
  • We support committees of machines from certain "groups"
  • Compatible data models are linked by the same data structure. (currently we call this a "single runtime")

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no files, tests, or entry points. Begin by locating the scheduler-constraint and committee-routing entry points, then trace how SGX and trusted groups could fit the single-runtime data model; done means satisfying the stated committee selection, transaction routing, and compatibility criteria.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
blockchain
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.