RS66076B1 - Izvođenje transakcija pomoću privatnih i javnih lanaca blokova - Google Patents

Izvođenje transakcija pomoću privatnih i javnih lanaca blokova

Info

Publication number
RS66076B1
RS66076B1 RS20240543A RSP20240543A RS66076B1 RS 66076 B1 RS66076 B1 RS 66076B1 RS 20240543 A RS20240543 A RS 20240543A RS P20240543 A RSP20240543 A RS P20240543A RS 66076 B1 RS66076 B1 RS 66076B1
Authority
RS
Serbia
Prior art keywords
chain
account
asset
public
transaction
Prior art date
Application number
RS20240543A
Other languages
English (en)
Inventor
Sergey Gorbunov
Silvio Micali
Maurice Herlihy
Original Assignee
Algorand Labs S R L
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Algorand Labs S R L filed Critical Algorand Labs S R L
Publication of RS66076B1 publication Critical patent/RS66076B1/sr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • G06Q20/0658Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed locally
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3255Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Finance (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Preparation Of Compounds By Using Micro-Organisms (AREA)
  • Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)
  • Peptides Or Proteins (AREA)

Description

Opis
OBLAST TEHNIKE
[0001] Ovaj opis se generalno odnosi na izvođenje transakcija pomoću privatnih i javnih lanaca blokova (blokchain).
STANJE TEHNIKE
[0002] Sistemi lanaca blokova dobijaju na popularnosti i sve se više usvajaju usled jake bezbednosti, transparentnosti i svojstava integriteta koje obezbeđuju. Sistemi lanaca blokova često funkcionišu u javnom modelu ili modelu bez dozvole u kome bilo koji entitet može da se pridruži i učestvuje u konsenzusu. Kao rezultat, transakcije i stanja su vidljivi entitetima koji ulaze u mrežu.
[0003] CN107767267 prikazuje postupak prenosa virtuelnih resursa, i postupak se upotrebljava za sisteme decentralizacije koji obuhvataju bočni lanac lanca blokova i glavni lanac.
WO 2018/189658 prikazuje računarski implementiran postupak koji uključuje: i) pridruživanje kongresu prenošenjem, pomoću čvora koji radi u mreži lanaca blokova sa dokazom o radu, jedne ili više digitalnih imovina na fond kongresa koji ima jednu ili više drugih digitalnih imovina koje su povezane sa drugim članovima kongresa; ii) detektovanje, pomoću čvora, specijalne transakcije digitalnih imovina na mreži lanaca blokova sa dokazom o radu na adresu povezanu sa fondom kongresa, pri čemu specijalna transakcija zadovoljava determinisane kriterijume; i iii) kovanje, pomoću čvora, jedne ili više digitalnih imovina na mreži lanaca blokova sa dokazom o ulogu kao odgovor na detektovanje specijalne transakcije. US 2016/330034 prikazuje postupke za prenošenje imovine sa roditeljskog lanca na bočni lanac.
SUŠTINA PRONALASKA
[0004] Aspekte pronalaska prikazujemo u nezavisnim patentnim zahtevima. Između ostalog, opisujemo postupak omogućavanja jednom ili većem broju entiteta sistema lanaca blokova da izvode seriju operacija. Sistem lanaca blokova uključuje glavni lanac, ko-lanac, gde ko-lanac ima odgovarajući račun na glavnom lancu, imovinu u vlasništvu odgovarajućeg računa na glavnom lancu i u vlasništvu računa ko-lanca, i račun ko-lanca koji poseduje imovinu. Operacije uključuju postavljanje autentifikovane transakcije na ko-lanac, pri čemu autentifikovana transakcija autorizuje prenos imovine sa računa ko-lanca na račun glavnog lanca, određujući da se autentifikovana transakcija postavlja na ko-lanac, i postavljanje, na glavni lanac, transakcije koja dodeljuje imovinu računu glavnog lanca.
[0005] Koristi i prednosti implementacija uključuju poboljšanu bezbednost, skalabilnost i decentralizaciju protokola plaćanja pomoću privatnih lanaca blokova sa dozvolom u poređenju sa tradicionalnim postupcima. Blok međulančanog plaćanja se proizvodi u kraćem vremenu u poređenju sa drugim tehnikama i transakcije bloka se odmah finalizuju. Dalje koristi i prednosti uključuju poboljšanu privatnost i poverljivost za članove svakog privatnog lanca blokova. Svaki privatni lanac blokova se može saobraziti sa regulatornim režimom za osiguravanje poštenih transakcija. Implementacije koje su prikazane ovde implementiraju brže, bezbednije i efikasnije mehanizme u poređenju sa tradicionalnim postupcima koji upotrebljavaju sporije, ad hoc i vulnerabilnije mehanizme.
SAŽET OPIS SLIKA NACRTA
[0006]
SL.1 prikazuje primer blok dijagrama platne mreže koja upotrebljava višestruke privatne lance blokova sa dozvolom.
SL. 2 prikazuje primer slučaja upotrebe platne mreže koja upotrebljava višestruke privatne lance blokova sa dozvolom, u skladu sa jednom ili više implementacija.
SL.3 prikazuje primer procesa za upotrebu ko-lanca.
SL.4 prikazuje primer procesa za prenošenje imovine pomoću ko-lanca.
SL. 5 prikazuje primer mašine za implementaciju platne mreže koja upotrebljava višestruke privatne lance blokova sa dozvolom, u skladu sa jednom ili više implementacija.
DETALJAN OPIS
[0007] Ova specifikacija opisuje tehnike za upotrebu javnih i privatnih lanaca blokova i interoperabilnost između njih. Privatni lanac blokova koji je komunikabilno spojen sa javnim lancem blokova i interoperabilan sa njim naziva se „ko-lanac“. Ko-lanac se može kreirati tako da ima pristup koji je ograničen na limitiran broj entiteta (karakteristika na koju se ponekad pozivamo kao na „sa dozvolom“) i privatan je za te odobrene pristupe (npr., oni kojima pristup nije odobren ne mogu da posmatraju aktivnost na kolancu i/ili da se uključe u transakcije na ko-lancu). Na primer, privatni ko-lanac se može instancirati od strane institucija ili pojedinaca da bi se očuvala privatnost transakcija i stanjā pojedinaca. Povrh toga, kolanci mogu skalirati da bi zadovoljili veliku brzinu i regulatorne zahteve svojih deoničara (stakeholders). Takav ko-lanac može upotrebljavati Algorand protokol konsenzusa za transakcije. Stoga se može implementirati privatni pandan javnog Algorand lanca blokova.
[0008] Premda je privatni ko-lanac sa dozvolom, validatori se upotrebljavaju da registruju transakcije privatnog ko-lanca sa glavnim lancem. Na primer, kada je tansakcija kreirana na privatnom lancu, zahtev za validaciju koji je povezan sa transakcijom prenosi se do validatorskog uređaja u privatnom ko-lancu. Validatori generišu obavezu povezanu sa transakcijom kao validaciju transakcije. Obaveza se može upotrebljavati za verifikovanje da je transakcija koja se dešava na privatnom ko-lancu validna (npr., za potvrđivanje da entitet koji razmenjuje imovinu zaista ima u vlasništvu tu imovinu). Obaveza može biti „nulto znanje“ i ne treba da otkriva bilo koju informaciju o pojedinačnim blokovima ili transakciji kripto imovine na privatnom ko-lancu. Dalje, obaveza se može dodati i na privatni ko-lanac i na glavni lanac.
[0009] Ko-lanci se upotrebljavaju za izvođenje transakcija kripto imovine, kao što su prenošenje iznosā kriptovalute, obavljanje prenosa kripto imovine, ili transakcije koje upotrebljavaju fungibilne tokene. Neka institucija može na javnom lancu blokova izdati transakciju koja dodeljuje određene imovine privatnom ko-lancu. Mapiranje između privatnog ko-lanca i njegovog kompletnog spiska imovina biće zapisano i ažurirano putem javnog lanca blokova. Ovde opisani postupci implementiraju brže, bezbednije i efikasnije mehanizme u poređenju sa tradicionalnim postupcima koji upotrebljavaju sporije, ad hoc i vulnerabilnije mehanizme.
Primer scenarija upotrebe privatnih lanaca blokova
[0010] Kao primer ko-lanca u upotrebi, ko-lanac C se povezuje sa računom A na glavnom lancu. Za svrhe ovog primera, „glavni lanac“ je javni lanac blokova, i „ko-lanac“ je privatni lanac blokova, npr., lanac blokova čije su transakcije vidljive samo određenom skupu entiteta i koji prihvata samo transakcije koje je napravio određeni skup entiteta. „Račun“, na koji se ponekad poziva kao na adresu, jeste vrednost koja poseduje kripto imovine na način matematičkog povezivanja između vrednosti i imovina. Račun se ponekad predstavlja javnim ključem, tako da vlasnik javnog ključa (npr., vlasnik odgovarajućeg privatnog ključa) može pristupiti imovinama koje poseduje račun. Drugačije rečeno, vlasnik javnog ključa poseduje račun koji odgovara javnom ključu. Na entitete koji poseduju, ili „imaju u vlasništvu“, račune lanca blokova, ponekad se poziva kao na članove lanca blokova.
[0011] Glavni lanac uključuje zapise koji ukazuju da račun A na glavnom lancu ima u vlasništvu skup imovina. Te imovine su u vlasništvu jednog ili više računa na ko-lancu C. Članovi glavnog lanca nemaju pristup informacijama o tome koji računi X na ko-lancu C imaju u vlasništvu posebne imovine računa A. U nekim primerima, glavni lanac ne mora da zadržava informacije da je račun A povezan sa specfičnim kolancem C. Prema tome, u tim primerima, članovi glavnog lanca mogu čak i da ne znaju da račun A odgovara ko-lancu C.
[0012] Kada račun X ko-lanca želi da prenese imovinu B na javni ključ PK (npr., javni ključ odredišta) na glavnom lancu, račun X autentifikuje to što namerava da učini, na primer, izračunavanjem digitalnog potpisa SIGx(B,PK,MAIN) i postavljanjem tog potpisa na blok ko-lanca C kao deo transakcije T. Takvo postavljanje uspeva jer je zaista tačno da račun X ima u vlasništvu imovinu B u ko-lancu C (npr., blok koji sadrži volju neće se dodavati ko-lancu C osim ako transakcija T nije validna). Validatori ko-lanca C autentifikuju za račun A da bi, na glavnom lancu, on trebalo da prenese imovinu B na PK. Na primer, oni mogu isporučiti računu A (npr., uzrokovati da račun A primi) „SIGc(B,PK)“. Ovde se „SIGc(B,PK)“ odnosi na skup digitalnih potpisa validatora ko-lanca C koji odgovaraju većini glasačkog uloga validatora ko-lanca C. Na primer, ako svaki validator ko-lanca C ima istu glasačku moć kao bilo koji drugi validator ko-lanca C, i ako postoji 100 validatora u ko-lancu C, onda SIGc(B,PK) odgovara digitalnom potpisu 80 validatora (B,PK)-a.
[0013] Kao drugi primer, validatori ko-lanca C mogu upotrebljavati šemu potpisa praga. U takvoj šemi, javni (verifikacioni) ključ PK može da nema odgovarajući tajni (potpisni) ključ SK koji je poznat jednom entitetu. Umesto toga, svaki validator i zna samo udeo SKi od SK. Upotrebljavajući SKi, validator i može izračunati validatorov sopstveni „delimični potpis“ (B,PK). Međutim, ako se ima dovoljno mnogo takvih delimičnih potpisa (npr., 66 od 100) osoba može izračunati pun potpis SIG(B,PK), koji je običan potpis u odnosu na PK i može se prema tome lako verifikovati znajući samo PK. U tom slučaju, osoba može postaviti SIGc(B,PK)=SIG(B,PK). Prednost tog pristupa je u tome da se (B,PK) autentifikuje jednim potpisom, umesto pomoću više potpisa, a ipak se osobi garantuje da je dovoljno mnogo verifikatora moralo da sarađuje za njegovo izračunavanje, i prema tome da dovoljno mnogo verifikatora jamči za prenos imovine B na PK na glavnom lancu.
[0014] U nekim primerima, račun A koji odgovara ko-lancu C na glavnom lancu takođe može biti račun kolanca C. Kao drugi primer, račun A se autorizuje za nadzor ko-lanca C. U tim primerima, validatori ko-lanca C ne moraju slati posebne SIGc(B,PK) računu A. Na primer, račun A može postaviti na glavni lanac transakciju koja B dodeljuje PK-u istog trenutka kada vidi da se pravilna transakcija postavlja od strane nekog računa X na ko-lancu C autorizujući prenos imovine B na ključ PK na glavnom lancu.
[0015] Da bi se izbeglo da računi A mogu dodeliti imovinu koja pripada računima ko-lanca C (jednom ili većem broju javnih ključeva PK) bez autorizacije ko-lanca C, osiguravamo da javni ključ PKa računa A u glavnom lancu (npr., javni ključ koji račun A upotrebljava za autorizovanje prenosa imovine B na PK na glavnom lancu) jeste javni ključ šeme potpisa praga i da odgovarajući tajni ključ nije poznat računu A (ili bilo kom drugom entitetu povezanom sa sistemom lanaca blokova). Umesto toga, svaki od verifikatora kolanca C ima u vlasništvu udeo od SK i može ga upotrebljavati za izračunavanje digitalnog potpisa pomoću koga račun A autorizuje prenos imovine B na PK na glavnom lancu. To jest, pod pretpostavkom da taj potpis jeste SIG(B,PK), onda svaki verifikator proizvodi sopstveni delimični potpis i pun potpis se sklapa od takvih delimičnih potpisa pomoću računa A, ili se pun potpis prvo sklapa (npr., od strane bilo kog entiteta koji je povezan sa lancem blokova) i onda se stavlja na raspolaganje računu A. Na taj način, samo verifikatori c-a mogu izračunavati potpis koji autorizuje prenos imovine B na PK na glavnom lancu, i činiće to samo kao odgoovr na pravilno postavljanje imovine B u ko-lanac C.
[0016] Tehnike opisane u ovom primeru opisane su dalje u nastavku sa obzirom na SL.4.
Primeri implementacija ko-lanaca
[0017] SL.1 prikazuje primer blok dijagrama platne mreže koja upotrebljava više ko-lanaca 120, 140. Platna mreža uključuje ko-lance 120, 140, javni lanac 104 blokova, i mrežu 116. Mreža 116 može uključivati delove interneta ili lokalne mreže. U drugim implementacijama, platna mreža može uključivati dodatne ili manji broj komponenata, i komponente se mogu povezivati na različit način.
[0018] Ko-lanci 120, 140 se mogu upotrebljavati za izvođenje transakcija kripto imovine, kao što su prenošenje iznosa kriptovalute, vršenje prenosa kripto imovine, ili transakcija koje upotrebljavaju fungibilne tokene. Institucija ili administrator (npr., javnog lanca 104 blokova) i ko-lanac 120 saglasni su o skupu imovina koje pripadaju ko-lancu 120. Na primer, institucija može izdati transakciju na javnom lancu 104 blokova koja dodeljuje posebne imovine ko-lancu 120. Mapiranje između ko-lanca 120 i njegovog kompletnog spiska imovina biće zapisano i ažurirano putem javnog lanca 104 blokova. Na primer, imovine koje pripadaju računima na ko-lancu 120 mogu se dodeliti posebnom računu na javnom lancu 104 blokova, tako da iz perspektive članova javnog lanca 104 blokova, račun poseduje sve imovine koje pripadaju računima na ko-lancu 120.
[0019] Transakcija kripto imovine prenosi određen iznos kripto imovine sa jednog računa kripto imovine na drugi. Kripto imovina se može odnositi na kripto valutu, npr., Algo, koja je projektovana da funkcioniše kao medijum razmene koji upotrebljava kriptografiju za osiguravanje finansijskih transakcija, kontrolisanje stvaranja dodatnih jedinica, ili verifikovanje prenosa kripto imovine. Kripto imovina se takođe može odnositi na bezbedno zapisivanje imovine, kao što je pravo svojine nad automobilom ili hipoteka, kojom upravlja lanac blokova.
[0020] Račun kripto imovine omogućava entitetu koji poseduje račun da skladišti kripto imovinu i/ili upravlja stanjima kripto valuta. Svaki račun kripto imovine ima identifikator računa, koji je jedinstveni identifikator. Račun kripto imovine pokazuje trenutno stanje za kripto imovinu i prikazuje transakcije entiteta. Entitet može poslati zahtev drugoj strani koja ima drugi račun kripto imovine za specifičan iznos kripto imovine.
[0021] Implementacije se ovde odnose na postupke i mehanizme za prenošenje kripto imovine sa privatnog lanca blokova (npr., ko-lanca 120) na javni lanac 104 blokova. Implementacije koje su prikazane ovde implementiraju brže, bezbednije i efikasnije mehanizme u poređenju sa tradicionalnim postupcima koji upotrebljavaju sporije, ad hoc i vulnerabilnije mehanizme. Implementacije se mogu upotrebljavati za implementiranje kontrole imovine i sistema prenosa, na primer, za finansiranje koje je povezano sa pravom svojine nad automobilima ili hipotekama povezanim sa nekretninama. Višelančane kriptografske transakcije mogu da reše mnoge scenarije i smanje potrebu za složenijim i računarski skupim pametnim ugovorima. Razmena imovine se može implementirati tamo gde transakcija uključuje razmenu nekog iznosa jedne imovine za drugu. Razmena nefungibilnog tokena (NFT) može se implementirati tamo gde se NFT razmenjuje za neki iznos fungibilnog tokena (npr., Algo).
[0022] Može se kreirati ko-lanac (npr., ko-lanci 120, 140) koji ima ograničen pristup (sa dozvolom) i koji je privatan. U nekim primerima, ko-lanac upotrebljava Algorand protokol konsenzusa. Premda je ko-lanac sa dozvolom, ovde prikazane implementacije traže da se upotrebi onoliko validatora 152 koliko je dostupno, da bi se poboljšala bezbednost. Stoga se može kreirati privatna verzija javnog Algorand lanca 104 blokova koja izvodi atomske razmene na Sloju 1. Sloj 1 se odnosi na osnovnu arhitekturu glavnog lanca blokova. Pomoću te arhitekture, ko-lanac može brzo komunicirati sa javnim lancem blokova (npr., javnim lancem 104 blokova) i služi kao most do javnog lanca blokova. Imovine se tako mogu prenositi na javni lanac blokova. Na primer, jedan entitet može želeti da proda neku imovinu. Ako entitet stavi na aukciju tu imovinu, aukcija se može izvoditi na javnom lancu blokova sa više ponuđača nego što bi bilo dostupno na ko-lancu.
[0023] U nekim implementacijama, imovina se prenosi sa računa jednog entiteta na ko-lancu 120 na javni ključ 144 entiteta u javnom lancu 104 blokova. Zato što je javni lanac 104 blokova bez dozvole, javni lanac 104 blokova prihvata javni ključ 144, npr., kada je javni ključ 144 generisan. Javni lanac 104 blokova zapisuje da ja javni ključ 144 dobio imovinu. Na primer, skup imovina se može preneti sa ko-lanca 120 na javni lanac 104 blokova pomoću jednog bloka 124 ko-lanca. Pre prenosa, blok 124 se strukturiše pomoću hešova (hashes). Entitet koji vrši prenos potpisuje heš bloka 124.
[0024] U nekim implementacijama, prenos sa ko-lanca 120 na javni lanac 104 blokova se hešuje. Prenos sa ko-lanca 120 na ko-lanac 120 se takođe hešuje. Oba heša se pojavljuju u bloku 124. Oba heša se sertifikuju da bi se otkrio prenos sa ko-lanca 120 na javni lanac 104 blokova bez otkrivanja prenosa sa kolanca 120 na ko-lanac 120. Provera se izvodi da bi se odredilo da li se prenosi hešuju na količinu imovine koja je deo bloka 124.
[0025] Prvi entitet koji ima pristup javnom lancu 104 blokova biće informisan o prenosu sa ko-lanca 120 na javni lanac 104 blokova. Kada drugi entitet potvrdi da je validator 152 ko-lanca 120, prvi entitet određuje da li je sertifikat zaista potpisan od strane drugog entiteta upotrebljavajući tehnike podudaranja. Validatorima 152 se može odrediti težina, npr., pouzdanom validatoru se dodeljuje veća težina. Ako je zbir težina dovoljan, prvi entitet određuje da je blok 124 validan. Ključ prenosioca imovine i ključ 144 primaoca se zapisuju u bloku 148.
[0026] Dodatni postupak za izvođenje prenosa imovine jeste prenos imovine na ključ (npr., ključ 144) u javnom lancu 104 blokova. Prvi entitet tada pravi zapis koji ukazuje da su ključ 144 u javnom lancu 104 blokova i imovina spojeni. Javni lanac 104 blokova se pravi tako da je svestan identiteta validatora 152. Svaki put kada se validator 152 promeni (npr., težina se doda ili oduzme, ili se validatoru 152 ponovo određuje težina), kvorum prethodnog skupa validatora 152 bilo specifikuje ili potpiše novi skup validatora 152. U nekim implementacijama, javni lanac 104 blokova se konfiguriše tako da toleriše malu promenu u informacijama o validatorima. Deo bloka 124, 148 se može rezervisati tako da uključuje nove validatore 152. Na primer, kada blok 124 uključuje prenos kripto imovine sa ko-lanca 120 na ko-lanac 140, blok 124 uključuje polje za promenu validatora. Prvom čvoru javnog lanca 104 blokova se omogućava da posmatra funkcije ko-lanca 120. Prvi čvor je prema tome svestan prenosa na ko-lanac 120. Drugom čvoru javnog lanca 104 blokova se omogućava da posmatra funkcije ko-lanca 140.
[0027] U nekim implementacijama, za olakšavanje prenosā se upotrebljava zastupnik 156. Na primer, 100 validatora može biti prisutno u sistemu lanca blokova koji je ilustrovan na SL. 1. Za transakciju bi bilo potrebno da najmanje 60 validatora potpiše blok 148. U takvim implementacijama se može upotrebljavati zastupnik 156. Jedan potpis zastupnika 156 bio bi dovoljan za validaciju. Međutim, zastupnik 156 bi mogao predstavljati jednu tačku neuspeha. Na primer, ako zastupnik 156 potpiše informacije o prenosima na kolancu 120 i zastupnik 156 je zlonameran ili kompromitovan, biće 20 blokova za prigovor. Validatori 152 mogu blokirati validaciju i prenos se poništava. Može se upotrebljavati jedan ili više zastupnika. Samo se validatorima 152 omogućava da informišu javni lanac 104 blokova da je zastupnik 156 promenjen.
[0028] U nekim implementacijama, entitet koji upravlja javnim lancem 104 blokova nije predstavljen ad hoc ključem 144 nego poznatim entitetom protiv koga postoji mogućnost korišćenja pravnog leka, na primer, pravo na revidiranje ili kažnjavanje. Dodatno polje zapisa može se dodati bloku 148 koji sadrži instrukcije za naredno procesovanje imovine, npr., sprovođenje aukcije. Polje zapisa može biti enkriptovano. Polje zapisa može ukazivati na prenos na menadžera ko-lanca 120 ili na drugi ključ. Polje zapisa može ukazivati na instrukciju za raspolaganje imovinama. U nekim implementacijama, vreme za izlečenje je nula, tj., zastupnik 156 je pouzdan. Tako se upotrebljavaju i lanci blokova bez dozvole i sa dozvolom.
[0029] U nekim implementacijama, validatori 152 povezani sa ko-lancem 120 primaju zahtev za validaciju povezan sa transakcijom kripto imovine. Zahtev za validaciju navodi svakog validatora 152 da validira transakciju kripto imovine. Najmanje jedan zastupnik 156 se identifikuje za sertifikovanje podataka u ime validatorā 152. Zastupnik 156 postavlja podatke na javni lanac 104 blokova koji je komunikabilno spojen sa ko-lancem 120. Validatori 152 određuju da li su podaci validni. Kao odgovor na određivanje, validatori 152 postavljaju izazov za podatke na javni lanac 104 blokova. U nekim implementacijama, izazov se postavlja na javni lanac 104 blokova pre nego što se broj pragova novih blokova (npr., 20 blokova) doda javnom lancu 104 blokova. U nekim implementacijama, podaci se povezuju sa obavezom 128.
[0030] Svakom validatoru 152 se može dodeliti težina koja ukazuje na stepen koliko je validator 152 pouzdan. Određivanje da su podaci validni izvodi se kao odgovor na zbir težina validatorā 152 koji premašuje težinu praga. U nekim implementacijama, javni lanac 104 blokova prima poruku koja ukazuje na identitet svakog validatora, težinu koja je dodeljena svakom validatoru i određenje da zbir težina validatorā 152 premašuje težinu praga. Javni lanac 104 blokova zapisuje prvi ključ 144 prenosioca kripto imovine u transakciji kripto imovine i drugi ključ primaoca kripto imovine u transakciji kripto imovine u novom bloku 148 javnog lanca 104 blokova.
[0031] U nekim implementacijama, javni lanac 104 blokova prima poruku koja ukazuje na željeni prenos kripto imovine na primaoca kripto imovine. Javni lanac 104 blokova zapisuje prenos kripto imovine na primaoca kripto imovine. U nekim implementacijama, vreme za izlečenje koje je povezano sa transakcijom kripto imovine je manje od graničnog vremena za izlečenje koje ukazuje da je najmanje jedan pouzdan zastupnik 156. Transakcija kripto imovine može prenositi kripto imovinu sa ko-lanca 120 na javni lanac 104 blokova. Transakcija kripto imovine može prenositi kripto imovinu sa javnog lanca 104 blokova na ko-lanac 120. Transakcija kripto imovine može prenositi kripto imovinu sa ko-lanca 120 na drugi ko-lanac 140. Transakciju kripto imovine olakšava javni lanac 104 blokova. Upotrebljava se arhitektura prolaska poruke, tako da privatni ko-lanci 120, 140 mogu biti još decentralizovaniji nego javni lanac 104 blokova.
[0032] Ko-lanac 120 može biti u vlasništvu ili ga može administrirati velika banka ili nacionalna država. Kolanac 120 može upotrebljavati javni lanac 104 blokova kao bezbednosni mehanizam za sebe. Na primer, učesnici ko-lanca 120 mogu staviti visok nivo poverenja u javni lanac 104 blokova. Stoga ko-lanac 120 može izvoditi heš celog bloka 124 i stavljati ga na javni lanac 104 blokova. Ako se na svakih 100 blokova heš uzima iz bloka na ko-lancu 120, izračunavanje se može restartovati od tog bloka. U takvom slučaju, ne samo da se hešuje transakcija, već celo stanje svakog entiteta koji je vlasnik neke imovine u datoj tački.
[0033] U nekim implementacijama, kada ko-lanac 120 kreira novu imovinu, ko-lanac 120 može kreirati imovinu na javnom lancu 104 blokova i onda je preneti nazad na ko-lanac 120. To se radi zato što kada učesnik ko-lanca 120 kasnije želi da proda imovinu, javni lanac 104 blokova ima zapis o vlasništvu nad imovinom na ko-lancu 120. Ako je ko-lanac 120 kompromitovan, imovinu kreiranu na javnom lancu 104 blokova teže je dva puta prodati (dva puta potrošiti) na ko-lancu 120 nego ako je imovina prvo kreirana na ko-lancu 120. Na primer, javni lanac 104 blokova može izvoditi izvesne provere. Javni lanac 104 blokova može proveravati zastupnika 156 i takođe proveravati da je imovina još u vlasništvu ko-lanca 120.
Prenos kripto imovina između dva privatna ko-lanca olakšan javnim lancem blokova
[0034] U nekim implementacijama, korisnički uređaj instancira transakciju kripto imovine na prvom privatnom lancu 120 blokova za prenos prvog iznosa prve kripto imovine sa prvog računa 124 kripto imovine na drugi račun 136 kripto imovine koji je povezan sa drugim privatnim lancem 140 blokova. Korisnički uređaj može biti mobilni telefon, računar ili tablet implementiran kao što je ilustrovano i opisan detaljnije uz pozivanje na SL. 5. Validatorski uređaj 152 validira prvu transakciju kripto imovine da bi se generisala prva obaveza 128 povezana sa prvim jednokratnim ključem 144. Prvi računarski uređaj povezan sa prvim privatnim lancem 120 blokova postavlja prvu obavezu 128 na javni lanac 104 blokova. Prvi računarski uređaj može biti desktop, laptop ili server implementiran kao što je ilustrovano i opisan detaljnije uz pozivanje na SL.5. Drugi računarski uređaj povezan sa javnim lancem 104 blokova dodeljuje prvi iznos prve kripto imovine prvom jednokratnom ključu 144 na javnom lancu 104 blokova. Drugi računarski uređaj može biti desktop, laptop ili server implementiran kao što je ilustrovano i opisan detaljnije uz pozivanje na SL.5. Drugi računarski uređaj izvodi atomsku razmenu između prvog iznosa prve kripto imovine i drugog iznosa druge kripto imovine. Drugi iznos druge kripto imovine se dodeljuje drugom jednokratnom ključu koji je povezan sa drugom obavezom 132. Druga obaveza 132 treba da prenese drugi iznos druge kripto imovine sa drugog računa 136 kripto imovine na prvi račun 124 kripto imovine.
[0035] U nekim implementacijama, ključ koji nije jednokratni ključ dodeljuje se prvoj kripto imovini. Na primer, ključ može biti ključ koji se upotrebljava od strane prvog privatnog lanca 120 blokova za prenose kripto imovina na javni lanac 104 blokova.
[0036] U nekim implementacijama, prvi korisnički uređaj povezan sa prvim računom 124 kripto imovine na ko-lancu 120 sa dozvolom instancira transakciju kripto imovine. Prvi računarski uređaj (kao što je administratorski uređaj) povezan sa ko-lancem 120 generiše privatni ključ pomoću kriptografije eleptične krive. Privatni ključ je za potpisivanje transakcije kripto imovine od strane prvog korisničkog uređaja. Transakcija kripto imovine treba da prenese prvi iznos prve kripto imovine sa prvog računa 124 kripto imovine (na ko-lancu 120) na drugi račun 136 kripto imovine (na ko-lancu 140). Prva kripto imovina može uključivati prava svojine nad automobilima, hipoteke, obveznice, ili akcije, itd. Prenosi između javnog lanca 104 blokova i ko-lanca 120 se vrše (a) povlačenjem prve kripto imovine sa ko-lanca 120 i zatim (b) njenim deponovanjem na javni lanac 104 blokova. Drugi račun 136 kripto imovine je povezan sa ko-lancem 140. Transakcija je privatna za ko-lanac 120. Takva transakcija i blok 124 ko-lanca 120 se ne propagiraju na javni lanac 104 blokova osim ako ih ne postavi administrator ko-lanca 120.
[0037] U nekim implementacijama, prvi korisnički uređaj generiše prvi jednokratni ključ 144 koji anonimizuje identitet prvog računa 124 kripto imovine. U drugim implementacijama, koričnički uređaj može prenositi kripto imovinu na dugoročni ključ sa manje oslanjanja na anonimnost. Skup validatorskih uređaja 152 ko-lanca 120 prima zahtev za validaciju povezan sa transakcijom kripto imovine. Validatorski uređaji 152 su povezani sa ko-lancem 120. Prvi računarski uređaj (ko-lanca 120) može registrovati validatorske uređaje 152 na javnom lancu 104 blokova. Svaki validatorski uređaj ima različit javni ključ za validiranje transakcija kripto imovine. Prema tome, ko-lanac 120, 140 registruje skup javnih ključeva validatorā na javnom lancu 104 blokova. Administratori privatnog ko-lanca mogu izdati transakciju „kreiraj privatni lanac“ koja uključuje skup validatora 152 koji moraju potpisati svaki blok 124.
[0038] U nekim implementacijama, zahtev za validaciju navodi svakog validatora 152 da validira transakciju kripto imovine. Javni lanac 104 blokova prati skup javnih ključeva autorizovanih da budu validatori 152 za svaki ko-lanac 120, 140. Validatori 152 validiraju tansakciju kripto imovine da bi se generisala obaveza 128 povezana sa prvim jednokratnim ključem 144. Validatori 152 mogu biti mobilni telefoni, računari, ili tableti, itd. Svaki ko-lanac 120 može prema tome izvoditi nezavisni konsenzus o svakom bloku 124 transakcija. Prvi računarski uređaj povezan sa ko-lancem 120 postavlja obavezu 128 na javni lanac 104 blokova. Na taj način, ko-lanac 120 može ispunjavati regulatorne obaveze. Da bi postavio obavezu 128 na javni lanac 104 blokova, prvi računarski uređaj enkriptuje pomoćne informacije povezane sa transakcijom kripto imovine pomoću enkripcije zasnovane na atributima. Na primer, svaki unos u tabeli stanja je označen sa Ei. Privatni validatori 152 ko-lanca proizvode obavezu: Chain_1_Commit_Round_R na kolekciji unosa E1, ..., EN. Na kraju runde, validatori 152 ko-lanca proizvode sertifikat Chain_1_Cert_Round_R koji autorizuje obavezu Chain_1_Commit_Round_R.
[0039] Samovalidirajuće transakcije mogu se kreirati u različitim implementacijama. U nekim implementacijama, obaveze 128 za zapise se instanciraju kao što se izvode i samovalidirajuće transakcije. Na primer, validatori 152 privatnih ko-lanaca mogu proizvesti dve obaveze. Jedna obaveza odgovara zahtevu za povlačenje, a druga obaveza odgovara drugom stanju unutar ko-lanca 120. U drugim implementacijama, validatori 152 mogu otkriti svaki zahtev za povlačenje, bez potrebe za generisanjem dodatnih dokaza. U još nekim drugim implementacijama, samovalidirajuća transakcija uključuje transakciju koja se postavlja na ne-privatnu oblast bloka 124. Takva transakcija može biti deo zaglavlja bloka koje može uključivati heš prethodnog bloka, broj bloka, skup ne-privatnih transakcija, i obavezu 128 za skup privatnih transakcija. Zaglavlje sertifikovanog bloka ko-lanca 120 tako omogućava transakcije koje prenose imovine sa ko-lanca 120 na lanac 140 sa dozvolom da bi same sebe validirale.
[0040] U nekim implementacijama, prvi korisnički uređaj (povezan sa prvim računom 124 kripto imovine ko-lanca 120) autentifikuje dokaz 112 transakcije kripto imovine. Dokaz 112 je povezan sa obavezom 128. Prvi korisnički uređaj postavlja autentifikovani dokaz 112 na javni lanac 104 blokova. Prema tome, sertifikat i obaveza 128 se postavljaju na javni lanac 104 blokova. Obaveza 128 se projektuje tako da je „nulto znanje“ i ne otkriva nikakve informacije o pojedinačnim unosima E1, ..., EN na lancu 104 blokova.
[0041] Drugi računarski uređaj (kao što je administratorski uređaj javnog lanca 104 blokova) povezan je sa javnim lancem 104 blokova. Drugi računarski uređaj dodeljuje prvi iznos prve kripto imovine prvom jednokratnom ključu 144 na javnom lancu 104 blokova. Lanac 104 blokova može čuvati dodeljivanje u unosu tabele stanja. Za svaku rundu, validatori 152 ko-lanca 120 postižu saglasnost o tabeli stanja imovina. Svaki blok 124 proizveden od strane ko-lanca 120 prema tome uključuje obavezu 128 za unose tabele stanja. Drugi računarski uređaj uklanja prvi iznos prve kripto imovine iz tabele stanja koja je povezana sa ko-lancem 120. Drugi računarski uređaj (lanca 104 blokova) takođe uklanja drugi iznos druge kripto imovine iz druge tabele stanja javnog lanca 104 blokova koji je povezan sa ko-lancem 140. U nekim implementacijama, drugi računarski uređaj dodeljuje drugi iznos druge kripto imovine drugom jednokratnom ključu na javnom lancu 104 blokova. Drugi jednokratni ključ anonimizuje identitet drugog računa 136 kripto imovine na ko-lancu 140. U drugim implementacijama, drugi korisnički uređaj može prenositi drugu kripto imovinu na drugi dugoročni ključ sa manje oslanjanja na anonimnost.
[0042] Drugi računarski uređaj izvodi atomsku razmenu između prvog iznosa prve kripto imovine i drugog iznosa druge kripto imovine. Razmena imeđu prvog iznosa prve kripto imovine i drugog iznosa druge kripto imovine je atomska, što znači da se razmena izoluje od drugih transakcija koje se mogu događati u isto vreme. Razmena je prema tome nedeljiva, tako da se razmena izvodi bez iakve druge transakcije koja se javlja između. Drugi jednokratni ključ je povezan sa obavezom 132. Obaveza 132 treba da prenese drugi iznos druge kripto imovine sa drugog računa 136 kripto imovine na prvi račun 124 kripto imovine. Obaveza 132 rezultuje iz bloka u ko-lancu 140. Dva poštena privatna ko-lanca 120, 140 mogu prema tome razmenjivati kripto imovine putem javnog lanca 104 blokova. Javni lanac 104 blokova će u skladu sa tim ažurirati stanja ko-lanca.
[0043] U nekim implementacijama, drugi računarski uređaj (lanca 104 blokova) čuva zapis o atomskoj razmeni u distribuiranoj knjizi transakcija javnog lanca 104 blokova. Zapis se poziva na privatni ko-lanac 120, 140. Prema tome, dva korisnika U1 i U2 koji pripadaju dvama odvojenim privatnim ko-lancima 120, 140 mogu zameniti imovine zabeležene u zapisima E1 i E2 na odgovarajućim privatnim ko-lancima 120, 140. U nekim implementacijama, javni lanac 104 blokova uključuje razmenu valute. Prva kripto imovina može biti prva valuta, a druga kripto imovina može biti druga valuta.
[0044] U nekim implementacijama, javni lanac 104 blokova uključuje razmenu nefungibilnih tokena (NFT). Prva kripto imovina je NFT i druga kripto imovina je skup fungibilnih tokena. Platna mreža može prema tome generisati i vršti transakcije sa tokenima fungibilne kriptovalute koji su povezani sa posebnom kriptovalutom. Token je fungibilan ako se bilo koje dve od njegovih jedinica mogu međusobno zamenjivati. Primer fungibilnog tokena je kada bilo koje dve jedinice imaju istu kupovnu moć. U nekim implementacijama, javni lanac 104 blokova uključuje razmenu NFT, gde prva kripto imovina jeste prvi NFT i druga kripto imovina jeste drugi NFT. Na primer, drugi računarski uređaj može generisati NFT na lancu 104 blokova. NFT tokenizuje prvu kripto imovinu. U nekim implementacijama, vlada ili neka institucija želi da tokenizuje neku imovinu. Institucija može kreirati novi token na lancu 104 blokova pomoću standardnih API poziva za kreiranje tokena. Institucija može tada ostati kao administrator imovine.
[0045] Drugi računarski uređaj (lanca 104 blokova) ažurira tabelu stanja javnog lanca 104 blokova sa drugim iznosom druge kripto imovine. Tabela stanja je povezana sa ko-lancem 120. Javni lanac 104 blokova zadržava „stanja“ imovina za svaki ko-lanac 120, 140, tako da privatni ko-lanci 120, 140 mogu obavljati transakcije sa drugim ko-lancima. Prvi korisnički uređaj (povezan sa prvim računom 124 kripto imovine) inicira drugu transakciju kripto imovine da bi se preneo drugi iznos druge kripto imovine sa javnog lanca 104 blokova na ko-lanac 120. U nekim slučajevima, administrator privatnog ko-lanca može biti isti kao institucija koja kreira imovinu na javom lancu 104 blokova. Prema tome, kripto imovina je razmenjena.
[0046] U nekim implementacijama, korisnički uređaj generiše prvi jednokratni ključ 144 koji anonimizuje identitet prvog računa 124 kripto imovine ko-lanca 120. Prema tome, privatni ko-lanci dopuštaju korisnicima da obavljaju transakcije privatno u zatvorenom mrežnom okruženju. Transakcije koje propagiraju u ko-lancu 120 nisu vidljive za ceo svet. Korisnički uređaj instancira transakciju kripto imovine na ko-lancu 120 da bi se preneo neki iznos kripto imovine sa prvog računa 124 kripto imovine na drugi račun 136 kripto imovine ko-lanca 120. Računarski uređaj (administrator ko-lanca 120) može generisati privatni ključ pomoću kriptografije eliptične krive, privatni ključ za potpisivanje transakcije kripto imovine od strane korisničkog uređaja. Identitet drugog računa 136 kripto imovine se anonimizuje pomoću drugog jednokratnog ključa. Računarski uređaj (administrator ko-lanca 120) registruje skup validatora 152 na javnom lancu 104 blokova. Svaki validator 152 ima različit javni ključ za validiranje transakcija kripto imovine. Za svaku takvu rundu R, validatori 152 ko-lanca 120 postižu saglasnost o tabeli stanja imovina. Svaki blok 124 proizveden od strane ko-lanca 120 uključuje obavezu unosā tabele stanja.
[0047] Validatori 152 povezani sa ko-lancem 120 primaju zahtev za validaciju povezan sa transakcijom kripto imovine. Zahtev za validaciju navodi svakog validatora 152 da validira transakciju kripto imovine. Svaki ko-lanac 120, 140 može izvoditi nezavisan konsenzus o svakom bloku transakcija. Validatori 152 validiraju prvu transakciju kripto imovine da bi se generisala obaveza 128 povezana sa prvim jednokratnim ključem 144 i drugim jednokratnim ključem. Korisnički uređaj autentifikuje dokaz 112 transakcije kripto imovine. Dokaz 112 je povezan sa prvom obavezom 128. Korisnički uređaj postavlja autentifikovani dokaz 112 na javni lanac 104 blokova. Prema tome, ko-lanac 120 može zadovoljiti regulatorne obaveze. Računarski uređaj (administrator) povezan sa ko-lancem 120 dodaje transakciju kripto imovine bloku 124 ko-lanca 120. Blok 124 se poziva na obavezu 128. Prema tome, transakcije i blokovi 124 privatnog ko-lanca 120 ne propagiraju na javni lanac 104 blokova.
[0048] Kao odgovor na dodavanje transakcije kripto imovine na blok 124, računarski uređaj postavlja obavezu 128 na javni lanac 104 blokova koji je komunikabilno spojen sa ko-lancem 120. Računarski uređaj enkriptuje pomoćne informacije povezane sa transakcijom kripto imovine upotrebljavajući enkripciju zasnovanu na atributima. Administratori ko-lanca mogu upravljati vidljivošću pojedinačnih transakcija i imovina ko-lanca upotrebljavajući standardne mrežne protokole i politike kontrole pristupa. Povrh toga, administratori mogu ispunjavati svoje potrebne regulatorne obaveze i zahteve za brzinom koje upućuju njegovi klijenti. Sertifikat 112 i obaveza 128 se postavljaju na lanac 104 blokova. Računarski uređaj izvodi atomsku razmenu iznosa kripto imovine sa prvog računa 124 kripto imovine na drugi račun 136 kripto imovine na ko-lancu 120. Javni lanac 104 blokova čuva zapis 108 transakcije kripto imovine u distribuiranoj knjizi transakcija javnog lanca 104 blokova. Zapis 108 se odnosi na obavezu 128.
[0049] U nekim implementacijama, korisnički uređaj generiše prvi jednokratni ključ 144 koji anonimizuje identitet prvog računa 124 kripto imovine privatnog lanca 120 blokova. Korisnički uređaj je povezan sa prvim računom 124 kripto imovine. Korisnički uređaj instancira transakciju kripto imovine na privatni lanac 120 blokova da bi se iznos kripto imovine sa prvog računa 124 kripto imovine preneo na drugi račun 136 kripto imovine privatnog lanca 140 blokova, pri čemu je identitet drugog računa 136 kripto imovine anonimizovan drugim jednokratnim ključem. Validatorski uređaj 152 povezan sa privatnim lancem 120 blokova prima zahtev za validaciju povezan sa transakcijom kripto imovine. Zahtev za validaciju navodi svaki validatorski uređaj 152 da validira transakciju kripto imovine. Validatorski uređaj 152 validira transakciju kripto imovine da bi se generisala obaveza 128 povezana sa prvim jednokratnim ključem 144 i drugim jednokratnim ključem. Računarski uređaj povezan sa privatnim lancem 120 blokova postavlja transakciju kripto imovine na blok privatnog lanca 120 blokova. Računarski uređaj može biti desktop, laptop, ili server implementiran kao što je ilustrovano i opisano detaljnije uz pozivanje na SL. 5. Blok upućuje na obavezu 128. Kao odgovor na postavljanje transakcije kripto imovine na blok, računarski uređaj postavlja obavezu 128 na javni lanac 104 blokova koji je komunikabilno spojen sa privatnim lancem 120 blokova.
Prenos između privatnog ko-lanca i javnog lanca blokova
[0050] U nekim implementacijama, korisnički uređaj instancira transakciju kripto imovine na privatnom lancu 120 blokova da bi se iznos kripto imovine sa prvog računa 124 kripto imovine na privatnom lancu 120 blokova preneo na drugi račun kripto imovine na javnom lancu 104 blokova. Validatorski uređaji 152 validiraju transakciju kripto imovine da bi se generisala obaveza 128 povezana sa jednokratnim ključem 144. Prvi računarski uređaj povezan sa privatnim lancem 120 blokova postavlja obavezu 128 na javni lanac 104 blokova. Drugi računarski uređaj povezan sa javnim lancem 104 blokova dodeljuje iznos kripto imovine jednokratnom ključu 144 na javnom lancu 104 blokova. Drugi računarski uređaj izvodi atomsku razmenu iznosa kripto imovine između jednokratnog ključa 144 i drugog računa kripto imovine, tako da se iznos kripto imovine dodeljuje drugom računu kripto imovine na javnom lancu 104 blokova.
[0051] U nekim implementacijama, korisnički uređaj instancira transakciju kripto imovine na javnom lancu 104 blokova da bi se iznos kripto imovine sa prvog računa kripto imovine javnog lanca blokova preneo na drugi račun kripto imovine na privatnom lancu 120 blokova. Validatorski uređaj 152 validira transakciju kripto imovine da bi se generisala obaveza 128 povezana sa jednokratnim ključem 144. Računarski uređaj povezan sa javnim lancem 104 blokova postavlja obavezu 128 na javni lanac 104 blokova. Računarski uređaj povezuje jednokratni ključ 144 sa drugim računom kripto imovine. Računarski uređaj dodeljuje iznos kripto imovine jednokratnom ključu 144. Računarski uređaj prenosi iznos kripto imovine na privatni lanac 120 blokova.
[0052] U nekim implementacijama, prvi računarski uređaj povezan sa ko-lancem 120 generiše iznos kripto imovine na javnom lancu 104 blokova. Iznos kripto imovine se dodeljuje jednokratnom ključu 144 koji anonimizuje račun 124 kripto imovine na privatnom lancu 120 blokova koji je komunikabilno spojen sa javnim lancem 104 blokova. Prvi računarski uređaj instancira transakciju kripto imovine da bi se iznos kripto imovine sa javnog lanca 104 blokova preneo na račun 124 kripto imovine na privatnom lancu 120 blokova upotrebljavajući jednokratni ključ 144. Najmanje jedan zastupnik 156 od više validatora 152 validira transakciju kripto imovine. Drugi računarski uređaj povezan sa javnim lancem 104 blokova izvodi najmanje jednu proveru povezanu sa transakcijom kripto imovine. Prvi računarski uređaj prenosi iznos kripto imovine sa javnog lanca 104 blokova na račun 124 kripto imovine na privatnom lancu 120 blokova upotrebljavajući jednokratni ključ 144.
[0053] U nekim implementacijama, ključ koji nije jednokratni ključ dodeljuje se prvoj kripto imovini. Na primer, ključ može biti ključ koji se upotrebljava od strane prvog privatnog lanca 120 blokova za sve prenose kripto imovina na javni lanac 104 blokova.
Identifikacija zastupnika za sertifikovanje podataka
[0054] U nekim implementacijama, validatori 152 povezani sa privatnim lancem 120 blokova primaju zahtev za validaciju povezan sa transakcijom kripto imovine. Zahtev za validaciju navodi svakog validatora 152 da validira transakciju kripto imovine. Najmanje jedan zastupnik 156 se identifikuje za sertifikovanje podataka u ime validatorā 152. Najmanje jedan zastupnik 156 postavlja podatke na javni lanac 104 blokova koji je komunikabilno spojen sa privatnim lancem 120 blokova. Validatori 152 određuju da li su podaci validni. Kao odgovor na određivanje, validatori 152 postavljaju izazov za podatke na javni lanac 104 blokova. Zastupnik se tada može verifikovati kada odgovori na izazov.
[0055] U nekim implementacijama, zastupnik 156 povezan sa privatnim lancem 120 blokova identifikuje podatke sa jednog ili više blokova privatnog lanca 120 blokova. Zastupnik 156 određuje da li su podaci validirani od strane jednog ili više validatora 152 povezanih sa privatnim lancem 120 blokova. Zastupnik 156 generiše digitalni potpis podataka. Kao odgovor, podaci i digitalni potpis se postavljaju na javni lanac 104 blokova povezan sa privatnim lancem 120 blokova.
Privatni i javni lanci blokova
[0056] FIG.2 prikazuje primer upotrebe platne mreže koja upotrebljava više privatnih ko-lanaca 264, 268 sa dozvolom, u skladu sa jednom ili više implementacija. Privatni i javni lanci blokova igraju komplementarne uloge. U prvatnom (npr., sa dozvolom) ko-lancu 264, strane unutar pod-zajednice mogu obavljati transakcije između sebe a da njihovi identiteti i interakcije ne postaju vidljivi za spoljašnje strane. U javnom (npr., bez dozvole) lancu 200 blokova, sve strane mogu posmatrati sve transakcije. Na primer, banke 204 i 208 mogu obavljati interne transakcije na sopstvenim privatnim ko-lancima 264, 268 da bi povećale brzinu, sakrile svoje aktivnosti od konkurenata i olakšale poštovanje propisa.
[0057] Recimo, strana 212 u banci 264 želi da trguje imovinama 216 sa stranom 236 u banci 268. Zato što nijedna strana ne želi da izloži svoj privatni ko-lanac drugoj strani, strane 212, 236 premeštaju imovine 216, 240 kojima treba da se trguje sa svojih privatnih ko-lanaca 264, 268 na opšti javni lanac 200 blokova, vrše trgovinu na lancu 200 blokova, zatim svoje novostečene imovine 240, 216 vraćaju na svoje odgovarajuće privatne ko-lance 264, 268. Entiteti 212, 220, 228 se odnose na korisnike ili račune na privatnom ko-lancu 264. Entiteti 216, 234, 232 su imovine. Kada banka 204 kreira privatnu transakciju 244, postavlja obavezu 252 na javni lanac 200 blokova tako što anonimizuje identitet računa 212. Javni lanac blokova kreira blok 248 tako da predstavlja transakciju 244. Slično se generišu blokovi 256, 260.
[0058] Vršenje trgovina tako što se imovine premeštaju između privatnih i javnih lanaca blokova obezbeđuje brz i bezbedan način za poravnanje transakcija između 204, 208. Povrh toga, takva trgovina ne ugrožava privatnost strana, jer nijedna strane ne mora da sazna precizan identitet druge strane. U tradicionalnim finansijskim sistemima, banke zadržavaju privatne knjige, i povremeno (na kraju sata, dana ili sedmice) izvode poravnanja između sebe. Međutim, sloj tradicionalnih poravnanja je spor i skup. Na primer, potrebno je do 3 dana za transakcija između knjiga banaka. Globalna mreža međulančanog plaćanja zasnovana na prikazanim implementacijama omogućava korisnicima da obavljaju transakcije između privatnih knjiga gotovo trenutno i po niskoj ceni. Prikazane implementacije omogućavaju stranama 212, 236 u različitim privatnim ko-lancima 264, 268 da razmenjuju imovine 216, 240 na efikasan način bez ugrožavanja privatnosti ili bezbednosti. Specifično, kolekcija privatnih ko-lanaca 264, 268 upotrebljava opšti javni lanac 200 blokova kao „neutralno tlo“ za razmene.
Komunikabilno spojeni ko-lanci
[0059] U nekim implementacijama, ko-lanci izvršavaju varijantu konsenzusnog algoritma otpornog na vizantijske greške (BFT – Byzantine Fault-Tolerant). BFT protokoli obezbeđuju bezbednost čak i kada je komunikacija asinhrona, i osiguravaju živost kada komunikacija postane sinhrona tokom dovoljnog vremenskog perioda. U BFT protokolima, skup validatora 152 (Vset) odobrava svaki blok transakcija. Validatori 152 su ilustrovani i opisani detaljnije uz pozivanje na SL.1. Validatori 152 se identifikuju pomoću svojih javnih ključeva u skupu Vset. U nekim implementacijama, upotrebljavaju se nefungibilne imovine (npr., prava svojine nad automobilima, identifikatori poklon kartica, itd.). U drugim implementacijama, arhitektura podržava fungibilne imovine.
[0060] Ko-lanci prema prikazanim implementacijama imaju sledeća svojstva. Prvo, ko-lanci (npr., ko-lanac 120) proizvodi obaveze 128 za imovine ko-lanaca. Ko-lanac 120 i obaveza 128 su ilustrovani i opisani detaljnije uz pozivanje na SL.1. Ko-lanac 120 proizvodi kriptografsku obavezu 128 (Cr) cele tabele stanja ko-lanca 120 (mapiranje svih imovina i njihovih vlasnika) na svakom bloku 124. Ta obaveza 128 podržava dovoljne dokaze o članstvu i ne-članstvu. Drugo, generišu se sertifikati blokova. Za svaku rundu r, validatori 152 potvrđuju svaki blok Brtransakcija i proizvode odgovarajući sertifikat runde, Certr, i obavezu Crrunde. Entitet može verifikovati torku (Cr, Certr) ako je data prethodna obaveza bloka sa povezanim sertifikatom (Cr-1, Certr-1) i algoritmom verifikacije (VerifyBlock) koji javno poznaju učesnici u mreži. Na primer, algoritam verifikacije bi mogao prosto specifikovati prag T (kvorum) validatora 152 koji moraju odobriti tranziciju stanja.
[0061] Treće, pošto je kreiran sertifikat runde, transakcije u bloku se smatraju finalnim i ne mogu se opozvati ili menjati. Povrh toga, u bilo kojoj tački u vremenu, postoji samo jedan validan sertifikat, Certr, koji sertifikuje jednu obavezu Crza bilo koju rundu r.
[0062] Privatni ko-lanac se stoga odnosi na ko-lanac sa dozvolom u kome izabrani skup validatora 152 (Vset), koji se identifikuju svojim javnim ključevima, odobrava svaki blok transakcija. Skup validatora 152 se može menjati, dokle god sadašnji skup validatora 152 odobrava promene. Slično, svako ko želi da se pridruži privatnom ko-lancu treba da bude odobren od strane sadašnjih validatora 152. Sve promene članstva u skupu validtora 152 ili učesnika zapisuju se kao specijalne transakcije na lancu blokova. Privatni ko-lanci mogu na transakcije i stanja primenjivati različita pravila vidljivosti na nivou mreže. Na primer, kolanac se može konfigurisati, tako da samo validatori 152 mogu videti transakcije i stanja, ili identitet učesnika. Javni lanac blokova omogućava svakome da se pridruži mreži bez odobrenjā. Sve transakcije i stanja korisnika su vidljivi svakome ko se pridruži mreži. U skladu sa pravilima konsenzusa, svaki učesnik može postati validator 152 u mreži.
Kriptografske obaveze
[0063] Šema obaveza koja se upotrebljava u prikazanim implementacijama ima sledeća svojstva. Prvo, Commit(E1, EN) = C. Algoritam obavezivanja uzima kao ulaz kolekciju zapisa (npr., svaki zapis je mapiranje između javnog ključa i imovine). Kao izlaz daje kratku obavezu za ceo skup (npr., 32 bajta). Drugo, Open(E1, ..., EN, C, i) = Pi. Algoritam otvaranja uzima kao ulaz kolekciju zapisa sa odgovarajućom obavezom i indeks i ≤ N. Kao izlaz daje sažet dokaz Piza zapis Ei. Treće, Verify(C, Ei, Pi, i) = 1. Algoritam verifikacije uzima kao ulaz obavezu i zapis sa odgovarajućim dokazom. Kao izlaz daje 1 ako i samo ako i samo ako Eijeste zaista obavezan na poziciji i. Četvrto, UpdateCommit(C, Pi, Ei, E’ i, i) = C’. Funcija ažuriranja obaveze uzima kao ulaz obavezu, zapis sa dokazom i modifikovani zapis. Kao izlaz daje novu obavezu C’ koja zamenjuje zapis Eisa E’ iu poziciji i.
[0064] Šeme obaveza zadovoljavaju svojstva vezivanja i skrivanja pozicija. Vezivanje pozicija se odnosi na funkcionalnost da nijedan protivnik ne može proizvesti validnu obavezu C i dva validna dokaza za zapise Ei, E’iza istu poziciju i. Svojstvo skrivanja se odnosi na funkcionalnost da se, ako je data obaveza C i bilo koji broj otvaranja sa odgovarajućim dokazima {Ei, Pi, i}, ne otkriva nijedna informacija o preostalim neotvorenim zapisima.
Obaveze za samovalidirajuće transakcije
[0065] U nekim implementacijama, samovalidirajuće transakcije se konstruišu od efikasnih kriptografskih obaveza u ko-lancu zasnovanom na računu. Pretpostavimo, za svaki blok r, da validatori 152 ko-lanca proizvode (Br, Certr, Cr), gde Crjeste kriptografska obaveza za stanja koja specifikuju entitet koji ima u vlasništvu svaku imovinu. Pretpostavimo da validatori 152 čuvaju samo Crnakon što je runda r finalizovana. Korisnik koji želi da instancira transakciju T koja utiče na njen zapis Eiu tabeli stanja može pokrenuti (ili delegirati nekome) Open(E1, ..., EN, Cr, i) = Pi. Korisnik propagira (T, Ei, Pi, i) na mrežu. Tada, svaki validator 152 koji drži Crza blok r može verifikovati T pomoću sledećih pet koraka. Prvo, proveriti da Verify(Cr, Ei, Pi, i) = 1. Drugo, proveriti da je T validno prema logici transakcije. Na primer, provera bi trebalo da uključuje da se transakcija potpisuje pod PK specifikovanim u Ei, i transakcija specifikuje novi javni ključ PK*.
[0066] Treće, svi validatori 152 ažuriraju Ei--> E’ida bi se odrazio prenos vlasništva nad imovinom, kao što je specifikovano u T. Četvrto, validatori 152 ažuriraju obavezu UpdateCommit(Cr, Pi, Ei, E’ i, i) = Cr+1da bi se odrazila promena u tabeli stanja. Peto, validatori 152 se saglašavaju o ažuriranoj obavezi Cr+1 putem protokola konsenzusa.
[0067] U ovom modelu, od validatora 152 se ne zahteva da čuvaju sve unose stanja. Umesto toga, oni samo učestvuju u konsenzusu i saglašavaju se o novoj obavezi Cr+1koja odražava sve transakcije koje se prihvataju u bloku Br+1. To omogućava efikasniju verifikaciju transakcija sa manjim brojem resursa. Na primer, jedan nepouzdan arhivski servis može da radi u mreži koju svi korisnici ispituju da bi generisali dokaze o vlasništvu. Takav servis nije pouzdan za bezbednost, jer po svojstvima bezbednosti kriptografskih obaveza, može genrisati samo dokaze za zapise koji su uključeni u obavezu.
Strane, imovine i prenosi
[0068] U nekim implementacijama, lanac 104 blokova je javno čitljiva, distribuirana knjiga otporna na manipulisanje (ili baza podataka) koja prati vlasništvo nad imovinom među različitim stranama. Javni lanac 104 blokova je ilustrovan i opisan detaljnije uz pozivanje na SL.1. Imovina može biti fungibilna, kao što je suma novca, ili nefungibilna, kao što je karta za pozorište. Strana se odnosi na osobu, organizaciju, ili čak ugovor. Svaki ko-lanac 120, 140 upravlja sopstvenom knjigom, primenjuje sopstvena pravila validacije, i implementira sopstveni mehanizam konsenzusa. Ko-lanci 120, 140 su ilustrovani i opisani detaljnije uz pozivanje na SL.1. Povrh toga, svaki ko-lanac 120, 140 može uspostaviti sopstvene politike koje upravljaju vidljivošću njegovih sopstvenih transakcija. Na primer, politika može nalagati da su transakcije vidljive samo za validatore 152 ko-lanca, ili da su vidljive za bilo koga.
[0069] U nekim implementacijama, implementiraju se ko-lanci 120 koji prate vlasništvo nad imovinom i transakcije koje prenose vlasništvo nad imovinom sa jedne strane na drugu. Prenosi vrednosti se ekplicitno predstavljaju na ko-lancu 120. Postoji prvi domen strana i drugi domen imovina. Svaka imovina je u vlasništvu neke strane. Izraz Ownsx(P, a) je istinit ako strana P ima u vlasništvu imovinu a na ko-lancu X. Postoji istaknuta strana N označena kao „niko“. Svaka imovina je u vlasništvu jedne strane na jednom kolancu (npr., ko-lancu 120). U nekim implementacijama, svaka imovina „a“ je u vlasništvu strane P ≠ N na ko-lancu X: Ownsx(P, a), i u vlasništvu „nikoga“ (N) na svakom drugom ko-lancu Y ≠ X: OwnsY(N, a).
[0070] Prenos unutar lanca (in-chain) se odnosi na tranziciju stanja u kojoj strana P ≠ N prenosi imovinu „a“ na stranu Q na ko-lancu X. Na primer, prenos se može predstaviti kao: Prethodno:
Naknadno:
Prethodni uslov (1) nalaže da P mora imati u vlasništvu „a“ na X i P ne sme biti N. Naknadni uslov (2) nalaže da Q sada ima u vlasništvu „a“ na X (i implicitno da P više nema u vlasništvu „a“). Ako Q jeste N, onda se imovina „a“ više ne može trošiti na X.
[0071] Međulančani prenos se odnosi na tranziciju stanja u kojoj strana P na ko-lancu X prenosi imovinu „a“ na stranu Q na različitom ko-lancu Y. Prenos se može predstaviti kao: Prethodno:
Naknadno:
Prethodni uslov (3) nalaže da P mora imati u vlasništvu „a“ na X, P ne sme biti N, i X i Y su različiti ko-lanci.
Naknadni uslov (4) nalaže da Q sada ima u vlasništvu „a“ na Y (i implicitno da P više nema u vlasništvu „a“ na X). P i Q mogu biti različite strane. Međulančani prenos osigurava da se imovina „a“ više ne može trošiti na ko-lancu X (jer je u vlasništvu N na X), i ako cilj Q ≠ N, onda se „a“ sada može trošiti na ko-lancu Y.
[0072] U nekim implementacijama, transakcije na privatnim ko-lancima 120, 140 nisu vidljive za druge kolance, uključujući javni lanac 104 blokova. Javni lanac 104 blokova prati „stanja“ imovina za svaki ko-lanac 120, 140. Strana koja ima u vlasništvu imovinu na ko-lancu 120 može preneti imovinu sa ko-lanca 120 na javni lanac 104 blokova, i obrnuto. Privatni ko-lanac 120, 140 razmenjuje imovine (1) prenošenjem tih imovina na javni lanac 104 blokova, (2) razmenjivanjem imovina na javnom lancu 104 blokova, i (3) prenošenjem novostečenih imovina nazad. Ako je ko-lanac 120 „pošten“, onda se imovina preneta na javni lanac 104 blokova više ne može trošiti na ko-lancu 120. Ako je ko-lanac 120 „nepošten“, imovina se može duplo trošiti na ko-lancu 120, ali se ne može duplo trošiti na javnom lancu 104 blokova, i dokle god se imovina nalazi na javnom lancu 104 blokova, vlasništvo je javno.
[0073] U nekim implementacijama, svaki međulančani prenos je između javnog lanca 104 blokova i privatnog ko-lanca (npr., ko-lanca 120), a ne između privatnih ko-lanaca 120, 140. Svaki ko-lanac 120, 140 obezbeđuje svoj sopstveni protokol prenosa unutar lanca koji zadovoljava prethodni uslov (1) i naknadni uslov (2). Opšti protokol međulančanog prenosa zadovoljava prethodni uslov (3) i naknadni uslov (4). Kolanac X se naziva „nepoštenim“ ako njegov protokol prenosa unutar lanca ne zadovoljava prethodni uslov (1) i naknadni uslov (2), implicirajući da više od jedne strane može imati u vlasništvu istu imovinu na X, što je svojstvo poznato kao duplo trošenje.
[0074] U nekim implementacijama, postoji jedan javni lanac 104 blokova, koji je pošten, i mnogi privatni ko-lanci 120, 140, od kojih neki mogu biti nepošteni. Protokol međulančanog prenosa obezbeđuje sledeće svojstvo da nema međulančanog duplog trošenja: ako „a“ jeste imovina i X i Y su pošteni ko-lanci (javni ili privatni), onda ako je „a“ u vlasništvu P na X i Q na Y, onda P ili K jeste N. U nekim implementacijama, nikakva se informacija o ko-lancu 120 (tj., koji entitet ima u vlasništvu koju imovinu) ne otrkiva javnosti, osim informacije koja je ekpslicitno specifikovana u prenosu sa privatnog ko-lanca X na javni lanac Y blokova. Formalnije, to se beleži eksperimentom simulacije. U realnom svetu, protivnik prima poruke (u formi transakcija) koje se postavljaju sa ko-lanca X na ko-lanac Y.
[0075] Na primer, (α, {Q : a}) označava realan izgled protivnika na osnovu posmatranja javnog lanca Y blokova, gde {Q : a} beleži skup od svih prenosa imovina „a“ na strane Q. U simuliranom svetu, αSse proizvodi simulatorom polinomijalnog vremena bez znanja o informacijama o ko-lancu X. Dalje, {R : a}s označava skup prenosa u kojima se svaki identifikator R strane nasumično bira iz skupa svih mogućih identifikatora. Sledeće dve distribucije se računarski ne mogu razlikovati: (α, {Q : a}) ~c(αS, {R : a}s). To obezbeđuje sledeće tri funkcije: Prvo, kada P na privatnom ko-lancu X prenosi „a“ na Q na javnom lancu Y blokova, očekuje se da P i Q predstavljaju istu osobu ili da pripadaju istoj organizaciji. Uprkos tome, ne bi trebalo da postoji način da se povežu dve strane: neko ko posmatra transakcije na javnom lancu Y blokova može biti u stanju da kaže da je imovina preneta sa X, ali da ne može identifikovati ko je imao u vlasništvu tu imovinu na X.
[0076] Drugo, ako P prenosi prvo „a“ a zatim „a’“, posmatrač ne može povezati dva prenosa sa istim prethodnim vlasnikom. Treće, slična ograničenja važe za prenos sa javnih na privatne ko-lance: ako Q prenosi „a“ na R na privatnom ko-lancu Z, onda posmatrač ne može identifikovati R, i ako dve strane prenose „a“ a zatim "a’" na R u Z, onda se dva prenosa ne mogu identifikovati kao da idu istom primaocu.
Implemantacija privatnog ko-lanca
[0077] U nekim implementacijama, javni lanac 104 blokova je mreža bez dozvole kojoj se bilo koji entitet može pridružiti i u njoj učestvovati. Bilo koji entitet može pisati i čitati sa javnog lanca 104 blokova, podleže plaćanju naknada za prenos, ako je neophodno. Svaki ko-lanac 120, 140 prvo prolazi kroz fazu „uvođenja“ da bi se registrovao. Privatni ko-lanci 120, 140 su mreže sa dozvolom, sa eksplicitno definisanim validatorima 152 i algoritmima verifikacije blokova. Faza inicijalizacije uključuje korake kao što su registracija imovine, registracija privatnog ko-lanca i inicijalna distribucija imovine. Redosled tih koraka može varirati.
[0078] Svaki ko-lanac 120, 140 se registruje sa javnim lancem 104 blokova ako želi da prenosi imovine između njih. Specijalna transakcija se može izdati na javnom lancu 104 blokova koja uključuje skup validatorskih javnih ključeva, VSet = (VPK1,VPK2, ...,VPKrr). Transakcija registracije takođe uključuje opis algoritma VerifyBlock koji kao ulaz ima (Certr-1, Cr-1, Certr, Cr) i kao izlaz daje „validan/nevalidan“. To jest, ako je data obaveza bloka za runde r -1, r sa odgovarajućim sertifikatom, algoritam prihvata ako i samo ako Crjeste validna obaveza imovina nakon runde r. Nakon što je transakcija registracije prihvaćena, javni lanac 104 blokova vraća jedinstveni identifikator PriID.
[0079] Svaka klasa imovine se registruje na javnom lancu 104 blokova. Registar može specifikovati ukupnu zalihu imovine, inicijalno dodeljivanje vlasnikā imovine, ili kako se „kuju“ nove imovine. Svaka klasa imovine dobija jedinstveni identifikator AssetClassID. Radi jednostavnosti, sve imovine se zapisuju u „zapisima“ (E1, ..., EN). Svaki zapis je jedinstveno identifikovan indeksom i. Zapis može uključivati informacije o trenutnom vlasniku imovine i bilo koje dodatne pomoćne informacije. Nakon inicijalizacije, javna funkcija potraživanja FindAsset na javnom lancu 104 blokova kao ulaz ima (AssetClassID, indeks i) i vraća torku (ChainID, j) koja specifikuje trenutnog vlasnika ko-lanca ChainID, i monotono rastući broj sekvence j za imovinu (koji će se kasnije upotrebljavati za sprečavanje napada duplog trošenja).
[0080] Svaki ko-lanac 120, 140 izvršava svoj sopstveni algoritam konsenzusa, radeći nezavisnom brzinom. Za svaku rundu r, validatori 152 ko-lanca proizvode torku (Br, Certr, Cr), gde Crjeste obaveza za tabelu stanja vlasnikā imovina. U nekim implementacijama, validatori 152 privatnih ko-lanaca, indeksirani sa PriID, proizvode torku (Br, Certr, Cr). Specijalna transakcija se instancira (od strane validatora 152 ili drugih članova ko-lanca 120) koja uključuje (ChainID, Cr, Certr). Ta transakcija se podnosi na javni lanac 104 blokova. Bilo ko može postaviti torku na javni lanac 104 blokova. Ta strana nije pouzdana za bezbednost, ali je pouzdana za živost. Ako ko-lanac 120 radi brže od javnog lanca 104 blokova (npr., ko-lanac 120 generiše višestruke blokove transakcija za svaki blok proizveden na javnom lancu 104 blokova), onda se kolekcija obaveza sa odgovarajućim sertifikatima ChainID : (Cr, Certr, Cr+1,Certr+1, ...) može postaviti simultano na javni lanac 104 blokova. Javni lanac 104 blokova prihvata takve transakcije samo ako za sve runde r: VerifyBlock(Cr-1, Certr-1, Cr, Certr) = 1. Javni lanac 104 blokova prema tome verifikuje da postoji validan skup validatora 152 koji je odobrio svaki blok. Treba uočiti da, sami po sebi, niti sertifikat niti obaveza za imovine ko-lanca ne otkrivaju bilo kakvu informaciju o pojedinačnim vlasnicima imovina.
Međulančani prenosi
[0081] Entiteti PrivCoChain (sa identifikatorom PriID) i PubCoChain označavaju dva ko-lanca. U nekim implementacijama, imovina se premešta iz klase imovine AssetClassID sa ko-lanca 120, 140 na javni lanac 104 blokova (i nazad). Prikazane implementacije zadržavaju svojstva privatnosti privatnog ko-lanca i svojstva anonimnosti njegovih korisnika. U nekim implementacijama, korisnik sa javnim ključem PK koji ima u vlasništvu imovinu „i“ iz AssetClassID želi da prenese imovinu na javni lanac 104 blokova. Preduzimaju se sledeći koraci. Prvo, korisnik kreira novi par ključeva (PK*, SK*). Drugo, korisnik podnosi specijalnu transakciju na ko-lancu 120 koja stavlja imovinu u račun za „povlačenje“ i dodeljuje PK* kao vlasnika. Račun takođe uključuje jedinstvenu sekvencu j’ koja je veća od poslednjeg broja j sekvence te imovine, koja se može dobiti putem potraživanja na javnom lancu 104 blokova (AssetClassID, i). Stanje celog računa se zapisuje u novom zapisu E’i. Korisnik šalje transakciju čime menja stanje imovine „i“ u E’ i. Pošto je imovina preneta na to stanje, neće se obaviti transakcija na ko-lanac 120, i ostaje zaključana.
[0082] Treće, transakcija se prihvata od strane validatora 152 privatnog ko-lanca u rundi r koja proizvodi (Br, Certr, Cr). Torka (ChainID, Certr, Cr) se postavlja putem transakcije na javni lanac 104 blokova. Četvrto, korisnik dobija dokaz Piu odnosu na Crda je zaista stavio imovinu E’iu stanju povlačenja pod ključem PK*. Peto, korisnik predstavlja torku (Pi, E’i, i) javnom lancu 104 blokova putem specijalne transakcije. Šesto, javni lanac 104 blokova prihvata transakciju ako stoje sledeća tri uslova:
(a) Verify(Cr, E’i, Pi, i) = 1.
(b) E’ije u stanju „povlačenja“ sa ko-lanca 120.
(c) Potraživanje (ChainID, j) se zasniva na imovini (AssetClassID, i). Validirati da se ChainID podudara sa kolancem 120 sa koga je povlačenje podneto, i poslednji broj j sekvence je manji od broja j’ sekvence koji je specifikovan u E’i.
[0083] Sedmo, ako provera prođe, javni lanac 104 blokova kreira imovinu, uklanja je sa ko-lanca 120, i dodeljuje imovinu novom vlasniku:
(a) Mapiranje iz (AssetClassID, i) se ažurira tako da uključuje ID javnog lanca blokova, i broj sekvence se podešava na j’ (sekvenca specifikovana u povlačenje).
(b) Korisnik PK* se tada dodeljuje kao korisnik imovine „i“ na javnom lancu 104 blokova.
Analiza bezbednosti
[0084] Da bi se postigla privatnost (anonimnost) korisnika koji su uključeni u međulančana plaćanja, svaki korisnik U1 i U2 kreira jednokratni ključ na koji može preneti imovine na privatnom ko-lancu 120, 140. Nakon toga, korisnici se uključuju u međulančana plaćanja upotrebljavajući te jednokratne ključeve. Jednokratni ključevi anonimizuju kumulativne imovine korisnika U1 i U2 na odgovarajućim ko-lancima 120, 140. U nekim implementacijama, pojedinačna mapiranja između korisnika i njihovih imovina unutar kolanca 120 ostaju privatna. Javni lanac 104 blokova vidi: (A) obaveze i sertifikate validatora za tabele stanja pojedinačnih ko-lanaca, (B) transakcije između ko-lanca 120 i javnog lanca 104 blokova, i (C) samoautentifikovane zapise. Privatnost ko-lanca se obezbeđuje zato što (B) ne otkriva nikakvu informaciju o korisnicima ili imovinama unutar ko-lanca 120 budući da korisnik kreira par jednokratnih ključeva za svaku međulančanu transakciju. (A) i (C) ne otkrivaju nikakvu informaciju o ko-lancu 120 tako što kriptografski skrivaju obaveze; validatori 152 potpisuju samo obavezu.
[0085] Da bi ko-lanac 120 ispunjavao regulatorne obaveze, regulatorne obaveze se uklanjaju sa javnog lanca 104 blokova i premeštaju se na privatne ko-lance 120, 140. Svaka banka može održavati ko-lanac 120 i ostajati odgovorna za zadovoljavanje svojih regulatornih tela, uzimajući u obzir njenu jurisdikciju. Tokom prenosa između ko-lanca 120 i javnog lanca 104 blokova, i korisnik i administratori ili validatori 152 kolanca potpisuju svaku transakciju. Administratori ili validatori 152 ko-lanca mogu sprovoditi politiku za osiguravanje da prenos treba da bude autorizovan. Regulatori mogu dalje ispitivati administratore privatnih ko-lanaca. Pored toga, mogu se upotrebljavati alati za enkripciju (npr., enkripciju zasnovanu na atributima), ako je potrebno, na prenosima. To jest, svaka transakcija sa ko-lanca 120 na javni lanac 104 blokova može uključivati enkripciju pomoćnih informacija koje samo regulatori mogu pregledati. Na primer, ko-lanac 120 administriran od strane banke može generisati par (PK, SK) ključeva, i izdati različite regulatorske ključeve SKP1, ..., SKPnkoji specifikuju politike P1, ..., Pnpod kojima je regulatorima dozvoljeno da pregledaju prenose. Svaka transakcija je povezana sa skupom atributa (npr., datumom, tipom transakcije, tipom pošiljaoca, itd.) i enkriptovanim pomoćnim informacijama za regulatore (npr., materijalima za autorizaciju prenosa). Ako su dati transakcija i tajni ključ za politiku SKP „i“, regulator može pregledati enkriptovani sadržaj u transakciji.
Primer procesa koji upotrebljava ko-lanac
[0086] SL.3 prikazuje primer procesa 300 koji upotrebljava ko-lance. U nekim implementacijama, proces sa SL.3 se izvodi pomoću platne mreže koja je ilustrovana i opisana detaljnije uz pozivanje na SL.1. Drugi entiteti izvode neke ili sve od koraka procesa u drugim implementacijama. Slično tome, implementacije mogu uključivati različite i/ili dodatne korake, ili izvoditi korake po različitim redosledima.
[0087] Korisnički uređaj prvog privatnog lanca blokova (npr., ko-lanca 120) platne mreže instancira (304) transakciju kripto imovine na prvom ko-lancu 120. Ko-lanac 120 je ilustrovan i opisan detaljnije uz pozivanje na SL. 1. Korisnički uređaj može biti pametni telefon, tablet, laptop, itd. Transakcija kripto imovine treba da prenese prvi iznos prve kripto imovine sa prvog računa 124 kripto imovine na drugi račun 136 kripto imovine koji je povezan sa drugim privatnim ko-lancem (npr., ko-lancem 140). Ko-lanac 140 je ilustrovan i opisan detaljnije uz pozivanje na SL.1. Transakcija kripto imovine se odražava u bloku (npr., bloku 124) ko-lanca 120. Blok 124 je ilustrovan i opisan detaljnije uz pozivanje na SL.1.
[0088] Skup validatora 152 prvog ko-lanca 120 validira (308) prvu transakciju kripto imovine da bi se generisala prva obaveza (npr., obaveza 128) povezana sa prvim jednokratnim ključem 144. Validatori 152 i obaveza 128 su ilustrovani i opisani detaljnije uz pozivanje na SL.1. Validatori 152 ko-lanca 120 primaju zahtev za validaciju povezan sa transakcijom kripto imovine. Prvi računarski uređaj (ko-lanca 120) može registrovati validatore 152 na javnom lancu 104 blokova. Javni lanac 104 blokova je ilustrovan i opisan detaljnije uz pozivanje na SL.1. Svaki validator 152 ima različit javni ključ za validiranje transakcija kripto imovine.
[0089] Prvi računarski uređaj povezan sa prvim ko-lancem 120 postavlja (312) prvu obavezu na javni lanac blokova (npr., lanac 104 blokova). Prvi računarski uređaj je administratorski uređaj prvog ko-lanca 120. Na primer, svaki unos u tabelu stanja se označava sa Ei. Validatori 152 privatnog ko-lanca proizvode obavezu: Chain_1_Commit_Round_R na kolekciji unosa E1, ..., EN. Na kraju runde, validatori 152 ko-lanca proizvode sertifikat Chain_1_Cert_Round_R koji autorizuje obavezu Chain_1_Commit_Round_R.
[0090] Drugi računarski uređaj povezan sa javnim lancem 104 blokova dodeljuje (316) prvi iznos prve kripto imovine prvom jednokratnom ključu 144 na javnom lancu 104 blokova. Drugi računarski uređaj je administratorski uređaj lanca 104 blokova. Na primer, lanac 104 blokova može čuvati dodeljivanje u unosu tabele stanja. Za svaku rundu, validatori 152 ko-lanca 120 postižu sporazum o tabeli stanja imovina. Blok 124 proizveden od strane ko-lanca 120 prema tome uključuje obavezu 128 za unose tabele stanja. Drugi računarski uređaj uklanja prvi iznos prve kripto imovine iz tabele stanja ko-lanca 120 da bi se odrazilo prenošenje prvog iznosa prve kripto imovine.
Primer procesa za prenošenje imovine pomoću ko-lanaca
[0091] SL.4 prikazuje primer procesa 400 za prenos imovine pomoću ko-lanca. U tom primeru procesa, sistem lanaca blokova ima glavni lanac (npr., javni lanac blokova), ko-lanac, gde ko-lanac ima odgovarajući račun na glavnom lancu, imovinu u vlasništvu odgovarajućeg računa na glavnom lancu i u vlasništvu računa na ko-lancu, i račun ko-lanca koji poseduje imovinu. Autentifikovana transakcija se postavlja (402) na kolanac. Na primer, transakcija se izdaje od strane člana ko-lanca i uključuje se u blok ko-lanca. Autentifikovana transakcija autorizuje prenos imovine sa računa ko-lanca na glavni lanac. Validatori kolanca autentifikuju (404) niz podataka koji specifikuje imovinu koju treba preneti i javni ključ odredišta. Autentifikovani niz podataka se isporučuje (406) na račun na glavnom lancu koji odgovara ko-lancu. Transakcija se postavlja (406) na glavni lanac. Transakcija prenosi imovinu na javni ključ odredišta sa računa glavnog lanca koji odgovara ko-lancu.
[0092] U nekim implementacijama, validatori ko-lanca proizvode delimične potpise koji se mogu upotrebljavati za izračunavanje digitalnog potpisa koji se zasniva na javnom ključu odredišta, tako da se digitalni potpis može upotrebljavati za autentifikovanje prenosa imovine na račun na glavnom lancu. Dalje, u nekim implementacijama, digitalni potpis se postavlja na glavni lanac.
[0093] U nekim implementacijama, određuje se da se autentifikovana transakcija postavlja na ko-lanac pre nego što se transakcija koja dodeljuje imovinu računu glavnog lanca postavi na glavni lanac.
[0094] U nekim implementacijama, račun glavnog lanca koji odgovara ko-lancu kontroliše se od strane entiteta koji kontroliše račun na ko-lancu.
Primeri tehnika
[0095] U jednom primeru tehnike, entitet (npr., entitet organizacije ili vlade) uspostavlja privatni ko-lanac (npr., jedan od privatnih ko-lanaca 120, 140 koji su prikazani na SL. 1) na kojima obavlja svoje interno poslovanje. Most tokena omogućava da se izvesne nefungibilne imovine prenesu između javnog lanca blokova (npr., javnog lanca 104 blokova koji je prikazan na SL.1), koji je ponekad naziva „glavni lanac“, i ko-lanca 120. Samo su neke strane (npr., strane povezane sa odgovarajućim javnim ključevima) na kolancu 120 autorizovane za prenos na glavni lanac 104, i samo su neke strane na glavnom lancu 104 autorizovane za prenos nazad na ko-lanac 120.
[0096] U jednom primeru scenarija, entitet koji ima pravo svojine nad svojinom na ko-lancu 120 odlučuje da stavi na aukciju tu svojinu na glavnom lancu 104. Prvo, entitet daje instrukciju ko-lancu 120 da izvšri prenos prava svojine entiteta na glavni lanac 104 zajedno sa instrukcijama za agenta glavnog lanca da stavi na aukciju svojinu i repatrira prihode na ko-lanac 120. Nakon što se transakcija validira i pojavi na ko-lancu 120, transakcija se šalje na glavni lanac 104 gde je agent identifikuje i prihvata. Kao deo tog međulančanog prenosa, međulančani validatori 152 proveravaju da je vlasnik autorizovan za izvođenje međulančanih prenosa, da je njegov agent glavnog lanca autorizovan za primanje takvih prenosa, i da su prenos i prateće instrukcije validirani od strane tačnog podskupa validatora 152.
Merklova stabla u blokovima
[0097] Ko-lanac 120, 140 je sposoban da demonstrira glavnom lancu 104 da su se odigrale izvesne transakcije. U nekim implementacijama, blokovi ko-lanca organizuju transakcije u Merklovom stablu pretražive po računu, tako da ko-lanac 120 može dokazati da transakcija postoji na ko-lancu 120, i da transakciju autorizuje jedan od javnih ključeva autorizovan za prenos imovina na glavni lanac 104. Na taj način, glavni lanac 104 može primati (1) Merklovu obavezu za transakciju, uključujući instrukcije za agenta glavnog lanca, i (2) sertifikat potpisan od strane kvoruma trenutnih validatora 152 ko-lanca.
[0098] U nekim primerima, vlasnik imovine na ko-lancu 120 plaća naknade da bi se pravo svojine prenelo na glavni lanac 104, da bi se sprovela aukcija, i da bi se prihodi preneli nazad. Na primer, vlasnik može platiti redovnu naknadu svom agentu glavnog lanca.
Polja instrukcija za međulančane transakcije
[0099] U nekim primerima, međulančani prenos imovine mogu pratiti instrukcije za odlaganje imovine na glavnom lancu 104. Na primer, te instrukcije mogu biti skriptovi (npr., jezik odobrenja izvršenja transakcija (Transaction Execution Approval Language scripts)), pozivi pametnom ugovoru, ili notarizovan engleski tekst. Za tu svrhu, u nekim implementacijama, Merklovo stablo bloka ko-lanca transakcija uključuje polje instrukcija na način koji je dovoljno fleksibilan da prihvati bilo koju razumnu formu instrukcija.
Rezime Merklizovane strukture podataka
[0100] U nekim primerima, ko-lanac 120, 140 je u stanju da proizvede kompaktne, otporne na neovlašćeno korišćenje, prikaze sledeće četiri stavke. Prvo, spiska imovina koje se trenutno mogu razmenjivati sa glavnim lancem 104 (npr., spisak može biti regulatorni zahtev). Drugo, javnog ključa strana koje su trenutno autorizovane da izvode međulančane prenose sa ko-lanca na glavni lanac. Treće, trenutnog skupa validatora 152 ko-lanca. Četvrto, trenutnog spiska zastupnika. Spiskovi se mogu menjati i traže ažuriranje. Na primer, može ih odobriti kvorum validatora 152 ko-lanca da bi se osigurala validnost. U nekim implementacijama, ti spiskovi se mogu organizovati kao pretraživa Merklova stabla, ili mogu biti nestrukturisani nizovi, zavisno od toga da li njihova transmisija treba da bude delimična ili potpuna.
Ritam prenosa
[0101] U nekim primerima, postoji nekoliko opcija politike za to koliko često treba prenositi imovinu između lanaca blokova. Jedna opcija je da se prenosi obavljaju periodično, npr., svakih hiljadu blokova. Druga je da se prenos obavlja na zahtev. Moguća je mešavina strategija, npr., nuđenje vrhunske usluge za strane koje će platiti za blagovremeni odgovor, a osnovne ekonomske usluge za one koji žele da uštede na naknadama u zamenu za sporiji obrt.
Zastupnik
[0102] U nekim implementacijama, različite strukture podataka i poruke poslate sa ko-lanca 120, 140 na glavni lanac 104 sertifikuju se kvorumom validatora 152 ko-lanca. Da bi se smanjio broj takvih sertifikovanja, validatori 152 ko-lanca mogu nominovati i sertifikovati jednog ili više „zastupnika“ (na koje se ponekad poziva kao na „zastupničke ključeve“) da sertifikuju podatke u ime validatorā 152. Validatori 152 mogu menjati zastupnika 156, bilo redovno ili kao odgovor na uočeno nedolično ponašanje. Zastupnik 156 može, posebno, saopštiti sledeće podatke. Prvo, Merklizovanu strukturu podataka 1 i 2. Drugo, imovine koje treba preneti na glavni lanac 104 (uključujući instrukciju za upotrebu i ključeve za trgovinu koji moraju baratati imovinama u glavnom lancu 104).
[0103] Ova tehnika može osigurati da se ispravne informacije bloka ko-lanca (npr., one koje su uključene u svakom 10. ili 100. bloku) sažeto i efikasno komuniciraju glavnom lancu 104. U nekim primerima, zastupnik 156 ko-lanca nije autorizovan da menja skup validatora 152 (npr., osiguravanje da ne može pokrenuti „puč“, kao što je zlonamerno menjanje validatora 152 u korist zastupnika 156) ili skup prethodnog i novoimenovanog zastupnika 156.
[0104] U nekim implementacijama, digitalno potpisani podaci zastupnika ko-lanca postavljaju se na glavni lanac 104, ali ko-lanac 120 ne deluje u skladu sa njim (npr., ne prodaje ili automatski zamenjuje imovinu prenetu na glavni lanac 104) za dati broj blokova (npr., dvadeset blokova) da bi se osiguralo da validatori 152 nemaju prigovor. U nekim primerima, validatori 152 ko-lanca mogu nadzirati glavni lanac 104 i, ako jedan od njih uvidi da zastupnik 156 postavlja netačnu informaciju, protiv nje će postaviti tačnu (npr., sertifikovanu od strane odgovarajuće većine validatora 152 ko-lanca). Mogu se preduzeti koraci za sprečavanje višestrukih postavljanja ekvivalentnih informacija sertifikovanih od strane validatora.
[0105] Prema tome, zato što je na glavni lanac efikasnije postavljati elemente (npr., transakcije, imovine, informacije, itd.) 104 koji su digitalno potpisani jednim ključem 144 (npr., u ime celog ko-lanca 120), elemente ne mora digitalno potpisivati više validatora 152. Umesto toga, element potpisan od strane zastupnika 156 može se izazivati unutar date količine vremena ili datog broja blokova, poništavajući prenos zastupnika 156. Na taj način, te tehnike omogućavaju centralizovanu akciju i distribuiranu rektifikaciju.
Primer implementacije platne mreže koja uključuje privatne lance blokova sa dozvolom
[0106] SL.5 je blok dijagram koji ilustruje računarski sistem 500, u skladu sa jednom ili više implementacija. U jednoj implementaciji, računarski sistem 500 je računarski uređaj posebne namene. Računarski uređaj posebne namene je hardverski dizajniran da izvodi tehnike ili uključuje digitalne elektronske uređaje kao što su jedno ili više integrisanih kola specifične namene (ASICs – application-specific integrated circuits) ili polje-programabilnih nizova kapija (FPGAs – field programmable gate arrays) koji se postojano programiraju da izvode tehnike ili mogu uključivati jedan ili više hardverskih procesora opšte namene koji su programirani da izvode tehnike u skladu sa programskim instrukcijama u firmveru, memoriji, drugom skladištu, ili kombinaciji. Takvi računarski uređaji posebne namene takođe mogu kombinovati prilagođenu hard-wired logiku, ASICs, ili FPGAs sa prilagođenim programiranjem da bi se izvele tehnike. U različitim implementacijama, računarski uređaji posebne namene su desktop računarski sistemi, prenosivi računarski sistemi, ručni uređaji, mrežni uređaji ili bilo koji drugi uređaj koji inkorporiše hard-wired i/ili programsku logiku za implementiranje tehnika.
[0107] U nekim implementacijama, računarski sistem 500 uključuje bus 502 ili drugi komunikacioni mehanizam za komuniciranje informacija, i hardverski procesor 504 spojen sa busom 502 za procesovanje informacija. Hardverski procesor 504 je, na primer, mikroprocesor opšte namene. Računarski sistem 500 takođe uključuje glavnu memoriju 506, kao što je memorija sa proizvoljnim pristupom (RAM – randomaccess memory) ili drugi dinamički memorijski uređaj, spojen sa busom 502 za čuvanje informacija i instrukcija koje treba da izvrši procesor 504. U jednoj implementaciji, glavna memorija 506 se upotrebljava za čuvanje privremenih varijabli ili drugih međuinformacija tokom izvršavanja instrukcija koje treba da izvrši procesor 504. Takve instrukcije, kada se čuvaju u trajnom (non-transitory) memorijskom medijumu koji je dostupan procesoru 504, pretvaraju računarski sistem 500 u mašinu za posebnu namenu koja se prilagođava za izvođenje operacija navedenih u instrukcijama.
[0108] U nekim implementacijama, računarski sistem 500 dalje uključuje memoriju samo za čitanje (ROM – read only memory) 508 ili drugi statičan memorijski uređaj spojen sa busom 502 za čuvanje statičnih informacija i instrukcija za procesor 504. Memorijski uređaj 510, kao što su magnetni disk, optički disk, SDD (solid-state drive), ili trodimenzionalna memorija unakrsnih tačaka (three-dimensional cross point memory), obezbeđuje se i spaja sa busom 502 za čuvanje informacija i instrukcija.
[0109] U nekim implementacijama, računarski sistem 500 se spaja putem busa 502 sa displejem 512, kao što su katodna cev (CRT – cathode ray tube), displej sa tečnim krisalima (LCD – liquid crystal display), plazma displej, displej sa svetlećim diodama (LED – light emitting diode), ili displej sa organskim svetlećim diodama (OLED – organic light emitting diode) za prikazivanje informacija korisniku računara. Ulazni uređaj 514, uključujući alfanumeričke i druge ključeve, spojen je sa busom 502 radi komuniciranja informacija i izbora komandi procesoru 504. Drugi tip korisničkog ulaznog uređaja je kontroler 516 kursora, kao što su miš, trekbol (trackball), displej osetljiv na dodir, ili tasteri za upravljanje kursorom za komuniciranje informacija o pravcu i izbora komandi procesoru 504 i za kontrolisanje kretanja kursora na displeju 512. Taj ulazni uređaj tipično ima dva stepena slobode u dve ose, prvoj osi (npr., osi x) i drugoj osi (npr., osi y), što omogućava uređaju da odredi pozicije u ravni.
[0110] Prema nekim implementacijama, tehnike se ovde izvode pomoću računarskog sistema 500 kao odgovor na to što procesor 504 izvodi jednu ili više sekvenci jedne ili više instrukcija sadržanih u glavnoj memoriji 506. Takve instrukcije se učitavaju u glavnu memoriju 506 sa drugog memorijskog medijuma, kao što je memorijski uređaj 510. Izvršavanje sekvenci instrukcija sadržanih u glavnoj memoriji 506 uzrokuje da procesor 504 izvodi ovde opisane korake procesa. U alternativnim implementacijama, ugrađena kola se upotrebljavaju umesto softerskih instrukcija ili u kombinaciji sa njima.
[0111] Termin „memorijski medijum“ onako kako se upotrebljava ovde odnosi se na bilo koji trajni medijum koji memoriše podatke i/ili instrukcije koje uzrokuju da mašina funkcioniše na specifičan način. Takav memorijski medijum uključuje postojani (non-volatile) medijum i/ili nepostojani (volatile) medijum. Postojani medijum uključuje, na primer, optičke diskove, magnetne diskove, SDD uređaje, ili trodimenzionalnu memoriju unakrsnih tačaka, kao što je glavna memorija 506. Uobičajene forme memorijskog medijuma uključuju, na primer, flopi disk, fleksibilni disk, hard disk, SDD, magnetnu traku, ili bilo koji drugi magnetni medijum za čuvanje podataka, CD-ROM, bilo koji optički medijum za čuvanje podataka, bilo koji fizički medijum sa obrascima rupa, RAM, PROM, i EPROM, FLASH-EPROM, NV-RAM, ili bilo koji drugi memorijski čip ili patronu.
[0112] Memorijski medijum je različit od transmisionog medijuma ali se može upotrebljavati u kombinaciji sa njim. Transmisioni medijum učestvuje u prenošenju informacija između memorijskih medijuma. Na primer, transmisioni medijum uključuje koaksijalne kablove, bakarnu žicu i optička vlakna, uključujući žice koje uključuju bus 502. Transmisioni medijum takođe može imati formu akustičkih ili svetlosnih talasa, kao što su oni generisani tokom radio-talasnih i infracrvenih komunikacija podataka.
[0113] U nekim implementacijama, različite forme medijuma uključene su u nošenje jedne ili više sekvenci jedne ili više instrukcija do procesora 504 radi izvršavanja. Na primer, instrukcije se inicijalno nose na magnetnom disku ili SDD uređaju udaljenog računara. Udaljeni računar učitava instrukcije u svoju dinamičku memoriju i šalje instrukcije preko telefonske linije pomoću modema. Lokal modema za računarski sistem 500 prima podatke na telefonskoj liniji i upotrebljava infracrveni transmiter za konvertovanje podataka u infracrveni signal. Infracrveni detektor prima podatke nošene u infracrvenom signalu i odgovarajuća kola smeštaju podatke na bus 502. Bus 502 nosi podatke do glavne memorije 506, od koje procesor 504 preuzima i izvršava instrukcije. Instrukcije koje prima glavna memorija 506 opciono se mogu čuvati na memorijskom uređaju 510 bilo pre ili nakon izvršavanja od strane procesora 504.
[0114] Računarski sistem 500 takođe uključuje komunikacioni interfejs 518 spojen sa busom 502. Komunikacioni interfejs 518 obezbeđuje dvosmerni spoj komunikacije podataka za mrežni link 520 koji je povezan sa lokalnom mrežom 522. Na primer, komunikacioni interfejs 518 je kartica integrisane servisne digitalne mreže (ISDN), kablovski modem, satelitski modem ili modem za obezbeđivanje konekcije za komunikaciju podataka sa odgovarajućim tipom telefonske linije. Kao drugi primer, komunikacioni interfejs 518 je kartica lokalne mreže (LAN – local area network) za obezbeđivanje konekcije za komunikaciju podataka za kompatibilni LAN. U nekim implementacijama, takođe se implementiraju bežični linkovi. U bilo kojoj takvoj implementaciji, komunikacioni interfejs 518 šalje i prima električne, elektromagnetne ili optičke signale koji nose nizove digitalnih podataka koji predstavljaju različite tipove informacija.
[0115] Mrežni link 520 tipično obezbeđuje komunikaciju podataka preko jedne ili više mreža do drugih uređaja za podatke. Na primer, mrežni link 520 obezbeđuje konekciju preko lokalne mreže 522 sa host računarom 524 ili sa centrom podataka u oblaku ili opremom kojom upravlja davalac internet usluge (ISP – Internet Service Provider) 526. ISP 526 zauzvrat obezbeđuje usluge komunikacije podataka preko svetske komunikacione mreže za prenos paketa podataka koja se sada obično naziva „internet“ 528. I lokalna mreža 522 i internet 528 upotrebljavaju električne, elektromagnetne ili optičke signale koji nose nizove digitalnih podataka. Signali kroz različite mreže i signali na mrežnom linku 520 i preko komunikacionog interfejsa 518, koji nose digitalne podatke do i od računarskog sistema 500, jesu primeri formi transmisionih medijuma. U nekim implementacijama, mreža 520 sadrži mrežu u oblaku ili server, ili deo oblaka.
[0116] Računarski sistem 500 šalje poruke i prima podatke, uključujući programski kod, preko mreže (mreža), mrežnog linka 520 i komunikacionog interfejsa. U nekim implementacijama, računarski sistem 500 prima kod za procesovanje. Procesor 504 izvršava primljeni kod kako se prima, i/ili memoriše u memorijskom uređaju 510, ili drugoj postojanoj memoriji radi kasnijeg izvođenja.
[0117] U opisu ovde, za svrhe objašnjenja, brojni specifični detalji izloženi su da bi se obezbedilo temeljno razumevanje prikazanih implementacija. Biće očigledno, međutim, da se implementacije mogu praktikovati bez tih specifičnih detalja. Na slikama nacrta, specifični rasporedi ili postavke šematskih elemenata, kao što su oni koji predstavljaju uređaje, module, blokove instrukcija i elemente podataka, prikazani su radi lakoće opisivanja. Međutim, stručnjaci u oblasti tehnike treba da razumeju da specifične postavke ili rasporedi šematskih elemenata na slikama nacrta nisu predviđeni da impliciraju da je potreban poseban redosled ili niz procesovanja, ili odvajanje procesa. Dalje, uključivanje šematskih elemenata na slikama nacrta nije predviđeno da implicira da je takav element potreban u svim implementacijama ili da se karakteristike predstavljene takvim elementom ne mogu uključiti u druge elemente ili kombinovati sa njima u nekim implementacijama.
[0118] Dalje, na slikama nacrta, tamo gde se elementi za povezivanje, kao što su pune ili isprekidane linije ili strelice, upotrebljavaju da bi se ilustrovala veza, odnos ili asocijacija između ili među dva ili više drugih šematskih elemenata, odsustvo bilo kog takvog elementa za povezivanje nije predviđeno da implicira da nikakva veza, odnos ili asocijacija ne mogu postojati. Drugim rečima, neke veze, odnosi ili asocijacije između elemenata nisu prikazani na slikama nacrta da prikaz ne bi učinili nejasnim. Uz to, radi lakšeg ilustrovanja, jedan element za povezivanje upotrebljava se za predstavljanje više veza, odnosa ili asocijacija između elemenata. Na primer, tamo gde elementi za povezivanje predstavljaju komunikaciju signala, podataka ili instrukcija, stručnjaci u oblasti tehnike treba da razumeju da takav element predstavlja jedan ili više puteva signala (npr., bus), kao što može biti potrebno, da bi se uticalo na komunikaciju.
[0119] Sada će se pozivati detaljno na implementacije, čiji su primeri ilustrovani na pratećim slikama nacrta. U sledećem detaljnom opisu, brojni specifični detalji izloženi su da bi se obezbedilo temeljno razumevanje različitih opisanih implementacija. Međutim, stručnjaku obične stručnosti u oblasti tehnike biće očigledno da se različite opisane implementacije mogu praktikovati bez tih specifičnih detalja. Premda su obezbeđeni naslovi, informacije povezane sa posebnim naslovima, ali koje se ne mogu pronaći u odeljku koji ima taj naslov, takođe se mogu pronaći na drugim mestima u ovom opisu.
[0120] Premda je predmet opisan jezikom koji je specifičan za strukturne karakteristike i/ili činove, treba razumeti da predmet definisan u priloženim patentnim zahtevima nije nužno ograničen na specifične karakteristika ili činove koji su opisani. Opisane specifične karakteristike i činovi prikazani su pre kao primeri implementiranja patentnih zahteva i druge ekvivalentne karakteristike i činovi predviđeni su da budu u okviru obima patentnih zahteva. U prethodnom opisu, implementacije su opisane uz pozivanje na brojne specifične detalje koji mogu varirati od implementacije do implementacije. Opis i slike nacrta, u skladu sa tim, treba posmatrati u ilustrativnom, a ne u restriktivnom smislu. Jedini i isključivi indikator obima implementacija, i onoga što su prijavioci predvideli da bude obim implementacija, jeste doslovni i ekvivalentni obim skupa patentnih zahteva koji proističu iz ove prijave, u specifičnoj formi u kojoj proističu takvi patentni zahtevi, uključujući bilo koju narednu ispravku. Sve definicije koje su ovde izričito izložene za termine sadržane u takvim patentnim zahtevima određivaće značenje takvih termina onako kako se upotrebljavaju u patentnim zahtevima. Pored toga, kada upotrebljavamo termin „dalje uključuje“, u prethodnom opisu ili sledećim patentnim zahtevima, ono što sledi iza te fraze može biti dodatni korak ili entitet, ili pod-korak/pod-entitet prethodno navedenog koraka ili entiteta.

