በብሎክቼይን ውስጥ በዲጂታል ፊርማ ላይ የተመሰረተ የዘፈቀደ ንግግር

ከሃሳብ ወደ ትግበራ፡ ነባሩን የኤሊፕቲክ ኩርባ ዲጂታል ፊርማ እቅድ ቆራጥ እንዲሆን እናስተካክላለን፣ እና በእሱ ላይ በመመስረት በብሎክቼይን ውስጥ ሊረጋገጡ የሚችሉ የውሸት-የዘፈቀደ ቁጥሮችን ለማግኘት ተግባራትን እናቀርባለን።

በብሎክቼይን ውስጥ በዲጂታል ፊርማ ላይ የተመሰረተ የዘፈቀደ ንግግር

ሐሳብ

በ 2018 መገባደጃ, Waves blockchain ተካቷል የመጀመሪያው ዘመናዊ ኮንትራቶች ገብተዋል, የማግኘት እድልን በተመለከተ ጥያቄው ወዲያውኑ ተነሳ የውሸት ቁጥሮችሊያምኑት የሚችሉት.

በዚህ ጥያቄ ግራ በመጋባት በመጨረሻ ወደ መደምደሚያው ደረስኩ፡ ማንኛውም ብሎክቼይን ሕዋስ ነው፡ በተዘጋ ሥርዓት ውስጥ የታመነ የኢንትሮፒ ምንጭ ማግኘት አይቻልም።

ግን አሁንም አንድ ሀሳብ ወደውታል፡ ከሆነ የዘፈቀደ ቃል የተጠቃሚውን መረጃ በሚወስነው አልጎሪዝም ይፈርማል፣ ከዚያም ተጠቃሚው ሁልጊዜ የህዝብ ቁልፍን ተጠቅሞ ፊርማውን ማረጋገጥ ይችላል፣ እና የተገኘው እሴት ልዩ መሆኑን ያረጋግጣል። ኦራክል ምንም ያህል ቢፈልግ ምንም ነገር መለወጥ አይችልም፤ አልጎሪዝም የማያሻማ ውጤት ያስገኛል። በመሠረቱ፣ ተጠቃሚው ውጤቱን ይመዘግባል፣ ነገር ግን አፈ ታሪኩ እስኪታተም ድረስ አያውቅም። ቃሉን በጭራሽ ማመን አይችሉም ፣ ግን የሥራውን ውጤት ያረጋግጡ ። ከዚያም በተሳካ ሁኔታ ማረጋገጫ ከሆነ, እንዲህ ዓይነቱ ፊርማ ለሐሰተኛ ቁጥር ኢንትሮፒ ምንጭ ተደርጎ ሊወሰድ ይችላል.

የ Waves blockchain መድረክ የፊርማ እቅድ ይጠቀማል ኢዲኤስኤ አማራጭ ኤድ25519. በዚህ እቅድ ውስጥ ፊርማው R እና S እሴቶችን ያቀፈ ነው ፣ R በዘፈቀደ እሴት ላይ የሚመረኮዝ ሲሆን S የሚሰላው በተፈረመው መልእክት ፣ የግል ቁልፍ እና ከ R ጋር ተመሳሳይ የዘፈቀደ ቁጥር ነው ። ለተመሳሳይ የተለየ ጥገኝነት የለም ለተጠቃሚ መልእክት ብዙ ትክክለኛ ፊርማዎች አሉ።

በግልጽ እንደሚታየው, በንጹህ መልክ, እንዲህ ዓይነቱ ፊርማ እንደ የውሸት-ነሲብ ቁጥሮች ምንጭ ሆኖ ሊያገለግል አይችልም, ምክንያቱም የማይወስነው እና, ስለዚህ, በቃል በቀላሉ ሊገለበጥ ይችላል.

ግን ፣ እንደ ተለወጠ ፣ በትክክል መወሰን ይቻላል ።

ትልቅ ተስፋ ነበረኝ። ሊረጋገጥ የሚችል የዘፈቀደ ተግባር (VRF), ነገር ግን ሃርድዌርን ካጠናሁ በኋላ, ይህን አማራጭ መተው ነበረብኝ. ምንም እንኳን ቪአርኤፍ የፊርማውን እና ማረጋገጫውን የሚወስን ስሪት ቢያቀርብም፣ በአልጎሪዝም ውስጥ የቃል ንግግርን ለመጠቀም ጥቁር ቀዳዳ የሚከፍት እንግዳ ቦታ አለ። ማለትም የ k () ዋጋን ሲያሰሉክፍል 5.1) የግል ቁልፍ ጥቅም ላይ ይውላል፣ ይህም ለተጠቃሚው የማይታወቅ ነው፣ ይህ ማለት ተጠቃሚው የ k ስሌት ትክክለኛነት ማረጋገጥ አይችልም ማለት ነው ፣ ይህ ማለት አፈ ቃሉ የሚፈልገውን ማንኛውንም እሴት መጠቀም እና በተመሳሳይ ጊዜ የደብዳቤዎችን የውሂብ ጎታ ይይዛል ማለት ነው ። የ k እና የተፈረመ ውሂብ ከ VRF እይታ አንጻር ትክክለኛውን ውጤት ሁልጊዜ ለማስላት እንዲቻል . የግል ቁልፉን ሳይገልጹ በቪአርኤፍ ላይ የተመሠረተ ስዕል ካዩ ብልህ መሆን ይችላሉ-ቁልፉን የመግለጥ አስፈላጊነት ያመልክቱ ወይም ከ k ስሌት ውስጥ ያስወግዱት ፣ ከዚያ የመጀመሪያው ፊርማ ሲመጣ የግል ቁልፉ ወዲያውኑ ይገለጣል። . በአጠቃላይ ፣ ቀደም ሲል እንደተገለፀው ፣ ለነሲብ የቃል ንግግር እንግዳ እቅድ።

ትንሽ ካሰብኩ በኋላ እና የአካባቢ ተንታኞችን ድጋፍ ካገኘ በኋላ, የ VECRO የስራ እቅድ ተወለደ.

VECRO የ Verifiable Elliptic Curve Random Oracle ምህጻረ ቃል ሲሆን ይህም በሩሲያኛ በሞላላ ኩርባዎች ላይ የተረጋገጠ የዘፈቀደ ቃል ማለት ነው።

ሁሉም ነገር በጣም ቀላል ሆኖ ተገኝቷል ፣ ቆራጥነትን ለማግኘት ፣ የሚፈረመው መልእክት ከመታየቱ በፊት የ R ዋጋን ማስተካከል ያስፈልግዎታል። R ቁርጠኛ ከሆነ እና የተፈረመበት መልእክት አካል ከሆነ፣ ይህም በተፈረመው መልእክት ውስጥ R መፈጸሙን የበለጠ የሚያረጋግጥ ከሆነ፣ የኤስ ዋጋ በተለየ ሁኔታ የሚወሰነው በተጠቃሚው መልእክት ነው ስለሆነም ለሐሰተኛ ቁጥሮች ምንጭ ሆኖ ሊያገለግል ይችላል።

በእንደዚህ አይነት እቅድ ውስጥ, R እንዴት እንደሚስተካከል ምንም ለውጥ አያመጣም, ይህ የቃል ሃላፊነት ይቀራል. S በልዩ ሁኔታ በተጠቃሚው መወሰኑ አስፈላጊ ነው፣ ነገር ግን አፈ ታሪኩ እስኪያተም ድረስ ዋጋው አይታወቅም። የምንፈልገውን ሁሉ!

ስለ ቋሚ R ከተነጋገር, ያንን ልብ ይበሉ እንደገና ጥቅም ላይ የዋለ አር የተለያዩ መልዕክቶችን በሚፈርሙበት ጊዜ በEdDSA እቅድ ውስጥ ያለውን የግል ቁልፍ በልዩ ሁኔታ ያሳያል። የቃል ባለቤት የተለያዩ የተጠቃሚ መልዕክቶችን ለመፈረም R እንደገና የመጠቀም እድልን ማስወገድ በጣም አስፈላጊ ይሆናል። ያም ማለት፣ በማናቸውም ማጭበርበር ወይም ሽርክርክ፣ ኦራክል ሁልጊዜ የግል ቁልፉን ሊያጣ ይችላል።

