Nā helu kuhi a me nā pūnaewele decentralized: hoʻokō

Hōʻike

function getAbsolutelyRandomNumer() {
        return 4; // returns absolutely random number!
}

E like me ka manaʻo o kahi cipher ikaika loa mai ka cryptography, ʻoiaʻiʻo "Publicly Verifiable Random Beacon" (ma hope aʻe ʻo PVRB) e hoʻāʻo wale e hoʻokokoke i ka hoʻolālā kūpono, no ka mea i loko o nā pūnaewele maoli ʻaʻole ia e pili i kona ʻano maʻemaʻe: pono e ʻae pololei i ka mea hoʻokahi, pono e nui nā pōʻai, a ʻo nā memo āpau e wikiwiki loa a hāʻawi mau ʻia. ʻOiaʻiʻo, ʻaʻole kēia ka hihia ma nā pūnaewele maoli. No laila, i ka hoʻolālā ʻana i nā PVRBs no nā hana kikoʻī i nā blockchains hou, me ka hiki ʻole ke hoʻomalu i ka hopena randomness a me ka ikaika cryptographic, ʻoi aku ka nui o nā pilikia kūkulu hale a me nā ʻenehana.

No ka PVRB, ʻo ka blockchain ponoʻī kahi mea kamaʻilio e pili ana i nā memo = nā kālepa. ʻAe kēia iā ʻoe e hoʻokaʻawale ʻokoʻa mai nā pilikia pūnaewele, ka lawe ʻole ʻana i nā memo, nā pilikia me ka middleware - ua manaʻo ʻia kēia mau pilikia āpau e ka pūnaewele decentralized, a ʻo kāna waiwai nui no PVRB ʻo ka hiki ʻole ke hoʻopau a hōʻino paha i kahi kālepa i hoʻouna mua ʻia - hana kēia. ʻaʻole e ʻae i nā mea komo e hōʻole i ke komo ʻana i ka protocol, ke ʻole lākou i hoʻokō i kahi hoʻouka kūleʻa i ka ʻae ʻana. Ua ʻae ʻia kēia pae o ka palekana, no laila e kū pono ʻo PVRB i ka hoʻopili ʻana e nā poʻe komo e like me ke ʻano o ke kaulahao blockchain nui. Eia kekahi, hōʻike kēia i ka PVRB pono e lilo i ʻāpana o ka ʻae ʻana inā ʻae ka pūnaewele i ka blockchain nui, ʻoiai inā ʻae pū ia i ka hopena kūpono wale nō. A i ʻole, ʻo ka PVRB kahi protocol kūʻokoʻa i hoʻokō ʻia e kahi ʻaelike akamai e hana like ʻole e pili ana i ka blockchain a me nā poloka. Loaʻa i nā ʻano ʻelua ko lākou mau pono a me nā hemahema, a ʻo ka koho ma waena o lākou he mea koʻikoʻi ʻole.

ʻElua ala e hoʻokō ai i ka PVRB

E wehewehe mākou i nā koho ʻelua no ka hoʻokō ʻana i ka PVRB - ka mana kūʻokoʻa, e hana ana me ka hoʻohana ʻana i kahi ʻaelike akamai kūʻokoʻa i ka blockchain, a me ka mana i hui pū ʻia, i kūkulu ʻia i loko o ka protocol, e like me ka ʻae ʻana o ka pūnaewele i ka blockchain a me ka nā kālepa e hoʻokomo. Ma nā hihia a pau, e ʻōlelo wau i nā ʻenekini blockchain kaulana: Ethereum, EOS, a me nā mea like me lākou ma ke ʻano o ka hoʻokipa ʻana a me ka hana ʻana i nā ʻaelike akamai.

ʻaelike kūʻokoʻa

Ma kēia mana, ʻo PVRB kahi ʻaelike akamai e ʻae i nā hana a nā mea hana maʻamau (ma hope i kapa ʻia ʻo RP), kaʻina hana iā lākou, hoʻohui i nā hopena, a, ma muli o ka hopena, hiki i kahi waiwai i hiki i kekahi mea hoʻohana ke loaʻa mai kēia ʻaelike. ʻAʻole hiki ke mālama pono ʻia kēia waiwai i loko o ka ʻaelike, akā e hōʻike wale ʻia e ka ʻikepili kahi e loaʻa ai ka waiwai hoʻokahi a hoʻokahi wale nō o ka hopena. Ma kēia papahana, he mea hoʻohana nā RP i ka blockchain, a hiki i kekahi ke ʻae ʻia e komo i ke kaʻina hana.

He maikaʻi ke koho me ka ʻaelike kūʻokoʻa:

  • portability (hiki ke huki ʻia nā ʻaelike mai blockchain a blockchain)
  • maʻalahi o ka hoʻokō ʻana a me ka hoʻāʻo ʻana (maʻalahi nā ʻaelike e kākau a hoʻāʻo)
  • ʻoluʻolu i ka hoʻokō ʻana i nā hoʻolālā hoʻokele waiwai (maʻalahi ke hana i kāu hōʻailona ponoʻī, nona ka loiloi i nā kumu o PVRB)
  • hiki ke hoʻomaka i nā blockchains e hana nei

He mau hemahema kekahi:

  • nā palena ikaika i ka hoʻopili ʻana i nā kumuwaiwai, ka nui o ke kālepa a me ka waiho ʻana (ma nā huaʻōlelo ʻē aʻe, cpu/mem/io)
  • kaohi ʻana i nā hana i loko o ka ʻaelike (ʻaʻole i loaʻa nā ʻōlelo aʻoaʻo, paʻakikī ke hoʻopili i nā hale waihona puke waho)
  • hiki ʻole ke hoʻonohonoho i ka leka ʻoi aku ka wikiwiki ma mua o nā kālepa i hoʻokomo ʻia i loko o ka blockchain

He kūpono kēia koho no ka hoʻokō ʻana i kahi PVRB e pono e holo ma kahi pūnaewele i loaʻa, ʻaʻole i loko o ka cryptography paʻakikī a ʻaʻole koi i ka nui o nā pilina.

