{'fraction_non_alphanumeric': 0.0353968501481366, 'fraction_numerical': 0.013696138052913353, 'mean_word_length': 4.9601920693928125, 'pattern_counts': {'":': 0, '<': 1, '<?xml version=': 0, '>': 2, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
An Empirical Study of Blockchain Repositories in GitHub

Blockchain is a distributed ledger technique that guarantees the traceability of transactions. Blockchain is adopted in multiple domains like finance (e.g., cryptocurrency), healthcare, security, and supply chain. In the open-source software (OSS) portal GitHub, we observe a growing adoption of Blockchain-based solutions. Given the rapid emergence of Blockchain-based solutions in our daily life and the evolving cryptocurrency market, it is important to know the status quo, how developers generally interact in those repos, and how much freedom they have in applying code changes. We report an empirical study of 3,664 Blockchain software repositories from GitHub. We divide the Blockchain repositories into two categories: Tool (e.g., SDKs) and Applications (e.g., service/solutions developed using SDKs). The Application category is further divided into two sub-categories: Crypto and Non-Crypto applications. In all Blockchain repository categories, the contribution interactions on commits are the most common interaction type. We found that more organizations contributing to the Blockchain repos than individual users. The median numbers of internal and external users in tools are higher than the application repos. We observed a higher degree of collaboration (e.g., for maintenance efforts) among users in Blockchain tools than those in the application repos. Among the artifacts, issues have a greater number of interactions than commits and pull requests. Related to autonomy we found that less than half of total project contributions are autonomous. Our findings offer implications to Blockchain stakeholders, like developers to stay aware of OSS practices around Blockchain software.


INTRODUCTION
Ginni Rometty, CEO, 2019, IBM "What the internet did for communications, Blockchain will do for trusted transactions. " Blockchain is a distributed ledger technology that stores records as identical copies on multiple computers to ensure security and transaction traceability [31]. It was invented in 2008 to serve the public transaction ledger of the Bitcoin cryptocurrency. In 2014, Marc Andersson wrote a widely cited article in New York Times by comparing the influence of bitcoin with those of internet during 1993 [7]. He predicted that prominent industry vendors would soon develop critical solutions using Blockchain. Indeed, by 2016, Blockchain funding overtook Bitcoin, i.e., Blockchain-based solutions became more diverse than simply offering cryptocurrency-based solutions [13].
Many Blockchain projects are open-sourced to promote rapid growth and adoption. As such, we find an increasing number of Blockchain-based software repositories (denoted as 'repos' from hereon) in the open-source software (OSS) portal GitHub. As of July 2021, GitHub hosts more than 200M repos from over 65M developers worldwide. Several studies investigated the source code of the Blockchain software in GitHub, e.g. [8]. The studies so far focused on a specific and small number of Blockchain repos like healthcare operationalization of three cryptocurrencies [27], or the analysis of 481 Bitcoin repos to learn the Bitcoin-based cryptocurrency aspects [9]. However, we are aware of no studies that analyzed the diverse states and user interactions in the GitHub Blockchain software ecosystem. Such insights can complement existing studies with insights into the overall Blockchain software ecosystem. This paper reports the results of an empirical study to learn about the Blockchain OSS ecosystem in GitHub. An open-source Blockchain project tends to be more secure as many people can verify security. People can trust such OSS projects more, which is a crucial factor to ensure the success of a Blockchain-based solution. Given that Github is the biggest platform to host OSS projects, the Blockchain repos from Github can offer a comprehensive overview of the states of the Blockchain OSS ecosystem. In our empirical study, we analyze total 3,664 Blockchain repos from GitHub. Our goal is to learn about the states of entities (e.g., users) and interactions among the users as observed in the GitHub Blockchain repos. Our empirical study has two major phases: • Phase 1. We manually label the 3,664 Blockchain repos under three categories: Tool, Application (Cryptocurrency vs. non Cryptocurrency-based). This categorization ensures that we have a better understanding on the type of Blockchain OSS software systems being developed in GitHub. • Phase 2. We use the categories and combine those with the GitHub repo-based metrics (e.g., star rating, forks, interactions, users) to conduct our empirical study with a focus to arXiv:2205.08087v1 [cs.CR] 17 May 2022 understand the status quo of user engagement and interactions for this special class of software systems.
Our study offers several findings as summarized below: • We find that Ethereum and Bitcoin Blockchain platforms have the highest number of projects. The Blockchain tools show more development activities than the Blockchain applications. Even though crypto applications are more popular, the development activity of the crypto and non-crypto applications are mostly similar. This finding corroborates with a sustained focus on cryptocurrencies and the use of Blockchain to create those. Similar development activities across crypto and non-crypto indicate the growing emphasis on applying Blockchain-based solutions across diverse domains (details in Section 3.1). • Organizations are contributing more to the Blockchain repos than the individual users. Many organizations (like Ethereum with mostly tool-based repos and IBM with mostly applicationbased) own multiple Blockchain repos (see Section 3.2). • We see higher degrees of collaboration among the users in Blockchain tool repos than those in the application repos. The interactions of commit contribution are higher in number than almost all other types of interactions. Developers interact more via issues than via the other artifacts (commits and pull requests). This finding indicates that Blockchain OSS repos hosted in GitHub are being used by users and the users report their issues of using the OSS by logging or commenting on issues (see Section 3.3). • We also find that the contributing users of the Blockchain repos are not autonomous. This means that many internal developers generally face restrictions in merging code changes. Therefore, future measures can be taken to improve the autonomy of the internal developers in these projects (see Section 3.4).
Our study findings offer implications to diverse stakeholders in the Blockchain ecosystem: (1) Blockchain vendors to improve autonomy in their Blockchain repositories, (2) Blockchain developers to learn about current trends in Blockchain ecosystem, (3) Blockchain researchers to offer new tools and techniques for quality assurance of the Blockchain software and the interactions among users.

STUDY DATA COLLECTION 2.1 Project Selection
Picking Blockchain OSS repos from GitHub is a non-trivial task due to the following reasons: (1) There is no standard label/tag/identifier in a GitHub repo that can be used to decide whether it is a Blockchain repo or not. (2) GitHub topic (which is introduced as a tag) is not universally applied to tag each GitHub repo. (3) A GitHub topic may use any Blockchain-related label other than simply the keyword 'Blockchain'. (4) Searching by the keyword 'Blockchain' using GitHub search API will not provide all GitHub repo (e.g., when the description does not have Blockchain as the keyword) or may contain false positives (e.g., when the repo simply mentions Blockchain while referring to a non-Blockchain feature). We, therefore, adopted the following process (see Figure 1) to pick a list of Blockchain repos. We discuss the steps below.  First, we collect a set of 86 keywords that we can use to search diverse Blockchain repos. We produce the keywords using the following sources: (1) Top 100 Blockchains-based cryptocurrencies from CoinMarketCap [2] (Bitcoin, Ethereum, Polkadot, etc), to include top Blockchain platforms in terms of cryptocurrency market capitalization; (2) Top permissioned Blockchain names (Hyperledger Fabric, Corda, etc.), as permissioned Blockchains generally do not have cryptocurrencies, we need to add these names so that we don't miss them while searching for the Blockchain projects; (3) Popular Blockchain keywords (smart contract, solidity, dapp, etc.), so that we can include Blockchain-related tools and applications that do not have the Blockchain names directly in their descriptions. However, we needed to exclude some Blockchain names from the keyword list because they were very common words (e.g., icon, waves), and they produced a substantial amount of false positives in the project selection step. But, as we also included popular Blockchain-related keywords (e.g., blockchain, dapp, smart contract), the projects related to these Blockchains came up in the project selection even though the Blockchain platform names were filtered out. Second, we searched the GHTorrent dataset [18] with the above keywords. GHTorrent is an offline database that provides a snapshot of the GitHub database. We used the latest GHTorrent database that was available during the time of our analysis (January 2021). For each repo in GHTorrent, we searched the keywords in the project name, description, and topic fields. This returned 802K GitHub repos.

Project Filtering
We then filtered the 802K repos to find relevant and informative Blockchain repos. Specifically, we followed the same sampling criteria used by Gonzalez et al. [17], who previously investigated the ecosystem of Machine Learning (ML) repositories in GitHub. To filter out unused, inactive, and non-source code repositories, these criteria have been selected following the best practices [19,21,24,26]. The filtering criteria are as follows: (1) Size: A repo must have a size greater than 0 (KB) (2) Popularity: Must have ≥ 5 stars (3) Activity: The last commit of the repo must be on and after January 2019 (4) Data Availability: Project data must be accessible by the GitHub API and GHTorrent (5) Content: Must be a software project and not a tutorial, homework assignment, coding challenge, or 'resource' storage. This step returned around 5200 GitHub repos. Not all the repos returned after the third step are Blockchain-related projects because few non-Blockchain projects also matched with some keywords that we used to select the projects initially, we also found non-source code repositories (such as course lectures) after the above filtering. So, we manually analyzed each of the 5200 repos to discard irrelevant repositories. This step resulted in our final list of 3,664 Blockchain repos.

EMPIRICAL STUDY
In this section, we answer four research questions (RQ) by analyzing the data of Blockchain software repositories collected in Section 2.
RQ1. How do the popularity and activity across the Blockchain repos vary? (Section 3.1) RQ2. How do different users in the Blockchain repositories vary?
(Section 3.2) RQ3. How do the different users collaborate in the Blockchain repositories? (Section 3.3) RQ4. How autonomous are the internal users in the Blockchain repositories? (Section 3.4) Like any OSS project in GitHub, a Blockchain project in GitHub can have two major entities: (1) Repository (repo), (2) User. The two entities can show diverse status (e.g., user growth). Therefore, our RQ1 attempts to offer an understanding of the popularity of the Blockchain repos in GitHub based on their growth and user activity. Given the Blockchain stakeholders can be diverse in GitHub, RQ2 offers an empirical evidence of the distribution of the different users observed in the GitHub Blockchain repos and RQ3 investigates how the users collaborate while RQ4 offers insights into how autonomous the internal users to a repo are, i.e., whether they can make progress without much help from external users to a repo.
3.1 RQ1. How do the popularity and activity across the Blockchain repos vary?
3.1.1 Approach. First, we divide the Blockchain repos into two categories: (1) Tool (i.e., offering a stand-alone API/SDK with Blockchain algorithm/model), and (2) Application (i.e., offering software to address specific use case scenario). The definition of the categories is taken from Gonzalez et al. [17]. Such categorization can also offer deeper insights into our Blockchain projects. We thus attempted to categorize our Blockchain repos into two categories (i.e., Tools and Applications). We can divide the blockchain applications into two subcategories. Applications that focus on cryptocurrencies that have direct monetary value, applications that focus on encompassing blockchain features in other various domains (health, business, law, entertainment, etc). Given the current focus on Blockchain-based cryptocurrencies, we divided the 'Application' category into two sub-categories: (1) Application Crypto, and (2) Application Non-Crypto/Others , to find out whether these application categories are in fact separate in terms of different metrics (e.g., development activities), or we can consider them as a single group in future studies. We labeled each Blockchain repo to one of the three categories in two steps. (1) Automatic categorization: We attempted to label a repo automatically using a suite of keywords (see Table 1). The   list of keywords is picked based on our manual analysis and by consulting the keywords for the 'Tool' category from Gonzalez et al. [17]. The automated approach was able to categorize about only 25% of the dataset. (2) Manual labeling: Even though we used an automated approach, we checked each repo manually to determine its label. This helped us to fix any misclassification that happened at the automatic categorization step as well as classify the repos that the automated approach was not able to classify. A total of three human coders participated in the labeling process. First, two of the authors consulted in two iterations to create a labeling guide. In the first iteration, both authors separately labeled 40 repos. They then computed the agreement between them using Cohen value and resolved disagreements by discussing them together. The Cohen value was 0.63 which is considered substantial (see Viera et al. [37]). This process also helped them update the labeling guide. In the second phase, both authors again separately labeled 40 repos and repeated the process of agreement calculation and disagreement resolution. The Cohen value was 0.80. Therefore, after this stage, any of the authors could continue with the manual labeling of the rest of the repos without introducing any individual bias. The first author then completed the rest of the manual labels. Nevertheless, we further validated the manual labels by consulting with a third coder, who is not an author of this paper. In a Github repository, the owner of the repository can set multiple words describing the summary of a repository, these are called topics of the repository. Topics generally mean what the repository is about. For example, Blockchain-based projects use blockchain, cryptocurrency, etc. as their topics. We also find these topics in the GHTorrent [18] dataset that we used to calculate the most common topics across different repository types.
3.1.2 Results. During the manual labeling step (described in Section 2.1), we categorized each repository in the dataset into the Blockchain platform it belongs to. We found in total 71 Blockchain platforms in our 3,664 repos (e.g., Ethereum). Figure 2 shows the top 10 of these platforms based on the total number of repos. Ethereum wins the race, followed by Bitcoin, then follows the "others" category (which denotes the rest of the Blockchain-based projects that we have not explicitly monitored during the classification of Blockchain platforms). Then comes the multi-Blockchain projects; these projects are those projects that used or targeted more than one Blockchain platforms in their development phase.  Overall, we can see some cross-cutting topics like Ethereum and Bitcoin which are mainly Blockchain platform names and these platforms are used in Blockchain-based application development. We also see specific topics like 'wallet' in Application Crypto, which is to develop a virtual wallet for the cryptocurrencies.
In Figure 3, we show the violin plot distribution of two popularity metrics (# of stars and # of forks) per category. Overall, the median values are similar across the three categories. Still, the differences in quartiles are greater between Tools and Applications Others, which are also two categories with the most repos.
In Figure 4, we show the distribution of the commits, issues, and pull requests per repository type. We can see that, just like the above popularity measures, tool repos have a higher number of commits, issues, and pull requests than the application repos.
We performed Kruskal-Wallis tests on both the popularity and activity measures and found that in both cases distribution of the measures is not the same across the repository types (p < 0.001). But from the Dunn's tests (Bonferroni adjustment), we see both for the # of stars and # of forks, the distributions of Tool repositories are not significantly different than the Application 3.2 RQ2. How do different users in the Blockchain repositories vary?
3.2.1 Approach. We got the ownership data of the repositories from the dataset itself. But finding out the internal and external users was not a straightforward task. Following the steps discussed by Gonzalez et al. [17], we calculated and summarized each repository user's contribution such as how many issues, pull requests, or commits the user created, how many of them are closed/merged by the user himself/herself, how many of them have been processed by other users instead, etc. After summarizing the degree of a user's contribution in a repository, we categorized them into internal and external users. We marked the internal users with significant participation in processing other users' issues or pull requests as the maintainers of the repository.

Results.
The distributions of project owners by three project categories are shown on Table 3. We also indicate the number of total repos, the total number of contributing organizations, and the total number of users that created those repositories for each project category. The number of contributing organizations is 2,147 among the total 3664 repositories demonstrating a significant focus on Blockchain OSS in GitHub from the software vendors. As we have shown in Table 3, organizations own most of the Blockchain projects of our analysis (58.6%), the rest are owned by individual user accounts. In Blockchain repositories, 501 accounts own more than one repositories (20.9% of the dataset), and 86 accounts own at least 5 repositories (3.6% of the dataset). In fact, the majority of GitHub accounts with more than five Blockchain repos are organizational accounts. The top 3 accounts with most Blockchain repositories are Ethereum (46 repos), IBM (32 repos), and input-output-hk (30 repos). Here we see, Ethereum is the topmost contributor, followed by IBM. The organizations are working on multiple Blockchain-based solutions in GitHub, which signifies the significant focus on the Blockchain OSS ecosystem from the industry. Some of these organizations (e.g., Ethereum, Stellar) are dedicated to support specific Blockchain platforms, while others offer Blockchain-based solutions (e.g., IBM). The top organization Ethereum, has mostly tool-based repositories as it works on supporting the infrastructure of the Ethereum Blockchain platform. On the other hand, IBM works on multiple Blockchains with most of its repositories are non-crypto applications (56.3%). Figures 5a and 5b show the distribution of internal and external users across Blockchain project categories. We see that tool repositories has higher number of both external and internal users than the application repositories.
The performed Kruskal-Wallis tests denote that the distribution of the users is significantly different across repo types. But the Dunn's tests with Bonferroni adjustment show that the distribution of the internal users for crypto applications are not significantly different than the non-crypto repos (p > 0.05). On the other hand, for the tools and crypto applications, the distributions of the external users do not differ significantly (p > 0.05).   Table 4. The goal then is to compute how frequently users show the above interaction types when interacting with each other in a repository.

Results
. We find that median number of the user per artifact per repository for (a) Tools are Commits (15.5), Issues (10), Pull Requests (7); (b) Applications (Crypto) are Commits (10), Issues (8), Pull Requests (4); (c) Applications (Others) are Commits (12), Issues (9), Pull Requests (7). Overall, users' median per artifact is higher in the Blockchain tools (across all three categories) than the Blockchain application repos. In Figures 6, 7, and 8, we quantify the collaboration among different users in a repo based on the five interaction types defined in Table 4: (a) Code contribution (blue bar) denotes the frequency of interaction between the author of a commit and the committer of that commit. We see that this interaction is the most prevalent in both tools and non-crypto applications. (b) Maintenance Contribution Interaction that happens between the author and the committer of a commit. Maintenance Interaction that happens between two users that initiate any event (i.e. approve, except commenting) for the same artifact (issue/ pull request), and any user who is not the creator (opener/reporter) of the artifact. Process Interaction that happens between the creator (opener/reporter) of the artifact and another user who initiates a maintenance event.

Review
Interaction that happens between a user who comments on an artifact and it's creator (author/reporter/opener).

Discussion
Interaction that happens between two users who comments on an artifact and the users who are not the creator of the artifact.
(brown bar) denotes the frequency of interaction between two users to approve/comment artifacts like pull requests. We see issue maintenance interactions are higher than the pull request maintenance in all repo types. (c) Process (green bar) denotes the frequency of interactions between the creator and a maintainer of an artifact. In all repo types, interaction in issue processing is higher than the pull request processing. (d) Review (red bar) denotes the frequency of interactions between the creator and a commenter of an artifact. For tools and non-crypto applications, reviews in pull requests are higher than the reviews in issues.
(e) Discussion (purple bar) denotes the frequency of interactions between two users who are not the artifact's creator but who nonetheless commented on the artifact. Discussion is the most prevalent interaction for crypto applications. We see that almost all of the collaborative interaction types are higher in tool repositories than the application repos (note that the scale is different in each graph).   Table 5. The goal is to find the distribution of the above user types in a repository. Based on the percentage of users that belong to each group, the autonomy of the whole project is calculated.

Results.
In Figure 9, we show the proportion of three user types (maintainer, autonomous and dependent contributors as defined in Table 5) across the Blockchain repo categories. We see that: (1) The proportion of maintainers in a repo is higher in crypto applications than both tools and non-crypto applications. Maintainer A user who has merged or closed artifacts (issues and/or pull requests) opened by others. Autonomous A user who committed majority of his/her Contributor commits and also and/or self-merged majority of his/her pull requests. Dependent A user whose majority of the commits were Contributor not committed by others, and/or other users also merged/closed majority of his/her pull requests.
(2) The proportion of autonomous users are the same across all of the repo types. (3) The proportion of dependent contributors are also the same across all types of repositories. Overall, we see a lower proportion of autonomous users but a higher proportion of dependent contributors across all Blockchain repo categories. This makes the Blockchain repos less autonomous, indicating more restriction in the Blockchain repos to make quick code changes.
On the other hand, we can find some inherent reasons for this less autonomy in the Blockchain repositories. Blockchain networks are generally distributed networks, and no central authority has control over them. So, updating the network for fixing a bug becomes difficult because all the relevant parties need to update the software simultaneously across the network. So making the systems fault-tolerant and bug-free early on is very important for Blockchain-based projects, as merging buggy code into the codebase can be fatal. Hence multiple reviews are generally performed before the code changes are approved and merged, which in turn lessen the autonomy of the developers.

DISCUSSIONS 4.1 Blockchain Vs Non-Blockchain Repositories
Blockchain is a relatively new technology; it is important to know whether and how the findings we observed could differ from the non-Blockchain projects. We, therefore, randomly pick an equal number of non-Blockchain repos (i.e., 3664) from GitHub to compare these two categories. In this subsection, we compare both the states and the interactions of different entities in Blockchain vs. non-Blockchain projects using total 7,328 GitHub repos. Data Collection. At first, we sampled 10k repositories from Github using Github API after applying the same filtering criteria as of those applied for the Blockchain repositories (described in Section 2.2). Then we randomly selected an equal number of non-Blockchain repos (i.e., 3664) for the non-Blockchain GitHub repository set from the filtered set of 10k repos after removing any Blockchain repositories from this list.
We show the summary of the calculated metrics of the Blockchain vs. non-Blockchain repos in Table 6. We can see in Table 6, the Blockchain repos have a higher number of commits, issues, and pull requests than the non-Blockchain repos in our dataset, denoting that Blockchain-based repos in our database are more actively developed than the non-Blockchain repos. There could be several reasons for this: • Larger investment in Blockchain projects in terms of both time and resources; • The domain is still actively growing, so rapid development is going on; • Blockchain industry's one of the key selling points is fault tolerance of the systems, and to catch the bugs in the development phase, the artifacts (such as commits and pull requests) go through a lot of processing; Users. We find that organizations own 2,147 (58.6%) repos among 3664 Blockchain repos. In comparison, only 913 (24.9%) repos of 3664 non-Blockchain repos are owned by organizations which denote that organizations have a significant focus on the Blockchain software ecosystem. From Table 6 we see, the number of both internal and external users is higher in the Blockchain repos. Interactions. Comparing Figure 10 with Figures 6, 7, and 8 we see that: (1) The median of Contribution (blue bar) frequencies for Blockchain repos are between 15-20, but it is around 4 for Blockchain repos. (2) The median of Maintenance (brown bar) is around 5-10 for Blockchain repos and 1-2 for non-Blockchain repos. This indicates that more non-authors collaborate in the Blockchain artifact maintenance process. (3) The median for Process (green bar) is around 5 for Blockchain repos and 1-2 for non-Blockchain repos. (4) The median of Review (red bar) is around 5-10 for Blockchain repos and 1-2 for non-Blockchain repos. (5) The median for Discussion (purple bar) is around 10 for Blockchain repos and 2-3 for non-Blockchain repos. Thus, across all the five interaction types, we observe higher degrees of collaboration among the users in Blockchain repos than in non-Blockchain repos.
Autonomy. In Table 6 we see that: (1) The proportion of maintainers in a repo is similar between Blockchain and non-Blockchain repos. (2) The proportion of autonomous users is more in non-Block--chain repos (40% vs. 33% in Blockchain repos). (3) The proportion of dependent contributors is more in Blockchain repos (33% vs. 25% in non-Blockchain repos). Therefore, the lower proportion of autonomous users but a higher proportion of dependent contributors make the Blockchain repos less autonomous, which indicates more restriction in the Blockchain repos to make quick code changes.

The Case of Archived Blockchain Repos
In software teams, obsolete projects are generally archived. Given Blockchain is a rapidly evolving paradigm, it is expected that innovative ideas are rapidly implemented in the Blockchain software ecosystem, with little or no guidance and previous expertise of developing such solutions. As such, it may happen that some ideas are less successful than others, resulting in their archival. We investigated whether a repo is archived using two approaches: (1) We used Github API to search for the repositories that are marked as archived (2) We searched for relevant keywords (e.g., deprecated, obsolete, archived, no longer maintained, etc) in the Readme file of the repo. We find total 332 archived Blockchain repos and 316 archived non-Blockchain repos. Thus, we find a slightly higher proportion of archived repos in Blockchain than in non-Blockchain repos (9.1% vs 8.6%).
In Figure 11a Figure 11b). For both the Blockchain and non-Blockchain repos (archived + non-archived), we see an upswing between 2017 -2018, where the upswing is more prominent for Blockchain repos. This denotes that the more Blockchain repos got created in 2017 -2018, the more Blockchain repos also got archived at the time. This indicates rapid evolution and implementation of new ideas in the Blockchain GitHub repos, which led to the creation of more new repos as well as the closure (i.e., archival) of old repos compared to the Blockchain repos.
We analyze the reasons of archival in the repos using 200 randomly sampled repos, 100 each from Blockchain and non-Blockchain types. The sample size for each type is statistically significant with a 95% confidence level and 10 confidence interval. We then checked the description (i.e., Readme) file of each sampled repo, where the repo owners could provide their archival reasons. The first two authors analyzed the reasons together. We observed total of four archival reasons: (1) New repo migration denotes when a project development has been moved to a new repo due to change of ownership/name, rebuilding of the project from scratch, etc. (2) Resource unavailability denotes the lack of resources (e.g., developers, funding) to continue a repo. (3) Obsolete dependency denotes that an essential dependency (e.g., a Blockchain platform or an API/SDK) for a repo became obsolete, which led the project owner closing the project. (4) Obsolete usecases denotes a project is no longer needed because its use cases are no longer relevant in the evolving Blockchain ecosystem. In Table 7, we present the distribution of five archival reasons categories across the 200 sampled repos. The archival reasons for more than 50% repos are  Table 7). Except that, the two other major archival reasons are 'Obsolete usecases' and 'New repo migration', both of which are observed more in the Blockchain repos.

Implications of Findings
Our study findings can be instrumental to following stakeholders.
(1) Blockchain Vendors. We find that majority of Blockchain repos in our dataset are owned by organizations (e.g., IBM, Ethereum), which is more than the user-owned repos (58.6% vs. 41.4%). Compared to the non-Blockchain repos, users in Blockchain repos show less autonomy while pushing changes in the codebase. This could indicate that the Blockchain OSS ecosystem is closely guarded by few users and industry vendors, which then can create a bottleneck while making rapid progress. Therefore, Blockchain repo owners in GitHub can create an environment with less restriction so that users can enjoy more autonomy while creating features.
(2) Blockchain Developers may expect more development activities and collaborative interaction in tool repos than the application repos. As the development teams of the repos are not autonomous, the developers may expect some restrictions (i.e., multiple review cycles) in applying code changes to the repos.
(3) Blockchain Career Enthusiasts can take note of the growth of Blockchain repos to stay aware of this rapidly evolving ecosystem. Blockchain repo creation peaked in 2016 -2018, while we a high growth rate in the Blockchain repos in 2017 -2018 ( Figure 11b). Such insights can help career enthusiasts to make decisions like when to make a career change and when to invest in the ecosystem. (4) Blockchain Researchers. We observed much more interactions of Blockchain users around issues in GitHub (see Figures 6,7,and 8). This denotes that quality assurance of Blockchain repos is getting attention from Blockchain users. While significant research in Blockchain-based research has focused on improving security (e.g., smart-contracts [10,14]), our results show that research can develop tools to improve the autonomy in the repos. Autonomy can be improved by improved collaboration and the generation of automatic documentation for the Blockchain repos/APIs, e.g., by automatically expanding the documentation from online resources [33,34], where discussions and reviews about new and emerging techniques are readily available [12,32]).

