Продолжаем говорить о применении Java в наиболее “горячих” и трендовых нишах ИТ-рынка. Мы уже публиковали статьи об Интернете вещей, облачных сервисах и больших данных. На очереди ниша, которая зародилась относительно недавно, очень быстро набирает популярность, а будущее ей предрекают просто-таки грандиозное — блокчейн. В этой статье проведем общий ликбез на тему “блокчейн для чайников” и узнаем, какова роль Java-программирования в этой нише. Java и блокчейн. Найдется ли в технологии будущего место для Java-кода? - 1

Перспективы блокчейна для Java-разработчиков

В настоящее время блокчейн все еще является очень новой, относительно малоизвестной (по крайней мере на обывательском уровне), но при этом стремительно развивающейся индустрией. Надо сказать, что и сама технология блокчейн пока находится на начальной стадии развития, несмотря на то, что она уже успела наделать шума в мире и пережить неожиданный бум, с внезапностью которого не сравнятся другие популярные ИТ-тренды. И сейчас, с появлением за последние пару лет множества проектов по построению блокчейн-сетей и разработке децентрализованных приложений на их основе, в индустрии явственно ощущается нехватка способных и компетентных разработчиков. Благодаря этому сфера блокчейна выглядит очень и очень привлекательно как для молодых программистов, так и для кодеров с опытом, которые стремятся к профессиональному развитию и ищут для себя ниши специализации. Благодаря стремительному притоку финансирования блокчейн-проектов по всему миру, спрос на разработчиков в этой сфере быстро растет, как и конкуренция компаний за перспективные кадры, а это, в свою очередь, обеспечивает порой просто-таки неприличный рост зарплат блокчейн-специалистов. Не удивительно, что все больше программистов стремятся работать в данной индустрии. К счастью, в блокчейн-проектах используются практически все основные языки программирования, и самый популярный из них — мы, конечно, о Java — тоже не остается в стороне. “Блокчейн — это прорыв, последствия которого трудно переоценить.” Марк Андриссен (Marc Andreessen), известный ИТ-предприниматель и венчурный инвестор. Java и блокчейн. Найдется ли в технологии будущего место для Java-кода? - 2

Как работает блокчейн

Для начала нам придется коротко пройтись по блокчейну в целом, просто чтобы удостовериться в том, что мы все на одной волне, и читатели имеют более-менее четкое представление о сути данной технологии. Блокчейн представляет собой выстроенную по определённым правилам непрерывную последовательную цепочку блоков, содержащих информацию. Как работает блокчейн? Давайте проведем небольшое блокчейн обучение. Связь между блоками обеспечивается не только нумерацией, но и тем, что каждый блок содержит свою собственную хеш-сумму и хеш-сумму предыдущего блока. Для изменения информации в блоке придется редактировать и все последующие блоки. А учитывая, что копии цепочек блоков, как правило, хранятся на множестве разных компьютеров независимо друг от друга, изменять или удалять эти записи не представляется возможным, в отличие от обычных баз данных. В мире криптовалют, с которыми технология блокчейн сейчас ассоциируется в первую очередь, записи представляют собой информацию о транзакциях, однако эта же система может использоваться и для других целей. Сейчас блокчейн находит себе применение во множестве самых разных областей, от государственной деятельности и процессов до благотворительности и искусства, а перспективы этой технологии на ближайшее будущее видятся весьма радужными. Возможно, сейчас — самое время начинать работать над своими навыками в данной сфере, благо Java уже активно используется в блокчейн-проектах. Но об этом ниже, а пока посмотрим, в каких индустриях и видах деятельности данная технология может получить широчайшее применение очень скоро. “В то время как большинство новых технологий автоматизируют работников на периферии, выполняющих черновую работу, блокчейн автоматизирует функции центра. Вместо того, чтобы забирать работу у таксиста, блокчейн забирает ее у Uber, позволяя таксистам работать с клиентами напрямую.” Виталик Бутерин, со-основатель криптовалюты Ethereum и издания Bitcoin Magazine. Java и блокчейн. Найдется ли в технологии будущего место для Java-кода? - 3

Блокчейн программирование в финансах и банкинге

Когда речь заходит о биткойне, банковские услуги и финансовая индустрия в целом упоминаются чаще всего. Многие эксперты считают, что у данной технологии есть все, чтобы революционизировать эту индустрию. “Блокчейн сделает с финансовой системой то же, что Интернет сделал с медиа,” утверждает журнал Harvard Business Review. В первую очередь блокчейн (и криптовалюты, работающие на базе данной технологии) может оказаться очень востребованным в развивающихся странах среди миллионов людей, у которых по-прежнему нет доступа к банковским услугам. Но не только. Внедрение блокчейн программирования для проведения финансовых транзакций между потребителями напрямую — серьезная угроза для банков, которые в ближайшем будущем могут просто оказаться не нужны. И крупные банки хорошо это понимают, стремясь захватить инициативу и заставив блокчейн работать на себя. Например, Bank of America зарегистрировал уже более пятидесяти патентов, связанных с блокчейном и криптовалютами, несмотря на то, что официальная позиция крупнейшего американского банка в отношении Bitcoin и других децентрализованных валют остается критической. Японский интернет-гигант GMO с 2016-го года работает над новой системой интернет-банкинга, которая будет использовать блокчейн для платежей. Проект также включает применение искусственного интеллекта и Интернета вещей.

Сельское хозяйство

