Блокчейн программирование курсы с созданием криптовалюты. Блокчейн программирование криптовалют


Как стать блокчейн-разработчиком

Если вы мечтаете создать свою криптовалюту, научиться писать смарт-контракты и блокчейн-приложения, но не разбираетесь в программировании, или же вы давно занимаетесь разработкой, но только узнали о криптовалютах и хотите переквалифицироваться, то это возможно, считает преподаватель Moscow Coding School Александр Суханов. Он рассказал, как самостоятельно изучить вопрос, какие знания пригодятся и где их искать. Также мы собрали несколько курсов, которые помогут быстрее разобраться в блокчейн-разработке.

Александр Суханов

Преподаватель Moscow Coding School

Если мы говорим о разработке смарт-контрактов на какой-то из платформ, например, Ethereum, то тогда «база» не нужна. Нужно только умение пользоваться поисковиками и немного терпения. Сами смарт-контракты задумывались именно для того, чтобы их могли создавать люди, не особо знакомые с кодингом. Единственная сложность, которая может возникнуть, — нехватка обучающих материалов, потому что эта технология очень молодая.

Если же речь идет о разработке собственного блокчейна, тогда нужна серьезная база. Но только ее будет недостаточно.

Главное — понять, как работает сама технология. Большинство ограничений в блокчейн-разработке связаны именно с особенностями технологии, которая не позволяет использовать некоторые паттерны проектирования. С этим же связаны первые сложности, которые возникают на этапе погружения. Однако после того, как у вас появится понимание самой технологии, проблем с тем, чтобы освоить один из языков программирования для написания смарт-контрактов, уже не возникнет. Кроме того, я бы рекомендовал внимательно прочитать White Paper той криптовалюты, на базе которой вы собираетесь писать смарт-контракты.

Разумеется, любые знания сейчас можно приобрести самостоятельно, как минимум потому, что большинство проектов выкладываются на GitHub. Основная проблема — в скорости получения знаний. С одной стороны, информации про блокчейн сейчас очень много, но она весьма поверхностная, поэтому большая часть времени уйдет на фильтрацию данных. С другой стороны, есть опасность, что вы просто повторите все действия преподавателя, скопируете весь код из книги, но так ничему и не научитесь. Поэтому я бы рекомендовал проходить курсы, где можно быстро приобрести базовые знания и параллельно заниматься самообучением, например, поставить себе цель — реализовать тот или иной проект.

Я считаю, что нет смысла разделять языки программирования по степени полезности для изучения чего-то нового. Язык программирования — это только инструмент, который подходит для тех или иных случаев.

В больших компаниях из Кремниевой долины вообще нет такого понятия, как разработчик на том или ином языке. Поэтому если вы умеете программировать — это большой плюс. Если у вас есть понимание того, как правильно это делать, знание основных принципов построения архитектуры и паттернов проектирования — это еще больший плюс.

Я рекомендую книги разработчика Андреаса Антонопулоса. Также, как я уже говорил, нужно прочитать White Paper той криптовалюты, на базе которой собираетесь разрабатывать. После того, как поймете саму технологию, переходите к чтению документации. Я бы не рекомендовал сразу начинать с выполнения тысячи и одного туториала, так как из-за того, что технология достаточно молодая, в качестве единственного достоверного источника может служить только официальная документация.

А вот после изучения документации можно перейти к выполнению простых туториалов. Что касается примеров кода, то есть достаточно много проектов с открытым кодом, которые легко найти на GitHub, даже у меня есть свой небольшой репозиторий, в котором я стараюсь объяснять, как работает тот или иной смарт-контракт.

Также сейчас есть сообщества для разработчиков, телеграм-чаты, онлайн-курсы, группы в LinkedIn и прочее, поэтому проблем с поиском комьюнити возникнуть не должно.

Видео-лекции «Введение в блокчейн-технологии»

Преподаватель казанского университета «Иннополис» Александр Колотов записал 69 лекций в которых пошагово разбирает блокчейн-технологии на примере платформы Ethereum. На видео — первая лекция, по ссылке можно найти полный курс.

Онлайн-курс «Программирование блокчейн-приложений»

Курс посвящен практическому применению блокчейна: как создать криптовалюту и написать смарт-контракт для Ethereum. Преподаватели помогут разобрать техническую сторону проведения токенсейла. С помощью курса обещают обучить даже тех, кто никогда не слышал о блокчейне и не программировал.

Курсы «Blockchain Developer» [Москва]

Организаторы предлагают 9-недельный интенсивный технический курс, полное погружение в блокчейн-разработку, овладение навыками работы с криптографическими средствами и системами, создание смарт-контрактов. Занятия начинаются 30 января 2017 года. Курс платный.

«Программирование смарт-контрактов на Solidity» [Санкт-Петербург]

