Naon téh kaulinan validator atawa "kumaha carana ngaluncurkeun bukti-of-stake blockchain"

Janten, tim anjeun parantos réngsé versi alfa tina blockchain anjeun, sareng waktosna pikeun ngaluncurkeun testnet teras mainnet. Anjeun gaduh blockchain nyata, sareng pamilon mandiri, modél ékonomi anu saé, kaamanan, anjeun parantos ngarancang pamaréntahan sareng ayeuna waktosna pikeun nyobian sadayana ieu dina aksi. Dina dunya crypto-anarkis anu idéal, anjeun nempatkeun blok genesis dina jaringan, kode ahir titik sareng validator sorangan ngaluncurkeun sadayana, ningkatkeun sadaya jasa bantu, sareng sadayana kajadian ku nyalira. Tapi ieu dina dunya fiksi, tapi di dunya nyata, tim kudu nyiapkeun cukup loba software bantu sarta sagala rupa manipulasi pikeun mantuan validators ngajalankeun jaringan stabil. Ieu naon artikel ieu ngeunaan.

Launching jaringan dumasar kana consensuses tipe "bukti-of-stake", dimana validators ditangtukeun ku sora tina Panyekel token sistem, mangrupakeun acara rada husus, sabab malah launching tradisional, sistem junun centrally kalawan puluhan sarta ratusan server teu gampang. tugas sorangan, sarta blockchain kudu dimimitian ku usaha satia tapi pamilon bebas. Sareng, upami dina korporasi, nalika ngamimitian, pangurus gaduh aksés pinuh ka sadaya mesin, log, ngawaskeun umum, maka validator moal ngijinkeun saha waé pikeun ngaksés serverna sareng, paling dipikaresep, bakal resep ngawangun infrastrukturna sacara mandiri, sabab ngatur aksés. ka aset utama validator - stakes pamilih. Paripolah ieu ngamungkinkeun pikeun ngawangun jaringan aman anu disebarkeun - kamerdikaan panyadia awan anu dianggo, server maya sareng "baremetal", sistem operasi anu béda, sadayana ieu ngamungkinkeun anjeun pikeun ngalakukeun serangan dina jaringan sapertos kitu pisan henteu efektif - teuing béda. software dipaké. Contona, Ethereum ngagunakeun dua palaksanaan titik utama, dina Go jeung di Rust, sarta serangan anu mujarab pikeun hiji palaksanaan teu dianggo pikeun séjén.

Ku alatan éta, sakabéh prosés pikeun launching jeung operasi blockchains kudu diatur dina cara nu mana wae nu validator, atawa komo sakelompok leutik validators, bisa iraha wae buang komputer maranéhanana kaluar jandela jeung ninggalkeun, bari teu kudu megatkeun jeung validators sésana kudu. terus éféktif ngarojong jaringan operasi sarta nyambungkeun validators anyar. Nalika ngaluncurkeun jaringan, nalika hiji validator aya di Éropa, anu kadua di Amérika Kidul, sareng anu katilu di Asia, rada sesah pikeun ngahontal karya anu ngagabung tina sababaraha belasan grup mandiri sareng dipikaresep ku aranjeunna salaku hasilna.

Validators

Hayu urang ngabayangkeun peluncuran hiji blockchain modern hypothetical (lolobana naon digambarkeun cocog pikeun blockchains dumasar kana sagala kulawarga modern blockchains: Ethereum, EOS, Polkadot, Cosmos jeung sajabana, nu nyadiakeun bukti-of-stake konsensus. Karakter utama tina blockchains sapertos tim validator , kalibet dina masang server mandiri sorangan nu sangkan méré konfirmasi sarta ngahasilkeun blok anyar, sarta narima ganjaran disadiakeun ku jaringan pikeun maranéhanana anu ilubiung dina konsensus. leuwih atawa kurang éféktif ngahontal konsensus dina detik), jadi proyék nu announces pendaptaran, nu validators babagi informasi umum ngeunaan diri jeung pamaké, ngayakinkeun aranjeunna yen aranjeunna bade nyadiakeun layanan kualitas luhur ka jaringan dibuka.

