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?
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.
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~