Во время курса, который состоит из двух занятий, будут рассмотрены все вопросы программирования смарт-контрактов на блокчейне Ethereum. Он построен таким образом, чтобы обучающийся не только получил представление об особенностях программирования на Solidity, но и мог самостоятельно составить смарт-контракт, выполняющий определенную задачу.

decenter.org

Блокчейн Академия | BLOCKCHAIN ACADEMY

Блокчейн Академия - исследовательское и образовательное учреждение по блокчейнам, сайдчейнам, криптовалютам, цифровым активам и децентрализованным технологиям. Блокчейн Академия создана в 2013 году для обучения всех лиц, заинтересованных в криптовалютах, сотрудников банков и финансовых учреждений, профессионалов сектора fintech по всем аспектам блокчейнов, сайдчейнов, смарт-контрактов, криптовалют и любых других цифровых активов.

Особым приоритетом наших экспертов является вопрос обеспечения безопасности при хранении и использовании криптоактивов и информационных систем. Именно у нас консультируются разработчики и заказывают разработку и экспертизу проектов главы отделов крупнейших банков и прочих учреждений, которым поручено разработать и внедрить блокчейн в своих организациях.

Программы Академии для всех

Курс-тренинг "Мощный базовый": «Эволюция денег. Основы криптографии. Блокчейны. Криптовалюты. Bitcoin. Сайдчейны. Смарт-контракты.»

Углубленный курс «Сайдчейны: будущее мира криптоактивов»

Углубленный курс «Банки и консорциумы: от частных блокчейнов к R3 Corda и Hyperledger Fabric»

Углубленный курс «За горизонтом блокчейна»

Программы для инвесторов

Курс «Блокчейн для инвесторов: как не потерять средства, а сохранить и преумножить.»

Программы для центральных банков и регуляторов

Курс «Блокчейн: трансформация мира. Регуляторы в новом мире.»

Курс «Блокчейн для государств»

Программы для разработчиков

Углубленный курс «Смарт-контракты и децентрализованные автономные организации»

Углубленный курс «Создание блокчейн-систем. Теория.»(Мы разрабатываем и внедряем блокчейны на заказ.)

Углубленный курс «Масштабирование транзакционных систем: UASF, SegWit, подписи Шнорра, Lightning Network, микроплатежи, MW (UTXO)»

Углубленный курс-тренинг «IPFS: всемирная файловая система в действии»

Программы для специалистов по информационной безопасности

Курс-практика «Безопасность информационных систем» (2 недели, начало в сентябре)

Преподаватели

Преподаватели Академии имеют уникальное сочетание: серьёзный опыт работы в банковском секторе + солидные знания в области информационных технологий, систем информационной безопасности и криптографии. На отдельные лекции приглашаются признанные экспекты с мировой известностью в области криптографии, криптовалют и технологий блокчейн/сайдчейн. Подробнее

Ценности Академии

Ясность - в результате обучения вы будете иметь ясную картину.

Качество - мы круглосуточно работаем над совершенствованием знаний и материалов и стремимся давать вам максимально качественный и свежий контент и информацию, вкладывая всю душу в то, что делаем.

Лёгкость - мы объясняем сложные вещи простыми словами. Вам будет легко понять как всё работает.

Точность - вам не придётся проверять информацию. Мы даём только то, что лично проверили, и отвечаем за качество.

Нейтральность - мы нейтральны и не будем навязывать вам какие-либо решения и платформы. Мы не имеем никаких проектов и продуктов, которые могут нести конфликт интересов. Мы категорически не предлагаем вам никуда инвестировать и вкладывать. Мы категорически против ICO. Даже не пробуйте просить нас организовать вам ICO. Нет ни единого шанса, что мы будем в подобном участвовать. И мы обязательно продолжим рассказывать о рисках всех проектов, продуктов и бирж, которые освещаем.

Открытость и прозрачность - мы считаем это важным и поэтому постоянно предупреждаем о мошеннических проектах с сфере крипто, за что часто подвергаемся информационным атакам со стороны мошенников, чьи планы мы срываем, выводя их на чистую воду.

Блокчейн Академия консультирует. Мы знаем всё, что происходит в индустрии.Стоимость и степень полезности нашей консультации мы вместе с вами определим до консультации. Вы будете иметь чёткое представление о том, за что и сколько платите.

О мероприятиях мы объявляем в нашем канале telegram: @BlockchainAcademy.

BitLenta - сочная и быстрая выжимка самых важных новостей о мире крипто. У нас есть инсайд везде. Хардкор. Антихайп. Все знают, что БитЛента это качество. Только живые читатели. (В отличие от прочих каналов с ботами). В Ленте есть все. 100% охват.

block.academy

Основы Blockchain — образовательный онлайн-курс от Skillbox

