Немного своего опыта: трех программистов Solidity рассматривали и в се три подавались на децентрализации.
Когда предполагаешь им крутить свой софт на софт сервере и только как дату использовать ETH, их трясет как паралитиков без аргументов.
Ну только некоторые смарт контракты самообеспеченны.
Так или иначе для написания смарт контракта нужен специалист знакомый с технологией, плюс чтоб смарт контракт прошел аудит у того же юриста и проверить работу самого программиста нужно, а то можно всякого написать там.
Смарт контракты зачастую зависят от offchain ресурсов и получают инфу из внешнего источника. Сам смарт контракт не может забрать данные, так что приходите всё равно к софтсерверу.
Плюс из-за репликации, смарт контрактам сложно прийти к консенсусу. Угадайте что будет если одной ноде прийдут одни данные по контракту, а второй другие)
Есть еще такое понятие финальное соглашение сторон. Смарт контракт должен сам следить за соблюдением условий с обеих сторон.
Поэтому их то и трясет