@@ -143,13 +143,13 @@ The public parameters include three Pedersen generators `[g_0, g_1, g_2]` used f
143143 - Based on Inner Product Arguments (IPA)
144144 - Proof size: O(log n) where n is the bit length
145145 - Verification time: O(n) group operations
146- - Implementation: [ ` crypto/rp/bulletproof/ ` ] ( ../../token/core/zkatdlog/nogh/v1/crypto/rp/bulletproof/ )
146+ - Implementation: [ ` crypto/rp/bulletproof/ ` ] ( ../../token/core/zkatdlog/nogh/v1/crypto/rp/bulletproof )
147147
1481482 . ** Compressed Sigma Protocols (CSP)** (New implementation)
149149 - Based on recursive folding with Fiat-Shamir
150150 - Proof size: O(log n) where n is the bit length
151151 - Faster verification through Lagrange interpolation optimizations
152- - Implementation: [ ` crypto/rp/csp/ ` ] ( ../../token/core/zkatdlog/nogh/v1/crypto/rp/csp/ )
152+ - Implementation: [ ` crypto/rp/csp/ ` ] ( ../../token/core/zkatdlog/nogh/v1/crypto/rp/csp )
153153
154154The proof system is selected via the ` ProofType ` parameter in ` SetupParams ` :
155155- ` rp.Bulletproof ` - Uses Bulletproof range proofs (default)
@@ -512,7 +512,7 @@ The driver supports two range proof systems. The choice is made during public pa
512512
513513Each output $C_ {out,j}$ includes a ** Bulletproof** showing $V_j \in [ 0, 2^{64}-1] $. It uses an ** Inner Product Argument (IPA)** to achieve $O(\log n)$ proof size.
514514
515- ** Implementation** : [ ` crypto/rp/bulletproof/ ` ] ( ../../token/core/zkatdlog/nogh/v1/crypto/rp/bulletproof/ )
515+ ** Implementation** : [ ` crypto/rp/bulletproof/ ` ] ( ../../token/core/zkatdlog/nogh/v1/crypto/rp/bulletproof )
516516
517517** Bulletproof Structure** :
518518
@@ -538,7 +538,7 @@ type RangeProof struct {
538538
539539** New in commit 586d4f58** : CSP-based range proofs using recursive folding with Fiat-Shamir transformation.
540540
541- ** Implementation** : [ ` crypto/rp/csp/ ` ] ( ../../token/core/zkatdlog/nogh/v1/crypto/rp/csp/ )
541+ ** Implementation** : [ ` crypto/rp/csp/ ` ] ( ../../token/core/zkatdlog/nogh/v1/crypto/rp/csp )
542542
543543** CSP Proof Structure** :
544544
@@ -579,7 +579,7 @@ The verifier reproduces Fiat-Shamir challenges and performs final verification u
579579
580580### 8.1 Issue Service
581581
582- ** Implementation** : [ ` issue.go ` ] ( ../../token/core/zkatdlog/nogh/v1/issue.go ) , [ ` issue/ ` ] ( ../../token/core/zkatdlog/nogh/v1/issue/ )
582+ ** Implementation** : [ ` issue.go ` ] ( ../../token/core/zkatdlog/nogh/v1/issue.go ) , [ ` issue/ ` ] ( ../../token/core/zkatdlog/nogh/v1/issue )
583583
584584Orchestrates new token creation.
585585
@@ -636,7 +636,7 @@ sequenceDiagram
636636
637637### 8.2 Transfer Service
638638
639- ** Implementation** : [ ` transfer.go ` ] ( ../../token/core/zkatdlog/nogh/v1/transfer.go ) , [ ` transfer/ ` ] ( ../../token/core/zkatdlog/nogh/v1/transfer/ )
639+ ** Implementation** : [ ` transfer.go ` ] ( ../../token/core/zkatdlog/nogh/v1/transfer.go ) , [ ` transfer/ ` ] ( ../../token/core/zkatdlog/nogh/v1/transfer )
640640
641641Manages ownership movement.
642642
@@ -761,7 +761,7 @@ func (t *Token) ToClear(meta *Metadata, pp *PublicParams) (*token.Token, error)
761761
762762### 8.4 Tokens Upgrade Service
763763
764- ** Implementation** : [ ` crypto/upgrade/ ` ] ( ../../token/core/zkatdlog/nogh/v1/crypto/upgrade/ )
764+ ** Implementation** : [ ` crypto/upgrade/ ` ] ( ../../token/core/zkatdlog/nogh/v1/crypto/upgrade )
765765
766766Allows migrating cleartext ` FabToken ` outputs to privacy-preserving ` ZKAT-DLOG ` commitments.
767767
@@ -827,7 +827,7 @@ For tokens that cannot be upgraded in-place (e.g., incompatible precision or maj
827827 - Issues new tokens with equivalent value (via ` IssueAction.outputs ` )
828828 - Maintains supply consistency through cryptographic proofs
829829
830- ** Implementation** : See [ ` crypto/upgrade/ ` ] ( ../../token/core/zkatdlog/nogh/v1/crypto/upgrade/ ) for the upgrade service implementation.
830+ ** Implementation** : See [ ` crypto/upgrade/ ` ] ( ../../token/core/zkatdlog/nogh/v1/crypto/upgrade ) for the upgrade service implementation.
831831
832832---
833833
@@ -837,7 +837,7 @@ The driver provides comprehensive validation and auditing capabilities to ensure
837837
838838### 9.1 Validator
839839
840- ** Implementation** : [ ` validator/ ` ] ( ../../token/core/zkatdlog/nogh/v1/validator/ )
840+ ** Implementation** : [ ` validator/ ` ] ( ../../token/core/zkatdlog/nogh/v1/validator )
841841
842842The validator performs rigorous checks on token transactions before they are committed to the ledger.
843843
@@ -905,43 +905,43 @@ The auditor verifies that:
905905
906906#### 9.2.2 Auditor Validation
907907
908- The [ ` Auditor.Check() ` ] ( ../../token/core/zkatdlog/nogh/v1/audit/auditor.go:110 ) method performs comprehensive validation in two phases:
908+ The [ ` Auditor.Check() ` ] ( ../../token/core/zkatdlog/nogh/v1/audit/auditor.go ) method performs comprehensive validation in two phases:
909909
910- ** Phase 1: Structural Validation** ([ ` validateStructure() ` ] ( ../../token/core/zkatdlog/nogh/v1/audit/auditor.go:158 ) )
910+ ** Phase 1: Structural Validation** ([ ` validateStructure() ` ] ( ../../token/core/zkatdlog/nogh/v1/audit/auditor.go ) )
911911- Validates action count matches metadata count
912912- Verifies ActionIDs are sequential and correct
913913- Ensures action types align with metadata types (no mixed types)
914914- Confirms metadata exclusivity (IssueMetadata XOR TransferMetadata)
915915
916916** Phase 2: Semantic Validation** (per action type)
917917
918- For ** Issue Actions** ([ ` checkIssueAction() ` ] ( ../../token/core/zkatdlog/nogh/v1/audit/auditor.go:243 ) ):
918+ For ** Issue Actions** ([ ` checkIssueAction() ` ] ( ../../token/core/zkatdlog/nogh/v1/audit/auditor.go ) ):
9199191 . Uses ` IssueMetadata.Match() ` to validate structural correspondence
920- 2 . Validates inputs via [ ` validateIssueInputs() ` ] ( ../../token/core/zkatdlog/nogh/v1/audit/auditor.go:277 ) :
920+ 2 . Validates inputs via [ ` validateIssueInputs() ` ] ( ../../token/core/zkatdlog/nogh/v1/audit/auditor.go ) :
921921 - Checks TokenID matches for upgrade scenarios
922- 3 . Validates outputs via [ ` validateIssueOutputs() ` ] ( ../../token/core/zkatdlog/nogh/v1/audit/auditor.go:306 ) :
922+ 3 . Validates outputs via [ ` validateIssueOutputs() ` ] ( ../../token/core/zkatdlog/nogh/v1/audit/auditor.go ) :
923923 - Verifies no redeem outputs in issue actions
924924 - Recomputes Pedersen commitments from cleartext (type, value, blinding factor)
925925 - Validates commitments match token data
926- - Validates receivers via [ ` validateOutputReceivers() ` ] ( ../../token/core/zkatdlog/nogh/v1/audit/auditor.go:517 )
927- 4 . Validates issuer identity via [ ` validateIssuer() ` ] ( ../../token/core/zkatdlog/nogh/v1/audit/auditor.go:355 )
926+ - Validates receivers via [ ` validateOutputReceivers() ` ] ( ../../token/core/zkatdlog/nogh/v1/audit/auditor.go )
927+ 4 . Validates issuer identity via [ ` validateIssuer() ` ] ( ../../token/core/zkatdlog/nogh/v1/audit/auditor.go )
928928
929- For ** Transfer Actions** ([ ` checkTransferAction() ` ] ( ../../token/core/zkatdlog/nogh/v1/audit/auditor.go:369 ) ):
929+ For ** Transfer Actions** ([ ` checkTransferAction() ` ] ( ../../token/core/zkatdlog/nogh/v1/audit/auditor.go ) ):
9309301 . Uses ` TransferMetadata.Match() ` to validate structural correspondence
931- 2 . Validates inputs via [ ` validateTransferInputs() ` ] ( ../../token/core/zkatdlog/nogh/v1/audit/auditor.go:397 ) :
931+ 2 . Validates inputs via [ ` validateTransferInputs() ` ] ( ../../token/core/zkatdlog/nogh/v1/audit/auditor.go ) :
932932 - Ensures exactly one sender per input
933933 - Verifies sender identity matches token owner
934934 - Validates TokenID matches
935935 - Inspects sender identity via ` InfoMatcher `
936- 3 . Validates outputs via [ ` validateTransferOutputs() ` ] ( ../../token/core/zkatdlog/nogh/v1/audit/auditor.go:476 ) :
936+ 3 . Validates outputs via [ ` validateTransferOutputs() ` ] ( ../../token/core/zkatdlog/nogh/v1/audit/auditor.go ) :
937937 - Validates receivers for non-redeem outputs
938938 - Recomputes Pedersen commitments from cleartext
939939 - Validates commitments match token data
940940
941941** Common Validation Methods** :
942- - [ ` validateOutputReceivers() ` ] ( ../../token/core/zkatdlog/nogh/v1/audit/auditor.go:517 ) : Extracts recipients from owner, validates count matches, verifies identity matching (with configurable empty identity handling)
943- - [ ` InspectOutput() ` ] ( ../../token/core/zkatdlog/nogh/v1/audit/auditor.go:580 ) : Recomputes and verifies Pedersen commitments
944- - [ ` InspectIdentity() ` ] ( ../../token/core/zkatdlog/nogh/v1/audit/auditor.go:603 ) : Verifies audit info matches identity via ` InfoMatcher.MatchIdentity() `
942+ - [ ` validateOutputReceivers() ` ] ( ../../token/core/zkatdlog/nogh/v1/audit/auditor.go ) : Extracts recipients from owner, validates count matches, verifies identity matching (with configurable empty identity handling)
943+ - [ ` InspectOutput() ` ] ( ../../token/core/zkatdlog/nogh/v1/audit/auditor.go ) : Recomputes and verifies Pedersen commitments
944+ - [ ` InspectIdentity() ` ] ( ../../token/core/zkatdlog/nogh/v1/audit/auditor.go ) : Verifies audit info matches identity via ` InfoMatcher.MatchIdentity() `
945945
946946** Privacy Guarantee** : Only authorized auditors with the correct audit keys can decrypt the metadata. The ledger itself stores only commitments, preserving privacy for all other participants.
947947
@@ -1207,9 +1207,9 @@ func (p *PublicParams) Serialize() ([]byte, error) {
12071207
12081208### 10.7 Protobuf Message Definitions
12091209
1210- The ZKAT-DLOG (NOGH) driver uses Protocol Buffers for all serialized data structures, ensuring consistent communication between nodes and the ledger while guaranteeing backward and forward compatibility. The definitions are located in [ ` token/core/zkatdlog/nogh/protos/ ` ] ( ../../token/core/zkatdlog/nogh/protos/ ) .
1210+ The ZKAT-DLOG (NOGH) driver uses Protocol Buffers for all serialized data structures, ensuring consistent communication between nodes and the ledger while guaranteeing backward and forward compatibility. The definitions are located in [ ` token/core/zkatdlog/nogh/protos/ ` ] ( ../../token/core/zkatdlog/nogh/protos ) .
12111211
1212- #### 10.7.1 Token Messages ([ ` noghactions.proto ` ] ( ../../token/core/zkatdlog/nogh/protos/noghactions.proto ) )
1212+ #### 10.7.1 Token Messages ([ ` noghactions.proto ` ] ( ../../token/core/zkatdlog/nogh/protos/v1/ noghactions.proto ) )
12131213
12141214** Token** : Represents a ZKAT-DLOG token as a Pedersen commitment.
12151215- ` owner ` (bytes): Serialized identity of the owner (Idemix pseudonym for end-users, X.509 for issuers/auditors)
@@ -1241,7 +1241,7 @@ The ZKAT-DLOG (NOGH) driver uses Protocol Buffers for all serialized data struct
12411241- ` output ` (fabtoken.Token): The original legacy token (e.g., FabToken)
12421242- ` blinding_factor ` (Zr): Blinding factor generated for the commitment
12431243
1244- #### 10.7.2 Public Parameters ([ ` noghpp.proto ` ] ( ../../token/core/zkatdlog/nogh/protos/noghpp.proto ) )
1244+ #### 10.7.2 Public Parameters ([ ` noghpp.proto ` ] ( ../../token/core/zkatdlog/nogh/protos/v1/ noghpp.proto ) )
12451245
12461246** PublicParameters** : Defines the cryptographic setup and governance rules.
12471247- ` token_driver_name ` (string): Always ` "zkatdlognogh" `
@@ -1264,7 +1264,7 @@ The ZKAT-DLOG (NOGH) driver uses Protocol Buffers for all serialized data struct
12641264- ` bit_length ` (uint64): Number of bits in the range (e.g., 64)
12651265- ` number_of_rounds ` (uint64): Number of rounds in the protocol (log₂ of bit_length)
12661266
1267- #### 10.7.3 Mathematical Elements ([ ` noghmath.proto ` ] ( ../../token/core/zkatdlog/nogh/protos/noghmath.proto ) )
1267+ #### 10.7.3 Mathematical Elements ([ ` noghmath.proto ` ] ( ../../token/core/zkatdlog/nogh/protos/v1/ noghmath.proto ) )
12681268
12691269** G1** : Elliptic curve point in group G₁.
12701270- ` raw ` (bytes): Compressed point serialization (48 bytes for BLS12-381, 32 bytes for BN254)
@@ -1597,30 +1597,28 @@ var (
15971597
15981598Located in ` *_test.go ` files throughout the codebase:
15991599
1600- - ** Cryptographic primitives** : [ ` crypto/rp/bulletproof_test .go ` ] ( ../../token/core/zkatdlog/nogh/v1/crypto/rp/bulletproof_test .go )
1600+ - ** Cryptographic primitives** : [ ` crypto/rp/bulletproof/rp_test .go ` ] ( ../../token/core/zkatdlog/nogh/v1/crypto/rp/bulletproof/rp_test .go )
16011601- ** Token operations** : [ ` issue_test.go ` ] ( ../../token/core/zkatdlog/nogh/v1/issue_test.go ) , [ ` transfer_test.go ` ] ( ../../token/core/zkatdlog/nogh/v1/transfer_test.go )
16021602- ** Validation** : [ ` validator/validator_test.go ` ] ( ../../token/core/zkatdlog/nogh/v1/validator/validator_test.go )
16031603
16041604#### 13.2.2 Integration Tests
16051605
1606- Located in [ ` integration/token/ ` ] ( ../../integration/token/ ) :
1606+ Located in [ ` integration/token/ ` ] ( ../../integration/token ) :
16071607
16081608- ** End-to-end workflows** : Issue → Transfer → Redeem
16091609- ** Multi-party scenarios** : Multiple issuers, auditors, users
16101610- ** Network integration** : Fabric network interaction
16111611
16121612#### 13.2.3 Regression Tests
16131613
1614- Located in [ ` validator/ regression/` ] ( ../../token/core/zkatdlog/nogh/v1/validator/ regression/ ) :
1614+ Located in [ ` regression/ ` ] ( ../../token/core/zkatdlog/nogh/v1/regression ) :
16151615
16161616- ** Proof compatibility** : Ensure proofs remain valid across versions
16171617- ** Serialization stability** : Maintain wire format compatibility
16181618- ** Performance regression** : Track performance changes
16191619
16201620#### 13.2.4 Benchmark Tests
16211621
1622- Located in [ ` benchmark/ ` ] ( ../../token/core/zkatdlog/nogh/v1/benchmark/ ) :
1623-
16241622- ** Performance measurement** : Proof generation and verification times
16251623- ** Scalability testing** : Large numbers of inputs/outputs
16261624- ** Memory profiling** : Memory usage patterns
@@ -1629,8 +1627,6 @@ For detailed benchmark results and analysis, see the [ZKAT-DLOG Benchmark Docume
16291627
16301628### 13.3 Monitoring and Metrics
16311629
1632- ** Implementation** : [ ` metrics.go ` ] ( ../../token/core/zkatdlog/nogh/v1/metrics.go )
1633-
16341630#### 13.3.1 Key Metrics
16351631
16361632The driver currently implements ** 2 core performance metrics** :
@@ -1680,7 +1676,7 @@ type Metrics struct {
16801676### 14.3 Implementation References
16811677
16821678- [ IBM Mathlib] ( https://github.com/IBM/mathlib ) - Cryptographic library
1683- - [ Hyperledger Fabric] ( https://hyperledger-fabric.readthedocs.io/ ) - Blockchain platform
1679+ - [ Hyperledger Fabric] ( https://hyperledger-fabric.readthedocs.io ) - Blockchain platform
16841680- [ Protocol Buffers] ( https://developers.google.com/protocol-buffers ) - Serialization format
16851681
16861682### 14.4 Related Documentation
@@ -1709,19 +1705,18 @@ type Metrics struct {
17091705- ** Auditor Service** : [ ` auditor.go ` ] ( ../../token/core/zkatdlog/nogh/v1/auditor.go )
17101706- ** Public Parameters** : [ ` setup/setup.go ` ] ( ../../token/core/zkatdlog/nogh/v1/setup/setup.go )
17111707- ** Token Management** : [ ` token/service.go ` ] ( ../../token/core/zkatdlog/nogh/v1/token/service.go )
1712- - ** Metrics** : [ ` metrics.go ` ] ( ../../token/core/zkatdlog/nogh/v1/metrics.go )
17131708
17141709** Cryptographic Primitives** :
1715- - ** Issue Logic** : [ ` issue/ ` ] ( ../../token/core/zkatdlog/nogh/v1/issue/ )
1716- - ** Transfer Logic** : [ ` transfer/ ` ] ( ../../token/core/zkatdlog/nogh/v1/transfer/ )
1717- - ** Audit Logic** : [ ` audit/ ` ] ( ../../token/core/zkatdlog/nogh/v1/audit/ )
1718- - ** Validator** : [ ` validator/ ` ] ( ../../token/core/zkatdlog/nogh/v1/validator/ )
1719- - ** Upgrade Service** : [ ` crypto/upgrade/ ` ] ( ../../token/core/zkatdlog/nogh/v1/crypto/upgrade/ )
1710+ - ** Issue Logic** : [ ` issue/ ` ] ( ../../token/core/zkatdlog/nogh/v1/issue )
1711+ - ** Transfer Logic** : [ ` transfer/ ` ] ( ../../token/core/zkatdlog/nogh/v1/transfer )
1712+ - ** Audit Logic** : [ ` audit/ ` ] ( ../../token/core/zkatdlog/nogh/v1/audit )
1713+ - ** Validator** : [ ` validator/ ` ] ( ../../token/core/zkatdlog/nogh/v1/validator )
1714+ - ** Upgrade Service** : [ ` crypto/upgrade/ ` ] ( ../../token/core/zkatdlog/nogh/v1/crypto/upgrade )
17201715
17211716** Testing** :
17221717- ** Unit Tests** : [ ` issue_test.go ` ] ( ../../token/core/zkatdlog/nogh/v1/issue_test.go ) , [ ` transfer_test.go ` ] ( ../../token/core/zkatdlog/nogh/v1/transfer_test.go )
1723- - ** Benchmarks** : [ ` benchmark/ ` ] ( ../../token/core/zkatdlog/nogh/v1/benchmark/ )
1724- - ** Integration Tests** : [ ` integration/token/fungible/dlog/ ` ] ( ../../integration/token/fungible/dlog/ ) , [ ` integration/token/nft/dlog/ ` ] ( ../../integration/token/nft/dlog/ )
1718+ - ** Benchmarks** : [ ` benchmark/ ` ] ( ../../token/core/zkatdlog/nogh/v1/benchmark )
1719+ - ** Integration Tests** : [ ` integration/token/fungible/dlog/ ` ] ( ../../integration/token/fungible/dlog ) , [ ` integration/token/nft/dlog/ ` ] ( ../../integration/token/nft/dlog )
17251720
17261721---
17271722
0 commit comments