Программа курса

На курсе вы получаете теорию плюс домашние задания: отработка новых навыков на практике, а также раздатка со списком полезных книг, подкастов, YouTube
и Telegram каналов

3. Примеры существующих криптовалют (5-10 штук)

В чем фундаментальная разница между валютами? Уровни анонимности, ограничения, целевое применение, смарт-контракты, обоснование курса валюты, потенциал развития, возможности, планы ближайшего развития.

4. Криптовалютные кошельки

Онлайн, оффлайн, для компьютеров и телефонов. Уровни безопасности кошельков и особенности хранения паролей. Как купить биткойны или эфиры за рубли, какие комиссии бывают, какие курсы, где дешевле покупать и дороже продавать. Как обеспечить безопасность сделки? Сколько времени идут биткойны или эфиры по сети?

5. Основы ICO

Что такое ICO и ITO? Чем токен отличается от койна? Критерии доверия к проектам, структура WhitePaper, методики продвижения, поиск команды, алгоритм проведения pre-ICO, алгоритм проведения ICO, инвестиционные фонды, как инвестировать в ICO. Как успеть вложиться в хороший проект, если его ICO закрывается за пять минут? Техника безопасности при инвестировании в проекты: удачные и неудачные примеры.

6. Основы трейдинга

Виды бирж, особенности работы, комиссии за вход, выход и транзакции, скорость работы, уровни анонимности, объемы торгов, возможности алготрейдинга. Уровни подтверждения личности, срок и сложность прохождения проверок, лимиты на ввод и вывод. Легальность работы с криптовалютами. Критерии выбора биржи: безопасность, юрисдикция, история, объемы торгов, удобство инструментов.

7. Майнинг

Что такое майнинг, стоит ли им заниматься, какие ограничения и рентабельность, какие валюты на каких устройствах можно майнить, перспективы на ближайшие месяцы и годы.

8. Юридические вопросы

Как легально купить или продать криптовалюту, как легально вывести проект на ICO, какие гарантии дают или не дают токены, как читать смарт-контракты.

Бонус На мастер-классе вы получите в подарок словарь молодого крипто-бойца

На мастер-классе вы получите в подарок словарь молодого крипто-бойца: список всех терминов, которые используются в сообществах и статьях по теме блокчейна. За 5 минут вы изучите этот язык и сможете уверенно общаться о криптовалютах. А также раздатка со списком полезных книг, подкастов, YouTube- и Telegram-каналов.

skillbox.ru

Блокчейн программирование курсы с созданием криптовалюты ⋆ InBenefit

Даже если вы далеки от программирования, вы должны были слышать о блокчейне, криптовалюте, биткоине и так далее. Эти слова для большинства среднестатистических пользователей означают неведомые интернет-деньги, которыми даже пользоваться невозможно. Но в реальности все совсем по-другому. Блокчейн программирование курсы вам докажут обратное, поскольку технологии блокчейн программирования на сегодняшний день являются одними из самых востребованных и актуальных.

Перед тем как перейти непосредственно к онлайн-обучению, давайте разберемся с тем, что же такое блокчейн. В сущности, блокчейн представляет собой цифровую распределенную базу данных, которая состоит из целого списка так называемых блоков. Преимущество блокчейна заключается в криптографической защите, реализуемой с помощью хэш-функции.

Основной причиной использования такого типа структуры данных для криптовалют является ее децентрализация, которая на практике означает, что записи в цепочке блоков транзакций хранятся не в одном месте, а доступны в любой точке мире и не могут быть изменены сторонними лицами.

Вопреки расхожему мнению, блокчейн используется не только для криптовалют типа Bitcoin. Кроме возможности отправления денег по всему миру продавцам и физическим лицам блокчейн также можно использовать для создания цифровых активов вроде акций и долговых обязательств. Также с помощью блокчейна можно создавать достоверные записи для любых данных, файлов и, например, контрактов. Такой вариант применения актуален для сфер, в которых используются большие данные. Прежде всего это медицина и правительственная сфера.

Блокчейн программирование курсы с созданием криптовалюты

блокчейн программирование курсы с созданием криптовалюты 01блокчейн программирование курсы с созданием криптовалюты 01

Блокчейн программирование курсы помогут вам стать настоящим профессионалом, который разбирается в современных технологиях. А зарабатывать в такой сфере можно значительно больше, чем на обычном программировании, учитывая серьезность проектов и востребованность технологии. Найти самые лучши

inbenefit.com

Интервью с разработчиком IOHK Александром Чепурным о программировании криптовалют и будущем блокчейна

Мы продолжаем серию интервью с докладчиками конференции DUMP, которая пройдёт 14 апреля в Екатеринбурге. Готовы интервью с программистом JetBrains Андреем Акиньшиным о том, как начать выступать на конференциях, и разработчиком Dropbox Леонидом Васильевым о жизни и работе в Ирландии.

