UQDA NETWORK

TECHNOLOGIES & TOOLS
// PROGRAMMING LANGUAGE

Go (Golang) - Version 1.22+

Uqda Network is written entirely in Go, chosen for its excellent concurrency support, strong standard library, and cross-platform capabilities.

// CRYPTOGRAPHY

Encryption Algorithms

Algorithm Purpose Key Size Library
ChaCha20-Poly1305 End-to-end encryption of all traffic 256-bit golang.org/x/crypto
Ed25519 Digital signatures and node identity 256-bit crypto/ed25519 (Go stdlib)
X25519 Key exchange (ephemeral keys) 256-bit golang.org/x/crypto
BLAKE2b Hashing for address derivation 256-bit golang.org/x/crypto/blake2b
// CORE DEPENDENCIES

Network & Routing

Package Purpose Version
github.com/Arceliar/ironwood Core routing protocol implementation v0.0.0-20241213013129
github.com/Arceliar/phony Actor model for concurrency v0.0.0-20220903101357
golang.org/x/net IPv6 networking, IP utilities v0.32.0
github.com/vishvananda/netlink Linux network interface management v1.3.0
github.com/wlynxg/anet Network abstraction layer v0.0.5

Transport Protocols

Package Protocol Version
github.com/quic-go/quic-go QUIC protocol support v0.48.2
github.com/coder/websocket WebSocket (WS/WSS) support v1.8.12
net (Go stdlib) TCP/TLS connections Built-in

Virtual Network Interfaces

Package Platform Version
golang.zx2c4.com/wireguard Cross-platform TUN interface v0.0.0-20231211153847
golang.zx2c4.com/wintun Windows TUN interface v0.0.0-20230126152724
golang.zx2c4.com/wireguard/windows Windows-specific utilities v0.5.3

Utilities & Tools

Package Purpose Version
github.com/gologme/log Structured logging v1.3.0
github.com/hjson/hjson-go/v4 Configuration file parsing (HJSON) v4.4.0
github.com/cheggaaa/pb/v3 Progress bars v3.1.5
github.com/olekukonko/tablewriter Table formatting for CLI v0.0.5
github.com/hashicorp/go-syslog Syslog integration v1.0.0
github.com/kardianos/minwinsvc Windows service management v1.0.2
suah.dev/protect Security hardening (OpenBSD pledge) v1.2.4

Data Structures

Package Purpose Version
github.com/bits-and-blooms/bloom/v3 Bloom filters for routing v3.7.0
github.com/bits-and-blooms/bitset Bit set operations v1.13.0
// SYSTEM REQUIREMENTS

Supported Platforms

Platform Architecture Minimum Version
Linux x86_64, ARM64 Kernel 3.x+
Windows x86_64, ARM64 Windows 7+
macOS Intel, Apple Silicon macOS 10.12+
FreeBSD x86_64, ARM64 FreeBSD 12+ (experimental)
// BUILD TOOLS
// PROTOCOL SPECIFICATIONS
Component Specification
Protocol Version 0.5 (compatible with Yggdrasil v0.5)
IPv6 Address Range 0200::/7
Encryption ChaCha20-Poly1305 (AEAD mode)
Signing Ed25519 (256-bit)
Key Exchange X25519 (ephemeral)
Routing DHT (Distance Vector) + Spanning Tree
Transport TCP, TLS, QUIC, WebSocket (WS/WSS)
MTU Up to 65535 bytes
// LICENSE

Uqda Network is released under the LGPLv3 license.

All dependencies maintain their respective licenses. Most are open-source and compatible with LGPLv3.

// SOURCE CODE

Complete source code and dependency information: