# Why not shard the bakers?

**URL:** https://forum.tezosagora.org/t/why-not-shard-the-bakers/2928
**Category:** Research and Development
**Created:** [March 29, 2021, 3:33pm UTC](https://forum.tezosagora.org/t/why-not-shard-the-bakers/2928 "2021-03-29T15:33:48Z")
**Posts on this page:** 1
**Showing post:** 3

<div class="post-metadata">

### Author: ![Paisley](https://forum.tezosagora.org/user_avatar/forum.tezosagora.org/paisley/32/1972_2.png) [@Paisley](https://forum.tezosagora.org/u/Paisley)
#### Post date: [March 29, 2021, 7:29pm UTC](https://forum.tezosagora.org/t/why-not-shard-the-bakers/2928/3 "2021-03-29T19:29:09Z")

</div>

[https://blog.nomadic-labs.com/florence-our-next-protocol-upgrade-proposal.html](https://blog.nomadic-labs.com/florence-our-next-protocol-upgrade-proposal.html)

> _Depth First Execution Order:_ Previously, intercontract calls were executed in a so-called “breadth first” ordering. This was believed to be the correct choice when the Tezos protocol was initially designed, but it has turned out to significantly complicate the lives of smart contract developers. If Florence is adopted, the calling convention will change to a “depth first” execution order. This will make it far easier to reason about intercontract calls.

As the Florence protocol replaces BFS with DFS I believe these agora posts are relevant to your sharding question

> [@Problems with Concurrency](https://forum.tezosagora.org/t/problems-with-concurrency/1771):
>
> Concurrency Introduction Concurrency is a notoriously hard problem in Computer Science. In a concurrent system, you usually want to run multiple pieces of a program in a dynamic order, which have access to some shared memory. Those conditions violate many assumptions that are made when reasoning about classical programs. Reasoning about the evaluation order and memory ownership (who can modify some piece of memory) require careful analysis, rather than relying on simple patterns. But however ha…

> [@Concurrency, BFS vs DFS (and a proposal)](https://forum.tezosagora.org/t/concurrency-bfs-vs-dfs-and-a-proposal/1994):
>
> I would like to continue the discussion about concurrency/BFS vs DFS, as described in [https://forum.tezosagora.org/t/problems-with-concurrency/1771](https://forum.tezosagora.org/t/problems-with-concurrency/1771) I understand that moving to message passing (all effects are final before operations are executed) solves the problems of control-flow in Ethereum. An alternative would be to have call-return without effects (only fail/no-fail) or limited effects after the return. This limited call-return enables useful patterns like defensive programming us…

> [@Smart contract vulnerabilities due to Tezos’ message passing architecture](https://forum.tezosagora.org/t/smart-contract-vulnerabilities-due-to-tezos-message-passing-architecture/2045):
>
> Hi I’m a security researcher at [Trail of Bits](http://trailofbits.com). We recently audited the Dexter contracts and found two critical security issues that are directly related to Tezos’ message-passing architecture. We believe that both issues are likely present in several other contracts. Due to the complexity and likely prevalence of these issues, we think it would be beneficial for the Tezos community to discuss them and consider changing the message-passing architecture. Message passing In Tezos, a call to an ex…

---

_[View the full topic](https://forum.tezosagora.org/t/why-not-shard-the-bakers/2928)._