Claims (13)

Patentni zahtevi
1. Postupak omogućavanja jednom ili većem broju entiteta u sistemu lanaca blokova da izvodi seriju operacija, gde sistem lanaca blokova obuhvata
glavni lanac,
ko-lanac, pri čemu ko-lanac ima odgovarajući račun na glavnom lancu,
imovinu u vlasništvu odgovarajućeg računa na glavnom lancu i u vlasništvu računa na ko-lancu, i račun ko-lanca koji poseduje imovinu,
pri čemu operacija obuhvata:
postavljanje (402) autentifikovane transakcije na ko-lanac, pri čemu autentifikovana transakcija autorizuje prenos imovine sa računa ko-lanca na glavni lanac;
autentifikovanje (404), od strane validatora (152) ko-lanca, niza podataka koji specifikuje imovinu koju treba preneti i javni ključ (144) odredišta;
isporučivanje (406) autentifikovanog niza podataka na račun glavnog lanca koji odgovara kolancu za ukazivanje da imovina treba da se prenese na javni ključ odredišta; i postavljanje, na glavni lanac, transakcije koja prenosi imovinu na javni ključ odredišta sa računa glavnog lanca koji odgovara ko-lancu.
2. Postupak prema patentnom zahtevu 1, pri čemu operacije obuhvataju generisanje javnog ključa.
3. Postupak prema patentnom zahtevu 1, gde validatori (152) autentifikuju niz podataka pomoću digitalnog potpisa šeme potpisa praga.
4. Postupak prema patentnom zahtevu 3, gde se digitalni potpis generiše u odnosu na javni ključ koji je povezan sa računom u glavnom lancu, gde odgovarajući javni ključ kolektivno drže validatori ko-lanca.
5. Postupak prema patentnom zahtevu 1, gde se račun glavnog lanca koji odgovara ko-lancu kontroliše od strane entiteta koji kontroliše račun na ko-lancu.
6. Postupak omogućavanja jednom ili većem broju entiteta sistema lanaca blokova da izvodi seriju operacija, gde sistem lanaca blokova obuhvata
glavni lanac (104),
ko-lanac (120, 140), gde ko-lanac ima odgovarajući račun na glavnom lancu,
imovinu u vlasništvu odgovarajućeg računa na glavnom lancu i u vlasništvu računa na ko-lancu gde račun ko-lanca poseduje imovinu,
pri čemu operacija obuhvata:
postavljanje (402) autentifikovane transakcije na ko-lanac, pri čemu autentifikovana transakcija autorizuje prenos imovine sa računa ko-lanca na drugi račun glavnog lanca;
određivanje da je autentifikovana transakcija postavljena na ko-lanac; i
postavljanje (406), na glavni lanac, transakcije koja dodeljuje imovinu drugom računu glavnog lanca.
7. Postupak prema patentnom zahtevu 6, pri čemu operacija obuhvata generisanje javnog ključa (144).
8. Postupak prema patentnom zahtevu 6, gde validatori autentifikuju niz podataka pomoću digitalnog potpisa šeme potpisa praga.
9. Postupak prema patentnom zahtevu 8, gde se digitalni potpis generiše u odnosu na javni ključ koji se povezuje sa računom glavnog lanca, gde odgovarajući tajni ključ kolektivno drže validatori ko-lanca.
10. Postupak prema patentnom zahtevu 6, gde se račun glavnog lanca koji odgovara ko-lancu kontroliše od strane entiteta koji kontroliše račun na ko-lancu.
11. Postupak prema patentnom zahtevu 6,
pri čemu operacija obuhvata:
proizvođenje, od strane validatora ko-lanca, delimičnih potpisa koji su upotrebljivi za izračunavanje digitalnog potpisa na osnovu javnog ključa odredišta, digitalnog potpisa upotrebljivog za autentifikovanje prenosa imovine na račun glavnog lanca; i
postavljanje digitalnog potpisa na glavni lanac radi autorizovanja prenosa imovine na javni ključ na glavnom lancu.
12. Sistem koji obuhvata:
jedan ili više procesora računara; i
jedan ili više privremenih memorijskih medijuma koji čuvaju instrukcije koje, pošto ih izvrši jedan ili više procesora računara, uzrokuju izvođenje postupka navedenog u bilo kom od patentnih zahteva 1–10.
13. Jedan ili više privremenih memorijskih medijuma koji čuvaju instrukcije koje, pošto ih izvrši jedan ili više računarskih uređaja, uzrokuju izvođenje postupka navedenog u bilo kom od patentnih zahteva 1–11.
RS20240543A 2019-11-08 2020-11-06 Izvođenje transakcija pomoću privatnih i javnih lanaca blokova RS66076B1 (sr)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962933091P 2019-11-08 2019-11-08
US202063015040P 2020-04-24 2020-04-24
PCT/US2020/059473 WO2021092434A1 (en) 2019-11-08 2020-11-06 Performing transactions using private and public blockchains
EP20885493.5A EP4032052B1 (en) 2019-11-08 2020-11-06 Performing transactions using private and public blockchains

