All Projects → skalenetwork → sgxwallet

skalenetwork / sgxwallet

Licence: AGPL-3.0, BSD-3-Clause licenses found Licenses found AGPL-3.0 LICENSE BSD-3-Clause INTEL_SGX_LICENSE
sgxwallet is the first-ever opensource high-performance hardware secure crypto wallet that is based on Intel SGX technology. First opensource product on Intel SGX whitelist. Scales to 100,000+ transactions per second. Currently supports ETH and SKALE, and will support BTC in the future. Sgxwallet is under heavy development and use by SKALE network.

Programming Languages

C++
36643 projects - #6 most used programming language
shell
77523 projects
c
50402 projects - #5 most used programming language
Makefile
30231 projects
M4
1887 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to sgxwallet

gotham-city
Gotham city is a fully functional project to demonstrate real-life example of minimalist Bitcoin decentralized HD wallet using 2 party ECDSA
Stars: ✭ 109 (+118%)
Mutual labels:  ecdsa, wallet
SecretNetwork
𝕊 The Secret Network
Stars: ✭ 466 (+832%)
Mutual labels:  sgx, proof-of-stake
multizone-linux
MultiZone® Security Enclave for Linux
Stars: ✭ 18 (-64%)
Mutual labels:  trusted-computing, trusted-execution-environment
greenpass-android
Green Pass PDF Wallet Android App
Stars: ✭ 29 (-42%)
Mutual labels:  wallet
algorand-wallet
Source code for Pera Wallet, simply the best Algorand wallet.
Stars: ✭ 152 (+204%)
Mutual labels:  wallet
cryptaddress.now
A minimal service to detect which cryptocurrency an address corresponds to.
Stars: ✭ 23 (-54%)
Mutual labels:  wallet
alan.dart
Pure Dart library allowing you to easily integrate with any Cosmos-based chain.
Stars: ✭ 23 (-54%)
Mutual labels:  proof-of-stake
btclib
btclib: a python3 library for 'bitcoin cryptography'
Stars: ✭ 60 (+20%)
Mutual labels:  ecdsa
BoAT-X-Framework
BoAT-X Blockchain Application Framework for IoT
Stars: ✭ 814 (+1528%)
Mutual labels:  wallet
Crypto-Wallet
Open source SHA-512 loginless bitcoin wallet
Stars: ✭ 24 (-52%)
Mutual labels:  wallet
minter-go-sdk
Minter Blockchain Golang SDK, 💳 wallet, 🧾 transactions, gRPC and HTTP clients 🌐 https://t.me/MinterGoSDK
Stars: ✭ 12 (-76%)
Mutual labels:  wallet
data exchange
Data exchange Client including wallet
Stars: ✭ 36 (-28%)
Mutual labels:  wallet
BitBruteForce-Wallet
No description or website provided.
Stars: ✭ 142 (+184%)
Mutual labels:  wallet
Best
Gifts for Programmers
Stars: ✭ 22 (-56%)
Mutual labels:  wallet
mobileid
Mobile ID Sample Scripts
Stars: ✭ 13 (-74%)
Mutual labels:  ecdsa
ethmerge.com-content
Markdown formatted content for the ethmerge.com website.
Stars: ✭ 29 (-42%)
Mutual labels:  proof-of-stake
wallet-adapter
Modular TypeScript wallet adapters and components for Solana applications.
Stars: ✭ 964 (+1828%)
Mutual labels:  wallet
inclavare-containers
A novel container runtime, aka confidential container, for cloud-native confidential computing and enclave runtime ecosystem.
Stars: ✭ 510 (+920%)
Mutual labels:  sgx
speckle-browser-extension
Universal browser extension for Web 3 and the Polkadot ecosystem
Stars: ✭ 28 (-44%)
Mutual labels:  wallet
noble-secp256k1
Fastest JS implementation of secp256k1. Independently audited, high-security, 0-dependency ECDSA & Schnorr signatures.
Stars: ✭ 313 (+526%)
Mutual labels:  ecdsa

sgxwallet: SKALE SGX-based hardware crypto wallet

Discord CII Best Practices

Intro

sgxwallet is a next generation hardware secure crypto wallet that is based on Intel SGX technology. It currently supports Ethereum and SKALE, and will support Bitcoin in the future.

sgxwallet runs as a network server. Clients connect to the server, authenticate to it using TLS 1.0 protocol with client certificates, and then issue requests to the server to generate crypto keys and perform cryptographic operations. The keys are generated inside the secure SGX enclave and never leave the enclave unencrypted.

The server provides an initial registration service to issue client certificates to the clients. The administrator manually approves each registration.

sgxwallet has been tested on Ubuntu Linux 18.04.

An important note about production readiness

The sgxwallet server is still in active development and therefore should be regarded as alpha software. The development is still subject to security hardening, further testing, and breaking changes. This server has not yet been reviewed or audited for security. Please see SECURITY.md for reporting policies.

Build, test and push sgxwallet container Build, test and push sim mode container

Running sgxwallet

Clone this repo

As you probably suspect, the first thing to do is to clone this repository and all it is sub-repositories.

git clone https://github.com/skalenetwork/sgxwallet.git --recurse-submodules

Try in simulation mode

The easiest way to try the sgxwallet server is to run a docker container in insecure simulation mode that emulates an SGX processor. Once you are familiar with the server, you can enable sgx on your machine and run it in secure production mode.

First install docker-compose if you dont have it

sudo apt-get install docker.io docker-compose

Then run sgxwallet using docker-compose

cd run_sgx_sim; sudo docker-compose up

Note: you need a machine that supports Intel AVX512 instruction set. Most modern Intel CPUs support it. To verify you machine supports AVX512, run

cat /proc/cpuinfo | grep avx512

Note: sgxwallet requires docker-compose for correct operation. You must always use docker-compose and avoid using raw docker tools.

Note: simulation mode is only to try sgxwallet. In production, you need to run sgxwallet on a server that supports SGX. Never run a production sgxserver in simulation mode.

Admin guide

If you are a SKALE validator and want to run sgxwallet for testnet or mainnet usage, you need a SGX-capable server.
Please refer to Admin guide for details on how to setup sgxwallet in a secure hardware mode docs/admin-guide.md.

Developer guide

If you are a SKALE developer and want to build sgxwallet from source, please refer to Developer guide docs/developer-guide.md.

Contributing

See contributing for information on how to contribute.

Libraries used by this project

License

License

All contributions to sgxwallet are made under the GNU Affero General Public License v3. See LICENSE.

Copyright (C) 2019-Present SKALE Labs.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].