Hoʻohui like ʻia

Ma kēia mana, hoʻokō ʻia ka PVRB i loko o ke code node blockchain, i kūkulu ʻia a i ʻole e holo like me ka hoʻololi ʻana o nā memo ma waena o nā node blockchain. Ua kākau pololei ʻia nā hopena o ka protocol i loko o nā poloka i hana ʻia, a hoʻouna ʻia nā memo protocol ma luna o ka pūnaewele p2p ma waena o nā nodes. Ma muli o ka hopena o ka protocol i nā helu e kākau ʻia i loko o nā poloka, pono e loaʻa i ka ʻupena ka manaʻo ma luna o lākou. ʻO ia ke ʻano o nā memo PVRB, e like me nā kālepa, pono e hōʻoia ʻia e nā nodes a hoʻokomo ʻia i loko o nā poloka i hiki i kēlā me kēia hui pūnaewele ke hōʻoia i ka hoʻokō ʻana i ka protocol PVRB. ʻO kēia ke alakaʻi 'akomi iā mākou i ka hopena maopopo - ināʻae ka pūnaewele i kaʻaelike e pili ana i kahi poloka a me nā hana i loko, a laila ponoʻo PVRB i kahi o kaʻaelike, aʻaʻole kahi protocol kū hoʻokahi. Inā ʻaʻole, hiki ke kūpono i kahi poloka mai kahi manaʻo ʻae, akā ʻaʻole i hahai ʻia ka protocol PVRB, a mai ka manaʻo o ka PVRB ʻaʻole hiki ke ʻae ʻia ka poloka. No laila, inā kohoʻia ka koho "consensus-integrated", lilo ka PVRB i mea nui o kaʻaelike.

I ka wehewehe ʻana i nā hoʻokō PVRB ma ka pae ʻikepili pūnaewele, ʻaʻole hiki i kekahi ke pale i nā pilikia o ka hopena. ʻO ka hope kahi hana i hoʻohana ʻia i nā ʻaelike hoʻoholo e laka i loko o kahi poloka (a me ke kaulahao e alakaʻi ana i laila) ka mea hope loa a ʻaʻole loa e hoʻolei ʻia, ʻoiai ke kū ʻia kahi ʻala like. No ka laʻana, ma Bitcoin ʻaʻohe mea like - inā ʻoe e hoʻolaha i kahi kaulahao o ka paʻakikī nui, e hoʻololi ia i kahi mea liʻiliʻi liʻiliʻi, me ka nānā ʻole i ka lōʻihi o nā kaulahao. A ma EOS, no ka laʻana, ʻo nā mea hope loa ka mea i kapa ʻia ʻo Last Irreversible Blocks, i ʻike ʻia ma ka awelika o kēlā me kēia 432 poloka (12*21 + 12*15, pre-vote + pre-commit). Ke kali nei kēia kaʻina hana no ka 2/3 o nā mea hana poloka (ma hope i kapa ʻia ʻo BP). Ke ʻike ʻia nā ʻōpala i ʻoi aku ka nui ma mua o ka LIB hope loa, e hoʻolei wale ʻia lākou. Hiki i kēia ʻano hana ke hōʻoiaʻiʻo ua hoʻokomo ʻia ke kālepa i loko o ka blockchain a ʻaʻole loa e hoʻohuli ʻia i hope, ʻoiai nā kumuwaiwai i loaʻa i ka mea hoʻouka. Eia kekahi, ʻo nā poloka hope loa he mau poloka i hoʻopaʻa ʻia e 2/3 BP ma Hyperledger, Tendermint a me nā ʻaelike pili pBFT. Eia kekahi, he mea kūpono ke hana i kahi protocol no ka hōʻoia ʻana i ka hopena i mea hoʻohui i ka ʻaelike, no ka mea hiki ke hana like me ka hana a me ka hoʻolaha ʻana i nā poloka. Eia kahi maikaʻi 'atikala e pili ana i ka hopena ma Ethereum.

He mea koʻikoʻi loa ka hopena no nā mea hoʻohana, ka mea me ka ʻole e loaʻa iā lākou iho nā mea i hōʻeha ʻia i kahi hoʻouka kaua "pālua", kahi e "paʻa" ai ʻo BP, a hoʻolaha iā lākou ma hope o ka ʻike ʻana o ka pūnaewele i kahi kālepa maikaʻi. Inā ʻaʻohe hopena, a laila hoʻololi ka ʻōpala i paʻi ʻia i ka poloka me kahi kālepa "maikaʻi" me kahi ʻē aʻe, mai kahi ʻōpala "ʻino", kahi e hoʻoili ʻia ai nā kālā like i ka helu o ka mea hoʻouka. I ka hihia o PVRB, ʻoi aku ka paʻakikī o nā koi no ka hoʻopau ʻana, ʻoiai ke kūkulu ʻana i nā ʻōpala no ka PVRB ʻo ia ka manawa o ka mea hoʻouka e hoʻomākaukau ai i nā koho koho i mea e hoʻolaha ai i ka mea ʻoi aku ka maikaʻi, a ʻo ka palena ʻana i ka manawa o kahi hoʻouka kaua he hoʻonā maikaʻi.

No laila, ʻo ka koho maikaʻi loa ʻo ka hoʻohui ʻana i ka PVRB a me ka hopena i hoʻokahi protocol - a laila ʻo ka block finalized = hoʻopau ʻole ʻia, a ʻo ia ka mea e pono ai mākou e loaʻa. I kēia manawa, e loaʻa i nā mea pāʻani ke koho paʻa i loko o N kekona, a hiki ke hōʻoia ʻaʻole hiki ke ʻōwili hou a hoʻokani hou paha.