Publications (1)

Publication Number Publication Date
RS66076B1 true RS66076B1 (sr) 2024-11-29

Family

ID=75849565

Family Applications (1)

Application Number Title Priority Date Filing Date
RS20240543A RS66076B1 (sr) 2019-11-08 2020-11-06 Izvođenje transakcija pomoću privatnih i javnih lanaca blokova

Country Status (21)

Country Link
US (1) US20220374886A1 (sr)
EP (1) EP4032052B1 (sr)
JP (1) JP2022553946A (sr)
KR (1) KR20220093198A (sr)
CN (1) CN114730421A (sr)
AU (1) AU2020380960A1 (sr)
CA (1) CA3157091A1 (sr)
DK (1) DK4032052T3 (sr)
ES (1) ES2987642T3 (sr)
FI (1) FI4032052T3 (sr)
HR (1) HRP20240646T1 (sr)
HU (1) HUE067507T2 (sr)
IL (1) IL292310A (sr)
LT (1) LT4032052T (sr)
MX (1) MX2022005255A (sr)
PL (1) PL4032052T3 (sr)
PT (1) PT4032052T (sr)
RS (1) RS66076B1 (sr)
SI (1) SI4032052T1 (sr)
SM (1) SMT202400327T1 (sr)
WO (1) WO2021092434A1 (sr)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11669812B2 (en) * 2020-06-05 2023-06-06 Serge M Krasnyansky Contingent payments for virtual currencies
US20220383303A1 (en) * 2021-05-26 2022-12-01 Dynamics Inc. Systems and methods for multiple ledger non-fungible tokens and multiple chain blockchains for using same
GB2608179A (en) * 2021-06-25 2022-12-28 Nchain Licensing Ag Multi-level blockchain
CN113313584B (zh) * 2021-06-25 2023-10-10 中国农业银行股份有限公司 业务处理方法及处理装置
US11538027B1 (en) 2021-07-07 2022-12-27 Ava Labs, Inc. Secure and trustworthy bridge for transferring assets across different networks with an updating pool of wardens
CN113888328A (zh) * 2021-10-04 2022-01-04 杭州复杂美科技有限公司 一种非同质化资产组跨链交易方法、设备及储存介质
US12475452B2 (en) * 2021-10-05 2025-11-18 Zelus Wallet Llc Automated transactions across multiple blockchains with cryptocurrency swaps
CN114037529B (zh) * 2021-11-08 2025-04-25 安徽中科晶格技术有限公司 基于账户链和守护链dag结构的nft管理方法
US12019615B2 (en) * 2021-11-30 2024-06-25 Ciena Corporation Proof of asset value for transaction validator election
CN114066456B (zh) * 2022-01-13 2022-04-08 环球数科集团有限公司 一种基于erc1155的跨链nft转移和结算系统
US20250392483A1 (en) * 2022-02-17 2025-12-25 Artema Labs, Inc Systems and Methods for Abuse Safeguards in NFT-Directed Environments
KR102847413B1 (ko) * 2022-03-25 2025-08-18 (주)비스퀘어랩 대체불가토큰 발행 방법
CN114723500A (zh) * 2022-05-07 2022-07-08 北京天德科技有限公司 一种用于nfr数字交易的多链系统合作架构
US12476819B2 (en) * 2022-05-10 2025-11-18 Paypal, Inc. Verification system for proving authenticity and ownership of digital assets
CN115174570B (zh) * 2022-06-28 2023-06-27 北京航空航天大学 一种基于动态委员会的跨链共识方法及系统
CN115601164B (zh) * 2022-08-26 2025-06-13 山大地纬软件股份有限公司 不影响关联资产交易正常执行的资产跨链转移方法及系统
CN115766040A (zh) * 2022-12-06 2023-03-07 浙江工业大学 一种基于原子交换的高通量跨链交易方法
KR102515721B1 (ko) * 2022-12-28 2023-03-30 주식회사 시그마체인 블록체인 기반의 본인인증을 위한 일회성 패스워드를 이용하는 nfp 본인인증 지원 방법 및 장치
CN116049297A (zh) * 2022-12-30 2023-05-02 蚂蚁区块链科技(上海)有限公司 数字虚拟空间的创建方法、数字资产处理方法及装置
US12380439B2 (en) 2023-03-30 2025-08-05 Ava Labs, Inc. Authenticated cross-subnet communication
EP4690754A1 (en) * 2023-03-30 2026-02-11 Ava Labs, Inc. Authenticated cross-subnet communication
WO2025064837A1 (en) * 2023-09-21 2025-03-27 1Money Co. Cryptographic transmission techniques
KR102832678B1 (ko) * 2024-07-19 2025-07-10 주식회사 인피닛블록 블록체인 기반 가상 자산의 압류 및 경매를 수행하기 위한 커스터디 서비스 방법 및 장치

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2981586C (en) * 2015-04-05 2024-06-18 Donald R. Wilson, Jr. Digital asset intermediary electronic settlement platform
US10812274B2 (en) * 2015-05-07 2020-10-20 Blockstream Corporation Transferring ledger assets between blockchains via pegged sidechains
US10097356B2 (en) * 2015-07-02 2018-10-09 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
CN109089428B (zh) * 2015-11-30 2022-03-25 舍普施福特股份公司 数字资产零保管转换
CN109155036B (zh) * 2016-02-23 2023-05-23 区块链控股有限公司 用于经由区块链控制资产有关的动作的系统及方法
US20170331896A1 (en) * 2016-05-13 2017-11-16 De La Rue International Limited Methods and systems for processing assets
JP2020517135A (ja) * 2017-04-11 2020-06-11 エヌチェーン ホールディングス リミテッドNchain Holdings Limited ブロックチェーン間のセキュアな転送
US10255342B2 (en) * 2017-04-12 2019-04-09 Vijay K. Madisetti Method and system for tuning blockchain scalability, decentralization, and security for fast and low-cost payment and transaction processing
CN107767267B (zh) * 2017-10-20 2021-04-02 上海策赢网络科技有限公司 一种虚拟资源的转移方法和装置
US11374765B2 (en) * 2018-10-18 2022-06-28 Cal Wilson Webster Process for managing escrow payments between multiple parties

