ምዕራፍ 3 - ከ10 ውስጥ 0 ፈተናዎችን አልፈዋል
Hashes፦ ዲጂታል የጣት አሻራዎች
ክሪፕቶግራፊክ hash ማጭበርበርን ግልጽ የሚያደርግ እና የሥራ ማረጋገጫን (proof of work) የሚያስችል የአንድ አቅጣጫ ተግባር (function) ነው።
- ክሪፕቶግራፊክ hash ምን እንደሚሰራ እና የናዳ ውጤት (avalanche effect) ለምን አስፈላጊ እንደሆነ ማብራራት
- Merkle root አንድን ብሎክ በውስጡ ካሉት ግብይቶች ሁሉ ጋር እንዴት እንደሚያስተሳስር መግለጽ
ፈጣን መልሶች
በBitcoin ውስጥ hash ምንድን ነው?
የአንድ አቅጣጫ የዳታ የጣት አሻራ ነው፦ ለማስላት ቀላል፣ ወደ ኋላ ለመመለስ በተግባር የማይቻል፣ እና በዳታው ላይ የሚደረግ ማንኛውም ለውጥ ሙሉ በሙሉ የተለየ hash ይሰጣል።
Merkle root ምንድን ነው?
አንድን ብሎክ በውስጡ ካለው እያንዳንዱ ግብይት ጋር የሚያስተሳስር ነጠላ hash ሲሆን፣ ማንኛውንም ግብይት መቀየር ሩቱን (root) ይቀይረዋል።
የBitcoin ታሪክ ለምን ሊቀየር አይችልም?
እያንዳንዱ የብሎክ ራስጌ (block header) ከቀዳሚው ብሎክ ጋር የተሳሰረ ስለሆነ፣ አንድን የቆየ ብሎክ መቀየር ማለት የእሱን እና ከእሱ በኋላ ያሉትን ብሎኮች ሁሉ የሥራ ማረጋገጫ (proof of work) እንደገና መሥራት ማለት ነው።
የአንድ አቅጣጫ አሻራዎች
ክሪፕቶግራፊክ የhash ተግባር ማንኛውንም ግብዓት — አንድ ቃል፣ ምስል ወይም ሙሉ ኢንሳይክሎፒዲያ — ወስዶ የተወሰነ መጠን ያለው የhash ውጤት (digest) ይመልሳል። ሂደቱ ባለአንድ አቅጣጫ ነው፦ ግብዓቱ ያንን የhash ውጤት እንደሚያስገኝ እርስዎ ማረጋገጥ ይችላሉ፣ ነገር ግን ከውጤቱ ተነስተው ወደ ኋላ በመሄድ ግብዓቱን በተግባር ማግኘት አይችሉም። Bitcoin 256 ቢቶችን የሚመልሰውን SHA-256 ይጠቀማል፤ ይህም አብዛኛውን ጊዜ በ64 የሄክሳዴሲማል ቁምፊዎች ይጻፋል። የብሎክ hashዎችን እና የግብይት መለያዎችን (transaction IDs) ለማመንጨት ሁለት ጊዜ ይተገበራል (SHA-256d)።
የናዳ ውጤት
ጥሩ የhash ተግባር (function) ለውጦችን በከፍተኛ ሁኔታ ይለያል። በ500 ገጽ ሰነድ ውስጥ አንድ ነጠላ ሰረዝ ቢቀይሩ ውጤቱ (digest) ሙሉ በሙሉ ይቀየራል። ይህ የናዳ ውጤት (avalanche effect) ይባላል። ይህም hashዎችን ከመረጃው ጋር ለማስተሳሰር (commitment) ጠቃሚ የሚያደርጋቸው ነው፤ ውጤቱ ትክክለኛዎቹን ባይቶች (bytes) ቆልፎ ይይዛል፣ በኋላ የሚደረግ ማንኛውም ለውጥም ወዲያውኑ ግልጽ ይሆናል።
Merkle root
አንድ ብሎክ እያንዳንዱን ግብይት በተናጠል hash አድርጎ በራስጌው (header) ውስጥ አያስገባም። የግብይት መለያዎችን (transaction IDs) ጥንድ ጥንድ እያደረገ hash ያደርጋል፣ ከዚያም ውጤቶቹን እንደገና በጥንድ ያጣምራል፣ ይህንንም አንድ hash ብቻ እስኪቀር ድረስ ይደግመዋል፤ እሱም Merkle root ነው። የብሎኩ ራስጌ ስሪቱን (version)፣ ይህንን Merkle root፣ የቀዳሚውን ብሎክ hash፣ ሰዓቱን፣ የአስቸጋሪነት ኢላማውን (difficulty target) እና nonce ይይዛል። ማንኛውንም ግብይት ቢቀይሩ Merkle root ይቀየራል፤ ይህም የራስጌውን hash ይቀይርና ከዚያ በኋላ የተሠራውን የሥራ ሰንሰለት ይሰብራል።
ለውጥን የሚያጋልጥ ታሪክ
እያንዳንዱ የብሎክ ራስጌ የቀዳሚውን ራስጌ hash ያካትታል። አንድን የቆየ ግብይት እንደገና ለመጻፍ፣ አጥቂው የዚያን ብሎክ እና ከእሱ በኋላ ያሉትን ብሎኮች ሁሉ የሥራ ማረጋገጫ (proof of work) ከታማኙ አውታረ መረብ በበለጠ ፍጥነት እንደገና መሥራት ይኖርበታል። የhash ሰንሰለቱ ታሪክን ለማረጋገጥ ቀላል፣ እንደገና ለመጻፍ ግን እጅግ ውድ ያደርገዋል። ኖዶች (nodes) ተቀባይነት የሌላቸውን ብሎኮች ውድቅ ያደርጋሉ፤ ነገር ግን የበለጠ የተከማቸ ሥራ ያለውን ትክክለኛ ተፎካካሪ ሰንሰለት ይከተላሉ። አንድ ኖድ የበለጠ ሥራ ያለውን ትክክለኛ ሰንሰለት አጥቂ ስለገነባው ብቻ ውድቅ ማድረግ አይችልም።
ይሞክሩት
እርስዎ ሊያስታውሱት የሚገባው ዋና ነጥብ
Hashዎች የአንድ አቅጣጫ ማረጋገጫዎች (commitments) ናቸው። Merkle root አንድን ብሎክ ከውስጡ ግብይቶች ሁሉ ጋር ያስተሳስራል፣ እያንዳንዱ ራስጌ ደግሞ ከቀዳሚው ብሎክ ጋር ይተሳሰራል፤ ስለዚህ ታሪክን መቀየር በዚያ ብሎክና ከእሱ በኋላ ባሉት ብሎኮች ላይ የተሠራውን ሥራ ሁሉ እንደገና መሥራትን ይጠይቃል።
ያስታውሱ፣ ከዚያም ይተግብሩ
በሙከራው (demo) ውስጥ አንድ ፊደል ይቀይሩ። ምን ይቀየራል? እንዲሁም hash የማያረጋግጠው ነገር ምንድን ነው?
የእርስዎን ማብራሪያ ያረጋግጡ
ውጤቱ (digest) በከፍተኛ ሁኔታ ይቀየራል። ተመሳሳይ ውጤት የውሂቡን ወጥነት ያረጋግጣል እንጂ ውሂቡ እውነተኛ ወይም የተፈቀደ መሆኑን አያረጋግጥም። ፈቃድን ለማረጋገጥ ፊርማዎች ያስፈልጋሉ።
የግምገማ ነጥብ
ቁልፍ ቃላት
ምንጮች
በ15 ጥቅምት 2019 (25 ኦክቶበር 2026) የተገመገመ · የፋይናንስ ምክር አይደለም