Слој живе: велико побољшање државних ланаца

By Bitcoin Часопис - пре 4 месеца - Време читања: 5 минута

Слој живе: велико побољшање државних ланаца

CommerceBlock is releasing Mercury Layer today, an improved version of their variation of a statechain. You can read a longer form explanation of how their Mercury statechains work ovde. The upgrade to Mercury Layer represents a massive improvement against the initial statechain implementation, however unlike the initial Mercury Wallet release, this is not packaged as a fully consumer ready wallet. It is being released as a library and CLI tool other wallets can integrate. Here’s a quick summary of how they work:

Државни ланци су у суштини аналогни каналима плаћања на много начина, то јест, они су заједнички дељени УТКСО са унапред потписаном трансакцијом као механизмом последње инстанце за људе да спроведу своје власништво. Главна разлика између Лигхтнинг канала и државног ланца је страна укључена у заједничко дијељење УТКСО-а и начин на који се власништво над извршним потраживањем према њему преноси на друге стране.

За разлику од Лигхтнинг канала, који се креира и дели између два статична учесника, државни ланац се отвара са фасилитатором/оператором и може се слободно преносити у целости између било која два учесника који су спремни да верују да је оператер искрен, потпуно искључен. -ланац. Неко ко жели да учита ланац стања сарађује са оператером како би креирао један јавни кључ који и креатор и оператер имају удео одговарајућег приватног кључа, при чему ниједан од њих нема потпуну копију кључа. Одавде унапред потписују трансакцију која дозвољава креатору да једнострано затражи своје новчиће назад након временске блокаде.

Да би пренео државни ланац, тренутни власник сарађује са примаоцем и оператером како би потписао криптографски доказ са својим кључем да преносе новчић, а затим прималац и оператер генеришу нови пар дељених кључева који се сабирају у исти приватни кључ и потпис временски закључана трансакција за новог власника са краћим временским закључавањем од оригиналног (како би се осигурало да они могу да користе своје раније него претходни власници). Овај процес се понавља за сваки пренос све док се временско закључавање више не може скратити, у ком тренутку ланац стања мора бити затворен у ланцу.

Owners transfer the entire historical chain of past states with each transfer so that users can verify timelocks have been properly decremented and the operator timestamps them using Маинстаи, a variant of Opentimestamps where each piece of data has its own unique “slot” in the merkle tree to guarantee that only a single version of the data is timestamped. This let’s everyone audit the transfer history of a statechain.

У земљи слепих

Велика промена коју Мерцури Лаиер доноси у оригиналну верзију државних ланаца је заслепљујућа. Оператер услуге Статецхаин више неће моћи да сазна ништа о томе шта се преноси: тј. укључени ТКСИД-ови, укључени јавни кључеви, чак ни потписи које сарађује са корисницима да би креирали за унапред потписане трансакције неопходне за повраћај ваша средства једнострано.

Представљајући заслепљену варијанту Сцхнорр МуСиг2, Мерцури може олакшати процес потписивања трансакције за повлачење без учења било каквих детаља о томе шта потписују. Ово захтева неке промене дизајна како би се узела у обзир чињеница да оператер више не може да види и објави целокупну историју преноса државног ланца. Они уопште нису у стању да потврде трансакцију коју потписују.

У претходној итерацији, јединственост тренутног власника ланца стања/скупа трансакција је потврђена од стране оператера кроз објављивање целокупне историје преноса ланца стања са Маинстаи-ом. То овде није могуће, јер у заслепљеној верзији оператер не сазна никакве детаље о овим трансакцијама. Ово захтева нови начин на који оператер потврђује тренутно власништво над државним ланцем. Сви ови подаци се у потпуности гурају у модел валидације на страни клијента. Оператер једноставно прати колико је пута нешто потписао за један државни ланац и каже кориснику тај број када се то затражи. Корисник затим прима трансакције прошлих стања ланца стања од корисника који им шаље и у потпуности проверава на страни клијента да се број трансакција поклапа са оним што је оператер тврдио, а затим у потпуности верификује да су сви потписи валидни и да су временски закључавања смањена за одговарајући износ сваки пут. Уместо објављивања комплетних трансакција ланца стања и налога за пренос у Маинстаи, зато што је дизајниран да не зна за све те информације, он објављује свој део јавног кључа (не цео збирни јавни кључ) за тренутног корисника за сваки државни ланац корисник. Ово омогућава сваком кориснику који прима ланац стања да провери историју преноса и да је тренутно стање легитимно у односу на податке о трансакцији које шаље пошиљалац.

Операторски сервер води евиденцију о јединственим ланцима стања да би бројао претходне потписе тако што сваком ланцу стања при креирању додељује насумични идентификатор, који се чува са његовом деноминацијом и приватним кључем и уделом јавног кључа (не цео збирни јавни кључ). Нова координациона шема за дељење и поновно дељење кључа је урађена на начин да сервер проследи свој део кључа кориснику, а подаци неопходни за поновно дељење су заслепљени тако да сервер није у стању да икада научи корисникову потпуну дељење јавног кључа, омогућавајући му да креира потпуни агрегатни јавни кључ и идентификује новчић на ланцу.

Дизајн чак не дозвољава оператеру да зна када је потписао затварање сарадње са тренутним власником, а не унапред потписану трансакцију за новог власника ван ланца; не види никакве детаље који би разликовали два случаја један од другог. Ово је, међутим, безбедно за кориснике које би неко могао да нападне од стране некога ко покушава да „удвостручи“ државни ланац ван ланца обезбеђујући лажну трансакцију која није могла да се измири. Прво, тај корисник би видео на ланцу да је потрошена УТКСО подршка за тај државни ланац. Друго, историја трансакција, пошто оператер мора да потпише сва ажурирања стања, имала би само јасно кооперативно затварање у ланцу прошлих трансакција. Обе ове ствари би омогућиле кориснику да одбије трансакцију знајући да није легитимна.

Statechains also allow Lightning channels to be “put on top” of the statechain by having the statechain pay out to a multisig address between two people, and the two of them negotiating a conventional set of Lightning commitment transactions on top of it. It would need to close the statechain on-chain before closing the Lightning channel so would need to use longer timelock lengths for Lightning payments, but otherwise would function perfectly normally.

Overall with the massive privacy improvements of the new iteration of statechains, and the composability with Lightning, this opens many doors for the economic viability and flexibility of second layer transactional mechanisms on Bitcoin. Especially in light of the recent radical changes in mempool dynamics and the resulting fee pressure.

Нуди исту врсту предности ликвидности као и Арк, односно могућност да се може слободно преносити без потребе за примањем ликвидности, али за разлику од Арк-а је данас жив и функционалан. То је несумњиво другачији модел поверења од нечег попут Лигхтнинг-а, али за огромне добитке у флексибилности и скалабилности, то је дефинитивно могућност за истраживање. 

Изворни извор: Bitcoin Магазин