Бул документтин максаты: Chia консенсус алгоритминин 1.1 нускасын түшүндүрүп бер

Максаттуу аудитория: blockchain менен тааныш болгон, бирок мейкиндиктин далилдери (PoS), убакыттын далилдери / кечиктирилген кечигүү функциялары (VDF) жана Chia менен тааныш эмес техникалык аудитория.

Эгер сиз Биткойн / блокчейн менен тааныш эмес болсоңуз, алгач ушул окуу китебин окуп чыгыңыз: Bitcoin жана Chia Network Консенсусу ТүшүндүрүлдүCryptocurrency Technologies.

Өтүнөмүн сура keybase боюнча суроолор, ошондуктан биз бул документти өркүндөтө алабыз!

Мазмуну жашыруу

Мотивация

The Chia Consensus алгоритми экологиялык таза, коопсуз жана децентралдаштырылган альтернатива иштин далили жана коюмдун далили катары түзүүгө багытталган.

Иштин далили (PoW) криптовалюталар электр энергиясын өрттөп жиберишет. Мындан тышкары, алар аппараттык өндүрүштүн топтолушунан жана арзанга ээлик кылуудан жана концентрациядан улам борборлоштурулган болуп калышат энергия, PoW жөнөкөй колдонуучулар үчүн жеткиликсиз жана ар кандай кол салууларга дуушар.

Коюмдун далили ар кандай формада, ар биринин өзүнүн оң жана терс жактары бар. Кээ бир жалпы алсыз жактары: биржалар тарабынан каражаттарды концентрацияланган контролдоо; делегациянын концентрациясы; өткөрүү пункттарына жана субъективдүүлүккө таянуу (мезгил-мезгили менен онлайн режиминде болуу талабы); туруктуу колдонуучуларга жеткиликсиздик; кескин тобокелдик; саат синхрондоштуруу божомолдору, тармактык божомолдор, жана башка коопсуздук божомолдору.

Introduction

Борборлоштурулбаган консенсус алгоритмдери криптографиялык жактан текшерилүүчү жана тартыш (чексиз эмес) ресурс менен Sybil каршылыгын талап кылат. Мурунку blockchain системаларында жетишсиз ресурстар эсептөөчү күч жана үлүш болгон. Мейкиндикти далилдөө - бул, жеткиликтүү ресурс катары сактоо мүмкүнчүлүгүн колдонуу менен Биткойндун "бир процессор бир добуш" идеалына жакыныраак альтернатива. Мисалыampле, кимдир бирөө 500GiB 5 "добушка" ээ болсо, 100GiB сактаганга 1 "добуш" берилет”, Бул жерде шайлоочублокту утуп алуу жана текшерүү мүмкүнчүлүгүн билдирет, чынжырдагы добуш эмес. S колдонуп гана жатышатtorage кубаттуулугу, бирок, коопсуз эмес. Бир башка криптографиялык табышмак бул тутумду коргоо үчүн колдонулат: тактап айтканда, текшерилген кечигүү функциясы, а криптографиялык чыныгы убакыт өткөндүгүнүн далили. Мейкиндик менен убакыттын далилдерин айкалыштырып, адилеттүү тутумду түзүүгө болот. Мындай тутумда колдонуучулар туш келди сакташатАлардын катуу дисктериндеги маалыматтарды бир нече убакытка чейин карап, Чияны утуп алуу мүмкүнчүлүгү алардын бөлүнгөн мейкиндигине жараша болот. Мындан тышкары, мындай тутум миллиарддаган катышуучуларды эмгек лотереясын тастыктоого окшош жол менен өлчөйт. Кошулуу үчүн каражат, атайын жабдыктар, каттоо же уруксат талап кылынбайт, болгону катуу диск. Ал эми система толугу менен ачык-айкын жана детерминдик мүнөздө - каалаган адам каноникалык чынжыр болгонун натыйжалуу жана объективдүү түрдө тастыктай алат.

Космостун далилдери

Космостук протоколдун далили:

  1. текшерүүчү Proverге чакырык жөнөтө алат жана
  2. Провер текшерүүчүгө Провердин дал ошол учурда сактагычтын белгилүү бир көлөмүн ээлеп койгонун көрсөтө алат.

Космостук протоколдун далили үч компоненттен турат: пландоо, далилдөө / чарба жүргүзүү жана текшерүү. Чоо-жайы бул жерде.

1-сүрөтБиринчиден, prover "участокторун" же диск мейкиндигинин бир бөлүгүн бөлөт (1). Андан кийин “чарбалар” деген чакырыктарга мейкиндиктин далилдери менен жооп берүү менен (2,3,4). Текшерүүчү далилдин ошол чакырыкка жарактуу экендигин текшерет.

Сюжет түзүү биз дыйкан деп атаган макалдын белгилүү бир мейкиндикти инициализациялоо процесси. Ноутбукта резервдөө үчүн жеткиликтүү дегенде 100 Гб болгон ар бир адам же колдонулбаган сактоо мейкиндигинин чоң көлөмүн бөлүп берүүгө даяр болгон ишкер дыйкан боло алат. Эч кандай жогорку чек жок. Чийүү сааттардын же күндөрдүн тартибин алат жана бир гана жолу аткарылат. Башталган мейкиндикти a ээлейт file сюжет деп аталат. Участоктун өлчөмдөрү ак параметри менен аныкталат, мында боштук = 780 * k * пов(2, к  10), минималдуу k 32 (101.4 GiB) менен. Чиа боюнча 1.0, тегерегинде k32 сюжет түзсө болот алты тез товардык машина менен саат, жана 24 бир CPU өзөгү жана бир нече ГБ эс тутумун колдонгон жай машина менен саат. Зор ылдамдатууга мүмкүнчүлүктөр бар. PosSpace курулуш Beyond негизделген Хеллман [8 Жүктөө], бирок 6 жолу уюлган жана аны иш жүзүнө ашыруу үчүн башка эвристика камтылган.

Натыйжада сюжет пайда болот file болушу мүмкүн, мисалыampле, 100 GiB. The file туш келди көрүнгөн маалыматтар менен жети таблицаны камтыйт. Ар бир таблицада 2^к жазуу бар. I таблицасындагы ар бир жазуу камтылган i-1 таблицасына эки көрсөткүч (мурунку таблица). Акыр-аягы, ар бир таблицадагы 1 жазуу ортосунда бир бүтүн сандарды камтыйт 0 жана 2 ^ к, "x-values" деп аталат. Космостун далили - бул белгилүү бир математикалык байланышка ээ 64 х маанилеринин жыйындысы.

Жогоруда келтирилген диаграммада, бир жолу Провер бар 100 GiB, алар чакырык алууга жана далил түзүүгө даяр. Бул схеманын бир жагымдуу касиети анын интерактивдүү эместиги: каттоо жок же сюжет түзүү үчүн онлайн байланышы керек. PoW сыяктуу сыйлыкка чейин эч нерсе блокчейнге тийбейт.

Дыйканчылык бул дыйканга сактоонун белгиленген көлөмүн мыйзамдуу түрдө четке каккандыгын далилдөө үчүн бир катар кыйынчылыктарды кабыл алуу процесси. Дыйкан ар бир чакырыкка жооп катары алардын участокторун текшерип, далил келтирип, каалаганын тапшырат жеңиш далилдер текшерүү үчүн тармакка.

Бул процесстин ар бир кайталанышы - бул таблицаны издөө. A издөө киргизүү катары 256 биттик көйгөйдү талап кылат жана далил катары чыгарат. Фермер чакырыкка жооп берет бир жуп баалуулуктарды окуу таблица 7. Булар 6-таблицанын эки жазуусун көрсөтүп турат. Акыры, дыйкан x-маанисинин дарагын толугу менен алат. Бул үчүн 7-таблица үчүн бир окууну, 6-үстөл үчүн экөөнү, 5-үстөл үчүн төртөөнү ж.б.у.с. талап кылынат, эгер 640 HD убакыт талап кылынса, жай HDD болжол менен 10 м. Окулган маалыматтардын көлөмү анча чоң эмес жана сюжеттин көлөмүнө көз каранды эмес.

Бул процесс жараткан далилдердин көпчүлүгү тармакка текшерүү үчүн бериле тургандай деңгээлде болбогондуктан (кийин талкуулангандай), биз бул процессти оптималдаштыра алабыз бактын бир бутагын гана текшерүү, натыйжада кыйынчылыкка жараша эки х-мааниси пайда болот. Ушундан кийин пайда болгон x-баалуулуктарды далилдин жакшы экендигин аныктоо үчүн 256 биттик сапка таштайбыз. Бул x-баалуулуктарды хэштөө бизге сапат сапын, 256 бит кокустук маанисин берет. Бул кыйынчылык жана сюжеттин көлөмү менен айкалыштырылып, талап кылынаткайталоо. Эгерде талап кылынса_кайталоо белгилүү бир санга жетпейт (биз блокчейнге кире алабыз), андан кийин бүтүндөй PoSpace издейбиз. Бир бутакты издөө үчүн болжол менен 7 диск изделет жана окулат же жай катуу дисктен 70 мс жакын окулат.

2-сүрөт: Сюжеттин түзүлүшү file. 64 кызыл x- мааниси далилди, 2 жашыл x- мааниси сапатты билдирет. 

Дагы оптималдаштыруу - бул белгилүү бир үлүштү дисквалификациялоо (мисample 511/512) ар бир чакырыкка катышуу укугунан алынган участоктор. Бул деп аталат участок чыпкасы. Мисалы үчүнampле, чакырыктын жана plot_id хэшинин башталышын талап кылат 9 нөлдөр. Бул баарына бирдей зыян келтирет (чабуулчуларды алмаштыргандан башка), ошондуктан адилеттүү. Демек, дыйканчылык дээрлик эч кандай ресурстарды талап кылбайт жана бир нече мүнөттө бир аз гана диск окулат.  Чиа колдонуучулары бир эле Raspberry Piде бир нече PiB сактагычын иштетип жатышат. Биздин оюбузча, дыйкандар ар дайым HDD дисктерин колдонушат, анткени арзан, ал эми SSD дисктерин колдонууга эч кандай себеп жок, анткени дыйканчылыкка ылдамдыгы туура келбейт. SSDs / RAM тезирээк пландаштыруу үчүн колдонсо болот, бирок.

Участок ачкычы - бул сюжетте сакталган жеке ачкыч file. Участоктун идентификатору сюжеттин ачык ачкычын жана бассейндин ачык ачкычы. Бош орунду далилдеген блокту түзүү үчүн сюжет ачкычы жана бассейн ачкычы менен кол коюу талап кылынат. Ошондуктан сюжет түзүлгөндөн кийин бассейн өзгөрүлбөйт. Иш жүзүндө, участок ачкычы - бул участокто сакталган локалдык ачкыч менен фермердин программасында сакталган ачкычтын ортосундагы 2/2 BLS бириктирилген ачык ачкыч. Коопсуздук жана натыйжалуулук үчүн дыйкан ушул ачкычты жана колтамга схемасын колдонуп, борборлоштурулган серверди иштете алат. Сервер участокторду сактоочу көптөгөн комбайн машиналарына туташкан болушу мүмкүн. Дыйканчылык дыйкан ачкычын жана жергиликтүү ачкычты талап кылат, бирок бассейн ачкычын талап кылбайт, бассейндин колу кэштелип, көптөгөн блоктордо кайрадан колдонула тургандыктан.

Текшерилүүдө: Дыйкан мейкиндиктин далилин ийгиликтүү жараткандан кийин, бир нече таштанды жасап, далилдеги х-маанилери менен салыштыруу жүргүзүп, далилденсе болот. Эске салсак, далилдөө 64 х-маанинин тизмеси, бул жерде ар бир x мааниси k битке барабар. K32 үчүн бул 256 байт, демек, абдан тыгыз. Текшерүү өтө тез, бирок ethereumде бекемдиги текшериле тургандай тез эмес (чынжырлардын ортосундагы ишенимсиз которууларды камсыз кыла турган нерсе), анткени ал blake3 жана chacha8 операцияларын талап кылат.