He maikaʻi ke koho i hui pū ʻia:

  • ka hiki ke hoʻokō asynchronous e pili ana i ka hana ʻana o nā poloka - hana ʻia nā poloka e like me ka mea maʻamau, akā i ka like me kēia, hiki i ka protocol PVRB ke hana, ʻaʻole ia e hana i ka randomness no kēlā me kēia poloka.
  • ka hiki ke hoʻokō i ka cryptography koʻikoʻi, me ka ʻole o nā kaohi i kau ʻia ma nā ʻaelike akamai
  • ka hiki ke hoʻonohonoho i ka hoʻololi ʻana o nā memo ma mua o nā hana i hoʻokomo ʻia i loko o ka blockchain, no ka laʻana, hiki i kahi hapa o ka protocol ke hana ma waena o nā nodes me ka ʻole o ka hāʻawi ʻana i nā leka ma ka pūnaewele.

He mau hemahema kekahi:

  • Paʻakikī i ka hoʻāʻo ʻana a me ka hoʻomohala ʻana - pono ʻoe e hoʻohālike i nā hewa o ka pūnaewele, nā nodes nalo, nā ʻōpala paʻakikī pūnaewele.
  • Pono nā hewa hoʻokō i kahi hardfork pūnaewele

He kuleana ko nā ʻano ʻelua o ka hoʻokō ʻana i ka PVRB i ke ola, akā ʻo ka hoʻokō ʻana i nā ʻaelike akamai i nā blockchains hou i kaupalena ʻia i ka helu ʻana i nā kumuwaiwai, a ʻo ka hoʻololi ʻana i ka cryptography koʻikoʻi he mea hiki ʻole. A pono mākou i ka cryptography koʻikoʻi, e like me ka hōʻike ʻana ma lalo nei. ʻOiai he pōkole kēia pilikia, pono ka cryptography koʻikoʻi i nā ʻaelike e hoʻoponopono i nā pilikia he nui, a ke hele mālie nei ia (no ka laʻana, nā ʻaelike ʻōnaehana no zkSNARKs ma Ethereum)

ʻO Blockchain, ka mea e hāʻawi i kahi kaila memo protocol maopopo a hilinaʻi, ʻaʻole ia e hana me ka manuahi. Pono nā protocol decentralized e noʻonoʻo i ka hiki ke hoʻouka ʻia ʻo Sybil; hiki ke hana ʻia kekahi hana e nā pūʻali hui o nā helu he nui, no laila, i ka wā e hoʻolālā ai, pono e noʻonoʻo i ka hiki o nā mea hoʻouka ke hana i kahi helu arbitrary o ka protocol. nā mea komo e hana pū ana.

PVRB a me nā mea hoʻololi poloka.

ʻAʻole wau i wahaheʻe i kaʻu ʻōlelo ʻana ʻaʻohe mea i hoʻokō i kahi PVRB maikaʻi, i hoʻāʻo ʻia e nā noi piliwaiwai he nui, ma nā poloka. No hea mai ka nui o nā noi piliwaiwai ma Ethereum a me EOS? ʻO kēia kahaha iaʻu e like me ka pīhoihoi iā ʻoe, ma hea lākou i loaʻa ai ka nui o nā randoms "hoʻomau" i loko o kahi kaiapuni hoʻoholo loa?

ʻO ke ala punahele e loaʻa ai ka randomness i loko o ka blockchain ʻo ka lawe ʻana i kekahi ʻano ʻike "ʻike ʻole" mai ka poloka a hana i kahi mea maʻamau e pili ana iā ia - ma ka hashing wale ʻana i hoʻokahi a ʻoi aku paha nā waiwai. ʻatikala maikaʻi e pili ana i nā pilikia o ia mau papahana maanei. Hiki iā ʻoe ke lawe i kekahi o nā waiwai "ʻike ʻole" i loko o ka poloka, no ka laʻana, ka block hash, ka helu o nā kālepa, ka paʻakikī o ka pūnaewele, a me nā waiwai ʻē aʻe i ʻike ʻole ʻia ma mua. A laila hash iā lākou, hoʻokahi a ʻoi aku paha, a, ma ke kumumanaʻo, pono ʻoe e kiʻi i kahi random maoli. Hiki iā ʻoe ke hoʻohui i ka pepa wiitepa ʻo kāu hoʻolālā he "post-quantum secure" (no ka mea aia nā hana hash quantum-proof :)).

Akā ʻaʻole lawa nā hashes post-quantum secure, auwe. Aia ka mea huna i nā koi no ka PVRB, e hoʻomanaʻo wau iā lākou mai ka ʻatikala mua:

  1. Pono e ho'olaha like 'ia ka hopena, 'o ia ho'i, e ho'okumu 'ia ma ka cryptography ikaika.
  2. ʻAʻole hiki ke hoʻomalu i kekahi o nā ʻāpana o ka hopena. ʻO ka hopena, ʻaʻole hiki ke wānana mua ʻia ka hopena.
  3. ʻAʻole hiki iā ʻoe ke sabotage i ka protocol generation ma ke komo ʻole ʻana i ka protocol a i ʻole ka hoʻonui ʻana i ka pūnaewele me nā memo hoʻouka.
  4. Pono nā mea a pau i luna aʻe e kūʻē i ka hui pū ʻana o kahi helu i ʻae ʻia o nā mea komo protocol hoʻopunipuni (no ka laʻana, 1/3 o nā mea komo).