Под катом — интервью c Александром Чепурным, научным сотрудником в компании IOHK, где он разрабатывает библиотеки с открытым кодом, например, Scorex — библиотеку для построения блокчейн-систем. Александр с 2013 года занимается блокчейн-проектами, разрабатывал ядро платформы Nxt, был одним из основателей smartcontract.com.

Александр рассказал, чем разработка криптовалют отличается от разработки другого ПО, как начать программировать деньги и когда произойдет массовое внедрение блокчейна.

— Чем ты занимаешься? Как это связано с криптовалютой? Над чем сейчас вы работаете? В данный момент я работаю в компании IOHK, занимаюсь написанием кода и статей заодно. В частности, фреймворков Scorex и Scrypto. С конкретными криптовалютами в данный момент не работаю. До этого был разработчиком NXT и одним из основателей smartcontract.com.

— Чем разработка криптовалют отличается от разработки другого ПО?

C одной стороны, сообщество требует новых функций и релизов как можно скорее, ведь ситуация на рынке меняется очень быстро, и внимание пользователей переключается тоже. С другой, требования по качеству кода в некоторых аспектах приближены к критическим системам (разработчики которых имеют привилегию сидеть в кабинетной тишине годами). Плюс приходится постоянно смотреть, как работает сеть, почему от нее могут отваливаться узлы пользователей, какие сейчас идут атаки на сеть (на более-менее популярные криптовалюты атаки осуществляются регулярно).

Программировать криптопротоколы — непростое занятие, достаточно посмотреть на пример OpenSSL и его уязвимостей. Пиринговые сети тоже уязвимы, даже если мотивации для атак может быть и немного. В популярных криптовалютах сильное желание найти уязвимость или грубо «положить» значительную часть системы обычно есть много у кого :)

Несколько лет назад многие вещи были непонятны никому в мире из-за недостатка наблюдений. Для меня лично очень многое открылось после изучения списка уязвимостей Биткойна и осенних атак на Ethereum, не говоря о собственных многочисленных ошибках, как в дизайнах, так и в реализации.

— Чтобы программировать криптовалюту, нужна какая-то особая подготовка?

Всегда пригодятся предельная аккуратность и щепетильность. Из практических навыков полезно понимать базовые вещи из криптографии, иметь за плечами опыт разработки распределенных систем и оптимизации производительности, уметь писать качественный код. Также очень полезно уметь показывать свой код максимальному числу людей вокруг и работать над критикой.

— Что бы ты посоветовал программистам, которые хотят попробовать себя в сфере криптовалют? Для начала, думаю, стоит попробовать разобраться и сделать что-нибудь полезное (хотя бы тест написать) для уже существующего фреймворка или клиента на любимом языке программирования. Практически всем им нужны разработчики-энтузиасты.

— Какие на сегодня самые большие проблемы у криптовалют? Как вы их решаете? Безусловно, масштабируемость. В тематических медиа упор делается на пропускную способность, выражаемую в числе условных транзакций в секунду. Конечно, всегда хочется писать больше в блокчейн, но он совсем не резиновый, точнее, есть весьма строгие лимиты памяти и дисковое пространство для его хранения и получаемого из него состояния (которое должно целиком или наиболее часто запрашиваемой частью помещаться в RAM).

Это, кстати, один из аргументов против увеличения размера блока в Биткойне. Изменить константу — не самая большая проблема. Сложнее потом решить, что делать с ускоренно растущим размером множества неизрасходованных монет (UTXO set) и числом узлов сети, хранящих у себя лишь ограниченное число последних блоков (режим pruning).

В качестве решения хотелось бы хранить меньше данных или хранить не всем, а гарантии безопасности иметь такие же. В качестве первой работы в данном направлении я и мои коллеги в эти дни презентуем на Financial Cryptography’17 решение, позволяющее узлам сети (за исключением майнеров) не держать у себя состояния системы совсем, но иметь гарантии его целостности. Надо также уходить от загрузки блокчейна новыми нодами целиком и, соответственно, от необходимости обязательного его хранения (кем бы то ни было, за исключением заголовков, но они маленькие). Фактически после осенних атак Ethereum к этому приходит. Необходимо, однако, добиться того же уровня безопасности (и для начала сформулировать, что это может значить формально). В ближайшее время будет и про это выпущена работа.

— Будет ли Биткойн когда-нибудь замещён другой криптовалютой? Весьма вероятно. На данный момент Биткойн является уникальным случаем экосистемы, которая выросла до достаточных размеров, чтобы стать практически неспособной к изменениям из-за политических причин. Между тем изменения в Биткойне нужны, но разным фракциям разные.