Validasi mangrupikeun usaha anu ngamungkinkeun anjeun sacara akurat ngira-ngira panghasilan poténsial validator, gancang mindahkeun kakuatan antara proyék-proyék, sareng upami jaringan anu dipilihna suksés, validator tiasa, salaku pamilon anu lengkep dina DAO sareng jalma anu tanggung jawab. ngamekarkeun proyék, atawa ngan saukur nyadiakeun layanan teknis alus teuing pikeun lengkep transparan, jujur ​​earned duit. Nalika ngitung ganjaran pikeun validators, proyék nyobian tumut kana akun biaya validators sareng ngadamel ganjaran pikeun blok sapertos usaha ieu nguntungkeun, tapi dina waktos anu sami henteu ngijinkeun validator ngirangan ékonomi ku ngabahekeun aranjeunna ku artos sareng depriving pamaké jaringan séjén tina eta.

Usaha validator merlukeun mastikeun toleransi lepat tinggi tina jasa, nu hartina tingkat tinggi latihan pikeun devops jeung pamekar jeung sumber komputasi mahal. Sanaos henteu peryogi tambang hashes dina jaringan buktina-karya, titik blockchain mangrupikeun jasa ageung anu nyéépkeun mémori anu seueur, meakeun seueur itungan, validasi, nyerat kana disk sareng ngirimkeun data anu ageung kana jaringan. . Pikeun nyimpen log transaksi sareng ranté blok pikeun blokchain kalayan sababaraha rébu transaksi leutik dina blok, panyimpen 50 Gb atanapi langkung ayeuna diperyogikeun, sareng pikeun blok kedah janten SSD. Databés nagara blockchains kalayan dukungan pikeun kontrak pinter parantos tiasa ngaleuwihan 64Gb RAM. Server sareng ciri anu diperyogikeun lumayan mahal; titik Ethereum atanapi EOS tiasa hargana ti 100 dugi ka 200 $ / sasih. Tambihkeun kana ieu kanaékan gajih pikeun kerja-jaman para pamekar sareng devops, anu salami periode peluncuran ngabéréskeun masalah bahkan wengi, sabab sababaraha validator tiasa gampang ditempatkeun di belahan bumi anu sanés. Sanajan kitu, dina moments katuhu, owning titik validator bisa mawa panghasilan serius (dina kasus EOS, nepi ka $10 per poé).

Validasi ngan ukur salah sahiji kalungguhan IT poténsial anyar pikeun pangusaha sareng perusahaan; sabab programer nyiptakeun algoritma anu langkung canggih anu ngaganjar kajujuran sareng ngahukum panipuan sareng maling, jasa muncul anu ngalaksanakeun fungsi nyebarkeun data penting (oracles), ngalaksanakeun pangawasan. (deposit slashing na punishing cheaters ku medarkeun bukti tipu daya), jasa resolusi sengketa, asuransi na pilihan, malah kempelan sampah mangrupakeun pasar berpotensi badag dina sistem kontrak pinter dimana perlu mayar neundeun data.

Masalah peluncuran blockchain