I kēia hihia, hoʻokō ʻia ka koi 1 wale nō, a ʻaʻole i hoʻokō ʻia ke koi 2. Ma ka hashing ʻana i nā waiwai i manaʻo ʻole ʻia mai ka poloka, e loaʻa iā mākou ka mahele like a me nā randoms maikaʻi. Akā ʻo BP ka liʻiliʻi loa ke koho e "paʻi i ka poloka a i ʻole." No laila, hiki iā BP ke koho ma lalo o ʻelua mau koho maʻamau: "nona" a me ka mea e huli ʻia inā hana kekahi i ka poloka. Hiki iā BP ke "snoop" ma mua i ka mea e hiki mai ana inā hoʻopuka ʻo ia i kahi poloka, a hoʻoholo wale e hana a ʻaʻole paha. No laila, i ka wā e pāʻani ai, no ka laʻana, "even-odd" a i ʻole "ʻulaʻula / ʻeleʻele" i ka roulette, hiki iā ia ke hoʻolaha i kahi poloka inā ʻike ʻo ia i ka lanakila. Hoʻohana kēia i ka hoʻolālā o ka hoʻohana ʻana, no ka laʻana, ʻaʻole hiki ke hana ʻia kahi block hash "mai ka wā e hiki mai ana". I kēia hihia, ʻōlelo lākou "e hoʻohana ʻole ʻia, i loaʻa ma ka hashing i ka ʻikepili o kēia manawa a me ka hash o ka poloka e hiki mai ana me ke kiʻekiʻe o, no ka laʻana, N + 42, kahi ʻo N ka kiʻekiʻe o ka poloka o kēia manawa. Hoʻoikaika liʻiliʻi kēia i ka hoʻolālā, akā hiki nō iā BP, ʻoiai i ka wā e hiki mai ana, e koho inā e paʻa i ka poloka a hoʻolaha paha.

ʻO ka polokalamu BP i kēia hihia e lilo i mea paʻakikī, akā ʻaʻole nui. ʻO ka maʻalahi, i ka wā e hōʻoia ai a hoʻokomo i kahi kālepa i loko o kahi poloka, aia kahi nānā wikiwiki e ʻike inā loaʻa ka lanakila, a, malia paha, ke koho ʻana i hoʻokahi mau ʻāpana kālepa e loaʻa ai kahi kiʻekiʻe o ka lanakila. I ka manawa like, aneane hiki ʻole ke hopu i kahi BP akamai no ia mau manipulations; i kēlā me kēia manawa hiki iā ʻoe ke hoʻohana i nā helu hou a lanakila liʻiliʻi me ka ʻole o ka hoʻopiʻi ʻana.

No laila, ʻaʻole kūpono nā ala e hoʻohana ana i ka ʻike mai ka poloka ma ke ʻano he hoʻokō ākea o PVRB. Ma kahi palena palena, me nā palena i ka nui o nā bet, nā palena i ka helu o nā mea pāʻani a me / a i ʻole ka hoʻopaʻa inoa KYC (e pale i ka mea pāʻani mai ka hoʻohana ʻana i nā helu helu he nui), hiki i kēia mau papahana ke hana no nā pāʻani liʻiliʻi, akā ʻaʻohe mea ʻē aʻe.

PVRB a hoʻokō-hōʻike.

ʻAe, mahalo i ka hashing a ma ka liʻiliʻi loa i ka pili ʻole o ka block hash a me nā mea hoʻololi ʻē aʻe. Inā hoʻoponopono ʻoe i ka pilikia o nā miners holo mua, pono ʻoe e kiʻi i kahi mea kūpono. E hoʻohui i nā mea hoʻohana i kēia kumumanaʻo - e hoʻohuli pū lākou i ka randomness: e haʻi aku kekahi limahana kākoʻo ʻenehana iā ʻoe ʻo ka mea nui loa i nā ʻōnaehana IT ʻo ia nā hana a nā mea hoʻohana :)

ʻO kahi hoʻolālā naive, ke hoʻouna wale nā ​​mea hoʻohana i nā helu maʻamau a helu ʻia ka hopena e like me ka laʻana, he hash o kā lākou huina, ʻaʻole kūpono. I kēia hihia, hiki i ka mea pāʻani hope loa, ma ke koho ʻana i kāna iho, e hoʻomalu i ka hopena. ʻO ia ke kumu i hoʻohana nui ʻia ai ke kumu hoʻohālike commit-reveal. Hoʻouna mua nā mea komo i nā hashes mai kā lākou randoms (commits), a laila wehe i nā randoms iā lākou iho (hōʻike). Hoʻomaka ka māhele "hōʻike" ma hope o ka hōʻiliʻili ʻia ʻana o nā hana e pono ai, no laila hiki i nā mea komo ke hoʻouna pololei i ka hash random a lākou i hoʻouna mua ai. I kēia manawa, e hui pū kākou i kēia me nā palena o kahi poloka, a ʻoi aku ka maikaʻi ma mua o ka mea i lawe ʻia mai ka wā e hiki mai ana (hiki ke loaʻa ka randomness ma kekahi o nā poloka e hiki mai ana), a voila - ua mākaukau ka randomness! I kēia manawa, hoʻololi kekahi mea pāʻani i ka hopena o ka randomness, a hiki iā ia ke "hoʻopiʻi" i ka BP maikaʻi ʻole ma ke kāʻei ʻana iā ia me kāna ponoʻī, ʻike ʻole ʻia ma mua, randomness ... Hiki iā ʻoe ke hoʻohui i ka pale mai ka sabotaging i ka protocol ma ka wehe ʻole ʻana iā ia ma ke kahua hōʻike - maʻalahi. ma ka koi ʻana i kahi kālā e hoʻopili ʻia i ke kālepa i ka wā e hana ai - kahi waihona palekana, e hoʻihoʻi ʻia i ka wā o ka hōʻike ʻana. I kēia hihia, ʻaʻole pono ka hana ʻana a me ka hōʻike ʻole ʻana.

He ho'āʻo maikaʻi ia, a aia nō nā ʻano hana i ka pāʻani DApps, akā auē, ʻaʻole lawa kēia. ʻAʻole ʻo ka miner wale nō, akā hiki i kekahi mea komo i ka protocol ke hoʻololi i ka hopena. Hiki nō ke hoʻomalu i ka waiwai ponoʻī, me ka liʻiliʻi liʻiliʻi a me ke kumukūʻai, akā, e like me ke ʻano o ka mea miner, inā ʻoi aku ka waiwai o nā hopena o ke kaha kiʻi ma mua o ka uku no ke komo ʻana i ka protocol PVRB, a laila ka random. -producer(RP) hiki ke hoʻoholo inā e hōʻike a hiki nō ke koho mai ʻelua mau koho koho.
Akā ua hiki ke hoʻopaʻi i ka poʻe i hana a hōʻike ʻole, a e hiki mai ana kēia hoʻolālā. He pono koʻikoʻi kona maʻalahi - ʻoi aku ka maikaʻi o nā protocols koʻikoʻi i nā helu ikaika.

