Kadence

:warning: KADENCE HAS MOVED TO GITLAB :warning: 可扩展、加固和安全的分布式系统框架。「Extensible, Hardened, and Secure Distributed Systems Framework」

Github星跟蹤圖


Kadence

The Kadence Project is a complete implementation of the
Kademlia distributed
hash table that aims to effectively mitigate all vulnerabilities described in
the S/Kademlia
paper and then some! Kadence provides developers of distributed systems a
complete framework for inventing new protocols on a rock solid base as well as
providing a complete reference implementation of a Kadence network.

Ready to get started?

$ npm install -g @kadenceproject/kadence
$ kadence --help

If you're new to Kadence, check out our tutorial for {@tutorial quickstart}!

Features

Publish & Subscribe

Kadence implements a completely decentralized publish/subscribe protocol based
on Quasar,
allowing you to build anything from peer-to-peer social networks to real time
sensor networks for the internet of things.

DDoS & Spam Protection

Kadence enforces a proof of work system
called Hashcash for relaying
messages to prevent abuse and make large scale denial of service and spam
attacks cost prohibitive.

Bandwidth Metering

Kadence monitors bandwidth and enables end users to configure their maximum
bandwidth usage within a timeframe to suit their individual needs or prevent
overages with internet services providers that enforce
bandwidth caps.

End-to-End Encryption

Kadence can automatically generate SSL certificates and supports full
end-to-end encryption via TLS using it's built in HTTPS transport adapter to
prevent eavesdropping and man in the middle attacks.

Cryptographic Identities

Kadence extends Kademlia's node identity selection with the same cryptography
bitcoin uses for securing funds. Node identities are derived from the hash of
the public portion of an ECDSA
key pair and each message is signed to ensure it hasn't been tampered with in
transit.

Sybil & Eclipse Mitigation

Kadence employs a proof of work system
using Scrypt for generating valid
node identities and subsequent acceptance into the overlay network. This
forces nodes into sufficiently random sectors of the key space and makes
Sybil and
Eclipse
attacks computationally very difficult and ultimately ineffective.

Automatic NAT Traversal

Kadence supports multiple strategies for punching through
network address translation.
This enables peers behind even the strictest of firewalls to become addressable
and join the network.

Multiple Network Transports

Kadence supports the use of multiple transport adapters and is agnostic to the
underlying network protocol. Support for UDP and HTTP/HTTPS ship by default.
Plugin your own custom transport layer using using a simple interface.

Persistent Routing Tables

Kadence remembers peers between restarts so after you've joined the network once
subsequent joins are fast and automatically select the best initial peers for
bootstrapping.

Permissioned Entries

Kadence grants write access to storage entries by verifying that the entry is
paired with a unique proof-of-work
solution using Scrypt that is derived
from a valid node identity and signature. Solutions are found through a "mining"
process and stored in a digital wallet for your use.

Sender & Destination Anonymity

Kadence ships with full support for
Tor Hidden Services out of
the box with no additional software installation or configuration required.
This enables fully anonymized structured networks and leverages the latest
version 3 hidden services protocol.

Configurable Trust Policies

Kadence provides a flexible trust policy plugin allowing for fine-tuned,
per-identity, per-method trust policies. Blacklist misbehaving nodes on an
open network or whitelist identities on an explicit trust-based network.

Simple Plugin Interface

Kadence exposes a simple interface for extending the protocol with your own
application logic. Users of Express will find it
comfortable and familiar. If you are new to building distributed systems, you
will find it easy to get started.

Research

Kadence is used in academic research on distributed systems. Here are some
notable papers!

License

Kadence - Extensible, Hardened, and Secure Distributed Systems Framework  
Copyright (C) 2014 - 2018 Gordon Hall

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

主要指標

概覽
名稱與所有者kadence/kadence
主編程語言Python
編程語言JavaScript (語言數: 7)
平台
許可證MIT License
所有者活动
創建於2015-08-15 20:03:41
推送於2018-10-27 15:00:37
最后一次提交2017-08-01 15:25:38
發布數26
最新版本名稱v1.1.13 (發布於 2017-08-01 15:26:02)
第一版名稱v0.1-alpha (發布於 )
用户参与
星數125
關注者數32
派生數72
提交數169
已啟用問題?
問題數41
打開的問題數22
拉請求數9
打開的拉請求數2
關閉的拉請求數3
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?