blockchain ምን መገንባት አለብን?

መላው የሰው ልጅ ታሪክ ሰንሰለቶችን የማስወገድ እና አዲስ እና ጠንካራ የሆኑትን ለመፍጠር የማያቋርጥ ሂደት ነው። (ስም የለሽ ደራሲ)

በርካታ የብሎክቼይን ፕሮጀክቶችን (Bitshares, Hyperledger, Exonum, Ethereum, Bitcoin, ወዘተ) በመተንተን, ከቴክኒካል እይታ አንጻር ሁሉም በተመሳሳይ መርሆዎች የተገነቡ መሆናቸውን እረዳለሁ. አግድ ቼይን ቤቶችን የሚያስታውሱ ናቸው ፣ ምንም እንኳን ሁሉም የተለያዩ ዲዛይኖች ፣ ዲኮር እና ዓላማዎች ቢኖሩም ፣ ግንቦች ፣ ግድግዳዎች ፣ ጣሪያዎች ፣ መስኮቶች ፣ በሮች በተወሰኑ መንገዶች እርስ በእርሱ የተገናኙ ናቸው ። እና የግንባታ ዲዛይን መሰረታዊ መርሆችን ከተረዱ እና ጥቅም ላይ የዋሉትን ቁሳቁሶች ባህሪያት ካወቁ, የአንድ የተወሰነ ቤት ዓላማ ዓላማ መወሰን ይችላሉ. በአሁኑ ጊዜ, ሁሉም ሰው ስለ እሱ የሰማው በ blockchain ሁኔታ ተፈጥሯል, ነገር ግን ጥቂት ሰዎች የአሠራሩን አርክቴክቸር እና መርሆች ይረዳሉ. ስለዚህ, blockchain ቴክኖሎጂዎችን መጠቀም ለምን እና እንዴት ምክንያታዊ እንደሆነ አለመግባባት አለ.

በዚህ ጽሑፍ ውስጥ ለሁሉም blockchains የተለመዱ ባህሪያትን እና መርሆዎችን እንመረምራለን. በመቀጠል በብሎክቼይን በመጠቀም ሊፈቱ የሚችሉትን ችግሮች እንይ እና ቁሳቁሱን ለማጠናከር ትንሽ ግን እውነተኛ ብሎክቼይን በምናባዊ ገፃችን ላይ እንገንባ!

ስለዚህ ፣ በመጀመሪያ ምን ችግሮች እንደፈቱ እናስታውስ blockchain።

እርግጠኛ ነኝ ብዙዎች ስለ ተከፋፈለ፣ ያልተማከለ፣ ህዝባዊ እና የማይለዋወጥ የውሂብ ጎታ ይላሉ። ግን ይህ ሁሉ ለምን አስፈለገ?

በጥናት ላይ ባለው ርዕስ ላይ ሁሉም መጣጥፎች እና መጽሃፎች በእነሱ ላይ የተመሰረቱ ስለሆኑ ደረጃዎቹን በማንበብ ማንኛውንም ቴክኖሎጂ ማጥናት መጀመር እመርጣለሁ። ግን በአሁኑ ጊዜ ምንም የብሎክቼይን ደረጃዎች የሉም ፣ ISO የፈጠረው ብቻ ነው። ኮሚቴዎች ለዕድገታቸው. በአሁኑ ጊዜ እያንዳንዱ የህዝብ ብሎክቼይን ፕሮጀክት የራሱ የሆነ የነጭ ወረቀት ሰነድ አለው ፣ እሱም በመሠረቱ ቴክኒካዊ መግለጫ ነው። የመጀመሪያው በይፋ የታወቀው blockchain ፕሮጀክት የ Bitcoin አውታረ መረብ ነው። ወደ አውታረ መረቡ ኦፊሴላዊ ድር ጣቢያ ይሂዱ እና ተመልከት ሁሉም ከየት እንደተጀመረ።

የብሎክቼይን ፈተና

ስለዚህ blockchain በ Bitcoin አቅኚ አውታረመረብ ውስጥ የፈታው ተግባር አማላጆች በሌሉበት በማይታመን አካባቢ ውስጥ የዲጂታል ንብረቶችን (ንብረትን) ባለቤትነት የታመነ ማስተላለፍን ማካሄድ ነው። ለምሳሌ, በ Bitcoin አውታረመረብ ውስጥ, ዲጂታል ንብረት የ bitcoin ዲጂታል ሳንቲሞች ነው. እና ይህን ችግር ለመፍታት ሁሉም የ Bitcoin እና ሌሎች blockchains ቴክኒካዊ መፍትሄዎች ይወርዳሉ.

blockchain የሚፈታው ችግሮች

አንድ የተወሰነ የፋይናንስ ድርጅት በዓለም ዙሪያ አውታረመረብ ገንብቷል እንበል ፣ በዚህ እርዳታ ለማንኛውም ሰው ገንዘብ ማስተላለፍ ይቻላል ። እሷን ታምናለህ? ይህ ድርጅት ቪዛ ወይም ማስተር ካርድ ከሆነ፣ ምናልባት ታምኑ ይሆናል፣ ነገር ግን በአንፃራዊነት፣ AnonymousWorldMoney ከሆነ፣ ምናልባት ላታምኑ ይችላሉ። ለምን? ነገር ግን በግል ኩባንያዎች የተከፋፈሉ ስርዓቶች እንዴት እንደሚሠሩ, ለምን ዓላማዎች እና ይህ ምን ሊያስከትል እንደሚችል ጠንቅቀን ስለምናውቅ. የእነዚህን ስርዓቶች ችግሮች እና እንዴት በብሎክቼይን ቴክኖሎጂዎች መፍታት እንደሚቻል በዝርዝር እንመልከት።

በሁኔታዊ AnonymousWorldMoney ውስጥ የውሂብ ጎታ ያላቸው አገልጋዮች አሉ እንበል፣ እና በተለያዩ የመረጃ ማዕከሎች ውስጥ ብዙዎቹ ካሉ ጥሩ ነው። ላኪው ገንዘብ ሲያስተላልፍ, ግብይት ይመዘገባል, ይህም በሁሉም አገልጋዮች ላይ ይደገማል, እና ገንዘቡ ለተቀባዩ ይደርሳል.

blockchain ምን መገንባት አለብን?