PVRB a me nā pūlima deterministic.

Aia kekahi ala ʻē aʻe e koi ai i ka RP e hāʻawi i kahi helu pseudo-random ʻaʻole hiki iā ia ke hoʻololi inā hāʻawi ʻia me kahi "kiʻi mua" - he pūlima deterministic kēia. ʻO ia pūlima, no ka laʻana, RSA, ʻaʻole ʻo ECS. Inā loaʻa iā RP ʻelua mau kī: RSA a me ECC, a kau inoa ʻo ia i kekahi waiwai me kāna kī pilikino, a laila ma ka hihia o RSA e loaʻa iā ia hoʻokahi a hoʻokahi wale nō pūlima, a ma ka hihia o ECS hiki iā ia ke hoʻopuka i kekahi helu o nā pūlima kūpono like ʻole. ʻO kēia no ka mea i ka wā e hana ai i kahi pūlima ECS, hoʻohana ʻia kahi helu maʻamau, koho ʻia e ka mea hōʻailona, ​​​​a hiki ke koho ʻia i kēlā me kēia ʻano, hāʻawi i ka mea hōʻailona i ka manawa e koho ai i kekahi o nā pūlima. I ka hihia o RSA: "hoʻokahi waiwai hoʻokomo" + "hoʻokahi kī kī" = "hoʻokahi pūlima". ʻAʻole hiki ke wānana i ka pūlima e loaʻa i kekahi RP, no laila hiki ke hoʻonohonoho ʻia kahi PVRB me nā pūlima deterministic ma ka hoʻohui ʻana i nā pūlima RSA o kekahi poʻe i pūlima i ka waiwai like. No ka laʻana, ka random mua. Mālama kēia papahana i nā kumuwaiwai he nui, no ka mea ʻO nā pūlima ka hōʻoia ʻana i ka hana kūpono e like me ka protocol a me kahi kumu o ka randomness.

Eia nō naʻe, ʻoiai me nā pūlima deterministic, paʻa mau ke kumumanaʻo i ka pilikia "mea hana hope". Hiki i ka mea komo hope ke hoʻoholo inā e paʻi i ka pūlima a ʻaʻole paha, a laila e hoʻomalu i ka hopena. Hiki iā ʻoe ke hoʻololi i ka hoʻolālā, hoʻohui i nā hashes block iā ia, e hana i nā pōʻai i hiki ʻole ke wānana mua ʻia ka hopena, akā ʻo kēia mau ʻano a pau, me ka noʻonoʻo ʻana i nā hoʻololi he nui, e waiho mau ana i ka pilikia o ka hopena o ka mana o kahi mea komo i ka hui. ka hopena i kahi kaiapuni hilinaʻi ʻole a hiki ke hana wale ma lalo o ka hoʻokele waiwai a me ka manawa. Eia kekahi, nui loa ka nui o nā kī RSA (1024 a me 2048 bits), a ʻo ka nui no nā kālepa blockchain he mea nui loa. ʻIke ʻia ʻaʻohe ala maʻalahi e hoʻoponopono ai i ka pilikia, e neʻe kākou.

PVRB a me nā papahana kaʻana like huna

I loko o ka cryptography, aia nā papahana e hiki ai i ka pūnaewele ke ʻae i hoʻokahi a hoʻokahi wale nō waiwai PVRB, ʻoiai ʻo ia mau papahana e kūʻē i nā hana ʻino a kekahi poʻe komo. ʻO kahi protocol pono e hoʻomaʻamaʻa iā ʻoe iho ʻo Shamir's secret sharing scheme. Hoʻohana ia e puʻunaue i kahi huna (e like me ke kī huna) i kekahi mau ʻāpana, a puʻunaue i kēia mau ʻāpana i nā mea komo N. Hoʻokaʻawale ʻia ka mea huna ma ke ʻano e lawa ai nā ʻāpana M mai ka N no ka hoʻihoʻi ʻana, a hiki i kēia mau ʻāpana M. Inā ma nā manamana lima, a laila loaʻa ka pakuhi o kahi hana i ʻike ʻole ʻia, hoʻololi nā mea komo ma ka pakuhi, a ma hope o ka loaʻa ʻana o nā helu M, hiki ke hoʻihoʻi ʻia ka hana holoʻokoʻa.
Hāʻawi ʻia kahi wehewehe maikaʻi ma wiki akā, pāʻani me ia practically i mea e pāʻani i ka protocol i kou poʻo pono no demo ʻaoʻao.

Inā pili ka FSSS (Fiat-Shamir Secret Sharing) i kona ʻano maʻemaʻe, he PVRB hiki ʻole ke luku ʻia. Ma kāna ʻano maʻalahi, ʻike paha ka protocol penei:

  • Hoʻopuka kēlā me kēia mea komo i kā lākou iho a hāʻawi i nā ʻāpana mai ia mea i nā poʻe ʻē aʻe
  • Hōʻike kēlā me kēia hui i kāna ʻāpana o nā mea huna o nā mea ʻē aʻe
  • Inā ʻoi aku ka nui o nā ʻāpana o ka mea komo ma mua o M, a laila hiki ke helu ʻia ka helu o kēia mea komo, a ʻokoʻa ia, me ka nānā ʻole i ka hoʻonohonoho o nā mea komo i hōʻike ʻia.
  • ʻO ka hui pū ʻana o nā randoms i hōʻike ʻia ʻo ia ka PVRB makemake ʻia