Убакыттын далилдери

Убакыттын далили же а Vтазалануучу Dэлай Function, ырааттуу функция белгилүү бир нече жолу аткарылгандыгынын далили.


Текшерүүгө болот: бул эсептөөнү жүргүзгөндөн кийин (бул убакытты талап кылат), prover өтө кыска убакыттын ичинде өтө кичинекей бир далилди жасай алат жана текшерүүчү бул эсептөөнү толугу менен кайталабастан, текшере алат.

Кечиктирүү: бул функцияны эсептөө үчүн чындыгында prover реалдуу убакытты коротконун билдирет (бирок канча экендигин так билбейбиз).

Функция: бул детерминисттик дегенди билдирет: V киришине VDF эсептөө ар дайым бирдей натыйжа берет.

Бул жердеги негизги сөз "ырааттуу", мисалы, бир нече жолу хэш кылуу сыяктуу: таштанды (таштанды (таштанды (а))) ж.б., демек, Bitcoin / иштин далилдеринен айырмаланып, ылдамыраак жүрүү үчүн бир дагы машинаны сатып алууга болбойт. Демек, VDFди эсептөө үчүн чыныгы (дубал-саат) убакыт талап кылынат деп эсептесек болот. Биз колдонгон курулуш кайталанып квадратталат. Провайдер x T жолу кыйынчылыкты квадратташы керек. Бул үчүн requires (T) убакыт талап кылынат. Prover ошондой эле бул талаптагыдай аткарылгандыгын далилдөө керек.

3-сүрөт: Verifier (blockchain) проверге (timelord) чакырык жөнөтөт жана prover чыгууну жана далилдөөнү эсептейт. 

Төмөнкү маалыматтар консенсус алгоритмин түшүнүү үчүн өтө маанилүү болбосо дагы, VDFди колдонууну тандоо актуалдуу, анткени эгер чабуулчу тезирээк машинаны алса, кээ бир чабуулдар болушу мүмкүн.

Чиа колдонгон VDF белгисиз тартиптеги класстык топто квадрат жолу менен кайталанат. Белгисиз тартиби бар чоң топту түзүүнүн эки негизги жолу бар. Биринчиси, RSA модулун колдонуп, N бүтүн сандарын топ катары колдонуу. An колдонуп көптөгөн катышуучу тараптар менен модулуңузду түзө алсаңыз, топтун тартиби белгисиз MPC азем. Эң жөнөкөй ыкма - белгисиз тартиптеги топторду түзгөн ири дискриминанты бар класстык топторду колдонуу. Бул эч кандай татаал же ишенимдүү орнотууну талап кылбайт, андыктан биз Chia үчүн ушул жолду тандадык. Бул топтордун бирин түзүү үчүн, жөн гана чоң кокустук жөнөкөй сан керек. Кемчилиги - бул класстык топтун коду чыныгы жашоодо анча-мынча сыналбайт, ал эми оптимизация RSA топторуна караганда анча белгилүү эмес. Квадрат үчүн бир эле баштапкы элементти колдонобуз (а = 2, b = 1 класстык топтун элементи), анын ордуна дискриминант катары колдонулган ар бир VDF үчүн жаңы кокустук жөнөкөй сандарды түзүү үчүн кыйынчылыктарды колдонобуз. Дискриминанттын көлөмү 1024 бит, демек, далилдөө көлөмү 1024 биттин тегерегинде. Биз колдонобуз Весоловский схемасы [Жүктөө] n (1 <= n <= 64) фазага бөлүнүп, далилдерди түзүү абдан тез. N-wesolowski далилдери чоң болушу мүмкүн болгондуктан, аларды бар болгондон кийин 1-wesolowski далилдери менен алмаштырабыз, анткени алар кичинекей, бирок жасоого көбүрөөк убакыт талап кылынат. Далилдердин өзүлөрү чынжырга байланбагандыктан, алмаштырылышы мүмкүн.

Инфузия

Эске салсак, VDFлер чакырууну кабыл алып, функцияны туура баалагандыгын тастыктаган далилдерди келтиришет.

VDFге маани киргизүү, ал VDF чыгышы менен айкалыштырылып, жаңы VDF үчүн киргизүү / чакырык катары колдонулган жаңы маанини пайда кылуу дегенди билдирет. Ошондуктан, биз VDFлерди чынжырлап жатабыз, бирок алардын ортосунда жаңы мааниге (блок) кабыл алабыз. Бул бизде убакыттын далилдери менен мейкиндиктин далилдерин алмаштырып, блоктордун сызыктуу прогрессиясы болушу үчүн колдонулат.

Консенсус алгоритми

BLS кол тамгалары

Бул документте кол жөнүндө сөз болгондо, IETF спецификациясын кеңейтип, кеңейтилген схема боюнча, детерминацияланган BLS колу колдонулат деп болжолдонот. Ушул санарип кол тамгаларды аткарган купуя ачкычтар дыйкандар тарабынан көзөмөлдөнөт жана сакталат жана ар бир участок үчүн уникалдуу купуя ачкыч колдонулат.

Түйүндөрдүн ролу

Фермерлер

Фермерлер бул участокторду сактоо жана мейкиндиктин далилдерин текшерүү менен консенсус алгоритмине катышкан түйүндөр. Алар толук түйүн менен байланышат (көбүнчө бир эле машинада.) Фермерлер бир же бир нече Комбайндар менен байланышышат, бул жер участоктору сакталган жерде жайгашкан жана Фермер процесси атынан мейкиндиктин далилдерин издеген кызмат.

Timelord

Timelords - бул убакыттын далилдерин түзүү жана алардын VDFлерине блокторду киргизүү менен консенсус алгоритмине катышкан түйүндөр.

Толук түйүндөр

Толук түйүндөр timelords же фермерлер болушу мүмкүн, же жөн гана толук түйүндүн ролун аткара алышат. Бул мейкиндиктин жана убакыттын далилдерин жайылтууга, блокторду түзүүгө, күтүлүп жаткан транзакциялардын сакталышын сактоого, тарыхый блокчейнди сактоого жана блокторду башка толук түйүндөргө, ошондой эле капчыктарга (жеңил кардарларга) жүктөөгө алып келет.

Кыйынчылыктар

Chia консенсусунун алгоритми VDF'дерди 10 мүнөткө чейин кошуу үчүн мезгил-мезгили менен жөнгө салынуучу суб-слоттор деп аталган мезгилдерге иштетет. Мезгил-мезгили менен кыйынчылыктар чыгып турат, ал мини лотереяны баштайт, анда дыйкандар мейкиндикти далилдөө үчүн участокторун текшеришет. Дыйкандар талаптарга жооп берген мейкиндиктин далилин тапканда, аны тармакка таркатышат. Ар бир суб-слотто жалпы тармак үчүн 32 жеңүүчү далилдерди максаттуу кылуу кыйынчылыгы өзгөрөт. Бул далилдер VDFге ар кайсы убакта суб-уячанын ичине куюлат. Фермерлер эң оор чынжырчаны ээрчишет, бул эң көп кумулятивдик кыйынчылыкка ээ чынжыр (көбүнчө эң көп блоктуу чынжыр).

4-сүрөт: Үч подлот. Х огу убакытты билдирет. Чекиттүү сызыктар VDFтин аткарылышын билдирет, убакыттын өтүшү менен солдон оңго. Жебелер таштандыга көз карандылыкты билдирет (башка объектти көрсөткөн объект экинчи объекттин таштандысын камтыйт). 

4 -сүрөттө биз үч чакырык чекитти көрө алабыз, c1, c2 жана c3. C1, c2 жана c3 чекиттеринде тайморддор VDFтерге киргизүү катары берилген кыйынчылыктарды (256 бит хэштер) жаратат. Тимелорддор бул хэштерди алышат жана көрсөтүлгөн чакырык үчүн бул чакырык боюнча VDF эсептей башташат. Бул мурункуampле, ар бир уячасы 100,000,000 кайталануу. VDF аяктагандан кийин, тайморд жаңы чакырыкты жана VDFтин далилин жарыялайт. Слоттун аягындагы маалымат ар бир суб-уячанын аягында болот.

Суб-слот: ар дайым максаттуу белгиленген убакыт өлчөмүнө ылайыкташтырылган (башкача айтканда, 10 мүнөт), жумуштун кыйынчылыгын жөнгө салууга дуушар болгон VDF кайталанышынын белгиленген санынын сегменти.

Sub-slot кайталоосу: ар бир суб-слоттун канча VDF кайталанышын аныктай турган мезгил-мезгили менен жөнгө салынуучу туруктуу.

Чакыруу: sha256 output string, ал дыйкандардын участоктору үчүн, ошондой эле VDF чакырыгы үчүн космостогу кыйынчылыктардын далили катары колдонулат. Бул ошондой эле деп аталат чакырык таштандысы.

4-сүрөттө көрүнүп тургандай, бир эле учурда аткарылып жаткан үч VDF бар, алардын ар бири ар башка максатты көздөйт. Алар кийинки бөлүмдөрдө түшүндүрүлөт.

Белгилөө пункттары жана инфузия чекиттери

Чакыруу жана сыйлык чынжырларындагы ар бир суб-слот 64, кичирээк, VDFлерге бөлүнөт жана ушул кичинекей VDFлердин ар биринин ортосунда " белгилөө чекити. Timelords ар бир белгилөө чекитине жеткенде VDF чыгарылышын жана далилин жарыялайт. Чакыруу чынжырында дагы, сыйлык чынжырында дагы белгилер чекиттери бар экендигин эске алыңыз (бирок демилгенин чынжырчасы эмес). Ар бир белги чекитинин ортосундагы кайталоолордун саны sp аралыгы кайталоолор, бул под оюкчасынын кайталанышына барабар / 64.

 

Кичине оюкчанын башталышындагы кыйынчылыктар дагы белгилердин жарактуу чекити болуп саналат. 64 белгилөө пунктунун ар бирине жеткенде, алар тармак аркылуу timelords жана түйүндөр аркылуу көрсөтүлөт. Фермерлер бул белгилерди алышат жана белгилер чекитинин, алардын участкасынын идентификаторунун жана көмөкчү слоттун чакырыгынын негизинде участок чыпкасын эсептешет. Эгерде участоктун чыпкасынын биттери 9 нөлдөн башталса, бул сюжет ошол белги пунктунун чыпкасынан өтөт жана уланта алат. Бул болжол менен 511/512 бардык участокторун дисквалификациялайт fileтармакта, бул белги чекити үчүн.

The космос чакырыгынын далили сюжет чыпкасынын биттери катары эсептелген:

Бул кыйынчылыктан пайдаланып, дыйкандар ар бир участок үчүн сапаттуу саптарды алып, дисктен фильтрден өтүп кетишти. Эске салсак, бул процесс дээрлик бир заматта жана белгилер чекити - бул космосту далилдөөнүн бир бөлүгүнөн алынган таштанды (бирок мейкиндиктин толук далили алына элек).

Дыйкан эсептейт талап кылынган кайталоолор мейкиндиктин ар бир далили үчүн. Эгер талап кылынган кайталоолор <sp аралыктагы кайталоолор болсо, анда мейкиндиктин далили блокчейнге киргизилиши мүмкүн, ошондуктан дыйкан мейкиндиктин бүт далилдерин дисктен алат (сапатты алгандан көп убакыт талап кылынат), бүтпөй калган суб блокту жаратат жана аны тармакка таркатат. Белгилей кетүүчү нерсе, талап кылынган кайталоолордун басымдуу бөлүгү өтө эле жогору болот, анткени орто эсеп менен 32 ар бир суб-слот үчүн бүтүндөй тармакка жооп берет. Бул кокустук процесс, ошондуктан көп сандагы далилдерди алуу мүмкүнчүлүгү бар, бирок өтө эле күмөн. The белгилер чекитинин кайталоолору суб-оюктун башталышынан белгилөө чекитине чейинки кайталоонун саны.

