TensorCash consensus full node — derived from Bitcoin Core, extended with proof-of-inference PoW and a VDF timing layer. Source of truth for TensorCash consensus.
  • C++ 70.4%
  • Python 16.9%
  • C 10.1%
  • Shell 0.7%
  • CMake 0.7%
  • Other 0.9%
Find a file
takakuni-imosuke 982509e4bb
qt: bucket spot offers with empty top-level contract_type into the Spot tab (#35)
The Trade Board buckets offers into tabs solely on contract_type == "spot"
(offer_type "spotcontract" is never consulted). Spot offers frequently carry
their terms only in contract_payload with the top-level contract_type empty, so
they fell through the bucketing predicate and the Spot tab rendered empty. The
repo/forward/option/difficulty term-sheet branches already self-heal an empty
contract_type; the spot branch did not. Add the same fallback.
2026-07-27 15:27:57 +01:00
.tx Repository configuration 2026-04-01 12:00:05 +00:00
.vscode Repository configuration 2026-04-01 12:00:05 +00:00
ci validationapi: gate -validationapi=mock behind a build flag on real chains (#27) 2026-07-24 14:42:21 +01:00
cmake Build system, dependencies, and tooling 2026-04-01 12:00:00 +00:00
contrib util: asmap observability, provenance manifest, loud fallback, -asmap=0 test 2026-07-11 08:23:50 +01:00
depends Build system, dependencies, and tooling 2026-04-01 12:00:00 +00:00
doc Documentation 2026-04-01 12:00:04 +00:00
docs Documentation 2026-04-01 12:00:04 +00:00
share Build system, dependencies, and tooling 2026-04-01 12:00:00 +00:00
src qt: bucket spot offers with empty top-level contract_type into the Spot tab (#35) 2026-07-27 15:27:57 +01:00
test validationapi: gate -validationapi=mock behind a build flag on real chains (#27) 2026-07-24 14:42:21 +01:00
test-runner v3: R=1024 table B_cred replaces Q32 -log2 tiering (disabled by default) 2026-07-11 14:22:21 +01:00
.editorconfig Repository configuration 2026-04-01 12:00:05 +00:00
.gitattributes Repository configuration 2026-04-01 12:00:05 +00:00
.gitignore Repository configuration 2026-04-01 12:00:05 +00:00
.python-version Repository configuration 2026-04-01 12:00:05 +00:00
.style.yapf Repository configuration 2026-04-01 12:00:05 +00:00
asset-readme.md Documentation 2026-04-01 12:00:04 +00:00
capture_tip_hash.sh Build system, dependencies, and tooling 2026-04-01 12:00:00 +00:00
CFD_GENERALISATION.md Documentation 2026-04-01 12:00:04 +00:00
CMakeLists.txt validationapi: gate -validationapi=mock behind a build flag on real chains (#27) 2026-07-24 14:42:21 +01:00
CMakePresets.json Build system, dependencies, and tooling 2026-04-01 12:00:00 +00:00
CONTRIBUTING.md Documentation 2026-04-01 12:00:04 +00:00
COPYING Build system, dependencies, and tooling 2026-04-01 12:00:00 +00:00
DIFFICULTY_DERIVATIVE.md Documentation 2026-04-01 12:00:04 +00:00
generate_tensor_vectors.py Build system, dependencies, and tooling 2026-04-01 12:00:00 +00:00
ICU_ACCEPTANCE_RECORD.md Documentation 2026-04-01 12:00:04 +00:00
ICU_CHILD.md Documentation 2026-04-01 12:00:04 +00:00
INSTALL.md Documentation 2026-04-01 12:00:04 +00:00
libbitcoinkernel.pc.in Build system, dependencies, and tooling 2026-04-01 12:00:00 +00:00
model-readme.md Documentation 2026-04-01 12:00:04 +00:00
NOTICE Build system, dependencies, and tooling 2026-04-01 12:00:00 +00:00
OPTION_SERIES_FREEZE.md Documentation 2026-04-01 12:00:04 +00:00
OPTION_TOKENIZATION.md Documentation 2026-04-01 12:00:04 +00:00
PQ-README.md Documentation 2026-04-01 12:00:04 +00:00
README-CHANGES.md Documentation 2026-04-01 12:00:04 +00:00
README.md Documentation 2026-04-01 12:00:04 +00:00
run_tests_verbose.sh Build system, dependencies, and tooling 2026-04-01 12:00:00 +00:00
SECURITY.md Documentation 2026-04-01 12:00:04 +00:00
SENDASSET_SKELETON.md Documentation 2026-04-01 12:00:04 +00:00
spv-readme.md Documentation 2026-04-01 12:00:04 +00:00
vcpkg.json Build system, dependencies, and tooling 2026-04-01 12:00:00 +00:00

bcore — TensorCash consensus node

bcore is the TensorCash full node: a consensus engine derived from Bitcoin Core and extended with the rules that define the TensorCash layer-1 network. It is the source of truth for consensus and is consumed by the umbrella tensorcash repository as a submodule.

What TensorCash adds on top of the base node

  • Proof-of-inference PoW and a VDF timing layer. Mining commits real model inference work, and a Wesolowski verifiable-delay-function proof ties each header to wall-clock time. A model-verification path (src/consensus/model_verification.cpp, src/crypto/src/vdf helpers) checks that work; see model-readme.md.

  • VDF-SPV presync. Light clients and presync peers fetch compact header sidecars (the getheadext/headers_ext p2p verbs, advertised via NODE_VDFSPV) carrying the tick, VDF proof, and Merkle witnesses committed inside hashPoW, so they can reject ground headers and score chains by accumulated wall time without full block validation. See spv-readme.md.

  • Native assets with a TLV wire format. Outputs carry optional TLV bytes (vExt, gated by transaction flag 0x02) that txid/wtxid and the Taproot / BIP143 sighashes commit to. The TLV catalogue (src/assets/asset.h) includes the asset tag (0x01), issuer registration (0x10), the issuer scalar feed (0x11), ZK parameter and proof payloads (0x20, 0x22), and the ICU acceptance record (0x40, src/assets/icu_acceptance_record.h). See asset-readme.md, ICU_ACCEPTANCE_RECORD.md, and ICU_CHILD.md for the on-chain registry, issuer registration, and sponsored-child assets.

  • ZK / KYC enforcement in consensus. Asset spends can require a Groth16 compliance proof transported in the ZK_PROOF_PAYLOAD (0x22) TLV. The proof is verified during transaction validation (groth16::VerifyGroth16WithPolicy, src/crypto/groth16.cpp, called from src/consensus/tx_verify.cpp), with consensus reject codes including zk-proof-bad, zk-epoch-stale, and kyc-proof-not-hdv1.

  • On-chain settlement primitives. A native difficulty contract-for-difference (OP_NBITS_AT/OP_DIFFCFD_SETTLE) and a generalised issuer-published-scalar settlement opcode (OP_SCALAR_CFD_SETTLE) settle covenant outputs against published feeds, with tokenised difficulty-option series built on top. See DIFFICULTY_DERIVATIVE.md, CFD_GENERALISATION.md, OPTION_TOKENIZATION.md, and OPTION_SERIES_FREEZE.md.

  • Post-quantum spending. Witness-v2 outputs spend under ML-DSA (FIPS 204) signatures (src/crypto/mldsaverify.cpp), with generatemldsaaddress and signmldsatransaction wallet RPCs. See PQ-README.md.

README-CHANGES.md summarises the departures from the upstream base node.

Building

See INSTALL.md and the platform build guides under doc/ (doc/build-unix.md, doc/build-osx.md, doc/build-windows.md). bcore depends on the TensorCash shared utilities (post-quantum liboqs, secp256k1-zkp, and the VDF/PoW helpers), so most users should build from the umbrella repository, which initialises those submodules and wires the node together with the miner and verification services.

Contributing & security

  • Contribution workflow, the review (ACK/NACK) convention, and commit/signing policy are in CONTRIBUTING.md.
  • Report vulnerabilities via the coordinated-disclosure process in SECURITY.md. Do not open public issues for them.

License

Released under the terms in COPYING.