Из-за последних конфликтов внутри сообщества начали говорить о возможном разделении Биткойна на Core и Unlimited. Думаю, это вряд ли произойдет, слишком большой урон могут понести обе стороны. Хотя много маловероятных событий уже успело произойти, так что исключать ничего нельзя.

— Существуют сотни блокчейн-валют со странными названиями. Как отличить перспективные от жульнических?

Весьма сложно без знания области. Перспективный продукт должен иметь сильную команду, внятный whitepaper и постоянное развитие. Но даже это может не помочь.

— Как ты считаешь, через сколько произойдет массовое внедрение блокчейна в банковской среде? И произойдет ли? Несколько лет назад разговоры были о том, что Биткойн сделает банки ненужными. Сегодня принято продавать банкам блокчейны. Я надеюсь, модификация финансовой среды все же пойдет дальше внедрения блокчейна куда бы то ни было внутри банков.

— Как тебе кажется, в каких прикладных сферах в ближайшем будущем блокчейн будет работать и станет нам привычен?

Блокчейн и криптовалюты удобны для облегчения платежей, ведения реестров, создания финансовых инструментов (особенно краткосрочных) и коллективной деятельности с финансовой составляющей.

Надеюсь, что краудфандинг и благотворительность уйдут в криптовалюты, как и реестры прав собственности (если позволит технология, в данный момент — нет), голосов. Современные технологии, впрочем, не позволяют пока проводить голосования по критическим для общества вопросам в электронном виде, даже если не брать в расчет проблемы блокчейнов. Хотелось бы видеть больше финансовых инструментов под конкретные нужды (таких, как уткотокены), это может серьезно оживить экономическую деятельность за пределами мегаполисов.

14 апреля Александр выступит на конференции DUMP в Екатеринбурге. Расскажет о возможностях новых парадигм и языков, работающих в новых условиях, поверх блокчейна. Кроме этого, Александр осветит работы последних лет в теории языков программирования и криптографии, которые способны решить имеющиеся проблемы.

Спасибо нашим спонсорам: генеральному спонсору — компании E-Soft, партнёрам конференции — СКБ Контур, Naumen, Сбербанк-Технологии.

habr.com

Руководство по разработке блокчейнов (Часть 2)

blockchain

В предыдущей части мы рассказали о причинах, по которым разработка блокчейнов на сегодняшний день является крайне перспективной сферой деятельности, а также поговорили о том, какие базовые знания понадобятся для более глубокого ее изучения.

В этой части мы расскажем о двух самых популярных криптовалютах – Биткоине и Эфириуме.

Теоретические основы Биткоина

В октябре 2008 года Сатоши Накамото опубликовал белую книгу, в которой описал протокол децентрализованной цифровой валюты. Он назвал этот протокол Bitcoin.

Прежде чем приступить к изучению основных идей блокчейнов, вам нужно начать с Биткоина и понять изначальное видение Сатоши.

Для начала я рекомендую познакомиться с протоколом Proof-of-Work и правилом выбора форка (также известном как консенсус Накамото). Начните с этого видео:

Рекомендую посмотреть еще несколько видеоматериалов, чтобы эта идея прочно закрепилась в вашем сознании.

Прекрасно. А эта статья поможет сформировать более глубокое и цельное понимание того, как работают важнейшие компоненты сети Биткоина.

Строим блокчейн

Теперь, когда вы получили нужные знания, можно попробовать собрать собственный блокчейн на основе Proof-of-Work. Не бойтесь, это только звучит страшно. Чуть ниже я перечислю несколько ресурсов, которые смогут вам помочь.

Во-первых, у меня есть видео лекции, в ходе которой я рассматриваю весь процесс разработки блокчейна на Ruby (рекомендую посмотреть, даже если вы не программируете на Ruby):

Источник и слайды лежат здесь.

Вы можете найти еще много примеров реализации блокчейнов на разных языках программирования. Теперь постройте свой блокчейн и порадуйтесь тому, что он в целом работоспособен.

К этому моменту у вас уже должно сложиться некоторое представление о том, как разработать простую платежную систему на основе блокчейна (как Биткоин, например). Кроме того, вашего опыта должно быть достаточно для чтения и понимания белой книги Биткоина в оригинале.

Для того чтобы понять экономику и механику майнинга биткоинов, я рекомендую прослушать соответствующую лекцию из курса Bitcoin and Cryptocurrencies Принстонского университета.

Если вы добрались до этого этапа, вы сможете изучить заголовки блоков Биткоина и понять, что каждый из них означает. Вы также сможете попробовать поработать с программой анализа блоков Биткоина и научиться отслеживать необработанные транзакции.