The инфузия кайталоосу жогоруда сапаттагы блокту блокчейнге кошууга боло турган суб-слот башталгандан берки кайталоонун саны. Бул төмөнкүчө эсептелет:

Демек, инфузиянын кайталанышы 3 жана 4 белгилер чекитинин ортосунда болот кийин белгилер чекити. Дыйкандар инфузия чекитине жеткенге чейин далилдерди жана блокторду тапшырышы керек. Модулу, эгерде белгинин чекити көмөкчү оюктун аягына жакын турган болсо, кийинки кошумча оюкка ашып кетишине жол берет. Бул кийинчерээк кеңейтилген.

Инфузия чекитинде дыйкандын блогу VDF куюу чекити менен айкалышып, ошол мезгилден баштап VDF үчүн жаңы киришүүнү жаратат, башкача айтканда биз фермердин блогун VDFге куюп беребиз. Блок инфузия кайталанышына жетишилгенден кийин гана жарактуу болот жана блокко VDF далили тиркелет.

B1 блогунун жарактуу / даяр болушу үчүн, эки VDF далили камтылышы керек: бири r1 ден белгилөө чекитине чейин, экинчиси r1ден b1ге чейин. (чындыгында, бул үч VDF чынжыры болгондуктан, кийинчерээк түшүндүрүлдү). 5-сүрөттө, дыйкан белги коюу убагында жаратат, (аны B1 'деп атайбыз). Бирок, B1 'али бүтө элек, анткени VDF куюу чекитине муктаж. VDF инфузия кайталоосу чыккандан кийин, B1 'ге кошулуп, B1деги даяр блокту түзөт.

Сүрөт 5тайморддор белгилер чекитине жана инфузия чекитине далилдерди түзүү. Бирок алар гана акыркы (VDF класстык тобун өзгөртүү) демдөө. Квадрат жаңы ВДФ башталган инфузияларды билдирет. Sp_iterval_iterrs = 3.125M. 64 SPге ЖАҢЫЛОО

Келгиле, мурунку карап көрөлүampл 5-сүрөттө. Көмөкчү уячалардын кайталоолору 200М, ал эми сп интервалынын кайталоолору 3.125М. Дыйкандын жалпы 1000 жери бар дейли.

64 белги берүүчү пункттардын ар бири үчүн, алар ар 9 секунд сайын же 3.125М сайын кайталанган сайын, дыйкан участоктун чыпкасын эсептеп чыгат жана канча участок өткөнүн көрөт. Ар бир белги чекити үчүн чыпкадан өткөн участоктордун ар бири үчүн дыйкан керектүү кайталоолорду эсептейт. Бул мурункуampле, дыйкан бардык суб-уячада бир жолу <3.125M талап кылынган_айталоолорду гана алат (бул 2.2879M дейли). Сүрөттө 5, бул 14 -белги пунктунда. Инфузиянын кайталануусу төмөнкүчө эсептелет:

Алар жеңишке жетишкенин түшүнгөндөн кийин (14-инфузия пунктунда), дыйкан мейкиндиктин бардык далилдерин алат, ошондой эле транзакцияларды кошуп, блок түзөт жана аны тармакка таркатат. Алар бир нече секундага (инфузиянын кайталанышына чейин) убакыт ченегичтерине жетишет, алар блокту куюп, VDF инфузия чекитин түзүшөт. Бул VDF'лер менен блокту бүтүрүп, блокчейнге кошууга болот.

Sp аралыгы кайталоолор: Кабат катары аныкталат (под-слоттун кайталанышы / 64).

Белгилер: VDFлер мезгил-мезгили менен чыгарылып турган чакырык жана сыйлык тизмектериндеги суб-уячанын ичинде 64 ортомчу упайлары. Ар бир белгилөө пунктунда VDF чыгарылышы түзүлүп, тармак аркылуу таркатылат. Ички уячадагы биринчи белгилер чекити өзү болуп саналат. Ар бир блоктун белгилөө чекити бар, андыктан блоктогу мейкиндиктин далили ошол белгилөө пунктуна туура келиши керек.

Талап кылынган кайталоолор: Сапаттуу сапты колдонуп эсептелген, блок жасоого укуктуу мейкиндиктин далилдерин тандоодо колдонулган сан. Космостук далилдердин басымдуу көпчүлүгү өтө бийик кайталоолорду талап кылат, ошондуктан чынжырга кошулууга укугу жок. Бул сан инфузия чекитин эсептөө үчүн колдонулат.

Инфузия чекити: убакыттын мааниси инфузия кайталоосу чакырыктан, белгилүү бир чакырык менен мейкиндиктин далили үчүн инфузия кайталоосу. Бул учурда, фермердин блогу VDF сыйлык тизмегине сиңип калат. Блоктун куюу чекити ошол блоктун белгилөө чекитинен кийин ар дайым 3 жана 4 белгилер чекитинин ортосунда болот. Белги чекитинин кайталоосу катары эсептелген + 3 * sp аралыктагы кайталоолор + талап кылынган кайталоолор.

Белгилөө пункту менен инфузия чекитинин ортосундагы кечигүү көптөгөн артыкчылыктарга ээ, анын ичинде жетимчиликтен жана өзүмчүл дыйканчылыктан коргонуу, айрылардын азайышы жана VDF тынымдары жок. Бул 30 секундага кечигүү дыйкандардын VDF уячасын кечиктирбестен кол коюуга жетиштүү убактысы болушу үчүн берилет. Өзүн жакшы алып жүргөн дыйкандар мейкиндиктин ар бир далили менен бир гана белгилерге кол коюшат, демек, чабуулчулар чынжырды оңой менен оңдой алышпайт.

Бир нече блок

7-сүрөт: бир нече блок. Sp1 = белгилер 1

7-сүрөттө көрүнүп тургандай, бир нече блоктор бир эле суб-уячага түшүшү мүмкүн. Chia системасы ар бир уячанын 32 блокуна багытталган жана бул жумуштун алгоритми аркылуу жөнгө салынат. VDFлер мурунку инфузиялык чекиттен учурдагы белги чекитине жана мурунку инфузиялык чекиттен учурдагы инфузия чекитине өтөт. Ар бир блок үчүн талап кылынган VDF далилдери бири -бирине дал келерин эске алыңыз. Мисалыampле, B2 тарабынан VDF далилин камтыйт B1 чейин sp2, жана-дан B1 чейин B2B3 тарабынан далил келтирилген B1 чейин sp3, жана баштап B2 чейин B3B2 такыр көз каранды эмес B3, бирок B3 көз каранды B2, анын VDF баштап B2's куюу чекити. Дагы, блоктор белгилөө пункттарында түзүлөт, бирок алар VDF куюу чекитин жоготушат; бул VDF кошулгандан кийин, блок бүтүп, блокчейндин бир бөлүгүн түзөт. Инфузия чекитинде кол тамгалар жок; куюу чекитине кошулган бир гана нерсе - VDF.

Үч VDF чынжыр

Эгерде биз бир гана VDF колдонгон болсок (сыйлык тизмеги үчүн), блокторду кошуу же алып салуу кийинки слот үчүн көйгөйдү көзөмөлдөөгө мүмкүндүк берет. Демек, чабуулчу ар кандай айкалыштарды сынап көрүп, аларга ылайыктуу чакырыкты тандай алат. Бул түрдөгү чабуулдар майдалоочу чабуул деп аталат жана алар Work Proofден Space Proof же PoStakeге өтүүнүн негизги кыйынчылыктарынын бири болуп саналат. Кененирээк "Чабуулдар жана каршы чаралар" бөлүмүндө келтирилген.

Муну азайтуу үчүн, көйгөйлөр оюкка куюлган биринчи блокко гана негизделет.

8-сүрөт: үч VDF чынжырлары. Чабуулчу сыйлык чынжырынын натыйжаларын колдоно алат, бирок бул c2ге эч кандай таасир этпейт, демек, PoSpace лотереясына эч кандай таасир этпейт. cc = чакырык чынжыры, rc = сыйлык тизмеги, sp = белги чекити. B = блок.

Бул схемада көп нерсе болуп жатат. Биринчиден, өзүңүз көрүп тургандай, 4 бар блоктор: B1, B2, B3, B4, бул фермерлер түзгөн блоктор, алар көрсөткөн бардык маалыматтарды камтыйт. Ошол под-слотто 5тен ашык блоктор түзүлгөн деп божомолдойбуз, бирок биз алардын бардыгын мейкиндиктин тардыгына байланыштуу тарта албайбыз.

Ошондой эле, чакырыктар тизмеси да, сыйлыктар тизмеги да 64 белгини жаратат. Блоктордо эки чынжырдын тең VDF белгилери камтылышы керек. Блоктор үч чынжырга тең куюлуучу VDF тутумун камтышы керек.

Көрүнүп тургандай, чакырыктар тизмеги ВДФны башталгандан баштап аягына чейин эч нерсе куйбай иштетет (чөйрөлөр VDF далилдери, бирок алар VDFди үзбөйт). Сыйлыктар тизмеги кирген ар бир блокту камтыйт. Ортодогу чынжырча деп аталат чакырылган чынжыр, жана ал ар бир чакырык үчүн биринчи куюлган блоктон башталат жана оюктун аягына чейин уланат.

уяча биринчи суб-слоттун чакырыгына негизделген, жок эле дегенде, 16 сыйлык тизмегинин блокторун камтыган суб-слоттордун тизмеси, же кийинчерээк уячалар. МисалыampБирок, бизде кошумча уячада 10 гана блок болушу мүмкүн, андан кийин 3, анан 7, бул үч сублот бир уячаны түзөт дегенди билдирет. Адатта, ар бир суб-слот дагы слот болуп саналат, анткени орточо эсеп менен алганда 16дан ашык блоктор көп. The дефицит слотту бүтүрүү үчүн дагы эле зарыл болгон блоктордун саны: бул кийинчерээк кененирээк сүрөттөлөт.

Слоттун аягында, чакырык чынжыры куюлган чакырык чынжырчасы менен айкалыштырылып, кийинки чакан уячанын чакырык чынжырчасын баштоо үчүн колдонулган жаңы чакырык c2 пайда болот.

Чакыруу чынжырына таасирин тийгизген бирден-бир блок бул биринчи блок B1, жана детерминацияланган бөлүгү гана B1, cc B1, бул бир гана чакырык чынжырынын маалыматтарына көз каранды. Чакыргысы келген чабуулчу чакырыкты кармануу менен өзгөртө албайт B2B3, же биринчисинен бөлөк башка блок.

Чабуулчу эң тез блокко ээ деп эсептесек (B1), алардын үч жолу бар: аны кармоо, кийинкиге калтыруу же бошотуу. Жаңы чакырыктын аларга пайда алып келер-келбесин билүү үчүн, алар VDF программасын c2ге чейин аткарышы керек. Ошол мезгилде, алардын сыйлык тизмегине кирүү мүмкүнчүлүгү жок болуп жатат, анткени чынчыл дыйкандар мейкиндиктин бир далили үчүн бир гана блокко кол коюшат. Кармоо B1 чабуулчуга көп пайда алып келбейт, анткени алар аны мурун бошотушу керек sp2 дыйкандарды алардын тизмегине тартуу үчүн. Дыйкандар эң оор тармакты тандашат, ал эң көп тизмектелген тармакты түзөт (эң оор) сыйлык чынжыр блоктору.

Эмне үчүн биз чакырык чынжырында кандайдыр бир блокторго милдеттүүбүз? Ооба, эгер андай кылбасак, чабуулчу тезирээк VDF менен алдыга карай алмак, анткени алар келечекке чакырык чынжырын эсептөө үчүн чынчыл катышуучулардын жардамына муктаж эмес. Чакырык чынжыры таптакыр детерминисттик болмок. Бул кандайдыр бир артыкчылыкка жол ачатtage кайра көчүрүү аркылуу. Мындан тышкары, чакырык чынжыры жеңил кардарларга сыйлык чынжырынын салмагын ыктымалдуу түрдө далилдөө үчүн колдонулушу мүмкүн, анткени бардык сыйлык чынжыр блокторун бөлүшпөйт (чакырык чынжыры уячанын "эң жакшы" блогуна көз каранды болгондуктан, сыйлыктын санын эсептеп алсаңыз болот) чынжыр блоктору).

Challenge чынжыр: VDF чынжырчасы ар бир суб-уячанын ар бир чакырыгына негизделген, ал ар бир подтексттин ортосунда эч нерсе куйбайт.. Кыйынчылыктар космосту далилдөө үчүн колдонулат. Бул чынжырдагы белгилер чекиттери SP чыпкасы үчүн колдонулат.

Сыйлыктар тизмеги: Бардык блоктордун инфузиясын камтыган VDF чынжырчасы. Бул чынжыр чакыруу чынжырын жана ар бир суб-уячанын аягында демделген чакырык чынжырын тартып алат.

Чакырылган чынжыр: VDF чынжырчасы оюкка куюлган биринчи блоктон башталат (мурунку слоттун чакырыгына негизделбейт, бул чакырык блогу деп аталат) жана оюктун аягында бүтөт.

уяча: биринчи суб-слоттун, же кийинчерээк суб-слоттордун чакырыгына негизделген, жок дегенде 16 сыйлык чынжыр блокторун камтыган суб-слоттордун тизмеси. Слоттун аягында куюлган чакырык чынжырчасы токтоп, чакырык чынжыры куюлган чакырык чынжырынын натыйжасында тартылып, тартыштык 16га чейин калыбына келтирилет.

Блок: блок - сыйакылар тизмегине киргизилген маалыматтардын жыйындысы, бул төмөнкүлөрдү камтыйт: слотдун кайталанышына караганда азыраак кайталоолор менен чагылдыруу таштандысынын боштугу, эки чынжыр үчүн sp жана ip VDFs, куюлган чакырыктар тизмеги үчүн кошумча IP VDF жана сыйлык дареги. Айрым блоктор дагы бүтүм блоктору болуп саналат. Бир көзөнөккө эң көп 128 блок туура келет.

Транзакция блогу: Транзакцияларды түзүүгө укугу бар блок, транзакциялардын байланыштуу тизмеси менен бирге.

Чакырык блогу: Мурунку слоттун чакырыгына негизделбеген ар бир слотко куюлган биринчи блок. Чакыруу блогу ар дайым 15 тартыштыгына ээ жана ар дайым куюлган чакырыктар тизмегинен башталат.

Pэак: Түйүн көрүнүп тургандай, блокчейндин туу чокусу эң чоң салмагы бар блок болуп саналат. Салмак - бул бийиктикке окшош болгон блоктун жана анын ата-бабаларынын татаалдыгынын суммасы, бирок кыскараак чынжыр оор салмакка ээ болот, анткени кыйынчылыктарды жөнгө салуудан улам.

Блок жарактуу деп табылышы үчүн, ал чакырыктар чынжырчасы жана сыйлыктар тизмеги үчүн VDF'дерди камсыз кылышы керек, эгерде бар болсо, куюлган чакырыктар тизмеги үчүн. Бардык VDFлерди киргизүүгө мажбурлоо үч чынжырдын бирдей темп менен алга жылышына кепилдик бар экендигин билдирет.

Ашкан блоктор

Фермерге блок түзүү үчүн, алардын талап кылынган итериациясы 3.125Мден жогору болушу керек, же жогоруда сүрөттөлгөндөй под-слот кайталоосу / 64. Бул демек, инфузия кайталоосу суб-уячанын кайталанышынан чоңураак болушу мүмкүн, демек, инфузия кийинки суб-уячасында болушу керек.

Толуп кетүү блогу: инфузия чекити анын белгилөө чекитине караганда башка суб-уячасында жайгашкан блок.

Учурдагы слот көйгөйү: Белгилүү бир В блогуна карата, В учурдагы слоттун чакырыктарына слоттун биринчи чакырыгынан баштап, уячанын аягына чейин (эсепке алынбаган) бардык кыйынчылыктар кирет. Бул актуалдуу, анткени кээде слот бир нече суб-слотторду камтыйт, демек, бир нече кыйынчылыктар болот.

9-сүрөтB4 бул диаграммада толуп кетүү блогу келтирилген, анткени инфузия кийинки уячада. B4 учурдагы слоттун чакырыгына негизделген эмес, ошондуктан тартыштык азайбайт же кыйынчылыктарга бөгөт болбойт. TODO: диаграммалар 16 эмес, 5 болушу керек.

Толуп кетүү блоктору доордун биринчи суб-уячасында болушу мүмкүн эмес (суб-уячанын кайталануусу өзгөргөндүктөн).

Ошондой эле, ашып кетүүчү блоктор учурдагы слоттун чакырыгына негизделмейинче, тартыштыкты өзгөртпөйт, анткени толуп кетүү блоктору мурунку под-слоттун чакырыгына жооп берет. Толуп кетүү блоктору учурдагы слот чакырыгына негизделмейинче, блок блок эмес. Ашыкча блоктордун тартыштыкты азайтуусу сейрек кездешет, анткени тартыштык дээрлик ар дайым нөлгө чейин азаят жана ар бир суб-слотто жаңы слот башталат.

Минималдуу блок талап

Слотту бүтүрүү үчүн, сыйакылар тизмегине кеминде 16 учурдагы слоттун блоктору куюлушу керек.

Тартыштык - бул суб-оюктун башталышында орун алган 0 менен 16 ортосундагы сан. Бул слотту бүтүрүү үчүн, биз куюшубуз керек болгон сыйлык чынжыр блокторунун саны катары аныкталат. Качан гана слот башталганда, ал 16га кайтарылат (демек, бир чакырык чынжырына куюуда кеминде 16 жалпы блок болушу керек). Тартыштык учурдагы уячанын чакырыгына негизделген ар бир сыйлык чынжырын куюуда төмөндөйт.

15 тартыштыгы бар блок - бул чакырык блогу.

Кадимки шартта, тартыштык 16дан башталып, суб-уячанын ичинде нөлгө түшүп, 16-орунду баштап, биз оюкчаны бүтүрүп, жаңысын баштайбыз. Эгерде биз оюкчанын аягында аны 0 чейин түшүрө албасак, анда чакырык чынжыры жана куюлган чакырык чынжыры (эгер бар болсо) уланып, тартыштык 16 га чейин калыбына келбейт. Блоктор (толуп кеткен блокторду кошо алганда) , 0ге жеткенге чейин тартыштыктан чыгарып сала бергиле. Нөл дефицит менен суб-оюкту бүтүргөндө, демилгенин чынжыры чакырык чынжырына кошулуп, тартыштыгы 16га чейин калыбына келтирилет.

Бул талап узак аралыкка чабуулдарды болтурбоо үчүн кошулган жана төмөндөгү Каршы чаралар бөлүмүндө кеңири баяндалган. Ички слоттордун басымдуу көпчүлүгүндө> = 5 блок болот, ошондуктан ал нормалдуу иштөөгө анчалык деле таасир этпейт.

10-сүрөт: c2 - уячанын аягы, бирок уячанын аягы эмес. c2 ic2ге ЭМЕС, анткени слот ушул суб-слот менен бүтпөй калган. Дефицит 2ке кайтаруунун ордуна, 5 болуп, коюлган көйгөйлөр тизмеги уланууда.

Салмагы

The салмак бир блоктун - бул блоктун, буга чейинки бардык блоктордун кыйынчылыгынын суммасы бул блоктун ата -бабалары. Чынчыл толук түйүндөр blockchain чокусун тандап алышы керек, мындай чоку алар билген эң оор салмагы бар блок. Бул абдан маанилүү талап жана Биткойндун эң оор чынжыр эрежесине окшош. Бул эрежеден улам, 50% дан аз мейкиндикке ээ жана VDF адваны жок чабуулчуtage алардын адилеттүү үлүшүнөн көбүрөөк акча табууда кыйынчылыкка туш болушат, анткени алар бактылуу болуш керек жана чынжыр чынжырына караганда сыйлык чынжыр блокторун түзүшөт. Мындан тышкары, фермерлер эң оор чынжырга туура келген кыйынчылыктар менен гана дыйканчылык кылышат.

VDF ылдамдыгы дагы, мейкиндиктин дагы жалпы көлөмү салмак үчүн маанилүү, андагы өзгөрүүлөр кыйынчылыктарды жөнгө салат. Эгерде орундун көлөмү көбөйсө, ар бир оюкка 32ден ашык блок түзүлөт, ошондуктан кыйынчылыкты көбөйтүү керек. Эгерде тармактын VDF ылдамдыгы жогоруласа, анда ар бир 32 мүнөттө 10ден ашык блок түзүлөт, ошондуктан кыйынчылыкты (жана под-слот кайталануусун) көбөйтүү керек.  

Бир аз ылдамыраак VDFге эксклюзивдүү мүмкүнчүлүгү бар дыйкан, бирок кадимки VDF ылдамдыгы бар дыйканга караганда оңой эле көп сыйлык ала албайт. Эгерде чабуулчу чынжырдагы блоктордун бирин жетим кылууга аракет кылса, анда тезирээк VDF пайда болбойт, анткени кол салуучунун чынжырында блоктор аз болот (демек, салмагы төмөн). Дыйкандар үстүнө куруп жаткан блокко кол коюшу керек жана алар эң жогорку салмак чынжырынын үстүндө гана курулат.

VDF ылдамдыгы чабуулчу 51% чабуул жасоону каалаганда ишке кирет. Бул учурда, кол салган дыйкан VDF аркылуу чынчыл блоктору жок толук альтернативдүү чынжыр түзүп, чынчыл чынжырчадан ашып түшөт.

Жалбырак

Жогорудагы схемаларда дыйкандарга сыйлыктарын көрсөтүүчү жер жок, анткени бардык блоктор канондуу. Фермерлер алардын блогу кандайча курулгандыгы жөнүндө эч нерсе айта алышпайт, анткени алар көрсөтүлгөн мейкиндик, VDF жана колтамгалардын так далилдерин колдонушу керек. Системага дыйканчылык боюнча сыйлыктарды, ошондой эле бүтүмдөрдү киргизүү үчүн, биз жалбырактар ​​деп аталган блоктордун кошумча компонентин киргизишибиз керек. Ушул кезге чейин биз "магистралдык" компонентти талкуулап келгенбиз.

Жүк ташуучу: VDF, мейкиндиктин далилдери, PoS колтамгалары, чакырыктар жана мурунку магистралдык блокторду камтыган блоктордун жана блокчейндин компоненти толугу менен канондуу. Магистрал эч качан жалбырактар ​​тизмегине шилтеме бербейт.

Жалбырактары: Сыйлыктардын кайда кетиши керектигин, кайсы бүтүмдөрдү камтышы керектигин жана мурунку жалбырактар ​​блогун камтыган блоктордун жана блокчейндин компоненти. Муну дыйкан өзү чечиши керек жана майдалоочу нерсе, андыктан аны эч качан кыйынчылыктарга жооп катары колдонууга болбойт.

Reorg: Реорг (же кайра уюштуруу) - бул түйүн болгондо view чокусу эскидей өзгөрөт view жаңыга кирбеген блокту камтыйт view (кээ бир блок кайтарылган). Магистралдык жана жалбырактардын экөө тең мүмкүн, бирок иш жүзүндө сейрек болушу керек.

