இந்தப் பக்கம், ஒரு பரிமாற்றம் Rand வழியாகச் செல்லும்போது எந்தப் பணியை யார் செய்கிறார்கள் என்பதைக் காட்டுகிறது. நிரூபணம் உருவாக்குவது செலவு மிக்கது; சரிபார்ப்பது மலிவானது. எனவே பணி அந்த எல்லையின் அடிப்படையில் பிரிக்கப்படுகிறது. அனுப்புநர் தரப்பு நிரூபணங்களை உருவாக்குகிறது. சரிபார்ப்பாளர்கள் அவற்றைச் சரிபார்த்து, வரிசைப்படுத்தி, வாக்களிப்பது மட்டுமே செய்கிறார்கள். ஒரு திரட்டி, இயக்கப்பட்டவுடன், பல நிரூபணங்களை ஒன்றாக மடிக்கும். கீழுள்ள படம் ஒரு பரிமாற்றத்தை வாலட்டிலிருந்து இறுதியான பிளாக் வரை பின்தொடர்கிறது; அதற்குப் பிந்தைய பகுதிகள் ஒவ்வொரு பங்கையும் வரிசையாக விளக்குகின்றன.
ஒரு பரிமாற்றத்தின் பாதை
- வாலட் பரிமாற்றத்தை உருவாக்குகிறது. அது தனது உள்ளீட்டு நோட்டுகளைத் தேர்ந்தெடுத்து, அவற்றின் Merkle சாட்சிகளைப் பெற்று, நான்கு வெளியீடுகளை உருவாக்கி, ஒவ்வொன்றையும் ஒரு ML-KEM-768 உறையில் முத்திரையிடுகிறது. பின்னர் பரிவர்த்தனையின் பிணைப்பைக் கணக்கிடுகிறது; இது நிரூபணங்களைத் தவிர மற்ற அனைத்தின் மீதான ஒரு ஹாஷ் ஆகும் (பரிவர்த்தனைகள்).
- அங்கீகார நிரூபணத்தை வாலட்டே உருவாக்குகிறது. இது செலவுச் சாவி மற்றும் ஒரு புதிய சால்ட் மீதான tier-10 நிரூபணம்; சில வினாடிகளில் முடியும். செலவுச் சாவியைத் தொடும் ஒரே நிரூபணம் இதுதான்; இது எப்போதும் வாலட்டின் சொந்தக் கணினியிலேயே உருவாக்கப்படுகிறது.
- தொகுப்பு நிரூபணம், அதற்குத் தேவையான நினைவகம் உள்ள இடத்தில் உருவாக்கப்படுகிறது. இந்த tier-14 நிரூபணம் உரிமை, உறுப்பினர் நிலை, நல்லிஃபையர்கள், இருப்புச் சமநிலை ஆகியவற்றைக் காட்டுகிறது; இதன் உச்ச நினைவகப் பயன்பாடு சுமார் 6 GB. டெஸ்க்டாப் செயலியும், சுமார் 8 GB நினைவகம் கொண்ட தொலைபேசியும் இதைத் தாமே உருவாக்குகின்றன. அதைவிடச் சிறிய சாதனங்கள், தம்முடன் இணைக்கப்பட்ட ஒரு நிரூபிப்பானிடம் இப்பணியை ஒப்படைக்கின்றன: நீங்களே இயக்கும் ஒன்று, அல்லது
prover.randprotocol.orgஇல் உள்ள சரிபார்ப்பாளர்களின் தொகுப்பு. இரண்டுக்கும் அனுப்பப்படுவது பார்வைச் சாவியும் சால்ட்டும் மட்டுமே; செலவுச் சாவி ஒருபோதும் அனுப்பப்படுவதில்லை (நிரூபணங்கள்). - ஒரு RPC கணு அதைச் சரிபார்க்கிறது. வாலட் எந்தக் கணுவுக்குச் சமர்ப்பிக்கிறதோ அந்தக் கணு தொகுப்பு டைஜெஸ்ட்டை மீண்டும் கணக்கிட்டு, இரு நிரூபணங்களையும் பிணைப்புக்கு எதிராகச் சரிபார்த்து, கட்டணத்தைச் சரிபார்க்கிறது; அதன் பின்னரே பரிவர்த்தனையைத் தனது சக கணுக்களுக்குப் பரப்புகிறது (நிரூபணங்கள், மெம்பூல்).
- சரிபார்ப்பாளர்கள் அதை வரிசைப்படுத்தி இறுதிசெய்கிறார்கள். அந்த வியூவின் தலைவர், இன்னும் செல்லுபடியாகும் பரிவர்த்தனைகளை KiB ஒன்றுக்கான கட்டணம் அதிகமானவை முதலில் என்ற வரிசையில் எடுத்து, ஒரு பிளாக்கை முன்மொழிகிறார். ஒவ்வொரு சரிபார்ப்பாளரும் அதிலுள்ள ஒவ்வொரு நிரூபணத்தையும் மீண்டும் சரிபார்த்து வாக்களிக்கிறார். தொடர்ச்சியான வியூக்களில் மூன்று கோரம் சான்றிதழ்கள் அதன்மீது சங்கிலியாக அமைந்தவுடன் பிளாக் உறுதிசெய்யப்படுகிறது; இதற்கு chain 20 இன் 26 சரிபார்ப்பாளர்களில் 18 பேர் இணைப்பில் இருக்க வேண்டும் (ஒருமித்த கருத்து).
- பிளாக் இறுதியானது; அனைவரும் அதைச் சரிபார்க்க முடியும்.
rand_getTransactionஒரு பிளாக்கைத் திருப்பி அளிக்கும்போது பரிவர்த்தனை இறுதியானதாகிறது. பின்னர் ஒத்திசைக்கும் ஒரு கணு, கையொப்பங்களை நம்புவதற்குப் பதிலாக ஒவ்வொரு சான்றிதழையும் ஒவ்வொரு நிரூபணத்தையும் மீண்டும் சரிபார்க்கிறது.
பங்குகள்
| பங்கு | அது என்ன செய்கிறது | நிரூபிக்குமா? | அது எதைக் காண்கிறது | இயக்கம் |
|---|---|---|---|---|
| வாலட் | பரிமாற்றங்களையும் அழைப்புகளையும் உருவாக்கி, அங்கீகரித்து, சமர்ப்பிக்கிறது; தனது சொந்தச் சாவிகளைக் கொண்டு சங்கிலியை வருடுகிறது | அங்கீகார நிரூபணத்தை எப்போதும்; சாதனத்தில் போதுமான நினைவகம் இருந்தால் தொகுப்பு நிரூபணத்தையும் | தனது சொந்த நோட்டுகள் பற்றிய அனைத்தையும் | கிளையன்ட்கள் பக்கத்திலுள்ள செயலிகள், அல்லது rand; chain 20 இல், Rand Wallet அல்லது rand v0.6.8 அல்லது அதற்குப் பிந்தையது |
| ஒப்படைக்கப்பட்ட நிரூபிப்பான் | தன்னுடன் இணைக்கப்பட்ட வாலட்டுக்காகத் தொகுப்பு நிரூபணத்தை உருவாக்குகிறது; எதுவும் சமர்ப்பிக்கப்படுவதற்கு முன் ஒவ்வொரு பதிலையும் வாலட் சரிபார்க்கிறது | தொகுப்பு நிரூபணங்கள் மட்டும் | இணைக்கப்பட்ட வாலட்டின் பார்வைச் சாவி: அதன் முழு வரலாறு, கடந்ததும் எதிர்காலமும்; அதனால் செலவழிக்க முடியாது | rand-prover run, அல்லது rand-node run --prover |
| சரிபார்ப்பாளர்களின் நிரூபிப்பான் தொகுப்பு | நான்கு ஹோஸ்ட்களால் (இரண்டு சரிபார்ப்பாளர்கள், நிரூபணம் மட்டுமே செய்யும் இரண்டு கணினிகள்) ஒரே பெயர் மற்றும் ஒரே சாவியின் கீழ் இயக்கப்படும் ஒப்படைக்கப்பட்ட நிரூபிப்பான்; சொந்த நிரூபிப்பான் இல்லாத வாலட்டுகளுக்கானது; கட்டணம் இல்லை | தொகுப்பு நிரூபணங்கள் மட்டும் | எந்த ஒப்படைக்கப்பட்ட நிரூபிப்பானும் காண்பதையே, தன்னுடன் இணையும் ஒவ்வொரு வாலட்டுக்கும் | prover.randprotocol.org, கைரேகை RGTF-7HKJ-XZFV-GQ1J |
| RPC கணு (கண்காணிப்பாளர்) | ஒத்திசைக்கிறது, ஒவ்வொரு நிரூபணத்தையும் மீண்டும் சரிபார்க்கிறது, JSON-RPC சேவை வழங்குகிறது, சரிபார்க்கப்பட்ட பரிவர்த்தனைகளைப் பரப்புகிறது; வாக்கு இல்லை | இல்லை | பொதுப் புலங்கள் மட்டும்: உறுதிமொழிகள், நல்லிஃபையர்கள், முத்திரையிடப்பட்ட உறைகள், நிரூபணங்கள் | rand-node run |
| சரிபார்ப்பாளர் | ஒரு கண்காணிப்பாளர் செய்யும் அனைத்தும், அத்துடன் தனது வியூக்களில் முன்மொழிதலும் HotStuff இல் வாக்களித்தலும் | இல்லை | பொதுப் புலங்கள் மட்டும் | rand-node run --validator |
| திரட்டி | இறுதிசெய்யப்பட்ட தொகுப்பு நிரூபணங்களின் ஒரு சாளரத்தின் மீது ஒரு சுழல்நிலை நிரூபணத்தை உருவாக்கி, முத்திரையிடும் பிளாக்கிற்காகச் சமர்ப்பிக்கிறது | ஆம், வலையமைப்பின் மிகப் பெரிய நிரூபணங்கள் | பொதுப் புலங்களும் நிரூபணங்களும் மட்டும் | rand-node aggregate --watch, aggregation பகுதி கொண்ட சங்கிலியில் |
நிரூபணம் உருவாக்குவதும் சரிபார்ப்பதும் தனித்தனிப் பணிகள்; ஒரு சரிபார்ப்பாளருக்கு நிரூபிப்பான் வன்பொருள் தேவையில்லை. தொகுப்பின் நான்கு உறுப்பினர்களில் இருவர், ஒரு சேவையாக நிரூபிப்பானையும் இயக்கும் சரிபார்ப்பாளர்கள்; மற்ற இருவர், எந்தச் சரிபார்ப்பாளர் சாவியையும் வைத்திருக்காத பிரத்யேக நிரூபிப்பான் கணினிகள். தொகுப்பை இயக்குவது சரிபார்ப்புப் பணியின் பகுதி அல்ல. ஒவ்வொரு பங்குக்குமான அளவுகளும், ஒவ்வொரு tier க்கும் அளவிடப்பட்ட நிரூபண நினைவகமும் சரிபார்ப்பாளர் மற்றும் திரட்டி வன்பொருள் பக்கத்தில் உள்ளன.
ஒவ்வொரு பங்கும் எதை அறிய முடியும்
ஒரு பரிமாற்றத்தின் தனியுரிமை, வலையமைப்பை நம்புவதைச் சார்ந்ததல்ல; எந்தச் சாவி யாரிடம் உள்ளது என்பதைச் சார்ந்தது:
- சரிபார்ப்பாளர்கள், RPC கணுக்கள், எக்ஸ்ப்ளோரர் ஆகியவை ஒவ்வொரு கணுவும் காண்பதையே காண்கின்றன: உறுதிமொழிகள், நல்லிஃபையர்கள், முத்திரையிடப்பட்ட உறைகள், கட்டணம், நிரூபணங்கள். தொகை, சொத்து, அனுப்புநர், பெறுநர் ஆகியவற்றை அல்ல.
- தொகுப்பு உட்பட, ஒப்படைக்கப்பட்ட நிரூபிப்பானுக்கு பார்வைச் சாவி அனுப்பப்படுகிறது. அதைக் கொண்டு, இணைக்கப்பட்ட வாலட்டின் முழு வரலாற்றையும் அது படிக்க முடியும். ஆனால் அதனால் ஒருபோதும் செலவழிக்க முடியாது, ஏனெனில் செலவுச் சாவி மீதான அங்கீகார நிரூபணம் வாலட்டின் கணினியிலேயே உருவாக்கப்படுகிறது. தொகுப்புடன் இணைவது என்பது, அந்த வரலாற்றை அதன் இயக்குநர்களுக்குக் காட்டத் தேர்ந்தெடுப்பதாகும். அதைத் தனிப்பட்டதாக வைத்திருக்க விரும்பினால், உங்கள் சொந்தச் சாதனத்திலேயே நிரூபணத்தை உருவாக்குங்கள் அல்லது உங்கள் சொந்த நிரூபிப்பானை இயக்குங்கள்.
- ஒப்படைக்கப்பட்ட நிரூபிப்பான் வாலட்டை ஏமாற்ற முடியாது. தனக்கு வழங்கப்படும் ஒவ்வொரு நிரூபணத்திலிருந்தும் வாலட் டைஜெஸ்ட்டைப் படித்து, அளவைச் சரிபார்த்து, அதை உள்ளூரிலேயே சரிபார்க்கிறது; எனவே தவறான நிரூபணம் ஒருபோதும் எந்தக் கணுவையும் அடைவதில்லை.
திரட்டல்: கட்டமைக்கப்பட்டது, இயக்கத்தில் இல்லை
இன்று ஒவ்வொரு பிளாக்கும் ஒவ்வொரு மூல நிரூபணத்தையும் சுமக்கிறது; ஒரு பரிமாற்றத்துக்குச் சுமார் 2.85 MB. எனவே ஒரு 20 MiB பிளாக்கில் சுமார் ஏழு பரிமாற்றங்களே அடங்கும். பிளாக் திரட்டல் என்பது fullnode வழங்கும் தீர்வு. ஒரு திரட்டி, இறுதிசெய்யப்பட்ட பிளாக்குகளின் ஒரு சாளரத்திலுள்ள தொகுப்பு நிரூபணங்களை (rand_getUnsealed) எடுத்து, அவை அனைத்தையும் சரிபார்க்கும் ஒரு சுழல்நிலை நிரூபணத்தை உருவாக்கி, அதைச் சமர்ப்பிக்கிறது. அதை உள்ளடக்கும் பிளாக் அந்தச் சாளரத்தை முத்திரையிடுகிறது. அதன் பின் சரிபார்ப்பாளர்கள் N நிரூபணங்களுக்குப் பதிலாக ஒரே ஒரு திரட்டு நிரூபணத்தைச் சரிபார்க்கிறார்கள்; கணுக்கள் உள்ளடக்கப்பட்ட மூல நிரூபணங்களைக் கைவிடலாம். திரட்டிகள் பிணைத்தொகை செலுத்தியவை, அனுமதி தேவையற்றவை; GPU-வகுப்புக் கணினிகளில் இயங்குகின்றன. உள்ளடக்கப்பட்ட தொகுப்புகளின் நிரூபணப் பங்கும், புதிய RAND இல் ஒரு பிளாக் மானியமும் அவற்றுக்கு வழங்கப்படுகின்றன.
இது கட்டமைக்கப்பட்டு இணைக்கப்பட்டுவிட்டது, ஆனால் இயக்கத்தில் இல்லை. இதற்கு ஜெனிசிஸில் ஒரு aggregation பகுதி தேவை; chain 20 இல் அது இல்லை. எனவே rand_status ஒவ்வொரு திரட்டல் எண்ணியையும் பூஜ்ஜியம் எனக் காட்டுகிறது. இதை இயக்குவதற்கு முன், அதன் தொகுப்பு வடிவம் தற்போதைய கட்டுப்பாட்டுத் தொகுப்பின் கீழ் மீண்டும் அளவிடப்பட வேண்டும்; சுழல்நிலைச் சரிபார்ப்பிக்கு எதிராகப் போலித் திரட்டு நிரூபணச் சோதனை ஒன்றும் நடத்தப்பட வேண்டும். பிரிக்கப்பட்ட அங்கீகாரம் கொண்ட சங்கிலியில், அது தொகுப்பு நிரூபணங்களை மட்டுமே முத்திரையிடும்; அங்கீகார நிரூபணங்களை அல்ல (நிரூபணங்கள்).