MPC Web/ReactNative Kit issues

I am an senior web3 engineer in a large web3 company. I have encountered some confusion while researching and getting hands-on experience with your MPC toolkit. I would be extremely grateful if you could assist me.

The Demo Core MPC Web Kit and React Native, and the demo site: mpc-core-kit-react-quick-start.vercel.app

Do these demos actually generates 3 shares locally and one for local device(frontend cache), one for additional storage and one for remote web3auth server? I have tested and found when login the servers are five: h t t ps://node-1.node.web3auth.io/ and so on… Why there are 5 servers? I think only one remote web3auth server is enough. Is something wrong?

In additonally, Do these demos send tx or sign message with multi rounds local and remote signing? I have tested and found when signing the demo site sent many requests to many nodes: such as sending GET “h t t ps://node-4.node.web3auth.io/tss/precompute” and “h t t ps://node-4.node.web3auth.io/tss/sign”. Is there any local signing computation process here in addition to the remote procedure?

Thanks!

Plus
the demo site: https://mpc-core-kit-react-quick-start.vercel.app/

the mpc web kit repo: web3auth-core-kit-examples/mpc-core-kit-web/quick-starts/mpc-core-kit-vue-quick-start at main · Web3Auth/web3auth-core-kit-examples · GitHub

Hey @zilinissleepin you can read more it on our docs, we have explained the architecture. Let me know if you need anything else. Web3Auth MPC Architecture | Documentation | Web3Auth

Thanks, Ayush! And I have read this docs…

Hey @zilinissleepin

As per the documentation, one of the shares, which is associated with your social login, is sent to the Web3Auth Network. This network is where these GET calls are being made. Check the social login factor (Factor 1): Web3Auth MPC Architecture | Documentation | Web3Auth

These shares here represent half of your key. The signing is a two step process, precomputation (which is done in advance to increase signing speed) and the actual signing. The pre computation of these shares happens remotely and you get the pre computed signatures for each. Further, when you local share is taken into account for the final signing, we take the TSS Key from that share and do a local compute of signature. This ensures the non custodiality of the system.

1 Like

So the demo and the example code can just be used directly to the serious project and my formal app? And could you give some examples about how to sign an ethreum tx with the MPC kit? Thanks, yashovardhan! Waiting for your reply~

Yes, you can directly use the example code for the application. You can checkout this example. You can also checkout our docs as well for the same.

1 Like