Төмөндөгү 11-сүрөттө жалбырактар ​​блокторго кошулуп, кошумча чынжыр пайда болгонун көрө алабыз. Бул жалбырак мурунку жалбырактардын таштандысын, сыйлык блогунун таштандысын жана кол тамганы камтыйт. Бул жалбырак көрсөткүчтөрү каноникалык эмес, магистралдык чынжырдан өзүнчө. Башкача айтканда, дыйкандар теориялык жактан жалбырактар ​​алмаштырылчу жерде жалбырактардын ордун түзүшү мүмкүн, бирок дал ошол сөңгөк (мейкиндик менен убакыттын далилдери) колдонулат. Мунун алдын алуу үчүн, чынчыл дыйкандар ар бир блокко бирден гана жалбырактуу блок түзүшөт. Бир чынчыл дыйкан жалбырактар ​​блогун кошкондон кийин, жалбырактарды ошол бийиктиктен ашып кетүү мүмкүн болбой калат ошол эле PoSpace менен, анткени ошол дыйкан ошол эле PoSpace менен кайрадан кол койбойт.

Мындан тышкары, блоктор сыяктуу B3 башка жалбырактар ​​блогуна параллель келип турат (B2) мурунку жалбырактар ​​блогуна кол коюунун кажети жок, анткени аны көрүү үчүн жетиштүү убакыт жок. "Параллель келип" дегенибиз менен, экинчи блоктун белгилөө чекити биринчи блоктун куюуу чекитине чейин пайда болот. Диаграммадагы кызыл жебелер жалбырактардын көрсөткүчүн билдирет, ал ошол блоктогу мейкиндикти далилдөө үчүн сюжет ачкычы менен кол коюлган. Боз жебелер сызык ачкычына кол койбогон таштанды көрсөткүчүн билдирет (демек, боз жебе B3 алмаштырса болот B2 өзгөрөт же кармалып турат). Бул жерде кол салууларды алдын алат B2 алардын блогун жана күчүн өзгөртөт B3 reorg.

Кызыл көрсөткүчтөрү бар блоктор дагы транзакцияларды түзүүгө укуктуу, ошондуктан транзакция блоктору деп аталат. Блок - транзакция блогу эгерде жана эгерде бул мурунку транзакция блогу куюлгандан кийин, анын белгилер чекити пайда болгон биринчи блокsp3 алдында келет B2, (транзакция блогу жана мурунку блок B3), ошондой B3 транзакция блогу болушу мүмкүн эмес. Кызыл жебелер жалбырактын блокторун көмүү менен коопсуздукту камсыз кылат, бирок боз жебелер жок. Боз жебелердин максаты - жалбырактардын бири-бири менен байланышкан тизмесин жүргүзүү жана жүзөгө ашыруунун татаалдыгын азайтуу. Бирок, боз түстөгү блоктор аларды көрсөткөн жебелер кийинки блокко көмүлүп калат.

11-сүрөт: Жалбырактардын блоктору жана блоктору. Блоктордо транзакциялар бар жана кызыл көрсөткүчтөр бар (акыркы блокко көрсөткүчтөр). Көңүл буруңуз, под-слоттун башталышы да белгилөө пункту болуп саналат.

Блок-таш - бул жалбырактардын жана магистралдык блоктордун таштандысы. Reorgs блок таштанды боюнча иштешет. Эгерде мейкиндик менен убакыттын далили бирдей чынжырчаны көрсөк дагы, жалбырактары ар башка болсо, блоктору башкача. Эки фермер тең (B2 жана B3) блокту түзүү мүмкүнчүлүгүнө ээ болушу мүмкүн, андыктан экөө тең кол коюлган көрсөткүчтү жана бүтүмдөрдү камсыз кылышы керек. Бирок, кандайдыр бир бүтүм блок кадимки блок катары киргизилиши мүмкүн, жана бери B2 жана B3 параллель болуп, алардын бирөөсү гана транзакция блогун жасай алат.

Бардык блоктор дагы эле сыйлыктары кайда кете тургандыгын табышмак менен тандашса дагы, ал бүтүмдөр кийинки транзакция блогуна чейин блокчейнге кирбейт.

Chia mainnet үчүн 32 секундада 600 блок болот, орто эсеп менен 18.75 секунд. 64 белги коюу пункттары болот, ошондуктан блоктордун ортосундагы минималдуу убакыт 3 * 600/64 = 28.125 секунд. Бул орточо транзакцияны бөгөттөө убактысын 46.875 секундага чыгарат.

Доорлор жана кыйынчылыктарды жөндөө

Жарым доор: N суб-доор доор башталат  аяктайт (0-под-доорду кошпогондо), ал биринчи слоттун аягында кайда бүтөт  блоктору генезистен бери киргизилген. 

Доору: Эпохим N-1 доору аяктаганда башталат (0-доорду кошпогондо), ал биринчи оюктун аягында аяктайт, ал жерде  блоктору генезистен бери киргизилген.

Кыйынчылык: Берилген мейкиндиктин далили үчүн кайталоолордун санын масштабдаган туруктуу. Кайталоолор кыйынчылык / сапат катары эсептелет.

Ар бир 4608 блокто кыйынчылыктарды жөндөө башталат. Бул эки параметрди өзгөртөт: slot_iterations параметри жана кыйынчылык параметр.

Sub_slot_iterations параметри баштапкы абалга келтирилгендиктен, 300 секундага созулган slot_iterations көптөгөн кайталоолорду талап кылат. Баштапкы абалга келтирүү акыркы доордогу баалуулуктарды колдонуп, экинчи рацион боюнча кайталоолорду жакындаштырат.

Бир доор үчүн эпоха* бир аз жылган мезгилди билдирет, анда доор* доордун башталышына чейин куюлган акыркы блоктон башталып, бир доордо куюлган акыркы блок менен аяктайт. T1, i1 жана w1 маанилери убакытты билдиретamp, генден бери кайталоолор, жана доордун башындагы*, (t2, i2, w2) доордун аягындагы баалуулуктар.

Башкача айтканда, дельта доордун башынан аягына чейин кайталанат жана убакыттын өтүшү менен дельтага бөлүнөт.amps, i2, доордогу акыркы блоктун куюу пунктунун жалпы кайталануулары. i1 - мурунку доордо акыркы блоктун куюу пунктунун жалпы кайталануусу. Көмөкчү уячалардын кайталанышы-бул бир уячанын итерацияларынын жалпы саны.

Көңүл бургула, биз кайталоолорду жана убакытты так бир доордун аягында кабыл албайбыз, бирок бир доордогу блоктун акыркы куюу пунктунда, себеби бизде убакыт гана барamps блоктор куюлганда жеткиликтүү.

   

Муну бир гана кабат бөлүмүн колдонуу үчүн өзгөртсө болот:

The sub-slot iterations are adjusted such that each slot lasts around 600 seconds. The difficulty is adjusted such that every challenge gets 32 blocks on average with less iterations than the slot_iterations. It is important to note that the VDF iterations per slot is not material to the weight. That is, if there were two identical worlds where VDF speeds were equal and space was equal, but the sub-slot iterations parameter was 2 times higher in one world, then the blockchain with the higher sub-slot iterations would get twice as many blocks included per slot, but each slot would take twice as long, so the weight per second added to the chain is the same in both cases. Another way to look at it is that increasing sub-slot iterations increases the number of blocks per slot, but it also makes slots last longer, and thus has no effect on weight / second.

Суб-доорлор

Жогоруда айтылгандай, чакырык чынжырчасы толугу менен өзүнчө жана сыйлыктар тизмегиндеги эч нерсени билдирбейт. Эгер бул чынжырлар түбөлүккө өзүнчө калса, анда тезирээк VDF менен чабуулчу келечекке көз чаптырып, кыйынчылыктарды алдын-ала көрө алмак. Чабуулчу ар бир оюкка бир блокту түзүп, мейкиндиги чектелүү, ошондуктан бүтүндөй чакырык чынжырын түзө алат. Бул аларга сюжеттерди түзүп, ошол заматта келечекте жеңишке жетише турган мейкиндиктин далилдерин түзүп, андан кийин сюжеттерди жок кылууга мүмкүнчүлүк берет (узак аралыкты алмаштыруучу чабуул). Ошентип, алар сыйлык тизмегин толтуруп, салмагын көбөйтө алышат.

 

Мунун чечими - мезгил-мезгили менен (ар бир 384 блок, орто эсеп менен 2 саат), чынжырчанын сыйлык чынжырын чакырык чынжырына куюп турат. Демек, чабуулчу алмаштыруучу чабуулду бир нече саат бою келечекте жасай алат. Сюжет түзүү бир нече саатка созулат, бирок чабуулчу заматта алмаштыра алган күндө дагы, алмаштыруучу чабуулдун чыгымы пайдасынан ашып түшөт. Учурдагы сыйлык чынжырынын эмес, мурунку доордун аягындагы сыйлык чынжырынын чыгышы (2 саат мурун).

Участокту түзүүнүн чыгымына бардык столдорду эсептөө үчүн электр энергиясы, ушул участокту түзүүдө керектүү оперативдик эс тутум жана туруктуу инфраструктура чыгымдары (мейкиндик, кубаттуулук, муздатуу ж.б.) кирет. Супер тез VDFдин эң жаман сценарийин жана ASIC плотинасын түзүүнү эсептесек, анын пайдасы ошол участокту бир нече саат бою HDDде сактоонун пайдасына барабар болмок. Бул кол салуунун эч кандай мааниси жок экендиги жана жер тилкелерин сактоо кыйла арзан экени айдан ачык (төмөндө анализ).

Жогоруда суб-доор аралыгы эмне үчүн салыштырмалуу төмөн болушу керектиги түшүндүрүлөт. Бирок, эмне үчүн биз аны кайра 2 сааттан төмөн түшүрө албайбыз, кайра чабуулдарды токтотуу үчүн? Себеби, каноникалык эмес маалыматтар чакырык тизмегине киргизилгенде, майдалоо мүмкүнчүлүгү пайда болот. Бул чабуулчу келечекте 2 сааттан кийин эмне болорун билүү үчүн блокторду кошууну же алып салууну тандап алышы мүмкүн дегенди билдирет. Бул убакыт өтө кыска болсо, алар кичинекей мейкиндикке ээ боло алышатtagмуну көбүрөөк жасоо менен.

Экинчи доордун экинчи максаты - жеңил кардарлардын эффективдүүлүгүн жогорулатуу үчүн төмөндө баяндалган flyclient сымал протоколдогу өткөрүү пункттарынын милдетин аткаруу.

Жеңил кардарды текшерүү

Жеңил кардарларды колдоо - бул коюмдун далили менен салыштырганда мейкиндикти далилдөөнүн дагы бир артыкчылыгы, анткени бардык далилдер объективдүү түрдө криптографиялык жол менен текшерилет жана белгилүү бир убакыттын ичинде чыныгы ресурстарды башкарууну талап кылат.

Тизмеге тез синхрондошууну каалаган жеңил кардарлар үчүн (мисample mobile wallets), толук түйүн кичинекей бир далилди түзө алат, ал жеңил кардарды чынжырдын салмагы кандайдыр бир мааниге жакын экенине ынандырат. Бул а деп аталат салмактын далили. Жөнөкөй, жеңил кардар ар бир блокту жана бардык талап кылынган далилдерди жүктөп алып, аларды текшере алат, бирок ушунча көп сандагы блоктор үчүн бул өткөрмө жөндөмдү жана процессорду талап кылат.