Это хороший момент, чтобы ознакомиться с историей Биткоина и других криптовалют. В видео ниже, предоставленном UC Berkeley Decal, вы найдете отличный обзор этой темы:

Вот некоторые дополнительные ресурсы:

  • Научные предшественники Биткоина
  • Механика Биткоина: Код Биткоина и UTXO (программный код Биткоина не так уж и важен, просто познакомьтесь с его возможностями)
  • Краткий гид по форкам Биткоина
  • Софт-форки и сигнализирование майнеров
  • Двойные траты, атаки 51% и корыстный майнинг
  • Атаки повторения
  • Проблема масштабируемости Биткоина, основной источник проблем в экосистеме Биткоина. Вы должны понимать, почему люди в Биткоин-сообществе так ожесточенно спорят по поводу размеров блока.
  • Segregated witness, он же SegWit – не самое необходимое знание, но очень часто упоминаемая тема.
  • Lightning Network, одно из наиболее популярных решений проблем масштабируемости для Биткоина, равно как и для многих других блокчейнов.
  • Полные ноды Биткоина, статистика по комиссиям Биткоина, графики, графики и еще раз графики.
  • Индекс энергопотребления Биткоина (на момент публикации майнинг биткоинов потребляет столько же энергии, сколько Перу)
  • Проницательное эссе от Gwern на тему разрозненности и неэлегантности Биткоина.
  • При желании вы сможете найти множество дополнительных материалов на странице Джеймсона Лоппа (Jameson Lopp).

Эфириум и разработка смарт-контрактов

эфир

После того как вы построили блокчейн и поняли динамику сети Биткоин, пришло время вплотную заняться Эфириумом.

Вы уже знаете, как блокчейн и правило Proof-of-Work обеспечивают распределенное решение задачи византийских генералов в peer-to-peer сетях. Но платежная система – это лишь одна из возможных реализаций подобного блокчейна. Виталику Бутерину, создателю Ethereum, в 2013 году пришла в голову идея: что, если использовать блокчейн для создания децентрализованного компьютера?

В сети Эфириум вы платите майнерам за выполнение ваших программ на распределенной виртуальной машине. Это значит, что вы можете производить вычисления любой сложности с помощью Тьюринг-полного (в отличие от кода Биткоина) языка программирования. Очевидно, что с помощью этого метода можно создавать в том числе и платежные системы. Соответственно, Эфириум предоставил расширенную по сравнению с Биткоином функциональность и дал старт новой волне инноваций.

Мы подошли к смарт-контрактам – так называются программы, запускаемые на подобных виртуальных машинах. В ходе выполнения программы смарт-контракт может напрямую взаимодействовать с криптовалютой блокчейна. То есть вы можете создать финансовые контракты, которые автоматически обеспечивают сами себя. Это совершенно потрясающая идея, на основе которой можно реализовать абсолютно футуристические идеи.

Появление Эфириума привело к целой волне ICO и притоку разработчиков приложений на основе блокчейнов. Сегодня Ethereum является второй по популярности криптовалютой после Биткоина, у него сильнейшая команда, в которой более чем в 10 раз больше разработчиков, чем у следующего за ним конкурента, наиболее развитый инструментарий, и поэтому огромное количество проектов и ICO построено именно на основе Эфириума. Также он давно пользуется мощнейшей поддержкой сообщества. Если вы занимаетесь блокчейн-разработкой, вероятнее всего, вы пишете код смарт-контрактов для Ethereum. И даже если это не так, имеет смысл знать, что происходит в этой сфере.

Начнем с более развернутого объяснения Эфириума:

Идеи, лежащие в основе Эфириума, привели к целой волне инноваций в области криптоэкономики. Изучите идеи, послужившие основой для создания децентрализованных автономных организаций (DAO) и сопутствующие им футуристические мечты.

Так, довольно фантазий, вернемся к техническим деталям.

Здесь находится отличный обзор желтой книги Эфириума и его составляющихот Прити Касиреди (Preethi Kasireddy). Эфириум использует учетную модель в отличие от UTXO-модели Биткоина. Вскоре вы поймете, почему эта модель упрощает написание смарт-контрактов.

Лучший способ познакомиться с Эфириумом (как и с любой другой технологией) – реализовать на нем несколько небольших проектов.

Основным языком программирования Эфириума является Solidity – статически типизированный, похожий на JavaScript язык с множеством шероховатостей и спорных решений. Как только более надежные языки – например, Viper – будут готовы к использованию, они смогут заменить Solidity, но сегодня именно он является своеобразным эсперанто при разработке смарт-контрактов. По сути, это JavaScript Эфириума, и вам нужно его изучить (вместе с его подводными камнями).

Я рекомендую вам начать с пособия CryptoZombies. Это очень качественное пособие, похожее на материалы от Codecademy, в котором описаны основы разработки на Solidity.

