Skip to content

A practical engine for Secure Multiparty Computation (SMPC).

License

Notifications You must be signed in to change notification settings

watason/QuickMPC

 
 

Repository files navigation

QuickMPC

Build CC, MC, and Run Build and Test in Each Containers

Japanese version

A practical engine for Secure Multiparty Computation (SMPC) that is part of privacy-enhancing computation (PEC). QuickMPC can perform computations on personal data used in fundamental static calculations and light machine learning while keeping confidentiality.

This will enable businesses and engineers worldwide to use Python and JavaScript (TypeScript) client libraries to easily develop SaaS products that utilize SMPC functions without the need for expert SMPC knowledge.

oss_eg

Getting Started

The demonstration with QuickMPC-libClient-py

Dependent Tools/Commands

  • make
  • docker
  • docker-compose

Development Requirements

Recommended

  • memory: 16 GB
  • storage: 20 GB

Run all test suite

  1. Change your current directory into Test/
cd QuickMPC/scripts
  1. Launch all containers
make debug t=./ManageContainer
  1. Execute libClient Demo

How to test each container

Detail: https://github.com/acompany-develop/QuickMPC/tree/develop/scripts

  1. Change your current directory into Test/
cd QuickMPC/scripts
  1. Run test
# Testing all containers
make test
# Only the Computation Container test
make test t=./ComputationContainer/
# Only the Manage Container test
make test t=./ManageContainer/

How to start each container

This section is usefule when you want to stand 2 containers and dare to test manually.

make debug t=./ComputationContainer # Launch of the dev_cc{1,2,3}
make debug t=./ManageContainer # Then, all container is launched

How to develop each container

Computation Container

Detail: https://github.com/acompany-develop/QuickMPC/tree/develop/packages/server/ComputationContainer#readme

  1. Change your current directory
cd packages/server/ComputationContainer
  1. Start the container and enter the container
make upd
make login
cd QuickMPC
  1. Develop and bulid and test
# build
bazel build //:all
# test
bazel test ... --test_env=IS_TEST=true --test_output=errors

Delete temporary files generated by Bazel

The files generated by bazel can be removed by running the following in the /QuickMPC directory in the container

bazel clean

Manage Container

Detail: https://github.com/acompany-develop/QuickMPC/tree/develop/packages/server/ManageContainer#readme

  1. Change your current directory
cd packages/server/ManageContainer
  1. Start the container and enter the container
make upd
make login
  1. Develop and bulid and test
# Create a vendor directory directly under QuickMPC and copy all dependent packages
go mod vendor
# build
go build
# test
go test ... -v

About

A practical engine for Secure Multiparty Computation (SMPC).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published

Languages

  • C++ 52.0%
  • Go 19.2%
  • Python 18.7%
  • Starlark 3.7%
  • Shell 3.5%
  • Dockerfile 1.7%
  • Makefile 1.2%