Можем ли мы использовать анклав SGX для выполнения потока в Corda? - PullRequest
0 голосов
/ 06 декабря 2018

Я некоторое время изучал Corda, но я новичок в SGX.

Насколько я исследовал, анклав SGX может помочь нам выполнить транзакцию во многих подходах, запустивмодифицированная JVM внутри анклава.Поэтому код, который выполняется внутри анклава, должен быть кодом контракта для проверки транзакции.Пожалуйста, исправьте меня, если я ошибаюсь.

Мне было интересно, возможно ли изменить код с кода контракта на код потока, который будет выполняться в анклаве?Я действительно считаю, что сеанс потока был бы огромным ограничением для реализации, но возможно ли использовать тот же канал / метод, что и для удаленной аттестации, для осуществления связи вместо исходного сеанса потока?

1 Ответ

0 голосов
/ 12 декабря 2018

Гораздо сложнее запускать код потока внутри анклава, чем код подтверждения контракта, потому что код потока намного менее ограничен.Он может делать все, что может делать платформа Java хоста.С другой стороны, SGX - это необычная среда, в которой по умолчанию ничего не работает (нет доступа к операционной системе), поэтому каждый запрос должен проходить через специальный интерфейс ECALL / OCALL.И это не тривиально, потому что операционная система не заслуживает доверия, так что вы не можете просто создать простой ретранслятор системных вызовов (ну, люди пытались).Все должно быть зашифровано, аутентифицировано и т. Д.

Цель нашей работы в SGX - позволить людям запускать все больше и больше логики в анклаве, а также разрабатывать приложения "анклавов", которые неКорда конкретная и может заниматься другими делами.Таким образом, мы доберемся туда, но это может не выглядеть как бегущие потоки полностью внутри анклава.

...