Эффективдүү ыкма Flyclient [4] окшош протоколго таянат. Түйүн (провайдер) бардык чакан доордун кыскача маалыматтарын айрылыштан баштап, кайра орнотууну камтыйт. Ар бир 384 блоктон бирөө гана бар, андыктан бул бир нече МБ маалыматка гана жете алат. Түйүн да детерминистикалык түрдө С.ampакыркы блоктун чакырыгына негизделген бир нече суб-доорлор. Sub-epochs ошол суб-доордо кыйынчылыкка пропорционалдуу тандалып алуу мүмкүнчүлүгүнө ээ. Тандалган суб-доор үчүн, жеңил кардар чакырык чынжыры блокторунун бирин жүктөйт (бул бардык блоктордун болжол менен 1/32 бөлүгүн түзөт) жана ошол суб-доордогу бардык чакырык блокторунун орточо инфузиялык кайталоолорун эсептейт. Бул убакыттын негизинде, жеңил кардар сыйлык тизмегинин канча блогун камтыганын экстраполяциялай алат. Мисалыampле, эгерде чакырык блоктору баары өтө кичине кайталоолор менен пайда болсо (уячанын башына жакын), анда, сыягы, бул уячада көптөгөн блоктор бар. Тескерисинче, эгер кайталануулар уячанын ортосуна жакын болсо, анда бир слотко бир гана блок бар окшойт. Бул жеңил кардарга ар бир уячадан блоктордун 1/32 бөлүгүн гана жүктөп алууга мүмкүндүк берет, бирок дагы деле жалпы салмагына жакшы баа берет.

Мындан тышкары, акыркы бир нече суб-доор жарык кардар үчүн толугу менен жүктөлүшү керек. Бул маалыматтын аз көлөмүн кошот, бирок чабуулчулардын чынжырдын аягында кичинекей айрыларды жаратуусуна жол бербейт. Бул протоколдун flyclientтен негизги айырмачылыгы, блоктор меркел тоо кыркасын колдонууга милдеттенишпейт, бирок анын ордуна жеңил кардар суб-доордогу таштандылардын тизмесин генезистен жүктөп, суралган суб-доорлор чынжырга кошулгандыгына кепилдик берет. . Дагы бир айырмачылыгы, жеке блоктордон айырмаланып, бүтүндөй бөлүмдөр жүктөлөт.

Канча суб-доор жүктөлүп алынышы керек жана салмактын далили эмнени билдирет деп дагы талдоо жүргүзүү керек.

саламаттык

Чиадагы бассейн Bitcoin / ethereum бассейнине караганда өтө жөнөкөй жана борбордоштурулбагандай иштелип чыккан. Чиа шаарында, бассейндин ачык ачкычы дыйканга бирден ашык бассейнге катышуу менен бассейндеги сыйлыктарды уурдап кетүүдөн сактоо үчүн, аянтка орнотулган. Фермер бассейндин дарегин, алардын кол тамгалары менен кошо жүктөйт. Фермер мезгил-мезгили менен Т кайталануусунан аз болгон мейкиндиктин далилдери үчүн бөлүктөрдү жөнөтөт, ал жерде Т бассейнде тандалат.

Фермер бир блокту утуп алса, дыйкан колун жана бассейн колун тапшырышат. Транзакция үчүн акылар, ошондой эле reward блок сыйлык дыйканга, ал эми re блок сыйлыктар бассейнге кетет. Сыйлыктын бир бөлүгүн дыйканга берүүнүн себеби, бир бассейн экинчисине кол топтогон кол салууларды, аларды чогултуп, аларды “чогултуп”, бирок утуп чыккан далилдерди иш жүзүндө бербөө. Бул башка бассейнди бизнестен алып салышы мүмкүн болгон чабуул.

Бул жөнөкөй, анткени бассейнге бир жолу кол тамгасын коюудан башка эч нерсе кылуунун кажети жок webсайт, жарым -жартылай чогултуу жана мезгил -мезгили менен төлөмдөрдү жүргүзүү. Бул дагы борбордон ажыратылган, анткени блокторду дыйкандар жасашат, ошондуктан борборлоштурулган чоң бассейндер тармакты анча көзөмөлдөбөйт жана бул цензурага каршы турууну жогорулатат.

Экинчи татаал бассейн протоколу бассейндин дарегин сактай турган singleton акылдуу келишимин көрсөтүүгө мүмкүндүк берет. Андан кийин участокторго дыйкандарга бассейндерди каалаган убакта которуштуруп, кечиктирип, акылдуу келишимдин баш катырмасы кошулат. Бул бириктирүү протоколунун кемчилиги дыйканчылыкты баштоо үчүн чынжыр боюнча бүтүм жасоо талап кылынат, демек, ал биринчи бассейн протоколунан жакшыраак эмес.

Timelord алгоритми

Timelord учурдагы чокунун эсебин жүргүзөт ага белгилүү бир бийиктикте куюлган блок жана чокусунан баштап белгилер чекиттери кирет. Тайморд жаңы дем алуу үчүн жаңы блокторду, жаңы чокуларды (буга чейин куюлган блокторду) же жаңы белгилерди ала алат.

Чектелген сандагы иштетүүчүлөрдү эске алганда, убакыттын далилдерин жаратуу үчүн кандай кыйынчылыктарды timelord кантип чечет? ASIC келечекте өнүгүп кетиши мүмкүн болсо, учурда VDF класстык тобунун эң ылдам ишке ашырылышы жалпы жабдыктарда, анткени VDF класстык тобу FPGA оор окшойт. Андан тышкары, ASIC иштелип чыккандан кийин дагы, CPU колдонгон ар бир колдонуучу timelord болушу мүмкүн, эгерде ASIC timelordдору түшүп кетсе же кесепеттүү болуп калса ж.б.

Жалпысынан, timelords эң оор чынжыр менен иштешет. Алар белгилер пункттарында убакыттын далилдерин жаратышат жана аларды жеткенде тармакка таркатышат. Ошондой эле, алар мүмкүн болушунча көп блокторду куюшат. Таймелорд учурдагы чокуга караганда чоңураак салмагы бар демделген блокту алганда, ага дароо өтүшөт.

Timelords үч VDF чынжырын параллель иштетүү. Ошондуктан, жок эле дегенде, 3 тез CPU өзөктөрү натыйжалуу курсу менен blockchain илгерилетүү үчүн зарыл. Натыйжалуу ылдамдыкта далилдерди түзүү үчүн кошумча CPU өзөктөрү талап кылынат, бирок алар ылдам болушу шарт эмес.

Эгерде таймерорд учурдагы чокусунан азыраак салмак менен кыйынчылыкты кабыл алса, алар аны көрмөксөн болушат.

Эгер убакыт тилкеси учурдагы чынжырда кийинчерээк кыйынчылыктарды кабыл алса, анда коопсуз нерсе - аны көрмөксөнгө салуу. Себеби, убакыттын өтүшү менен келечектеги бир чекитке өтүү менен, блоктордун куюлушун өткөрүп жиберип, жарактуу блокторду жетим калтырышы мүмкүн.

Эгерде timelord инфузия үчүн блокту кечиктирип алса (биз блокту куюш керек болгон кыйынчылыкка жетип калдык), биз ага көңүл бурбайбыз, анткени ага өтүү кол салуучуларга блокторду кармоого мүмкүндүк берет [TODO кеңейтүү]. Демек, таймлорддун негизги иш-аракеттери келечектеги блокторду куюп туруу, чакырык чекиттери жеткенде аларды таркатуу жана алардын кыйынчылык чекитине жеткенде блокторду куюуну камтыйт.

Эгерде таймерорд учурдагы чоку сыяктуу бирдей салмактагы чакырыкты алса, анда алар өздөрү көргөн тундурулган блокту (чокуну) тандоодон айырмаланып, биринчи көргөн бүтпөгөн блокту тандашат (башкача айтканда, азырынча куюла элек блокту). алгачкы. Бул ошондой эле блокторду кармоону каалабайт.

Тиешелүү кол салуулар жана каршы чаралар

51% (46%) кол салуу:

51% чабуул акыры чынчыл чынжырга караганда көбүрөөк салмакка жеткен жана колдонуучуларды кайра өзгөрүүгө мажбурлаган башка чынжыр түзүүнү камтыйт. Классикалык узак аралыкка чабуул, ошондой эле иш системаларынын далилдеринде бар, 51% чабуул. 51% чабуулда, 51% тармак мейкиндигине ээ болгон чабуулчу башка тизмекти түзүп, акыры жетет. Chia консенсусу менен иштөө далилинин ортосунда эки негизги айырмачылык бар: биринчиси, чабуулчу бир эле учурда көптөгөн чынжырларга жайылып, чарба жүргүзө алат. Экинчиси, эгер чабуулчу эң ылдам VDFке ээ болсо, анда алар кошумча космостук адванды ала алышатtage/boost.

Көптөгөн чынжырларды кеңейтүү

Эгерде чабуулчу өзүнүн жеке чынжырчасын жасап жатса, анда ал чакырык чынжырына кайсы блоктун куюлгандыгын тандап алат жана ошондуктан мүмкүн болушунча мыкты чынжырчаны алуу үчүн ар кандай инфузияларды колдонуп көрүшү мүмкүн. Бирдей чакырык менен орто эсеп менен 32 блок болгондуктан, чабуулчу 32ге жакын ар кандай айкалыштарды гана сынап көрө алат (бул блокту чакырык тизмесине киргизүү керек) жана алардын ар бирин сынап көрүүнүн бутактануусу чабуулчу үчүн мейкиндикте кичине түрткү берет (5 PiBге ээ болуп, алар 6 же 7ге ээ болушат, ж.б.). Себеби сыналып жаткан альтернативдик чынжырлардын сапаты төмөн жана эң узунуна жетпейт. Бул [1] талданган.

Бул чабуулду аткаруу үчүн керектүү мейкиндиктин көлөмү (чабуулчу тармактын калган бөлүгүнө салыштырмалуу оор чынжыр алышы үчүн) 46.3%ды түзөт, анткени чабуулчу блоктордун ар кандай комбинацияларын "сынап көрүүгө" жөндөмдүү.ample таштап же калтырбай биринчи блок. Эгерде ар бир блок үчүн космостук чакырыктын жаңы далили болгон болсо, анда чабуулчу өзүнүн мейкиндигин e = 2.718 коэффициентине көбөйтө алат, бул жерде тармакты басып өтүү үчүн болгону 27% талап кылынат. Блоктордун санын 32 деп койсоңуз, чабуулчунун керектүү аянты 46% га чейин көбөйөт.

The reason for not increasing this further than 32 is the following: if we increased the number of blocks per 10 minute slot to something like 200, then the ability for someone with a slightly faster VDF to orphan others would increase. This is because the time between blocks would get very small. With 32 blocks, the time between blocks is around 15-25 seconds, and a much faster VDF is required to orphan.

Furthermore, the Stanford paper [Tse et. al, 1] shows that increasing the number of blocks per challenge increases security at a very slow rate, so increasing this number slightly does not provide much benefit.

Эгер чабуулчу кыйынчылыкты манипуляция кыла турган болсо, анда алар аны өзгөртө алышат, андыктан ар бир слотко аз сыйлык блокторун алышат. Андан кийин алар ар бир блокту камтыйт же чыгарып салат, ошондой эле бардык чынжырларды бир эле учурда экспоненциалдуу түрдө кеңейте алышат жана алардын мейкиндигин кичинекей коэффициентке көбөйтүшөт [1]. Бул чабуул өтө чоң ийгиликке жетеби же жокпу белгисиз, анткени чабуулчу кыйынчылыкты өзгөртүшү керек, бул бир аз салмакты кетирүүнү талап кылат. Бирок, бул чабуулдун алдын алуу үчүн, чакыруу блогун киргизүү үчүн, жок дегенде, 16 сыйлык чынжыр блокторун түзүү керек деген талап бар. Бул талап кылынган чабуулчу мейкиндигин эң начар сценарийде 27% дан 42% га чейин алып келет.

Тезирээк VDF жана 46% мейкиндик