криптозомби

Теперь, после того как вы немного подогрели свой интерес, приступим к собственно разработке.

Аналогом “hello world” в мире Эфириума является разработка ERC-20 токена. В качестве первой инструкции по этому процессу я рекомендую этот материал.

Remix – это браузерный редактор и компилятор Solidity. По сути, это тренажер разработки в среде Ethereum, поэтому я рекомендую с этого момента все практические занятия выполнять в нем. Вам также стоит поднять локальный блокчейн и опробовать инструментарий Эфириума. Это пособие поможет вам построить блокчейн и расскажет обо всех его компонентах.

На следующем этапе я бы построил систему голосования. Назовем ее Первое Приложение Эфириума. У Карла Флерша (Karl Floersch) есть отличный гайд по разработке безопасной системы голосования по схеме «коммит-раскрытие».

Отлично, теперь небольшая проверка: смоделируйте безопасную игру, в которой два игрока смогут безопасно сделать ставки на результат подбрасывания монетки. На этот раз я не даю вам инструкций, реализуйте ее самостоятельно. Подумайте о том, каким образом участники могут мошенничать? Какие могут быть атаки на эту игру? Можете ли вы обеспечить добросовестное поведение обоих игроков? Здесь вы найдете несколько ценных советов.

Безопасность смарт-контрактов

В разработке блокчейнов важнейшую роль играет безопасность. Смарт-контракты несколько раз подвергались разрушительным взломам, таким как взлом DAO, взлом Parity, и последующий взлом Parity 2 (на этот раз даже с фирменной футболкой). Если вы хотите писать смарт-контракты, то вам обязательно нужно изучить аналитику по всем этим случаям взлома.

Дело в том, что смарт-контракты крайне сложно правильно реализовать. Несмотря на то что инструменты разработки улучшаются, устраняя возможность атак данных типов, все эти атаки стали возможны из-за ошибок в программном коде. Смарт-контракты являются также причиной появления многих труднонаходимых ошибок, таких как фронтраннинг или безопасная генерация случайных значений.

Как у разработчика смарт-контрактов, ваше стремление к безопасности должно граничить с паранойей. Здесь не подходит правило Кремниевой долины “move fast and break things” (“действуй быстро и ломай все, что мешает”). Это значит, что код, обрабатывающий денежные потоки, должен быть вначале обработан статическими анализаторами типа Oyente или Securify, затем тщательно протестирован, и в конце отправлен на проверку опытному аудитору в области смарт-контрактов. Вам также стоит ориентироваться на уже проверенные программные компоненты, например, открытые контракты OpenZeppelin.

Для развития навыков в области безопасности, пройдите The Ethernaut, игру от OpenZeppelin, в которой нужно отыскать и устранить уязвимости в смарт-контрактах. Многие из описанных уязвимостей привели к реальным атакам на смарт-контракты.

У Фила Дайана (Phil Daian) тоже есть отличный набор заданий на взлом смарт-контрактов под названием Hack This Contract.

После этого, я крайне советую вам полностью прочитать Лучшие практики смарт-контрактов (Smart Contract Best Practices), собранные ConsenSys. Вам еще не раз придется возвращаться к этому документу в своей карьере разработчика смарт-контрактов. Экспертам в области безопасности стоит ознакомиться с материалами из этой подборки.

(Продолжение следует)

Будь в курсе! Подписывайся на Криптовалюта.Tech в Telegram

cryptocurrency.tech

Как программисту получить криптовалюту за коммиты. Топ-8 идей белорусского блокчейн-хакатона

Первый в Минске хакатон по блокчейну собрал полный аншлаг — около 200 человек в бизнес-клубе Imaguru. Из 20 команд, заявленных на открытии, до финала дошли 14. По словам участников мероприятия, такого ажиотажа на хакатонах ещё не было — блокчейн сейчас на пике популярности. Команды от двух до пятнадцати человек боролись за «эфиры», «голосы» и «вэйвсы».

Команда BCDVCS создала дополнение для социальной сети Golos, которое объединяет её с репозиторием Git. Суть разработки в том, чтобы программисты не просто «для галочки» коммитили проекты, а получали за это криптовалюту.

Проект реализован на базе библиотеки Ditch-Golos.io. По словам команды, с этой библиотекой пришлось изрядно помучиться — документации мало и составлена она плохо. «Мы выбрали язык С#, потому что это единственный язык, на котором умеют программировать все четверо человек в команде. Реализация проекта, конечно, была непростой, но всё получилось. Мы смогли связать Git и Golos и дать возможность опенсорс-программистам получать небольшие деньги за свои коммиты. Раньше они делали это бесплатно, просто ради поднятия своего опыта, а сейчас — за небольшие деньги», — сказал разработчик проекта.

