Coder Social home page Coder Social logo

adijeshen / primihub Goto Github PK

View Code? Open in Web Editor NEW

This project forked from primihub/primihub

0.0 0.0 0.0 2.63 MB

Hyper Multi-Party computing platform

Home Page: http://docs.primihub.com/

License: Apache License 2.0

Shell 0.02% C++ 69.52% Python 2.29% C 26.28% Assembly 0.02% AGS Script 0.01% Makefile 0.09% Smarty 0.63% Batchfile 0.38% Dockerfile 0.03% Roff 0.01% Jolie 0.01% Starlark 0.70% Bikeshed 0.01%

primihub's Introduction

Primihub

Feature

Primihub is a platform that supports Multi-Party Computing(MPC), Federated Learning, Private set intersection (PSI), and Private Information Retrieval (PIR) features, and supports extensions of data source access, data consumption, access application, syntax, semantic and security protocols. For details, see Primihub Core Feature

Quick start

Run an Multi-Party Computing application in 5 minutes

Install docker and docker-compose

Download the code and switch to the code root path

$ git clone https://github.com/primihub/primihub.git
$ cd primihub

Run an MPC case

Depolyment

Start the test nodes

Start three docker containers using docker-compose. The container includes: one simple bootstrap node, three nodes

$ docker-compose up

Check out the running docker container

$ docker ps
  CONTAINER ID   IMAGE                                COMMAND                  CREATED          STATUS          PORTS                                                                         NAMES
cf875c1280be   primihub-node:1.0.5                  "/bin/bash -c './pri…"   11 minutes ago   Up 11 minutes   0.0.0.0:12120-12121->12120-12121/tcp, 0.0.0.0:8052->50050/tcp                 node2_primihub
6a822ff5c6f7   primihub-node:1.0.5                  "/bin/bash -c './pri…"   11 minutes ago   Up 11 minutes   0.0.0.0:10120->12120/tcp, 0.0.0.0:10121->12121/tcp, 0.0.0.0:8050->50050/tcp   node0_primihub
11d55ce06ff0   primihub-node:1.0.5                  "/bin/bash -c './pri…"   11 minutes ago   Up 11 minutes   0.0.0.0:11120->12120/tcp, 0.0.0.0:11121->12121/tcp, 0.0.0.0:8051->50050/tcp   node1_primihub
68befa6ab2a5   primihub/simple-bootstrap-node:1.0   "/app/simple-bootstr…"   11 minutes ago   Up 11 minutes   0.0.0.0:4001->4001/tcp                                                        simple_bootstrap_node

Create an MPC task

*** Let three nodes jointly perform a logistic regression task of multi-party secure computation (MPC) ***

$ docker run --network=host -it primihub/primihub-node:1.0.5 ./primihub-cli --server=127.0.0.1:8050

💡 The node response the task

You can request computing tasks from any node in the computing cluster

💡 Available task parameters

The following parameters can be specified through primihub-cli:

  1. Which node is requested to start the task.
  2. Which shared datasets are used.
  3. What kind of private computing tasks to do.

In this example, primihub-cli will use the default parameters to request an ABY3 tripartite logistic regression test task from *** node 0 ***. For the parameters that can be specified by cli, please refer to *** Create task ***

Advanced use

To learn how to start from native applications and how to use Primihub features to implement more applications, see Advanced Usage

Developer

primihub's People

Contributors

hobo0cn avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.