Tau Chain – новый проект децентрализованной одноранговой сети и платформы для приложений на основе блокчейна, подобный Ethereum. Его разработка только началась. Создатели проекта утверждают, что Тьюринг-полнота Эфириума является неверным направлением.
Два разработчика Tau Chain - HunterMinerCrafter (HMC) и Охад Асор согласились рассказать, чем их проект отличается от других децентрализованных сетей. Система Tau соткана как ткань из трёх различных характеристик: правил, доказательств и компьютерного программирования.
Правила и протоколы сети определяются пользователями, и на вершине Tau создаются независимые миры. Это дает Tau Chain уникальную способность использовать упрощенный и унифицированный язык. Благодаря этому обеспечиваются «разрешимые» компьютерные программы, в отличие от полного протокола Тьюринга для Эфириума.
HunterMinerCrafter, разработчик Tau:
Tau представляет собой blockchain для абстрактных протоколов, координирующий их определение и выполнение.
Как это работает
Tau работает как клиентское программное обеспечение для онтологических правил. Эти правила определяются с помощью «Reasoner», который использует логические рассуждения и доказательства. Язык и общение будут читабельными для человека, связанными с HTTP после реализации RDF. Tau будет в состоянии общаться с огромным количеством одноранговых сетей, действуя как децентрализованный Github и App Store.
В теории, на Tau может быть реализована семантика любого существующего протокола. Тем не менее, синтаксис не обязательно должен использоваться напрямую. Может потребоваться дополнительный «мостик» для обмена данными на основе символов URI и XML. Tau является общим языком программирования, который в состоянии выразить всё, что компьютер может сделать. Следовательно, можно реализовать любую программу с ним.
Но это первый язык программирования, который имеет встроенный P2P и blockchain. Есть не только автономная, но и совместная работа. Удалённые компьютеры можно синхронизировать с помощью встроенных команд blockchain, а благодаря встроенным командам DHT они смогут обмениваться операциями. Программист на языке Tau может использовать примитивы DHT и Blockchain как часть языка. Tau предлагает больше возможностей для адаптации к децентрализованной сети, и проверка того, что код отвечает формальным требованиям не требует QA!
Вместо этого можно иметь математически определённое доказательство каждого правильного утверждения о коде. Это и полностью функциональный язык программирования, который имеет разрешимую логику, в отличие от Тьюринга (который представляет неразрешимую логику).
Tau Chain будет совместным сообществом, прилагающим усилия, чтобы сформировать стабильную сеть различных, но взаимодействующих и взаимозависимых P2P сетей.
Метод основан на GADS Эндрю Миллера (лямбда-аутентификация). Хэширование больших объемов данных, например, как в Bitcoin, осуществляется с помощью так называемого дерева Merkle. На Tau, через это дерево (датируемое по блокчейну) можно спуститься к аутентификации файлов данных через DHT или исполнению программ на удаленных машинах, не требующих доверия. Язык Tau имеет синтаксис, заимствованный из RDF (Semantic Web) языков, таких как Notation3, которые гораздо ближе к человеческим языкам.
Протоколы, определенные в Tau, могут определить боковые цепи от основной цепи. Они могут также определить протоколы, чтобы обновить свой собственный протокол над этой боковой цепью, создав для себя резервное копирование. Это позволит хранить определения с помощью боковых цепей, которые привязаны к основной цепи.
Разрешается повторное использование кода: если вы хотите некоторую функцию или кусок кода, вы можете сформулировать лишь требования к этой функции, и, если соответствующий кусок уже существует в коде Tau, вы можете легко найти и использовать его. Tau в результате действует как децентрализованный GitHub, предоставляя возможности, которые не могут дать Тьюринг-полные языки. Ресурсы Tau не должны быть подкреплены непосредственно обменными знаками, и обмен ресурсами может быть предметом переговоров между пользователями. Они определят обмен, как считают нужным.
Эфириум же использует логику Тьюринга. Это означает, что они могут легко доказать: для них возможно вычислить любую вычислимую вещь в одном блоке. Но ценой за это является неизвестность того, сколько ресурсов потребуется, чтобы сделать вычисление блока.
Из-за этого, они должны поддержать свои ресурсы с помощью маркера актива, и установить цену ресурса для того, чтобы избежать злоупотреблений. Кроме того, в целях обеспечения обмена, они требуют от всех, кто подтвердил блок, возможности повторно выполнить все те вычисления, что когда-либо были выполнены.
Для контраста, Tau является разрешимой полной логикой, и полнота Тьюринга извлекается с помощью итерации нескольких блоков. Это означает, что мы не можем вычислить любую вычислимую вещь в одном блоке, но мы можем точно знать, сколько ресурсов блок потребует, чтобы его проверить. Мы все еще можем вычислить любую вычислимую вещь; может, просто требуется структурирование выполнения на несколько блоков. Из-за этого, ресурсы Tau не должны быть подкреплены непосредственно обменными знаками, и обмен ресурсами может быть предметом переговоров между пользователями, как они считают нужным.
Кроме того, любой процесс должен повторно выполняться только участниками, заинтересованными в проверке деятельности, которая произошла в этом контексте. Данные расчёты могут быть проигнорированы другими пользователями, без ущерба для безопасности в долгосрочной перспективе. Tau поддерживает приложения общего назначения, которые полностью отсутствуют в Эфириуме, так что их в целом нельзя сравнивать.
Пять основных различий Tau и Ethereum
Клиент Эфириума является фиксированным, то есть протокол работы сети не может меняться со временем. Это жестко: если в один прекрасный день пользователи хотели бы изменить свое поведение, они, возможно, потребуют хард-форка блокчейна Эфириума.
С другой стороны, код сам по себе и поведение клиента Tau связаны. Представьте, что это хранилище GitHub с кодом, откуда его можно загрузить и запустить. Это именно то, что делает клиент Tau: каждый блок содержит свой собственный код, в том числе условия для принятия следующего блока. Поэтому, мы получаем максимальную гибкость не только для приложений на основе Tau, но и для самой системы.
Правила Эфириума предопределены разработчиками. Tau выйдет без правил вообще. Его пользователи будут устанавливать свое поведение. В этом смысле, Tau начинается с полного равновесия между его участниками, априори.
Приложения Эфириума написаны на Тьюринг-полном языке, который отключает всю магию. Это уже неоднократно было подчёркнуто в данной статье.
Эфириум не поддерживает отдельные контексты: задача выполняет весь код. Таким образом, на основе Эфириума непрактично поставить общую цель или создавать высокопроизводительные (HPC) сервисы. С другой стороны, Tau имеет отдельные контексты, поэтому можно подписаться на один контекст (например, установка приложения, как в Appstore/GooglePlay), не мешая другим контекстам. Тем не менее, контекст может содержать ссылки на другие существующие контексты и повторно использовать их код.
Модель Эфириума требует монету («топливо»). Tau не нужна монета: пользователи могут договориться об экономических характеристиках сети и определить любые стимулы, которые они находят адекватными, будь то глобально по всей сети или через их локальный клиент Tau.
Весь протокол Биткоина, с теми же правилами, может быть легко реализован на Tau. Определенные в Tau протоколы могут зависеть от состояния объекта, внешнего по отношению к Tau, это позволит некоторое взаимодействие с Bitcoin. Тем не менее, если что-то в сети Tau планирует общаться непосредственно с сетью Биткоина, потребуется нечто похожее на вышеупомянутый "мост" между форматами сообщений Биткоина и представлениями данных Tau.
Tau похожа на Facebook или Twitter, где пользователи могут работать вместе в группах, модифицируя то, как сам сервис работает и что он предлагает. Он делает это таким образом, что не полагается на какую-либо одну компанию в качестве поставщика и никогда не оставит неявно ваши права или конфиденциальность в опасности. Генезис-блок выйдет приблизительно через полгода.