Random oraculum secundum digital signature in blockchain

Ab idea ad exsequendam: curvam digitali subscriptio elliptici existentem modificamus ut sit deterministica, et in ea fundamus functiones ad obtinendas numeros pseudo-passim verifiabiles in claustro.

Random oraculum secundum digital signature in blockchain

idea

In casu Domini MMXVIII, fluctus clausurae includitur primum captiosus contractibus activatedquaestio statim exorta est de facultate obtinendi pseudorandom numerisquod confidere potes.

Perplexus hanc quaestionem, tandem ad conclusionem venio: quodvis impedimentum cellae est, impossibile est fidum entropiae fontem obtinere in systemate clauso.

Sed adhuc unum amavi ideam: si temere oraculum usoris notitias cum algorithmo deterministico signabit, tunc usor semper poterit talem subscriptionem clavem publicam utentem cognoscere et certa valorem inde unicum esse. Oraculum , quantumvis difficile velit , nihil potest mutare : algorithmus ambiguum eventum facit . Usoris eventus essentialiter narrat, sed nescit donec oraculum illud proferat. Evenit ut oraculo omnino non credas, sed operis exitum reprehendo. Deinde, in casu felici verificationis, talis subscriptio considerari potest fons entropy pro numero pseudorandom.

Fluctus blockchain suggestu utitur subscriptio rerum EdDSA optionem Ed25519. In hoc schemate subscriptio consistit in valoribus R et S, ubi R a valore temere pendet, et S computatur in verbo signato, clavis privatus et idem numerus temere ac R. Evenit ut nulla est unica dependentia pro eadem Multae validae subscriptiones pro verbo usoris.

Patet, in pura forma, talis subscriptio adhiberi non potest ut fons falsi-passim numerorum, cum sit non determinatus et ideo ab oraculo facile tractari potest.

Sed, cum euenit, possibile est facere determinatam.

Magna spes mihi munus temere verifiable (VRF)sed postquam ferramentis studebam, hanc optionem deserere habui. Etsi VRF versionem deterministicam subscriptionis eiusque probationis praebet, alienus est locus in algorithmo qui nigrum foramen ad manipulationem oraculi aperit. Nempe cum valorem k (III sectione) clavis privata adhibetur, quae utenti ignota manet, quod utens significat rectitudinem calculi k comprobare non potest, quo oraculo uti potest cuiuslibet valoris ipsius k, quo indiget et simul datorum correspondentiarum manutenere potest. k et data signata ut semper ex parte VRF reiterare possit rectam exitum . Si extractionem VRF innixam sine clavem privatam detegere videris, sapis potes: necessitatem indica vel clavem revelare vel a ratione k excludere, tunc clavis privata se sponte ostendet cum prima subscriptio comparuerit. . Fere, ut iam dictum est, res novas pro incertis oraculis tractavit.

Post aliquantulum cogitationem et subsidia analystarum locorum conscriptis, VECRO opus schema natum est.

VECRO est abbreviatio pro Curva Elliptica Verifiable Random Oraculum, quod in Russian significat verificabile Oraculum temere in curvis ellipticis.

Omnia prorsus simplicia evaserunt, ad determinandum, opus est valorem R figere antequam nuntius signari videatur. Si R committitur et est pars nuntii signati, qui adhuc efficit ut R committatur in verbo signato, valor S unice determinatur per nuntium usoris et ideo adhiberi potest ut fons pro numeris pseudorandom.

In tali schemate, non refert quomodo R fixum sit, hoc oraculi penes se manet. Interest ut S unice ab utentis determinatur, sed eius valor incognitus est donec illud oraculum proferat. Omnia voluimus!

Loquens de certo R, nota quod palimpsesto relata R * cum varias epistulas signans, unicum clavis privatum in schemate EdDSA indicat. Gravissimum decet possessori oraculi facultatem reiciendi R removendi diversos nuntiis usoris subscribere. Hoc est, cum quavis manipulatione vel praevaricatione, oraculo semper periculum privationis clavem amittat.