በአጠቃላይ ኦራክል ለተጠቃሚዎች ሁለት ተግባራትን መስጠት አለበት፡ እሴቱን R የሚያስተካክል ጅምር እና ፊርማ፣ እሴቱን የሚመልስ። እሴት R እና የዘፈቀደ የተጠቃሚ ውሂብ።

ይህ ለብሎክቼይን እቅድ ከተለመደው ምንም አይደለም ብሎ መከራከር ይቻላል የማስፋት እቅድ. በመሠረቱ፣ አዎ፣ እሷ ነች። ግን በርካታ ልዩነቶች አሉ። በመጀመሪያ ፣ ኦራክሌቱ ሁል ጊዜ በሁሉም ኦፕሬሽኖች ውስጥ በተመሳሳይ ቁልፍ ይሰራል ፣ ለምሳሌ ፣ ይህ በኮንትራቶች ውስጥ ለመጠቀም ምቹ ነው። በሁለተኛ ደረጃ ኦራክል የተሳሳተ ባህሪ ካደረገ የግል ቁልፉን ሊያጣ ይችላል, ለምሳሌ የውጤቱን ናሙናዎች እንዲያደርጉ ይፈቅድልዎታል, ከዚያም የግሉን ቁልፍ ለማወቅ እና ሙሉ ለማግኘት ሁለት ሙከራዎችን ብቻ ማድረግ በቂ ነው. ወደ ቦርሳው መድረስ. በሶስተኛ ደረጃ፣ በብሎክቼይን ላይ በአገርኛ የተረጋገጠ እና የዘፈቀደ ምንጭ የሆነ ፊርማ ቆንጆ ነው።

ለስድስት ወራት ያህል የመተግበር ሀሳብ በጭንቅላቴ ውስጥ ተንሰራፍቶ ነበር ፣ በመጨረሻም ተነሳሽነት በቅጹ ላይ እስኪታይ ድረስ ከ Waves Labs ስጦታ. በትልቅ ስጦታ ትልቅ ሃላፊነት ይመጣል, ስለዚህ ፕሮጀክቱ እዚያ ይሆናል!

ትግበራ

ስለዚህ, በዚህ ፕሮጀክት ውስጥ VECRO ተተግብሯል። በ Waves blockchain በጥያቄ-ምላሽ ሁነታ በተጠቃሚ እና በቃል መካከል የሚደረጉ የዝውውር ግብይቶችን በመጠቀም። በተመሳሳይ ጊዜ, ከላይ በተገለጸው አመክንዮ መሰረት ስራውን በጥብቅ የሚቆጣጠረው ስክሪፕት በኦርክል አካውንት ላይ ተጭኗል. የOracle ግብይቶች ተረጋግጠዋል እና አጠቃላይ የተጠቃሚ መስተጋብር ሰንሰለት ወደነበረበት ተመልሷል። አራቱም ግብይቶች የመጨረሻውን ዋጋ በማረጋገጥ ላይ ይሳተፋሉ ፣ ብልጥ ኮንትራቱ በጥብቅ የማረጋገጫ ክር ያገናኛቸዋል ፣ ሁሉንም እሴቶች ደረጃ በደረጃ በማጣራት እና ለማንኛውም ማጭበርበር ቦታ አይሰጥም።

አሁንም እንደገና ወደ ጎን ለማስቀመጥ እና የበለጠ ግልጽ ለማድረግ. ቃሉ የሚሠራው በታቀደው ዕቅድ መሠረት ብቻ አይደለም። ስራው በተቋቋመው በ blockchain ደረጃ ሙሉ በሙሉ ቁጥጥር ይደረግበታል ከብልጥ ውል ጋር በጥብቅ. ወደ ግራ ይሂዱ እና ግብይቱ በቀላሉ አይከናወንም። ስለዚህ, አንድ ግብይት በ blockchain ውስጥ ከተካተተ, ተጠቃሚው ምንም ነገር መፈተሽ እንኳን አያስፈልገውም, በመቶዎች የሚቆጠሩ የአውታረ መረብ ኖዶች ለእሱ ሁሉንም ነገር ፈትሸውታል.