በጥሩ ዓለም ውስጥ ይህ እቅድ በጣም ጥሩ ነው, ነገር ግን በእኛ ውስጥ የሚከተሉት ችግሮች ይነሳሉ:

  1. በአንድ በኩል ተሳታፊዎችን የመለየት ችግር እና የግብይቶች ስም-አልባነት አስፈላጊነት በሌላ በኩል። እነዚያ። ገንዘብን ወደ አንድ የተወሰነ ተቀባይ ማስተላለፍ ያስፈልግዎታል እና በዚህ ግብይት ውስጥ ካሉት ተሳታፊዎች በስተቀር ማንም ስለማያውቅ። ባንኮች ከአንድ የተወሰነ ግለሰብ ወይም ህጋዊ አካል ጋር የተገናኙ የሂሳብ ቁጥሮች እና የባንክ ካርዶች አላቸው, እና የባንክ ሚስጥር የግብይት መረጃን ይከላከላል. እና ሁኔታዊ AnonymousWorldMoney የግል መረጃን እና የግብይት መረጃን ለራሱ አላማ እንደማይጠቀም ማን ዋስትና ይሰጣል?
  2. ተቀባዩ ወደ እሱ የተላለፈውን መጠን በትክክል መቀበሉን እንዴት ማረጋገጥ ይቻላል? በአንፃራዊነት፣ ላኪው 100 ዶላር አስተላልፏል፣ እና ተቀባዩ 10 ዶላር ተቀብሏል። ላኪው ደረሰኙን ይዞ ወደ AnonymousWorldMoney ቢሮ ይመጣል፣ እና ጸሃፊው የራሱን ስሪት ያሳያል፣ ላኪው 10 ዶላር ብቻ እንዳስተላለፈ ተጽፏል።
  3. የማይታመን አካባቢ ችግር ለምሳሌ ድርብ ወጪ የሚባል ማጭበርበር። ክፍያው በሁሉም አገልጋዮች ላይ እስኪደገም ድረስ ጨዋነት የጎደለው ተሳታፊ ሂሳቡን ብዙ ጊዜ ሊያጠፋ ይችላል። CAP ቲዎረምእርግጥ ነው, ማንም አልተሰረዘም, እና ስምምነት በመጨረሻ ይደርሳል, ነገር ግን አንድ ሰው ለአገልግሎቶች ወይም እቃዎች ገንዘብ አይቀበልም. ስለዚህ, በክፍያ ድርጅት ላይ ሙሉ እምነት ከሌለ ወይም በግብይቶች ውስጥ ተሳታፊዎች, ከዚያም በመተማመን ላይ ሳይሆን በምስጠራ ላይ የተመሰረተ አውታረ መረብ መገንባት አስፈላጊ ነው.
  4. Conditional AnonymousWorldMoney ባለማወቅ ወይም በተንኮል አዘል ዓላማ የማይገኙ ሊሆኑ የሚችሉ የመጨረሻ ቁጥር ያላቸው አገልጋዮች አሉት።
  5. AnonymousWorldMoney የራሱን ተጨባጭ ኮሚሽን ይወስዳል።
  6. የመቆጣጠር እድል. Bitcoin በሚሠራበት ጊዜ ሰዎች ሳንቲሞችን እርስ በእርስ ለማስተላለፍ ብቻ ሳይሆን ለግብይቱ የተለያዩ ሁኔታዎችን ፣ የፕሮግራም ሥራ ሁኔታዎችን ለመፈተሽ ፣ እንደ ሁኔታው ​​​​ወዘተ ላይ ተመስርተው ድርጊቶችን እንዲፈጽሙ ይፈልጋሉ ።

blockchain እነዚህን ችግሮች እንዴት እንደሚፈታ

  1. የተሳታፊዎችን መለየት የሚከናወነው ጥንድ ቁልፎችን በመጠቀም ነው-የግል እና ይፋዊ ፣ እና የዲጂታል ፊርማ ስልተ ቀመር ላኪ እና ተቀባይ ልዩ በሆነ ሁኔታ ይለያሉ ፣ ማንነታቸውንም በስውር ይተዋል ።
  2. ግብይቶች ወደ ብሎኮች ይሰበሰባሉ ፣ የማገጃው ሃሽ ይሰላል እና ወደሚቀጥለው ብሎክ ይፃፋል። ይህ ተከታታይ ሃሽ በብሎኮች የመቅዳት ሂደት ለብሎክቼይን ቴክኖሎጂ ስሙን የሚሰጥ ሲሆን ብሎኮችን ወይም የተናጠል ግብይቶችን ከብሎኮች በቀላሉ ለመለወጥ/ለመሰረዝ የማይቻል ያደርገዋል። ስለዚህ, አንድ ግብይት በብሎክቼይን ውስጥ ከተካተተ, ውሂቡ ሳይለወጥ እንደሚቆይ እርግጠኛ መሆን ይችላሉ.
  3. ድርብ ወጪ ማጭበርበር የሚከለከለው የትኛው ውሂብ ትክክለኛ እንደሆነ እና የትኛው እንደሚወገድ ላይ የአውታረ መረብ ስምምነት ላይ በመድረስ ነው። በ Bitcoin አውታረመረብ ውስጥ, በስራ ማረጋገጫ (PoW) መግባባት ላይ ይገኛል.
  4. የአውታረ መረቡ አስተማማኝነት የተገኘው blockchain ይፋዊ በመሆኑ እያንዳንዱ ተሳታፊ የራሳቸውን መስቀለኛ መንገድ ማስኬድ የሚችሉበት ፣ የብሎክቼይን ሙሉ ቅጂ የሚቀበሉ እና በተጨማሪም ፣ ግብይቶችን ለትክክለኛነት ማረጋገጥ በሚጀምሩበት እውነታ ነው። ዘመናዊ blockchains ህዝባዊ (ክፍት) ብቻ ሳይሆን የግል (የተዘጉ) blockchains መገንባትን እንዲሁም የተዋሃዱ እቅዶችን መጠቀም እንደሚችሉ ልብ ሊባል ይገባል.
  5. እገዳው ኮሚሽኖችን ሙሉ በሙሉ አያስወግድም ፣ ምክንያቱም… አውታረ መረቡን ለሚደግፉ ሰዎች መክፈል አለቦት ፣ ግን በ blockchain ውስጥ የኮሚሽኑ ፍላጎት በጣም አሳማኝ በሆነ መንገድ የተረጋገጠ ሲሆን አስፈላጊነቱ ምንም ጥርጥር የለውም።
  6. ዘመናዊ እገዳዎች የንግድ ሥራ አመክንዮዎችን የመተግበር ችሎታ አላቸው, ይህም በብሎክቼይን ውስጥ ስማርት ኮንትራቶች ይባላል. የስማርት ኮንትራቶች አመክንዮ በተለያዩ የከፍተኛ ደረጃ ቋንቋዎች ይተገበራል።

በመቀጠል, እነዚህን መፍትሄዎች በበለጠ ዝርዝር እንመለከታለን.

Blockchain አርክቴክቸር

Blockchain ክፍሎች

እያንዳንዱ ተሳታፊ የእራሳቸውን መስቀለኛ መንገድ በ blockchain ሙሉ ቅጂ (ሙሉ መስቀለኛ መንገድ) ማስጀመር ይችላል። በ blockchain ላይ ግብይቶችን ሊመዘግቡ የሚችሉ ሙሉ አንጓዎች ተጠርተዋል የጋራ መግባባት አንጓዎች (ምስክር) ወይም ማዕድን አውጪዎች (ማዕድን አውጪዎች). የግብይቶችን ትክክለኛነት ብቻ የሚፈትሹ ሙሉ አንጓዎች ተጠርተዋል። የኦዲት አንጓዎች (ኦዲት)። ቀላል ደንበኞች (ቀላል ደንበኞች) የብሎክቼይን ሙሉ ቅጂዎችን አያከማቹም ፣ ግን ሙሉ ኖዶችን በመጠቀም ከአውታረ መረቡ ጋር ይገናኙ።
አብዛኛዎቹ ተጠቃሚዎች ግብይቶችን ለማድረግ ቀላል ደንበኞችን ወይም የድር ቦርሳዎችን ይጠቀማሉ። ሁሉም አንጓዎች እርስ በርስ የተያያዙ ናቸው. በዚህ የንጥረ ነገሮች ስብስብ የአውታረ መረብ አርክቴክቸር ይበልጥ የተረጋጋ ይሆናል፡

