Oracle тасодуфӣ дар асоси имзои рақамӣ дар blockchain

Аз идея то татбиқ: мо схемаи мавҷудаи каҷи эллиптикии имзои рақамиро тавре тағир медиҳем, ки он детерминистӣ бошад ва дар асоси он мо функсияҳоро барои ба даст овардани рақамҳои псевдо-тасодуфӣ дар дохили blockchain тафтиш мекунем.

Oracle тасодуфӣ дар асоси имзои рақамӣ дар blockchain

Idea

Дар тирамоҳи соли 2018 блокчейни мавҷҳо дохил карда шуд аввалин шартномаҳои интеллектуалӣ фаъол шуданд, савол дар бораи имкони-яти ба даст овардан ба миён омад рақамҳои псевдораналӣшумо метавонед бовар кунед.

Дар ин савол ҳайрон шуда, ман ниҳоят ба хулосае омадам: ҳама гуна blockchain ҳуҷайра аст; дар системаи пӯшида манбаи боэътимоди энтропияро ба даст овардан ғайриимкон аст.

Аммо ба ман як идея писанд омад: агар oracle тасодуфӣ маълумоти корбарро бо алгоритми детерминистӣ имзо мекунад, пас корбар ҳамеша метавонад бо истифода аз калиди умумӣ чунин имзоро тафтиш кунад ва боварӣ ҳосил кунад, ки арзиши натиҷавӣ беназир аст. Оракл, новобаста аз он ки чӣ қадар мехоҳад, ҳеҷ чизро тағир дода наметавонад; алгоритм натиҷаи якхела меорад. Аслан, корбар натиҷаро сабт мекунад, аммо то он даме, ки oracle онро нашр накунад, онро намедонад. Маълум мешавад, ки шумо ба oracle тамоман бовар карда наметавонед, аммо натиҷаи кори онро санҷед. Пас, дар сурати бомуваффақият тафтиш, чунин имзо метавонад манбаи энтропия барои рақами псевдорандом ҳисобида шавад.

Платформаи blockchain Waves схемаи имзоро истифода мебарад EdDSA интихоб Ed25519. Дар ин схема, имзо аз арзишҳои R ва S иборат аст, ки дар он R аз арзиши тасодуфӣ вобаста аст ва S аз рӯи паёми имзошуда, калиди хусусӣ ва ҳамон рақами тасодуфӣ бо R ҳисоб карда мешавад. Маълум мешавад, ки барои як паёми корбар ягон вобастагии беназир вуҷуд надорад.

Аён аст, ки дар шакли софи худ, чунин имзо наметавонад ҳамчун манбаи рақамҳои псевдо-тасодуфӣ истифода шавад, зеро он ғайриоддӣ аст ва аз ин рӯ, метавонад тавассути oracle ба осонӣ идора карда шавад.

Аммо, чунон ки маълум шуд, онро муайян кардан мумкин аст.

Умедҳои бузург доштам Функсияи тасодуфии тафтишшаванда (VRF), аммо пас аз омӯзиши сахтафзор, ман маҷбур будам, ки ин интихобро тарк кунам. Гарчанде ки VRF версияи детерминистии имзо ва исботи онро пешниҳод мекунад, дар алгоритм ҷои аҷибе мавҷуд аст, ки сӯрохи сиёҳро барои коркарди oracle мекушояд. Маҳз, ҳангоми ҳисоб кардани арзиши k (фасли 5.1) калиди махфӣ истифода мешавад, ки барои корбар номаълум боқӣ мемонад, яъне корбар дурустии ҳисобкунии k-ро тафтиш карда наметавонад, ин маънои онро дорад, ки oracle метавонад ҳар як арзиши к-ро истифода барад ва дар айни замон базаи мукотибаҳоро нигоҳ дорад. аз k ва маълумоти имзошуда барои ҳамеша тавони дубора ҳисоб кардани натиҷае, ки аз нуқтаи назари VRF дуруст аст. Агар шумо расмеро дар асоси VRF бе ифшои калиди махфӣ бинед, шумо метавонед оқилона бошед: зарурати ошкор кардани калидро нишон диҳед ё онро аз ҳисоби k хориҷ кунед, пас калиди хусусӣ ҳангоми пайдо шудани имзои аввал ба таври худкор ошкор мешавад. . Умуман, тавре ки аллакай зикр гардид, як нақшаи аҷиб барои oracle тасодуфӣ.

