5 请问以太坊执行交易是单线程的还是多线程的呢?

假设我写了个合约,同时有两个用户调用合约里同一个方法。此方法会付费,用来增添数据,且相同id的数据只能增添一个。如果以太坊是单线程处理所有用户的调用的话,就好办了,只用判断同id数据是否添加就行。如果已添加就报错,不用付费。但如果是多线程的话,有可能两个交易同时处理,判断id是否添加时,两个交易显示都没添加。则两个用户都要付费,最后却只能有一个用户添加成功。所以想搞懂以太坊在执行同时提交的多笔交易时具体是怎么一个流程。

请先 登录 后评论

最佳答案 2022-05-13 15:28

你说的是双花?在我的了解中区块链中是链式结构,每一笔增删改 都是一笔交易,每一笔交易都是会发送到交易池中,当你的gwei越高矿工就越愿意将你的数据上链,每个人的账户都有个nonce,从而让用户通过控制nonce来控制交易的顺序。按道理来说合约账户也是有nonce的所以在区块链中不需要考虑多线程问题。

请先 登录 后评论

其它 3 个回答

小溪
请先 登录 后评论
Byzantine
请先 登录 后评论
happypl
请先 登录 后评论
  • 3 关注
  • 0 收藏,3982 浏览
  • happypl 提出于 2022-05-13 14:01