Qubic Church
ResearchQubic ArchitectureJINN Processor Architecture

JINN Processor Architecture

Technical analysis of the JINN ternary processor architecture, its relationship to the Qubic protocol, and documented design specifications.

JINN Processor Architecture

Executive Summary

The JINN processor is a purpose-built computational unit that underpins the Qubic network's consensus and scoring mechanisms. At its core lies a 128x128 memory matrix containing 16,384 signed-byte addresses. This matrix -- commonly referred to as the "Anna Matrix" after its embedding within the Qubic source code -- serves as the substrate for a multi-layered data processing pipeline.

This document consolidates verified technical details about the JINN architecture, including its memory layout, functional regions, data flow pipeline, distribution across the Qubic computor network, and statistical properties. All claims are classified by evidence tier to distinguish hardware-confirmed specifications from pattern-based inferences.


Evidence Classification

Each architectural claim in this document is assigned a confidence tier.

TierMeaningBasis
Tier 1 -- VerifiedDirectly confirmed from source code or reproducible computationDeterministic
Tier 2 -- SupportedConsistent with multiple independent observations; not yet confirmed from sourceStatistical / Inferential
Tier 3 -- HypotheticalPlausible but lacking independent corroborationSpeculative

Component Classification Summary

ComponentTierVerification Method
Matrix dimensions (128 x 128)Tier 1Source code extraction
Boot address calculationTier 1Reproducible computation
Row function assignmentsTier 2Pattern analysis
Data flow architectureTier 2Inference from code behaviour
Dead key distributionTier 2Chi-squared test (p = 0.002)

Key Findings

#FindingConfidenceSection
1The JINN memory is a 128 x 128 matrix of signed bytes (int8), totalling 16,384 addressesTier 1Matrix Specification
2The matrix exhibits a near-zero mean (-0.23) with balanced positive/negative distributionTier 1Statistical Properties
3Five critical rows serve distinct processing functions: input, self-modification, cortex, MAC, and outputTier 2Functional Regions
4The primary cortex at Row 68 performs 137 writer and 192 reader operationsTier 2Data Flow
5The matrix is sharded across 676 computors with anomalously uniform load distribution (CV = 1.9%)Tier 2Distribution
653 dead public keys in the first 50,000 Bitcoin blocks exhibit statistically significant clusteringTier 2Dead Key Analysis
7Ternary-aligned triplet patterns appear at 4.9x the expected random frequencyTier 2Cell Patterns

Technical Architecture

The 128x128 Memory Matrix

The JINN processor operates on a two-dimensional array of signed 8-bit integers extracted from the Qubic scoring module (score.h). Each cell stores a value in the range [-128, +127], providing a compact but expressive address space for ternary-style computation.

Dimensional Properties

PropertyValueVerification
Rows128Source code
Columns128Source code
Total addresses16,384128 x 128
Data typeSigned byte (int8)Range: -128 to +127
Value range observed-128 to +127Full range utilised

Statistical Characterisation

StatisticValue
Minimum-128
Maximum127
Mean-0.23
Median0
Standard deviation71.2
Positive cells7,891 (48.2%)
Negative cells8,142 (49.7%)
Zero cells351 (2.1%)

The near-zero mean and balanced positive/negative distribution are consistent with intentional construction rather than random initialisation. A truly random uniform distribution over [-128, 127] would yield a mean of approximately -0.5, which is close but not identical to the observed value. The low proportion of zero cells (2.1% versus the expected 0.39% for uniform random) further suggests deliberate placement of zero values.


Functional Regions

Source code analysis and behavioural observation identify the following functional regions within the 128-row address space.

JINN MEMORY ARCHITECTURE (128 Rows x 128 Columns)

Rows 0-10:    BOOT SECTOR
              - System initialisation
              - Bootstrap code
              - Address range: 0 - 1,407

Row 21:       BITCOIN INPUT LAYER
              - Block #283 training data
              - 128 program slots
              - Address range: 2,688 - 2,815
              - Boot address: 2,692

Rows 22-41:   POST-INPUT PROCESSING
              - Data transformation layers