Но не финансовыми услугами едиными. Применение блокчейна может революционизировать и сельское хозяйство, решив целый ряд основных проблем в данной сфере, таких как недостаток информации, ограниченный доступ к финансированию и теневые операции. Согласно аналитическому исследованию “Blockchain: Agriculture Market Forecast until 2023”, применение блокчейна в сельском хозяйстве растет почти на 50% ежегодно, и к 2023 году общий объем данного сектора достигнет $430 млн. В Африке блокчейн используется для того, чтобы дать местным фермерам возможность выхода на мировой продовольственный рынок. Компания Block Commodities занимается разработкой новой сельскохозяйственной блокчейн-экосистемы Farmer 3.0, которая должна обеспечить развитие “умного” сельского хозяйства в регионе. “Когда эта технология получит широкое распространение, блокчейн изменит мир. О какой бы сфере мы ни говорили, блокчейн может существенно повысить ее эффективность.” Джинни Рометти (Ginni Rometty), глава IBM.

Благотворительность

Изменить сферу благотворительности внедрение блокчейна может благодаря прозрачности, заложенной в данную технологию. Одной из основных проблем благотворительности является тот факт, что организации такого типа должны предоставлять полную и подробную отчетность о тратах полученных ими средств, а недостаток прозрачности оказывает негативное влияние на объем поступающих им пожертвований. Применение блокчейна позволит сделать индустрию благотворительности намного более прозрачной, ведь все транзакции, включая пожертвования и траты, будут на виду, а это должно оказать огромное влияние на данную сферу. Так, благотворительная организация UNICEF (Детский фонд ООН) имеет собственную блокчейн-стратегию, в рамках которой она инвестирует в шесть различных блокчейн-стартапов по всему миру.

Здравоохранение

Блокчейн также понаделал шуму и в здравоохранении, где данная технология уже применяется множеством разных способов. С ее помощью управляют медицинскими записями и данными клинических испытаний, проверяют на соответствие нормативным требованиям, отслеживают больничные расходы, страховое покрытие и многое другое. Например, в Эстонии все счета за здравоохранение обрабатываются с помощью блокчейна. В Нигерии стартап под названием Cura Network занимается запуском новой децентрализованной системы, с помощью которой пациенты, доктора и организации здравоохранения смогут быстро обмениваться информацией, а компании получат возможность создавать собственные приложения. Java и блокчейн. Найдется ли в технологии будущего место для Java-кода? - 4

Искусство

В мире искусства блокчейн тоже способен решить целый ряд важнейших задач. В частности, новая технология позволяет разрешить две ключевые проблемы в искусстве: недостаточно высокая оплата работы непосредственно создателей искусства (когда значительную долю поступлений забирают многочисленные посредники) и сложность проверки подлинности предмета искусства и обнаружения подделок. Блокчейн уже активно внедряется для решения данных проблем. Так, в 2018 году аукцион Christies начал продавать предметы искусства, подлинность и происхождение которых сохраняются в блокчейн-системе. А группа под названием Blockchain Art Collective помогает людям искусства монетизировать их работу c помощью специального чипа, встраиваемого в предмет искусства и содержащего всю информацию о нем, включая имя автора, название, дату и уникальный идентификационный номер. “Блокчейн — это самая большая возможность, какую только можно представить. Как минимум на следующее десятилетие.” Боб Грайфилд (Bob Greifeld), исполнительный директор биржи Nasdaq Помимо вышеупомянутых, блокчейн уже находит себе интересное и важное применение и во множестве других индустрий, включая страхование, пищевую промышленность, электронную коммерцию, логистику, защиту авторских прав и т.д. А теперь поговорим о том, в каких блокчейн-проектах уже сейчас активно используется Java.

Blockchain & Java

  • NEM

    NEM — это популярная P2P-криптовалюта и блокчейн-платформа, которая написана полностью на Java.

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

  • IOTA

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

    Поскольку речь идет об Интернете вещей, Java широко используется во многих компонентах работы IOTA, наряду с языками C# и С++.

  • IBM Blockchain

    IBM Blockchain — это публичный облачный сервис, который позволяет клиентам создавать собственные защищенные блокчейн-сети. Предлагаемая в формате blockchain-as-a-service (BaaS), платформа IBM Blockchain дает возможность разворачивать блокчейн-компоненты в различных средах по выбору клиента. Поскольку IBM Blockchain — это облачный сервис, а Java, как мы знаем, весьма востребован в облаках, и в данной платформе он применяется достаточно широко.

  • Ethereum

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

    В платформе Ethereum Java широко используется при создании приложений на ее основе.

  • BitcoinJ

    BitcoinJ — это библиотека для работы с протоколом Bitcoin. Поддерживает создание кошельков, отправление и получение транзакций без локальной копии Bitcoin Core, и имеет множество других расширенных функций. Реализована на Java, но может использоваться на любом языке, совместимом с JVM, включая Python и JavaScript.

“Я пишу о цифровых технологиях более 35-ти лет, но никогда не видел технологии с большим потенциалом для человечества, чем блокчейн.” Дон Тэпскотт (Don Tapscott), писатель, соавтор книги Blockchain Revolution. Java и блокчейн. Найдется ли в технологии будущего место для Java-кода? - 5Как вы видите, перспективы у данной технологии — огромные, и сейчас, в 2020-ом году, эта индустрия только начинает формироваться. При этом, Java уже активно используется во многих проектах, так или иначе связанных с блокчейном. В будущем, по мере распространения этой технологии по миру и ее реализации в разных сферах, спрос на Java-разработку в проектах должен только расти.

Блокчейн для чайников: пара статей на дополнительное чтение

  1. Getting Started with Blockchain for Java Developers
  2. From Java to blockchain: How to become a blockchain developer
Что почитать еще: