![](https://habrastorage.org/web/852/e07/aa7/852e07aa705c4c6d89f07f1e025f8925.png)
Продолжаем перевод «Белых книг» блокчейн (именно blockchain, а не bitcoin) проектов. И сегодня на очереди… Голем.
Проект Golem
«Белая книга» о краудфандинге (Версия v0.9, Октябрь 2016 г.)
Содержание
- Обзор проекта Golem
- Основная идея и функции
- Экосистема Golem
- Инфраструктурные ресурсы
- Спрос на вычислительные ресурсы
- Программы & микросервисы
- Первичный вариант использования: CGI-рендеринг
- Планы на будущее: Golem как часть Web 3.0
- Токен сети Golem (GNT)
- Реестр Приложений (Application Registry)
- Структура Транзакций (Transaction Framework)
- Дорожная карта
- Brass Golem
- Clay Golem
- Stone Golem
- Iron Golem
- Будущие внедрения
- Краудфандинг
- Резюме краудфандинга
- Бюджет и финансирование
- Команда Голема
Обзор проекта Golem
Основная идея и функции
● Golem — это первый по-настоящему децентрализованный суперкомпьютер, образующий глобальный рынок вычислительных ресурсов. В сочетании с гибкими инструментами, помогающими разработчикам безопасно распространять и монетизировать свое программное обеспечение, Golem также меняет способ организации и выполнения вычислительных задач. Благодаря микросервисной архитектуре и асинхронному выполнению задач Golem должен стать основой для будущих интернет-провайдеров и разработчиков ПО. И за счет того, что существенно снижается цена вычислений, сложные программы (CGI рендеринг), научные расчеты и машинное обучение, становятся более доступными для каждого.
● Golem соединяет компьютеры в p2p сети, позволяя владельцам приложений и отдельным пользователям (заказчиками) арендовать ресурсы компьютеров других пользователей (поставщиков). Эти ресурсы могут использоваться для выполнения задач, требующих любого количества времени и емкости вычислений. Сегодня такие ресурсы предоставляются централизованными поставщиками облачных услуг, но их недостатки это замкнутые сети, проприетарные платежные системы и жесткие ограничения на программный код. Кроме того, основной для Golem является специальная система транзакций на базе Ethereum, которая позволяет осуществлять прямые платежи между заказчиками, поставщиками и разработчиками программного обеспечения.
● Функцию Golem'а как основы децентрализованного рынка вычислительных ресурсов можно рассматривать как IaaS (инфраструктура как услуга), так и PaaS (платформа как услуга) Тем не менее, истинное преимущество Golem в том, что он позволяет интегрировать специализированные программы. Любая заинтересованная сторона может свободно создавать и устанавливать программы в сети Golem, публикуя их в Реестре Приложений. Используя Структуру Транзакций, разработчики также могут расширять и настраивать механизм оплаты, создавая уникальные механизмы для монетизации ПО.
![](https://habrastorage.org/web/936/3c8/b97/9363c8b9715a4da38f461e1987ff6d09.png)
Экосистема Golem
Бизнес задача Голема состоит в том, чтобы благодаря относительно недавним технологическим достижениям организовать рынок вычислительных ресурсов в соответствии с совершенно новыми принципами. С другой стороны, сегодня на рынке вычислений доминируют такие крупные игроки как Amazon, Google, Microsoft и IBM, которые прилагают все силы для обеспечения высокой рентабельности, что приводит к высоким ценам на вычислительные услуги К счастью, такая ситуация на рынке не будет длиться вечно. В сети Golem предоставление вычислительных ресурсов основано на вкладе отдельных и профессиональных поставщиков (providers), в сочетании с набором специализированных программных решений из Реестра Приложений Golem, который сам работает на едином и конкурентном рынке с практически полной информацией.
Масштабирование рынка вычислений, с помощью Golem, требует объединения трех групп: поставщиков вычислительных ресурсов, инициаторов задач (заказчиков), которые размещают свои задачи в сети Golem и, разумеется, разработчиков ПО. Эти три группы составляют уникальную, взаимозависимую экосистему Голема.
![](https://habrastorage.org/web/f35/da5/8b0/f35da58b081e45dfb824496b6e0b1327.png)
Инфраструктурные ресурсы
Вычислительные мощности в сети Golem обеспечиваются поставщиками. Поставщиком может быть как обычный пользователь, который может предоставить свободное время своего игрового ПК, так и большой центр обработки данных, предоставляющий все свои вычислительные мощности. Интерес поставщиков присоединиться к Голему, в том, что они получают платежи от заказчиков за выполненные задачи. Разумеется, пользовательский интерфейс Golem будет прост в использовании и позволит поставщикам легко устанавливать цены и решать, какую часть своих свободных ресурсов они готовы предоставить в аренду.
Спрос на вычислительные ресурсы
Чтобы выплачивать вознаграждение поставщикам за предоставленные мощности, Golem должен привлекать заказчиков, которые в этих мощностях заинтересованы. Тот рынок, что создает Golem будет очень конкурентным благодаря тому, что это рынок с практически полной информацией и благодаря простоте развертывания программ на любом оборудовании. Это не только упростит использование Golem, что конечно же привлечет заказчиков — высококонкурентная среда также повысит эффективность рынка, что, скорее всего, приведет к гораздо более объективной и выгодной цене по сравнению с существующими облачными вычислительными платформами.
Одна из важных особенностей заключается в том, что рынок Golem позволит заказчикам стать поставщиками: потому что большинству из них дополнительные ресурсы будут нужны только изредка. Они смогут сдать в аренду собственное оборудование и получать дополнительный доход. Кроме того, финансовый аспект не будет единственным стимулом использования Golem: одной из ключевых функций Голема будет наличие разнообразного ПО, работающего в его сети и доступного из Реестра Приложений.
Программы & микросервисы
Хотя некоторые первичные варианты использования (такие как CGI-рендеринг) будут разрабатываться и внедряться командой Golem, конечно же, необходимо вовлечь других разработчиков в создание приложений для Голема. Количество и качество таких приложений является одним из ключевых факторов будущего успеха Голема. По этой причине Реестр Приложений и Структура Транзакций являются одними из важнейших характеристик всей экосистемы и займут центральное место в процессе разработки. После реализации они обеспечат разработчикам гибкие и эффективные инструменты для развертывания, распространения и монетизации ПО работающего в сети Golem. Это будет идеальным решением для микросервисов и некоторых будущих децентрализованных приложений (DApps), но также может стать интересным способом распространения существующего проприетарного и свободного ПО
Первичное использование: CGI-рендеринг
Альфа-версия Голема: CGI-рендеринг с использованием Blender
![](https://habrastorage.org/web/7e8/bf0/41e/7e8bf041e2e14d6eb529b4ddc6b4009c.png)
CGI-рендеринг — это первый и очень показательный пример реального использования Голема.
Вместо того, чтобы использовать дорогостоящие облачные сервисы или ждать появления собственного мощного компьютера, CGI-художники теперь могут визуализировать графику быстро, арендовав вычислительные ресурсы у других пользователей.
Платеж от заказчика (в данном случае, CGI-художника), направляется непосредственно поставщикам, которые предоставили свои ресурсы.
Кроме того, когда компьютер исполнителя простаивает, он сам может принимать задачи от других пользователей.
Планы на будущее: Golem как часть Web 3.0
Мы считаем, что в будущем, Интернет станет действительно децентрализованной сетью, позволяющей пользователям безопасно и напрямую обмениваться контентом, не деля его с корпорациями или другими посредниками. Соответственно, Golem будет использоваться не только для конкретных вычислительных задач, но и для массовой аренды компьютеров, которые будут выполнять операции в самоорганизующейся сети. Конечно, это потребует параллельного развития других технологий, многие из которых получили значительную поддержку в последние годы.
Необходимы более эффективные технологии обмена данными, но с учетом продолжающейся разработки IPFS / Filecoin и Swarm соответствующие решения, по-видимому, находятся в пределах досягаемости.
Со временем, сеть Ethereum станет более масштабируемой, более эффективной и будет включать полнофункциональную сеть каналов микроплатежей. Как только эти технологии станут доступными, легко представить Golem в первую очередь в виде платформы для микросервисов, позволяющую пользователям запускать как мелкие (например, приложение для заметок), так и крупные приложения (например, стриминговый сервис) полностью децентрализованным способом. Несмотря на амбициозность, сказанное выше является весомым аргументом в пользу большого потенциала Голема.
Токен сети Golem (GNT)
GNT является основным компонентом Golem и предназначен для обеспечения гибкости и контроля над будущем проекта. GNT выпускается при краудфандинге (описанного в этом документе), и после первого основного релиза Голема, GNT-токен будет наделен различным функциям.
● Платежи от заказчиков поставщикам за использование их ресурсов и вознаграждение разработчикам ПО будут выплачиваться исключительно в GNT.
● После запуска Реестра Приложений и Структуры Транзакций, GNT-токены будут необходимы для других операций: предоставление залогов поставщиками и разработчиками ПО или же проверка и сертификации программ (см.раздел «Реестр Приложений»).
● Общие условия использования GNT будут установлены в Структуре Транзакций, но конкретные параметры можно будет установить отдельно для каждой устанавливаемой программы.
Количество GNT-токенов будет ограничено пулом токенов созданных во время краудфандинга.
Создание GNT-токенов и первичные функции GNT-аккаунта
● Токен сети Golem выпускается на платформе Ethereum. Его конструкция соответствует широко применяемым стандартам реализации токенов. Это позволяет использовать GNT в существующих решениях, таких как Ethereum Wallet.
● Максимальное количество токенов, созданных при краудфандинге:
○ Всего: 1 000 000 000 (100%)
○ Токены участников краудфандинга: 820 000 000 (82%)
Токены команда Голема 60 000 000 (6%)
○ Токены компании Golem Factory GmbH 120 000 000 (12%)
● Отправка 1 эфира на GNT-аккаунт создаст 1 000 GNT
● После завершения краудфандинга не будет ни создания токенов, ни минтинга или майнинга.
● Токены можно свободно отправлять/принимать сразу же после краудфандинга.
Подробнее в разделе «Краудфандинг»
Реестр Приложений
Реестр Приложений — это смарт-контракт на Ethereum, где каждый может публиковать свои собственные приложения, готовые к запуску в сети Golem. Цели Реестра Приложений:
● Предоставить разработчикам возможность публиковать свои приложения и взаимодействовать с пользователями децентрализованным образом;
● Предоставить заказчикам место для поиска конкретных инструментов, соответствующих их потребностям;
● По соображениям безопасности, предоставить поставщикам полный контроль над программным кодом, который они запускают.
Поскольку сеть Golem полностью децентрализована, мы также хотим, чтобы Реестр Приложений управлялся самим сообществом.
Golem позволяет заказчикам выполнять программный код на компьютере какого-либо поставщика.
Этот код выполняется в «песочнице» и с минимальным приоритетом.
Но программные ошибки встречаются повсюду, через какое-то время злоумышленники смогут обойти «песочницы» и запустить вредоносный код на хост-машине, а то и вовсе получат над ней контроль. Вот поэтому мы не можем полагаться исключительно на «песочницы».
Мы могли бы попытаться автоматически определять безопасность кода, но практически это невозможно (согласно Проблеме остановки).
Процесс проверки кода не может быть полностью автоматизирован и запущен в автономной сети.
С другой стороны, невозможно предположить, что никто никогда не опубликует вредоносное ПО, которое будет работать поверх сети Golem.
Для решения этой проблемы, мы решили разделить пользователей Реестра Приложений на три категории: авторы, валидаторы и поставщики. Авторы публикуют приложения, валидаторы их проверяют и сертифицируют как безопасные, добавляя их в свой собственный белый список.
Валидаторы могут также помечать приложения как вредоносные, добавляя их в черный список.
Поставщики также имеют право решать списки какого валидатора использовать в каждом конкретном случае запуска Голема на их оборудовании.
Кроме того, поставщики могут вести свои собственные белые или черные списки. Это дает каждому поставщику большую гибкость в определении того, какое программное обеспечение запускать и насколько тщательно за ним следить.
Более того, эта система не исключает ни одну из сторон, и всегда есть место для появления новых валидаторов.
По умолчанию Golem работает с использованием белого списка доверенных приложений.
Поскольку пустой белый список для кого-то, кто только пробует Golem в первый раз, может показаться проблемой, мы добавим ряд проверенных приложений в белый список исходного дистрибутива.
Поставщик может пользоваться этим механизмом, ведя свой собственный белый список или же использовать списки валидаторов, которым он доверяет.
С другой стороны, поставщик владеющий серверной фермой, возможно пожелает использовать только черные списки.
Это вариант предназначен для администраторов выделенных серверов, которые хотят получать максимальную прибыль и быть впереди остальных.
В этом случае черный список используется для того, чтобы избежать любых проблемных приложений известных на данный момент.
Опять же, поставщик может вести свой собственный черный список или использовать черные списки валидаторов, которым он доверяет.
Структура Транзакций
Создавая что-то новое и захватывающее, трудно или почти невозможно предсказать абсолютно все возможности, которые открываются с его появлением.
Golem — это распределенный глобальный суперкомпьютер, и т.о. он несомненно будет востребован в самых различных приложениях.
Этим приложениям могут потребоваться самые разнообразные модели начисления вознаграждений. Мы не можем разработать единую платежную систему для Golem, и мы не будем пытаться принуждать разработчиков приложений ее использовать.
Когда разработчик интегрирует свое приложение в Golem, он имеет право решить, какую модель транзакции использовать, при условии что она совместима со Структурой Транзакций.
Структура Транзакций будет представлять собой набор требований; основные требования могут включать:
● запись в Реестре Приложений;
● использование среды с открытым исходным кодом и / или детерминированной среды, например EVM;
● одобрение сообщества или рейтинг модели транзакций;
● Использование GNT для оплаты программного обеспечения и услуг поставщиков.
Мы строим Структуру Транзакций на основе Ethereum. Ethereum дает нам значительную силу, которая очень нужна при реализации передовых, бездоверительных схем.
Она включает в себя компоненты, которые чрезвычайно сложно реализовать в сетях P2P, например, оценка репутации.
Примерные компоненты Структуры Транзакций:
● Различные схемы выплат, например: наноплатежи, массовые выплаты.
● Off-chain платежные каналы
● Настраиваемые поступления
● Платежи разработчику ПО
● Запуск программы на каждом отдельном хосте (узле сети, почасовой запуск, и т.д.)
В будущем это может превратиться в шаблон, который будет настраиваться самим сообществом и использоваться при реализации пользовательских моделей транзакций.
Для достижения конкретных целей не связанных с платежами, в моделе транзакций можно использовать более сложные компоненты. Например:
● Залоговый счет заказчика для задач, требующих более высокого уровня ответственности (высокая цена вследствие использования специализированного оборудования или длительные подзадачи); заказчик может создать двусторонний залоговый счет и потребовать поставщиков принять в нем участие.
● Залог поставщика: заказчик может потребовать контроль над некоторым количеством заложенных GNT-токенов.
● Залог заказчика: поставщик может принимать задачи только от заказчиков, владеющих некотором количеством заложенных GNT.
● Регистрация задачи как привязка к резервному механизму решения конфликтов, аналогичного TrueBit.
Дорожная карта
В этом разделе мы представляем основные этапы развития Golem.
Вы можете прочитать нетехническое подробности архитектуры Голема в нашем блоге, некоторые мысли о предстоящих вызовах описаны здесь, и конечно же, вы можете ознакомиться с программным кодом кодом на GitHub.
Последовательные версии программы Golem разделены на этапы. Это предварительный план, поскольку Голем использует передовые технологии и сам по себе является очень сложным проектом.
Перед каждым этапом должны быть проведены исследования и получены результаты, которые описаны в технических документах. Однако нужно сделать два важных замечания:
1. На каждом этапе добавляются новые функции.
2. Результаты каждого этапа зависит от объема привлеченного финансирования.
В описании этих этапов, которое дается ниже, эти функции отнесены к четырем ориентировочным сценариям финансирования.
3. Функции, отмеченные знаком «+ / ++ / +++», будут реализованы, если будет достигнут соответствующий уровень финансирования.
Различным версиям программы Golem мы присвоили кодовые имена, основываясь на големах игры Dungeons & Dragons. Аналогия не идеальная, но все-таки это же е-golems.
Brass Golem
… они созданы для достижения одной цели, установленной при создании, они ждут в абсолютным терпении до тех пор, пока не будут оживлены для исполнения этой задачи.
Brass Golem это тот этап, на котором мы сейчас находимся и проверяем нашу концепцию, проводим альфа-тестирование.
Текущая версия Golem ориентирована только на рендеринг в Blender и LuxRender, и, хотя это будет полезно для CGI-художников, мы считаем, что CGI рендеринг будет прежде всего доказательством правоты нашей концепции, а также нашим учебным полигоном.
Brass Golem будет использоваться в течение 6 месяцев после окончания краудфандинга и проведения всех тестов.
Несмотря на то, что мы не ждем, что CGI рендеринг в Blender создаст достаточный оборот, чтобы оправдать все силы, которые мы вложили в проект, но это уже будет первый децентрализованный рынок вычислительной мощности.
Список предлагаемых функций:
● Базовая Схема Постановки Задач, которая позволяет подготовить постановку первой задачи;
● Базовый Реестр Приложений — первая версия реестра приложений, основанная на Ethereum, которая позволяет сохранять задачи, определенные с помощью базовой схемы определения задач;
● Интеграция IPFS для координации данных задач и доставки контента, например, доставка файлов, необходимых для вычисления задачи, доставка результатов обратно заказчику;
● Docker-окружение с Golem-данными для проведения вычислений в «песочнице»
● Локальная верификация: вероятностная система проверки, вычисляющая фрагмент задачи на машине заказчика;
● Базовый UI и CLI;
● Базовая система репутации;
● Реализация задач Blender и LuxRender.
Clay Golem
Существует вероятность (...), что злой дух хаоса будет завладеет Глиняным Големом.
Если это произойдет, контроль над големом будет потерян и он нападет на ближайшее живое существо.
Clay Golem имеет большое преимущество над Brass Golem. Clay Golem включает в себя API Задач и Реестр Приложений, которые позволяют сделать Golem многоцелевым решением для распределенных вычислений.
Теперь у разработчиков появляются средства для интеграции с Големом. Однако это нововведение может повлиять на стабильность и безопасность системы, поэтому эту версию следует считать экспериментальной и ориентированной на ранних пользователей и энтузиастов. Тестируйте свои новые идеи и решения на этом этапе.
Список предлагаемых функций:
● Базовый API Задач: интерфейс, который позволяет пользователю ставить простые задачи;
● Начальная модель Структуры Транзакций с жестко запрограммированными схемами платежей;
● Избыточная верификация: схема проверки, основанная на сравнении результатов избыточных вычислений;
● Базовое делегирование подзадач: механизм более точного распределения подзадач;
● (+) Поддержка виртуальных машин в качестве «песочницы» для вычислений;
● (+) Документация для разработчиков, объясняющая, как реализовать свои собственные задачи в сети Golem;
● (++) Примеры реализации задач: пример реализации машинного обучения, реализация научных задач и т.д.
Stone Golem
Создатели всегда сохраняют контроль над Каменными Големами (...) в отличии от Глиняных.
Stone Golem принесет больше безопасности и стабильности, но также улучшит функциональные возможности, уже реализованные в Clay Golem. Будет представлена расширенная версия API Задач. Реестр Приложений будет дополнен Механизмом Сертификации, который создаст
доверительную, управляемую самим сообществом сеть для приложений. Кроме того, Структура Транзакций создаст среду, которая позволит использовать Golem в модели SaaS.
Список предлагаемых функций:
● Полный API Задач: интерфейс, который позволяет пользователям ставить задачи;
● Реестр Приложений: здесь разработчики публикуют приложения, готовые к запуску в сети Golem;
● Структура Транзакций, позволяющая выбирать модели вознаграждения для шаблонов задач;
● Базовая Сертификация ПО: механизм, который позволяет пользователям вносить программы в белые и черные списки, создавая децентрализованную доверительную сеть;
● Поддержка SaaS: возможность добавить поддержку проприетарного ПО, которое может использоваться в задачах. Платежи для создателей задач также должны быть реализованы в приложении;
● (+) Примеры задач SaaS — примеры использования, показывающие разработчикам, как создавать задачи, доступные в модели SaaS;
● (++) Web-клиент Golem: веб-интерфейс для узлов сети Golem в качестве альтернативы встроенному интерфейсу GUI / консоли;
● (+++) Панель управления поставщика — предоставляет статистику, графики, а также дополнительные настройки для поставщиков;
Iron Golem
Железные Големы сделаны из железа и очень сильны. Маг который их создал, всегда сохраняет над ними контроль.
Iron Golem — это голем прошедший множество тестов, он дает больше свободы разработчикам, позволяя им создавать приложения, использующие доступ в Интернет или приложения, которые работают за пределами «песочницы». Разумеется, решение о использовании приложений с более высоким уровнем риска по-прежнему будет оставаться за поставщиками, сдающими в аренду свою технику.
Iron Golem должен быть надежным, очень устойчивым к атакам, стабильным и масштабируемым.
Он также предоставит различные инструменты для разработчиков, значительно упрощающие создание приложений.
Наконец, будет реализована Стандартная Библиотека Голема.
Список предлагаемых функций:
● Внешние каналы связи: это позволяет Голему использовать ресурсы и взаимодействовать с программами за пределами сети Golem;
● Режим прямого размещения: доверенный режим для явно «белых» приложений или защищенных сред, при котором Голем проводит вычисления вне Docker / VM;
● Сертификации сред;
● Панель мониторинга сети — общедоступный веб-сайт, отображающий основную статистику сети Golem;
● (+) Дополнительный механизм обеспечения безопасности — задачи, которые используют открытые каналы связи или режим прямого размещения, особенно сложны для обеспечения безопасности. Могут понадобиться дополнительные меры для того, чтобы обеспечить безопасность таких задач для поставщиков (например, можно будет реализовать централизованные ревизионные оракулы, специальные контракты или программы-наблюдатели за выполнением кода);
● (++) Набор Разработчика Голем: набор диагностических и тестовых инструментов для упрощения создания приложений для Golem;
● (++) Система репутации: протокол репутации, который позволяет узлу эффективно контролировать поведение сети;
● (++) Расширенная система транзакций: система, которая автоматически пытается сопоставить заказчиков с поставщиками таким образом, который наиболее выгоден для всех участников;
● (+++) интеграция devp2p — изменения в p2p и сетевых протоколах с использованием новой версии devp2p;
● (+++) MapReduce и топологическая сортировка задач: добавит следующий уровень абстракции, позволяя пользователям ставить более общие взаимозависимые задачи;
● (+++) Стандартная Библиотека Голема (Golem STD): независимый от используемого языка программирования функционал, обеспечивающий доступ к низкоуровневым компонентам ядра Голема.
Особое внимание будет уделено функциям ввода-вывода, которые используются задачами и подзадачами.
Каждый поддерживаемый язык программирования будет привязан к Golem STD. Эта связь будет служить средством расширения стандартной библиотеки соответствующего языка (также возможны специальные расширения от разработчиков языков программирования).
С помощью Golem STD возможно автоматическая постановка задачи, независимо от операционной системы.
Golem STD позволит пользователям создавать Голем-приложения с использованием различных языков программирования, что должно значительно увеличить количество возможных вариантов использования и упростить процесс постановки задач.
Будущие внедрения
В настоящее время многочисленные Ethereum DApps и будущие платформы находятся в разработке или на стадии альфа-тестирования Мы видим большие возможности в этой среде, не говоря уже о решениях, которые потенциально могут быть использованы как часть экосистемы Голема, либо непосредственно, либо как расширения.
Будет рассмотрена возможность интеграции следующих ниже систем, а их реализация будет зависеть от того как пройдет релиз рабочей версии Голема и сложности разработки:
● Платежные решения на основе P2P маршрутизации и транзакциях, например Raiden или многосторонние каналы оплаты;
● Внешние децентрализованные службы идентификации, например uPort;
● Внешние решения для верификации задач или репутации, например TrueBit;
● Внешние решения для хранения данных, например FileCoin, Swarm.
Краудфандинг
Краудфандинг Голема и выпуск токенов организованы на смарт-контрактах на Ethereum.
Участники, желающие поддержать развитие проекта Golem, могут сделать это, отправив эфир на определенный аккаунт.
Поступая таким образом, они создают GNT-токены (Golem Network Tokens) по ставке 1000 GNT за 1 ETH.
Участник должен отправить эфир на этот аккаунт после старта краудфандинга (StartBlock).
Краудфандинг заканчивается, когда создан EndBlock, или когда количество поступившего эфира, достигает максимума.
Резюме краудфандинга
![](https://habrastorage.org/web/bda/a4b/5f7/bdaa4b5f719b41799e8db04e9be4eedc.png)
* Минимальный объем финансирования для реализации краудфандинг контракта. Если минимальное финансирование не будет достигнуто, возврат средств будет осуществляться по отдельному контракту.
При запуске краудфандинга, адрес для сбора средств будет анонсирован по следующим каналам:
● Веб-страница проекта: golem.network
● Официальный Twitter: twitter.com/golemproject
● Официальный Slack: golemproject.slack.com (вы также можете присоединиться)
● Официальный блог: blog.golemproject.net
● Reddit: reddit.com/r/golemproject
Пожалуйста, перед отправкой ETH, дважды проверьте адрес. По соображениям безопасности мы рекомендуем сверить адрес, по крайней мере по двум разных источникам, указанных выше.
На веб-странице проекта вы также найдете подробное руководство о том, как участвовать в краудфандинге, используя кошелек Ethereum, либо Parity.
Краудфандинг реализован как смарт-контракт с использованием нескольких простых параметров:
● Golem Factory GmbH: контролирует смарт-контракт и адрес, по которому будет приниматься ETH (это multisig-адрес);
● Процент предраспределенных токенов составляет 18% (6% — Golem Team, 12% — Golem Factory GmbH);
● StartBlock, EndBlock: эти номера блоков указывают начало и конец краудфандинга;
● maxCap: максимальная капитализация краудфандинга, в GNT;
● Ставка создания GNT, в ETH.
Краудфандинг контракт соответствует нескольким важным правилам:
● До начала, ни один ETH не может быть отправлен в краудфандинг-контракт;
● После окончания краудфандинга (либо был достигнут maxCap, либо закончился период сбора средств), ни один ETH не может быть отправлен в контракт;
● Во время краудфандинга участники просто отправляют ETH в краудфандинг-контракт, что приводит к созданию GNT;
● Во время краудфандинга, все созданные токены заблокированы;
● Только после старта краудфандинга:
○ Любой пользователь может инициировать передачу ETH по адресу указанному Golem Factory GmbH;
○ Краудфандинг-контракт создает 18% токенов, которые идут на вознаграждение организаторов, т.о. количество токенов участников краудфандинга составляет 82% от общего количества, независимо от объема финансирования;
○ Краудфандинг-контракт завершает финансирование, в результате учредители получают свои токены, а выпущенные GNT разблокируются.
В коде контракта прописана сумма минимального финансирования. Если минимальное финансирование не достигнуто, то после краудфандинга эфир с аккаунта Golem Factory GmbH возвращается участникам.
Поскольку GNT по умолчанию заблокирован, если минимальное финансирование не достигнуто, в таком случае процедура возврата осуществляется просто и открыто.
Краудфандинг ведет к созданию GNT-токенов, которые являются основой сети Golem. Реализация GNT соответствует широко принятым стандартам с двумя доп.функциями, которые являются основой краудфандинга и будущих обновлений, а именно: создание токенов и миграция токенов:
● Создание токена — во время краудфандинга, краудфандинг-контракт может выпускать новые GNT (в соответствии с количеством отправленного ETH).
○ По умолчанию созданный GNT заблокирован (его невозможно перевести). Только когда краудфандинг закончен, токены разблокируются и участники могут их переводить.
○ Эта функция активна только во время краудфандинга, что не позволяет создавать токены после его завершения (после чего, кол-во токенов не меняется).
● Миграция токена — функция, которая реализует перенос GNT в другой контракт.
○ По умолчанию эта функция выключена, но если в какой-то момент требуется обновление GNT-токенов, создается отдельный миграционный контракт и предлагается компанией Golem
Factory GmbH, для передачи токенов в новый контракт.
○ Технически, если требуется обновление GNT, компания Golem Factory GmbH создает контракт, реализующий интерфейс MigrationAgent, и устанавливает в GNT контракте (по соображениям безопасности это можно сделать только один раз).
После этого каждый держатель GNT может решить, следует ли вызывать MigrationAgent.migrateTokens для отправки GNT в новый контракт или нет.
○ MigrationAgent можно реализовать только после того, как новый токен будет реализован и развернут.
Поэтому сейчас предоставляется только интерфейс.
Миграция должна быть использована, если в какой-то момент окажется, что по какой-либо причине (например, изменения в Ethereum или изменения в дизайне Голема) требуется обновление токена. Обновление может быть сделано держателями токенов и не может быть проведено Golem Factory GmbH.
Бюджет и финансирование
Эфир, собранный во время краудфандинга, будет использоваться Golem Factory GmbH в соответствии с дорожной картой, представленной выше.
Код краудфандинга подразумевает, что уровень финансирования проекта может быть любым в пределах между минимальным и максимальным финансированием (капитализацией).
Если необходимый уровень капитализации достигнут, дорожная карта должна быть полностью реализована.
Голем следует рассматривать как научно-исследовательский проект, использующий передовые технологии.
Прогресс, который уже нами достигнут в работе над альфа-версией Brass Golem, подтверждает правильность наших идей, представленных в этом документе, но мы понимаем, что впереди много работы.
Команда Golem готова выполнить все свои обязательства, касающиеся технологий, представленных в этом документе, но в конечном счете, все зависит от успешности краудфандинга.
При сценарии «минимальное финансирование» конечный результат это работающий Iron Golem с функциональностью, обеспечивающей создание децентрализованного рынка вычислительной мощности, а также простейший инструментарий для разработчиков, позволяющий интегрировать собственные программы в сеть Golem.
В частности, минимального финансирования будет достаточно, чтобы реализовать базовую версию Реестра Приложений и Структуры Транзакций.
При сценарии «максимальное финансирование» мы берем на себя обязательства по выпуску гораздо более продвинутой версии Iron Golem'a, которая не только нацелена на полное разрушение существующего рынка вычислительной мощности, но также развивает некоторые важные компоненты Web 3.0.
В частности, этот уровень финансирования позволит создать гибкую платформу для распространения и монетизации инновационных программных решений, в частности, DApps и микросервисов.
Если капитализация будет достигнута в ходе краудфандинга, команда Golem обязуется создать множество конкретных интеграций, полезных для всего сообщества.
Функциональность и финансирование
![](https://habrastorage.org/web/58d/bd1/354/58dbd13549574f369bf01c02e3f2ffb6.png)
![](https://habrastorage.org/web/31a/4de/786/31a4de78685b42d593582233b01885d3.png)
![](https://habrastorage.org/web/58a/dbb/aef/58adbbaef425446e872dff989cff5157.png)
![](https://habrastorage.org/web/0f0/ddf/2b5/0f0ddf2b56504090bb54ff12d9e89dd5.png)
![](https://habrastorage.org/web/e34/392/780/e34392780c594dd9bf19aee2f495f43c.png)
Структура бюджета при максимальном/минимальном уровне финансирования
Команда Гелема расходует средства исключительно на зарплаты работникам. Мы предполагаем, что при максимальном финансировании мы сможем содержать команду из 20 человек (большинство из которых разработчики) в течение 4 лет.
Офисные и сопутствующие расходы — включают в себя расходы на офисы в Цуге и Варшаве, а также на другие сопутствующие расходы, связанные с работой.
Подрядчики — сюда включены все третьи стороны, с которыми мы хотели бы работать.
Это большая часть бюджета в основном из-за ревизий безопасности (четыре в случае максимального финансирования: по одной на каждый этап). Юридические и бухгалтерские услуги также включены в эту категорию.
Мероприятия по подержанию и расширению сообщества строго связаны с планом расширения Голема.
Он включает в себя как коммуникационные, так и маркетинговые средства для привлечения в Голем новых сообществ, а также поддержки (финансирования или софинансирования) сторонних интеграций с Големом.
Мероприятия будут в основном ориентированы на привлечение заказчиков, чтобы обеспечить рост количества интегрированных решений, которыми активно пользуются участники сети Golem.
Категория дополнительных технологий включает расходы на внешние технологии, от которых зависит Голем. Скорее всего, будут финансироваться собственные разработки технологий необходимых Голему.
Фонд непредвиденных расходов рассчитывается как 10% от общего бюджета (5% при минимальном финансировании).
Команда Голема
Джулиан Завистовски
Генеральный директор и основатель
Петр ‘Viggith’ Янюк
Зам.директора, сооснователь
Анджей Регулиски
Исполнительный директор, сооснователь
Александра Скржипчак
Ведущий программист,
сооснователь
Алекс Леверингтон
Сеть P2P
Павел ‘chfast’ Билика
Ведущий инженер Ethereum
Марек Францишкевич
разработчик
Венделл Дэвис
БДМ
Адам Банасян
разработчик
Павел Перегуд
разработчик
Магдалена Стасевич
разработчик
Радослав Загуровикз
разработчик
Создание Голема это чрезвычайно сложная задача, требующая умной и преданной команды.
Некоторые из нас, в частности Джулиан, Анджей, Петр, Павел, Венделл и Радек, работали вместе над такими проектами как Ethereum, Hydrachain и Morfa.
Другие присоединились к Голему позже.
Алекс Леверингтон и Павел Билика были основными разработчиками Ethereum в течение многих лет, при этом Павел по-прежнему работает над виртуальной машиной Ethereum (EVM).
P.S. Ряд моментов (заголовки и т.д.) выделены мной, т.к. в первичном документе структура оставляет желать лучшего. В остальном — сохранён авторский подход. Также — оставлены все ссылки, кроме перекрёстных внутри документа. И последнее — благодарю за помощь в переводе А. Ушакова.