Maʻaneʻi, ʻaʻole hoʻololi hou ka mea komo i nā hopena o ka protocol, koe wale nō nā hihia i hilinaʻi wale ʻia ka loaʻa ʻana o ka paepae hōʻike randomness iā ia. No laila, ʻo kēia protocol, inā loaʻa kahi ʻāpana koi o nā RP e hana ana i ka protocol a loaʻa, hana, hoʻokō i nā koi no ka ikaika cryptographic, a me ke kūpaʻa ʻana i ka pilikia "hope actor".

Hiki i kēia ke koho maikaʻi loa, ua wehewehe ʻia kēia hoʻolālā PVRB e pili ana i ka kaʻana like ʻana o Fiat-Shamir no ka laʻana ma kēia ʻatikala. Akā, e like me ka mea i ʻōlelo ʻia ma luna, inā e hoʻāʻo ʻoe e hoʻopili iā ia ma ke poʻo i ka blockchain, ʻike ʻia nā palena ʻenehana. Eia kekahi laʻana o ka hoʻokō hoʻāʻo ʻana o ka protocol ma ka ʻaelike akamai EOS a me kāna ʻāpana koʻikoʻi - ke nānā ʻana i ka mea i paʻi ʻia. wae helu. Hiki iā ʻoe ke ʻike mai ke code e koi ana ka hōʻoia hōʻoia i nā hoʻonui scalar, a nui loa nā helu i hoʻohana ʻia. Pono e hoʻomaopopo ʻia i ka blockchains, hōʻoia i ka manawa i ka wā e hana ai ka mea hana poloka i ke kālepa, a ma ke ʻano nui, pono e hōʻoia maʻalahi kēlā me kēia mea i ka pololei o ka protocol, no laila he koʻikoʻi nā koi no ka wikiwiki o ka hana hōʻoia. . Ma kēia koho, ua lilo ka koho i mea ʻole, no ka mea ʻaʻole i kūpono ka hōʻoia i loko o ka palena o ke kālepa (0.5 kekona).

ʻO ka pono o ka hōʻoia ʻana kekahi o nā koi koʻikoʻi no ka hoʻohana ʻana i, ma ke ʻano laulā, nā papahana cryptographic holomua i ka blockchain. Ke hana ʻana i nā hōʻoia, hoʻomākaukau ʻana i nā leka - hiki ke lawe ʻia kēia mau kaʻina hana ma waho o ke kaulahao a hana ʻia ma nā kamepiula hana kiʻekiʻe, akā ʻaʻole hiki ke kāpae ʻia ka hōʻoia - ʻo ia kekahi koi koʻikoʻi no PVRB.

PVRB a me nā pūlima paepae

Ma hope o ka ʻike ʻana i ka papahana kaʻana like huna, ua ʻike mākou i kahi papa holoʻokoʻa o nā protocol i hui pū ʻia e ka huaʻōlelo "threshold". Ke koi ʻia ka hōʻike ʻana o kekahi mau ʻike i ke komo ʻana o nā mea komo pololei mai N, a ʻo ka pūʻulu o ka poʻe i komo ʻoiaʻiʻo hiki ke lilo i ʻāpana kūʻokoʻa o N, ke kamaʻilio nei mākou no nā papahana "paepae". ʻO lākou ka mea e ʻae iā mākou e hoʻoponopono i ka pilikia o ka "mea hana hope", i kēia manawa inā ʻaʻole hōʻike ka mea hoʻouka i kāna ʻāpana o ka mea huna, ʻo kekahi mea hoʻokō pono e hana iā ia. Hāʻawi kēia mau papahana i ka ʻae ʻana i hoʻokahi manaʻo hoʻokahi, ʻoiai inā i sabotage ʻia ka protocol e kekahi o nā mea komo.

ʻO ka hui pū ʻana o nā pūlima deterministic a me nā paepae paepae i hiki ai ke hoʻomohala i kahi hoʻolālā maʻalahi a hoʻohiki no ka hoʻokō ʻana i ka PVRB - ʻo ia nā pūlima paepae deterministic. Eia 'atikala e pili ana i nā hoʻohana like ʻole o nā pūlima paepae, a eia kekahi mea maikaʻi heluhelu lōʻihi mai Dash.

ʻO ka ʻatikala hope loa e wehewehe ana i nā pūlima BLS (BLS e kū nei no Boneh-Lynn-Shacham, aia hoʻi ʻatikala), he ʻano koʻikoʻi koʻikoʻi a maʻalahi loa ia no nā mea polokalamu - hiki ke hoʻohui ʻia nā kī lehulehu, huna, nā kī lehulehu a me nā pūlima BLS me kekahi me ka hoʻohana ʻana i nā hana makemakika maʻalahi, ʻoiai ʻo kā lākou hui pū ʻana i nā kī kūpono a me nā pūlima, e ʻae iā ʻoe e hōʻuluʻulu maʻalahi i nā mea he nui. nā pūlima i hoʻokahi a me nā kī lehulehu i hoʻokahi. Hoʻoholo pū lākou a hana i ka hopena like no ka ʻikepili hoʻokomo like. Mahalo i kēia ʻano maikaʻi, ʻo ka hui pū ʻana o nā pūlima BLS he mau kī pono lākou, e ʻae ai i ka hoʻokō ʻana i kahi koho e hana ai nā mea komo o M i hoʻokahi a hoʻokahi wale nō pūlima i hoʻoholo ʻia, hōʻoia ʻia i ka lehulehu, a hiki ʻole ke ʻike ʻia a wehe ʻia e ka Mth mea komo .

Ma kahi hoʻolālā me nā hōʻailona BLS paepae, hōʻailona kēlā me kēia mea i kekahi mea me ka hoʻohana ʻana i ka BLS (no ka laʻana, ka random mua), a ʻo ka pūlima paepae maʻamau ka mea i makemake ʻia. ʻO nā waiwai cryptographic o nā pūlima BLS e hoʻokō i nā koi no ka maikaʻi ʻole, pale ka paepae i ka "hope-actor", a me ka hui pū ʻana o nā kī e hiki ai ke hoʻokō i nā algorithms hoihoi hou aʻe e hiki ai, no ka laʻana, ka hoʻohui maikaʻi ʻana o nā memo protocol. .