Пас аз каме андеша ва ҷалби дастгирии таҳлилгарони маҳаллӣ, нақшаи кории VECRO ба вуҷуд омад.

VECRO ихтисораи Verfiable Elliptic Curve Random Oracle аст, ки ба забони русӣ маънои оракли тасодуфии тафтишшаванда дар каҷҳои эллиптикиро дорад.

Ҳама чиз хеле оддӣ шуд; барои ноил шудан ба детерминизм, шумо бояд арзиши R -ро пеш аз пайдо шудани паёми имзошуда ислоҳ кунед. Агар R содир шуда бошад ва як қисми паёми имзошаванда бошад, ки минбаъд тасдиқи R дар паёми имзошаванда содир карда мешавад, арзиши S ба таври нотакрор тавассути паёми корбар муайян карда мешавад ва аз ин рӯ метавонад ҳамчун манбаи рақамҳои псевдортасодуфӣ истифода шавад.

Дар чунин схема, муҳим нест, ки R чӣ гуна собит шудааст; ин масъулияти oracle боқӣ мемонад. Муҳим он аст, ки S аз ҷониби корбар ба таври ягона муайян карда мешавад, аммо арзиши он то он даме, ки oracle онро нашр накунад, маълум нест. Ҳар чизе ки мо мехостем!

Дар бораи R собит сухан ронда, қайд кунед, ки такроран истифодашуда Р ҳангоми имзои паёмҳои гуногун, он калиди хусусиро дар схемаи EdDSA ба таври беназир ошкор мекунад. Барои соҳиби oracle хеле муҳим мегардад, ки имкони истифодаи дубораи R барои имзои паёмҳои корбарони гуногунро аз байн барад. Яъне, бо ҳама гуна дасткорӣ ё созиш, oracle ҳамеша хатари аз даст додани калиди хусусии худро хоҳад дошт.

Дар маҷмӯъ, oracle бояд ба корбарон ду функсия пешниҳод кунад: оғозсозӣ, ки арзиши R-ро ислоҳ мекунад ва имзо, ки арзиши S-ро бармегардонад. Дар ин ҳолат, ҷуфти R, S имзои муқаррарии тафтишшавандаи паёми корбарест, ки дорои як собит аст. арзиши R ва маълумоти корбар худсарона.

Метавон баҳс кард, ки ин схема барои blockchain чизи оддӣ нест схемаи васеъ кардани ухдадорй. Аслан, ҳа, ин вай аст. Аммо якчанд нозукиҳо вуҷуд доранд. Аввалан, oracle ҳамеша дар ҳама амалиётҳо бо як калид кор мекунад, масалан, ин барои истифода дар шартномаҳо қулай аст. Сониян, хатари аз даст додани калиди махфии oracle вуҷуд дорад, агар он нодуруст рафтор кунад, масалан, oracle ба шумо имкон медиҳад, ки намунаҳои натиҷаро созед, пас барои дарёфти калиди хусусӣ ва гирифтани пурраи он танҳо ду санҷиш гузаронед кифоя аст. дастрасӣ ба ҳамён. Сеюм, имзое, ки дар blockchain аслӣ санҷида мешавад ва манбаи тасодуфӣ аст, зебо аст.

Дар тӯли шаш моҳ идеяи татбиқ дар сарам ҷунбида буд, то даме ки дар ниҳоят ҳавасмандӣ дар шакл пайдо шуд грант аз Waves Labs. Бо гранти калон масъулияти бузург ба миён меояд, бинобар ин лоиҳа он ҷо хоҳад буд!

Реализация