blockchain ምን መገንባት አለብን?

የግብይት የሕይወት ዑደት

የግብይቱን የሕይወት ዑደት እንይ እና በክፍል ከፋፍለን፡-

blockchain ምን መገንባት አለብን?

Blockchain ቴክኖሎጂዎች

ስለ ቴክኒካዊ መፍትሄዎች እና እርስ በርስ ያላቸውን ግንኙነት የበለጠ በዝርዝር እንኑር.

መለየት

እያንዳንዱ የብሎክቼይን ግብይት በዲጂታል ፊርማ መሆን አለበት። ስለዚህ፣ ግብይቱን ለማጠናቀቅ እያንዳንዱ ተሳታፊ ቁልፍ ጥንድ ሊኖረው ይገባል፡ የግል/የህዝብ። አንዳንድ ጊዜ ጥንድ ቁልፎች ቦርሳ ይባላሉ, ምክንያቱም ... ቁልፎቹ በልዩ ሁኔታ ከተሳታፊው ልዩ ዲጂታል አድራሻ እና ቀሪ ሂሳብ ጋር የተቆራኙ ናቸው። እንደ እውነቱ ከሆነ, ቁልፎች እና አድራሻዎች በተለያዩ የቁጥር ስርዓቶች ውስጥ ያሉ የቁጥሮች ሕብረቁምፊዎች ብቻ ናቸው. የቁልፍ እና የኪስ ቦርሳ አድራሻዎች ምሳሌዎች፡-

Private key: 0a78194a8a893b8baac7c09b6a4a4b4b161b2f80a126cbb79bde231a4567420f
Public key: 0579b478952214d7cddac32ac9dc522c821a4489bc10aac3a81b9d1cd7a92e57ba
Address: 0x3814JnJpGnt5tB2GD1qfKP709W3KbRdfb27V

በብሎክቼይንስ ውስጥ ዲጂታል ፊርማ ለመፍጠር፣ በኤሊፕቲክ ኩርባዎች ላይ የተመሠረተ ስልተ ቀመር ጥቅም ላይ ይውላል፡ Elliptic Curve Digital Signature Algorithm (ECDSA)። እንዲሰራ፣ የግል ቁልፉ (256-ቢት ቁጥር) ብዙውን ጊዜ በዘፈቀደ ይወሰዳል። የቁልፍ አማራጮች ቁጥር 2 እስከ 256 ኃይል ድረስ ነው, ስለዚህ የግላዊ ቁልፎችን እሴቶች ማዛመድ ስለ ተግባራዊ የማይቻልነት መነጋገር እንችላለን.

በመቀጠልም የወል ቁልፉ ከግሉ የሚገኘው በኤሊፕቲክ ከርቭ ላይ በሚገኘው የነጥብ መጋጠሚያዎች እሴቱን በማባዛት በተመሳሳይ ኩርባ ላይ ያለውን አዲስ ነጥብ መጋጠሚያዎች ያስከትላል። ይህ እርምጃ ግብይቶችን በዲጂታል ለመፈረም ተስማሚ የሆነ የቁልፍ ጥንድ ማግኘቱን ያረጋግጣል። በመጨረሻም የኪስ ቦርሳ አድራሻው በልዩ ሁኔታ ከህዝብ ቁልፍ የተገኘ ነው።

በብሎክቼይን ውስጥ ጥቅም ላይ የዋለው ምስጠራ ላይ ዝርዝሮች ያላቸው ብዙ ጽሑፎች አሉ ለምሳሌ፡- Bitcoin በአጭሩ - ክሪፕቶግራፊ

የግል ቁልፉ በጥብቅ ሚስጥራዊ እና ደህንነቱ የተጠበቀ መሆን አለበት። የአደባባይ ቁልፍ ለሁሉም ይታወቃል። የግል ቁልፉ ከጠፋ, ወደ ንብረቱ (ሳንቲሞች) መድረስ አይቻልም እና ገንዘቡ ለዘለዓለም ይጠፋል. ስለዚህ, የግል ቁልፎችን ደህንነቱ በተጠበቀ ሁኔታ የማከማቸት ተግባር እጅግ በጣም ጠቃሚ ነው, ምክንያቱም ይህ ባንክ ሁል ጊዜ ፓስፖርትዎን ይዘው መምጣት እና መለያዎን ወደነበሩበት መመለስ የሚችሉበት ባንክ አይደለም። ከፍላሽ አንፃፊዎች ጋር የሚመሳሰል ቀዝቃዛ ክሪፕቶ ቦርሳ የሚባሉትን ለማምረት አጠቃላይ ኢንዱስትሪ አለ-

blockchain ምን መገንባት አለብን?

ወይም ይበልጥ አስተማማኝ ዘዴዎችን መጠቀም ትችላለህ፣ ለምሳሌ የግላዊ ቁልፍን እሴት በቶከኖች ላይ ማተም፡-

blockchain ምን መገንባት አለብን?

ግብይቶች

ስለ ግብይቱ መዋቅር ተጨማሪ ዝርዝሮች በጽሁፉ ውስጥ ይገኛሉ Bitcoin በአጭሩ - ግብይት. እያንዳንዱ ግብይት ቢያንስ የሚከተለው ውሂብ እንዳለው መረዳት ለእኛ አስፈላጊ ነው።

From: 0x48C89c341C5960Ca2Bf3732D6D8a0F4f89Cc4368 - цифровой адрес отправителя
To: 0x367adb7894334678b90аfe7882a5b06f7fbc783a - цифровой адрес получателя
Value: 0.0001 - сумма транзакции
Transaction Hash: 0x617ede331e8a99f46a363b32b239542bb4006e4fa9a2727a6636ffe3eb095cef - хэш транзакции

በመቀጠል, ግብይቱ በግል ቁልፍ ተፈርሞ ወደ ውጭ ይላካል (በፕሮቶኮሉ አሠራር ላይ ዝርዝሮችን ይመልከቱ Bitcoin በአጭር-ፕሮቶኮል) በብሎክቼይን ውስጥ ያሉ ሁሉም አንጓዎች ግብይቶችን ትክክለኛነት የሚፈትሹ። የግብይት ማረጋገጫው ስልተ ቀመር ቀላል ያልሆነ እና ያካትታል ሁለት ደርዘን ደረጃዎች.

የግብይት እገዳዎች

የግብይቶችን ትክክለኛነት ካረጋገጡ በኋላ አንጓዎች ከነሱ ብሎኮች ይፈጥራሉ። ከግብይቶች በተጨማሪ የቀደመው ብሎክ ሃሽ እና ቁጥር (Nonce counter) በብሎክ ውስጥ ተፅፈዋል፣ እና የአሁኑ ብሎክ ሃሽ በSHA-256 ስልተ ቀመር ይሰላል። ሃሽ ውስብስብ ሁኔታዎችን መመስረት አለበት። ለምሳሌ, በ Bitcoin አውታረመረብ ውስጥ, በየ 2 ሳምንቱ የሃሽ አስቸጋሪነት እንደ አውታረ መረቡ ኃይል ላይ በመመርኮዝ በየ 10 ሳምንቱ በየ 1 ደቂቃው አንድ ጊዜ ብሎክ ይፈጠራል. ውስብስብነቱ የሚወሰነው በሚከተለው ሁኔታ ነው፡ የተገኘው ሃሽ አስቀድሞ ከተወሰነው ቁጥር ያነሰ መሆን አለበት። ይህ ሁኔታ ካልተሟላ, ከዚያም XNUMX ወደ ኖንስ ተጨምሯል, እና የሃሽ ስሌት ስራው ይደገማል. ሃሽ ለመምረጥ የኖንስ መስክ ጥቅም ላይ ይውላል፣ ምክንያቱም በብሎክ ውስጥ ያለው ብቸኛው መረጃ ሊቀየር ይችላል ፣ የተቀረው ሳይለወጥ መቆየት አለበት። ልክ የሆነ ሃሽ እንደ ትክክለኛ ሃሽ ያሉ የተወሰኑ መሪ ዜሮዎች ቁጥር ሊኖረው ይገባል፡