In summa, oraculum duobus muneribus utentibus praebere debet: initializationem, quae valorem R designat, et subscriptio quae valorem reddit S. Quo in casu, par R, S consueta est verifiabilis subscriptio nuntii usoris continens certum. valorem R et arbitra- data usorum.

Argui potest hanc rationem clausulae nihil aliud esse quam vulgare committere-expand ratio. Essentialiter est ipsa est. Sed variae sunt nuances. Uno modo, oraculum semper eandem clavem in omnibus operibus operari, verbi gratia, in contractibus uti conveniet. Secundo periculum est oraculi amittendi clavem privatam si recte se habeat, verbi gratia, oraculum permittit tibi exempla facere effectus, tunc satis est duas tantum probationes facere ut clavem privatam et plenam lucro experiaris. aditum scrip. Tertio, obsignatio quae verificabilis in scandalo est, et fons fortuiti est pulcher.

Ad sex menses idea impletionis in capite meo immersit, donec tandem motus in forma apparuit da ab undis Labs. Magna cum magna concessione venit responsabilitas, ut incepto erit ibi!

РСализация

Ita in hoc project VECRO erat implemented in undarum clausurae in petitione responsionis modum utendi transactions translationis inter utentem et oraculum. Eodem tempore scriptum in oraculo instituitur rationi, quo opus stricte moderatur, secundum logicam de qua supra dictum est. transactiones oraculi verificantur et tota catena commercii usoris restituitur. Omnes quattuor transactiones in comprobatione valoris finalis implicantur, chordae callidae contractae cum stricto filo verificationis, omnes gradatim valores inprimendo nec ullum manipulationis locum relinquens.

Iterum deponere et clarius facere. Oraculum non solum operatur secundum propositum propositum. Eius opus omnino regitur in gradu clausulae a statuto arcte cum dolor contractus. Gradus ad sinistram et transactionem simpliciter non transibit. Ita, si negotium in claustro comprehenditur, usor ne aliquid reprehendo quidem necesse est: centum nodi retis iam omnia ei represserunt.

Currently, unus VECRO currit in undas mainnet (tuam tuam currere potes, non est difficile, modo Vide configuratione exemplum). In current codice decurrit in PHP (on WavesKit, de quo Dixi vobis ante).

Ut oraculo utaris, obsequium tibi praestandum est;

  • Fige R;
    • Undas saltem 0.005 ad oraculum alias init@vecr mitte;
    • Accipe R-code in affixum campi translationis 1 R-vecr indicium ab oraculo ad utentis;
  • Obsignatio Get;
    • Undas saltem 0.005 ad oraculum alias temere@vecr mittere, ac etiam R-code antea receptas et notas usoris additi in agro affixo indicare debent;
    • Accipe S-code in affixum campum in translatione 1 S-vecr indicium ab oraculo ad utentis;
  • Utere S-code ut fons pseudo-passim numerus.

Nuances exsecutionis hodiernae:

  • Undae ad oraculum missae adhibentur commissio de transactione ad utentis usque ad maximum of 1 Waves;
  • R-code est concatenatio byte characteris R et 32-byte basi 58-encoded R valoris;
  • R-code in attachiando primum debet esse, notitia usoris post R-code;
  • S-code est concatenatio byte characteris S' et 32-byte basi 58-encoded valor ipsius S;
  • S effectus divisionis moduli est, ideo S uti non potes ut numerus plenus 256-bitrum pseudorandom (hic numerus maximus considerari potest ex 252 frenum pseudorandom numerum);
  • Optio simplicissima est uti S-code Nullam ut pseudo-passim numero.

Exemplum recipiendi S-code:

Ex parte technica oraculum ad opus omnino est paratum, tuto uti potes. Ex parte usui ad usorem mediocris, defectus instrumenti graphici opportuni, hoc exspectandum erit.

Exsultabo ad interrogata respondere et commentarios accipere, gratias tibi agere.

Source: www.habr.com