chronicle

Public append-only ledger microservice built with Slim Framework

Github星跟蹤圖

Build Status
Latest Stable Version
Latest Unstable Version
License

Chronicle is a self-hostable microservice, built with Slim Framework,
which enables authorized users to commit arbitrary data to an immutable,
append-only public ledger.

Chronicle is superior to "blockchain" solutions for most real-world
technical problems that don't involve proofs-of-work or Byzantine fault
tolerance.

More precisely, Chronicle is a self-hostable microservice exposing an append-only,
cryptographically-secure hash chain data structure that accepts arbitrary
data from authorized clients through an HTTP API, secured by Sapient,
that can be used as a building block for building a cryptographic audit trail
similar to Certificate Transparency.

Chronicle will make you question the need for blockchain technology.

Chronicle was developed by Paragon Initiative Enterprises
as part of our continued efforts to make the Internet more secure.

Getting Started with Chronicle (Documentation)

Client-Side Software that Interacts with Chronicle

PHP

What does Chronicle do?

Chronicle allows trusted clients to send data to be included in an immutable,
auditable, cryptographic permanent record.

Furthermore, Chronicle has cross-signing and many-to-one replication built-in,
which, when used, greatly enhances the auditability and availability of the
data written to your local Chronicle instance.

What problems do Chronicle solve?

Chain of Custody

If you have sensitive information, you can write metadata about client access
times to a private Chronicle in order to have verifiable, tamper-resistant
proof that specific records were accessed by specific user accounts at a
specific time.

Proof of Knowledge

By inserting an encrypted message and then revealing the key at a later date,
you can provide strong evidence of prior knowledge.

Userbase Consistency Verification

For building a secure code delivery system,
committing some metadata and a SHA256 or BLAKE2 hash of each update file to
a publicly verifiable Chronicle allows users to compile a whitelist of known
update files to help block trojan horse malware (in the event of a compromised
update server).

For best results, combine with cryptographic signatures (which may also be
registered in the Chronicle) and reproducible builds.

Auditable Security Event Logging

Because of Chronicle's cryptographically assured append-only properties, and
its use of modern elliptic curve digital signatures,
Chronicle is a good fit for integrating with SIEM solutions and internal SOCs.

How does it work?

All communications are secured with Sapient.
Sapient ensures that all published messages are signed with Ed25519. All messages
are committed to a hash chain data structure backed by BLAKE2b, which we call
Blakechain for short.

There are two hashes for each message:

  1. The hash of the current message, whose BLAKE2b key is the previous message's
    block. This is just called currhash internally.
  2. The summary hash, which is a BLAKE2b hash of all message hashes to date,
    concatenated together in order. This is called summaryhash internally.

The rationale for using the previous message's hash was to add a degree of domain
separation in the event that a BLAKE2b collision attack is ever discovered. The
keying should reduce the likelihood of any practical attacks, especially if the
chain is updated rapidly.

主要指標

概覽
名稱與所有者paragonie/chronicle
主編程語言PHP
編程語言PHP (語言數: 3)
平台
許可證
所有者活动
創建於2017-06-26 07:23:16
推送於2022-01-17 21:35:17
最后一次提交2022-01-17 16:30:34
發布數20
最新版本名稱v1.3.1 (發布於 2022-01-17 16:35:01)
第一版名稱v0.1.0 (發布於 2017-06-27 18:05:03)
用户参与
星數469
關注者數26
派生數26
提交數246
已啟用問題?
問題數36
打開的問題數4
拉請求數27
打開的拉請求數0
關閉的拉請求數4
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?