000000000000000000000bf03212e7dd1176f52f816fa395fc9b93c44bc11f91

ሃሽን በተሳካ ሁኔታ ማግኘቱ ለBitcoin ወይም Ethereum አውታረ መረቦች (የስራ ማረጋገጫ፣ PoW) የተከናወነ ስራ ማረጋገጫ ነው። ሃሽ የማግኘት ሂደት ከወርቅ ማዕድን ጋር ተመሳሳይነት ያለው ማዕድን ይባላል። ስሙ በትክክል የሂደቱን ምንነት ይገልፃል, ምክንያቱም ቀላል የአማራጮች ፍለጋ አለ ፣ እና አንድ ሰው ተስማሚ ሃሽ ካገኘ ፣ ይህ በእውነቱ ዕድል ነው። በቶን የቆሻሻ ድንጋይ ውስጥ እውነተኛ የወርቅ ኖት እንደማግኘት ነው። የብሎክ ሽልማቱ አሁን 12.5 BTC ነው እና አሁን ባለው የBitኮይን መጠን 3900 ዶላር ካባዙት ከአንድ ኪሎ ግራም በላይ ንፁህ ወርቅ ያገኛሉ። የሚታገልለት ነገር አለ!

ሃሽ በተሳካ ሁኔታ ካገኘ በኋላ፣ ብሎክ እና የተገኘው ሃሽ ራሱ ወደ blockchain እንደ ቀጣዩ ብሎክ ይፃፋል። ስለ ብሎኮች አወቃቀር ተጨማሪ ዝርዝሮች በጽሁፉ ውስጥ ይገኛሉ Bitcoin በአጭር-Blockchainእና ከዚህ በታች ቀለል ያለ ንድፍ አለ፡-

blockchain ምን መገንባት አለብን?

እገዳው የሚጀምረው የቀደመው ብሎክ ሃሽ ገና በሌለው ብሎክ ነው። በብሎክቼይን ውስጥ እንደዚህ ያለ እገዳ አንድ ብቻ አለ እና የራሱ ስም አለው ዘፍጥረት ብሎክ። ቀሪዎቹ እገዳዎች ተመሳሳይ መዋቅር አላቸው እና በግብይቶች ብዛት ብቻ ይለያያሉ. በአሁኑ ጊዜ በ Bitcoin ወይም Ethereum ውስጥ እየተፈጠሩ ያሉ እውነተኛ ግብይቶች እና ብሎኮች በ ውስጥ ሊታዩ ይችላሉ። አግድ አሳሽ.

በBitcoin ውስጥ ያለው የብሎኮች መጠን በ1ሜባ የተገደበ ሲሆን በትንሹም የመረጃ መጠን ወደ 200 ባይት በሚደርስ ግብይት ውስጥ ከፍተኛው የግብይቶች ብዛት 6000 ያህል ሊሆን ይችላል። ከዚህ, በነገራችን ላይ, ሁሉም ሰው የሚስቅበት የ Bitcoin አፈጻጸምን ይከተላል: አንድ የማገጃ በግምት አንድ ጊዜ በየ 10 ደቂቃ * 60 ሰከንድ = 600 ሰከንድ ይፈጠራል, ይህም ስለ 10 TPS መደበኛ አፈፃፀም ይሰጣል. ምንም እንኳን በእውነቱ, ይህ ምርታማነት አይደለም, ነገር ግን ሆን ተብሎ የተተገበረ የስራ ስልተ-ቀመር ነው. በ Ethereum ውስጥ, ለውድድር, በቀላሉ የማገጃውን የማመንጨት ጊዜ 15 ሰከንድ አድርገዋል. እና ምርታማነት በመደበኛነት ጨምሯል። ስለዚህ, PoW እንደ መግባባት በሚጠቀሙ blockchains ውስጥ, አፈጻጸምን ማወዳደር ምንም ትርጉም የለውም, ምክንያቱም እሱ በቀጥታ የሚወሰነው በመሸጎጫ ስሌት ውስብስብነት ላይ ነው ፣ ይህም ለማንኛውም እሴት ሊመደብ ይችላል።

ሹካዎች

ለምሳሌ, በርካታ አንጓዎች ውስብስብ ሁኔታዎችን የሚያሟሉ hashes ካገኙ, ነገር ግን በዋጋ ልዩነት (በሌላ አነጋገር, ወደ ተለያዩ መግባባቶች የመጡ) እና ብሎኮችን ወደ blockchain ቢጽፉ ምን ይከሰታል? blockchain ከዚህ ሁኔታ እንዴት እንደሚከላከል እንይ. በዚህ ሁኔታ ፣ ሹካ ተብሎ የሚጠራው ይከሰታል ፣ እና እገዳው ሰንሰለት ሁለት ስሪቶች አሉት።

blockchain ምን መገንባት አለብን?

ቀጥሎ ምን ይሆናል? በመቀጠል፣ የአውታረ መረቡ ክፍል N+2ን ከአንድ ሰንሰለት እና ከፊሉን ከሌላው ላይ መስራት ይጀምራል።

blockchain ምን መገንባት አለብን?

ከነዚህ ብሎኮች ውስጥ አንዱ ቀደም ብሎ ተገኝቶ ወደ blockchain ይላካል ከዚያም በህጉ መሰረት blockchain ወደ ረጅም ሰንሰለት በመቀየር ከአማራጭ ብሎክ ሁሉንም ግብይቶች መሰረዝ ይኖርበታል።

blockchain ምን መገንባት አለብን?

በተመሳሳይ ጊዜ የአንድ ተሳታፊ ግብይት ከተሰረዘ ሹካ ብሎኮች ውስጥ በአንዱ ውስጥ ብቻ በሚሆንበት ጊዜ አንድ ሁኔታ ሊፈጠር ይችላል። ስለዚህ የተፈለገው ግብይት በብሎክቼይን ውስጥ መመዝገቡን እርግጠኛ ለመሆን አጠቃላይ አስተያየት አለ - ግብይቱን ከማመንዎ በፊት የሚቀጥሉት ጥቂት ብሎኮች ወደ blockchain እስኪጨመሩ ድረስ መጠበቅ አለብዎት። ለተለያዩ blockchains ምን ያህል ብሎኮች እንደሚጠብቁ ምክሮች ይለያያሉ። ለምሳሌ, ለ Bitcoin አውታረመረብ ዝቅተኛው 2 ብሎኮች ነው, ከፍተኛው 6 ነው.

