Относительно смарт-контрактов часто можно встретить понятие “полноты по Тьюрингу”. Что это? Согласно Forklog, “полнота по Тьюрингу применительно к языку программирования означает, что данный язык обладает инструментами для решения любой вычислительной задачи,
что дает системе, использующей этот язык, определенную автономность”.
Таким образом, все смарт-контракты разделяются на две группы: тьюринг-полные и тьюринг-неполные. При этом, большинство используемых смарт-контрактами технологий блокчейнов, включая главный - биткоин, тьюринг-неполные. Такие контракты сравнительно просты и часто ограничиваются мультиподписью или транзакциями с отложенным исполнением.
Неполнота по Тьюрингу часто принципиальная позиция разработчиков, не желающих перегружать сети излишними вычислениями и усугублять “проклятую проблему” масштабируемости блокчейна.
Надо отметить, что в противовес биткоину, экосистема эфириума обладает элементами полноты по Тьюрингу. Реализуется это, в частности, через Ethereum Computation Market, который выводит сложную математику в офчейн.
В последнее время развитие получили гибридные системы, совмещающие оба подхода. Популярные примеры - Counterparty и Rootstock.
С несколькими фактами из яркой жизни Алана Тьюринга (1912-54, фото перед постом), чье имя зашито в термин, можно ознакомиться здесь.
По материалам Forklog.