No laila, inā ʻoe e kūkulu nei i ka PVRB ma kāu blockchain, e hoʻopau paha ʻoe i ka papa inoa inoa paepae BLS, ke hoʻohana nei kekahi mau papahana. No ka laʻana, DFinity (maanei benchmark e hoʻokō i ke kaapuni, a maanei laʻana ka hoʻokō ʻana o ka kaʻana like huna ʻike ʻia), a i ʻole Keep.network (eia kā lākou kukui uila pepa melemelea aneʻi hiʻohiʻona ʻaelike akamai e lawelawe ana i ka protocol).

Ka hoʻokō ʻana i ka PVRB

ʻO ka mea pōʻino, ʻaʻole mākou e ʻike i kahi protocol i mākaukau i hoʻokō ʻia i loko o ka PVRB blockchains i hōʻoia i kona palekana a paʻa. ʻOiai ua mākaukau nā protocols ponoʻī, ʻaʻole maʻalahi ka hoʻohana ʻana iā lākou i nā hopena i loaʻa. No nā ʻōnaehana kikowaena, ʻaʻole kūpono ʻo PVRB, a ua kaupalena ʻia nā decentralized i nā kumuwaiwai a pau: CPU, memory, storage, I/O. ʻO ka hoʻolālā ʻana i kahi PVRB he hui pū ʻana o nā protocols ʻokoʻa i mea e hana ai i kahi mea e kū ai i nā koi āpau no ka liʻiliʻi loa o kekahi blockchain hiki. ʻOi aku ka maikaʻi o ka helu ʻana o kekahi protocol, akā koi i nā memo hou aʻe ma waena o nā RP, aʻo ka mea ʻē aʻe e koi i nā memo liʻiliʻi, akā ʻo ka hana ʻana i kahi hōʻike hiki ke hana i nā ʻumi mau minuke, a i ʻole mau hola.

E papa inoa wau i nā kumu āu e noʻonoʻo ai i ke koho ʻana i kahi PVRB maikaʻi:

  • Ka ikaika cryptographic. Pono ʻole kāu PVRB, me ka hiki ʻole ke hoʻomalu i hoʻokahi wahi. I kekahi mau papahana ʻaʻole kēia ka hihia, no laila e kāhea i kahi cryptographer
  • ʻO ka pilikia "mea hoʻokani hope".. Pono kāu PVRB e kū'ē i nā hoʻouka kaua kahi e hiki ai i ka mea hoʻouka kaua ke hoʻomalu i hoʻokahi a ʻoi aku paha RPs ke koho i kekahi o nā hopena ʻelua.
  • Pilikia sabotage protocol. Pono kāu PVRB e kūʻē i nā hoʻouka ʻana kahi e hoʻoholo ai ka mea hoʻouka kaua e hoʻomalu i hoʻokahi a ʻoi aku paha nā RP e hoʻoholo i ke ʻano maʻamau a ʻaʻole paha a hiki ke hōʻoiaʻiʻo ʻia a i ʻole ka manaʻo i hāʻawi ʻia e hoʻohuli i kēia.
  • Ka helu o nā memo pilikia. Pono kāu mau RP e hoʻouna i ka liʻiliʻi o nā leka i ka blockchain a pale i nā hana synchronous e like me nā kūlana e like me "Ua hoʻouna wau i kekahi ʻike, ke kali nei au i kahi pane mai kahi mea i komo." Ma nā pūnaewele p2p, ʻoi aku ka hoʻopuehu ʻāina, ʻaʻole pono ʻoe e helu i ka pane wikiwiki
  • ʻO ka pilikia o ka paʻakikī helu. Pono e maʻalahi ka hōʻoia ʻana o kekahi pae o ka PVRB ma ke kaulahao, no ka mea e hana ʻia e nā mea kūʻai aku āpau o ka pūnaewele. Inā hoʻokō ʻia ka hoʻokō me ka hoʻohana ʻana i kahi ʻaelike akamai, a laila paʻa loa nā koi wikiwiki
  • ʻO ka pilikia o ka hiki a me ke ola. Pono kāu PVRB e hoʻoikaika e kūpaʻa i nā kūlana i loaʻa ʻole kahi hapa o ka pūnaewele no kekahi manawa a ua pau ka hana o ka RP.
  • ʻO ka pilikia o ka hoʻonohonoho hilinaʻi a me ka hoʻoili kī mua. Inā hoʻohana kāu PVRB i ka hoʻonohonoho mua o ka protocol, a laila he moʻolelo nui a koʻikoʻi kēia. Eia hiʻohiʻona. Inā pono e haʻi kekahi i kekahi i kā lākou mau kī ma mua o ka hoʻomaka ʻana i ka protocol, he pilikia nō hoʻi kēia inā hoʻololi ke ʻano o nā mea komo
  • Nā pilikia hoʻomohala. Loaʻa nā hale waihona puke ma nā ʻōlelo i koi ʻia, ko lākou palekana a me ka hana, hoʻolaha, nā hoʻokolohua paʻakikī, etc.