Also Published As

Publication number Publication date
US20220374886A1 (en) 2022-11-24
MX2022005255A (es) 2022-09-07
JP2022553946A (ja) 2022-12-27
WO2021092434A1 (en) 2021-05-14
HUE067507T2 (hu) 2024-10-28
EP4032052A4 (en) 2022-11-09
KR20220093198A (ko) 2022-07-05
EP4032052A1 (en) 2022-07-27
PL4032052T3 (pl) 2024-10-28
ES2987642T3 (es) 2024-11-15
LT4032052T (lt) 2024-08-26
CN114730421A (zh) 2022-07-08
FI4032052T3 (fi) 2024-05-16
SMT202400327T1 (it) 2024-11-15
DK4032052T3 (en) 2024-05-21
HRP20240646T1 (hr) 2024-09-27
AU2020380960A1 (en) 2022-05-12
IL292310A (en) 2022-06-01
PT4032052T (pt) 2024-05-20
CA3157091A1 (en) 2021-05-14
SI4032052T1 (sl) 2025-03-31
EP4032052B1 (en) 2024-02-14

Similar Documents

Publication Publication Date Title
RS66076B1 (sr) Izvođenje transakcija pomoću privatnih i javnih lanaca blokova
US12556394B2 (en) System and method for authenticating user identity
JP7284747B2 (ja) 分散協調を用いるスマートコントラクトの実行
CN113537984A (zh) 基于区块链的内容验证方法及装置、电子设备
WO2015116998A2 (en) Electronic transfer and obligation enforcement system
CN111383114A (zh) 基于区块链的资产信息管理方法和装置
US11888981B2 (en) Privacy preserving auditable accounts
CN111369730B (zh) 基于区块链的投票表决处理方法和装置
CN111402033A (zh) 基于区块链的资产信息管理方法和装置
US20240370854A1 (en) Systems And Methods For Privacy-Enhanced Digital Wallet Verification
Baset et al. Blockchain Development with hyperledger: build decentralized applications with hyperledger fabric and composer
US20230419285A1 (en) NFT Enforcement Control System
US20220300953A1 (en) Auditing digital currency transactions
CN115577382A (zh) 基于区块链的智能合约部署方法及相关设备
KR102272511B1 (ko) 프로젝트 관리 플랫폼
Mansour et al. A Survey on Blockchain in E-Government Services: Status and Challenges
CN116894727A (zh) 一种基于区块链的数据处理方法、装置及相关设备
US11810104B1 (en) Method and system for management of game tokens
Vimal Mani A view of blockchain technology from the information security radar
CN117522414A (zh) 基于区块链的信息交互方法及装置、电子设备和介质
HK40076255A (en) Performing transactions using private and public blockchains
Kareem et al. DeFiDonate: Innovations in Decentralized Finance (DeFi) through blockchain technology
Zhang et al. Cross-chain bridges: Attack taxonomy, defenses, and open problems
Cheng Blockchain-Based Identification and Access Control Framework-A Case Study of Open Banking Ecosystem
Zhang et al. Intelligent Connected Vehicle Data Privacy and Security Transaction Sharing System Based on Blockchain