И снова осенью нас потянуло в Санкт-Петербург. На этот раз наша школа пройдет в Технопарке Университета ИТМО с 28 октября по 5 ноября. Ждем ребят со всей России, по традиции есть куча грантов по всем направлениям школы. В этот раз они не простые, а умные. Ниже рассказ от участников школы о том, как так вышло.
Рассказ от лица создателей
Был жаркий август. Шла очередная летняя школа GoTo. На направлении функционального программирования все было неспокойно: вместо пота с нас капали монады, и в небе пролетала хмурая тень Coq-а.
Наша смена проходила вполне обычно, как и во всех детских лагерях. После проганья своих интов на хаскелле мы препарировали компиляторы и интерпретаторы разных сортов и размеров (от самопального до LLVM), писали своё ядро на расте, обсуждали теорию групп, в общем, было задорно. Отдельного внимания заслуживают наши приключения в мире моноидальных кофункторов и прочих стрелок в категориях; но если мы заострим на этом слишком много внимания, автор может уйти в эти прекрасные дебри и рискует оттуда не вернуться, так как его пирамида Маслоу была перевёрнута взрывным количеством крутости и теперь при обсуждении высшей математики он уходит в безудержный трип длинной в пару дней.
В один прекрасный момент организаторы решили развеселить заботанных до полусмерти участников и устроить им хакатон, результаты которого должны были перевернуть жизнь GoTo с ног на голову и открыть перед всеми космические дали продуктивности. Естественно, это действо не прошло мимо нас, и, позвав одного очаровательного технического евангелиста с направления биоинформатики, мы начали напряженно думать.
Концепции менялись одна за одной: от криптографии на решетках (ведь без этого не может существовать ни один уважающий себя лагерь) мы пришли к созданию своего блокчейна. “Что же он будет делать?”, - спросил один из членов нашей команды. Так как в тот момент наши неискушенные умы находились под большим впечатлением от теории категорий, мы немедленно закидали его камнями. И продолжили.
Но вот мы привыкли к собственной крутости и решили всё таки задуматься: зачем нам в лесу блокчейн?
Мало того, есть же еще одно модное слово, значение которого понятно далеко не всем. Но кого это останавливает. Официальное определение смарт контракта - компьютерный алгоритм, для контроля исполнения обязательств двух или более сторон, реализованный на технологии блокчейна.
Можно сказать, что “создание смарт контракта” является благозвучным термином, обозначающим добавление бизнес логики в блокчейн. Т.е. добавление некоторых правил, благодаря которым при совершении необходимых действий система автоматически совершает предписанные ей инструкции.
Матильда и уголь
Представьте, что вы хотите закупить партию угля у компании “Матильда”. Вы договариваетесь, что переведете им оплату, когда вагоны с углём будут разгружены в Петербурге и для того, чтобы автоматизировать весь процесс и по максимуму убрать из него человеческий фактор, ставите на вагон GPS трекер и датчик, показывающий вес груза в нём. Вы даёте перед системой обязательство выплатить оговоренную сумму, если груз будет разгружен где надо и в оговоренные сроки. Когда этот датчик пришлет информацию о том, что груз разгружен и координаты места, где это произошло (давайте верить, что этот датчик работает идеально и прекрасно защищён от взлома), система сравнит их с заданными, и если разгрузка происходит где надо, она автоматически совершает перевод, если же разгрузка не происходит в срок или происходит, но где-то на территории Китая, ваше обязательство с вас снимается. Все ваши обещания и всё происходящее с грузом записывается в блокчейн, а это значит, что система всегда будет работать с истинной информацией о происходящем и повлиять на запрограммированное поведение практически невозможно. Благодаря этому “Матильда” может спокойно везти вам свой уголь, не сомневаясь, что работа будет оплачена, а вы можете не переживать, что вам ничего не привезут, в случае перевода предоплаты.
Очевидно, что у смарт контрактов большой потенциал использования в торговле, логистике, медицине и многих других отраслях. Эта технология может изменить то, как мы смотрим на ведения бизнеса, какое место банки и правительства занимают в нашей жизни и многое другое, о чём мы можем даже не догадываться или считать научной фантастикой.
Мы были вдохновлены перспективами и общей крутостью этой технологии и решили построить на её основе систему начисления грантов в GoTo.
В школе GoTo существует система грантов, направленная на привлечение в лагерь бравых дам и мужей, не способных по какой-то причине оплатить участие в школе, но желающих и могущих создавать что-то крутое.
Как это работает сейчас?
Перед школой организаторы объявляют гранты на обучение на конкретные направления. Часть этих грантов выделяется из общего пула денег, выделенных спонсорами.
Юный программист выбирает интересное ему направление, смотрит задачу, кодит решение, присылает результаты по почте или же сдаёт их на kaggle или т.п..
Соответственно у системы грантов есть два основных типа пользователей: братья-прогеры и товарищи-инвесторы.
Больше филантропов
Представьте, что вы бизнесмен-филантроп, ищущий возможность поддержать талантливых школьников рублём и помочь в выращивании новой научной и бизнес элиты (есть ещё вариант, что вы просто хотите попиарить свою компанию, но автору больше нравится красивая версия). Вы рассматриваете варианты разных школ, лагерей и кружков, в которые вы можете вложить деньги. Вам хотелось бы быть уверенным, что грант получит человек с действительно крутым решением, а не просто сын племянника дочери собаки тёти директора.
Блокчейн позволяет вам в любой момент посмотреть, какой путь прошли ваши инвестиции, посмотрев все блоки с момента вложения. Вы имеете доступ ко всем транзакциям, поэтому вы легко можете понять, переводились ли деньги на оплату обучения кандидатов, или они так и лежат в кармане администрации.
Посмотрев, кому в итоге был перечислен грант вы можете быть уверены, что именно у него на счёте и находятся выделенные деньги, так как факт транзакции, записанный в блокчейн не может быть изменен.
Организатор, подстрахуй свою совесть!
Рассмотрим всё с другой стороны. Вы школьник Василий, изучивший машинное обучение по курсам со степика и по разговорам пацанов во дворе. Вы видите в интернете рекламу какой-то странной школы, которая обещает углубить ваши знания дальше логистической регрессии (ещё и нейронкам каким-то учат). Вас радует, что они вместе с компанией “Золотой Coq” предлагают вам бесплатную поездку, если вы выполните их задачу. Что бы вы хотели получить от системы приёма вашего решения?
Вам бы хотелось быть уверенным, что ваше решение было успешно получено и сохранено, и история не могла бы быть изменена. Вы хотели бы знать, сколько ещё человек претендует на этот грант. Так же каждому человеку интересно, рассмотрели ли уже его решение. Да и вряд ли вы хотите, чтобы школа и компания имплементировали себе ваше решение, забыв при этом и про свои обещания, и про вас в принципе.
Теперь они вряд ли смогут сказать, что просто не увидели ваше решение или же что система не корректно обработала ваш запрос, так как то, что записано в блокчейн, записано в блокчейн. Это значит, что если вы понимаете, что грант отдан явно “подставному” лицу, у которого вместо чего-то нормального в решениях указана ссылка на гитхаб с компилятором Pithon, а вашу прекрасную систему на миллиард строк кода проигнорировали.
Итого
Каждый участник вместо стандартной процедуры может воспользоваться системой со смарт-контрактами, которую мы сейчас вводим в тестовом режиме.
Вместо того закрытого процесса приема и оценки заданий одна из команд вместе с куратором разработала прототип системы со свободным доступом к информации, построенную на технологии блокчейна. Данные о заявках и ходе конкурса будут доступны для партнёров и участников. Особенности блокчейна гарантируют прозрачность процессов и формирование верифицируемой репутации участников для портфолио.
В использовании системы нет ничего сложного. Проходите немного непривычную регистрацию, выбираете направление, подписываете с нами смарт-контракт о начале выполнения задания, читаете подробные условия, творите, отправляете результаты, ждёте, радуетесь, знакомитесь с другими участниками и их решениями, список которых станет доступным после окончания соревнования. Всё просто, но благодаря магии, происходящей на заднем плане, вы получаете целый ряд преимуществ.
Проведения таких конкурсов - только начало нашего GoToChain’а. В планах создать платформу для взаимодействия внутри нашего сообщества: саморегуляция, репутационная система, голосования, биржа и аутсорс.
Если вы ничего не поняли
GoTo уже не первый раз проводит конкурсы, в которых школьникам и студентам предлагается реализовать различные творческие задачи и выиграть бесплатное обучение или существенные скидки. В этот раз доступны конкурсные задания по направлениям: анализ данных, функциональное программирование и блокчейн.
Все задачи реальны, и их решение поможет реальным людям. Про них можно будет писать статьи, добавить в своё резюме, пользоваться ими (!) и так далее. Можно сделать значимую часть, поехать, рекрутировать на школе товарищей и доделать вместе и с ментором. Помимо обычных грантов с заданиями в этот раз отдельно запускаем конкурс на лучшие проектные идеи для реализации на школе.
Чтобы получить задание или инструкции по оформлению идей проектов, вам нужно подать заявку на участие в школе, указав о желании попробовать свои силы в грантовом конкурсе. После этого вы получите письмо с заданиями и инструкциями по оформлению идей проектов.
Решения принимаются до 18 октября включительно. Результаты будут объявлены до 20 октября на нашем сайте: goto.msk.ru/camp_autumn