Keterbukaan blokcheyn, anu ngamungkinkeun komputer ti nagara mana waé pikeun ilubiung sacara bébas dina jaringan sareng betah nyambungkeun naon waé skrip kiddie kana jaringan numutkeun petunjuk dina GitHub, henteu salawasna kauntungan. The ngungudag of a token anyar mindeng maksa validators ka "tambang hiji koin anyar dina mimiti," dina harepan nu laju bakal naek jeung kasempetan pikeun gancang buang kaluar earnings maranéhanana. Ogé, ieu ngandung harti yén validator anjeun tiasa saha waé, sanajan jalma anonim, anjeun tiasa milih anjeunna dina cara anu sami sareng validator anu sanés (tapi, bakal sesah pikeun jalma anonim pikeun ngumpulkeun sora pamangku kapentingan pikeun dirina, janten urang ' Bakal ninggalkeun dongéng pikasieuneun ngeunaan cryptocurrencies anonim ka politikus). Sanaos kitu

Tim proyék ngagaduhan tugas - kumaha waé tiasa asup kana jaringanna jalma-jalma anu ka hareupna tiasa mastikeun operasi stabil tina titik, ngartos kaamanan, terang kumaha gancang ngabéréskeun masalah, gawé bareng sareng validator sanés sareng polah babarengan - kualitas éta. pisan hal pinuh gumantung kana qualities ieu token nu pamilon jaringan bade investasi waktu jeung sumber maranéhanana. Pendiri anu nyukupan, nalika ngira-ngira résiko, ngartos pisan yén nalika ngaluncurkeun parangkat lunak ukuran ieu, anjeun pasti bakal ngalaman kasalahan dina kode sareng konfigurasi titik, sareng yén stabilitas jaringan gumantung kana kumaha pamekar sareng validator bakal ngabéréskeun babarengan. masalah sapertos.

Tim siap milih dina mainnet pikeun validators naon waé, ngan ukur terang anu mana, mana anu saé? The portopolio pangbadagna? Ampir euweuh nu boga ayeuna. Dumasar kana profil LinkedIn tim? Devops ngalaman atawa spesialis kaamanan moal masihan anjeun sagala profil LinkedIn. Numutkeun pernyataan dina obrolan, tulisan sareng ngabantosan batur salami fase persiapan? Alus, tapi subjektif jeung teu akurat.

Dina kaayaan kitu, hiji hal tetep - hiji hal anu solves masalah dulur ogé - kaulinan nu bakal mungkin pikeun milih validators pangalusna, tapi hal utama - pikeun nguji blockchain pikeun kakuatan sarta ngalaksanakeun tés tempur skala pinuh. blockchain dina kaayaan pamakean aktip, parobahan konsensus, penampilan sareng koreksi kasalahan . Prosedur ieu munggaran dibere salaku kaulinan ku guys ti proyék Cosmos, sarta gagasan ieu undoubtedly cara alus teuing pikeun nyiapkeun jaringan pikeun peluncuran mainnet dipercaya jeung lepat-toleran.

Kaulinan Validators

Kuring bakal ngajelaskeun kaulinan validators sakumaha urang dirancang eta pikeun DAO.Casino (DAOBet) blockchain dumasar kana garpu EOS, nu disebut Haya sarta ngabogaan mékanisme governance sarupa - validators dipilih ku voting tina akun mana wae, nu bagian tina kasaimbangan dipaké pikeun milih validator nu beku. Sakur akun anu gaduh token BET utama dina kasaimbanganna tiasa milih validator anu dipilih sareng bagian tina kasaimbanganna. Undian dijumlahkeun sareng validator luhur diwangun dumasar kana hasil. Dina blockchains béda prosés ieu diatur béda, sarta biasana dina bagian ieu nu blockchain anyar béda ti indungna, sarta kuring kudu nyebutkeun yén bisi urang, EOS pinuh justifies "OS" dina ngaranna, urang bener ngagunakeun EOS. salaku sistem operasi dasar pikeun deployment versi dirobah tina blockchain pikeun tugas DAOBet.

Kuring bakal ngajelaskeun masalah individu sareng kumaha aranjeunna tiasa direngsekeun dina kaulinan. Hayu urang bayangkeun jaringan dimana server anjeun tiasa diserang sacara terbuka, dimana pikeun ngajaga posisi validator anjeun kedah teras-terasan berinteraksi sareng jaringan, promosi validator anjeun sareng mastikeun yén anjeunna ngahasilkeun blok sareng dikirimkeun ka validator sanés dina waktosna. disebutkeun validator bakal dialungkeun kaluar tina daptar.

Kumaha carana milih winners luhur?

Sarat téknis utama pikeun kaulinan nyaéta yén hasilna tiasa diverifikasi sacara umum. Ieu ngandung harti yén hasil tina kaulinan: winners TOP, kudu kabentuk mastikeun dina dasar data nu bisa diverifikasi ku pamilon wae. Dina sistem terpusat, urang bisa ngukur "uptime" unggal validator jeung ganjaran maranéhanana anu online paling atawa ngaliwatan lalulintas jaringan maksimum. Anjeun tiasa ngumpulkeun data dina prosésor sareng beban mémori sareng ganjaran jalma anu parantos damel saé. Tapi sagala kempelan misalna tina metrics hartina ayana puseur kempelan, sarta titik nu sadayana bebas sarta bisa kalakuanana sakumaha aranjeunna hoyong sarta ngirimkeun data nanaon.

Ku alatan éta, leyuran alam nyaéta yén winners kudu ditangtukeun dumasar kana data tina blockchain nu, saprak éta bisa dipaké pikeun nempo validator nu dihasilkeun blok mana jeung transaksi naon anu kaasup di dinya. Urang disebut angka ieu Validator nunjuk (VP), sarta earning aranjeunna tujuan utama validators di buruan. Dina hal urang, métrik pangbasajanna, gampang diverifikasi sacara umum sareng efektif tina "kagunaan" validator nyaéta VP = Jumlah blok anu dihasilkeun ku validator dina jangka waktu anu ditangtukeun.

pilihan basajan Ieu alatan kanyataan yén governance di EOS geus nyadiakeun keur loba masalah munculna, saprak EOS teh pewaris tilu generasi sabenerna digawé blockchains kalawan pangalaman éksténsif dina manajemen jaringan kompléks, sarta ampir sagala masalah validator jeung jaringan, processor, disk ngakibatkeun ngan hiji masalah - anjeunna tanda blok pangsaeutikna, narima pangmayaran kirang pikeun digawé, nu deui ngabalukarkeun urang saukur ka Jumlah blok ditandatanganan - pikeun EOS ieu pilihan alus teuing jeung basajan.

Pikeun blokcheyn anu sanés, cara ngitung Poin Validator tiasa bénten, contona, pikeun konsensus dumasar pBFT (Tendermint / Cosmos, konsensus Aura ti Parity Substrat), dimana unggal blok kedah ditandatanganan ku sababaraha validator, janten akal pikeun ngitung validator individu. tanda tangan tinimbang blok Ieu bisa jadi make akal pikiran pikeun tumut kana akun rounds konsensus lengkep, nu runtah sumberdaya validators séjén, sacara umum ieu gumantung pisan kana jenis konsensus.

Kumaha simulate kaayaan operasi nyata

Tugas pangadeg nyaéta pikeun nguji validator dina kaayaan anu caket sareng kanyataan, tanpa gaduh kontrol terpusat. Masalah ieu tiasa direngsekeun nganggo kontrak keran, anu nyebarkeun jumlah anu sami tina token utama ka validator sareng anu sanés. Pikeun nampa tokens on kasaimbangan Anjeun, Anjeun kudu nyieun transaksi sarta mastikeun yén jaringan nu ngawengku eta di blok. Ku kituna, dina raraga meunang, validator a kudu terus replenish kasaimbangan na kalawan tokens anyar jeung milih dirina, promosi dirina ka luhur. Kagiatan ieu nyiptakeun beban konstan dina jaringan, sarta parameter bisa dipilih ku kituna aliran requests cukup parna pikeun test jaringan pinuh. Ku alatan éta, rencanana kontrak keran sateuacanna salaku alat penting pikeun ngajalankeun jaringan tur mimitian milih parameter na sateuacanna.

Nyuhunkeun token tina keran sareng ngavalidasi sora masih henteu sapinuhna niru operasi hulu ledak, khususna dina modeu anu sarat pisan. Ku alatan éta, tim blockchain masih kudu nulis tolok ukur tambahan dina hiji atawa cara séjén pikeun muka jaringan. Peran khusus dina ieu dimaénkeun ku kontrak pinter anu diciptakeun khusus anu ngamungkinkeun nguji subsistem anu misah. Pikeun nguji gudang, kontrak nyimpen data acak dina blockchain, sarta pikeun nguji sumberdaya jaringan, kontrak test merlukeun jumlah badag data input, kukituna inflating volume transaksi - ku launching aliran transaksi misalna dina titik sawenang dina jangka waktu nu. tim sakaligus nguji stabilitas kode jeung kakuatan validators.

Masalah anu misah nyaéta ngamutahirkeun kode titik sareng ngalaksanakeun garpu keras. Diperlukeun yén upami aya bug, kerentanan, atanapi kolusi validator jahat, validator kedah gaduh rencana aksi anu parantos digarap dina kaulinan validator. Di dieu anjeun bisa datang nepi ka skéma accruing VP pikeun gancang nerapkeun garpu teuas, contona, ku finening sadayana validators anu teu acan digulung kaluar versi anyar tina kode titik, tapi ieu téh hésé pikeun nerapkeun sarta complicates itungan. Anjeun tiasa simulate kaayaan hiji pamakéan darurat tina garpu teuas ku artifisial "megatkeun" blockchain dina blok dibikeun. Blok produksi eureun, sarta dina tungtungna winners bakal jalma anu luncat dina munggaran tur mimitian Signing blok, jadi VP dumasar kana jumlah blok ditandatanganan téh pas alus dieu.

Kumaha nginpokeun pamilon ngeunaan status jaringan sareng ngalereskeun kasalahan

Sanajan teu percaya antara validators, resi timely informasi up-to-date ngeunaan kaayaan jaringan mangpaat pikeun dulur sangkan kaputusan leuwih gancang, jadi tim proyék ieu raising layanan pikeun ngumpulkeun jeung visualizing loba metrics ti server validator, nu ngidinan Anjeun pikeun ningali kaayaan sakaligus pikeun sakabéh jaringan, sahingga anjeun gancang nangtukeun naon anu lumangsung. Ogé, mangpaat pikeun validators sareng proyék yén tim proyék gancang ngabenerkeun kasalahan anu dipendakan, janten salian pikeun ngumpulkeun métrik, masuk akal pikeun langsung ngamimitian ngumpulkeun log sareng data kasalahan tina mesin validator dina mesin anu tiasa diaksés ku blockchain. pamekar. Di dieu, teu aya mangpaatna pikeun saha waé pikeun nyimpang inpormasi, janten jasa ieu dikembangkeun ku tim proyék sareng tiasa dipercaya. Masuk akal pikeun ngumpulkeun métrik sistem ti validator, sareng, tangtosna, métrik anu paling penting tina blokchain sorangan - pikeun DAOBet - nyaéta waktos finalisasi sareng lag tina blok finalisasi terakhir. Hatur nuhun kana ieu, tim ningali kanaékan konsumsi memori dina titik nalika ngajalankeun patokan, masalah sareng validator individu.

titik penting pikeun ngalakonan kaulinan validator

Tétéla, upami anjeun hoyong sacara resmi ngijinkeun validator pikeun nyerang mesin masing-masing (sacara henteu resmi aranjeunna tiasa ngalakukeun ieu), anjeun kedah sacara misah ngarumuskeun ieu sacara sah salaku uji kaamanan, sabab dina undang-undang sababaraha nagara DDoS atanapi serangan jaringan tiasa. dihukum. Masalah penting anu sanés nyaéta kumaha ganjaran validator. Hadiah alami mangrupikeun token proyék, anu bakal ditransfer ka mainnet, tapi distribusi token anu ageung pikeun saha waé anu tiasa ngaluncurkeun node ogé sanés pilihan anu pangsaéna. Paling dipikaresep anjeun kudu saimbang antara dua pilihan ekstrim:

Ngadistribusikaeun sakabéh hadiah pool nurutkeun VP earned
eta pisan demokratis tur ngamungkinkeun dulur anu geus invested waktu jeung sumber kana kaulinan validator earn duit
tapi metot jalma acak pikeun kaulinan tanpa infrastruktur disusun

Ngadistribusikaeun luhur-N hadiah kolam renang ka validators dumasar kana hasil kaulinan
Anu meunangna sigana bakal janten validator anu paling konsisten salami pertandingan sareng nekad pisan pikeun meunang.
sababaraha validators moal rék ilubiung, low assessing Chances maranéhna meunang, utamana lamun pamilon kaasup validators venerable.

Pilihan mana anu kedah dipilih terserah anjeun

Aya hiji deui titik - lain kanyataan yén puluhan validators bakal rurusuhan pikeun ilubiung dina kaulinan dina telepon anjeun, sarta jalma anu mutuskeun pikeun nyobaan, teu sakabéh aranjeunna malah bakal install sarta ngajalankeun titik - biasana, dina tahap ieu, proyék gaduh dokuméntasi rada sparse, kasalahan anu encountered, sarta pamekar gawe dina tekenan waktos teu ngajawab patarosan pisan gancang. Kukituna, sateuacan ngaluncurkeun kaulinan, ogé kedah nyayogikeun tindakan upami jumlah validator anu diperyogikeun henteu ngahontal. Dina hal ieu, dina mimiti kaulinan, validators leungit dibuka ku tim proyék, ilubiung dina konsensus, tapi teu bisa jadi winners.

kacindekan

Dina kacindekan, kuring nyoba compile ti luhur daptar naon nu kudu dipikir nepi, dijieun jeung dibuka pikeun éféktif ngalaksanakeun kaulinan validator.

Naon anu anjeun kedah laksanakeun pikeun ngajalankeun kaulinan validator nyata:
ngamekarkeun blockchain anjeun sorangan :)

  • ngadamel sareng ngangkat antarmuka wéb sareng nyayogikeun CLI pikeun voting pikeun validator
  • pastikeun yén métrik tina titik validator anu ngajalankeun tiasa dikirim ka layanan terpusat (contona Prometheus)
  • ngangkat server kempelan metrics (Prometheus + Grafana) pikeun kaulinan validator
  • angka kaluar kumaha Validator nunjuk (VP) bakal diitung
  • ngamekarkeun Aksara umum nu Etang validator VP dumasar kana data tina blockchain nu
  • ngamekarkeun panganteur web pikeun mintonkeun validators luhur, jeung status kaulinan tina validators (sabaraha waktu ditinggalkeun nepi ka ahir, nu boga sabaraha VP, jsb)
  • ngamekarkeun sareng ngajadikeun otomatis peluncuran nomer sawenang tina titik anjeun sorangan, ngarancang prosés nyambungkeun validator ka buruan (iraha sareng kumaha cara megatkeun titik anjeun, ngalebetkeun sareng ngahapus sora pikeun aranjeunna)
  • ngitung sabaraha tokens kudu dikaluarkeun sarta ngamekarkeun kontrak keran
  • ngadamel skrip patokan (transfer token, pamakean panyimpenan ageung, pamakean jaringan ageung)
  • ngumpulkeun sakabeh pamilon dina hiji obrolan pikeun komunikasi gancang
  • ngajalankeun blockchain saeutik saméméhna ti mimiti game
  • ngantosan blok awal, ngamimitian kaulinan
  • nguji jaringan kalawan sababaraha jenis transaksi
  • gulung kaluar garpu teuas
  • ngarobah daptar validators
  • ulang léngkah 13,14,15, XNUMX, XNUMX dina urutan béda, ngajaga stabilitas jaringan
  • ngantosan blok final, mungkas game, cacah VP

Ieu kudu ngomong yén kaulinan validators - carita anyar, sarta ieu dipigawé ngan sababaraha kali, jadi Anjeun teu kedah nyandak téks ieu salaku pituduh siap-dijieun. Henteu aya analog dina bisnis IT modéren - bayangkeun yén bank, sateuacan ngaluncurkeun sistem pamayaran, saling bersaing pikeun ningali saha anu pangsaéna dina ngalaksanakeun transaksi palanggan. Pendekatan tradisional henteu mungkin ngabantosan anjeun nyiptakeun jaringan desentralisasi anu ageung, janten ngawasa modél bisnis énggal, ngajalankeun kaulinan anjeun, ngaidentipikasi anu pantes, ngaganjar aranjeunna sareng ngajaga sistem anu disebarkeun anjeun gancang sareng stabil.

sumber: www.habr.com

Tambahkeun komentar