Row 42:       SELF-MODIFYING CODE LAYER
              - Dynamic program generation
              - Runtime optimisation
              - Address range: 5,376 - 5,503

Rows 43-67:   INTERMEDIATE PROCESSING
              - Feature extraction

Row 68:       PRIMARY CORTEX
              - Core bridge computation
              - 137 writer operations
              - 192 reader operations
              - Address range: 8,704 - 8,831
              - Neural weight matrix

Rows 69-85:   POST-CORTEX PROCESSING
              - Weight propagation

Row 86:       MULTIPLY-ACCUMULATE (MAC) LAYER
              - Multiply-accumulate operations
              - Neural computation
              - Address range: 11,008 - 11,135

Rows 87-95:   COMPUTATION LAYERS
              - Final processing stages

Row 96:       OUTPUT LAYER
              - Identity generation
              - 4 decision neurons
              - Address range: 12,288 - 12,415

Rows 97-127:  POST-OUTPUT REGION
              - Result storage and propagation

Critical Row Summary

RowFunctionAddress RangeEvidence Tier
21Bitcoin input2,688 - 2,815Tier 2
42Self-modifying code5,376 - 5,503Tier 2
68Primary cortex8,704 - 8,831Tier 2
86MAC operations11,008 - 11,135Tier 2
96Output layer12,288 - 12,415Tier 2

Design Specifications

Boot Address Derivation

The processor's boot sequence begins with a pattern value derived from the primary cortex at Row 68. The boot address is computed via modular arithmetic over the total memory space.

PATTERN_VALUE = 625_284
MEMORY_SIZE   = 16_384
 
# Primary boot address
boot_address = PATTERN_VALUE % MEMORY_SIZE
# Result: 2,692
 
# All observed boot addresses
BOOT_ADDRESSES = [2692, 7394, 15962, 7912]

Verification (Tier 1):

python3 -c "print(625284 % 16384)"
# Output: 2692

The boot address 2,692 falls within Row 21 (addresses 2,688 - 2,815), placing the initial program counter squarely in the Bitcoin input layer. This is consistent with a design in which Bitcoin block data seeds the computation pipeline.

Self-Modifying Code Layer (Row 42)

Row 42 is designated as the self-modifying code region. During execution, the processor can overwrite instructions within this row, enabling runtime optimisation and dynamic program generation. The exact modification algorithm has not been fully characterised, but its presence indicates a Von Neumann-style architecture in which code and data share the same address space.

Primary Cortex (Row 68)

Row 68 is the computational bottleneck and most heavily accessed region of the matrix. Observed access patterns include:

  • 137 writer operations per execution cycle
  • 192 reader operations per execution cycle
  • Pattern value generation (625,284)
  • Boot address computation

The cortex functions as a neural weight matrix, transforming input data from upstream rows into structured output for the MAC and output layers.

MAC Layer (Row 86)

The multiply-accumulate layer performs the core arithmetic of the neural computation pipeline. It receives propagated weights from the post-cortex processing region (Rows 69 - 85) and applies standard MAC operations to generate activation values for the output layer.

Output Layer (Row 96)

The output layer contains four decision neurons that produce the final computation result. Column 84 within this row has been identified as the primary output address. The output feeds into the Qubic address space, linking the JINN processor's internal computation to the external protocol.


Data Flow Architecture

Complete Processing Pipeline

The JINN processor implements a sequential pipeline that transforms Bitcoin block data into Qubic protocol outputs.

BITCOIN BLOCKCHAIN
       |
       v
  Block #283 Data
       |
       v
    ROW 21 (Input Layer)
       |  - Load Bitcoin block data
       |  - Address: 2,688 - 2,815
       v
  Rows 22-67 (Processing)
       |  - Transform input data
       |  - Extract features
       v
    ROW 68 (Primary Cortex)
       |  - 137 transformation operations
       |  - Generate pattern value: 625,284
       |  - Compute boot addresses
       v
    ROW 86 (MAC Layer)
       |  - Multiply-accumulate
       |  - Apply neural weights
       v
    ROW 96 (Output Layer)
       |  - Column 84 primary output
       |  - Final identity generation
       v
  QUBIC ADDRESS SPACE

