Private Machine Learning

Hey all,

We’ve recently had some developers working on and making progress with machine learning on Enigma. While there are constraints, we are moving forward. We’ll kick off 2020 with a working group on private machine learning. The focus will be narrow, at least to start:

  1. what are the differences between Enigma’s Rust library and the standard rust library? How does this impact ML work?
  2. creating examples of successful use of rusty-machine within Enigma
  3. Discussion of how ML functions can be extended to business applications (i.e., conversion analysis, impact assessment, and so forth).

We expect this group to meet or synch up possibly on a monthly basis, but all work will take place publicly. We have not yet confirmed how, but I expect we can have high-level conversations here on the forum and create a shared repo for technical work and issues.

Looking forward to next steps on this. Comment below if you want to be involved and kept abreast of this or if you have anything to share in this direction that can help us kick off.


I’m very excited to participate in this topic


Hey Ainsley, I’m interested in participating as well

1 Like

Wow, yes, count me in, I will be happy to contribute however I can :slight_smile:

1 Like

Hey Ainsley, I’m also keen to stay in the loop please.

1 Like

Thanks a lot all-- we are working right now to get a few other organizations involved here and aiming to have a kickoff meeting and presentation sometime in Feb.


I have been testing ML library and found out something:

among famous ML library for rust, statistical, linregress, crate rusty_machine works fine with a desired result value, but rustlearn and randomforests do not work while compile pass.
the following is an example error shown in Enigma console log.

error: linking with `rust-lld` failed: exit code: 1
  = note: "rust-lld" "-flavor" "wasm" "--no-threads" "-z" "stack-size=1048576" "--stack-first" "--allow-undefined" "--fatal-warnings" "--no-demangle" "--export-dynamic" "--no-entry" "-L" "/home/buidl-test1/.rustup/toolchains/nightly-2019-08-01-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-unknown/lib" "/home/buidl-test1/enigma-test/millionaires_problem_demo/secret_contracts/millionaires_problem/target/wasm32-unknown-unknown/release/deps/contract.contract.2yh5mw4u-cgu.2.rcgu.o" "-o" "/home/buidl-test1/enigma-test/millionaires_problem_demo/secret_contracts/millionaires_problem/target/wasm32-unknown-unknown/release/deps/contract.wasm" "--export" "function_name" "--export" "deploy" "--export" "call" "--export" "args" "--export" "print" "--export=__heap_base" "--export=__data_end" "--gc-sections" "-O2" "-L" "/home/buidl-test1/enigma-test/millionaires_problem_demo/secret_contracts/millionaires_problem/target/wasm32-unknown-unknown/release/deps" "-L" "/home/buidl-test1/enigma-test/millionaires_problem_demo/secret_contracts/millionaires_problem/target/release/deps" "-L" "/home/buidl-test1/enigma-test/millionaires_problem_demo/secret_contracts/millionaires_problem/target/wasm32-unknown-unknown/release/build/rustlearn-eed290bd4d0737d6/out" "-L" "/home/buidl-test1/.rustup/toolchains/nightly-2019-08-01-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-unknown/lib" "/tmp/rustc0EyFQ4/librustlearn-23ae3dd121b028ab.rlib" "/home/buidl-test1/.rustup/toolchains/nightly-2019-08-01-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-2e1c48109f1d35db.rlib" "-l" "stdc++" "--no-entry"
  = note: rust-lld: error: unable to find library -lstdc++

error: aborting due to previous error

1 Like

Has anyone looked into how and if ML libraries could be run on the secret network? Has something changed in terms of scalability (since the network has an upper bound of nodes); did it get better or worse with the cosmos based blockchain?
I haven’t looked into the new architecture in depth but if anyone already put some thought into it I would be happy for an update. Thanks