Skip to content
Merged

Beta #94

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .cspell/custom-dictionary-workspace.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ brotli
CCID
cshake
dilithium
EURL
handshaked
ICANN
jubjub
Expand Down
27 changes: 27 additions & 0 deletions .markdownlint.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"default": true,
"MD003": {
"style": "atx"
},
"MD004": {
"style": "consistent"
},
"MD007": {
"indent": 1
},
"MD010": false,
"MD024": {
"siblings_only": true
},
"MD033": false,
"MD041": true,
"MD046": {
"style": "fenced"
},
"MD013": {
"line_length": 700,
"code_blocks": false,
"tables": false,
"headings": false
}
}
1 change: 1 addition & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
optional=false
@universalweb:registry=https://npm.pkg.github.com
73 changes: 0 additions & 73 deletions CODE_OF_CONDUCT.md

This file was deleted.

50 changes: 50 additions & 0 deletions components/cba/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
// UW Domain Record APPS
// Applications that can be in full or in part inside of a singular Domain Certificate.
import { decode, encodeStrict } from '#utilities/serialize';
// Certificate Embedded App
// Certificate-Bound App
// Domain Certificate Binary
// Domain Certificate App
// Certificate Based Binary
// Certificate Based App
// CBOR-X-encoded binary within a domain certificate
const dcaSchema = {
dependencies: {
scripts: [],
styles: [],
images: [],
},
preload: {
scripts: [],
},
exit: {
scripts: [],
},
meta: {
title: '',
description: '',
thumbnail: {},
favicon: {},
},
content: {
type: 'uwm||html||text',
value: '',
},
keywords: [],
author: '',
license: '',
version: '1.0.0',
timestamp: new Date(),
nonce: '',
wallet: 'viat-address',
contact: {
email: '',
phone: '',
},
};
export async function encodeDomainRecordApp(app) {
return encodeStrict(app);
}
export async function decodeDomainRecordApp(app) {
return decode(app);
}
41 changes: 38 additions & 3 deletions components/cryptoID/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import {
assign,
currentPath,
hasDot,
isArray,
isBuffer,
isPlainObject,
isString
Expand Down Expand Up @@ -54,6 +55,7 @@ export class CryptoID {
if (await this.cipherSuite.keyExchange.isKeypairInitialized(this.keyExchangeKeypair) === false) {
this.keyExchangeKeypair = await this.cipherSuite.keyExchange.initializeKeypair(this.keyExchangeKeypair);
}
this.generateAddress();
}
async importKeypairs(core) {
const {
Expand All @@ -72,6 +74,7 @@ export class CryptoID {
async generate(options) {
this.signatureKeypair = await this.cipherSuite.signature.signatureKeypair();
this.keyExchangeKeypair = await this.cipherSuite.keyExchange.keyExchangeKeypair();
this.generateAddress();
// console.log('KEY EXCHANGE', this.keyExchangeKeypair);
}
async importFromBinary(data, encryptionKey) {
Expand Down Expand Up @@ -113,12 +116,36 @@ export class CryptoID {
signatureKeypair
};
}
async exportSignatureKeypair() {
// console.log('keyExchangeKeypair', this.keyExchangeKeypair);
const signatureKeypair = await this.cipherSuite.signature.exportKeypair(this.signatureKeypair);
return signatureKeypair;
}
async exportExchangeKeypair() {
// console.log('keyExchangeKeypair', this.keyExchangeKeypair);
const keyExchangeKeypair = await this.cipherSuite.keyExchange.exportKeypair(this.keyExchangeKeypair);
return keyExchangeKeypair;
}
async exportPublicKey() {
// console.log('keyExchangeKeypair', this.keyExchangeKeypair);
const signatureKeypair = await this.cipherSuite.signature.exportKeypair(this.signatureKeypair);
return signatureKeypair.publicKey;
}
async exportPrivateKey() {
// console.log('keyExchangeKeypair', this.keyExchangeKeypair);
const signatureKeypair = await this.cipherSuite.signature.exportKeypair(this.signatureKeypair);
return signatureKeypair.privateKey;
}
async exportBinary(encryptionKey) {
const { version, } = this;
const {
version,
address
} = this;
const data = {
version,
date: Date.now(),
cipherID: this.cipherSuite.id,
address,
core: {}
};
assign(data.core, await this.exportKeypairs());
Expand Down Expand Up @@ -172,6 +199,9 @@ export class CryptoID {
async sign(message) {
return this.cipherSuite.signature.sign(message, this.signatureKeypair);
}
async signBlock(block) {
await block.sign(this);
}
async signPartial(message) {
return this.cipherSuite.signature.signPartial(message, this.signatureKeypair);
}
Expand All @@ -185,11 +215,16 @@ export class CryptoID {
}
cryptoIDVersion = cryptoIDVersion;
async generateAddress() {
const publicKeyCombined = Buffer.concat(this.signatureKeypair.publicKey);
const address = this.cipherSuite.hash.hash512(publicKeyCombined);
const publicKey = await this.exportPublicKey();
const publicKeyCombined = (isArray(publicKey)) ? Buffer.concat(publicKey) : publicKey;
const address = await this.cipherSuite.hash.hash512(publicKeyCombined);
this.address = address;
return address;
}
async getAddress() {
const address = this.address || await this.generateAddress();
return address;
}
setAlias(value) {
this.alias = value;
}
Expand Down
37 changes: 37 additions & 0 deletions docs/CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<h1>Code of Conduct for the Imperium of Contributors (40K Edition)</h1>

<h2>Our Oath</h2>
<p>In the spirit of the Imperium at its most resolute, we, the contributors and overseers of this project, swear to uphold a community where <em>Freedom of Will</em> and <em>Honor of Duty</em> prevail. Guided by the principles of unfettered speech, reasoned debate, and sacred duty that defined the Imperium’s noblest campaigns, we pledge to foster an environment where ideas are forged in the crucible of discourse, and every citizen of our project is judged by the merit of their contributions. Our <em>Imperium of Code</em> thrives on truth, discipline, and the pursuit of efficacy.</p>

<h2>Our Principles</h2>
<p>The strength of our <em>Imperium of Code</em> lies in the unyielding exchange of ideas and the disciplined adherence to standards that elevate our collective endeavor. Honorable conduct, worthy of an Imperial citizen, includes:</p>
<ul>
<li>Speaking with <em>Resolve</em> and clarity, wielding words as weapons of truth.</li>
<li>Engaging opposing viewpoints with reason and <em>Noble Bearing</em>, not personal vendettas.</li>
<li>Offering criticism that refines ideas and strengthens the <em>Imperium of Code</em>.</li>
<li>Placing the project’s welfare above individual ambition, as a true servant of the imperium.</li>
<li>Embracing a diversity of thought, for through the clash of ideas, like warriors in battle, truth triumphs.</li>
</ul>
<p>Conduct that undermines our <em>Imperium of Code</em>, like the heresies of the unfaithful, includes:</p>
<ul>
<li>Credible threats of violence or coercion, which violate the sacred tenet of <em>Freedom of Will</em>.</li>
<li>Slander or deliberate falsehoods that corrupt the purity of discourse.</li>
<li>Harassment that seeks to silence through intimidation rather than persuade through reason.</li>
<li>Betraying trust by disclosing private information without consent, unworthy of Imperial honor.</li>
<li>Actions that sabotage the project’s mission through bad faith or treachery.</li>
</ul>

<h2>Our Duties</h2>
<p>The overseers of this project, like the commanders and magistrates of the Imperium, bear the solemn duty to uphold these principles. They must define standards of conduct with clarity, judge violations with impartial <em>Righteous Judgment</em>, and act decisively to preserve the <em>Imperium of Code</em>’s integrity. Their <em>Commanding Authority</em> grants them the power to remove contributions or, in dire cases, banish contributors whose actions threaten our unity. Such decisions must be rooted in reason, evidence, and fairness, never swayed by passion or factionalism.</p>

<h2>Scope of Governance</h2>
<p>This Code governs all project spaces and public forums where contributors act as representatives of our <em>Imperium of Code</em>. Whether through official decrees, communications, or public assemblies, contributors must embody the virtues of this community. Overseers may further define what constitutes representation, always preserving the citizen’s right to speak freely beyond their official duties.</p>

<h2>Enforcement with Justice</h2>
<p>Violations of this Code may be reported to the project’s arbiters at <a href="mailto:conduct@universalweb.io">conduct@universalweb.io</a>. Reports will be examined with the zeal of a high magistrate, ensuring due process and confidentiality for the accuser. Responses will be proportionate, guided by <em>Imperial Justice</em> and the need to safeguard <em>Freedom of Will</em>. Overseers who fail to uphold this Code in good faith may face censure or banishment by their peers, as determined through open and transparent deliberation in the spirit of the Imperial Council.</p>

<h2>Our Legacy</h2>
<p>This Code is inspired by the Imperium at its peak, when <em>Freedom of Will</em>, <em>Honor of Duty</em>, and <em>Imperial Justice</em> guided a resolute people to greatness. It is a living compact, subject to revision through the <em>Assembly of the Faithful</em> of open debate and consensus among contributors.</p>
<p>For inquiries about this Code, consult the project’s arbiters or visit our public forum at <a href="http://universalweb.io/conduct-faq">universalweb.io/conduct-faq</a>.</p>

<p><strong>Let us build an <em>Imperium of Code</em>, where freedom, reason, and merit forge a legacy worthy of the Eternal Imperium’s finest days.</strong></p>
17 changes: 11 additions & 6 deletions README.md → docs/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
<h1 align="center"></h1>
<h3 align="center" class="mono">$VIAT (NATIVE CRYPTO)</h3>
<h4 align="center" class="mono">TOKENS: $bVIAT (BNB) | $mVIAT (SOL MEME) | $SNTVT (ETH)</h4>
<h2 align="center">WELCOME TO THE NEXUS</h2>
<p align="center">META-LAYER SOLUTION</p>
<h4 align="center"> POST QUANTUM CRYPTOGRAPHIC NEXUS </h4>
Expand All @@ -19,7 +21,7 @@
<p> <span style="margin-left:10px;">HASH: SHAKE256 (32 &amp; 64 byte outputs)</span> </p>
<p> <span style="margin-left:10px;">WALLET ADDRESS: 64bytes SHAKE256 512bit expanded output</span> </p>
<p> <span style="margin-left:10px;">ENCRYPTION (AEAD): AEGIS-256 - XChaCha20Poly1305-IETF</span> </p>
<p> <span style="margin-left:10px;">SYMBOL: </span> </p>
<p> <span style="margin-left:10px;">SYMBOL: <a href="https://www.compart.com/en/unicode/U+2A5D">⩝</a></span> </p>
<hr />
<h4 align="center"> UW CRYPTOGRAPHY </h4>
<p>These are all the cryptographic algorithms supported or play a role in the UW/VIAT. Hybrid post quantum algorithms are available for Key Exchanges and Signatures.</p>
Expand All @@ -29,11 +31,14 @@
<p> <span style="margin-left:10px;">SIGNATURE: [DILITHIUM, ED25519, SPHINCS+, FALCON]</span> </p>
<p> <span style="margin-left:10px;">HASH: [SHAKE256, BLAKE3]</span></p>
<hr />
<h3>NEXUS?</h3>
<h1 align="center">F.A.Q</h1>
<h3>WHAT IS A NEXUS?</h3>
<p>We call the UW/VIAT a nexus which is: a unified ecosystem where both Web-like, cryptocurrency, and governing elements are deeply interconnected yet functionally independent. Our version of the World Wide Web is the Universal Web and our cryptocurrency is VIAT; together they form what we call a nexus.</p>
<p>The Nexus has its own Domain System, Messaging System, Real-time events, design, data transport network protocol, language, browser, cryptocurrency, and many other unique components. It's a cohesive system rather than a bunch of independent technologies retrofitted to work with each other or layering one thing on top of the next similar to the Web today or what most call "Web3".</p>
<h4>Goals</h4>
<p>The objective of the Universal Web is to create a viable modern replacement for the Web today.</p>
<h4>OBJECTIVES</h4>
<p>The primary directive of the Universal Web is to create a viable post quantum replacement for the Web today. The primary objective for VIAT is to create the best post quantum cryptocurrency with the highest TPS possible. Both are viable objectives achieved with software no hardware needed.</p>
<h4>Post Quantum World</h4>
<p>The Universal Web and VIAT are designed to be resilient against the potential threats posed by quantum computing. This means implementing cryptographic algorithms that are secure against quantum attacks, ensuring the integrity and confidentiality of user data and transactions. VIAT & the UW could be used as a tool to help protect other none quantum cryptocurrencies and or provide users the ability to later prove they were the original owner of a legacy wallet, contract, NFT, and or other digital assets. This means that BTC holders could use VIAT to protect their BTC wallets and in the event the BTC team needs a viable fast off ramp to either transition BTC/ETH to their own hybrid post quantum fork or to transition to run on VIAT. VIAT has a tri-algo key pair with 1 classical key pair and two post quantum key pairs that rely on different primitives. This triplet hybrid algorithm provides robust assurances in different scenarios where one or two algorithms fail.</p>
<h4>Is it Web3?</h4>
<p>Depends on your definition.</p>
<p>If Web3 means ALL websites/apps are on a network like IPFS, users/services must use a smart contract to interact with sites, paying a TX fee just to post a social media update, using decentralized DNS with limited abilities (ex: ETH domains), then we have a very different definition. That version of the Web would be a major downgrade that removes key beneficial aspects of the Web while also not addressing any of the real issues. Any Web replacement must not introduce delays for any actions when a client is interacting with a server. If a user must use a smart contract to post on a site or make profile edits it adds significant delays and costs to otherwise trivial actions. If an action must first go through mining, verification, and propagation it's inherently slower than a modern cost free client-server API request. Regardless of optimization generally the typical client-server API request will require less time, data, and processing. Thinking about this logically we know the shortest distance is between two points therefore adding more points will always be slower. What this means is that we need to improve and include the World Wide Web's client-server model in the solution not disregard it.</p>
Expand Down Expand Up @@ -93,6 +98,6 @@
<h4 align="center">Want to contribute? Then join the Imperium today!</h4>
<p align="center"> To help submit, write content, make art, write code, and or star this repo! All are welcome to the Nexus.</p>
<hr />
<small>COPYRIGHT © 2025 <a href="https://universalweb.io">UNIVERSAL WEB</a></small>
<small>COPYRIGHT © 2025 VIAT, <a href="https://universalweb.io">UNIVERSAL WEB</a>, THE NEXUS</small>
<small>THE UNITED SYSTEMS of NEXUS</small>
<small>MADE IN AMERICA</small>
<small>MADE IN AMERICA </small>
File renamed without changes.
Loading
Loading