THREATS TO VALIDITY
Internal validity threats relate to the author bias while conducting the analysis. We mitigated the bias in our manual labeling of Blockchain repos by using three human coders. We report the Cohen agreement between the first two coders in two iterations, which show the substantial to a perfect agreement (according to Viera et al. [37]) between the coders. Construct Validity threats related to the potential errors in the study methodologies. To identify the Blockchain-related projects, we used both topics [17] and the project description metadata and followed best practices to analyze GitHub repos (e.g., [17,19,26]). External Validity threats relate to the generalizability of the findings. We study Blockchain projects that are hosted publicly in GitHub. We followed an extensive sampling process to collect the Blockchain and non-Blockchain repos (see Section 2.1). As we noted in Section 2, we picked our Blockchain repos based on a suite of 86 Blockchain-specific keywords. This approach was necessary because there is no other way to find the list of Blockchain repos in GitHub. Although GitHub offers the 'topic' feature to tag a repo, not all repos are tagged by the topics. Many of the Blockchain repos we found do not have any topic tag. Our keyword-based approach returned 802K GitHub repos. This large number of repos indicates that our keyword-based approach is sufficient to find a good number of Blockchain repos.

RELATED WORK
Related work can broadly be divided into two types: Studies to understand the trends in Blockchain software and Techniques developed to address problems in Blockchain-based solutions.
Studies. In this research, we study the evolution of Blockchain technology from the perspective of OSS development in GitHub. Several recent empirical studies on Blockchain used GitHub data. There have been several systematic literature reviews that discussed the ongoing software engineering-related research regarding blockchain-based software development [16,35]. This includes testing and analysis of smart contracts, performance and security of DApp, analyzing architecture types used during the blockchainbased software development, etc. However, no previous studies performed an empirical analysis of blockchain-based repos in the wild. Trockman et al. [8] report one year of development activity of around two hundred cryptocurrencies and observe that the popularity of the repos is associated with a higher market capitalization of the corresponding platforms. Zheng et al. [39] conducted an extensive survey on Blockchain taxonomy, consensus algorithms, and technical challenges. Reyna et al. [29] investigate the challenges and potential applications for block-chain related IoT applications but do not analyze the development activity of the Blockchain projects.
While the above studies limit to either cryptocurrencies or specific domains (e.g., healthcare), we study the overall Blockchain OSS ecosystem in GitHub based on a large sample of Blockchain repos. Similar to our study, many of the recent studies [11,15,17] study Collaboration among developers. Some recent analysis by Google [25] and Microsoft [30] showed that Autonomy is a crucial factor for productivity. We thus study both collaboration and autonomy of the users in the Blockchain repos. While they studied the states on the ML universe in GitHub, we study the Blockchain OSS ecosystem in GitHub.

CONCLUSIONS
The promise of complete transparency, traceability and data immutability has made Blockchain a promising architecture to use in software for diverse domains like finance (e.g., cryptocurrency), supply chain management, security, etc. Given that this is a new but rapidly evolving ecosystem, it is important to understand the states of the Blockchain ecosystem. We conduct an empirical study by analyzing 3,664 Blockchain repositories in GitHub. We find that this domain is growing rapidly just after the release of the first Blockchain project in 2010 that peaked up in 2016 -2018, when Blockchain-based solutions are adopted in diverse domains besides cryptocurrency. We find significantly more presence of large organizations in the Blockchain repos, who own multiple Blockchain repos in GitHub. Moreover, we also see less autonomy of users in the Blockchain repos. With a view to foster further innovation in Blockchain OSS ecosystem, in our future work, we aim to study more the causes of low autonomy in the Blockchain repo and develop guidelines and tools to improve the user autonomy.