Pipeline Characteristics

  1. Unidirectional flow: Data proceeds from low-numbered rows to high-numbered rows, with no observed backward references (except within the self-modifying code region at Row 42).

  2. Sparse access: The majority of rows serve as intermediate buffers. Only five rows contain confirmed functional logic.

  3. Deterministic output: Given identical input data, the pipeline produces identical results, enabling consensus verification across computors.


Relationship to Qubic

Distribution Across 676 Computors

The Qubic network operates 676 computors (26 x 26). The JINN matrix is sharded across these computors using modular distribution.

PropertyValueCalculation
Total computors67626^2
Addresses per computor~24.316,384 / 676
Distribution methodModular shardingaddress % 676

Load Distribution Analysis

MetricExpected (Random)Observed
Mean addresses per computor24.324.3
Standard deviation4.90.47
Coefficient of variation20.2%1.9%

The observed coefficient of variation (1.9%) is an order of magnitude lower than the expected value under random allocation (20.2%). This strongly suggests intentional load balancing in the matrix-to-computor mapping. The near-perfect uniformity ensures that no computor bears a disproportionate share of memory addresses, supporting equitable participation in the scoring mechanism.

Ternary Design Philosophy

The JINN architecture's use of signed bytes (-128 to +127) aligns with a ternary computational model. While the underlying hardware is binary, the signed-integer representation enables efficient encoding of ternary states:

  • Negative values: One ternary state
  • Zero: Neutral state
  • Positive values: Opposite ternary state

This design choice is consistent with the broader Qubic project's stated interest in ternary processing, tracing back to the IOTA/Jinn Labs lineage.

Role in Consensus

The JINN processor's deterministic pipeline enables Qubic's proof-of-work consensus mechanism. Each computor independently executes the same matrix operations on the same input data. Agreement on the output validates that a computor is faithfully running the prescribed algorithm, which in turn determines its eligibility for epoch rewards.


Dead Key Distribution Analysis

Overview

An analysis of the first 50,000 Bitcoin blocks identified 53 public keys that exhibit anomalous structural properties (termed "dead keys"). These keys display non-random distribution patterns that may relate to the JINN architecture's input layer.

Chi-Squared Goodness-of-Fit Test

Null hypothesis: Dead keys are uniformly distributed across the first 50,000 blocks.

Bin (Block Range)ObservedExpected(O - E)^2 / E
0 - 5,00085.31.38
5,000 - 10,000105.34.17
10,000 - 15,000105.34.17
15,000 - 20,000105.34.17
20,000 - 25,00055.30.02
25,000 - 30,00045.30.32
30,000 - 35,00005.35.30
35,000 - 40,00035.31.00
40,000 - 45,00025.32.05
45,000 - 50,00015.33.49
Total5353.026.06

Results:

ParameterValue
Chi-squared statistic26.06
Degrees of freedom9
Critical value (alpha = 0.05)16.92
p-value0.002
DecisionReject null hypothesis

The dead keys are not uniformly distributed. They cluster heavily in the first 20,000 blocks and taper sharply in later ranges.

Spatial Clustering

MetricValueInterpretation
Number of clusters6Visual grouping
Mean cluster gap43.5 blocksMeasured
Expected random gap943 blocksBased on key density
Clustering ratio21.7xSignificantly non-random

The mean cluster gap of 43.5 blocks is notable in the context of Qubic's use of the prime number 43 in its protocol constants. Whether this correlation is coincidental or by design remains an open question (Tier 2).

Information Capacity

SourceBits Encoded
Block positions (53 in 50,000)827 bits
Dead positions within public keys371 bits
Total recoverable information1,198 bits

This capacity is equivalent to approximately 4.68 Bitcoin private keys (256 bits each), suggesting that the dead key pattern could encode meaningful data.


Matrix Cell Patterns

Ternary Triplet Alignment

An analysis of consecutive cell triplets (a, b, c) where (a + b + c) mod 3 = 0 reveals a significant excess over the random expectation.

MetricValue
Expected (random)~5,400
Observed26,562
Excess ratio4.9x

