README.md

    PrimiHub

    build workflow Contributors Gitter GitHub release Docker Pulls

    English | 中文

    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 docker-compose file:

    curl https://get.primihub.com/release/1.3.9/docker-compose.yml -s -o docker-compose.yml

    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 -d

    or, you could specific the container register and version, such as:

    REGISTRY=registry.cn-beijing.aliyuncs.com TAG=1.4.0 docker-compose up -d

    Check out the running docker container

    docker-compose ps
    CONTAINER ID   IMAGE                                COMMAND                  CREATED          STATUS          PORTS                                                                         NAMES
    cf875c1280be   primihub/primihub-node:latest        "/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/primihub-node:latest        "/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/primihub-node:latest        "/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:latest ./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

    • For how to build, see Build

    Roadmap

    How to contribute

    If you want to contribute to this project, feel free to create an issue at our Issue page (e.g., documentation, new idea and proposal).

    Also, you can learn about our community PrimiHub Open Source Community Governance

    This is an active open source project for everyone, and we are always open to everyone who want to use this system or contribute to it.

    Contributors

    Made with contrib.rocks.

    Community

    wechat_helper

    项目简介

    Hyper Multi-Party computing platform,原语科技开源隐私计算平台

    发行版本 17

    1.6.9

    全部发行版

    贡献者 47

    全部贡献者

    开发语言

    • C++ 79.5 %
    • Python 17.9 %
    • Starlark 1.9 %
    • Shell 0.5 %
    • Dockerfile 0.1 %