የማገጃ ሹካዎች ጋር ተመሳሳይ ስዕል 51% የሚባሉት ጥቃት ወቅት መከበር ይሆናል - ይህ የማዕድን ቆፋሪዎች ቡድን ያላቸውን የማጭበርበር ግብይቶች ጋር ሰንሰለት ለመሰረዝ በመፈለግ, አማራጭ የማገጃ ሰንሰለት ለማሳደግ ሲሞክር ነው. ምንም እንኳን በአሁኑ ጊዜ ከማጭበርበር ይልቅ ኃይላችሁን በታማኝ ማዕድን ማውጣት ላይ ማዋል የበለጠ ትርፋማ ነው።

መግባባት

እገዳን በብሎክቼይን ለመመዝገብ አውታረ መረቡ የጋራ መግባባት ላይ መድረስ አለበት። በኮምፒዩተር የመገናኛ አውታሮች ውስጥ የጋራ መግባባትን የማግኘት ተግባር እናስታውስ. ችግሩ እንደ ባይዛንታይን ጄኔራሎች ቢኤፍቲ (BFT) ተግባር ሆኖ ተቀርጿል።የባዛንታይን ስህተት መቻቻል). የባይዛንታይን ሰራዊት ችግሮች ማራኪ መግለጫን በመተው ችግሩ እንደሚከተለው ሊቀረጽ ይችላል-አንዳንድ የአውታረ መረብ አንጓዎች ሆን ብለው ሊያዛቡ ከቻሉ የአውታረ መረብ ኖዶች እንዴት ወደ አንድ የተለመደ ውጤት ሊመጡ ይችላሉ። የBFT ችግርን ለመፍታት ነባር ስልተ ቀመሮች ከ1/3 ያነሱ አጭበርባሪዎች ካሉ አውታረ መረቡ በትክክል መስራት እንደሚችል ያሳያል። ለምን BFT ስምምነት በ Bitcoin አውታረ መረብ ላይ አልተተገበረም? PoW መጠቀም ለምን አስፈለገ? በርካታ ምክንያቶች አሉ፡-

  • BFT ከትንሽ ቋሚ የአንጓዎች ስብስብ ጋር በደንብ ይሰራል, ነገር ግን በአደባባይ blockchain ውስጥ የአንጓዎች ቁጥር ሊተነበይ የማይችል ነው, እና በተጨማሪ, ኖዶች በዘፈቀደ ሊበሩ እና ሊጠፉ ይችላሉ.
  • blockchain nodes እንዲጀምሩ ሰዎችን ማነሳሳት አስፈላጊ ነው. ይህንን ለማድረግ ሰዎች መሸለም አለባቸው። በ BFT ውስጥ ሽልማቱን ለመቀበል ምንም ነገር የለም ፣ ግን ሽልማቱ በፖው ውስጥ ያለው ምን እንደሆነ ለሁሉም ሰው ግልፅ ነው የማገጃ ሃሽ በማግኘት ሂደት ውስጥ በአቀነባባሪው ለሚበላው ኤሌክትሪክ።

ከPoW በተጨማሪ በዘመናዊ blockchains ውስጥ ጥቅም ላይ የሚውሉ ሌሎች በርካታ መግባባቶች አሉ ለምሳሌ፡-

  • PoS (የካስማ ማረጋገጫ) - በብሎክቼይን ላይ Hyperledger
  • DPoS (የውክልና ማረጋገጫ) - በ blockchain ላይ BitShares
  • የBFT ማሻሻያዎች፡ SBFT (ቀላል BFT) እና PBFT (ተግባራዊ BFT)፣ ለምሳሌ በብሎክቼይን Exonum

በPoS ስምምነት ላይ ትንሽ እንቆይ፣ ምክንያቱም... በግል blockchains ውስጥ በጣም የተስፋፋው ፖኤስ እና ዝርያዎቹ ናቸው። ለምን በግል? በአንድ በኩል, የ PoS ባህሪያት ከ PoW ጋር ሲወዳደሩ የተሻሉ ናቸው, ምክንያቱም የጋራ መግባባትን ለማግኘት አነስተኛ የኮምፒዩተር ግብዓቶች ያስፈልጋሉ, ይህም ማለት መረጃን ወደ blockchain የመፃፍ ፍጥነት ይጨምራል. ግን በሌላ በኩል, PoS ለማጭበርበር ተጨማሪ እድሎች አሉት, ስለዚህ ይህንን ለማስወገድ, በ blockchain ውስጥ ያሉ ሁሉም ተሳታፊዎች መታወቅ አለባቸው.

የፖኤስ ስምምነት በሂሳብ ውስጥ ባለው የገንዘብ መጠን ላይ በመመስረት ወደ blockchain ግብይቶች ሊጽፍ የሚችል መስቀለኛ መንገድ በመምረጥ ወይም ይልቁንም በሂሳቡ ውስጥ ሳይሆን በመያዣው ውስጥ ፣ ማለትም ። እንደ መያዣ ባለዎት ብዙ ገንዘቦች፣ አውታረ መረቡ ብሎክ ለመፃፍ ኖድዎን የመምረጥ እድሉ ይጨምራል። እገዳው ትክክል ካልሆነ የተቀማጭ ገንዘብ አይመለስም። ይህ ከማጭበርበር ይከላከላል. የሚከተሉት የPoS ልዩነቶች አሉ፡

  • የተወከለው ፖ.ኤስ.ኦ (DPoS) ስምምነት ተሳታፊዎችን ወደ “መራጮች” እና “አረጋጋጮች” ይከፋፍላቸዋል። የሳንቲም ባለቤቶች (የድምጽ መስጫ ተሳታፊዎች) በ blockchain ላይ ግብይቶችን ለማረጋገጥ እና ለመመዝገብ ስልጣናቸውን ለሌሎች ተሳታፊዎች በውክልና ይሰጣሉ። ስለዚህ አረጋጋጮች ሁሉንም የሂሳብ ስራዎችን ያከናውናሉ እና ለእሱ ሽልማት ይቀበላሉ, እና የድምጽ ሰጪዎች ተሳታፊዎች መገኘት የአረጋጋጮችን ታማኝነት ያረጋግጣል, ምክንያቱም በማንኛውም ጊዜ ሊለወጡ ይችላሉ.
  • LPoS (በሊዝ የተረጋገጠ የአክሲዮን ማረጋገጫ) ስምምነት ገንዘቦቻችሁን ለሌሎች አንጓዎች እንዲያከራዩ ይፈቅድልዎታል ስለዚህም ብሎኮችን የማረጋገጥ የተሻለ እድል አላቸው። ያ። በእውነተኛው የግብይት ማረጋገጫ ላይ ሳይሳተፉ ለግብይቶች ኮሚሽን መቀበል እና ማዕድን ማውጣት ይችላሉ።

ገና በሰፊው ጥቅም ላይ ያልዋሉ ሌሎች በርካታ መግባባቶች አሉ ፣ ለመረጃ ብቻ እዚህ እዘረዝራቸዋለሁ ፣ እና የስምምነት ስልተ ቀመሮች እራሳቸው አጠቃላይ እይታ ለምሳሌ በአንቀጹ ውስጥ ይገኛል- የጋራ ስምምነት ስልተ ቀመር በብሎክቼይን.

  • PoET (ያለፈበት ጊዜ ማረጋገጫ)
  • PoC (የአቅም ማረጋገጫ)
  • PoB (የመቃጠል ማረጋገጫ)
  • PoWight (የክብደት ማረጋገጫ)
  • PoA (የእንቅስቃሴ ማረጋገጫ) - PoW + PoS
  • ፖአይ (የአስፈላጊነት ማረጋገጫ)