No ka laʻana, he pilikia koʻikoʻi ko ka paepae BLS - ma mua o ka hoʻomaka ʻana e hana, pono nā mea komo e puʻunaue i nā kī i kekahi i kekahi, e hoʻonohonoho i kahi hui i loko o kahi e hana ai ka paepae. ʻO ia ke ʻano o ka liʻiliʻi o hoʻokahi pōʻai o ka hoʻololi ʻana i kahi pūnaewele decentralized e kali, a hāʻawi ʻia i ka rand i hana ʻia, no ka laʻana, pono i nā pāʻani, kokoke i ka manawa maoli, ʻo ia hoʻi ka hiki ke sabotage o ka protocol i kēia manawa. , a ua nalowale nā ​​pono o ka paepae paepae. ʻOi aku ka maʻalahi o kēia pilikia ma mua o nā mea ma mua, akā pono nō ka hoʻomohala ʻana i kahi kaʻina kaʻawale no ka hoʻokumu ʻana i nā pūʻulu paepae, pono e pale ʻia i ka ʻoihana, ma o ka waiho ʻana a me ka wehe ʻana i nā kālā (slashing) mai nā poʻe i hahai ʻole i ka protocol. Eia kekahi, ʻaʻole kūpono ka hōʻoia ʻana o BLS me kahi pae palekana palekana, no ka laʻana, i loko o kahi kālepa EOS a i ʻole Ethereum - ʻaʻole lawa ka manawa no ka hōʻoia. ʻO ka code aelike ʻo WebAssembly a i ʻole EVM, i hoʻokō ʻia e kahi mīkini virtual. ʻAʻole hoʻokō ʻia nā hana cryptographic ma ke ʻano maoli (akā), a ʻoi aku ka lohi o ka hana ma mua o nā hale waihona puke cryptographic maʻamau. ʻAʻole hoʻokō ka nui o nā protocols i nā koi e pili ana i ka leo kī, no ka laʻana 1024 a me 2048 bits no RSA, 4-8 mau manawa ʻoi aku ka nui ma mua o ka pūlima kālepa maʻamau ma Bitcoin a me Ethereum.

ʻO ka hele ʻana o ka hoʻokō ʻana i nā ʻōlelo hoʻonohonoho like ʻole he kuleana - he kakaikahi wale nō, ʻoi aku hoʻi no nā protocols hou. ʻO ke koho me ka hoʻohui ʻana i ka ʻae ʻana pono e kākau i kahi protocol ma ka ʻōlelo platform, no laila pono ʻoe e ʻimi i ke code ma Go for geth, ma Rust for Parity, ma C++ no EOS. Pono nā kānaka a pau e ʻimi i ka code JavaScript, a no ka mea ʻaʻole pili pili loa ʻo JavaScript a me cryptography, e kōkua ʻo WebAssembly, ʻo ia ka mea e ʻōlelo nei ʻo ia ka maʻamau o ka Pūnaewele.

hopena

Manaʻolana wau i ka mua 'ōlelo Ua hiki iaʻu ke hōʻoiaʻiʻo iā ʻoe he mea koʻikoʻi ka hana ʻana i nā helu helu ma ka blockchain no nā ʻano he nui o ke ola o nā ʻoihana decentralized, a me kēia ʻatikala ua hōʻike wau he mea makemake nui a paʻakikī kēia hana, akā aia nā hopena maikaʻi. Ma keʻano laulā, hiki ke hoʻolālā hope loa o ka protocol ma hope o ka hana ʻana i nā hoʻokolohua nui e noʻonoʻo ana i nā ʻano āpau mai ka hoʻonohonoho ʻana a hiki i ka hoʻohālikelike hewa ʻana, no laila ʻaʻole paha ʻoe e ʻike i nā ʻōkuhi i mākaukau i loko o nā pepa keʻokeʻo a me nā ʻatikala, a ʻaʻole mākou e loaʻa. E hoʻoholo i ka makahiki aʻe a ʻelua paha e kākau "e hana i kēia ala, pololei pololei."

Aloha ʻoe, no kā mākou PVRB i ka blockchain e kūkulu ʻia nei Haya, ua hoʻoholo mākou i ka hoʻohana ʻana i nā hōʻailona BLS paepae, hoʻolālā mākou e hoʻokō i ka PVRB ma ka pae kuʻikahi, no ka mea ʻaʻole hiki ke hōʻoia i nā ʻaelike akamai me kahi pae palekana. Hiki iā mākou ke hoʻohana i ʻelua mau papahana i ka manawa hoʻokahi: ʻo ka mua, kaʻana like huna nui e hana i ka random_seed no ka wā lōʻihi, a laila hoʻohana mākou ia mea i kumu no ka hanauna kiʻekiʻe pinepine me ka hoʻohana ʻana i nā pūlima BLS paepae deterministic, malia paha e kaupalena mākou iā mākou iho. kekahi o nā papahana. ʻO ka mea pōʻino, ʻaʻole hiki ke haʻi mua i ke ʻano o ka protocol; ʻo ka mea maikaʻi wale nō, e like me ka ʻepekema, i nā pilikia ʻenekinia, he hopena maikaʻi ʻole kekahi hopena, a ʻo kēlā me kēia hoʻāʻo hou e hoʻoponopono i ka pilikia he hana ʻē aʻe ia. ka noiʻi ʻana o nā mea a pau e pili ana i ka pilikia. No ka hoʻokō ʻana i nā koi ʻoihana, hoʻoponopono mākou i kahi pilikia kūpono - e hāʻawi ana i nā noi pāʻani me kahi kumu hilinaʻi o ka entropy, no laila pono mākou e hoʻolohe pono i ka blockchain ponoʻī, ʻo ia hoʻi nā pilikia o ke kaulahao hope a me ka hoʻokele pūnaewele.

A ʻoiai ʻaʻole mākou e ʻike i kahi PVRB kūpaʻa i hōʻoia ʻia i loko o nā poloka, i hoʻohana ʻia no ka manawa kūpono e hoʻāʻo ʻia e nā noi maoli, nā loiloi he nui, nā ukana, a ʻoiaʻiʻo hoʻi, nā hoʻouka maoli, akā ʻo ka helu o nā ala hiki ke hōʻoia i kēlā loaʻa ka hopena, a he aha -o kēia mau algorithm e hoʻopau i ka pilikia. E hauʻoli mākou e kaʻana like i nā hopena a mahalo i nā hui ʻē aʻe e hana nei i kēia pilikia no nā ʻatikala a me nā code e hiki ai i nā ʻenekini ke hehi ʻole i ka rake like ʻelua.

No laila, ke hālāwai ʻoe i kahi mea papahana e hoʻolālā ana i ka decentralized random, e makaʻala a mālama, a hāʻawi i ke kōkua noʻonoʻo inā pono :)

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka