PHPackages                             paragonie/blakechain - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. paragonie/blakechain

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

paragonie/blakechain
====================

Hash chain using BLAKE2b

v1.1.2(2y ago)242.9k53MITPHPPHP ^7|^8CI failing

Since Jun 23Pushed 2y ago5 watchersCompare

[ Source](https://github.com/paragonie/blakechain)[ Packagist](https://packagist.org/packages/paragonie/blakechain)[ RSS](/packages/paragonie-blakechain/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (7)Dependencies (4)Versions (9)Used By (3)

Blakechain
==========

[](#blakechain)

[![Build Status](https://github.com/paragonie/blakechain/actions/workflows/ci.yml/badge.svg)](https://github.com/paragonie/blakechain/actions)[![Static Analysis](https://github.com/paragonie/blakechain/actions/workflows/psalm.yml/badge.svg)](https://github.com/paragonie/blakechain/actions)[![Latest Stable Version](https://camo.githubusercontent.com/7af25e7640d6ca3429af25c4dfb02a3856b56983d24603d93f4b4314e8fb631e/68747470733a2f2f706f7365722e707567782e6f72672f70617261676f6e69652f626c616b65636861696e2f762f737461626c65)](https://packagist.org/packages/paragonie/blakechain)[![Latest Unstable Version](https://camo.githubusercontent.com/906eef666105c6379611f7e60c1d08eb0d1dde80a23a4d2cb2de4cdad7f140fb/68747470733a2f2f706f7365722e707567782e6f72672f70617261676f6e69652f626c616b65636861696e2f762f756e737461626c65)](https://packagist.org/packages/paragonie/blakechain)[![License](https://camo.githubusercontent.com/eaeea07cb01e4e5d3571e7a56800a65c45aeefa2ea3b9e662c650026d22ffdf3/68747470733a2f2f706f7365722e707567782e6f72672f70617261676f6e69652f626c616b65636861696e2f6c6963656e7365)](https://packagist.org/packages/paragonie/blakechain)[![Downloads](https://camo.githubusercontent.com/bed34236beffd7bba5a73e0ec0f1af590c06a5be3d674c61c5ef0e594beb6f4f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f70617261676f6e69652f626c616b65636861696e2e737667)](https://packagist.org/packages/paragonie/blakechain)

Blakechain is a simple hash-chain data structure based on the BLAKE2b hash function.

Includes:

- The `Blakechain` implementation, which chains together `Node` objects
- A runtime `Verifier` class that validates the self-consistency of an entire chain (or a subset of an entire chain)

Blakechain is not a blockchain. You probably [don't need a blockchain](https://tonyarcieri.com/on-the-dangers-of-a-blockchain-monoculture).

Blakechain provides the data structure used in [Chronicle](https://github.com/paragonie/chronicle).

### How Blakechain Works

[](#how-blakechain-works)

The hash of each message is a keyed BLAKE2b hash, where the key of this message is the hash of the previous message.

Recursively:

```
$hash[$n] = sodium_crypto_generichash(
    $data[$n],
    $hash[$n - 1]
);

```

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity29

Limited adoption so far

Community20

Small or concentrated contributor base

Maturity68

Established project with proven stability

 Bus Factor1

Top contributor holds 87.5% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~358 days

Recently: every ~595 days

Total

8

Last Release

740d ago

Major Versions

v0.2.0 → v1.0.02017-07-09

PHP version history (2 changes)v0.1.0PHP ^7

v1.1.0PHP ^7|^8

### Community

Maintainers

![](https://www.gravatar.com/avatar/05d241256cda885139a5697d3bb536b5cec3b430c1adb9c524bf92a37a55758d?d=identicon)[paragonie-scott](/maintainers/paragonie-scott)

---

Top Contributors

[![paragonie-security](https://avatars.githubusercontent.com/u/15914520?v=4)](https://github.com/paragonie-security "paragonie-security (21 commits)")[![vzool](https://avatars.githubusercontent.com/u/4952736?v=4)](https://github.com/vzool "vzool (2 commits)")[![paragonie-scott](https://avatars.githubusercontent.com/u/11591518?v=4)](https://github.com/paragonie-scott "paragonie-scott (1 commits)")

---

Tags

cryptographyhashphp 7hash-chainblockchainBLAKE2append-only

###  Code Quality

TestsPHPUnit

Static AnalysisPsalm

Type Coverage Yes

### Embed Badge

![Health badge](/badges/paragonie-blakechain/health.svg)

```
[![Health](https://phpackages.com/badges/paragonie-blakechain/health.svg)](https://phpackages.com/packages/paragonie-blakechain)
```

###  Alternatives

[hashids/hashids

Generate short, unique, non-sequential ids (like YouTube and Bitly) from numbers

5.5k48.6M278](/packages/hashids-hashids)[paragonie/halite

High-level cryptography interface powered by libsodium

1.2k9.4M63](/packages/paragonie-halite)[ircmaxell/random-lib

A Library For Generating Secure Random Numbers

84130.2M119](/packages/ircmaxell-random-lib)[paragonie/ciphersweet

Searchable field-level encryption library for relational databases

4641.2M21](/packages/paragonie-ciphersweet)[paragonie/random-lib

A Library For Generating Secure Random Numbers

703.3M26](/packages/paragonie-random-lib)[minwork/array

Pack of advanced array functions specifically tailored for: associative (assoc) array, multidimensional array, array of objects and handling nested array elements

66256.1k5](/packages/minwork-array)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