የማገጃ ቼይን አስተማማኝነት እና መዘርጋት ሞዴሎች

ይፋዊ blockchain

ዘላቂነት። ሕዝባዊ ወይም ሌላ ስም ፍቃድ የሌለው blockchain ይህ ማንኛውም ሰው መረጃን እንዲያገናኝ እና እንዲያይ ወይም የራሳቸውን መስቀለኛ መንገድ እንዲያገናኙ በመፍቀድ የተገኘ ሲሆን መተማመን በPoW ስምምነት ላይ የተመሰረተ ነው።

የግል blockchain

የግል ወይም የግል የተፈቀደ blockchain. በእነዚህ blockchains ውስጥ፣ የተወሰነ የተሳታፊዎች ቡድን (ድርጅቶች ወይም ሰዎች) ብቻ መረጃ ማግኘት ይችላሉ። እንደነዚህ ያሉት እገዳዎች አጠቃላይ ጥቅምን ወይም ቅልጥፍናን ለመጨመር ዓላማ ባላቸው ድርጅቶች የተገነቡ ናቸው። የእነሱ አስተማማኝነት በተሳታፊዎች የጋራ ግቦች እና በPoS እና BFT የጋራ ስምምነት ስልተ ቀመሮች የተረጋገጠ ነው።

Blockchain ጥምረት

አሉ ህብረት ወይም ይፋዊ የተፈቀደ blockchain. እነዚህ ማንም ሰው ለማየት ሊያገናኘው የሚችላቸው blockchains ናቸው፣ ነገር ግን ተሳታፊው መረጃ ማከል ወይም መስቀለኛ መንገድን ከሌሎች ተሳታፊዎች ፈቃድ ጋር ማገናኘት ይችላል። እንደነዚህ ያሉ እገዳዎች በድርጅቶች የተገነቡት በደንበኞች ወይም በተጠቃሚዎች ወይም በህብረተሰቡ በአጠቃላይ እምነትን ለመጨመር ነው. እዚህ፣ አስተማማኝነት የሚገኘው በተሳታፊዎች እና በተመሳሳዩ የPoS እና BFT የጋራ ስምምነት ስልተ ቀመሮች መካከል መተማመን በመኖሩ ነው።

ስማርት ኮንትራት

ከ Bitcoin በኋላ የተተገበሩ አግድ ቼይንዎች በአንድ ዲግሪ ወይም በሌላ ብልጥ ኮንትራቶችን የመፈጸም ችሎታን ጨምረዋል። በመሰረቱ፣ ብልጥ ውል የፕሮግራም ኮድ ለመፈጸም የተቀመጠበት ግብይት ነው። በ Ethereum አውታረመረብ ላይ ያሉ ስማርት ኮንትራቶች በ EVM (Ethereum Virtual Machine) ውስጥ ይከናወናሉ. ብልጥ ውልን መፈፀም ለመጀመር በሌላ ግብይት በግልፅ መጀመር አለበት ወይም የአፈፃፀም ቅድመ ሁኔታዎች መሟላት አለባቸው። የስማርት ኮንትራቱ አፈፃፀም ውጤቶችም በብሎክቼይን ውስጥ ይመዘገባሉ ። ከ blockchain ውጭ መረጃን መቀበል ይቻላል ነገር ግን እጅግ በጣም ውስን ነው።

ብልጥ ውልን በመጠቀም ምን ዓይነት የንግድ ሥራ አመክንዮ ሊተገበር ይችላል? እንደ እውነቱ ከሆነ, ብዙ የለም, ለምሳሌ, ከ blockchain መረጃን በመጠቀም ሁኔታዎችን መፈተሽ, በእነዚህ ሁኔታዎች ላይ በመመስረት የዲጂታል ንብረቶችን ባለቤቶች መለወጥ, በ blockchain ውስጥ በቋሚ ማከማቻ ውስጥ መረጃን መመዝገብ. አመክንዮው በልዩ የከፍተኛ ደረጃ ቋንቋ Solidity ተተግብሯል።

ብልጥ ኮንትራቶችን በመጠቀም የሚተገበር የጥንታዊ የተግባር ምሳሌ ለ ICO ቶከኖች መስጠት ነው። ለምሳሌ፣ መጠነኛ የሆነ 500 AlexToken ለማውጣት ብልጥ ውልን ተግባራዊ አድርጌ ነበር። በ አገናኝ በ Etherscan ተገኝቷል

በ Solidity ቋንቋ ውስጥ የስማርት ውል ምንጭ ኮድ

