Skip to content
This repository has been archived by the owner on Jun 23, 2021. It is now read-only.

Latest commit

 

History

History
executable file
·
35 lines (29 loc) · 2.58 KB

BENCHMARK.md

File metadata and controls

executable file
·
35 lines (29 loc) · 2.58 KB

Benchmark

ops call_counter_wasm call_counter no compose_extrinsic msg decryption counter update sgx_file_read counter update + no_ops ocall
ecall
sgx::fs::read (rsa key)
rsa msg decryption
wasm sha256 computation
wasm invokation
std::file::read
sgx::fs::read (aes key)
aes decryption
aes decryption
std::file::write
no_ops_ocall
compose extrinsic
invokations/s 332 342 365 400 5000 8196 4587
  • call_counter represents the operations that are performed in a milestone 1 counter state update.
  • call_counter_wasm represents the operations that are performed in a milestone 2 counter state update.
  • sgx::fs::read: an SGX call that accesses the sealed enclave storage which is only readable by one specific enclave instance.
  • ecall general entry point from the host system to an enclave.
  • no_ops_ocall: an ocall (a call from the enclave to the host) that does nothing in order to see the impact of an ocall itself.
  • invokations/s: stands for the number of executions per seconds that can be achieved. This does roughly correspond to tx/s.

Analysis

  • RSA decryption is by far the most expensive step in the whole pipeline. This, however, is hard to migitate as long as no more efficient asymmetric encryption exists.
  • The effect of sgx::fs::read does only have a small impact.
  • wasm invokation's impact is negligible
  • If the current RSA de/-encryption process is optimized, >1000 tx/s, is achievable.

Testsetup

All tests have been performend on an Intel NUC NUC8i3BEH2, Bean Canyon i3-8109U 3.0 GHz.