I am curious to know whether (Yao's) garbled circuits are actually deployed in practice. There has a lot of works on optimising garbled circuits (e.g., here and here) and I am interested in whether these simply of theoretical interest or with practical applications in mind. (A quick Google search did not yield much.)
Bolt labs uses Garbled circuits (from emp-toolkit) for channel management between the merchant and the customer. More on their blog post
In general, I don't think Garbled circuits is one of the most efficient MPC protocol out there for most tasks. So you're not likely to find many practical applications.
It is more likely to find applications of secret-sharing based multiparty computation instead of garbled circuit-based. In fact, of the former type several applications can be found such as the sugar beet in Denmark or the analysis of gender income inequality in Boston (sorry, I’m on mobile and it’s hard to provide references).
MPC based on garbled circuits still needs to mature a bit more to be able to be competitive with respect to secret sharing based MPC in several different scenarios. Of course, it all depends on the setting, but some general disadvantages of garbled circuits are that they typically make use of a lot of bandwidth, and they also are typically restricted to binary computation, which restricts numerical applications. Their biggest advantage includes low round complexity, which is particularly useful in high-latency settings, but in low-latency scenarios, such as the ones in which some applications are being developed (small amount of servers connected by LAN or very good WAN), MPC based on secret sharing (perhaps plus a mix with GCs for certain non linear operations) is typically the best option.