Ҳамин тавр, дар ин лоиҳа VECRO амалӣ карда шуд дар блокчейни мавҷҳо дар ҳолати дархост-ҷавоб бо истифода аз транзаксияҳои интиқол байни корбар ва oracle. Ҳамзамон, дар ҳисоби oracle скрипт насб карда мешавад, ки корро ба таври қатъӣ мувофиқи мантиқи дар боло тавсифшуда назорат мекунад. Муомилоти Oracle санҷида мешавад ва тамоми занҷири ҳамкории корбар барқарор карда мешавад. Ҳамаи чаҳор транзаксияҳо дар тасдиқи арзиши ниҳоӣ иштирок мекунанд; шартномаи интеллектуалӣ онҳоро бо риштаи санҷиши қатъӣ муттаҳид мекунад, ҳама арзишҳоро зина ба зина тафтиш мекунад ва барои ҳеҷ гуна дасткорӣ ҷой намегузорад.

Бори дигар, ки онро як сӯ гузошта, равшантар кунад. Оракл на танхо аз руи схемаи пешниходшуда кор мекунад. Кори он пурра дар сатҳи blockchain аз ҷониби муқарраршуда назорат карда мешавад зич бо шартномаи оқилона. Ба тарафи чап қадам занед ва транзаксия танҳо ба анҷом нарасидааст. Ҳамин тавр, агар транзаксия ба blockchain дохил карда шавад, корбар ҳатто лозим нест, ки чизеро тафтиш кунад; садҳо гиреҳҳои шабака аллакай ҳама чизро барои ӯ тафтиш кардаанд.

Дар айни замон, як VECRO дар шабакаи асосии Waves кор мекунад (шумо метавонед худатонро идора кунед, ин мушкил нест, танҳо ба мисоли конфигуратсия назар андозед). Рамзи ҷорӣ дар PHP кор мекунад (on WavesKit, дар бораи он Ман пештар ба шумо гуфтам).

Барои истифодаи хидмати oracle шумо бояд:

  • ислоҳ R;
    • Ба тахаллуси oracle init@vecr ҳадди аққал 0.005 мавҷ фиристед;
    • Рамзи R-ро дар майдони замима ҳангоми интиқоли 1 R-vecr аломати аз oracle ба корбар қабул кунед;
  • Имзо гиред;
    • Камаш 0.005 мавҷро ба тахаллуси oracle random@vecr фиристед ва инчунин БОЯД дар майдони замима рамзи R-коди қаблан гирифташуда ва маълумоти иловагии корбарро нишон диҳед;
    • Рамзи S-ро дар майдони замима ҳангоми интиқоли 1 S-vecr аломати аз oracle ба корбар қабул кунед;
  • Рамзи S-ро ҳамчун манбаи рақами псевдо-тасодуфӣ истифода баред.

Нозукиҳои татбиқи ҷорӣ:

  • Мавҷҳое, ки ба oracle фиристода мешаванд, ҳамчун комиссия барои муомилоти баргардонидан ба корбар, то ҳадди аксар 1 мавҷ истифода мешаванд;
  • Рамзи R ин пайвастагии як байти аломати "R" ва арзиши R-и 32-байтии base58-рамзшуда мебошад;
  • Рамзи R дар замима бояд аввал бошад, маълумоти корбар пас аз R-код меояд;
  • Рамзи S пайвастшавии як байти аломати 'S' ва арзиши рамзгузории 32-байтии base58 S мебошад;
  • S натиҷаи тақсими модул мебошад, бинобар ин шумо S-ро ҳамчун рақами псевдортасодуфии 256-бит истифода карда наметавонед (ин рақамро метавон ҳадди аксар рақами псевдортасодуфии 252-бит ҳисоб кард);
  • Варианти соддатарин ин истифодаи hash-коди S ҳамчун рақами псевдо-тасодуфӣ мебошад.

Намунаи гирифтани рамзи S:

Аз нуқтаи назари техникӣ, oracle ба кор комилан омода аст, шумо метавонед онро бехатар истифода баред. Аз нуқтаи назари истифодаи корбари оддӣ, набудани интерфейси графикии мувофиқ вуҷуд дорад, ки ин бояд интизор шавад.

Ман бо хурсандӣ ба саволҳо ҷавоб медиҳам ва шарҳҳоро қабул мекунам, ташаккур.

Манбаъ: will.com

Илова Эзоҳ