Эгерде кол салуучунун VDF ылдамыраак болсо, анда 46% чабуул күчөйт. Келгиле, чабуулчу VDF 2 эсе ылдамыраак. Ошондо алардын чынжырчасы тармактын калган бөлүгүнүн курсу боюнча 2x ылдамдыкта кыйынчылыктарды жана блокторду түзө алат, демек, алар бирдей мейкиндик менен "оор" чынжырчаны түзө алышат.

Бул талап кылынган мейкиндик жалпы тармак мейкиндигинин 46% дан 30% га чейин төмөндөйт. 0.46/0.54 = 2x/(1-x). x = 0.30. Эгерде чабуулчу эң ылдам VDFке кире албаса, алар космостук адванды ала алышпайтtage.

Чиа мейкиндиги / глобалдык катуу диск мейкиндиги

Эгерде Chia тутуму катуу диск өндүрүүчүлөрдүн же ири компаниялардын бош мейкиндигине салыштырмалуу олуттуу орунга ээ болбосо, анда ал 51% кол салууга дуушар болот деген кооптонуу бар. Ошондуктан Chia тутуму канчалык көп орун ээлесе, тармак ошончолук коопсуз болот. Ишенимдүү сценарийлердин бири - көп орун пайда болуп, кургак учуктан пайда аз болуп, дисктерди сатып алуу же бизнес маалыматтарын жок кылуу үчүн жетиштүү деңгээлде эмес. Мындан тышкары, сюжет түзүү үчүн алдын-ала белгиленген убакыт жана акча каражаты талап кылынат (бета17деги учурдагы эсептөөлөрдөн, k1 үчүн 32 кВт.саат, же бир терабайт үчүн 10 доллардан 1 цент).

100% чабуул

Эгерде ар бир X VDF уячасы татаалдаштырылса, ар бир X блокторунан айырмаланып, бул 100% кол салууга мүмкүндүк берет, мында бардык фермерлер тил табышып, кыйынчылыкты азайтышат же көбөйтүшөт. Кадимки иштөөдө, бир слотко 32 блок туура келет. 100% кол салуунун астында кыйынчылык манипуляцияланып, кыйынчылык 2ге төмөндөйт, ошондуктан ар бир оюкка 64 блок туура келет, андан кийин 4кө көтөрүлөт, ошондуктан ар бир оюнчуга 16 блок болуп, түбөлүккө алмашышат. Бул дыйкандарга ар бир слотко орто эсеп менен 64 + 16/2 = 36 блоктук сыйлык алууга мүмкүнчүлүк берет. Блоктордун санына жараша кыйынчылыктарды жөнгө салуунун себеби ушул.

Кыска аралыкты чабуулдун ордун толтуруу

Адатта, жерди тартуу бир нече саатка созулат (бир өзөктүү бета 8төгү k32 үчүн 14 саат), бирок бул өтө параллелдүү, ошондуктан чабуулчулар чакырык чыккандан кийин сюжеттерди түзүүнүн жолдорун издеп, андан кийин сюжетти жок кылышат, чындыгында мейкиндигин үзгүлтүксүз сактабай чарба. Бул ыкчам эс тутуму бар кымбат адистештирилген жабдыктарды талап кылышы мүмкүн, анткени сюжет инфузия үчүн убагында түзүлүшү керек (30 секунддан аз).

Эгерде дыйкан бир заматта сюжет түзө алат деген эң начар сценарийди кабыл алсак, анда чабуулдун чыгымы жана пайдасы кандай деген суроо туулат. Бул участокту түзүүгө кеткен электр энергиясы, эс тутум, аппараттык жана инфраструктуралык чыгымдар. Учурда 1 ТБны түзүү наркы электр энергиясына болгон чыгымдын 1 долларын түзөт. Пайда ошол участокту 80 мүнөттө сактоо менен бирдей пайда алып келет (белги чекитинин аралыгы сюжет чыпкасы туруктуу болгондон кийин). Себеби, чабуулчу сюжет чыпкасынан өткөн сюжетти тандай алат. Бир терабайт үчүн жылына $ 5 деп эсептесек, 1 мүнөттүк 80 TB сюжеттин наркы $ 0.00094 түзөт. Демек, учурдагы плиткалык программалык камсыздоо жана жабдуулар менен, аларды калыбына келтирүүдөн айырмаланып, сактоо кыйла арзан.

Сюжет чыпкасынын туруктуусу, дыйкандардын диск издөө көлөмүн азайтуу үчүн абдан пайдалуу. 512 сюжет чыпкасы менен, ар бир сюжет үчүн 7 диск окуунун ордуна, ар бир 9 секундада, дыйкандар ар бир 7 мүнөттө болжол менен 80 жолу окушу керек. Сюжет чыпкасынын туруктуусу чабуулчуну алмаштыруу пайдасынын көбөйткүчүн камсыз кылат, андыктан ал өтө жогору коюлбашы керек. 512 сюжет чыпкасы туруктуу болсо, 1/512 сюжеттер ар бир чакырыкка жарактуу. Андан кийин чабуулчу чыпкадан өткөн сюжеттерди гана түзө алат, андыктан башка 511 / 512th түзүүнүн кажети жок. Аны 512 кылып коюу 512 эсе көбөйткүчтү ж.б.у.с.

Тезирээк VDF (бирок 51% кол эмес)

Тутумдагы эң ылдам VDF менен, чабуулчу 51% чабуулду натыйжалуу жасай алат: башкача айтканда, жеке чынжырчада чарба жүргүзүүдө өз мейкиндигин кеңейтет. Эгерде чабуулчу жалпы 51% мейкиндикке жетпесе (VDF жогорулап, көптөгөн чынжырларды көбөйтсө), ылдамыраак VDFдин пайдалуулугу бир кыйла төмөндөйт. Себеби блоктордун киргизилиши жана алынып салынышы VDFди канчалык тез аткара тургандыгыңыздан көз каранды эмес, тескерисинче, суб-слоттун кайталанышынан аз экенине көз каранды. Мындан тышкары, чабуулчу алдыга жылуу үчүн калган тармактын мейкиндигин талап кылат, андыктан тармакка кыйынчылыктарды жаратышы керек.

Айрым учурларда, блоктор бири-бирине өтө жакын келип, тезирээк VDFге ээ болуу, чабуулчуга айрым блокторду жетим калтыруу мүмкүнчүлүгүн берет, бирок бул кыска мөөнөттө сыйлыктарды көбөйтпөйт жана узак мөөнөттүү келечекте тармакты бузуп алуу коркунучу бар. TODO: жайылтуу: bram

Өзүмчүл дыйканчылык

Эгоисттик дыйканчылык - бул чабуулчу жеке чарбаларын блоктогон чабуул жана аларды чынчыл чынжырчадан ашып кетүү коркунучу болгондо гана коё берет. Накамото PoW-де бул олуттуу жетишкендиктерди камсыз кылат, анткени кен казуучу тармактын бардык тармактарынан алдыга озуп чыккан учурда, калган тармактар ​​утушка ээ болбогон чынжыр менен өз күчүн текке кетиришет. Чиада консенсуска ылайык, бул 30-40 секундага кечиккендиктен жана башка фермерлердин блокторунун жетим калышынан улам, сыйлыктар көбөйбөйт. (??)TODO: жайылтуу: bram

Фермерлерге пара берүүчү магистралдык кол салуу

[10] тарабынан изилденген кызыктуу чабуул - бул пара берүүчү чабуулtage ар бир уячада шайланган "лидерлердин" алдын ала айтуу мүмкүнчүлүгү. Жазуучулар коюм тизмегинин далилин талдашат жана катышуучулар алдын ала утуп аларын билишкенде, потенциалдуу паракордук чабуулу бар экенин айтышат. Эгерде катышуучулар кайсы сюжеттер жеңерин алдын ала билишсе, анда ар бир колдонуучу чабуулчуга чабуулга катышууга даяр экендиктерин билдире алат, эгерде алар белгилүү бир чекке жетсе, чынжырды толугу менен кайра өзгөртө алышат (же катышпагандарды жетим калтыруу, цензура) бүтүмдөр ж. Бул чабуул тармактагы мейкиндиктин көпчүлүгүн талап кылбайт; ошол кыска убакыттын ичинде гана жеңүүчүлөр. Мындан тышкары, аны аныктоо мүмкүн эмес, анткени чабуулчу кадимкидей карап турган чынжыр жасай алат.

Бул маселе Чиа консенсус алгоритмин кайра карап чыгууда жок. Бул көйгөй алдын-ала божомолдоону төмөндөтүү жолу менен чечилет: ар бир фермер белгилөө пунктуна чейин алардын мейкиндиктин далили толук кандуу ылайыктуу экендигин так билбейт. Ошондуктан, чабуулчу бул кол салууну токтотуу үчүн мейкиндиктин көпчүлүк бөлүгүнө пара бериши керек.

Дыйкан пара жалбырактары reorg кол салуу

Блокторго PoSpace баскычтары тарабынан кол коюлгандыктан, дыйкан теориялык жактан бир эле PoSpace менен бир эле бийиктикте бир нече блокко кол коё алат. Чабуул кара ниет тараптан, дыйкандарга, кезектеги тизмектин колтамгасын берүү үчүн, белгилүү өлчөмдө акча каражатын талап кылышы керек. Эгерде чабуулчу N блоктогу ар бир дыйканды кол коюуга ишендире алса, анда ошол N блоктогу бүтүмдү кайтарып же иретке келтире алат. Потенциалдуу алдамчылык далилдерин колдонсо болот, бирок алар башка кол салууларды жаратып, жүрүм-турумду татаалдаштыргандыктан тандалган эмес.

Тескерисинче, аны жөн гана узак күтүү керек. 32 блоктон кийин (болжол менен 10 мүнөт), жок дегенде бир дыйкан протоколго ылайык иш алып барат жана эки жолу кол койбойт деген божомол акылга сыярлык. Эгерде 54% макулдашылбаса (46% чабуулдун туруктуулугу жөнүндө божомол), 32 блоктон кийин артка кайтуу ыктымалдыгы. Мындан тышкары, бул кол салуу байкалгандыктан, аны алып салуу оңой эмес.

Ар бир колдонуучу транзакцияны/блокту акыркы катары кабыл ала турган өзүнүн босогосун тандай алат. Мисалыampле, жалпы тармак мейкиндиги күтүлбөгөн жерден төмөндөп кеткен учурларда, колдонуучулар этият болуп, бүтүмдөрдү акыркы деп эсептебей алышат, эгерде тармактын бөлүнүшүнөн улам, мурунку үчүн дагы бир айры бар болсо.ample.

Транзакциянын акысы үчүн бүтүм блокторун жетим калтыруу

Транзакция бкулпулар бүтүм акысын камтыгандыктан, бүтүм эмес блоктордон айырмаланат. Алар бөгөттөлгөн сыйлыктардан ашып түшүшү мүмкүн. Макаланы жазуу учурунда (2020-жылдын ноябрь айы), эң жогорку дефейде биз 2 эт блоктун сыйлыгын көрүп жатабыз, ар бир блок үчүн 8 эт акысы бар. Чияда бул өтө эле курч болот, анткени бардык эле блоктордо бүтүмдөр камтылбайт. Бул 2-орунду ээлеген фермер бүтүмдөр блогун жеңип алуу үчүн 1-орунду көрмөксөнгө салган чабуулдарга алып келет. Эгерде 2-блок 30-ден 1 секунда өтпөй калса, анда алар мурунку блокту көрсөтүшпөйт, ошентип 2-орун 1-орунду жетим калтыра албайт. 3-орун экөөнү тең жетим кылышы мүмкүн, бирок эч ким бул чынжырды ээрчибейт, анткени ал кыска.

