Содержание
- Разбираемся в информационном шуме
- Методология исследования
- Блокчейн активно развивается в открытом мире
- Репозитории раскрывают интересные тенденции среди организаций
- Таблица 1. Топ-20 центральных репозиториев в блокчейновой экосистеме
- Эволюция блокчейна в значительной степени зависит от «сообщества»
- Объяснение уровня смертности блокчейновых проектов
- Языки программирования тяготеют к финансовым сервисам
- География блокчейновых талантов
- Экосистема Эфириума
- Как финансовые сервисы могут использовать анализ GitHub?
- Приложение
Новое исследование платформы открытого ПО GitHub предоставляет ключевые уроки по развитию блокчейна – как развивались проекты, что может ждать нас дальше и что это значит для представителей финансовых услуг.
Разбираемся в информационном шуме
Мы не можем предсказать точную траекторию и влияние технологии блокчейна. Но мы также не должны игнорировать ранние стадии её развития, её успехи, а также неудачи. Изучение развития этой молодой технологии способно максимизировать её потенциал и пользу для нас.
Понять, как трансформируются и развиваются такие фундаментальные технологии, как интернет и мобильные устройства, непросто. Новые технологии часто привлекают большое разнообразие разработчиков, включая множество фрилансеров со всего света. С учётом количества разработчиков, типов задач, которые они пытаются решить, и географического охвата сложно предвидеть, куда движется та или иная новая технология.
Но, вероятно, главное отличие развития блокчейна – это то, что оно преимущественно происходило в открытой среде. Биткойн, оригинальная блокчейновая система, имела открытый код.
Соответственно, в попытке лучше понять развитие блокчейна и его экосистемы мы провели основательный анализ блокчейновых проектов в открытой среде. Наше исследование, судя по всему, представляет собой первую эмпирическую попытку понять эволюцию блокчейна, используя метаданные, доступные на GitHub, глобальной платформе для сотрудничества программистов.
Мы выбрали GitHub, потому что это крупнейшая известная платформа для сотрудничества программистов со всего мира, с 68 млн проектов и 24 млн участников (рис. 1). Кроме того, на GitHub хранятся важнейшие проекты для блокчейнового сообщества. Активность на GitHub даёт уникальную возможность определить, кто стоит за развитием блокчейна, какого рода программирование движет им, где обитают таланты, как организованы сети и сообщества проектов и разработчиков и какие факторы риска существуют при инвестировании ресурсов в репозитории.
Рис. 1. GitHub в числах
Источник: Анализ Deloitte данных GH Torrent и GitHub API на 12 октября 2017 г
Фирмы, предоставляющие финансовые услуги, судя по всему, лидируют в применении блокчейна; в настоящее время у них больше всего примеров применения блокчейна на рынке. Наши выводы могут помочь фирмам улучшить их способность идентифицировать успешные проекты и возможности исходя из того, как развивается экосистема блокчейна.
Если не указано другого, все данные и статистика блокчейновой активности на GitHub в настоящей статье являются результатом нашего анализа проекта GH Torrent и GitHub API (см. «Методология исследования»).
Методология исследования
Для проведения исследования по GitHub мы использовали данные, собранные проектом GH Torrent, исследовательской инициативой, возглавляемой Георгиосом Гусиосом из Делфтского технического университета, отслеживающей активность и модификации всех проектов на GitHub. Собранные данные организованы в реляционную БД. База данных GH Torrent состоит из более чем 4,7 млрд строк информации. Чтобы определить актуальные проекты, мы запрашивали в GitHub API ключевые слова, связанные с блокчейновыми проектами. Мы использовали оба источника данных для идентификации и построения нашей вселенной блокчейновых проектов. Хотя наши данные не являются исчерпывающими, они представляют очень большую выборку всей блокчейновой активности, зарегистрированной на GitHub.
Для определения наиболее актуальных проектов в блокчейновом пространстве мы использовали все поля, предоставленные в GitHub API, такие как дата создания проекта, тип автора проекта, число копий (форков) и число наблюдателей. Для анализа мы разработали собственный набор показателей, используя данные GH Torrent и GitHub API.
Блокчейн активно развивается в открытом мире
Хотя публичный обмен программным кодом можно проследить до 1950-х, платформы открытого ПО стали центрами развития ПО только в последние 30 лет (рис. 2). Интернет отлично способствовал масштабированию: раньше открытым ПО в основном занималось научное сообщество, но интернет сделал его доступным для энтузиастов и специалистов всех мастей, любителей и профессионалов, частных лиц и коммерческих предприятий. При этом был период спада актуальности развития ПО с открытым кодом, когда коммерческие субъекты, заручившись лицензиями и патентами, окружили программный код множеством защит. Однако подрывные инновации способствовали росту экономики совместного пользования, которая вернула важные программные разработки на открытые платформы.
Программное обеспечение с открытым кодом (OSS) имеет долгую историю
Рис. 2. История открытого кода
Источник: Longsight, дата обращения: 12 сентября 2017 г.
Открытое ПО может быть идеальным рассадником для привлечения критической массы блокчейновых проектов, талантов и совпадающих целей, ускоряющих экосистему благодаря общим стандартам. Оно также может сократить затраты фирм на посвящение ресурсов всё ещё в большой степени экспериментальной технологии. Проверка концепции на «интранет» платформе по обучению блокчейну кажется не настолько эффективной, как обучение разработке решений для бизнеса на «интернетовском» блокчейне. На текущей стадии развития технологии блокчейна в лучших интересах разработчиков разрабатывать блокчейновые решения или наблюдать за их разработкой на открытой платформе. У блокчейна, вероятно, больше шансов быстрее прийти к строгим протоколам и стандартизации с помощью открытого сотрудничества, что может упростить и усовершенствовать разработку блокчейнов с контролируемым доступом.
Наша базовая единица анализа на GitHub – репозиторий. В репозитории хранятся актуальный код и файлы проектов, содержащие фактический протокол и реализацию программ. В настоящем отчёте термины «репозиторий» и «проект» используются как взаимозаменяемые. Мы также будем рассматривать два типа авторов проектов: пользователей – частных лиц без известного отношения к институтам; и организации – аккаунты, связанные с финансовыми сервисными фирмами, стартапами, исследовательскими центрами или программистскими фондами.
В следующих трёх разделах мы рассматриваем репозитории – их авторов, их шансы на выживание и место в сообществах и сетях сообществ, какие языки программирования преобладают и почему, и где обитают таланты. (См. наше интерактивное окно, где можно подробно ознакомиться с репозиториями, программированием и географией экосистемы GitHub).
Репозитории раскрывают интересные тенденции среди организаций
Базовый код, на котором построен Биткойн, опубликован в апреле 2009 г. С тех пор число проектов на GitHub, связанных с блокчейном, существенно возросло, составив в среднем 8600 новых проектов в год. Только в 2016 г. было почти 27000 новых проектов (рис. 3).
Рис. 3. Блокчейн на GitHub
Источник: Анализ Deloitte данных GH Torrent и GitHub API на 12 октября 2017 г.
Рост числа проектов сопровождался быстрым ростом содержимого, производившегося для разработки блокчейновых технологий (рис. 4).
Новые проекты на GitHub по типу автора, 2009-2017 гг.*
Рис. 4.
*Данные за 2017 г. охватывают только первые 6 месяцев года.
Источник: Анализ Deloitte данных GH Torrent и GitHub API.
При анализе блокчейновых репозиториев и их содержимого мы заметили, что число участвующих организаций быстро растёт. В 2010 г. организациями было разработано меньше 1% от всех проектов. В 2017 г. на их блокчейновые проекты приходится 11% (в настоящее время на организации приходится 7% от всех – не только блокчейновых – разработок ПО на GitHub). И последние данные по успешности блокчейновых инициатив коммерческих организаций с открытым кодом выглядят многообещающе; в их числе есть некоторые крупные известные коммерческие субъекты.
Что особенно важно, результатом некоторых проектов, разработанных организациями, стали новые платформы (такие как Ethereum, Ripple, Corda и Quorum), используемые теперь некоторыми разработчиками для создания приложений. Проекты организаций также, как правило, обновляются чаще, чем проекты пользователей, и имеют в 5 раз более высокую вероятность копирования, что подразумевает, что блокчейновое сообщество считает их более актуальными.
При копировании проекта всё содержимое становится доступно скопировавшему его аккаунту, что де-факто служит механизмом передачи знаний. Такой процесс обычно называют сетью цитирования (см. определения сетей в Приложении), где чаще всего копируемые проекты играют центральную роль в сети проектов, что мы называем центральностью проекта. По этому принципу некоторые из наиболее центральных проектов разработаны и поддерживаются организациями: Bitcoin Core, реализация Ethereum на C++ и Go, клиенты Ethereum на Python и Bitcoin Improvements Proposal. Для интерактивного ознакомления с различными сетями на GitHub см. «Network visualization» в нашем интерактивном окне.
При изучении упомянутого интерактивного графа помните, что изначальные проекты Эфириума и Биткойна поддерживаются организациями (фондами), и что большое число блокчейновых проектов и приложений на GitHub в действительности построены на базе этих двух проектов. Короче говоря, проекты, управляемые организациями, представляют базовый код для тысяч других проектов. Из 20 наиболее центральных проектов в блокчейновом пространстве по популярности, цитированию и сотрудничеству (см. определение сетей в Приложении) 18 созданы и поддерживаются организациями (см. таблицу 1).
Таблица 1. Топ-20 центральных репозиториев в блокчейновой экосистеме
Проект |
Автор |
Тип пользователя |
Всего копий |
Подписчики |
Разраб. |
Описание |
bitcoin |
Bitcoin |
Организация |
7588 |
11729 |
627 |
Изначальный код Биткойна |
go-ethereum |
Ethereum |
Организация |
1717 |
5603 |
149 |
Официальная реализация протокола Эфириума на Go |
bitcoinjs-lib |
bitcoinjs |
Организация |
500 |
1478 |
62 |
Функции, связанные с Биткойном, реализованные на чистом JavaScript |
Electrum |
spesmilo |
Организация |
534 |
1028 |
187 |
Тонкий клиент Биткойна Electrum (кошелёк) |
cpp-ethereum |
Ethereum |
Организация |
905 |
1332 |
119 |
Клиент Эфириума на C++ |
bips |
Bitcoin |
Организация |
527 |
762 |
158 |
Предложения по улучшению Биткойна |
bitcoinj |
bitcoinj |
Организация |
928 |
1243 |
106 |
Реализация Биткойна на Java |
Rippled |
Ripple |
Организация |
397 |
1267 |
54 |
Децентрализованный криптовалютный блокчейновый демон, реализующий консенсусный реестр Ripple на C++ |
mist |
Ethereum |
Организация |
612 |
2752 |
47 |
Браузер для ознакомления с децентрализованными приложениями, построенными на Эфириуме |
truffle |
Consen-Sys |
Организация |
181 |
768 |
31 |
Среда для разработки, тестирования и передачи активов для Эфириума |
pyethereum |
Ethereum |
Организация |
348 |
1135 |
57 |
Корневая библиотека для проекта Ethereum на Python |
cgminer |
Ckolivas |
Пользователь |
737 |
1760 |
88 |
Майнер Биткойна дляASIC и FPGA на C |
ethereumj |
Ethereum |
Организация |
350 |
598 |
58 |
Реализация «жёлтой книги» Эфириума на Java |
btcd |
Btcsuite |
Организация |
380 |
1272 |
59 |
Реализация альтернативного полного узла Биткойна на Go |
testrpc |
ethereumjs |
Организация |
154 |
559 |
33 |
Быстрый RPC-клиент Эфириума для тестирования и разработки |
bitcoinbook |
bitcoin-book |
Организация |
735 |
2204 |
40 |
Книга о Биткойне |
ripple-client |
Ripple |
Организация |
500 |
1239 |
54 |
Пользовательский интерфейс для платёжной сети Ripple, созданный с использованием веб-технологий |
EIPs |
Ethereum |
Организация |
148 |
650 |
38 |
Предложения по улучшению Эфириума |
embark-framework |
iurimatias |
Пользователь |
98 |
515 |
37 |
Фреймворк для безсерверных децентрализованных приложений, использующих Ethereum, IPFS и другие платформы |
bcoin |
bcoin-org |
Организация |
121 |
649 |
20 |
JavaScript-библиотека Биткойна для node.js и браузеров |
Организационное участие преобладает в базовой разработке блокчейна, вероятно, потому, что оно более требовательное и целенаправленное, чем индивидуальное участие. Когда организация вложила ресурсы, у неё больше мотивации добиваться успеха проекта. Если участники организации связаны друг с другом вне какого-либо конкретного проекта, то часто между ними существует большая подотчётность, что также стимулирует продолжение разработок.
Эволюция блокчейна в значительной степени зависит от «сообщества»
Сообщество открытого ПО – это группа разработчиков с общими интересами, которые разрабатывают и совершенствуют существующее содержимое. Мы идентифицировали 772 блокчейновых сообщества на GitHub. Каждое сообщество обычно определяется сотрудничеством между проектами, которое может привести к появлению новых приложений. Например, платформа Эфириума изначально была разработана двумя центральными фигурами в проекте Биткойна; с тех пор их проект развился в крупнейшее по активным проектам блокчейновое сообщество на GitHub.
В блокчейновом пространстве сообщества проектов состоят минимум из 25 проектов, а в некоторых случаях включают сотни проектов.
Изучая сообщества, мы можем выяснить, как специализированные проекты ведут к созданию новых приложений. Например, мы обнаружили, что инструменты для реализации краудфандинга и первичного предложения токенов (ICO) часто связаны с проектами в крупных блокчейновых сообществах, разрабатывающих содержимое для смарт-контрактов, эскроу-счёта и базовый код Эфириума на языке Go. Неудивительно, что это совпадает с тем, что многие ICO реализуются на блокчейне Эфириума. Эфириум позволяет разработчикам и стартапам эмитировать собственную валюту, в том числе в виде ICO, на блокчейне Эфириума посредством смарт-контрактов, что может существенно снизить порог входа для токенов и криптовалют.
Интересным примером связи разных, на первый взгляд, сообществ является криптовалюта Monero, созданная в 2014 г. Монеро обладает последовательно отличными от Биткойна свойствами в плане уровня конфиденциальности (запрещено повторное использование адресов), масштабируемости (нет лимита размера блока) и безопасности (более принудительная децентрализация). Однако сообщество, включающее Монеро и родственные проекты, тесно связано с сообществом, включающим главный репозиторий Биткойна.
Для разработчиков блокчейна потенциально важно уделять пристальное внимание сообществам. Наш анализ показывает, что многие проекты, специализирующиеся на конкретных направлениях или типах приложений в блокчейновом пространстве, обогащающих экосистему, имеют прочные вязи с сообществами.
Объяснение уровня смертности блокчейновых проектов
Суровая реальность открытых проектов в том, что большинство из них забрасываются или не достигают значимых масштабов. К сожалению, блокчейн тоже подвержен этой реальности. Наш анализ показал, что только 8% проектов активны, под чем мы пониманием хотя бы одно обновление за последние 6 месяцев. Здесь организации выступают позитивным фактором; тогда как среди проектов, разработанных пользователями, активны 7%, среди проектов, разработанных организациями, их 15%.
Уровень смертности проектов часто выступает важнейшим фактором для понимания центральности проекта и возникновения протоколов и стандартов. С коммерческой точки зрения, поскольку вероятность выживания проектов низкая, понимание факторов, влияющих на смертность проектов, может играть ключевую роль для фирм, желающих выехать на успешном коде, сымитировать успешные проекты или создать собственные инструменты. Обратите внимание, что примерно 90% проектов, разработанных на GitHub, становятся неактивными, и средняя продолжительность жизни проекта составляет около 1 года, причём наивысший уровень смертности в первые 6 месяцев. Наш анализ определил 11 переменных, связанных с прекращением активности проекта. Из этих переменных организациям следует уделить особое внимание следующим трём:
- Во-первых, вероятно, неудивительно, что проекты, разработанные пользователями, обычно имеют меньшую продолжительность жизни и оказываются обособленными применениями технологии блокчейна, а не фундаментальными библиотеками, позволяющими создавать множество приложений. Мы обнаружили, что пользователи более склонны экспериментировать, задумывая и разрабатывая идеи, часто не пользующиеся успехом.
- Во-вторых, это концентрация участия в проекте. Наш анализ показывает, что большинство проектов с высоким уровнем смертности – это те, где единственный разработчик генерировал большую часть содержимого, и, по сути, среднестатистический проект (по числу участников) имеет лишь одного участника. Часто этот единственный или ведущий разработчик переключает внимание на другие проекты или просто прекращает работу. С другой стороны, большинство проектов, которые выживают, имеют несколько разработчиков с меньшей концентрацией активности у каждого участника. Как и следовало ожидать, именно так структурировано большинство организаций.
- В-третьих, проекты с большим числом копий (форков) выживают чаще, чем те, у которых копий мало или вообще нет. По сути, у копий проекта, как правило, тоже меньше разработчиков и поэтому более высокий уровень смертности. Это не значит, что не бывает чрезвычайно успешных проектов, являющихся результатами форков, но в целом проекты, являющиеся форками других проектов, обычно имеют высокий уровень смертности из-за нехватки новых разработчиков.
Языки программирования тяготеют к финансовым сервисам
У потенциальных разработчиков часто возникает вопрос: «С чего начать?» Чтобы на него ответить, важно выяснить, какова начинка существующих проектов. Хотя это и не самый популярный язык по числу блокчейновых репозиториев, мы обнаружили, что в большинстве центральных репозиториев экосистемы используется C++. Это неудивительно, учитывая, что C++ уже какое-то время используется в индустрии финансовых сервисов для разработки приложений, требующих эффективного управления памятью, скорости и надёжности. Для нелёгких задач криптовалютных проектов (включая Биткойн) C++ по-прежнему является предпочитаемым языком. И в большинстве центральных репозиториев на GitHub на C++ приходится почти половина содержимого.
Тем не менее мы также обнаружили, что Go, язык программирования, разработанный Google в 2009 г., также набирает популярность. Сейчас он на втором месте среди языков, используемых в блокчейновых проектах. Go быстро эволюционировал из маргинального языка в один из центральных элементов блокчейновой экосистемы на GitHub. Всего 2 года назад, в 2015 г., на Go разрабатывалось меньше 2% содержимого проектов в блокчейновом пространстве. Программисты объясняют стремительный рост Go его простотой и масштабируемостью. И хотя финансовые сервисы полагаются на управление памятью, скорость и надёжность C++, масштабируемость также чрезвычайно приоритетна для финансовых сервисных фирм, взаимодействующих с большим числом рассеянных участников. Примечательно также, что проекты Ethereum и Hyperledger, интегрирующие другие технологии в блокчейн, чтобы расширить его применение за рамки криптовалют, предпочитают Go.
География блокчейновых талантов
Так как финансовым институтам важно найти нужные таланты для разработки, реализации или поддержки новых технологий, мы решили, что будет полезно узнать, где обитают ведущие блокчейновые таланты, участвующие на GitHub. Большинство владельцев проектов на GitHub – разработчиков, открывающих репозитории, – живут в Северной Америке или Европе, причём самая высокая концентрация в Сан-Франциско. Что интересно, следующие по популярности два города, где можно найти владельцев проектов, – это традиционные центры финансовых сервисов: Лондон и Нью-Йорк. (См. рис. 5).
Рис. 5.
Источник: Анализ Deloitte данных GH Torrent и GitHub API на 12 октября 2017 г
Мы обнаружили, что проекты из Сан-Франциско отличаются разнообразием: среди них есть решения для бирж, кошельки для криптовалют, интерфейсы для различных блокчейнов (например, Ripple, Hyperledger и Ethereum) и платёжные инструменты для криптовалют. Лондонская экосистема также разнообразна, но включает больше проектов, связанных с сообществом Эфириума, что также означает больше проектов, связанных с сопутствующими технологиями, такими как цифровая идентификация, смарт-контракты и открытые API. Участники из Нью-Йорка специализируются на проектах, направленных на традиционные финансовые сервисы. Стоит также отметить высокий уровень активности в Китае, в частности в Шанхае и Пекине. В обоих городах большинство проектов относятся к криптовалютам и криптовалютным биржам, с акцентом на масштабируемость.
Экосистема Эфириума
Проект Ethereum – это децентрализованная платформа для блокчейновых приложений на основе смарт-контрактов. В 2013 г. Виталик Бутерин, активный разработчик Биткойна, выдвинул идею, из которой родился Эфириум. Он преследовал цель создания приложений на основе технологии блокчейна, выходящих за рамки сферы криптовалют. Эфириум изначально задумывался как блокчейновый протокол, позволяющий создавать на его основе любые приложения. Платформа Эфириума состоит из виртуальной машины, выполняющей смарт-контракты. Виртуальная машина Эфириума (EVM) также имеет язык для инструкций смарт-контрактов (Solidity) и токен (эфир, или ETH) для оплаты комиссий за транзакции и вычислительных услуг сети Эфириума. Тем, что Эфириум не фокусируется на криптовалютах, можно отчасти объяснить, почему данный проект стал одним из краеугольных камней развивающейся расширенной блокчейновой экосистемы.
Проект Ethereum изначально хранился, разрабатывался и распространялся через GitHub. Чтобы лучше понять рост Эфириума: в 2013 г. на GitHub было только 3 проекта, связанных с Эфириумом; в 2015 г. их было 1439; в середине 2017 г. – 9970. Эти проекты привели к появлению большого разнообразия приложений, в числе которых управление идентификацией, платформы для краудфандинга и инвестирования, платежи и переводы, новые криптовалюты и децентрализованные кредитные платформы.
Учитывая разнообразие финансовых и бизнес-приложений, разработанных на основе протокола Эфириума, финансовые институты и фирмы из других отраслей договорились способствовать разработке приложений и инноваций, основанных на Эфириуме. Интерес к Эфириуму продолжает расти. Разработка дополнительных открытых решений и поддержка со стороны фирм из списка Fortune 500 могут привести к буму приложений на основе Эфириума.
Как финансовые сервисы могут использовать анализ GitHub?
Аналитики Deloitte разработали и усовершенствовали методологию анализа и организации данных о GitHub для лучшего понимания эволюции молодой, потенциально революционной технологии и её экосистемы. Наша общая цель – предоставить озарения, которые помогут финансовым институтам принимать лучшие, более осведомлённые решения и избегать ловушек.
Мы выяснили, что финансовые сервисные фирмы участвуют в блокчейновых разработках на GitHub. На GitHub фактически есть два типа участников: разработчики и наблюдатели. Разработчик принимает участие в создании кода, а наблюдатель следит за разработкой проекта, не участвуя в создании кода. В настоящее время немного сотрудников финансовых сервисных фирм участвуют в проектах как разработчики от имени фирм. Однако есть несколько крупных финансовых сервисных фирм, которые не только участвуют в проектах, но имеют собственные проекты под своей вывеской с приличным числом разработчиков.
Тем не менее финансовые сервисные фирмы преимущественно участвуют в проектах на GitHub в качестве наблюдателей. Сложно точно подсчитать таких наблюдателей, так как они могут использовать псевдоним или частный электронный адрес. Как бы то ни было, наш анализ может дать как финансовым сервисным разработчикам, так и наблюдателям уникальную возможность получить доступ к большому и подробному обзору блокчейновой экосистемы. Пользуясь нашей аналитической методологией, фирмы могут выбирать проекты для возможного участия или обучения, искать таланты по разным показателям, видеть, как изменения в протоколе и тенденциях могут указывать на стандартизацию и взаимосовместимость, и, наконец, всё это и многое другое может улучшить их понимание эволюции блокчейна.
В частности, наш анализ позволяет финансовым институтам и другим фирмам:
- Оценивать возможности будущих инноваций – куда, сколько и когда инвестировать;
- Определять, с чем уже работают конкуренты, и оценивать отставание;
- Понимать и предсказывать, какие языки набирают/теряют популярность и в каких приложениях, и соответственно инвестировать;
- Определять, где обитают таланты и специалисты и как лучше всего воспользоваться географическим распределением талантов;
- Оценивать возможности партнёрства и сотрудничества.
Надеемся, что эти открытия способны вооружить индустрию финансовых сервисов данными, необходимыми не только для лучшего определения успешных проектов и возможностей исходя из эволюции блокчейновой экосистемы, но и для активного участия в этой самой эволюции.
Приложение
Сетевой анализ
Мы используем несколько показателей, обычно применяемых в области сетевого анализа, таких как число подключений (степень), центральность (PageRank) и кластеризация (обнаружение сообществ). В нашем анализе мы определили три типа сетевых связей:
Сотрудничество – вклад проектов друг в друга. Для построения этой сети мы определили репозитории, получавшие вклад друг друга в нашей вселенной блокчейновых проектов, а не на всём GitHub.
Цитирование – использование содержимого проекта другим проектом. Проекты с высокой цитируемостью, как правило, имеют высокую центральность (см. следующий раздел). Для построения сети мы определили пользователей, копировавших репозитории, и присоединили к скопированному проекту их собственные.
Подписчики – показатель популярности проекта у других проектов. Для построения сети мы определили пользователей, подписанных на определённый репозиторий, и присоединили проекты этих пользователей.
Анализ центральности
Для определения наиболее центральных репозиториев в нашей сети мы использовали PageRank (PR). PageRank, разработанный Google, – это показатель центральности в сети, широко используемый в различных областях. Мы подсчитали PR для каждой из наших трёх сетей. После получения PR мы упорядочили проекты исходя из значения этого показателя. Мы повторили этот процесс для трёх сетей и определили совокупный показатель следующим образом:
Чем ближе центральность к 1, тем центральнее роль в сети.
Идентификация сообществ
Для определения сообществ в нашей сети мы использовали распространённый алгоритм обнаружения сообществ для больших графов, известный как «быстрый жадный алгоритм обнаружения сообществ». Алгоритм итерирует различные сетевые связи, добавляя проекты к сообществу, пока не будет достигнуто локальное оптимальное значение. Алгоритм повторяет процесс до тех пор, пока больше не будет улучшений. Мы применили алгоритм к сети сотрудничеств.
Смертность проектов
Для определения факторов, связанных с прекращением активности проектов, мы применили две модели классификации: логистическую регрессию и «случайный лес» (random forest). Логистическая регрессия использовалась для определения значимых переменных, а случайный лес – для определения проектов, которые становятся неактивными.
Источник: cryptocurrency.tech