Главный приз от Waves Platform — 1000 waves забрала команда Apps Crunch, которая создала опенсорс-решение для безопасного хранения разных криптовалют. Это своего рода мобильный кошелёк, в котором можно хранить все свои криптовалютные сбережения. Для транзакций и получения счетов ребята использовали библиотеки площадок Golos, Ethereum и Bitcoin. По словам участников команды, они чувствуют себя «мурашками» на хакатоне:

«Есть команды, которые гораздо сильнее. Но и, как любые мурашки, мы очень полезны». Ребята говорят, что уже готовы «релизить» продукт в App Store и Google Play.

Команда Profify получила 500 waves от представителя блокчейн-платформ Waves за конструктор программ лояльности. Сервис, разработанный командой за два дня на хакатоне, позволяет получить кэшбэк от магазинов в виде криптовалюты, а в последующем рассчитаться ею в других торговых точках.

«Таким образом мы хотим популяризировать блокчейн и криптовалюты среди обычного населения. Мы верим, что криптовалюта — это будущее», — заглянула вперёд представитель команды.   

Проект умного города DAO SmartCity при помощи блокчейна в будущем свяжет устройства и людей едиными каналами. На хакатоне команда разработала один из элементов этой системы — эффективное принятие коллективных решений. Домовладельцы и товарищества собственников первыми протестируют эту платформу.

Жильцы дома будут на общее обсуждение выносить вопросы, касаемые их подъезда, этажа или района. Общим платежом можно будет оплатить благоустройство участка или ремонт.

Сервис DAO SmartCity построен на сети golos.io. По словам представителей команды, взломать аккаунты пользователей невозможно — все данные зашифрованы. Зато их можно передать в наследство, как квартиру. Это своего рода паспорт на жильё: с теми же изменениями и жизненным циклом.

Проект CertChain.io, получивший главный приз от CyberFund — премию Ethereum и 6 ETH, решает проблему с сертификацией товаров, услуг и компаний. По словам представителя команды, сейчас практически невозможно узнать, кем и когда был выдан сертификат. К тому же, его подлинность не всегда возможно установить — «зафотошопить» дату или аудитора проще простого. Команда создала доверительную распределённую систему, основанную на смарт-контрактах.

«Благодаря этой системе некачественный продукт не попадёт на рынок», — сказала Татьяна Солодовникова.

В демо-версии продукта уже существуют внутренние токены, которые можно переводить и которыми можно оплачивать услуги аудиторов и сертифицирующего органа.

Номинация от Golos Fund и приз в виде 15000 golos достался команде Askgolos, написавшей API для поиска по социальной сети «Голос».

По словам представителя команды Алексея Куделька, в реализации проекта было немало трудностей, пришлось сменить две идеи и создать демо-версию за полдня. «Нам пришлось проиндексировать блокчейн системы golos.io, выгрузить всю информацию и положить в Solr. На мой взгляд, Solr — это очень сложный инструмент. Мы много времени потратили, чтобы его развернуть, но в итоге сделали, что сделали», — сказал лидер команды.

Сборная команда «Ноев Ковчег» (Калининград, Челябинск, Киев, Минск) конвертирует акции реальных компаний в криптотокены, чтобы они могли быть «торгуемы для криптоинвестора». «Это очень похоже на депозитарный финансовый институт, который конвертирует акции компаний в депозитарные расписки, чтобы они могли торговаться на глобальных рынках», — пояснил концепцию проекта бизнес-аналитик.

Внутри платформы есть возможность конвертации стоимости реальной акции в «эфир». «Сейчас у криптоинвесторов немного вариантов, куда можно уйти во время колебаний криптовалют. А мы предоставляем им возможность переливаться в те инструменты, которые привязаны к реальным акциям», — сказал представитель команды.

Commentity — веб-сервис для комментариев с возможностью вознаграждения пользователей за активные действия. Криптовалюту можно будет получить в том случае, если комментарии нравятся пользователям, их лайкают и отвечают на них.

«На этом хакатоне мы работали с платформой Golos, потому что у неё уже реализовано вознаграждение за посты и комментарии. Мы прикрутили её блокчейн к нашему движку, чтобы в дальнейшем масштабировать идею (вознаграждение пользователей за их действия — прим.ред.) на другие сайты», — пояснил представитель команды Владимир Скармохович.

Через настроенный API команда может передавать комментарии, данные о пользователях в блокчейн Golos и размещать информацию внутри него: «Совсем скоро сторонние сайты смогут установить наш виджет у себя. После это их пользователи будут оставлять комментарии, общаться и апвоутить друг друга, получая за это криптовалюту».

Фото: Глеб Соколовский, Imaguru

Нашли в тексте ошибку — выделите её и нажмите Ctrl+Enter.

dev.by


Смотрите также