በአሁኑ ጊዜ በ Waves mainnet ላይ አንድ VECRO እየሰራ ነው (እራስዎን ማሄድ ይችላሉ, አስቸጋሪ አይደለም, ብቻ የውቅረት ምሳሌውን ይመልከቱ). የአሁኑ ኮድ በ PHP ውስጥ ይሰራል (በርቷል WavesKit, ስለ የትኛው ቀደም ብዬ ነግሬሃለሁ).

የቃል አገልግሎትን ለመጠቀም የሚከተሉትን ማድረግ አለብዎት:

  • አስተካክል R;
    • ቢያንስ 0.005 ሞገዶችን ወደ ቃል ስም ይላኩ init@vecr;
    • 1 R-vecr token ከኦራክል ወደ ተጠቃሚው በማስተላለፍ በአባሪው መስክ ውስጥ የ R-ኮዱን ይቀበሉ;
  • ፊርማ ያግኙ;
    • ቢያንስ 0.005 ሞገዶችን ወደ ኦራክል ተለዋጭ ስም random@vecr ይላኩ እና እንዲሁም ከዚህ ቀደም የተቀበለውን R-code እና ተጨማሪ የተጠቃሚ ውሂብ በአባሪ መስክ ውስጥ ማመላከት አለቦት።
    • 1 S-vecr token ከኦራክል ወደ ተጠቃሚው በማስተላለፍ ላይ የኤስ-ኮዱን በማያያዝ መስክ ውስጥ ይቀበሉ;
  • ኤስ-ኮድን እንደ የውሸት- የዘፈቀደ ቁጥር ምንጭ ይጠቀሙ።

የአሁኑ ትግበራ ልዩነቶች፡-

  • ወደ ኦራክል የተላኩ ሞገዶች ለተጠቃሚው የመመለሻ ግብይት እንደ ኮሚሽን ጥቅም ላይ ይውላሉ, ቢበዛ 1 ሞገዶች;
  • R-code የ'R' ቁምፊ እና ባለ 32-ባይት ቤዝ58-የተመሰጠረ R እሴት የባይት ውህደት ነው።
  • በአባሪው ውስጥ R-code መጀመሪያ መሆን አለበት, የተጠቃሚ ውሂብ ከ R-code በኋላ ይመጣል;
  • ኤስ-ኮድ የ‹S› ቁምፊ ባይት ውህደት እና ባለ 32-ባይት ቤዝ58-የተመሰጠረ የኤስ እሴት ነው።
  • ኤስ የሞዱሎ ክፍፍል ውጤት ነው, ስለዚህ S እንደ ሙሉ ባለ 256-ቢት pseudorandom ቁጥር መጠቀም አይችሉም (ይህ ቁጥር ቢበዛ 252-ቢት የውሸት ቁጥር ሊቆጠር ይችላል);
  • በጣም ቀላሉ አማራጭ የ S-code hashን እንደ የውሸት-የዘፈቀደ ቁጥር መጠቀም ነው።

S-code የመቀበል ምሳሌ፡-

ከቴክኒካል እይታ አንጻር ኦራክል ሙሉ ለሙሉ ለስራ ዝግጁ ነው, በደህና ሊጠቀሙበት ይችላሉ. ከአማካይ ተጠቃሚ አጠቃቀም አንፃር ፣ ምቹ የሆነ ግራፊክ በይነገጽ እጥረት አለ ፣ ይህ መጠበቅ አለበት።

ጥያቄዎችን ለመመለስ እና አስተያየቶችን ለመቀበል ደስተኛ ነኝ, አመሰግናለሁ.

ምንጭ: hab.com

አስተያየት ያክሉ