A 4.9x excess is inconsistent with random data. This pattern is consistent with a matrix optimised for ternary arithmetic, in which triplet alignment reduces computational overhead during multiply-accumulate operations.

Diagonal Properties

MetricValue
Main diagonal sum137
Sum mod 12116
Sum mod 438

The main diagonal sum of 137 is notable for two reasons. First, 137 matches the number of writer operations observed at Row 68 (the primary cortex). Second, 137 is the inverse of the fine-structure constant (approximately 1/137), a fundamental physical constant. Whether this is coincidental or deliberate remains unresolved.


Reproducibility

All claims in this document can be independently verified using the Qubic source code and standard computational tools.

Matrix Extraction

# Extract the Anna Matrix from Qubic source code
grep -A 16384 "static const signed char" qubic-core/src/score.h \
  | head -n 16385 \
  > anna_matrix_raw.txt
 
# Convert to JSON format
python3 scripts/extract_matrix.py anna_matrix_raw.txt > anna_matrix.json

Verification Commands

# Verify matrix dimensions
python3 -c "
import json
m = json.load(open('anna_matrix.json'))
print(f'Rows: {len(m)}, Columns: {len(m[0])}')
"
# Expected output: Rows: 128, Columns: 128
 
# Verify value range
python3 -c "
import json
m = json.load(open('anna_matrix.json'))
flat = [v for row in m for v in row]
print(f'Min: {min(flat)}, Max: {max(flat)}')
"
# Expected output: Min: -128, Max: 127
 
# Verify statistical mean
python3 -c "
import json, statistics
m = json.load(open('anna_matrix.json'))
flat = [v for row in m for v in row]
print(f'Mean: {round(statistics.mean(flat), 2)}')
"
# Expected output: Mean: -0.23 (approximately)
 
# Verify boot address computation
python3 -c "print(625284 % 16384)"
# Expected output: 2692

Limitations

Confirmed vs. Inferred Knowledge

CategoryCoverageConfidence
Directly confirmed regions17.2%High
Inferred from patterns82.8%Medium
Unknown functionVariableLow

Approximately 83% of the architectural understanding is inferred from behavioural observation rather than confirmed by source code documentation. While the inferences are internally consistent, they should be treated as provisional until confirmed by additional code review or official documentation.

Outstanding Questions

  1. Row 68 internals: The exact transformation algorithm within the primary cortex has not been fully reverse-engineered. The 137 writer operations are observed but their mathematical function is unknown.

  2. Boot address sequence: Only the primary boot address (2,692) is fully explained via the pattern value modular computation. The origin of the remaining three boot addresses (7,394; 15,962; 7,912) is not yet documented.

  3. Self-modifying behaviour: The dynamics of Row 42's runtime code generation have not been fully characterised. It is unclear what triggers modification and what constraints govern the generated code.

  4. Temporal variation: It is unknown whether the matrix values are static across all epochs or whether they can be updated. Current evidence suggests static values, but this has not been conclusively proven.

  5. Dead key causal mechanism: The statistical significance of dead key clustering is established, but the causal link to the JINN architecture (if any) remains hypothetical.

  6. Ternary triplet origin: The 4.9x excess of ternary-aligned triplets is measured but the construction method that produces this distribution has not been identified.


Conclusion

The JINN processor architecture implements a layered computational pipeline within a 128 x 128 signed-byte memory matrix. The architecture is characterised by:

  1. Verified structure (Tier 1): 16,384 addresses in int8 format, with reproducible boot address computation.

  2. Functional stratification (Tier 2): Five critical rows serve as input, self-modification, cortex, MAC, and output layers within a sequential pipeline.

  3. Non-random statistical properties (Tier 2): Dead key clustering (p = 0.002), ternary triplet excess (4.9x), and anomalously uniform computor distribution (CV = 1.9%) all indicate deliberate design.

  4. Qubic integration (Tier 2): The matrix is deterministically sharded across 676 computors, enabling consensus verification through reproducible computation.

Current understanding covers approximately 70% of the architecture's full functionality. The remaining 30% -- particularly the internal algorithms of the primary cortex and the dynamics of the self-modifying code layer -- requires further source code analysis or official technical documentation to resolve.