GL1F: Reproducible Integer Tree-Ensemble Inference on the EVM
Mikhail Fedorov (GenesisL1) · author manuscript, 11 September 2026, not peer reviewed · 19 pages · read the paper (PDF)
Abstract #
Public model storage does not by itself establish which function a registered model executes. We study this gap for fixed-depth integer tree ensembles on the Ethereum Virtual Machine (EVM). GL1F combines a canonical scalar/vector encoding, ordered code-as-data chunks, and separate local and contract evaluators. We specify sufficient conditions for exact reconstruction and integer execution agreement, including registry/header consistency and boundary-spanning reads. An executable counterexample shows that registration alone does not bind an identifier to the referenced bytes. JavaScript, Python, and C++ trainers emit identical cores for an established 25-profile matrix and 62 additional validation profiles; arithmetic counterexamples delimit that empirical result. An additional audited workflow makes temporal partitions, validation-only selection, and final-model diagnostics explicit without changing the core or contract interpreter. Across six scalar shapes, code-as-data publication uses 61.8–69.4% less gas than packed Solidity storage, with mixed inference costs. A pinned-state archive makes 108 output comparisons for 12 models totaling 31,185,324 bytes replayable without a live provider. The resulting contribution is a reproducible method for checking the connection between a public model identifier, its bytes, and its executed integer function. It establishes conditional execution agreement, without establishing predictive validity or authenticating provider-reported chain history.
What the paper shows #
- What has to hold for a model to be the function it claims. A GL1F model is a complete, fixed-depth integer tree ensemble whose canonical bytes are split across code-as-data chunks. The paper states three checkable relations: the ordered chunks reconstruct one exact byte string, the registry fields the runtime reads agree with it, and every evaluator applies the same signed decoding, strict-greater branch rule and exact accumulation to the same packed input. It proves that these suffice, and an executable counterexample shows why the registered identifier also needs an explicit content-hash check.
- Identical training across languages. The browser (JavaScript), Python and C++ trainers produce byte-identical model cores on all 25 three-engine profiles and 62 further validation profiles; arithmetic counterexamples mark where that finite result stops.
- Storage cost. Publishing a model as code-as-data costs 61.8–69.4% less gas than packed Solidity storage across six model shapes, while inference costs are mixed (packed storage is 3.3–7.3% cheaper for five shapes).
- A replayable record of the deployment. At GenesisL1 block 13,602,838 (chain 29), all 12 active models (1,306 chunks, 31,185,324 bytes, the largest 9,523,096 bytes) were reconstructed and passed the strict format checks, all nine registry, core and storage relations and their registered Keccak-256 commitments; a pinned-state archive makes the 108 output comparisons replayable without a live provider.
- What it does not claim. Execution agreement under stated conditions, not the predictive accuracy of any model, and not the authenticity of chain history a provider reports.
In GL1X #
GL1X lists the GL1F models of GenesisL1, runs them on chain with your inputs, replays the same integer arithmetic from the model's on-chain bytes to prove a result, and checks the bytes against the model's id: the relations the paper sets out. GL1X's molecular features and datasets are designed as GL1F inputs. See GL1F models on GenesisL1.
Read the paper #
- GL1F.pdf in the GenesisL1 Forest repository
- GenesisL1 Forest: the reference implementation (MIT License), the format specification, the reproducibility guide, the tests and the recorded results
How to cite #
@unpublished{fedorov-gl1f-2026,
author = {Fedorov, Mikhail},
title = {{GL1F}: Reproducible Integer Tree-Ensemble Inference on the {EVM}},
note = {Author manuscript, not peer reviewed},
year = {2026},
month = sep,
url = {https://github.com/GenesisL1/Forest/blob/main/GL1F.pdf}
}