FastPQ
FastPQ ነው Iroha እሱ ነው STARK ለተመረጡ አፈፃፀም ውጤቶች የማረጋገጫ መንገድ። መደበኛውን የግብይት አፈፃፀምን ወይም መግባባትን አይተካም። ግብይቶች አሁንም እየተከናወኑ ናቸው ISI, IVM, እና Sumeragi እንደተለመደው፤ FastPQ የዲተሪሚኒስት አፈፃፀም ምስክሩን ይጠቀማል እና የተደገፉ ውጤቶችን ወደ ማስረጃ ጭነቶች ይቀይራል።
የአሁኑ አስተናጋጅ ውህደት ሦስት ዋና መንገዶች አሉት-
- በብሎክ አፈፃፀም ወቅት የተመዘገቡ ግልጽ የቁጥር ንብረት ዝውውሮች
- Nexus የተረጋገጡ የመንገድ ተለጣፊዎች የ AXT የማረጋገጫ ፖስታው FastPQ ማሰሪያ የሚሸከምበት
- SCCP ግልፅ የመልእክት ማስረጃ ረዳቶች የ FastPQ ማስረጃን በክፍት የማረጋገጫ ፖስታ ውስጥ የሚያሸጉት
የይሖዋ ምሥክርነት መንገድ ማስተላለፍ
ግልፅ የቁጥር ማስተላለፊያዎች መመሪያው ሚዛኖችን በሚቀይርበት ጊዜ የተዋቀረ የመተላለፊያ ጽሑፍ ይፈጥራሉ። የጽሑፍ መዛግብት:
- ምንጭ ሂሳብ፣ መድረሻ ሂሳብ፣ የንብረት ማረጋገጫ እና መጠን
- ከመተላለፉ በፊት እና በኋላ የተላኪው እና ተቀባዩ ሚዛን
- እንደ ባች ሃሽ ጥቅም ላይ የሚውለው የግብይት መግቢያ ነጥብ ሀሽ
- ከቀረበው ሂሳብ የተገኘ የሥልጣን መረጃ
- ለሲንኮል ዴልታ ትራንስክሪፕቶች የፖዚዶን ዲጀስት
የቡድን ማስተላለፊያዎች በርካታ ዴልታዎችን ያካተተ አንድ ትራንስክሪፕት ይጠቀማሉ። በዚህ ጊዜ የአንድ-ዴልታ ፖሲዶን ዲስጀስት አይገኝም።
በብሎክ ማጠናቀቂያ ላይ Iroha እነዚህን ትራንስክሪፕቶች በመግቢያ ነጥብ ሃሽ ይመድባል ። የአፈፃፀም ምስክሩ ከዚያ ለፕሮግራሙ የተዘጋጁትን የመጀመሪያውን የትራንስክሪት ጥቅሎችን እና የ FastPQ ሽግግር ቡድኖችን ይይዛል ።
እያንዳንዱ ማስተላለፊያ ዴልታ ሁለት የሽግግር ረድፎች ይሆናሉ:
| ረድፍ | ቁልፍ ቅርጽ | ቅድመ እሴት | ከዋጋ በኋላ |
|---|
| የመላኪያ ክፍያ | asset/<asset-definition>/<source-account> | በፊት ላኪ ሚዛን | የመላኪያ ሚዛን |
| ተቀባይነት ያለው ብድር | asset/<asset-definition>/<destination-account> | ተቀባዩ ሚዛን በፊት | ከተቀበለው ሚዛን በኋላ |
የቁጥር እሴቶች ወደ ሙሉ ቁጥር ምስክር አሃዶች መደበኛ ይሆናሉ። በተመረጠው የአስርዮሽ ልኬት ላይ እንደ አሉታዊ ያልሆነ u64 ሊገለፅ ካልቻለ አንድ ዋጋ ለ FastPQ ጭምብል ውድቅ ተደርጓል ።
እያንዳንዱ FastPQ የሽግግር ጭነት ማስረጃውን ከብሎክ እና ከአፈፃፀም አውድ ጋር የሚያገናኙ የህዝብ ግብዓቶችን ይይዛል
| መግቢያ | ትርጉም |
|---|
dsid | የውሂብ መዳረሻ መታወቂያ እንደ አነስተኛ-አንድያን ባይቶች የተቀየሰ |
slot | የብሎክ ፈጠራ ጊዜ ወደ ናኖ ሰከንዶች ተቀይሯል |
old_root | የወላጅ ግዛት መነሻ ከፈፃሚው ምስክር የተገኘ |
new_root | ከስህተቱ ምስክር የተገኘ የፖስት ስቴት ሥርዓት |
perm_root | የፖሴይዶን ተሳትፎ በሥራ ሚና ፈቃድ ላይ |
tx_set_hash | በደረጃ የተቀመጡ ግብይቶች እና የጊዜ ማነቃቂያ መግቢያ ነጥብ ሃሽዎች ላይ ሀሽ |
አስተናጋጁ fastpq-lane-balanced ን ለእነዚህ ጭነቶች እንደ ቀኖናዊ መለኪያ ይጠቀማል ።
የሂሳብ ሞዴል
ይህ ክፍል የአሁኑን Rust አመልካች እና ማረጋገጫ የሚተገበረውን የሂሳብ ጥናት ይገልጻል። ከዚህ በታች ያሉት ሁሉም የመስክ ሥራዎች በወርቅ ሽቦ የመጀመሪያ መስክ ላይ ናቸው-
F=Fp,p=264−232+1
FastPQ Poseidon2 ን ይጠቀማል F ለሜዳ ግዴታዎች ስፋት ያለው ስፖንጅ t = 3, ተመን r = 2, እና አቅም 1. ሃሽ በደረጃ-2 ብሎኮች ውስጥ የመስክ ንጥረ ነገሮችን ይቀበላል እና ነጠላ መስክ ንጥረ ነገር ይጨምራል። 1 ከመጨረሻው ለውጥ በፊት:
HF(x0,…,xm−1)=Poseidon2F(x0,…,xm−1,1)
የባይት ገመዶች በ 7-ባይት አነስተኛ-ኢንዲያን ጫፎች ውስጥ የታሸጉ ስለሆነም እያንዳንዱ ጫፍ በጥብቅ ከ p በታች ነው ።
pack(b)j=i=0∑6b7j+i28i,0≤pack(b)j<p
የጎራ የተለዩ የመስክ ሃሽዎች እንደሚከተለው ይወከላሉ:
HD(m)=HF(∣pack(D)∣,pack(D),∣pack(m)∣,pack(m))
ከባይት-ጎራ ዲስጀቶች ለሚጀምሩ ሃሽዎች FastPQ የመጀመሪያዎቹን ስምንት አነስተኛ ኢንዲያ ባይቶችን ወደ መስክ ያቀርባል:
seed(D)=le64(Hash(D)[0..8])modp
እዚህ Hash ማለት የ Iroha iroha_crypto::Hash::new ፣ 32-ባይት Blake2bVar ዲጀስት ነው ፣ አንድ ቀመር በገለጽ Poseidon2 ወይም SHA-256 ስሞች ካልሆነ በስተቀር።
የመስክ ሒሳብ
የ Rust ኮድ የመስክ ንጥረ ነገሮችን በ [0,p) ውስጥ እንደ መደበኛ u64 እሴቶች ይወክላል ።
a+Fb=(a+b)modp
a−Fb=(a−b)modp
ማባዛት በመጀመሪያ የ 128 ቢት ምርቱን ይሰላል-
a⋅b=lo+264hi
የወርቅ ብልቶች ቅነሳ ከዚያም ማንነት ይጠቀማል:
264≡232−1(modp)
የሚከተሉትን ካደረጉ:
hi=hilo+232hihi
ከዚያም መቀነሻው ይሰበስባል:
lo+232hilo−hilo−hihi(modp)
ትግበራው ውጤቱ ካኖኒካል እስኪሆን ድረስ p ን በሁኔታዎች ይጨምራል ወይም ይቀነሳል። እንደ ሚዛን ዴልታ ያሉ የተፈረሙ ሙሉ ቁጥሮች የሚከተሉትን ያካትታሉ
field(x)=xmodp,0≤field(x)<p
የፖዚዶን2 ለውጥ
የፖዚዶን 2 መለዋወጥ ሁኔታ:
x=(x0,x1,x2)∈F3
የእሱ ኤስ-ሳጥን:
S(x)=x5
FastPQ አራት ሙሉ ዙር, አምሳ ሰባት ክፍልፋይ ዙሮች ይጠቀማል, ከዚያም አራት ተጨማሪ ሙሉ ዙሮች. c_r = (c_{r,0}, c_{r,1}, c_{r,2}) ነው:
x′=M⋅S(x0+cr,0)S(x1+cr,1)S(x2+cr,2)
በከፊል ዙር:
x′=M⋅S(x0+cr,0)x1+cr,1x2+cr,2
ሁሉም ተጨማሪዎች እና ማባዛት በ F ውስጥ ይገኛሉ ። የካኖኒካል MDS ማትሪክ የሚከተለው ነው
M=0x982513a23d22b5920xbe3dce25491db7680xe624719c41eb1a090xa3115db8cf1d9c900xfb0a6f731943519f0xd2221b0f1aa2ebc40x46ba684b9eee84b70xfce5bd953cde18960x1ab5e60d03ad44bc
መስክ ሃሽ ከዜሮ ሁኔታ ይጀምራል. ለእያንዳንዱ የተሟላ ደረጃ-2 ብሎክ (u,v):
(x0,x1,x2)←Poseidon2(x0+u,x1+v,x2)
የመጨረሻው ብሎክ 1 የሽፋን ንጥረ ነገርን ከመጨረሻው ለውጥ በፊት ይጨምራል ። ውጤቱ x_0 ነው።
አስተናጋጁ የ u64 እሴቱን በ 16 ባይት መስክ የመጀመሪያዎቹ ስምንት አነስተኛ-ኢንዲያን ባይቶች በመጻፍ የውሂብ ቦታ መታወቂያ ይኮድ:
dsid_bytes(d)[0..8]=le64(d),dsid_bytes(d)[8..16]=0
የብሎክ መፍጠር ጊዜ ከሚሊ ሴኮንድ ወደ ናኖ ሴኮንድ ይቀየራል:
slot=saturating_mul(creation_time_ms,1,000,000)
የግብይት ስብስብ ሃሽ የተደረደሩ የመግቢያ ነጥብ ሀሽዎች ላይ ባይት-ዶሜይን ሃሽ ነው:
tx_set_hash=Hash(fastpq:v1:tx_set∥h0∥⋯∥hn−1)
h_i የተደረደሩ የግብይት እና የጊዜ ማስነሳት የመግቢያ ነጥብ ሃሽዎች በሚሆኑበት ቦታ። በማረጋገጫው በይፋ IO ውስጥ ፣ perm_root ወይም tx_set_hash ሁሉም ዜሮ ከሆነ ፣ ፕሮቫር የወደፊቱ እሴቶች ይሞላል
perm_root={032,Hash(fastpq:v1:perm_root∥p0∥⋯∥pn−1),if there are no permission hashesotherwise
tx_set_hashfallback=Hash(fastpq:v1:tx_set∥ordering_hash)
የቁጥር መደበኛነት
ለእያንዳንዱ ዝውውር ዴልታ የዒላማ አሥረኛ ልኬት በዋጋው እና በሁለቱም ሚዛን ቅጽበታዊ ገጽ እይታዎች ላይ ከፍተኛውን የተቆራረጠ ልኬት ነው-
s=max(scale(a),scale(f0),scale(f1),scale(t0),scale(t1))
ሀ Numeric ዋጋ ከማንቲሳ ጋር m እና ሚዛን q ተቀባይነት የሚሰጠው m >= 0 እና q <= s. የእሱ FastPQ የይሖዋ ምሥክር ዋጋ፡-
norms(m,q)=m⋅10s−q
የተለመደው ውጤት ወደ u64 ይገጣጠማል.
የካኖኒካዊ ትዕዛዝ
ከትራስ ግንባታ በፊት ጭቃው በዝግጅት ቁልፍ ፣ በአሠራር ደረጃ እና በመጀመሪያው የመጫኛ ማውጫ መሠረት ይደረጋል-
r(Transfer)=0,r(Mint)=1,r(Burn)=2,r(RoleGrant)=3,r(RoleRevoke)=4,r(MetaSet)=5
የትዕዛዝ ግዴታ በፖሲዶን2 መስክ ላይ በ fastpq:v1:ordering ጎራ እና በተደረደሩ ሽግግሮች ውስጥ በ Norito ኢንኮዲንግ ላይ ሃሽ ማድረግ ነው-
ordering_hash=HF(∣P(Do)∣,P(Do),∣P(E(T⋆))∣,P(E(T⋆)))
የት P የ7 ባይት ማሸጊያ ነው፣ E ነው Norito ኮድ ማድረግ፣ D_o ነው fastpq:v1:ordering, እና T* የተደረደረው የሽግግር ዝርዝር ነው።
የማስተላለፍ እኩልነቶች
ለዝውውር ክፍያ a, የመላኪያ ሚዛን f, እና ተቀባዩ ሚዛን t, FastPQ ፍለጋውን ከመገንባቱ በፊት የተለመዱትን ምስክር እሴቶች ያረጋግጣል-
f0≥a
f1=f0−a
t1=t0+a
ከዚያ የሽግግር ረድፎቹ የሚከተሉትን ኮድ ያደርጋሉ:
Δsender=f1−f0=−a
Δreceiver=t1−t0=a
በክትትሉ ውስጥ የተፈረሙ ዴልታዎች ወደ F ይቀንሳሉ-
δi=(posti−prei)modp
አማራጭ ነጠላ-ዴልታ ማስተላለፊያ ዳይጀስት የኮድ የተደረገውን የማስተላለፊያ ቅድመ ምስል ይፈጽማል:
dtransfer=PoseidonHashBytes(E(from)∥E(to)∥E(asset)∥E(a)∥batch_hash)
ለበርካታ ዴልታ ማስተላለፊያ ትራንስክሪፕቶች የአሁኑ ቅርጸት ይህ ከፍተኛ-ደረጃ ዳይጀስት መቅረት አለበት.
የማስተናገድ ባለሥልጣኑ ለዝውውር ትራንስክሪፕቶች የሚወስደው:
dauthority=Hash(iroha:fastpq:v1:authority|∥E(authority_account))
የመከታተያ መስመሮች
የተደረደረው የሽግግር ዝርዝር n እውነተኛ ረድፎችን ይኑርዎት.
N=2⌈log2(max(1,n))⌉
ረድፎቹ 0..n-1 ንቁ ናቸው; ረድፎች n..N-1 የሸክላ ወረቀቶች ናቸው. እያንዳንዱ እውነተኛ ረድፍ አንድ የአሠራር ምርጫ ስብስብ አለው:
sactive=stransfer+smint+sburn+srole_grant+srole_revoke+smeta_set
ሁሉም ምርጫ አምዶች ቡል ናቸው:
s(s−1)=0
ፈቃድ ፍለጋ መስመሮች በትክክል ሚና መስጠት እና ሚና መሰረዝ መስመሮች ናቸው:
sperm=srole_grant+srole_revoke
ለቁጥር አሠራር ረድፎች:
δi=value_newi,0−value_oldi,0
ገንቢው ደግሞ በአንድ ንብረት ላይ የሚንቀሳቀሱትን ዴልታዎች ይከታተላል:
Ri(a)=Ri−1(a)+δifor transfer, mint, and burn rows of asset a
የአቅርቦት መለኪያውን የሚያዘምኑት የሜንታ እና የቀዶ ጥገና ወረቀቶች ብቻ ናቸው
Si(a)=Si−1(a)+{δi,0,if row i is mint or burnotherwise
ሜታዳታ እና የመረጃ ቦታ ዱካ አምዶች ከመስመር ማቴሪያሊዜሽን በፊት የተገኙ የመስክ ሃሽዎች ናቸው-
metadata_hash={0,HD(E(metadata)),if metadata is emptyotherwise
dsid_trace=HD(public_input_dsid)
የሜታዳታ ሃሽ ፣ የመረጃ ቦታ ሃሽ እና ክፍተቱ በአጠገብ ባሉ ትራክ መስመሮች ላይ የተረጋጉ ናቸው-
metadata_hashi=metadata_hashi+1
dsidi=dsidi+1
sloti=sloti+1
የሜርክል አምዶች ማስተላለፍ
የማስተላለፊያ መስመሮች የ 32-ደረጃ አናሳ ሜርክል ዱካ ይይዛሉ ። አስተናጋጅ ማስረጃ ከጎደለው ከሆነ ፣ ፕሮቨሩ ከመስመር ቁልፍ ፣ ከመጠን በፊት ሚዛን እና ረድፉ የላኪው ወይም ተቀባዩ ወገን መሆኑን የሚገልጽ የተወሰነ መንገድ ያዋህዳል ።
ለሲንቴቲክ ዱካዎች የቅመማ ቅመም ጨው fastpq:smt:from ለተላኪ መስመሮች እና fastpq:smt:to ለተቀባዩ መስመሮች:
K=Hash(fastpq:smt:key|∥salt∥key)
V=Hash(fastpq:smt:value|∥salt∥le64(balance))
bℓ=bitℓ(K)
sℓ=Hash(fastpq:smt:sibling|∥le64(ℓ)∥K∥le64(balance)∥salt)
የተዋሃደ ቅጠል እና ውስጣዊ አንጓዎች የሚከተሉት ናቸው:
L=Hash(fastpq:smt:leaf|∥K∥V)
Nℓ+1=Hash(fastpq:smt:node|∥leftℓ∥rightℓ)
ፍለጋው ቢት b_l, ወንድም s_l, የመግቢያ ኖድ x_l እና የውጤት ኖድ x_{l+1} በእያንዳንዱ ደረጃ ላይ ይመዝግባል።
(leftℓ,rightℓ)={(sℓ,xℓ),(xℓ,sℓ),bℓ=0bℓ=1
የፈቃድ ሃሽ
ሚና መስጠት እና መሰረዝ ረድፎች የፍቃድ ምስክር ሃሽ:
hperm=HF(P(role_id∥permission_id∥epochle))
አስተናጋጅ ፍቃድ ሰንጠረዥ ሥር ግቤቶችን በ ሚና ባይት, ፍቃድ ባይት, እና epoch ባይት ይለያል, ከዚያም Poseidon2 Merkle ዛፍ ይገነባል:
M0[j]=hperm,j
Mk+1[j]=HF(seed(fastpq:v1:poseidon_node),Mk[2j],Mk[2j+1])
ያልተለመደ ስፋት ደረጃዎች የመጨረሻውን ንጥረ ነገር ይደግፋሉ.
የሥልጠና ተሳትፎ
ለእያንዳንዱ የትራስ አምድ c ፣ FastPQ በመጀመሪያ በትራስ ጎራ ላይ ያሉትን የ አምድ እሴቶች ያገናኛል እና የማስተዋወቂያ ቬክተር አሃሽ ያደርጋል-
Cc=HF(seed(fastpq:v1:trace:column:c),coeffs(c))
የክትትል ሥሩ በኮሎኑ ግዴታዎች ላይ የ Poseidon2 Merkle ሥር ነው:
Rtrace=MerkleRoot(C0,…,Cm−1)
የመጨረሻው የክትትል ግዴታ በዶሜኑ ላይ ባይት ሃሽ ፣ በፓራሚተር ስብስብ ፣ በክትትል ቅርፅ ፣ በአዕምሯዊ ቁሳቁሶች እና በክትትሉ ሥር ላይ ነው:
commitment=Hash(len(Dc)∥Dc∥len(parameter)∥parameter∥n∥N∥m∥C0∥⋯∥Cm−1∥Rtrace)
D_c የሚሆነው fastpq:v1:trace_commitment ከሆነ።
AIR ጥንቅር
የ V1 AIR ውህደት እሴት ከመስመር-አካባቢ ቀሪዎች ረቂቅ ድብልቅ ነው። ትራንስክሪፕቱ ሁለት ተግዳሮቶችን ያሳያል-
α0,α1∈F
ለእያንዳንዱ ተጓዳኝ ረድፍ ጥንድ (i,i+1) ፣ ፕሮቨር የሚከተሉትን ያሰላል:
Ai=j∑αjmod2ρi,j
ቀሪዎቹ rho በኮድ ቅደም ተከተል፡-
ρ=s(s−1)for each selector column
ρ=sactive−(stransfer+smint+sburn+srole_grant+srole_revoke+smeta_set)
ρ=sperm−(srole_grant+srole_revoke)
ρ=sactive,i+1(1−sactive,i)
የቁጥር አምዶች ላላቸው ረድፎች:
ρ=(stransfer+smint+sburn)⋅((value_new0−value_old0)−δ)
እና ለተረጋጋው የቡድን አውድ አምዶች:
ρ=metadata_hashi−metadata_hashi+1
ρ=dsidi−dsidi+1
ρ=sloti−sloti+1
ማረጋገጫ ሰጪው A_i ለናሙና የተወሰደውን ረድፍ ክፍተቶች እንደገና ያሰላስላል እና በ AIR ጥንቅር ሜርክል ሥር መሠረት ከተቀበለው የቅጽበት ዋጋ ጋር ይገመግማል ።
የፍለጋ ምርት
የፈቃድ ፍለጋ accumulator የ Fiat-Shamir ፈተና ይጠቀማል gamma. በዝቅተኛ ዲግሪ ማራዘሚያ ግምገማዎች ላይ s_perm እና perm_hash, እየሰራ ያለው ምርት ነው:
z0=1
zi+1={zi⋅(wi+γ),zi,sperm,i=0sperm,i=0
የምስክር ወረቀቶች:
lookup_grand_product=HF(z0,z1,…)
ዝቅተኛ-ደረጃ ማራዘሚያ
omega_T የትራስ ጎራ ጄኔሬተር ፣ omega_E የግምገማ የጎራ ጄነሬተር እና g የተዋቀረው ኮሴት ኦፍሰት ይሁኑ። እሴቶች v_i ላላቸው ትራስ አምድ ፣ መስተጋብር a_j ን ያመነጫል ፣ ስለሆነም:
f(ωTi)=vi
ዝቅተኛ-ደረጃ ማራዘሚያ በኮሴት ላይ ተመሳሳይ ፖሊኖሚየልን ይገመግማል:
LDEf(i)=f(g⋅ωEi)
አፈፃፀሙ ይህንን በ FFT በፊት የ coset offset ኃይሎች ጋር ጠቀሜታዎችን በማባዛት ይሰበስባል-
aj′=ajgj
ከዚያ በኋላ a' በግምገማው ጎራ ላይ መገምገም ።
የ CPU FFT በ bit-reversed ግብዓቶች ላይ አንድ ተደጋጋሚ ራዲክስ-2 Cooley-Tukey ለውጥ ነው. L, ግማሽ ርዝመት H=L/2, እና የደረጃ ሥር:
ωL=ωN/L
እያንዳንዱ ሽንኩርት እንደሚከተለው ያሰላል፦
u=xj
v=xj+H⋅ωLj
xj′=u+v,xj+H′=u−v
ተቃራኒው FFT ከ omega^{-1} ጋር ተመሳሳይ ለውጥ ያካሂዳል እና በተቃራኒው የጎራ መጠን ይለወጣል-
IFFT(x)=N−1⋅FFTω−1(x)
የካታሎግ ሥሮች ከመጠቀምዎ በፊት ይረጋገጣሉ
ω2k=1
ω2k−1=1(k>0)
ከካታሎግ ሥር ለተገኙ ትናንሽ ጎራዎች ጀነሬተር የሚከተለው ነው-
ωℓ=ωmax2kmax−ℓ
ረድፍ እና ቅጠል ሃሽስ
ከ LDE በኋላ, FastPQ በሁሉም LDE አምዶች ላይ እያንዳንዱን ረድፍ ይለያል. ለ m አምዶች:
ri=HF(i,m,xi,0,xi,1,…,xi,m−1)
ረድፍ ሃሽዎች ከግምገማው ጎራ ይልቅ አሁንም በቅደም ተከተል ጎራ ላይ ካሉ ፣ ፕሮቫር ያንን ነጠላ ረድፍ-ሃሽ አምድ በተመሳሳይ coset LDE ሂደት ጋር ያገናኛል እና ያስፋፋል ።
የሜርክሌ ክፍተቶች
LDE እሴቶች የሚከተሉትን ቁርጥራጮች ይይዛሉ
Blde=8⋅fri_arity
እያንዳንዱ ቁራጭ ቅጠል የሚከተለው ነው
Lj=HD(j∥vjB∥⋯∥vjB+B−1)
የሜርክል ወላጆች:
Pj=HF(seed(fastpq:v1:trace:node),L2j,L2j+1)
ያልተለመዱ ደረጃዎች የመጨረሻውን ኖት ይደግፋሉ። የጥያቄ መስመሮች በእያንዳንዱ ደረጃ ላይ ባለው የጥያቄ ወረቀት ማውጫ እኩልነት መሠረት ወደ ግራ ወይም ወደ ቀኝ በማጣመር ያረጋግጣሉ ።
i በሚለው ኢንዴክስ ላይ ላለው ቅጠል (s_0,\ldots,s_{d-1}) አንድ መንገድ (PH000001) ከሥሩ R ጋር በመተያየት ይረጋገጣል-
y0=Li
yk+1={HF(seed(fastpq:v1:trace:node),yk,sk),HF(seed(fastpq:v1:trace:node),sk,yk),⌊i/2k⌋≡0(mod2)⌊i/2k⌋≡1(mod2)
ቼኩ የሚፈፀመው የሚከተሉትን ጊዜያት ብቻ ነው፦
yd=R
AIR ትራክ ረድፍ ቅጠሎች የሚከተሉት ናቸው
Liair=HD(i∥m∥xi,0∥⋯∥xi,m−1)
AIR ቅጠሎች የሚከተሉት ናቸው:
Licomp=HD(i∥Ai)
የ LDE መጠይቅ መክፈቻ እንዲሁ በግምገማ መረጃ ጠቋሚ i ላይ የተከፈተውን ዋጋ በተረጋገጠ ክፍል ውስጥ መገኘቱን ያረጋግጣል:
chunk_index=⌊Bldei⌋
chunk_offset=imodBlde
chunk[chunk_offset]=vi
FRI ማጠፍ
FRI ለ AIR ጥንቅር ግምገማዎች ይደራጃል። ለእያንዳንዱ ዙር l ፣ የዝግረ-ጽሑፍ ናሙናዎች ፈታኝ beta_l ናቸው ። ንብርብሩ የመጨረሻውን ዋጋ በመደጋገም ወደ አሪቲው ባለብዙነት ተሞልቷል ። እያንዳንዱ የአሪቲ መጠን ቡድን ወደ:
yl+1,j=k=0∑a−1yl,ja+kβlk
where a is the FRI arity. መርማሪው ለእያንዳንዱ ናሙና የተወሰደ የጥያቄ ሰንሰለት የሚከተሉትን ያረጋግጣል:
yl+1,⌊i/a⌋=k=0∑a−1yl,⌊i/a⌋a+kβlk
እና የተከፈተውን እያንዳንዱን FRI ቡድን የሚዛመደው FRI ንብርብሮች ሥር ላይ ያረጋግጣል.
የፊያት-ሻሚር ትራንስክሪፕት
የካኖኒካል ፓራሜትር ካታሎግ የጽሑፍ ትራንስክሪፕቱን ሃሽ እንደ SHA3-256 ያመላክታል ። የአሁኑ ፕሮቨር እና ማረጋገጫ ትግበራ የችግር ባይቶችን ከ iroha_crypto::Hash::new ጋር ያመነጫል ፣ ይህም የ 32-ባይት Blake2bVar ዲጀስት ነው ፣ ከዚያ የመጀመሪያዎቹን ስምንት አነስተኛ-ኢንዲያን ባይቶችን ወደ F ይቀንሳል:
χ(tag)=le64(Hash(state∥len(tag)∥tag)[0..8])modp
ፈታኝ ጥሪዎች ሙሉውን አቃፊ ወደ ትራንስክሪፕት ሁኔታ ይጨምሩ. መልሶ ማጫወት ቅደም ተከተል:
- IO ፣ የፕሮቶኮል ስሪት፣ የፓራሜትር ስሪት እና የፓራሚተር ስም
- LDE ሥር እና ቅኝት ሥር
gamma- AIR የግንባታ ተግዳሮቶች
alpha_0፣ alpha_1 - AIR ፍለጋ ሥር እና AIR ጥንቅር ሥር
- ፍለጋ ታላቅ ምርት
- FRI ንብርብሮች ሥር እና
beta_l ፈተናዎች - የናሙና መጠይቅ መረጃ ጠቋሚዎች
የጥያቄ ናሙና አሰጣጥ የተጠየቀውን ልዩ መረጃ ጠቋሚዎች ብዛት እስኪያገኝ ድረስ የ 32-ባይት ፈተና ቁሳቁሶችን እየቆረጠ እና አነስተኛ መጠን ያላቸው u64 ቁርጥራጮችን እያነበበ ይቀጥላል-
q=le64(digest chunk)modNeval
የናሙናዎቹ ስብስብ በተደራጀ ቅደም ተከተል ይመለሳል።
የማረጋገጫ ዳግም መልሶ ማጫወት
ማረጋገጫ ሰጪው በመጀመሪያ የቡድን ግዴታውን እንደገና ያስከፍላል-
commitmentexpected=trace_commitment(params,batch)
እና የሚከተሉትን ይጠይቃል:
commitmentexpected=proof.trace_commitment
በተጨማሪም የህዝብ IO መልሶ መገንባት:
PublicIO=(dsid,slot,old_root,new_root,perm_root,tx_set_hash,ordering_hash,permission_hashes)
እያንዳንዱ መስክ የማረጋገጫውን የህዝብ IO ባይት-ለ-ባይት ማዛመድ አለበት። ተቆጣጣሪው ከዚያ ተመሳሳይ ትራንስክሪፕትን እንደገና ይገነባል እና ተመሳሳይ ያወጣል:
γ,α0,α1,β0,…,βℓ−1,q0,…,qt−1
ለእያንዳንዱ የናሙና ጥያቄ q የሚከተሉትን ያረጋግጣል:
MerkleVerify(Rlde,L⌊q/Blde⌋,⌊q/Blde⌋,πlde)
MerkleVerify(Rair,Lqair,q,πair,current)
MerkleVerify(Rair,Lq+1modNevalair,q+1modNeval,πair,next)
እና:
Aq=AIRComposition(rowq,rowq+1,α0,α1)
የ AIR ቅጽ መክፈቻ ማረጋገጥ አለበት R_air_composition. የ FRI ከዚያም ሰንሰለት ተመሳሳይ ጀምሮ ይጀምራል A_q እና በተረጋገጠ የመጨረሻ ማጠናቀቂያ መጨረስ አለበት FRI ከታርሚናል በታች ያለው ቅጠል FRI ሥር.
ምሳሌው የሚያረጋግጠው ነገር
ቅደም ተከተል ከመገንባቱ በፊት FastPQ ፕሮቨር በዝግጅት ቁልፍ ፣ በኦፕሬሽን ደረጃ እና በማስገባት ትዕዛዝ የቡድን ቅደም ተከተልን ያነቃቃል ። የማስተላለፊያ መስመሮች እንዲሁ የቅጂ መልዕክት ሜታዳታ ይጠይቃሉ። የትራንስፖርት መስመሮች ያሉት ነገር ግን የትራንስፍርድ ትራንስክሪፕቶች የሌሉበት ጭምር ልክ ያልሆነ ነው።
የዝውውር ትራንስክሪፕቶችን በተመለከተ፣ በዋናነት የሚደረጉ ምርመራዎች የሚከተሉትን ያካትታሉ፦
- የመላኪያ ሚዛኑ ዝቅተኛ ፍሰት ሊኖረው አይገባም
sender_after በ sender_before - amount እኩል መሆን አለበት።receiver_after በ receiver_before + amount እኩል መሆን አለበት።- ትራንስክሪፕቱ በጅምላው ውስጥ ያሉትን እያንዳንዱን የማስተላለፊያ ረድፍ መሸፈን አለበት
- የፖሲዶን ነጠላ-ዴልታ ዲጀስት ፣ በሚገኝበት ጊዜ ከትራንስክሪፕቱ ቅድመ ምስል ጋር የሚዛመድ መሆን አለበት።
- በርካሽ-ሜርክል ማስረጃዎች እንደ ስሪት 1 መከፈት አለባቸው፤ የጎደሉ መንገዶች በዴትሪሚኒስት ሲንተቲክ ማስረጃዎች የተሞሉ ናቸው።
መከታተያው ለዝውውር ፣ ለደብዳቤ ፣ ለመቃጠል ፣ ለክፍያ መስጠት ፣ ለክፍል መሰረዝ ፣ ለሜታዳታ ስብስብ እና ለፈቃድ ፍለጋ መስመሮች የተመረጡ አምዶች ይዟል። የቁጥር ክወና መስመሮች እንዲሁ የተፈረሙ ዴልታዎችን ፣ በአንድ ንብረት ላይ የሚሠሩ ዴልታን እና አቅርቦት ቆጣሪዎችን ይይዛሉ ።
ፕሮፕሮ ሌይን
irohad የ FastPQ ፕሮቨር መስመሩን በጅምር ላይ ያስጀምራል ከሆነ የፕሮቨር ዳግም ማስጀመር ይቻላል. መስመሩ የተወሰነ ረድፍ ያለው የጀርባ ተግባር ነው ። አንድ ብሎክ የአፈፃፀም ምስክር ካወጣ በኋላ ፣ የኮሚት ዱካው የብሎክ ሃሽ ፣ ቁመት ፣ እይታ እና ምስክር ያሉትን የፕሮቬር ሥራ ያቀርባል ።
መስመሩ እየሰራ ካልሆነ ወይም ረድፉ ሞልቶ ከሆነ ሥራው ይተላለፋል እና መደበኛ የብሎክ ማቀነባበሪያ ይቀጥላል ። ይህ ማለት የጀርባ አመልካች መስመሩ የግብይት መግቢያ ወይም የስምምነት በር አይደለም ማለት ነው ፣ እሱ ቀድሞውኑ የተፈፀመበት የስቴት ላይ የመረጋገጫ ምርት መንገድ ነው።
የመንገድ መስመሩ የሚከተሉትን ያካትታል:
textparameter = "fastpq-lane-balanced"
execution_mode = auto | cpu | gpu
poseidon_mode = auto | cpu | gpu
auto አመልካቹ የሚገኘውን የጀርባ መጨረሻ እንዲመርጥ ያስችለዋል ። cpu ፒኖች አፈፃፀም ከ CPU ይመርጣል። gpu የተጠየቁትን ኮርኖችን መጠቀም በማይችልበት ጊዜ ወደኋላ በመመለስ CPU በ GPU አፈጻጸም ይመርጣል ።
ማረጋገጫ
FastPQ ማስረጃ ማረጋገጫ የካኖኒካል ጭነት ግዴታውን እንደገና ይገነባል እና የህዝብ ትራንስክሪፕትን ይደግፋል ። ተረጋግጣቢው የፕሮቶኮል ስሪት ፣ የፓራሜትር ስብስብ ስሪት ፣ የመልሶ ማጫወት ገደቦች ፣ የመከታተያ ግዴታ ፣ የሕዝብ ግብዓቶች ፣ የተመረጡ ሜርክል ክፍተቶች ፣ AIR ክፍተቶች እና FRI የጥያቄ ሰንሰለት ያረጋግጣል ።
ነባሪ የመልሶ ማጫወት ገደቦች የሚከተሉትን ያካትታሉ:
| ገደብ | ነባሪ |
|---|
| የሽግግር ረድፎች | 256 |
| የጅምላ አጠቃቀም መጠን | 256 KiB |
| FRI ደረጃዎች | 16 |
| መጠይቅ ክፍት ቦታዎች | 128 |
Nexus የተረጋገጡ ተለጣፊዎች
Nexus AXT የማረጋገጫ ፖስታዎች አንድ AxtFastpqBinding. መቼ ነው RegisterVerifiedLaneRelay ይፈጽማል፣ Iroha:
- የመንገድ ተለጣፊ ሽፋን እና FastPQ የመከላከያ ቁሳቁስ ያረጋግጣል ።
- የውሂብ ክፍተቱን እና የመግለጫውን ሥር ይፈትሻል
- የ AXT ማስረጃ ፖስታን ይገልጻል
- አንድ
fastpq_binding ይጠይቃል - የ FastPQ ጭነት ከዛ አገናኝ እንደገና ይገነባል
- የተካተተውን FastPQ ማስረጃ ይገልጻል።
- የ FastPQ ማረጋገጫ ሰጪው እንደገና በተገነባው ጭነት እና ማስረጃ ላይ ይደውላል
ማረጋገጫው ከተሳካ፣ Iroha የሚከማቹ ሀ VerifiedLaneRelayRecord የሪሌይ ማጣቀሻ ፣ ኦሪጅናል ፖስታ ፣ የማረጋገጫ ጥቅማጥቅሞችን ሃሽ ፣ የማረጋገጥ ቁመት ፣ የመግለጫ ሥር እና FastPQ የሚጣበቅ።
የመንገድ ተለጣፊ ፖስታዎች እንዲሁ የታመቀ FastPQ ማረጋገጫ ቁሳቁስ ይይዛሉ ። ቁሳቁሱ የመንገድ መታወቂያ ፣ የውሂብ ቦታ መታወቂያ ، የብሎክ ከፍታ ፣ የማረጋገጫ ከፍታ ፣ የብሎክ ራስጌ ሃሽ ፣ የሰፈራ ሃሽ እና የማኒፌስት ዎርት ላይ ዳይጀስት ነው ። አንድ ተለጣፊ QC እና ትክክለኛ FastPQ ማረጋገጫ ቁሳቁስ ሲኖረው ብቻ ተቀባይነት ያለው ነው.
AXT አስገዳጅ ሒሳብ
ለ Nexus AXT ፖስታዎች, AxtFastpqBinding ማስረጃ ዳግም ከማስገባት በፊት ካኖኒካዊ ነው. ባዶ መለኪያ እሴቶች በነባሪ ወደ fastpq-lane-balanced; ባዶ ማረጋገጫ መታወቂያ እና ስሪት ነባሪ ወደ fastpq እና v1; የይገባኛል ጥያቄ አይነት ተቆርጦ ታችኛው ደረጃ ላይ ይደረጋል.
የ AXT FastPQ የህዝብ ግብዓቶች የተወሰኑ ባይት ሃሽ ናቸው-
dsid=dsid_bytes(source_dsid)
slot=le64(source_tx_commitment[0..8])
old_root=Hash(fastpq-json:old_root∥source_tx_commitment∥policy_commitment∥effect_type)
new_root=Hash(fastpq-json:new_root∥source_tx_commitment∥claim_digest∥effect_type)
perm_root=Hash(fastpq-json:perm_root∥policy_commitment∥verifier_id∥verifier_version)
tx_set_hash=Hash(fastpq-json:tx_set_hash∥source_tx_commitment∥claim_digest∥witness_commitment)
AXT የሽግግር ቁልፎች የሚከተሉት ናቸው፦
key(prefix,x,y)=prefix∥/∥x∥/∥y
በ authorization የይገባኛል ጥያቄ ውስጥ የክፍያ ማረጋገጫ ረድፍ ይካተታል:
role_id=claim_digest
permission_id=witness_commitment
epoch=le64(policy_commitment[0..8])
የ compliance የይገባኛል ጥያቄ ሁለት ሜታዳታ ረድፎችን ያስገባል- አንደኛው ለፖሊሲ እና ሌላኛው ለዒላማው የውሂብ ጎራዎች።
ለ tx_predicate እና value_conservation ፣ አንድ አስገዳጅነት አዎንታዊ ምንጭ ወይም መድረሻ መጠን ካለው ግልፅ ተጽዕኖ መጠን ጥቅም ላይ ይውላል ። አለበለዚያ ኮዱ የተወሰነ የመወሰን መጠን ያገኛል-
bounded(d,min,span)=min+(le64(d[0..8])modmax(span,1))
ከዚያም ተመሳሳይ የማስተላለፊያ እኩልነቶች ጥቅም ላይ ይውላሉ:
sender_after=sender_before−a
receiver_after=receiver_before+a
የተላኪ እና ተቀባይ መለያ መታወቂያዎች ከቁልፍ ዘሮች የተፈጠሩ ናቸው-
seed=Hash(label∥entropy)[0..32]
የዝውውር ጭነት ሃሽ:
batch_hash=Hash(label∥corridor∥source_tx_commitment∥claim_digest)
የ AXT የቡድን መገለጫ ማጣሪያ SHA-256 በ Norito የካኖኒካል አገናኝ ኮዲንግ:
manifest_digest=SHA256(E(canonical_binding))
SCCP ግልፅ መልዕክት ማስረጃዎች
የ SCCP ረዳት ሳጥን ደግሞ ይጠቀማል FastPQ ለንጹህ መስቀል ሰንሰለት መልዕክት ማስረጃዎች ይህ መንገድ ከ irohad የጀርባ ፕሮቨር ሌን. FastPQ ጭነት በቀጥታ ከ SCCP መልዕክት ማረጋገጫ ጥቅል እና መገለጫ, ከዚያም ክፍት ማረጋገጫ ለማግኘት የተገኘው ማስረጃ ይሸፈናል.
የ SCCP ክምችት fastpq-lane-balanced እና ሦስት ሜታዳታ ሽግግርን ይጠቀማል-
| ቁልፍ | እንቅስቃሴ |
|---|
sccp:transparent:v1:statement | MetaSet |
sccp:transparent:v1:context | MetaSet |
sccp:transparent:v1:payload | MetaSet |
የህዝብ ግብዓቶች ከ SCCP ግልፅ የውስጥ ማስረጃ የተገኙ ናቸው:
| FastPQ ግብዓት | SCCP ምንጭ |
|---|
dsid | የመጀመሪያዎቹ 16 ባይት የ Blake2b አቃፊ መግለጫ ላይ ሃሽ |
slot | የፍጻሜ ቁመት |
old_root | የዋጋ ጭነት ሃሽ |
new_root | ቁርጠኝነት |
perm_root | የመጨረሻነት ብሎክ ሃሽ |
tx_set_hash | መግለጫ ሃሽ |
የ SCCP ካኖኒካል ኢንኮደሮች አነስተኛ-ኢንጂያን ሙሉ ቁጥሮችን ይጽፋሉ እና ተለዋዋጭ ርዝመት ያላቸው ባይት ማሰሪያዎችን እንደሚከተለው ያካትታሉ:
vec(x)=le32(∣x∣)∥x
ግልፅ የህዝብ ማስገቢያ ባይት ሰንጠረዥ:
P=version∥message_id∥payload_hash∥le32(target_domain)∥commitment_root∥le64(finality_height)∥finality_block_hash
ግልፅ መግለጫ ባይቶች የዝግጅት አቀራረብ ፣ ሰንሰለት ቤተሰብ ፣ አካባቢያዊ እና የባልደረባ ጎራዎች ፣ የደህንነት ሞዴል ፣ የአንከር አስተዳደር ፣ የመለያ ኮዴክ ፣ የፍፃሜ ሞዴል ، የማረጋገጫ ዓላማ ፣ የማረጋገጫ ዳግም-መጨረሻ ቤተሰብ ፣ ርዝመት የተወሰነ ሰንሰለት / ዳግም-ማረጋገጫ / መገለጫ መስኮች ፣ መድረሻ አስገዳጅ ሃሽ ፣ የሂሳብ ኮዴክ ቁልፍ, ጠቃሚ ጭነት አይነት, የህዝብ ግብዓት ባይት, እና ጠቃሚ ጭነት ሃሽ. መግለጫ ሃሽ ነው:
statement_hash=Blake2bVar32(sccp:transparent:statement:v1∥statement)
ለዚህ የማረጋገጫ መንገድ FastPQ የመረጃ ቦታ መታወቂያ ከሌላ ቅድመ-የተቀመጠ የ Blake2b ዳይጀስት የመጀመሪያዎቹ 16 ባይት ነው ።
dsid=Blake2bVar32(sccp:transparent:fastpq:dsid:v1∥statement_hash)[0..16]
የ SCCP FastPQ ጭነት በትክክል:
(sccp:transparent:v1:statement,∅,statement,MetaSet)
(sccp:transparent:v1:context,∅,E(inner_proof),MetaSet)
(sccp:transparent:v1:payload,∅,canonical_payload,MetaSet)
ከዚያ በኋላ በተመሳሳይ FastPQ ትዕዛዝ ደንብ መሠረት ይደረጋል.
የ OpenVerify ተቆጣጣሪ ግዴታ በ SHA-256 ላይ ባለው SCCP መልዕክት ጀርባ ስም እና በካኖኒካል FastPQ ተቆጣጣሪ መግለጫ ላይ ነው-
vk_hash=SHA256(message_backend∥verifier_descriptor)
ጥሬው FastPQ ማስረጃው Norito-በአንድ StarkFriOpenProofV1, ከዚያም በሳጥኑ ውስጥ የተጠቀለለ OpenVerifyEnvelope ከጀርባ አወጣጥ ጋር Stark. SCCP ማረጋገጫ ተመሳሳይ መልሶ ይገነባል FastPQ ከቡድን እና ማኒፌስት የተወሰደ ክምችት, ክፍት የማረጋገጫ ፖስታ ሜታዳታዎችን ያረጋግጣል, እና FastPQ በተገነባው ጭነት ላይ ያለው ማረጋገጫ እና ማስረጃ።
የፓራሜትር ስብስቦች
የካኖኒካል ፓራሜትር ካታሎግ ሁለት የፓራሜትር ስብስቦችን ይገልጻል። በአሁኑ ጊዜ አስተናጋጅ ፕሮቨር ሌን fastpq-lane-balanced ን ይጠቀማል ።
| መለኪያ | ዓላማ | መስክ | ሃሽስ | FRI |
|---|
fastpq-lane-balanced | ሚዛናዊ የፕሮቨር ፍሰት | የወርቅ ብልጭታዎች አራተኛ ቅጥያ | የ Poseidon2 ግዴታዎች ፣ ካታሎግ SHA3 መለያ | ክፍል 8፣ ፍንዳታ 8, 46 ጥያቄዎች |
fastpq-lane-latency | መዘግየት-ተኮር ጎዳናዎች | የወርቅ ብልጭታዎች አራተኛ ቅጥያ | የ Poseidon2 ግዴታዎች ፣ ካታሎግ SHA3 መለያ | ክፍል 16፣ ፍንዳታ 16፣ 34 ጥያቄዎች |
ሁለቱም የ 128-ቢት ደህንነትን ያነጣጥራሉ እና የመከታተያ ጎራ መጠን 2^16 ይጠቀማሉ ። የ Rust V1 ትራንስክሪፕት መልሶ ማጫወት ኮድ በአሁኑ ጊዜ በቀጥታ ወደ SHA3-256 ከመጥራት ይልቅ በ iroha_crypto::Hash::new ውስጥ የፊያት-ሻሚር ፈተና ባይቶችን ያስገኛል.
በ Rust ማረጋገጫ የተጠቀሙት ትክክለኛ የካታሎግ ቋሚዎች የሚከተሉት ናቸው:
| ቋሚ | fastpq-lane-balanced | fastpq-lane-latency |
|---|
target_security | 128 | 128 |
grinding_bits | 23 | 21 |
trace_log_size | 16 | 16 |
trace_root | 0x002a247f81c6f850 | 0x6a9f4eb38fb9b892 |
lde_log_size | 19 | 20 |
lde_root | 0x60263388dbbf9b2a | 0x9c9c3a571b6f89ac |
permutation_size | 65,536 | 65,536 |
lookup_log_size | 19 | 20 |
omega_coset | 0x6af325e825ad5c18 | 0x3a5fd4171e3c3a4d |
fri_arity | 8 | 16 |
fri_blowup | 8 | 16 |
fri_max_reductions | 8 | 6 |
fri_queries | 46 | 34 |
ውቅር
የ FastPQ ውቅር በ zk.fastpq ስር ተጣብቋል።
toml[zk.fastpq]
execution_mode = "auto"
poseidon_mode = "auto"
# Optional telemetry labels.
device_class = "apple-m4"
chip_family = "m4"
gpu_kind = "integrated"
# Optional Metal backend tuning.
metal_queue_fanout = 3
metal_queue_column_threshold = 24
metal_max_in_flight = 5
metal_threadgroup_width = 128
metal_trace = false
metal_debug_enum = false
metal_debug_fused = false
ተመሳሳይ አፈፃፀም እና የቴሌሜትሪ መለያዎች ከ irohad ሊሻሩ ይችላሉ-
shellirohad --fastpq-execution-mode auto
irohad --fastpq-poseidon-mode cpu
irohad --fastpq-device-class apple-m4
irohad --fastpq-chip-family m4
irohad --fastpq-gpu-kind integrated
የአካባቢ ተለዋዋጮች ለኮንፊግሬሽን መስኮችም ይደገፋሉ። ለ FastPQ የተወሰኑ ተለዋዋጮችን ያካትታሉ:
FASTPQ_EXECUTION_MODEFASTPQ_POSEIDON_MODEFASTPQ_DEVICE_CLASSFASTPQ_CHIP_FAMILYFASTPQ_GPU_KINDFASTPQ_METAL_QUEUE_FANOUTFASTPQ_METAL_COLUMN_THRESHOLDFASTPQ_METAL_MAX_IN_FLIGHTFASTPQ_METAL_THREADGROUPFASTPQ_METAL_TRACEFASTPQ_DEBUG_METAL_ENUMFASTPQ_DEBUG_FUSED
መለኪያዎች
ቴሌሜትሪ ሲፈቀድ FastPQ የጀርባ ማረፊያ ምርጫ እና ሜታል ሩጫ ባህሪ መለኪያዎችን ያወጣል-
| ሜትሪክ | ትርጉም |
|---|
fastpq_execution_mode_total | የተጠየቀ እና የተፈታ አፈፃፀም ሁነታ በ backend እና በመሣሪያ መለያዎች |
fastpq_poseidon_pipeline_total | የተጠየቀ እና የተፈታ የፖሲዶን ቧንቧ መስመር መንገድ |
fastpq_metal_queue_depth | የብረት ረድፍ ገደብ ፣ ከፍተኛው በረራ ውስጥ ብዛት ፣ የመላኪያ ብዛት እና ናሙና መስኮት |
fastpq_metal_queue_ratio | የብረታ ብረት ረድፍ የተጨናነቀ እና የመጋፈጥ ሬሾዎች |
fastpq_zero_fill_duration_ms | ለሜታል ሩጫዎች የአስተናጋጅ ዜሮ-ሙሌት ጊዜ |
fastpq_zero_fill_bandwidth_gbps | የተወሰደ የዜሮ ሙሌት ባንድዊድዝ |
ለአጠቃላይ የአፈፃፀም ማጣሪያ በ አፈፃፀምና መለኪያዎች ውስጥ ከተዘረዘሩት የጋራ ስምምነት እና ረድፍ ምልክቶች ጋር ይጠቀሙ።