pragma solidity ^0.4.23;
library SafeMath {
/**
* @dev Multiplies two numbers, throws on overflow.
**/
function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {
if (a == 0) {
return 0;
}
c = a * b;
assert(c / a == b);
return c;
}
/**
* @dev Integer division of two numbers, truncating the quotient.
**/
function div(uint256 a, uint256 b) internal pure returns (uint256) {
// assert(b > 0); // Solidity automatically throws when dividing by 0
/**
* @title SafeMath
* @dev Math operations with safety checks that throw on error
*/
// uint256 c = a / b;
// assert(a == b * c + a % b); // There is no case in which this doesn't hold
return a / b;
}
/**
* @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
**/
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
assert(b <= a);
return a - b;
}
/**
* @dev Adds two numbers, throws on overflow.
**/
function add(uint256 a, uint256 b) internal pure returns (uint256 c) {
c = a + b;
assert(c >= a);
return c;
}
}
/**
* @title Ownable
* @dev The Ownable contract has an owner address, and provides basic authorization control
* functions, this simplifies the implementation of "user permissions".
**/
contract Ownable {
address public owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/**
* @dev The Ownable constructor sets the original `owner` of the contract to the sender account.
**/
constructor() public {
owner = msg.sender;
}
/**
* @dev Throws if called by any account other than the owner.
**/
modifier onlyOwner() {
require(msg.sender == owner);
_;
}
/**
* @dev Allows the current owner to transfer control of the contract to a newOwner.
* @param newOwner The address to transfer ownership to.
**/
function transferOwnership(address newOwner) public onlyOwner {
require(newOwner != address(0));
emit OwnershipTransferred(owner, newOwner);
owner = newOwner;
}
}
/**
* @title ERC20Basic interface
* @dev Basic ERC20 interface
**/
contract ERC20Basic {
function totalSupply() public view returns (uint256);
function balanceOf(address who) public view returns (uint256);
function transfer(address to, uint256 value) public returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
}
/**
* @title ERC20 interface
* @dev see https://github.com/ethereum/EIPs/issues/20
**/
contract ERC20 is ERC20Basic {
function allowance(address owner, address spender) public view returns (uint256);
function transferFrom(address from, address to, uint256 value) public returns (bool);
function approve(address spender, uint256 value) public returns (bool);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
/**
* @title Basic token
* @dev Basic version of StandardToken, with no allowances.
**/
contract BasicToken is ERC20Basic {
using SafeMath for uint256;
mapping(address => uint256) balances;
uint256 totalSupply_;
/**
* @dev total number of tokens in existence
**/
function totalSupply() public view returns (uint256) {
return totalSupply_;
}
/**
* @dev transfer token for a specified address
* @param _to The address to transfer to.
* @param _value The amount to be transferred.
**/
function transfer(address _to, uint256 _value) public returns (bool) {
require(_to != address(0));
require(_value <= balances[msg.sender]);
balances[msg.sender] = balances[msg.sender].sub(_value);
balances[_to] = balances[_to].add(_value);
emit Transfer(msg.sender, _to, _value);
return true;
}
/**
* @dev Gets the balance of the specified address.
* @param _owner The address to query the the balance of.
* @return An uint256 representing the amount owned by the passed address.
**/
function balanceOf(address _owner) public view returns (uint256) {
return balances[_owner];
}
}
contract StandardToken is ERC20, BasicToken {
mapping (address => mapping (address => uint256)) internal allowed;
/**
* @dev Transfer tokens from one address to another
* @param _from address The address which you want to send tokens from
* @param _to address The address which you want to transfer to
* @param _value uint256 the amount of tokens to be transferred
**/
function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
require(_to != address(0));
require(_value <= balances[_from]);
require(_value <= allowed[_from][msg.sender]);
balances[_from] = balances[_from].sub(_value);
balances[_to] = balances[_to].add(_value);
allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
emit Transfer(_from, _to, _value);
return true;
}
/**
* @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
*
* Beware that changing an allowance with this method brings the risk that someone may use both the old
* and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
* race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
* https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
* @param _spender The address which will spend the funds.
* @param _value The amount of tokens to be spent.
**/
function approve(address _spender, uint256 _value) public returns (bool) {
allowed[msg.sender][_spender] = _value;
emit Approval(msg.sender, _spender, _value);
return true;
}
/**
* @dev Function to check the amount of tokens that an owner allowed to a spender.
* @param _owner address The address which owns the funds.
* @param _spender address The address which will spend the funds.
* @return A uint256 specifying the amount of tokens still available for the spender.
**/
function allowance(address _owner, address _spender) public view returns (uint256) {
return allowed[_owner][_spender];
}
/**
* @dev Increase the amount of tokens that an owner allowed to a spender.
*
* approve should be called when allowed[_spender] == 0. To increment
* allowed value is better to use this function to avoid 2 calls (and wait until
* the first transaction is mined)
* From MonolithDAO Token.sol
* @param _spender The address which will spend the funds.
* @param _addedValue The amount of tokens to increase the allowance by.
**/
function increaseApproval(address _spender, uint _addedValue) public returns (bool) {
allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
return true;
}
/**
* @dev Decrease the amount of tokens that an owner allowed to a spender.
*
* approve should be called when allowed[_spender] == 0. To decrement
* allowed value is better to use this function to avoid 2 calls (and wait until
* the first transaction is mined)
* From MonolithDAO Token.sol
* @param _spender The address which will spend the funds.
* @param _subtractedValue The amount of tokens to decrease the allowance by.
**/
function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) {
uint oldValue = allowed[msg.sender][_spender];
if (_subtractedValue > oldValue) {
allowed[msg.sender][_spender] = 0;
} else {
allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
}
emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
return true;
}
}
/**
* @title Configurable
* @dev Configurable varriables of the contract
**/
contract Configurable {
uint256 public constant cap = 1000000000*10**18;
uint256 public constant basePrice = 100*10**18; // tokens per 1 ether
uint256 public tokensSold = 0;
uint256 public constant tokenReserve = 500000000*10**18;
uint256 public remainingTokens = 0;
}
/**
* @title CrowdsaleToken 
* @dev Contract to preform crowd sale with token
**/
contract CrowdsaleToken is StandardToken, Configurable, Ownable {
/**
* @dev enum of current crowd sale state
**/
enum Stages {
none,
icoStart, 
icoEnd
}
Stages currentStage;
/**
* @dev constructor of CrowdsaleToken
**/
constructor() public {
currentStage = Stages.none;
balances[owner] = balances[owner].add(tokenReserve);
totalSupply_ = totalSupply_.add(tokenReserve);
remainingTokens = cap;
emit Transfer(address(this), owner, tokenReserve);
}
/**
* @dev fallback function to send ether to for Crowd sale
**/
function () public payable {
require(currentStage == Stages.icoStart);
require(msg.value > 0);
require(remainingTokens > 0);
uint256 weiAmount = msg.value; // Calculate tokens to sell
uint256 tokens = weiAmount.mul(basePrice).div(1 ether);
uint256 returnWei = 0;
if(tokensSold.add(tokens) > cap){
uint256 newTokens = cap.sub(tokensSold);
uint256 newWei = newTokens.div(basePrice).mul(1 ether);
returnWei = weiAmount.sub(newWei);
weiAmount = newWei;
tokens = newTokens;
}
tokensSold = tokensSold.add(tokens); // Increment raised amount
remainingTokens = cap.sub(tokensSold);
if(returnWei > 0){
msg.sender.transfer(returnWei);
emit Transfer(address(this), msg.sender, returnWei);
}
balances[msg.sender] = balances[msg.sender].add(tokens);
emit Transfer(address(this), msg.sender, tokens);
totalSupply_ = totalSupply_.add(tokens);
owner.transfer(weiAmount);// Send money to owner
}
/**
* @dev startIco starts the public ICO
**/
function startIco() public onlyOwner {
require(currentStage != Stages.icoEnd);
currentStage = Stages.icoStart;
}
/**
* @dev endIco closes down the ICO 
**/
function endIco() internal {
currentStage = Stages.icoEnd;
// Transfer any remaining tokens
if(remainingTokens > 0)
balances[owner] = balances[owner].add(remainingTokens);
// transfer any remaining ETH balance in the contract to the owner
owner.transfer(address(this).balance); 
}
/**
* @dev finalizeIco closes down the ICO and sets needed varriables
**/
function finalizeIco() public onlyOwner {
require(currentStage != Stages.icoEnd);
endIco();
}
}
/**
* @title LavevelToken 
* @dev Contract to create the Lavevel Token
**/
contract AlexToken is CrowdsaleToken {
string public constant name = "AlexToken";
string public constant symbol = "ALT";
uint32 public constant decimals = 18;
}

እና አውታረ መረቡ እንደሚያየው የሁለትዮሽ ውክልና