Бирок, эгер 30-блоктон 1 секунда ичинде эч кандай блок жок болсо, экинчиси 2-орунду жетим кылып алышы мүмкүн, бирок алар кийинки блокту алардын кезектешкен чынжырчасында чарба жүргүзүүгө ынандырышы керек. Эгерде чабуулчу 1-жана 2-орунду башкарса, жеңилирээк чабуул болмок, мындай учурда алар биринчисине көңүл бурбай, дагы узунураак болушу мүмкүн. Бул жетим кол салуулар чабуулчуга сыйлыктарды уурдоого жол бербейт, тескерисинче, чабуулчуга кыйынчылыкты бир аз төмөндөтүүгө мүмкүнчүлүк берет. Алар өтө кырдаалдуу жана көп орун талап кылгандыктан, бул чабуулдун аракети чабуулчунун пайдасына караганда тармакка көбүрөөк зыян келтириши мүмкүн.

Жетимдердин баасы

Чиа консенсусунда, бир эле учурда болжол менен эки атаандаш блок бири-бирин билбей туруп, параллелдүү түрдө блокчейнге киргизилиши мүмкүн. (Бирок эң көп дегенде бир блок болушу мүмкүн). Бардык бүтүм блоктору да блок болгондуктан, экөө тең чынжырга кошулуп, натыйжада салмагы жогору чынжыр пайда болот. Бул Чиадагы жетимдердин көрсөткүчү дегенди билдирет тармактын күтүү убактысын төмөндөтсө, иш жүзүндө нөлгө барабар болот. Эгерде тармактын күтүү убактысы инфузиянын кечигүүсүнөн ашып кетсе (30-40 секунд), анда блоктун жетим калуусу дээрлик кепилденген, демек, бул кадам функциясы. Бул Nakamoto-PoWдон айырмаланып, тармактын кечеңдеши болсо, жетимдин көрсөткүчү жогору болуп, тармактын абалы жакшырган сайын бир аз төмөндөйт, бирок эч качан нөлгө барбайт.

Анализ

Коопсуздук

Коопсуздук Bitcoin сыяктуу башка Nakamoto консенсусунун алгоритмдерине окшош. Кепилдик жок, бирок транзакция канчалык көп болсо, ошончолук коопсуз болот. Алуучу <46%(* vdf advantagд) болжолдоо. Фермерлер теориялык жактан бир эле блокто бир нече блокторго кол кое ала тургандыктан, Чиада дагы тастыктоолор колдонулушу керек Биткойн караганда. Бирок 32 минутада 10 блок ылдамдыгы менен, Биткойндогу 6 тастыктама Чиадагы 192ге барабар, бул коопсуз деп эсептелгенден ашыкча. Ошол 192 дыйкандын бири өзүн жакшы алып жүрсө (эки кол менен эмес), ошол бүтүм кайтарылбайт.

Белгилей кетүүчү нерсе, 54% акыйкат дыйканчылык мейкиндиги талап кылынбайт, бирок 54% ынтымаксыз. Дыйкандарды издеген пайда протоколдон четтеп, аз гана пайда табат.

Жок дегенде, бир тез таймлорд түйүндүн бириктирилбеген бөлүгүнө туташтырылышы керек жана чабуулчунун таймелдору ылдамыраак эмес деген кошумча божомол бар.

Жашоо

Чиа консенсус тутумунун жандуулугу - бул анын күчтүү жактарынын бири. Биткойн сыяктуу эле, Chia тутуму мейкиндиктин көпчүлүгү оффлайн режиминде болсо дагы, алга жыла берет. Биткойндон айырмаланып, система болгондо олуттуу басаңдай бербейт, анткени бардык эле блоктор бүтүм блок эмес. Эгерде көптөгөн катышуучулар оффлайнга кетсе, транзакциялардын өткөрүү жөндөмү өтө эле төмөндөбөйт. Ал 1 фермер онлайн режиминде болсо дагы улантылат, бирок бош орундар көп болот, анткени транзакция блогу суб-слоттун кайталоо босогосунан төмөн болгондо гана түзүлүшү мүмкүн.

Албетте, тармак узак мөөнөткө бөлүнүп кетсе, бир чынжыр тандалышы керек, андыктан бул учурда чоң реоргдор болушу мүмкүн. Ошентсе дагы, тармак PoW сыяктуу оор салмактуу чынжырды тандайт.

BFT менен салыштыруу консенсус алгоритмдери

Б-ны жүктөө үчүн мейкиндиктин далили Сибилге туруктуу механизм катары колдонулушу мүмкүнyzantine консенсус (k-макулдашуу) системасы. Fileмонеталар жана ставка системаларынын көптөгөн далилдери византиялык консенсустун аспектилерин колдонушат.

Алгоритмден алгоритмге чейин айырмаланган Чиа Накамото жана Византия консенсусун колдонуунун оң жана терс жактары:

  • + Бир топ жөнөкөй
  • + Каттоо талабы жок
  • + Масштабирование талабы жок (миллиондогон дыйкандарга тараза)
  • + Дагы цензурага туруктуу. Дыйканчылык мейкиндигинин анча-мынча бөлүгү цензурадан өтпөсө, акыры блокчейнге кирип кетсеңиз болот.
  • + Жашоо талаптары жок, тармактык божомолдор аз
  • + Толугу менен объективдүү (түйүн 1 жана чынжыр 2 менен салыштырып, кайсынысы оор экендигин дароо билип алат). ⅔ консенсус менен өткөрүү пункттарынын кереги жок.
  • + Кардарларды жеңилирээк колдоо [11]
  •  Эч кандай акыркы мүмкүнчүлүк жок.
  •  Транзакциянын ырасталышын дагы күтүү керек (биротоло жоктугуна байланыштуу).
  •  Блоктун убактысы жана транзакциянын натыйжалуулугу азыраак

Nakamoto PoW менен салыштыруу

  • + Ар кандай ресурстар. PoSpace ASICке туруктуу, ошондуктан ар бир адам дыйканчылыкка катыша алат. Борбордон ажыратылган деп үмүттөнөм.
  • + Оңой биригүү чарбачылыгы. Башка крипто-валюталар бирдей форматты колдоно алышат жана мейкиндикти бардыгы бөлүшө алышат. Балким, дыйкандар кичинелерине кол салышы мүмкүн болгондуктан, алардын эң мыктысы гана коопсуз болот.
  • + Минималдуу энергия колдонулат, анткени бир нече түйүндөрдө VDF иштейт жана алар параллелдешпейт. Өтө төмөн чеги меники.
  • + Дагы бир жолу транзакцияны бөгөттөө убактысы (~ 1 мин. Бирден)
  • + Өзүмчүл тоо-кен казып алуу чабуулдарына азыраак сезгич
  • + Кичинекей жетимдердин тарифтери жана айрылар, анткени блокторду параллель киргизүүгө болот.
  • + Бош орун кыскарганда дагы деле бирдей ылдамдыкта жүрөт, анткени анын 1/16 блокуна гана транзакциялар кирет. PoW nakamoto консенсусу басаңдайт.
  •  Потенциалдуу чабуулчулардын кемчиликтери (ири компаниялар). Аппараттык камсыздоо - бул жалпы максат, андыктан чабуулчулар дыйканчылык, чабуул жана маалыматтарды сактоо үчүн колдонушат.
  •  VDFти ылдамдатуу космостук артыкчылыкты бериши мүмкүнtagтармакка кол салган адам үчүн.
  •  Кичине слоттордун жана VDFдердин татаалдыгы, криптографиялык божомолдор көбүрөөк болушу мүмкүн

Коюмдун далили менен салыштыруу

Бул консенсус алгоритмин коюмдун далили үчүн да колдонсо болот, ал жерде мейкиндиктин фермерлери системада монеталарга ээ болгон стейкерлер менен алмаштырылат. Мунун пайдасы кесүү мүмкүнчүлүгүнө ээ болмок (адамдардын үлүшүн жок кылуу), ал эми фермерлерде “оюндагы тери” пайда болмок, бирок коюмдун далили колдонулса, кооптонуу бар. (+ мейкиндикти колдонуунун пайдасын билдирет).

  • + Чабуулчу өз үлүшүн башка бирөөгө өткөрүп бере алат, бирок алардын коюму берилгенге чейин чынжырды айрып алат. Бул кезектеш чынжырда чабуулчу өзүнүн үлүшүнө ээ жана ошондуктан чынжырчаны алдыга жылдырышы мүмкүн. "Эч нерсе эмес" маселеси PoStakeде башкача PoSpaceге караганда PoSpace түзүү физикалык ресурстарды талап кылат (катуу диск мейкиндиги), ал эми PoS түзүү үчүн ачкыч гана талап кылынат.
  • + Монеталардын жалпы саны чектелгендиктен, чабуулчу алардын сыйлыктарын коюп, байларды байытат), алардын пирогунан алган үлүшүнө кепилдик бере алат.
  • + Ал жерде Чабуулчу коюмду өткөрүп берүүнүн ар кандай жолдорун тандап алган жагдайлар болушу мүмкүн. Балким, коюмдун активдүү болушуна чейин бир топ убакыт талап кылынса, аны азайтууга болот.
  • + Катталуу талап кылынат, сиз катталмайынча, коюмдун күбөлүгүнө катыша албайсыз. Бул купуялуулукту жана масштабдуулугун төмөндөтөт (канча адам катыша алат).
  • + Кирүү үчүн жогорку тоскоолдук: коопсуздук депозиттери жана кескин кыскартуу чакан колдонуучулардын катышуусун кыйындатат. Кесүү тармактын катышуучулары үчүн чоң тобокелдик болушу мүмкүн. Борборлоштурулган сакчылар катышуучулардын аз бөлүштүрүлгөн топтомун алып келет.
  • Кээ бир божомолдор [11] коюмдун далили болгон жеңил кардардын синхрондоштуруусун талап кылат.
  •  Оюндагы тери: PoS мененАлсак, консенсус адамдардын үлүшүн кыскартат, ошондой эле тутумга кандайдыр бир инвестицияларды талап кылат (баанын таасири). Космосту далилдегенде, катуу дисктерди башка максаттарда колдонсо болот жана элдердин аппараттык жабдууларын "кыйратуу" мүмкүнчүлүгү жок.

Шилтемелер

  1. Вивек Багария, Амир Дембо, Срирам Каннан, Севун Ох, Дэвид Цэ, Прамод Вишванат, Сюэчао Ванг, Офер Цейтуни, Коюмдардын эң узун чынжыр протоколдору, коопсуздук жана алдын-ала болжолдуу маалыматтар [Жүктөө]
  2. Аггелос Киаяс, Александр Рассел, Бернардо Дэвид, Роман Олийников, Оуроборос: А Блокчейн чынында эле камсыздалган коопсуз протокол [Жүктөө]
  3. Брам Коэн жана Кшиштоф Питерзак, Chia Network Blockchain
  4. Бенедикт Бунз, Люцианна Киффер, Лой Луу жана Мехди Замани, 2019-226 [PDF]
  5. Кржиштоф Питерзак, Натыйжалуу кечиктирүү функциялары [Жүктөө]
  6. Бенджамин Весоловски, Жөнөкөй текшерилүүчү кечигүү функциялары [Жүктөө]
  7. Стефан Дзиембовский, Себастьян Фауст, Владимир Колмогоров жана Кшиштоф Пиетрзак, Космостун далилдери [Жүктөө]
  8. Хамза Абусалах, Джоэль Алвен, Брам Коэн, Данило Хилко, Кшиштоф Пиетрзак жана Леонид Рейзин, 2017-893 [Жүктөө]
  9. Чиа тармагы, Чиа Космостук курулуштун далили
  10. Соубхик Деб, Срирам Каннан, Дэвид Цэ, Жумушсуз PoSAT-Proof-of Work иштөө мүмкүнчүлүгү жана алдын-ала божомолдоого болбойт [Жүктөө]
  11. Александр Скиданов, Сток системаларынын далилдериндеги жеңил кардарлар

–  –

Шилтемелер

Комментарий калтырыңыз

Сиздин электрондук почта дарегиңиз жарыяланбайт. Талап кылынган талаалар белгиленген *