Оглавление
Оригинал статьи опубликован на сайте medium.com
Сегодня мы живем в тюрьме с централизованным контролем. В ней одни люди имеют доступ к неограниченным возможностям за счёт ограничения прав других. Однако технологии помогут изменить это.
Если вы действующий разработчик программного обеспечения, то у вас есть шанс поучаствовать в крупнейшей глобальной революции за всю историю нашего мира. Революции, которая изменит судьбы и спасёт жизни многих людей, а также создаст новые возможности и вовлечёт новые миллиарды в цифровую экономику.
Централизованная удавка
В 2011 г. я был членом команды стартапа, работающей над самым популярным музыкальным приложением для Facebook, с более чем 30 миллионами активных пользователей в месяц. У нас был сумасшедший рост, как и у других крутых музыкальных сервисов, таких как Spotify, Bands in Town, Google Search и Billboard Magazine. Полмиллиона музыкальных групп использовали нашу платформу для управления своим профилем, графиком гастролей, стримингом музыки и рекламой.
И вот в один прекрасный день Facebook отключает возможность настройки исходной страницы по умолчанию (default landing page) для профиля исполнителя. Вечером того же дня трафик полностью просел. В тот день множество других компаний было выбито с рынка этим единственным технологическим решением. Facebook флипнул одну фичу, и сотни разработчиков потеряли работу. Десятки полезных, интересных приложений перестали существовать. Потрясающая экосистема возможностей была уничтожена.
Но Facebook – это не единственная компания, которая, к сожалению, обладает такой безответственной возможностью разрушения. Google, к примеру, печально известен тем, что даёт возможность компаниям, использующих его поисковую систему и зависимым от трафика, создать крупный бизнес, а затем уничтожает эти же компании, обновив алгоритм поиска.
И проблема не в том, что Facebook, или Google, или Apple – это зло. Проблема в том, что слишком много власти сосредоточено под контролем нескольких крупных компаний. Судьба созданного вами приложения может находиться не в ваших руках. Контроль над вашим детищем может иметь кто-то другой.
А что если бы мы могли создавать приложения на основе архитектур, которые контролируются и управляются сообществами, а не зависят от прихотей и интересов некой мега-корпорации? Представьте себе глобальную сеть компьютеров, связанных между собой, и разработчиков, сотрудничающих в создании более инклюзивной, децентрализованной платформы для приложений.
Когда сеть Web только создавалась, идея была в том, чтобы дать возможность кому угодно и где угодно создавать/публиковать документы, которые могут свободно ссылаться друг на друга. Эта концепция была основана на том, что сеть не имеет центрального контролирующего органа. В 1990-х годах были созданы несколько альтернативных сервисов. Такие компании, как AOL и Compuserve, запустили свои собственные контентные сети, напрямую конкурирующие с всемирной паутиной, но победа всё равно осталась за ней.
Microsoft и Apple также боролись за обладание монополией на платформу для мобильных приложений. И если взглянуть на положение вещей в 2010 г., может показаться, что Apple выиграла эту войну. Однако сегодня Linux, операционная система с открытым исходным кодом, работает на устройствах Android, которые составляют 86% мирового рынка смартфонов.
В 1990-х годах коммерческие библиотеки программного обеспечения, взимающие лицензионные сборы (а иногда и роялти), доминировали в этой области. Сегодня же, если кто-то создаст GUI инструментарий с закрытым кодом, и начнёт требовать плату за лицензионное пользование, вряд ли потребители согласятся променять возможности экосистемы React с открытым кодом на такие условия.
Тем не менее, в попытке выживания на рынке мы всё ещё пишем приложения для централизованных систем, таких как Facebook, Google или Twitter. Но уже приближается то цунами, которое сметёт всё это и кардинально изменит ситуацию.
В конце 1990-х люди стали обмениваться MP3-файлами в интернете, вначале используя протокол передачи файлов FTP и централизованные серверы. Однако, совсем скоро такая деятельность подверглась атаке со стороны звукозаписывающих компаний. Система боролась с Napster, первым массовым децентрализованным сервисом обмена музыкой: звукозаписывающие компании утверждали, что, хотя Napster и не размещал музыку напрямую, он, тем не менее, подвигал пользователей нарушать закон.
Napster был сервисом, которым владела и управляла централизованная компания, и в 2000 г. группа Metallica подала в суд и добилась его закрытия.
Но история p2p сетей на этом не закончилась. Из пепла Napster возродились Gnutella, Bittorent и IPFS. Все они использовали протоколы с открытым исходным кодом и все они были децентрализованы, т.е не имели контролирующей компании. Благодаря этому факту, никто до сих пор не смог их закрыть.
Централизованное домино
В 2008 г. рухнул рынок жилья – накопилось слишком большая масса необеспеченных долгов по ипотечным кредитам, сосредоточенных в нескольких очень крупных банках. Когда объём ипотечных кредитов с риском дефолта превысил критическую отметку, домино посыпалось, что привело к коллапсу и многочисленным банкротствам банков с активами более $7,7 трлн. только в Соединённых Штатах. Всё это отозвалось как на рынках Европы, так и на глобальной экономике, погрузив мир в самую сильную рецессию со времён Великой депрессии.
А 9 января 2009 г. был добыт первый блок блокчейна биткоина. В блок было встроено следующее сообщение:
The Times 03/Jan/2009 Chancellor on brink of second bailout for banks.
Несмотря на то, что это просто была цитата из передовицы The Times, упоминание bailout for banks (т.е. “финансовая помощь, оказываемая государственными учреждениями банкам или крупным предприятиям с целью предотвратить их банкротство”) говорит о том, что на тот момент мировое доверие к банковским учреждениям достигло критического минимума. Общество, потрясённое двумя годами финансовых кризисов, ростом безработицы и лишением прав владения недвижимостью, сплотилось, чтобы выйти на демонстрации Occupy Wall Street, которые прогремели по всему миру в 2011 г. Банкиры, чья деятельность вызвала кризис, благополучно спланировали на “золотых парашютах”, а средний класс попросту умер, испарился. Публика была в ярости.
Позднее всё вернулось на круги своя, банки продолжили те же игры, а кроме того, появились Facebook, Google и Apple, обладающие значительно большим могуществом, и мы пришли к тому, что наши свободы сегодня ограничиваются ещё сильнее.
Из искры возгорелось пламя
И вот произошёл взрыв децентрализованных технологий. Биткоин был той искрой, которая разожгла костёр позитивных настроений инвесторов, и когда они стали вкладываться в “топливо для криптовалютной ракеты”, сообщества разработчиков начали расти как на дрожжах.
Начиная с 2011 г., хеш-мощность биткоина увеличилась на 8 порядков. Соответственно выросла и цена биткоина.
Объявлена революция
И для тех, кто хочет поучаствовать в ней, скажу, что большинство криптоприложений созданы на основе фронтенда с использованием JavaScript.
Реализация нод блокчейна (программное обеспечение для связи внутри блокчейна) может разрабатываться с использованием различных технологий, включая C++ (Bitcoin Core), Go (Ethereum) и JavaScript (Lisk).
Блокчейн-приложения обычно используют умные контракты, которые не только обеспечивают консенсус для данных, записываемых в реестр, но и предлагают алгоритмы обработки данных.
В настоящее время разработка эфириума, по большей части, выполнена на языке Solidity – на сегодняшний день это самый распространённый язык для написания смарт-контрактов.
Биткоин использует систему шифрования Bitcoin Script. Waves – заведомо Тьюринг-неполный функциональный язык программирования Ride, у Cardano есть Plutus, основанный на Haskell язык программирования, созданный ни кем-нибудь, а Филипом Уодлером, который ввёл понятие монада в Haskell и вдохновил целое поколение программистов, работающих с современными языками, заниматься функциональным программированием.
Однако, несмотря на всё это множество языков программирования, большая часть разработок в области криптовалют и блокчейна осуществляется сегодня на JavaScript. JavaScript де-факто является стандартом для пользовательских интерфейсов, являющихся основой криптореволюции.
Немного саморекламы /как аргумент/
До того, как я написал свой первый пост о JavaScript, я профессионально занимался программированием на JavaScript более 10 лет.
До того, как я написал свой первый пост в блоге о криптографии, я занимался разработкой децентрализованных архитектур более 10 лет.
Я наблюдал, учился, разрабатывал, руководил командами и ждал подходящего момента. Обычно технология не даёт взрывной эффект сразу после своего появления. Сначала она строится, медленно, а затем достигает точки перегиба в своём развитии, и вот тогда действительно возникает взрыв в массовом восприятии.
Резюме
Сегодня криптовалюты приближаются к точке взрыва. 2019 год станет годом, когда появится первое приложение-миллионник на распределённом реестре, и гики начнут использовать криптовалюты и блокчейн.