60806040526000600355600060045533600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600560146101000a81548160ff021916908360028111156200006f57fe5b0217905550620001036b019d971e4fe8401e74000000600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200024a6401000000000262000b1d179091906401000000009004565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620001986b019d971e4fe8401e740000006001546200024a6401000000000262000b1d179091906401000000009004565b6001819055506b033b2e3c9fd0803ce8000000600481905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6b019d971e4fe8401e740000006040518082815260200191505060405180910390a362000267565b600081830190508281101515156200025e57fe5b80905092915050565b611cb880620002776000396000f300608060405260043610610112576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146104c7578063095ea7b31461055757806318160ddd146105bc57806323b872dd146105e7578063313ce5671461066c578063355274ea146106a3578063518ab2a8146106ce57806366188463146106f957806370a082311461075e57806389311e6f146107b55780638da5cb5b146107cc578063903a3ef61461082357806395d89b411461083a578063a9059cbb146108ca578063bf5839031461092f578063c7876ea41461095a578063cbcb317114610985578063d73dd623146109b0578063dd62ed3e14610a15578063f2fde38b14610a8c575b60008060008060006001600281111561012757fe5b600560149054906101000a900460ff16600281111561014257fe5b14151561014e57600080fd5b60003411151561015d57600080fd5b600060045411151561016e57600080fd5b3494506101a7670de0b6b3a764000061019968056bc75e2d6310000088610acf90919063ffffffff16565b610b0790919063ffffffff16565b9350600092506b033b2e3c9fd0803ce80000006101cf85600354610b1d90919063ffffffff16565b111561024c576101f66003546b033b2e3c9fd0803ce8000000610b3990919063ffffffff16565b915061022e670de0b6b3a764000061022068056bc75e2d6310000085610b0790919063ffffffff16565b610acf90919063ffffffff16565b90506102438186610b3990919063ffffffff16565b92508094508193505b61026184600354610b1d90919063ffffffff16565b6003819055506102886003546b033b2e3c9fd0803ce8000000610b3990919063ffffffff16565b6004819055506000831115610344573373ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f193505050501580156102dd573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35b610395846000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b1d90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a361045184600154610b1d90919063ffffffff16565b600181905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc869081150290604051600060405180830381858888f193505050501580156104bf573d6000803e3d6000fd5b505050505050005b3480156104d357600080fd5b506104dc610b52565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561051c578082015181840152602081019050610501565b50505050905090810190601f1680156105495780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561056357600080fd5b506105a2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b8b565b604051808215151515815260200191505060405180910390f35b3480156105c857600080fd5b506105d1610c7d565b6040518082815260200191505060405180910390f35b3480156105f357600080fd5b50610652600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c87565b604051808215151515815260200191505060405180910390f35b34801561067857600080fd5b50610681611041565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b3480156106af57600080fd5b506106b8611046565b6040518082815260200191505060405180910390f35b3480156106da57600080fd5b506106e3611056565b6040518082815260200191505060405180910390f35b34801561070557600080fd5b50610744600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061105c565b604051808215151515815260200191505060405180910390f35b34801561076a57600080fd5b5061079f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112ed565b6040518082815260200191505060405180910390f35b3480156107c157600080fd5b506107ca611335565b005b3480156107d857600080fd5b506107e16113eb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561082f57600080fd5b50610838611411565b005b34801561084657600080fd5b5061084f6114ab565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561088f578082015181840152602081019050610874565b50505050905090810190601f1680156108bc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156108d657600080fd5b50610915600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506114e4565b604051808215151515815260200191505060405180910390f35b34801561093b57600080fd5b50610944611703565b6040518082815260200191505060405180910390f35b34801561096657600080fd5b5061096f611709565b6040518082815260200191505060405180910390f35b34801561099157600080fd5b5061099a611716565b6040518082815260200191505060405180910390f35b3480156109bc57600080fd5b506109fb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611726565b604051808215151515815260200191505060405180910390f35b348015610a2157600080fd5b50610a76600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611922565b6040518082815260200191505060405180910390f35b348015610a9857600080fd5b50610acd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119a9565b005b600080831415610ae25760009050610b01565b8183029050818382811515610af357fe5b04141515610afd57fe5b8090505b92915050565b60008183811515610b1457fe5b04905092915050565b60008183019050828110151515610b3057fe5b80905092915050565b6000828211151515610b4757fe5b818303905092915050565b6040805190810160405280600981526020017f416c6578546f6b656e000000000000000000000000000000000000000000000081525081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610cc457600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610d1157600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610d9c57600080fd5b610ded826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b3990919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e80826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b1d90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f5182600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b3990919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b601281565b6b033b2e3c9fd0803ce800000081565b60035481565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083111561116d576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611201565b6111808382610b3990919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561139157600080fd5b60028081111561139d57fe5b600560149054906101000a900460ff1660028111156113b857fe5b141515156113c557600080fd5b6001600560146101000a81548160ff021916908360028111156113e457fe5b0217905550565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561146d57600080fd5b60028081111561147957fe5b600560149054906101000a900460ff16600281111561149457fe5b141515156114a157600080fd5b6114a9611b01565b565b6040805190810160405280600381526020017f414c54000000000000000000000000000000000000000000000000000000000081525081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561152157600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561156e57600080fd5b6115bf826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b3990919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611652826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b1d90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60045481565b68056bc75e2d6310000081565b6b019d971e4fe8401e7400000081565b60006117b782600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b1d90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a0557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611a4157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6002600560146101000a81548160ff02191690836002811115611b2057fe5b021790555060006004541115611c0a57611ba5600454600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b1d90919063ffffffff16565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050158015611c89573d6000803e3d6000fd5b505600a165627a7a723058205bbef016cc7699572f944871cb6f05e69915ada3a92a1d9f03a3fb434aac0c2b0029

ስለ ብልጥ ኮንትራቶች ተጨማሪ ዝርዝሮች በአንቀጹ ውስጥ ይገኛሉ- በ Ethereum ውስጥ ብልጥ ኮንትራቶች ምንድን ናቸው?.

መደምደሚያ

ዘመናዊ blockchains የተገነቡባቸውን ቴክኖሎጂዎች እና እርስ በርስ እንዴት እንደሚገናኙ ዘርዝረናል. አሁን የትኞቹ ችግሮች በብሎክቼይን ሊፈቱ እንደሚችሉ እና የትኞቹ መፍትሄዎች በተሻለ ሁኔታ ውጤታማ እንደማይሆኑ እንፍጠር። ስለዚህ, blockchain መጠቀም አስፈላጊ ከሆነ:

  • ግብይቶች በታመነ አካባቢ ውስጥ ይከናወናሉ;
  • የአማላጆች ኮሚሽን መኖሩ የተሳታፊዎችን ህይወት አያባብሰውም;
  • ተሳታፊዎች እንደ ዲጂታል ንብረቶች ሊወከሉ የሚችሉ ንብረቶች የላቸውም;
  • በዲጂታል ንብረቶች ውስጥ ምንም ስርጭት የለም, ማለትም. እሴቱ በባለቤትነት የተያዘ ወይም የሚቀርበው በአንድ ተሳታፊ ብቻ ነው።

ለወደፊቱ blockchain ምን ይይዛል? አሁን መገመት የምንችለው ስለ blockchain ቴክኖሎጂ ልማት ሊሆኑ በሚችሉ መንገዶች ላይ ብቻ ነው-

  • Blockchain እንደ SQL ወይም NoSQL የተወሰኑ የችግሮችን መጠን ለመፍታት እንደ አንድ የተለመደ የመረጃ ቋት ቴክኖሎጂ ይሆናል።
  • ኤችቲቲፒ ለኢንተርኔት እንደሆነ ሁሉ Blockchain ሰፊ ፕሮቶኮል ይሆናል።
  • Blockchain በፕላኔቷ ላይ ለአዲሱ የገንዘብ እና የፖለቲካ ስርዓት መሠረት ይሆናል!

በሚቀጥለው ክፍል ምን ዓይነት blockchains እንዳሉ እና ለምን በተለያዩ ኢንዱስትሪዎች ውስጥ ጥቅም ላይ እንደሚውሉ እንመለከታለን.

ይህ ገና ጅማሬው ነው!

ምንጭ: hab.com

አስተያየት ያክሉ