Skip to content

Commit 0327a38

Browse files
authored
Beta Sync (#92)
* REBASE * Docs Block Properties re-added
1 parent dd87894 commit 0327a38

File tree

7 files changed

+28
-32
lines changed

7 files changed

+28
-32
lines changed

docs/library/viat/info.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
<!-- TODO -->
44
Viat is a hybrid post quantum cryptocurrency
5-
Viat has a physical on-disk file system which forms a super structure.
5+
Viat has a physical on-disk filesystem which forms a super structure.
66
Viat's super structure represents the total state of Viat.
7-
Viat has a modular file system so that it can be effectively distributed throughout a network.
7+
Viat has a modular filesystem so that it can be effectively distributed throughout a network.
88
Viat's super structure is a cryptographically linked DAG with the first block being the genesis block which then connects to a primary secondary level.
99
Viat's secondary level consists of the first blocks of specific DAGs such as a Wallet Genesis Block, L2 token genesis block, and Verification Genesis block.
1010
Viat's secondary level genesis blocks are the beginning of DAGs specific to that genesis block.

docs/library/viat/neuromorphic.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Just like the brain, Viat supports massively parallel verification and processin
99
Nodes (verifiers/validators) act like neurons firing and validating inputs in parallel — no global synchronization is required, reflecting asynchronous neural signaling.
1010

1111
Spatially Addressable Memory (On-Disk Trie Folders)
12-
The physical file system structure mirrors spatial locality in the brain, where data is organized and located efficiently.
12+
The physical filesystem structure mirrors spatial locality in the brain, where data is organized and located efficiently.
1313
The use of constant-time lookups via physical paths is like neural signals traveling along optimized, reinforced synaptic paths.
1414

1515
Viat's block centric design with specialized structures allows VIAT to benefit and more easily integrate a native neural network and or model that can be used to carry out complex queries with great efficiency.
@@ -25,7 +25,7 @@ Motor Neurons
2525
Interneurons (Projection/Relay) & local
2626

2727
Viat filesystem
28-
These types of URLs server as a memory map linking to a specific memory location which stores the block which is the memory of an event. That memory then branches out to related memories.
28+
These types of URLs serve as a memory map linking to a specific memory location which stores the block(memory). That memory then branches out to related memories.
2929

3030
For example this memory map (URI) is a folder path that leads first to a specific part of the brain that is the Viat Superstructure. In this case the specific part deals with wallets.
3131

docs/library/viat/superStructure.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,25 +5,25 @@ Viat has a Neuromorphic self-organizing layered multidimensional DAG-like super
55
Wallets are stored in a folder trie with folder names based on wallet addresses.
66
Wallets have their own chains akin to DAGs and or linear chains that are specific to particular actions such as a transaction chain and receipt chain.
77

8-
Viat's state is stored in a physical file system consisting of both individual binary files and organized via folders.
9-
Viat's physical cryptographically linked file system is a DAG-like super structure with efficient separation of concerns.
8+
Viat's state is stored in a physical filesystem consisting of both individual binary files and organized via folders.
9+
Viat's physical cryptographically linked filesystem is a DAG-like super structure with efficient separation of concerns.
1010
Viat's separation of concerns is essential to its scalability and high TPS potential.
1111
A wallet's physical location on disk and virtual location within the wallet trie is based on the wallet's address.
1212
The Wallet's address is used to determine the file path for all chains connected to the wallet's root block.
1313
The Wallet's are part of a cryptographically linked DAG.
1414
All wallets link back to a core root wallet block then the genesis block.
1515

16-
Wallets are stored within a physical folder trie where each folder represents a wallet hub. A wallet hub folder can be a shard point to distribute the file system across a network. The first folder and subfolder is named after the first 6 bytes of the wallet address with 3 bytes used for each folders name. The final subfolder is named after the last 24 bytes of the wallet address. All wallet specific files are located within the wallet folder. This folder trie acts as both a physical and virtual file system for Viat. The physical file system makes it easy to manually navigate the wallet section of the Viat super structure. The physical file system ensures near constant time wallet lookups.
16+
Wallets are stored within a physical folder trie where each folder represents a wallet hub. A wallet hub folder can be a shard point to distribute the filesystem across a network. The first folder and subfolder is named after the first 6 bytes of the wallet address with 3 bytes used for each folders name. The final subfolder is named after the last 24 bytes of the wallet address. All wallet specific files are located within the wallet folder. This folder trie acts as both a physical and virtual filesystem for Viat. The physical filesystem makes it easy to manually navigate the wallet section of the Viat super structure. The physical filesystem ensures near constant time wallet lookups.
1717

1818
## VIAT GRAPH SUPERSTRUCTURE
1919

2020
The root layer is the genesis block and all things can directly trace back to it. The second layer contains restricted root genesis blocks such as: Wallet Genesis Block, Meta Genesis Block, Swap Genesis Block, Exchange Genesis Block, App Genesis Block, Domain Genesis Block, Identity Genesis Block, and the Smart Contract Genesis Block. The second layer can only be extended by a code update meaning no block on the network or smart contract can extend the second layer it must be added via a code update. Each 2nd layer genesis block contains its own structured graph which can then incorporate linear blockchains and or DAG based blockchains.
2121

2222
The Wallet Genesis Block (Genesis Block -> [2nd Layer] - Wallet Genesis Block) then connects to individual wallet blocks. A wallet block (Genesis Block -> [2nd Layer] - Wallet Genesis Block -> (3rd Layer) - Wallet Address) contains a wallet address, public keys, and related details. Attached to the Wallet Address Block is a linear blockchain for transactions, a DAG based blockchain for receipts (received funds), and others chains attached to a wallet are primarily mission specific DAGs. The graph route to a transaction block would look like this (Genesis Block -> [2nd Layer] - Wallet Genesis Block -> (3rd Layer) - Wallet Address -> Transaction Block). All DAGs attached to the wallet first reference an initial block.
2323

24-
## Viat Physical File System
24+
## Viat Physical Filesystem
2525
Blocks are cryptographically linked allowing Viat to be displayed as a graph but the superstructure itself consists of physical files and folders on disk.
26-
The VIAT superstructure is a physical file system meaning it can be manually traversed on disk by anyone. The Viat filesystem (VFS) effectively represents the current state of a state machine (VIAT). Files are physically stored as tries ensuring efficient constant time lookups and a way to shard the Viat State for extreme scalability.
26+
The VIAT superstructure is a physical filesystem meaning it can be manually traversed on disk by anyone. The Viat filesystem (VFS) effectively represents the current state of a state machine (VIAT). Files are physically stored as tries ensuring efficient constant time lookups and a way to shard the Viat State for extreme scalability.
2727

2828
To navigate to a transaction on file you would use the transaction ID which consists of a wallet address and a transaction hash. The first 6 bytes of the wallet address are used to navigate to the first and second subfolder inside the wallet directory (Viat/wallets/3bytes/3bytes/last32_bytes_of_wallet_address). Then navigate to the specific transaction hash by using the first 2 bytes for the initial subfolders and the last 30 for the specific transaction folder containing the transaction block.
2929

system.txt

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
==================================================================
22
[ THE NEXUS § VERSION ⇒ ${VERSION} ] ┋ SYSTEM CORE ∞
33
==================================================================
4-
> LAYER: META ◊ SUB₀
4+
> LAYER: META ◊ SUB₀ => SUB LAYER 0
55
> PROTOCOL: UW:// (UDSP+DIS)
66
> BASE PROTOCOL: UDSP://
77
> WEB: UNIVERSAL WEB
@@ -13,23 +13,25 @@
1313
[>>> SYSTEM ARCHITECTURE <<<] ┋ CONFIGURATION ⊙
1414
==================================================================
1515
> NETWORK: HYBRID CENTRALIZED & DECENTRALIZED ARCHITECTURE
16-
> CRYPTOGRAPHY: HYBRID POST QUANTUM
16+
> CRYPTOGRAPHY: MULTI-ALGO HYBRID POST QUANTUM
1717
> SIGNATURE: DILITHIUM ◉ ED25519 ◉ SPHINCS+ ◉ FALCON
1818
> KEY EXCHANGE: KYBER ◉ x25519
1919
> CRYPTOCURRENCY: VIAT
2020
> SECURE HASH: SHAKE256
2121
> ENCRYPTION: Authenticated Encryption with Associated Data (AEAD)
2222
> HARDWARE ACCELERATED ENCRYPTION: AEGIS-256
2323
> SOFTWARE ENCRYPTION: XChaCha20-Poly1305-IETF
24-
> CHECKSUM: BLAKE3
24+
> CHECKSUM: [SHAKE256 || BLAKE3]
2525

2626
==================================================================
2727
[>>> VIAT <<<] ┋ NATIVE CRYPTOCURRENCY ⩝
2828
==================================================================
29-
> SIGNATURE: DILITHIUM ◉ ED25519 ◉ SPHINCS+
29+
> SIGNATURE: [DILITHIUM ◉ ED25519 ◉ SPHINCS+]
3030
> HASH: SHAKE256
3131
> BLOCKCHAIN: Hierarchical Block-Trie SUPERSTRUCTURE (DRAFT)
32+
> FILESYSTEM: DAG ◉ Linear Blockchain
3233
> BLOCKCHAIN TYPES: DAG ◉ Linear Blockchain
34+
> HASH SIZE: 64 BYTES
3335
> SYMBOL: ⩝
3436

3537
==================================================================
@@ -55,7 +57,7 @@
5557
---------------------------------------------------------------
5658
> MISSION: POST QUANTUM CRYPTOGRAPHIC NEXUS
5759
---------------------------------------------------------------
58-
> END OBJECTIVE: **INTERGALACTIC FEDERATED SYSTEM**
60+
> END OBJECTIVE: **UNIVERSAL FEDERATED SYSTEM**
5961
---------------------------------------------------------------
6062
==================================================================
6163
[>>> MADE IN AMERICA <<<] ┋ THE UNITED STATES OF AMERICA 🇺🇸

viat/blocks/receipt/block.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
// BETA
12
import {
23
blockMethods,
34
getReceiptFromBlock,
@@ -18,13 +19,7 @@ import { assignToClass } from '@universalweb/acid';
1819
import blockDefaults from '../defaults.js';
1920
import { readStructured } from '#utilities/file';
2021
import viatCipherSuite from '#crypto/cipherSuite/viat.js';
21-
// Means receipt can be made independently of the block
22-
// Then include the block's hash as part of the TX Block Hashlink
23-
// Both are signed meaning they are all linked and contents can be trusted even based on the hash link alone
2422
// Block Hash (TX DATA || Receipt NONCE || Receipt Meta?) Creates cryptographic link to the original transaction block
25-
// Physical link is created by the path of the original TX hash
26-
// Block is stored using the receiver address plus the original transaction hash
27-
// Block's path mirrors the transaction block's path making it easy to find both
2823
// Both together create a physical link between the two blocks
2924
export class ReceiptBlock extends Block {
3025
constructor(data, config) {
@@ -46,10 +41,15 @@ export async function receiptBlock(data, config) {
4641
return block;
4742
}
4843
export default receiptBlock;
49-
const exampleBlock = await receiptBlock({
50-
sender: viatCipherSuite.createBlockNonce(64),
51-
transaction: viatCipherSuite.createBlockNonce(64),
52-
});
44+
// const exampleBlock = await receiptBlock({
45+
// sender: viatCipherSuite.createBlockNonce(64),
46+
// transaction: viatCipherSuite.createBlockNonce(64),
47+
// receiver: viatCipherSuite.createBlockNonce(64),
48+
// mana: 1000,
49+
// amount: 1000,
50+
// // Reference a prior confirmed receipt from the receiver's address.
51+
// priorReceipt: viatCipherSuite.createBlockNonce(64)
52+
// });
5353
// console.log('Transaction Block', exampleBlock);
5454
// exampleBlock.setDefaults();
5555
// await exampleBlock.setHash();

viat/blocks/transaction/block.js

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,7 @@ import {
66
getTransactionPathURLFromBlock,
77
getTransactionURLFromBlock
88
} from './uri.js';
9-
// Include a Block Link ID - uses to quickly share a transaction and then can be efficiently found by other parties.
10-
// This is a unique ID that is generated for each transaction. It can be used to quickly find the transaction in the block chain.
11-
// Reference block, link block, Anchor block, receipt block -> Links to received viat from another wallets send block
12-
// TX Queue Block - This is a block that is used to queue transactions and alert validators of needed work. It can be used to quickly find none validated transactions in the block chain that aren't yet indexed.
13-
// Bloom Filter for confirmed transactions updated by the sender?
14-
// One for verifiers to check if a transaction is confirmed
15-
// The last for confirmed transactions that have been fully audited and verified
16-
// Use Merkle Trees with bloom filters - use merkle tree to confirm bloom filter then
9+
// Consider Multi-part transaction block -> reduce size and cost of each transaction
1710
import { toBase64Url, toHex } from '#crypto/utils.js';
1811
import { Block } from '../block.js';
1912
import blockDefaults from '../defaults.js';

viat/superStructure/package.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
// PACKAGE the superstructure into a unified folder of files for delivery of large sections or the entire superstructure

0 commit comments

Comments
 (0)