Skip to main content

Рабочы працэс

Служба імёнаў PIVX (PiNS) дазваляе карыстальнікам рэгістраваць, абнаўляць, пералічваць і перадаваць зручныя для чытання даменныя імёны (напрыклад, myname.pivx) і бяспечна супастаўляць іх з адрасамі PIVX shielded (Sapling).

Паколькі PIVX з'яўляецца блокчейном на аснове UTXO без смарт-кантрактаў агульнага прызначэння, ён не можа першапачаткова запускаць складаную сістэму баз дадзеных, такую ​​як рэестр дамена. Каб вырашыць гэтую праблему, PiNS выкарыстоўвае Архітэктуру ў стылі Rollup, якая выконвае аперацыі па-за ланцужком, захоўвае даныя на PIVX і замацоўвае бяспеку на Arbitrum.

Сістэма сілкуецца ад пяці ўзаемазвязаных кампанентаў:

1. PIVX Блокчэйн: узровень даступнасці даных

Кожнае дзеянне, якое выконвае карыстальнік - рэгістрацыя імя (REG), абнаўленне адраса (UPD), перадача права ўласнасці (CHG), размяшчэнне на рынку (LST), выключэнне з спісу (ULT) або купля (BUY) - пачынаецца як родная транзакцыя PIVX. Транзакцыя змяшчае структураваную тэкставую каманду ў полі нататкі аб транзакцыі (напрыклад, PiNS:1:REG:domain:address:pubkey:nonce:signature).

  • Ланцужок PIVX з'яўляецца крыніцай праўды. Ён пастаянна захоўвае кожную каманду дамена. Ніякія змены стану не могуць адбыцца без запісанай транзакцыі PIVX.

2. Вузел рэгістратара: секвенсер

Аўтаматызаваны вузел рэгістратара скануе блокчейн PIVX. Ён счытвае каманды дамена, правярае, што карыстальнік заплаціў правільную плату за транзакцыю, і ставіць аперацыі ў чаргу. Кожныя 10 хвілін рэгістратар аб'ядноўвае гэтыя аперацыі ў адзін Пакет.

3. SP1 zkVM: Механізм нулявых ведаў (ад Succinct)

Пакет транзакцый адпраўляецца ў SP1 Zero-Knowledge Virtual Machine (zkVM). ZkVM запускае спецыялізаваную гасцявую праграму Rust, якая дзейнічае як арбітр строгага пратаколу. Праверка правярае кожную транзакцыю ў пакете:

  • Ці подпісы сапраўдныя і падпісаны фактычнымі ўладальнікамі дамена?
  • Ці строга павялічваюцца аднаразовыя нумары, каб прадухіліць атакі прайгравання?
  • Ці правільна адфарматаваны прэфіксы дамена?
  • Ці плаціць транзакцыя BUY дакладную цану, указаную ў транзакцыі LST?
  • Ці правільна REG0__ пераходзіць у REG1__ з выкарыстаннем матэматычных доказаў Меркла?

Калі ўсе правілы выкананы, zkVM стварае крыптаграфічны доказ ZK-SNARK (з дапамогай Groth16). Гэтым доказам з'яўляецца малюсенькі сертыфікат, які матэматычна дэкларуе: "Пачынаючы з кораня стану A, пасля прымянення гэтай сапраўднай партыі транзакцый новы корань стану - B."

Кожная скампіляваная версія гэтай гасцявой праграмы дае ўнікальны крыптаграфічны ідэнтыфікатар, які называецца Ключ праверкі (vkey). REG2__ - гэта 32-байтны хэш самой структуры скампіляванай гасцявой праграмы. Калі хаця б адзін радок праверачнага кода будзе зменены, праграма кампілюецца ў зусім іншы REG3__.

4. Смарт-кантракт Arbitrum: якар

Згенераванае доказ ZK і яго агульнадаступныя ўводы адпраўляюцца ў смарт-кантракт PiNSAnchor на Arbitrum. Кантракт выступае ў якасці разліковага шлюза.

  • Крыптаграфічная прывязка: у смарт-кантракце REG4__ (чаканы 32-байтны хэш гасцявой праграмы) захоўваецца ў ланцужку. Калі доказ падаецца, кантракт накіроўвае доказ і REG5__ на шлюз праверкі Succinct SP1.
  • Праверка блакіроўкі ключа: шлюз праверкі зацвердзіць доказ, толькі калі ён быў згенераваны дакладнай гасцявой праграмай, якая адпавядае зарэгістраванаму REG6__.
  • Калі доказ сапраўдны і пацверджаны ў адпаведнасці з зарэгістраваным REG7__, кантракт абнаўляе афіцыйны, глабальна прыняты корань стану да REG8__ і захоўвае яго ў сваёй гісторыі.
  • Калі было парушана адно правіла або калі доказ быў створаны з дапамогай мадыфікаванай гасцявой праграмы (якая стварала б іншы REG9__), кантракт адхіляе транзакцыю, прадухіляючы несанкцыянаваныя пераходы стану.

5. Размеркаваныя індэксатары: рэзолверы

Любы можа запусціць незалежны Indexer Node. Індэксатары скануюць блокчейн PIVX на наяўнасць транзакцый дамена і скануюць кантракт Arbitrum на прадмет правераных каранёвых кантрольных кропак. Яны прымяняюць транзакцыі лакальна, вылічваюць сваё ўласнае дрэва Merkle і правяраюць, што іх лакальны корань супадае з кантрольнай кропкай Arbitrum.

  • Гэта гарантуе, што ўсе індэксатары, незалежна ад таго, дзе яны запускаюцца, заўсёды вырашаюць дамены па точна аднолькавым мэтавым адрасе (падтрымліваючы адзіны ўніфікаваны стан на размеркаваных канцах).