From e3ec9cf9db5cc8eb2af86c500f6fd77643502aba Mon Sep 17 00:00:00 2001 From: zizelevak Date: Mon, 23 Jan 2017 12:30:55 +0100 Subject: [PATCH 001/133] Create Czech.txt --- bip-0039/Czech.txt | 2048 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 2048 insertions(+) create mode 100644 bip-0039/Czech.txt diff --git a/bip-0039/Czech.txt b/bip-0039/Czech.txt new file mode 100644 index 00000000..24863efa --- /dev/null +++ b/bip-0039/Czech.txt @@ -0,0 +1,2048 @@ +abeceda +adresa +akce +aktovka +alej +alkohol +ananas +andulka +anekdota +anketa +antika +archa +asfalt +asistent +astma +astronom +atlas +atletika +atol +autobus +azyl +babka +bacil +baculka +badatel +bageta +bagr +bahno +bachor +bakterie +balada +baletka +balkon +balonek +balvan +balza +bambus +bankomat +barbar +baret +bariera +barman +baroko +barva +baterka +batoh +bavlna +bazalka +bazilika +bazuka +bedna +beran +beseda +bestie +beton +bezinka +bezmoc +beztak +bezva +bicykl +bidlo +biftek +bikiny +bilance +biograf +biolog +bitva +bizon +blaf +blahobyt +blatouch +bledule +blecha +blesk +blikat +blizna +blokovat +bloudit +blud +bobek +bobr +bodlina +bodnout +bohatost +bojkot +bojovat +bokorys +bolest +borec +borovice +borskev +bota +boubel +bouda +bouchat +boule +boxer +bradavka +brambora +branka +bratr +brepta +briketa +brko +brloh +bronz +broskev +brunetka +brusinka +brzda +brzy +bublina +bubnovat +buditel +budka +budova +bufet +buchta +bujarost +bukvice +buldok +bulva +bunda +bunkr +burza +butik +buvol +buzola +bydlet +bylina +bytovka +bzukot +capart +carevna +cedr +cedule +cejch +cela +celer +celkem +celnice +cenina +cennost +cenovka +centrum +cenzor +cestopis +cetka +cibule +cigareta +cihelna +cihla +cinkot +cirkus +cisterna +citace +citrus +cizinec +cizost +clona +cokoliv +couvnout +ctitel +ctnost +cudnost +cuketa +cukr +cupot +cvaknout +cval +cvik +cvrkot +cyklista +daleko +dareba +datel +datum +dcera +debata +decibel +deficit +dechovka +dekl +dekret +demokrat +deprese +derby +deska +detektiv +dikobraz +diktovat +diplom +disk +divadlo +divoch +dlaha +dlouho +dluhopis +dnes +dobro +dobytek +docent +dodnes +dohled +dohoda +dohra +dochutit +dojem +dojnice +doklad +dokola +doktor +dokument +dolar +doleva +dolina +doma +dominant +domluvit +domov +donutit +dopad +dopis +doplnit +doposud +doprovod +dopustit +dorazit +dorost +dort +dosah +doslov +dostatek +dosud +dosyta +dotaz +dotek +dotknout +doufat +doutnat +dovozce +dozadu +doznat +dozorce +drahota +drak +dramatik +dravec +draze +drdol +drobnost +drogerie +drozd +drsnost +drtivost +drzost +duben +dudek +duha +duhovka +duchovno +dusit +dusno +dutost +dvojice +dvorec +ekolog +ekonomie +elektron +elipsa +email +emise +emoce +empatie +epizoda +epocha +epos +esej +esemeska +esence +eskorta +eskymo +etiketa +euro +evoluce +exekuce +exkurze +expedice +exploze +export +extrakt +fabrika +facka +fajfka +fakulta +falzum +fanatik +fanda +fantazie +fara +farmacie +faul +favorit +fazole +federace +fejeton +fenka +fialka +fiflena +figurant +filozof +filtr +finance +finta +fixa +fjord +flanel +flirt +flotila +folklor +fond +fosfor +fotbal +fotka +foton +frakce +freska +fronta +funkce +fyzika +galeje +garant +genetika +geolog +gilotina +glejt +globus +golem +golfista +gondola +gotika +graf +gramofon +granule +grep +gril +grog +groteska +guma +hadice +hadr +hafan +hala +halenka +hanba +hanopis +harfa +harpuna +havran +hebkost +hejkal +hejno +hejtman +hektar +helma +herec +herna +heslo +hezky +hezoun +historik +hladovka +hlasivky +hlava +hledat +hlen +hlodavec +hloh +hloupost +hltan +hlubina +hmat +hmota +hmyz +hnis +hnojivo +hnout +hoblina +hoboj +hodiny +hodlat +hodnota +hodovat +hoch +hojnost +hokej +holinky +holka +holub +homole +honitba +honorace +horal +horizont +horko +horlivec +hormon +hornina +horoskop +horstvo +hospoda +hostina +hotovost +houba +houf +houpat +houska +hovor +hradba +hranice +hravost +hrazda +hrbolek +hrdina +hrdlo +hrdost +hrnek +hrobka +hromada +hrot +hrouda +hrozen +hrstka +hrubost +hryzat +hubenost +hubnout +hudba +hukot +humr +husita +hustota +hvozd +hybnost +hydrant +hygiena +hymna +hysterik +chalupa +chapadlo +charita +chata +cheb +chechtat +chemie +chichot +chile +chirurg +chlad +chleba +chlor +chlubit +chmel +chmura +chobot +chodba +chochol +cholera +chopit +choroba +chov +chrapot +chrlit +chrom +chrt +chrup +chtivost +chudina +chutnat +chvat +chvilka +chvost +chyba +chystat +chytit +idylka +ihned +ikona +iluze +imunita +infekce +inflace +inkaso +inovace +inspekce +internet +invalida +investor +inzerce +ironie +jablko +jahoda +jachta +jakmile +jakost +jalovec +jantar +jarmark +jaro +jasan +jasno +jatka +javor +jazyk +jedinec +jedle +jednatel +jehlan +jekot +jelen +jelito +jemnost +jenom +jepice +jeseter +jestli +jevit +jezdec +jezero +jinak +jindy +jinoch +jiskra +jistota +jitrnice +jizva +jmenovat +jogurt +jurta +kabaret +kabel +kabinet +kadet +kadidlo +kafe +kahan +kachna +kajak +kajuta +kakao +kaktus +kalamita +kalhoty +kalibr +kalnost +kamera +kamkoliv +kamna +kanibal +kanoe +kantor +kapalina +kapela +kapitola +kapka +kaple +kapota +kapr +kapusta +karamel +karfiol +karotka +karton +kasa +kasino +kastrol +katalog +katedra +kauce +kauza +kavalec +kazajka +kazeta +kazivost +kdekoliv +kdesi +kedluben +kemp +keramika +kino +klacek +kladivo +klam +klapot +klasika +klaun +klec +klenba +klepat +klesnout +klid +klisna +klobouk +klokan +klopa +kloub +klubovna +klusat +kluzkost +kmen +kmit +kmotr +kniha +knot +koberec +kobka +kobliha +kobyla +kocour +kohout +kojenec +kokos +koktejl +kolaps +koleda +kolo +komando +kometa +komik +komnata +komora +kompas +komunita +konat +koncept +kondice +konec +konfese +kongres +konina +konkurs +kontakt +konzerva +kopanec +kopie +kopnout +koprovka +korbel +korektor +kormidlo +koroptev +korpus +koruna +koryto +korzet +kosatec +kostka +kotel +kotleta +koukat +koupelna +kousek +kouzlo +kovboj +koza +kozoroh +krabice +krach +krajina +kralovat +krasopis +kravata +kredit +krejcar +kresba +kreveta +kriket +kritik +krize +krkavec +krmelec +krmivo +krocan +krok +kronika +kroupa +krovka +krtek +kruhadlo +krupice +krutost +krvinka +krychle +krypta +krystal +kryt +kudlanka +kufr +kujnost +kukla +kulajda +kulich +kulka +kulomet +kultura +kuna +kupodivu +kurt +kurzor +kutil +kvalita +kvasinka +kvestor +kynolog +kyselina +kytara +kytice +kytka +kytovec +kyvadlo +labrador +ladnost +lahev +lachtan +laik +lakomec +lampa +lanovka +lasice +laso +lastura +latinka +lavina +lebka +leckdy +leden +lednice +ledovka +ledvina +legenda +legie +legrace +lehce +lehkost +lehnout +lektvar +lenochod +lentilky +lepenka +lepidlo +lepra +letadlo +letec +letmo +letokruh +levhart +levitace +levnost +levobok +lhota +libra +lidojed +lidskost +lihovina +lichotka +lijavec +lilek +limetka +limitace +linie +linka +listopad +litina +litovat +lobista +logicky +logoped +lokalita +loket +lopata +lopuch +lord +losos +lotr +loudal +louh +louka +louskat +lovec +lstivost +lucerna +lucifer +lump +luneta +lusk +lustrace +lvice +lyra +lyrika +lysina +madam +madlo +magistr +machr +majetek +majitel +majorita +makak +makovice +makrela +malba +malina +malovat +malvice +maminka +mandle +marnost +marodka +masakr +maskot +masopust +matice +matrika +maturita +mazanec +mazivo +mazlit +mazurka +mdloba +meditace +medovina +mechanik +mejdan +meloun +mentolka +metla +metoda +metr +mezera +migrace +mihnout +mihule +mikina +mikrofon +milenec +milimetr +milost +mimika +mincovna +minibar +minomet +minulost +miska +mistr +mixer +mladost +mlha +mlhovina +mlok +mlsat +mluvit +mnich +mnohem +mobil +mocensky +mocnost +modelka +modlitba +mohyla +mokrost +molekula +momentka +monarcha +monokl +monstrum +montovat +monzun +mosaz +moskyt +most +motivace +motorka +motyka +moudrost +moucha +movitost +mozaika +mozek +mozol +mramor +mravenec +mrkev +mrtvola +mrzet +mrzutost +mstitel +mudrc +muflon +mulat +mumie +munice +muset +mutace +muzeum +muzika +myslivec +mzda +nabourat +nadace +nadbytek +nadhoz +nadlouho +nadobro +nadpis +nadrobno +naftalen +nahlas +nahnat +nahota +nahradit +nachytat +naivita +najednou +najisto +najmout +naklonit +nakonec +nakrmit +nalevo +namazat +namluvit +naoko +naopak +naostro +napadat +napevno +naplnit +napnout +naposled +naprosto +narodit +naruby +narychlo +nasadit +nasekat +naslepo +nastat +natolik +natrvalo +natvrdo +navenek +navrch +navzdory +nazvat +nebe +necky +nedaleko +nedbat +neduh +nefrit +negace +nehet +nehoda +nechat +nejen +nejprve +neklid +nelibost +nemilost +nemoc +neochota +neonka +nepokoj +nerost +nerv +nesmysl +nesoulad +nestor +netvor +neuron +nevina +nezvykle +nicota +nijak +nikam +nikdy +nikl +nikterak +nimrod +nitro +nocleh +nohavice +nominace +norek +normativ +nositel +nosnost +nouze +noviny +novotvar +nozdra +nuda +nudle +nuget +nutit +nutnost +nynfa +obal +obarvit +obava +obdiv +obec +obehnat +obejmout +obezita +obhajoba +obilnice +objasnit +objekt +obklopit +oblast +oblek +obliba +obloha +obluda +obnos +obohatit +obojek +obout +obrazec +obrna +obruba +obrys +obsah +obsluha +obstarat +obuv +obvaz +obvinit +obvod +obvykle +obyvatel +obzor +ocas +ocel +ocenit +ocitnout +odboj +odbyt +odcizit +odebrat +odeslat +odevzdat +odezva +odhadce +odhodit +odchod +odjet +odjinud +odkaz +odkoupit +odliv +odluka +odmlka +odolnost +odpad +odpis +odplout +odpor +odpustit +odpykat +odrazka +odsoudit +odstup +odsun +odtok +odtud +odvaha +odveta +odvolat +odvracet +odznak +ofina +ofsajd +ohlas +ohnisko +ohrada +ohrozit +ohryzek +ochladit +ochota +ochrana +okap +okenice +oklika +okno +okouzlit +okovy +okrasa +okres +okrsek +okruh +oktet +okupant +okurka +okusit +olejnina +olizovat +omak +omeleta +omezit +omladina +omlouvat +omluva +omyl +onehdy +onkolog +opakovat +opasek +operace +opice +opilost +opisovat +opora +opozice +opravdu +oproti +opuka +orbital +orgie +orchest +orlice +orloj +ortel +osada +oschnout +osika +osivo +oslava +oslepit +oslnit +oslovit +osnova +osoba +osolit +ospalec +osten +ostraha +ostuda +ostych +osvojit +oteplit +otisk +otop +otrhanec +otrlost +otrok +otruby +otvor +ovanout +ovar +oves +ovlivnit +ovoce +oxid +ozdoba +ozon +pacient +padouch +pagoda +pahorek +pachatel +pakt +palanda +palec +palivo +paluba +pamflet +pamlsek +panenka +panika +panna +panovat +panstvo +pantofle +paprika +parketa +parodie +parta +paruka +paryba +paseka +pasivum +pastelka +patent +patrona +pavouk +pazneht +pazourek +pecka +pedagog +pejsek +peklo +peleton +penalta +pendrek +penze +pero +pestrost +petarda +petice +petrolej +pevnina +pexeso +pianista +piha +pijavice +pikle +piknik +piliny +pilnost +pilulka +pinzeta +pipeta +pisatel +pistole +pitevna +pivnice +pivovar +placenta +plakat +plamen +planeta +plastika +platit +plavidlo +plaz +plech +plemeno +plenta +ples +pletivo +plevel +plivat +plnit +plno +plodina +plocha +plomba +plout +pluk +plyn +pobavit +pobyt +pocit +poctivec +podat +podcenit +podepsat +podhled +podivit +podklad +podle +podmanit +podnik +podoba +podpora +podraz +podstata +podvod +podzim +poezie +pohanka +pohnutka +pohovor +pohroma +pohyb +pochod +pointa +pojistka +pojmout +pokazit +pokles +pokoj +pokrok +pokuta +pokyn +poledne +polibek +polknout +poloha +polynom +pomalu +pominout +pomlka +pomoc +pomsta +pomyslet +ponechat +ponorka +ponton +ponurost +popadat +popel +popisek +poplach +poprosit +popsat +popud +poradce +porce +porod +porucha +poryv +posadit +posed +posila +poskok +poslanec +posoudit +pospolu +postava +posudek +posyp +potah +potkan +potlesk +potomek +potrava +potupa +potvora +poukaz +pouto +pouzdro +povaha +povidla +povlak +povoz +povrch +povstat +povyk +povzdech +pozdrav +pozemek +poznatek +pozor +pozvat +pracovat +praktika +prales +praotec +praporek +pravda +princip +prkno +probudit +procento +prodej +profese +prohra +projekt +prolomit +promile +pronikat +propad +prorok +prosba +proton +proutek +provaz +prskavka +prsten +prudkost +prvek +prvohory +psanec +psovod +pstruh +ptactvo +puberta +pudl +puch +pukavec +puklina +pukrle +pult +pumpa +punc +pupen +pusa +pusinka +pustina +putovat +putyka +pyramida +pysk +pytel +racek +radiace +radnice +radon +raft +ragby +rachot +raketa +rameno +rampouch +rande +rarach +rasovna +rastr +ratolest +razance +razidlo +reagovat +reakce +recept +redaktor +rejnok +reklama +rekord +rekrut +rektor +revize +revma +revolver +rezerva +riskovat +riziko +robotika +rodokmen +rohovka +rokle +rokoko +romaneto +ropovod +ropucha +rorejs +rosol +rostlina +rotmistr +rotunda +roubenka +roucho +roup +roura +rovina +rovnice +rozbor +rozdat +rozeznat +rozhodce +rozchod +rozinka +rozjezd +rozkaz +rozloha +rozmar +rozpad +rozruch +rozsah +roztok +rozum +rozvod +ruchadlo +rukavice +rukopis +ryba +rybolov +rychlost +rypadlo +rytec +rytina +ryzost +sadista +sahat +sahel +sako +samec +samizdat +samota +sanitka +sardinka +sasanka +satelit +sazba +sazenice +sbor +sebranka +secese +sedadlo +sedlo +sehnat +sejmout +sekera +sekta +sekunda +sekvoje +semeno +seno +servis +sesadit +seshora +seskok +seslat +sestra +sesuv +sesypat +setba +setina +setkat +setnout +setrvat +sever +seznam +shoda +shrnout +schovat +sifon +silnice +sirka +sirotek +sirup +situace +skalisko +skanzen +skaut +skeptik +skica +skladba +sklenice +sklivec +sklo +skluz +skoba +skokan +skoro +skripta +skrz +skupina +skvost +skvrna +slabika +sladidlo +slanina +slast +slavnost +sledovat +slepec +sleva +slezina +slib +slina +sliznice +slon +sloupek +slovo +sluha +sluch +slunce +slupka +slza +smetana +smilstvo +smlouva +smog +smola +smrad +smrk +smrtka +smutek +smysl +snad +snaha +snob +sobota +sodovka +socha +sokol +sopka +sotva +souboj +soucit +soudce +souhlas +soulad +soumrak +souprava +soused +soutok +souviset +spalovna +spasitel +spis +splav +spodek +spojenec +spolu +spornost +spousta +spratek +sprcha +spustit +sranda +sraz +srdce +srna +srnec +srovnat +srpen +srst +srub +stanice +starosta +statika +stavba +stehno +stezka +stodola +stolek +stopa +storno +stoupat +strach +stres +strhnout +strom +struna +studna +stupnice +stvol +styk +subjekt +subtropy +sudost +suchar +suknice +sundat +sunout +surovina +sutana +svah +svalstvo +svatba +svazek +svetr +svisle +svitek +svoboda +svorka +svrab +sykavka +sykot +synek +synovec +sypat +sypkost +syrovost +sysel +sytost +tabletka +tabule +tahoun +tajemno +tajfun +tajga +tajit +tajnost +taktika +tamhle +tampon +tancovat +tanec +tankista +tapeta +tatarka +tavenina +tazatel +tehdy +technika +tekutina +telefon +temnota +tendence +tenista +tenor +teplota +tepna +teprve +terapie +textil +ticho +titulek +tkadlec +tkanina +tlapka +tleskat +tlukot +tlupa +tmel +toaleta +topinka +topol +torzo +touha +toulec +tradice +traktor +tramp +trasa +trefit +trest +trezor +trhavina +trhlina +trochu +trojice +troska +trouba +trpce +trpitel +trpkost +trubec +truhlice +truchlit +trus +trvat +tudy +tuhnout +tuhost +tundra +tunika +turista +turnaj +tuzemsko +tvaroh +tvorba +tvrdost +tvrz +tygr +tykev +ubohost +uboze +ubrat +ubrousek +ubrus +ubytovna +uctivost +udivit +uhradit +ucho +ujednat +ujistit +ujmout +ukazatel +uklidnit +uklonit +ukotvit +ukrojit +ulice +ulita +ulovit +umyvadlo +uniforma +uniknout +upadnout +uplatnit +uplynout +upoutat +upravit +uran +urazit +usednout +usilovat +usmrtit +usnadnit +usnout +usoudit +ustlat +ustrnout +utahovat +utkat +utlumit +utonout +utopenec +utrousit +uvalit +uvolnit +uvozovka +uzdravit +uzel +uzenina +uzlina +uznat +vagon +valcha +valoun +vana +vandal +vanilka +varan +varhany +varovat +vatra +vcelku +vdova +vedro +vegetace +vejce +velbloud +veletrh +velitel +velmoc +velryba +venkov +verze +veselka +veskrze +vesnice +vespod +vesta +veterina +veverka +vchod +vibrace +videohra +vidina +vidle +vichr +vila +vinice +viset +vitamin +vize +vizitka +vjezd +vklad +vkus +vlajka +vlak +vlasec +vlevo +vlhkost +vliv +vlnovka +vloni +vloupat +vnucovat +vnuk +voda +vodoznak +vodstvo +vojensky +vojna +vojsko +volant +volba +volit +volno +voskovka +vozidlo +vozovna +vpravo +vrabec +vracet +vrah +vrata +vrba +vrhat +vrcholek +vrstva +vrtule +vsadit +vstoupit +vstup +vtip +vybavit +vybrat +vydat +vydra +vyfotit +vyhledat +vyhnout +vyhodit +vyhradit +vyhubit +vychovat +vyjasnit +vyjet +vyjmout +vyklopit +vykonat +vylekat +vymazat +vymezit +vymizet +vymyslet +vynechat +vynikat +vynutit +vypadat +vyplatit +vypravit +vypustit +vyrazit +vyrovnat +vyslovit +vysoko +vystavit +vysunout +vysypat +vytasit +vytesat +vytratit +vyvinout +vyvolat +vyvrhel +vyzdobit +vyznat +vzadu +vzbudit +vzdor +vzduch +vzdychat +vzestup +vzhledem +vzchopit +vzkaz +vzlykat +vznik +vzorek +vzpoura +vztah +vztek +zabrat +zabydlet +zadarmo +zadusit +zafoukat +zahltit +zahodit +zahrada +zahynout +zachovat +zajatec +zajet +zajistit +zaklepat +zakoupit +zalepit +zamezit +zamotat +zamyslet +zanechat +zanikat +zaplatit +zapojit +zapsat +zarazit +zastavit +zasunout +zatajit +zatemnit +zatknout +zaujmout +zavalit +zavelet +zavinit +zavolat +zavrtat +zazvonit +zbavit +zbrusu +zbudovat +zbytek +zdaleka +zdarma +zdatnost +zdivo +zdobit +zdroj +zdrtit +zdvih +zdymadlo +zelenina +zeman +zemina +zeptat +zezadu +zezdola +zhltnout +zhluboka +zhotovit +zhruba +zima +zimnice +zjemnit +zklamat +zkoumat +zkratka +zkumavka +zlato +zlehka +zloba +zlom +zlost +zlozvyk +zmapovat +zmar +zmatek +zmije +zmizet +zmocnit +zmodrat +zmrzlina +znak +znalost +znamenat +znovu +zobrazit +zotavit +zoubek +zoufale +zplodit +zpomalit +zprava +zprostit +zprudka +zprvu +zrada +zranit +zrcadlo +zrnitost +zrno +zrovna +zrychlit +zrzek +zticha +ztratit +zubovina +zubr +zvednout +zvenku +zvesela +zvon +zvrat +zvukovod +zvyk From 5be84b01f1641ddbaa922b3d44e2728bd7849608 Mon Sep 17 00:00:00 2001 From: zizelevak Date: Mon, 23 Jan 2017 12:32:52 +0100 Subject: [PATCH 002/133] Rename Czech.txt to czech.txt --- bip-0039/{Czech.txt => czech.txt} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename bip-0039/{Czech.txt => czech.txt} (100%) diff --git a/bip-0039/Czech.txt b/bip-0039/czech.txt similarity index 100% rename from bip-0039/Czech.txt rename to bip-0039/czech.txt From 469a12b91845ba6c7da77b48e34e3abd4aeeb66b Mon Sep 17 00:00:00 2001 From: zizelevak Date: Mon, 23 Jan 2017 13:46:36 +0100 Subject: [PATCH 003/133] Update bip-0039-wordlists.md --- bip-0039/bip-0039-wordlists.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/bip-0039/bip-0039-wordlists.md b/bip-0039/bip-0039-wordlists.md index aef1a230..f31a7f26 100644 --- a/bip-0039/bip-0039-wordlists.md +++ b/bip-0039/bip-0039-wordlists.md @@ -7,6 +7,7 @@ * [Chinese (Traditional)](chinese_traditional.txt) * [French](french.txt) * [Italian](italian.txt) +* [Czech](czech.txt) ##Wordlists (Special Considerations) @@ -81,3 +82,17 @@ Words chosen using the following rules: Rules 11 and 12 prevent the selection words that are not different enough. This makes each word more recognizable among others and less error prone. For example: the wordlist contains "atono", then "atomo" is rejected, but "atomico" is good. All the words have been manually selected and automatically checked against the rules. + +### Czech + +Credits: @zizelevak + +Words chosen using the following rules: + +1. Words are 4-8 letters long. +2. Words can be uniquely determined typing the first 4 letters. +3. Only words containing all letters without diacritical marks. (It was the hardest task, because in one third of all Czech letters has diacritical marks.) +4. Only nouns, werbs and adverbs, no other word types. All words are in basic form. +5. No personal names or geografical names. +6. No very similar words with 1 letter of difference. +7. No words already used in other language mnemonic sets (english, italian, french, spanish). Letters with diacritical marks from these sets are counted as analogous letters without diacritical marks. From 9eefdc9151b8765c571261ba6ea9fc5dd9195363 Mon Sep 17 00:00:00 2001 From: zizelevak Date: Mon, 23 Jan 2017 13:47:51 +0100 Subject: [PATCH 004/133] Update bip-0039-wordlists.md --- bip-0039/bip-0039-wordlists.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-0039/bip-0039-wordlists.md b/bip-0039/bip-0039-wordlists.md index f31a7f26..37ba5888 100644 --- a/bip-0039/bip-0039-wordlists.md +++ b/bip-0039/bip-0039-wordlists.md @@ -85,7 +85,7 @@ All the words have been manually selected and automatically checked against the ### Czech -Credits: @zizelevak +Credits: @zizelevak (Jan Lansky zizelevak@gmail.com) Words chosen using the following rules: From af07fb993e8b9c322eb69f7f6282da41a2e6eca4 Mon Sep 17 00:00:00 2001 From: zizelevak Date: Fri, 27 Jan 2017 16:49:45 +0100 Subject: [PATCH 005/133] Update czech.txt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Words are sorting according English alphabet (Czech sorting has difference in “ch”) --- bip-0039/czech.txt | 156 ++++++++++++++++++++++----------------------- 1 file changed, 78 insertions(+), 78 deletions(-) diff --git a/bip-0039/czech.txt b/bip-0039/czech.txt index 24863efa..db69cfa0 100644 --- a/bip-0039/czech.txt +++ b/bip-0039/czech.txt @@ -20,13 +20,13 @@ atol autobus azyl babka +bachor bacil baculka badatel bageta bagr bahno -bachor bakterie balada baletka @@ -69,8 +69,8 @@ bizon blaf blahobyt blatouch -bledule blecha +bledule blesk blikat blizna @@ -91,8 +91,8 @@ borovice borskev bota boubel -bouda bouchat +bouda boule boxer bradavka @@ -111,11 +111,11 @@ brzda brzy bublina bubnovat +buchta buditel budka budova bufet -buchta bujarost bukvice buldok @@ -146,6 +146,43 @@ centrum cenzor cestopis cetka +chalupa +chapadlo +charita +chata +cheb +chechtat +chemie +chichot +chile +chirurg +chlad +chleba +chlor +chlubit +chmel +chmura +chobot +chochol +chodba +cholera +chopit +choroba +chov +chrapot +chrlit +chrom +chrt +chrup +chtivost +chudina +chutnat +chvat +chvilka +chvost +chyba +chystat +chytit cibule cigareta cihelna @@ -177,9 +214,9 @@ datel datum dcera debata +dechovka decibel deficit -dechovka dekl dekret demokrat @@ -200,11 +237,11 @@ dnes dobro dobytek docent +dochutit dodnes dohled dohoda dohra -dochutit dojem dojnice doklad @@ -255,10 +292,10 @@ drsnost drtivost drzost duben +duchovno dudek duha duhovka -duchovno dusit dusno dutost @@ -387,11 +424,11 @@ hnojivo hnout hoblina hoboj +hoch hodiny hodlat hodnota hodovat -hoch hojnost hokej holinky @@ -446,43 +483,6 @@ hydrant hygiena hymna hysterik -chalupa -chapadlo -charita -chata -cheb -chechtat -chemie -chichot -chile -chirurg -chlad -chleba -chlor -chlubit -chmel -chmura -chobot -chodba -chochol -cholera -chopit -choroba -chov -chrapot -chrlit -chrom -chrt -chrup -chtivost -chudina -chutnat -chvat -chvilka -chvost -chyba -chystat -chytit idylka ihned ikona @@ -499,8 +499,8 @@ investor inzerce ironie jablko -jahoda jachta +jahoda jakmile jakost jalovec @@ -540,11 +540,11 @@ jurta kabaret kabel kabinet +kachna kadet kadidlo kafe kahan -kachna kajak kajuta kakao @@ -719,9 +719,9 @@ kytka kytovec kyvadlo labrador +lachtan ladnost lahev -lachtan laik lakomec lampa @@ -759,10 +759,10 @@ levnost levobok lhota libra +lichotka lidojed lidskost lihovina -lichotka lijavec lilek limetka @@ -798,10 +798,10 @@ lvice lyra lyrika lysina +machr madam madlo magistr -machr majetek majitel majorita @@ -827,9 +827,9 @@ mazivo mazlit mazurka mdloba +mechanik meditace medovina -mechanik mejdan meloun mentolka @@ -881,8 +881,8 @@ most motivace motorka motyka -moudrost moucha +moudrost movitost mozaika mozek @@ -906,6 +906,7 @@ muzika myslivec mzda nabourat +nachytat nadace nadbytek nadhoz @@ -918,7 +919,6 @@ nahlas nahnat nahota nahradit -nachytat naivita najednou najisto @@ -953,6 +953,7 @@ navrch navzdory nazvat nebe +nechat necky nedaleko nedbat @@ -961,7 +962,6 @@ nefrit negace nehet nehoda -nechat nejen nejprve neklid @@ -1044,9 +1044,13 @@ obzor ocas ocel ocenit +ochladit +ochota +ochrana ocitnout odboj odbyt +odchod odcizit odebrat odeslat @@ -1054,7 +1058,6 @@ odevzdat odezva odhadce odhodit -odchod odjet odjinud odkaz @@ -1087,9 +1090,6 @@ ohnisko ohrada ohrozit ohryzek -ochladit -ochota -ochrana okap okenice oklika @@ -1127,8 +1127,8 @@ opravdu oproti opuka orbital -orgie orchest +orgie orlice orloj ortel @@ -1165,11 +1165,11 @@ ovoce oxid ozdoba ozon +pachatel pacient padouch pagoda pahorek -pachatel pakt palanda palec @@ -1244,14 +1244,15 @@ plevel plivat plnit plno -plodina plocha +plodina plomba plout pluk plyn pobavit pobyt +pochod pocit poctivec podat @@ -1275,7 +1276,6 @@ pohnutka pohovor pohroma pohyb -pochod pointa pojistka pojmout @@ -1378,8 +1378,8 @@ psovod pstruh ptactvo puberta -pudl puch +pudl pukavec puklina pukrle @@ -1396,12 +1396,12 @@ pyramida pysk pytel racek +rachot radiace radnice radon raft ragby -rachot raketa rameno rampouch @@ -1447,10 +1447,10 @@ roura rovina rovnice rozbor +rozchod rozdat rozeznat rozhodce -rozchod rozinka rozjezd rozkaz @@ -1486,6 +1486,7 @@ satelit sazba sazenice sbor +schovat sebranka secese sedadlo @@ -1515,7 +1516,6 @@ sever seznam shoda shrnout -schovat sifon silnice sirka @@ -1555,8 +1555,8 @@ sliznice slon sloupek slovo -sluha sluch +sluha slunce slupka slza @@ -1574,8 +1574,8 @@ snad snaha snob sobota -sodovka socha +sodovka sokol sopka sotva @@ -1632,8 +1632,8 @@ stvol styk subjekt subtropy -sudost suchar +sudost suknice sundat sunout @@ -1676,8 +1676,8 @@ tapeta tatarka tavenina tazatel -tehdy technika +tehdy tekutina telefon temnota @@ -1721,8 +1721,8 @@ trpce trpitel trpkost trubec -truhlice truchlit +truhlice trus trvat tudy @@ -1745,10 +1745,10 @@ ubrat ubrousek ubrus ubytovna +ucho uctivost udivit uhradit -ucho ujednat ujistit ujmout @@ -1803,6 +1803,7 @@ varhany varovat vatra vcelku +vchod vdova vedro vegetace @@ -1821,12 +1822,11 @@ vespod vesta veterina veverka -vchod vibrace +vichr videohra vidina vidle -vichr vila vinice viset @@ -1866,8 +1866,8 @@ vracet vrah vrata vrba -vrhat vrcholek +vrhat vrstva vrtule vsadit @@ -1876,6 +1876,7 @@ vstup vtip vybavit vybrat +vychovat vydat vydra vyfotit @@ -1884,7 +1885,6 @@ vyhnout vyhodit vyhradit vyhubit -vychovat vyjasnit vyjet vyjmout @@ -1919,12 +1919,12 @@ vyzdobit vyznat vzadu vzbudit +vzchopit vzdor vzduch vzdychat vzestup vzhledem -vzchopit vzkaz vzlykat vznik @@ -1934,6 +1934,7 @@ vztah vztek zabrat zabydlet +zachovat zadarmo zadusit zafoukat @@ -1941,7 +1942,6 @@ zahltit zahodit zahrada zahynout -zachovat zajatec zajet zajistit From 875f35a07a3c8690ab5ebe980258172e0ccabf90 Mon Sep 17 00:00:00 2001 From: zizelevak Date: Fri, 27 Jan 2017 16:51:06 +0100 Subject: [PATCH 006/133] Update bip-0039-wordlists.md --- bip-0039/bip-0039-wordlists.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bip-0039/bip-0039-wordlists.md b/bip-0039/bip-0039-wordlists.md index 37ba5888..5b4a1de9 100644 --- a/bip-0039/bip-0039-wordlists.md +++ b/bip-0039/bip-0039-wordlists.md @@ -95,4 +95,5 @@ Words chosen using the following rules: 4. Only nouns, werbs and adverbs, no other word types. All words are in basic form. 5. No personal names or geografical names. 6. No very similar words with 1 letter of difference. -7. No words already used in other language mnemonic sets (english, italian, french, spanish). Letters with diacritical marks from these sets are counted as analogous letters without diacritical marks. +7. Words are sorting according English alphabet (Czech sorting has difference in "ch"). +8. No words already used in other language mnemonic sets (english, italian, french, spanish). Letters with diacritical marks from these sets are counted as analogous letters without diacritical marks. From 1a3ec3a459febc0430e13928ca03df278e4f3a44 Mon Sep 17 00:00:00 2001 From: zizelevak Date: Fri, 27 Jan 2017 17:34:25 +0100 Subject: [PATCH 007/133] Update czech.txt --- bip-0039/czech.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bip-0039/czech.txt b/bip-0039/czech.txt index db69cfa0..48c77300 100644 --- a/bip-0039/czech.txt +++ b/bip-0039/czech.txt @@ -88,12 +88,12 @@ bokorys bolest borec borovice -borskev bota boubel bouchat bouda boule +bourat boxer bradavka brambora @@ -135,6 +135,7 @@ carevna cedr cedule cejch +cejn cela celer celkem @@ -150,11 +151,9 @@ chalupa chapadlo charita chata -cheb chechtat chemie chichot -chile chirurg chlad chleba @@ -166,6 +165,7 @@ chobot chochol chodba cholera +chomout chopit choroba chov From 7ae1049232ffcc7c89dfb947fddbb785233a3730 Mon Sep 17 00:00:00 2001 From: zizelevak Date: Fri, 27 Jan 2017 18:23:25 +0100 Subject: [PATCH 008/133] Update czech.txt --- bip-0039/czech.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bip-0039/czech.txt b/bip-0039/czech.txt index 48c77300..e0fdc671 100644 --- a/bip-0039/czech.txt +++ b/bip-0039/czech.txt @@ -66,7 +66,6 @@ biograf biolog bitva bizon -blaf blahobyt blatouch blecha @@ -336,7 +335,6 @@ fanda fantazie fara farmacie -faul favorit fazole federace @@ -623,6 +621,7 @@ kokos koktejl kolaps koleda +kolize kolo komando kometa @@ -1350,6 +1349,7 @@ praktika prales praotec praporek +prase pravda princip prkno From 92a07ee121bc85def9bf7bec2165ac25172498f6 Mon Sep 17 00:00:00 2001 From: zizelevak Date: Fri, 27 Jan 2017 19:54:28 +0100 Subject: [PATCH 009/133] Update czech.txt --- bip-0039/czech.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bip-0039/czech.txt b/bip-0039/czech.txt index e0fdc671..6903d253 100644 --- a/bip-0039/czech.txt +++ b/bip-0039/czech.txt @@ -1,5 +1,6 @@ abeceda adresa +agrese akce aktovka alej @@ -56,7 +57,6 @@ beton bezinka bezmoc beztak -bezva bicykl bidlo biftek @@ -312,11 +312,11 @@ epizoda epocha epos esej -esemeska esence eskorta eskymo etiketa +euforie euro evoluce exekuce @@ -521,7 +521,6 @@ jemnost jenom jepice jeseter -jestli jevit jezdec jezero @@ -1932,6 +1931,7 @@ vzorek vzpoura vztah vztek +xylofon zabrat zabydlet zachovat From dab9d97b44f5dcb60e0bcb33900aed97c58b904b Mon Sep 17 00:00:00 2001 From: zizelevak Date: Tue, 31 Jan 2017 08:08:42 +0100 Subject: [PATCH 010/133] Update czech.txt --- bip-0039/czech.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-0039/czech.txt b/bip-0039/czech.txt index 6903d253..baf835cf 100644 --- a/bip-0039/czech.txt +++ b/bip-0039/czech.txt @@ -1002,7 +1002,7 @@ nudle nuget nutit nutnost -nynfa +nymfa obal obarvit obava From f4691796c60d4ceee51f06b7dacd1cc760890f35 Mon Sep 17 00:00:00 2001 From: zizelevak Date: Tue, 31 Jan 2017 08:15:12 +0100 Subject: [PATCH 011/133] Update czech.txt --- bip-0039/czech.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-0039/czech.txt b/bip-0039/czech.txt index baf835cf..abaabbe2 100644 --- a/bip-0039/czech.txt +++ b/bip-0039/czech.txt @@ -1125,7 +1125,7 @@ opravdu oproti opuka orbital -orchest +orchestr orgie orlice orloj From b9f09aae63ac1374fe9284afbeeda2625616871a Mon Sep 17 00:00:00 2001 From: zizelevak Date: Tue, 31 Jan 2017 08:49:29 +0100 Subject: [PATCH 012/133] Update czech.txt --- bip-0039/czech.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-0039/czech.txt b/bip-0039/czech.txt index abaabbe2..a3643a87 100644 --- a/bip-0039/czech.txt +++ b/bip-0039/czech.txt @@ -1199,7 +1199,6 @@ pecka pedagog pejsek peklo -peleton penalta pendrek penze @@ -1215,6 +1214,7 @@ piha pijavice pikle piknik +piksla piliny pilnost pilulka From 702d651aa55e963fc5509c05518220ad5dd16b4e Mon Sep 17 00:00:00 2001 From: zizelevak Date: Fri, 10 Feb 2017 23:51:36 +0100 Subject: [PATCH 013/133] Update czech.txt From 8a2a06e94cf6a7ff9cb6739bf05a1aef6c8ed3be Mon Sep 17 00:00:00 2001 From: zizelevak Date: Fri, 10 Feb 2017 23:56:16 +0100 Subject: [PATCH 014/133] Update czech.txt --- bip-0039/czech.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bip-0039/czech.txt b/bip-0039/czech.txt index a3643a87..cbf46514 100644 --- a/bip-0039/czech.txt +++ b/bip-0039/czech.txt @@ -39,7 +39,6 @@ bambus bankomat barbar baret -bariera barman baroko barva @@ -995,7 +994,7 @@ nositel nosnost nouze noviny -novotvar +novota nozdra nuda nudle @@ -1150,7 +1149,7 @@ osvojit oteplit otisk otop -otrhanec +otrhat otrlost otrok otruby @@ -1559,6 +1558,7 @@ sluha slunce slupka slza +smaragd smetana smilstvo smlouva From b7f682f702bfb5679b39ef19c994b191693f59b4 Mon Sep 17 00:00:00 2001 From: zizelevak Date: Sun, 12 Feb 2017 03:40:30 +0100 Subject: [PATCH 015/133] Update czech.txt --- bip-0039/czech.txt | 152 ++++++++++++++++++++++----------------------- 1 file changed, 76 insertions(+), 76 deletions(-) diff --git a/bip-0039/czech.txt b/bip-0039/czech.txt index cbf46514..fdab4a2a 100644 --- a/bip-0039/czech.txt +++ b/bip-0039/czech.txt @@ -1,3 +1,4 @@ +abdikace abeceda adresa agrese @@ -5,14 +6,18 @@ akce aktovka alej alkohol +amputace ananas andulka anekdota anketa antika +anulovat archa +arogance asfalt asistent +aspirace astma astronom atlas @@ -155,7 +160,6 @@ chichot chirurg chlad chleba -chlor chlubit chmel chmura @@ -169,7 +173,6 @@ choroba chov chrapot chrlit -chrom chrt chrup chtivost @@ -194,7 +197,7 @@ cizinec cizost clona cokoliv -couvnout +couvat ctitel ctnost cudnost @@ -215,6 +218,7 @@ debata dechovka decibel deficit +deflace dekl dekret demokrat @@ -224,8 +228,10 @@ deska detektiv dikobraz diktovat +dioda diplom disk +displej divadlo divoch dlaha @@ -287,7 +293,7 @@ drobnost drogerie drozd drsnost -drtivost +drtit drzost duben duchovno @@ -299,6 +305,7 @@ dusno dutost dvojice dvorec +dynamit ekolog ekonomie elektron @@ -309,6 +316,7 @@ emoce empatie epizoda epocha +epopej epos esej esence @@ -316,7 +324,6 @@ eskorta eskymo etiketa euforie -euro evoluce exekuce exkurze @@ -324,15 +331,11 @@ expedice exploze export extrakt -fabrika facka fajfka fakulta -falzum fanatik -fanda fantazie -fara farmacie favorit fazole @@ -340,18 +343,16 @@ federace fejeton fenka fialka -fiflena figurant filozof filtr finance finta -fixa +fixace fjord flanel flirt flotila -folklor fond fosfor fotbal @@ -360,6 +361,7 @@ foton frakce freska fronta +fukar funkce fyzika galeje @@ -367,11 +369,10 @@ garant genetika geolog gilotina +glazura glejt -globus golem golfista -gondola gotika graf gramofon @@ -383,7 +384,6 @@ groteska guma hadice hadr -hafan hala halenka hanba @@ -397,11 +397,11 @@ hejno hejtman hektar helma +hematom herec herna heslo hezky -hezoun historik hladovka hlasivky @@ -411,8 +411,9 @@ hlen hlodavec hloh hloupost -hltan +hltat hlubina +hluchota hmat hmota hmyz @@ -428,13 +429,14 @@ hodnota hodovat hojnost hokej -holinky +holinka holka holub homole honitba honorace horal +horda horizont horko horlivec @@ -539,7 +541,6 @@ kabinet kachna kadet kadidlo -kafe kahan kajak kajuta @@ -563,13 +564,11 @@ kaple kapota kapr kapusta +kapybara karamel -karfiol karotka karton kasa -kasino -kastrol katalog katedra kauce @@ -595,6 +594,7 @@ klenba klepat klesnout klid +klima klisna klobouk klokan @@ -604,10 +604,11 @@ klubovna klusat kluzkost kmen -kmit +kmitat kmotr kniha knot +koalice koberec kobka kobliha @@ -654,6 +655,7 @@ kosatec kostka kotel kotleta +kotoul koukat koupelna kousek @@ -680,6 +682,7 @@ krmivo krocan krok kronika +kropit kroupa krovka krtek @@ -718,9 +721,9 @@ kyvadlo labrador lachtan ladnost -lahev laik lakomec +lamela lampa lanovka lasice @@ -742,19 +745,16 @@ lehkost lehnout lektvar lenochod -lentilky +lentilka lepenka lepidlo -lepra letadlo letec letmo letokruh levhart levitace -levnost levobok -lhota libra lichotka lidojed @@ -763,17 +763,19 @@ lihovina lijavec lilek limetka -limitace linie linka +linoleum listopad litina litovat lobista -logicky +lodivod +logika logoped lokalita loket +lomcovat lopata lopuch lord @@ -788,17 +790,16 @@ lstivost lucerna lucifer lump -luneta lusk lustrace lvice lyra lyrika lysina -machr madam madlo magistr +mahagon majetek majitel majorita @@ -811,8 +812,8 @@ malovat malvice maminka mandle +manko marnost -marodka masakr maskot masopust @@ -827,7 +828,7 @@ mdloba mechanik meditace medovina -mejdan +melasa meloun mentolka metla @@ -849,7 +850,7 @@ minomet minulost miska mistr -mixer +mixovat mladost mlha mlhovina @@ -859,12 +860,11 @@ mluvit mnich mnohem mobil -mocensky mocnost modelka modlitba mohyla -mokrost +mokro molekula momentka monarcha @@ -880,7 +880,6 @@ motorka motyka moucha moudrost -movitost mozaika mozek mozol @@ -899,7 +898,7 @@ munice muset mutace muzeum -muzika +muzikant myslivec mzda nabourat @@ -907,14 +906,11 @@ nachytat nadace nadbytek nadhoz -nadlouho nadobro nadpis -nadrobno -naftalen nahlas nahnat -nahota +nahodile nahradit naivita najednou @@ -926,6 +922,7 @@ nakrmit nalevo namazat namluvit +nanometr naoko naopak naostro @@ -943,8 +940,6 @@ nasekat naslepo nastat natolik -natrvalo -natvrdo navenek navrch navzdory @@ -955,7 +950,6 @@ necky nedaleko nedbat neduh -nefrit negace nehet nehoda @@ -972,7 +966,6 @@ nerost nerv nesmysl nesoulad -nestor netvor neuron nevina @@ -983,13 +976,12 @@ nikam nikdy nikl nikterak -nimrod nitro nocleh nohavice nominace +nora norek -normativ nositel nosnost nouze @@ -1001,6 +993,7 @@ nudle nuget nutit nutnost +nutrie nymfa obal obarvit @@ -1097,7 +1090,6 @@ okrasa okres okrsek okruh -oktet okupant okurka okusit @@ -1111,7 +1103,6 @@ omlouvat omluva omyl onehdy -onkolog opakovat opasek operace @@ -1122,7 +1113,6 @@ opora opozice opravdu oproti -opuka orbital orchestr orgie @@ -1161,11 +1151,9 @@ ovlivnit ovoce oxid ozdoba -ozon pachatel pacient padouch -pagoda pahorek pakt palanda @@ -1187,7 +1175,7 @@ parta paruka paryba paseka -pasivum +pasivita pastelka patent patrona @@ -1198,9 +1186,11 @@ pecka pedagog pejsek peklo +peloton penalta pendrek penze +periskop pero pestrost petarda @@ -1213,8 +1203,7 @@ piha pijavice pikle piknik -piksla -piliny +pilina pilnost pilulka pinzeta @@ -1258,7 +1247,6 @@ podepsat podhled podivit podklad -podle podmanit podnik podoba @@ -1295,7 +1283,6 @@ pomsta pomyslet ponechat ponorka -ponton ponurost popadat popel @@ -1343,6 +1330,7 @@ poznatek pozor pozvat pracovat +prahory praktika prales praotec @@ -1369,6 +1357,7 @@ provaz prskavka prsten prudkost +prut prvek prvohory psanec @@ -1401,10 +1390,12 @@ radon raft ragby raketa +rakovina rameno rampouch rande rarach +rarita rasovna rastr ratolest @@ -1414,11 +1405,14 @@ reagovat reakce recept redaktor +referent +reflex rejnok reklama rekord rekrut rektor +reputace revize revma revolver @@ -1437,6 +1431,7 @@ rorejs rosol rostlina rotmistr +rotoped rotunda roubenka roucho @@ -1460,19 +1455,19 @@ rozsah roztok rozum rozvod +rubrika ruchadlo rukavice rukopis ryba rybolov rychlost +rydlo rypadlo -rytec rytina ryzost sadista sahat -sahel sako samec samizdat @@ -1488,6 +1483,7 @@ schovat sebranka secese sedadlo +sediment sedlo sehnat sejmout @@ -1520,6 +1516,7 @@ sirka sirotek sirup situace +skafandr skalisko skanzen skaut @@ -1527,7 +1524,6 @@ skeptik skica skladba sklenice -sklivec sklo skluz skoba @@ -1563,7 +1559,6 @@ smetana smilstvo smlouva smog -smola smrad smrk smrtka @@ -1595,9 +1590,9 @@ splav spodek spojenec spolu +sponzor spornost spousta -spratek sprcha spustit sranda @@ -1633,19 +1628,20 @@ subjekt subtropy suchar sudost -suknice +sukno sundat sunout +surikata surovina -sutana svah svalstvo +svetr svatba svazek -svetr svisle svitek svoboda +svodidlo svorka svrab sykavka @@ -1670,9 +1666,8 @@ tamhle tampon tancovat tanec -tankista +tanker tapeta -tatarka tavenina tazatel technika @@ -1687,8 +1682,10 @@ teplota tepna teprve terapie +termoska textil ticho +tiskopis titulek tkadlec tkanina @@ -1707,6 +1704,7 @@ tradice traktor tramp trasa +traverza trefit trest trezor @@ -1728,7 +1726,6 @@ tudy tuhnout tuhost tundra -tunika turista turnaj tuzemsko @@ -1760,6 +1757,7 @@ ulice ulita ulovit umyvadlo +unavit uniforma uniknout upadnout @@ -1800,7 +1798,6 @@ vanilka varan varhany varovat -vatra vcelku vchod vdova @@ -1813,11 +1810,12 @@ velitel velmoc velryba venkov +veranda verze veselka veskrze vesnice -vespod +vespodu vesta veterina veverka @@ -1829,7 +1827,7 @@ vidle vila vinice viset -vitamin +vitalita vize vizitka vjezd @@ -1842,11 +1840,11 @@ vlevo vlhkost vliv vlnovka -vloni vloupat vnucovat vnuk voda +vodivost vodoznak vodstvo vojensky @@ -1903,6 +1901,7 @@ vypravit vypustit vyrazit vyrovnat +vyrvat vyslovit vysoko vystavit @@ -1979,7 +1978,6 @@ zdatnost zdivo zdobit zdroj -zdrtit zdvih zdymadlo zelenina @@ -1988,6 +1986,7 @@ zemina zeptat zezadu zezdola +zhatit zhltnout zhluboka zhotovit @@ -2013,6 +2012,7 @@ zmizet zmocnit zmodrat zmrzlina +zmutovat znak znalost znamenat @@ -2034,7 +2034,7 @@ zrnitost zrno zrovna zrychlit -zrzek +zrzavost zticha ztratit zubovina From 5ad92f06de1036b650bf0bd40c7f89eb5059cb2d Mon Sep 17 00:00:00 2001 From: Jeff Garzik Date: Wed, 8 Mar 2017 11:46:12 -0500 Subject: [PATCH 016/133] Add BIP 100, as currently implemented. --- bip-0100.mediawiki | 66 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 bip-0100.mediawiki diff --git a/bip-0100.mediawiki b/bip-0100.mediawiki new file mode 100644 index 00000000..67c2b4c8 --- /dev/null +++ b/bip-0100.mediawiki @@ -0,0 +1,66 @@ +
+  BIP: 100
+  Title: Dynamic maximum block size by miner vote
+  Author: Jeff Garzik 
+          Tom Harding 
+          Dagur Valberg Johannsson 
+  Status: Draft
+  Type: Standards Track
+  Created: 2015-06-11
+  License: BSD-2-Clause
+  Comments-Summary: No comments yet.
+  Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0100
+
+ +==Abstract== + +Replace the static 1M block size hard limit with a hard limit set by coinbase vote, conducted on the same schedule as difficulty retargeting. + +==Motivation== + +Miners directly feel the effects, both positive and negative, of any maximum block size change imposed by their peers. Larger blocks allow more growth in the on-chain ecosystem, while smaller blocks reduce resource requirements network-wide. Miners also act as an efficient proxy for the rest of the ecosystem, since they are paid in the tokens collected for the blocks they create. + +A simple deterministic system is specified, whereby a 75% mining supermajority may activate a change to the maximum block size each 2016 blocks. Each change is limited to a 5% increase from the previous block size hard limit, or a decrease of similar magnitude. Among adopting nodes, there will be no disagreement on the evolution of the maximum block size. + +The system is compatible with emergent consensus, but whereas under that system a miner may choose to accept any size block, a miner following BIP100 observes the 75% supermajority rule, and the 5% change limit rule. Excessive-block values signaled by emergent consensus blocks are considered in the calculation of the BIP100 block size hard limit, and the BIP100 calculated maximum block size is signaled as an excessive-block value for the benefit of all observers. + +==Specification== + +===Dynamic Maximum Block Size=== +# Initial value of hardLimit is 1000000 bytes, preserving current system. +# Changing hardLimit is accomplished by encoding a proposed value, a vote, within a block's coinbase scriptSig, and by processing the votes contained in the previous retargeting period.

+## Vote encoding +### A vote is represented as a positive megabyte value using the BIP100 pattern

/BIP100/B[0-9]+/

Example: /BIP100/B8/ is a vote for a 8000000-byte hardLimit.

+### If the block height is encoded at the start of the coinbase scriptSig, as per BIP34, it is ignored. +### Only the first BIP100 pattern match is processed in "Maximum block size recalculation" below. +### A valid megabyte value is represented by consecutive base-ten digits. +### If no BIP100 pattern is matched, the first matching emergent consensus pattern /EB[0-9]+/, if any, is accepted as the megabyte vote.

+## Maximum block size recalculation +### A new hardLimit is calculated after each difficulty adjustment period of 2016 blocks, and applies to the next 2016 blocks. +### Absent/invalid votes are counted as votes for the current hardLimit. +### The votes of the previous 2016 blocks are sorted by megabyte vote. +### Raising hardLimit

+#### The raise value is defined as the vote of the 1512th highest block, converted to bytes. +#### If the resultant raise value is greater than (current hardLimit * 1.05) rounded down to the nearest byte, it is set to that value. +#### If the resultant raise value is greater than current hardLimit, the raise value becomes the new hardLimit and the recalculation is complete.

+### Lowering hardlimit

+#### The lower value is defined as the vote of the 1512th lowest block, converted to bytes. +#### If the resultant lower value is less than (current hardLimit / 1.05) rounded down to the nearest byte, it is set to that value. +#### If the resultant lower value is less than current hardLimit, the lower value becomes the new hardLimit and the recalculation is complete.

+### Otherwise, new hardLimit remains the same as current hardLimit. + +===Signature Hashing Operations Limits=== +# The per-block signature hashing operations limit is scaled to (hardLimit rounded up to nearest megabyte)/50. +# A maximum serialized transaction size of 1000000 bytes is imposed. + +===Publication of hardLimit=== +# For the benefit of emergent consensus nodes, hardLimit is published. Example: a complete coinbase string might read

/BIP100/B8/EB2.123456/

which indicates a vote for 8M maximum block size, and an enforced hardLimit of 2.123456 megabytes for the block containing the coinbase string. + +==Deployment== + +This BIP is presumed deployed and activated as of block height 449568 by implementing nodes on the bitcoin mainnet. It has no effect until a raise value different from 1M is observed, which requires at least 1512 of 2016 blocks to vote differently from 1M. + +==Backward compatibility== + +The first block larger than 1M will create a network partition, as nodes with a fixed 1M hard limit reject that block. + From ac9c8b73ed7ee7d5b2055bf926b1da5e76025c49 Mon Sep 17 00:00:00 2001 From: Tom Harding Date: Thu, 4 May 2017 18:47:32 -0400 Subject: [PATCH 017/133] bip100: Improve header metadata. Vote search edge cases. jgarzik/bip100.git commits: b82d840733b09104fca3f8805ffa6f2459193201 4ed2a0e4523b06d97e32259e6e180734a794e24f --- bip-0100.mediawiki | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/bip-0100.mediawiki b/bip-0100.mediawiki index 67c2b4c8..fdb62a4b 100644 --- a/bip-0100.mediawiki +++ b/bip-0100.mediawiki @@ -1,5 +1,6 @@
   BIP: 100
+  Layer: Consensus (hard fork)
   Title: Dynamic maximum block size by miner vote
   Author: Jeff Garzik 
           Tom Harding 
@@ -8,8 +9,6 @@
   Type: Standards Track
   Created: 2015-06-11
   License: BSD-2-Clause
-  Comments-Summary: No comments yet.
-  Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0100
 
==Abstract== @@ -30,14 +29,14 @@ The system is compatible with emergent consensus, but whereas under that system # Initial value of hardLimit is 1000000 bytes, preserving current system. # Changing hardLimit is accomplished by encoding a proposed value, a vote, within a block's coinbase scriptSig, and by processing the votes contained in the previous retargeting period.

## Vote encoding -### A vote is represented as a positive megabyte value using the BIP100 pattern

/BIP100/B[0-9]+/

Example: /BIP100/B8/ is a vote for a 8000000-byte hardLimit.

+### A vote is represented as a megabyte value using the BIP100 pattern

/BIP100/B[0-9]+/

Example: /BIP100/B8/ is a vote for a 8000000-byte hardLimit.

### If the block height is encoded at the start of the coinbase scriptSig, as per BIP34, it is ignored. ### Only the first BIP100 pattern match is processed in "Maximum block size recalculation" below. -### A valid megabyte value is represented by consecutive base-ten digits. +### A megabyte value is represented by consecutive base-ten digits. ### If no BIP100 pattern is matched, the first matching emergent consensus pattern /EB[0-9]+/, if any, is accepted as the megabyte vote.

## Maximum block size recalculation ### A new hardLimit is calculated after each difficulty adjustment period of 2016 blocks, and applies to the next 2016 blocks. -### Absent/invalid votes are counted as votes for the current hardLimit. +### Absent/zero-valued votes are counted as votes for the current hardLimit. ### The votes of the previous 2016 blocks are sorted by megabyte vote. ### Raising hardLimit

#### The raise value is defined as the vote of the 1512th highest block, converted to bytes. @@ -50,7 +49,7 @@ The system is compatible with emergent consensus, but whereas under that system ### Otherwise, new hardLimit remains the same as current hardLimit. ===Signature Hashing Operations Limits=== -# The per-block signature hashing operations limit is scaled to (hardLimit rounded up to nearest megabyte)/50. +# The per-block signature hashing operations limit is scaled to (actual block size rounded up to nearest megabyte)/50. # A maximum serialized transaction size of 1000000 bytes is imposed. ===Publication of hardLimit=== @@ -64,3 +63,9 @@ This BIP is presumed deployed and activated as of block height 449568 by impleme The first block larger than 1M will create a network partition, as nodes with a fixed 1M hard limit reject that block. +==Reference Implementation== +https://github.com/bitcoinxt/bitcoinxt/pull/188 + +==Copyright== +This document is licensed under the BSD 2-clause license. + From 7ea5bfccde202b523738a26278afc746fdbf5aa4 Mon Sep 17 00:00:00 2001 From: Tom Harding Date: Fri, 5 May 2017 07:41:57 -0400 Subject: [PATCH 018/133] bip100: restore Comments header --- bip-0100.mediawiki | 1 + 1 file changed, 1 insertion(+) diff --git a/bip-0100.mediawiki b/bip-0100.mediawiki index fdb62a4b..ceb24adc 100644 --- a/bip-0100.mediawiki +++ b/bip-0100.mediawiki @@ -5,6 +5,7 @@ Author: Jeff Garzik Tom Harding Dagur Valberg Johannsson + Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0100 Status: Draft Type: Standards Track Created: 2015-06-11 From 7c23bf14ee14beb8339b26914475cb50c95465e8 Mon Sep 17 00:00:00 2001 From: Tom Harding Date: Sat, 6 May 2017 12:29:54 -0400 Subject: [PATCH 019/133] bip100: Clarifications --- README.mediawiki | 7 +++++++ bip-0100.mediawiki | 19 ++++++++++++------- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/README.mediawiki b/README.mediawiki index 1398ca38..aa6c50e8 100644 --- a/README.mediawiki +++ b/README.mediawiki @@ -413,6 +413,13 @@ Those proposing changes should consider that ultimately consent may rest with th | Jorge Timón | Informational | Draft +|- +| [[bip-0100.mediawiki|100]] +| Consensus (hard fork) +| Dynamic block size by miner vote +| Jeff Garzik, Tom Harding, Dagur Valberg +| Standard +| Draft |- style="background-color: #ffcfcf" | [[bip-0101.mediawiki|101]] | Consensus (hard fork) diff --git a/bip-0100.mediawiki b/bip-0100.mediawiki index ceb24adc..6b322d0e 100644 --- a/bip-0100.mediawiki +++ b/bip-0100.mediawiki @@ -5,6 +5,7 @@ Author: Jeff Garzik Tom Harding Dagur Valberg Johannsson + Comments-Summary: No comments yet. Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0100 Status: Draft Type: Standards Track @@ -41,20 +42,22 @@ The system is compatible with emergent consensus, but whereas under that system ### The votes of the previous 2016 blocks are sorted by megabyte vote. ### Raising hardLimit

#### The raise value is defined as the vote of the 1512th highest block, converted to bytes. -#### If the resultant raise value is greater than (current hardLimit * 1.05) rounded down to the nearest byte, it is set to that value. +#### If the resultant raise value is greater than (current hardLimit * 1.05) rounded down, it is set to that value. #### If the resultant raise value is greater than current hardLimit, the raise value becomes the new hardLimit and the recalculation is complete.

-### Lowering hardlimit

+### Lowering hardLimit

#### The lower value is defined as the vote of the 1512th lowest block, converted to bytes. -#### If the resultant lower value is less than (current hardLimit / 1.05) rounded down to the nearest byte, it is set to that value. +#### If the resultant lower value is less than (current hardLimit / 1.05) rounded down, it is set to that value. #### If the resultant lower value is less than current hardLimit, the lower value becomes the new hardLimit and the recalculation is complete.

### Otherwise, new hardLimit remains the same as current hardLimit. ===Signature Hashing Operations Limits=== -# The per-block signature hashing operations limit is scaled to (actual block size rounded up to nearest megabyte)/50. +# The per-block signature hashing operations limit is scaled to (actual block size, fractional megabyte rounded to next higher megabyte) / 50. # A maximum serialized transaction size of 1000000 bytes is imposed. +==Recommendations== + ===Publication of hardLimit=== -# For the benefit of emergent consensus nodes, hardLimit is published. Example: a complete coinbase string might read

/BIP100/B8/EB2.123456/

which indicates a vote for 8M maximum block size, and an enforced hardLimit of 2.123456 megabytes for the block containing the coinbase string. +# For the benefit of all observers, it is recommended that hardLimit be published. Example: a complete coinbase string might read

/BIP100/B8/EB2.123456/

which indicates a vote for 8M maximum block size, and an enforced hardLimit of 2.123456 megabytes for the block containing the coinbase string. ==Deployment== @@ -64,8 +67,10 @@ This BIP is presumed deployed and activated as of block height 449568 by impleme The first block larger than 1M will create a network partition, as nodes with a fixed 1M hard limit reject that block. -==Reference Implementation== -https://github.com/bitcoinxt/bitcoinxt/pull/188 +==Implementations== +https://github.com/bitcoinxt/bitcoinxt/pull/188
+https://github.com/bitcoinxt/bitcoin/pull/1
+https://github.com/BitcoinUnlimited/BitcoinUnlimited/pull/398
==Copyright== This document is licensed under the BSD 2-clause license. From 0a1d35877a993b460c14358324cf545a53d852ff Mon Sep 17 00:00:00 2001 From: Paul Sztorc Date: Sat, 3 Feb 2018 21:30:10 -0500 Subject: [PATCH 020/133] Create images.txt --- bip-hashrate-escrows/images.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 bip-hashrate-escrows/images.txt diff --git a/bip-hashrate-escrows/images.txt b/bip-hashrate-escrows/images.txt new file mode 100644 index 00000000..ece458d6 --- /dev/null +++ b/bip-hashrate-escrows/images.txt @@ -0,0 +1 @@ +Images used in this bip. From db86b890f92015ba50d6b1b49ba742a4b28663fc Mon Sep 17 00:00:00 2001 From: Paul Sztorc Date: Sat, 3 Feb 2018 21:30:22 -0500 Subject: [PATCH 021/133] Add files via upload --- bip-hashrate-escrows/two-groups.png | Bin 0 -> 39695 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 bip-hashrate-escrows/two-groups.png diff --git a/bip-hashrate-escrows/two-groups.png b/bip-hashrate-escrows/two-groups.png new file mode 100644 index 0000000000000000000000000000000000000000..c8a3ffabbdf2df803fcc7acbb0b99c04ca48433f GIT binary patch literal 39695 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 QPcdAORX&#?efie^0Q!s$S^xk5 literal 0 HcmV?d00001 From 2580d6522831bd8d3967515bee4429fd6a6351a6 Mon Sep 17 00:00:00 2001 From: Paul Sztorc Date: Sat, 3 Feb 2018 21:32:48 -0500 Subject: [PATCH 022/133] Add files via upload --- bip-hashrate-escrows.md | 408 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 408 insertions(+) create mode 100644 bip-hashrate-escrows.md diff --git a/bip-hashrate-escrows.md b/bip-hashrate-escrows.md new file mode 100644 index 00000000..3b5d61ea --- /dev/null +++ b/bip-hashrate-escrows.md @@ -0,0 +1,408 @@ + +Header +======= + + BIP: ???? + Layer: Consensus (soft fork) + Title: Hashrate Escrows (Consensus layer) + Author: Paul Sztorc + CryptAxe + Comments-Summary: No comments yet. + Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-??????? + Status: Draft + Type: Standards Track + Created: 2017-08-14 + License: BSD-2-Clause + Post-History: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-May/014364.html + + +Abstract +========== + +A "Hashrate Escrow" is a clearer term for the concept of "locked to an SPV Proof", which is itself a restatement of the phrase "within a sidechain" as described in [a famous Oct 2014 paper](https://blockstream.com/sidechains.pdf) written partially by some Blockstream co-founders. + +A Hashrate Escrow resembles a 2-of-3 multisig escrow, where the 3rd party (who will arbitrate any disputes) is a decentralized group of people: the dynamic-membership set of Bitcoin Miners. However, the 3rd party does not sign escrow-withdrawal transactions with a private key. Instead, these are "signed" by directing hashpower over them for a period of time. + +This project has [a website](http://www.drivechain.info/) which includes [a FAQ](http://www.drivechain.info/faq/index.html). + + +Motivation +============ + +In practice these escrows are likely to be "asymmetric sidechains" of Bitcoin (such as [Rootstock](http://www.rsk.co/)) or "virtual chains" within Bitcoin (such as [proposed by Blockstack](https://github.com/blockstack/virtualchain) in mid-2016). + +Sidechains have many potential benefits, including: + +1. Protect Bitcoin from competition from altcoins and spinoffs. Safely allow competing implementations (of *sidechains*). +2. Protect Bitcoin from hard fork campaigns. (Such campaigns represent an existential threat to Bitcoin, as well as an avenue for developer corruption.) +3. Help with review, by making it much easier for reviewers to ignore bad ideas. +4. Provide an avenue for good-but-confusing ideas to prove their value safely. + + + +Specification +============== + + +#### Components + +Hashrate Escrows are built of two types of component: [1] new databases, and [2] new message-interpretations. + +##### 1. New Databases + +* D1. "Escrow_DB" -- a database of "accounts" and their attributes. +* D2. "Withdrawal_DB" -- a database of pending withdrawals from these accounts, and their statuses. + +Please note that these structures (D1 and D2) will not literally exist anywhere in the blockchain. Instead they are constructed from messages...these messages, in contrast, *will* exist in the blockchain (with the exception of M4). + +##### 2. New Messages + +* M1. "Propose New Escrow" +* M2. "ACK Escrow Proposal" +* M3. "Propose Withdrawal" +* M4. (implied) "ACK Withdrawal" +* M5. "Execute Deposit" -- a transfer of BTC from-main-to-side +* M6. "Execute Withdrawal" -- a transfer of BTC from-side-to-main + + +#### On the Resource Requirements of New Databases + +The "new" databases are simply reinterpretations of data that are already contained elsewhere in the blockchain. Specifically, M1 M2 and M3 are all located in the block's coinbase txn, and M5 and M6 might be found in any regular txn. M4 is a special case and does not actually need to be included anywhere, so it is not. If you like, you can imagine that the M4s reside in an optional extension block. + +In other words, we just rearrange what is already there. Because of this, even though "new databases" are created and stored in memory, the existing bandwidth and storage limits are respected (although, see "M4" below). + + + + +### Adding Sidechains and Tracking Them (D1, M1, M2) + +#### D1 -- "Escrow_DB" + +The table below enumerates the new database fields, their size in bytes, and their purpose. In general, an escrow designer (for example, a sidechain-designer), is free to choose any value for these. + +Note: Fields 6 through 9 have been intentionally removed. Previously, this section allowed miners to set and commit to voting/waiting periods. However, I have since standardized the periods: withdrawals expire after 6 months (26298 blocks), and they succeed if they ever achieve an ACK score of 13140 or higher. I have removed the waiting period, because anyone who adopts a policy of ignoring all withdrawals with fewer than 400 ACKs will automatically gain all of the benefits of the waiting period. The justification for this change is that it strongly implies that an attack on any one sidechain is an attack on all of them (in a sense, this change makes the "victimhood" of each sidechain "fungible"). + +Field No. | Label | Bytes | Type | Description / Purpose +----------|-------|------|------|-------- +1 | Escrow Number | 1 | uInt | A number assigned to the entire escrow. Used to make it easy to refer to each escrow. +2 | Active\* | 2 | uInt | This counter starts at zero when a new entry is added, and increments as a new entry is supported by "M2". The entry either reaches the max value of 4032 (at which point the counter freezes), or else the entry is removed. This enforces the requirement "a soft fork is required to add a new escrow". +3 | Escrow Name/Description | 120 | string | A human-readable name and description of the sidechain. More than enough space to hold a 32 byte hash. Helps prevent destructive interference among sidechains (see below). +4 | Critical Private Key | 32 | hex | This is the Double-SHA256 of the binary release of the reference software. It ties the sidechain to a specific software release, and doubles as a way of signing withdrawals (see below). +5 | Critical Address\* | 32 | string | This is derived by taking f(x) = ImportPrivateKey(HexToBase58Check(x)) of field #3. It is intentionally in the human-readable format {{although it could be 25 bytes of binary}}. +10 | "CTIP" -- Part 1 "TxID"\* | 32 | hex | The CTIP, or "Critical (TxID, Index) Pair" is a variable for keeping track of where the escrow's money is (ie, which member of the UTXO set). +11 | "CTIP" -- Part 2 "Index"\* | 4 | hex | Of the CTIP, this is second element of the pair: the Index. See #10 above. + + +\* Denotes a "convenience field", the entry for this field is derived from other fields, or from the blockchain-state itself. The escrow-creator does not need to provide these values in M1 (or anywhere). + +Escrow_DB requires 223 bytes [1+120+32+32+2+32+4] for each escrow in the main blockchain. Of these, 70 bytes [2+32+32+4] are merely for convenience. Therefore, a sidechain is defined (see "M1") by 153 bytes of information. + +#### Notes on D1 + +1. D1 will always exist. +2. D1 will always have a unique sort (first by "Escrow Number" (field #1), and second by "Active" (field #2)). There is only ever one (escrow number, Active) pair. +3. D1 is updated according to M1 and M2 (below). +4. If a new entry is added to D1 with an "Escrow Number" that is already in use, then this entry will either eventually be removed (because it was not supported with an M2), or it will eventually overwrite the old entry (if it *was* supported via M2). + + +#### Notes on D1 + +##### Obligations Placed on Miners + +Miners have always upgraded their software according to criteria that are known only to them (in other words, "whenever they want"). + +However, this soft fork imposes two new criteria upon them. First: miners should only upgrade their software, if any modification to the portfolio of sidechains [that are added/removed in the upgrade] can be expected to increase miner wealth. Trivially, this implies that miners should make sure that the upgrade doesn't overwrite (and destroy) an existing sidechain that they like! But, more seriously, it implies that miners should take an interest in what the sidechain is doing to the mainchain and other sidechains (see below). + +##### Destructive Sidechain Interference + +People frequently emphasize that miners should have "as little control" as possible. It is a very safe claim to make, and a very easy sentence to write. Much harder is to determine exactly what this minimum value is, and how to achieve it. Harder still is to untie the knot of who is actually controlling what, in a decentralized, interacting system. + +Certainly, miners can not have "zero control" -- for that is the same as to just remove them from the system altogether. Some rules are enforced "on miners by nodes" (such as the infamous blocksize limit); other rules are enforced by nodes but are narrowly-controlled by miners (such as the proof-of-work itself, or the block's timestamp). Thirdly, some rules are enforced by both against each other (such as the rule against including invalid txns or double-spent txns), for mutual benefit. + +Some pause should be given, after one considers that the sidechain design goal is literally a piece of software that can do *anything*. Anything includes a great many things, many of which I demonstrate to be undesirable. Bitcoin itself does not allow "anything" -- it allows any person to transact, but, in contrast, it does not permit any person to double-spend. This is because "allowing anyone to do anything" is not viable in a world that contains undesirable interactions (what a libertarian might call "aggression") -- in the case of money, these are theft and counterfeiting. + +I have produced a comprehensive quantity of written material [1], presentations [2], etc [3] on exactly what the level of miner-control should be, and why. Specifically, I claim that **miners should be aware of the purpose of the sidechain, and they should reject sidechains which have an unclear purpose or which have a purpose that will lead to decrease in miner-wealth** (where wealth measured explicitly as: the estimated present value of the purchasing power of the blockchain's coinbase txns). I claim that this criterion is necessary because, just Original Bitcoin filters unwanted interactions among different BTC txns, so too much "Sidechain Bitcoin" filter out unwanted interactions among sidechain. + +* [1] http://www.truthcoin.info/blog/wise-contracts/ +* [2] https://www.youtube.com/watch?v=xGu0o8HH10U&index=1&list=PLw8-6ARlyVciMH79ZyLOpImsMug3LgNc4 +* [3] http://www.drivechain.info/literature/index.html + +Call it a "sidechain non-aggression principle", if you want. + +To the best of my knowledge, everyone who *has* reviewed this information as found the arguments to be acceptable. It has, also, changed a few minds (from "unacceptable" to "acceptable"). + + +##### ISSUE: "Signing" BTC Txns + +Currently, we use a process which may be suboptimal. It is that we *literally sign* a txn with a globally and publicly known private key. But this is for convenience purposes -- the signature that is produced is not doing anything, and is therefore wasteful. Instead we may use OP_TRUE, but this might interfere with how we detect the sidechain's balance. I'm not sure what the best way is. Someone needs to investigate how to do this -- removing OP_CheckSig, etc. This is a TODO for sure, and an opportunity for someone to help. + + + +(The following messages were modeled on SegWit -- https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki#commitment-structure ) + + + +#### M1 -- "Propose New Sidechain" + + 1-byte - OP_RETURN (0x6a) + 1-byte - Push the following 157 bytes (0x9d) + 4-byte - Commitment header (0x53707243) + 153-byte - the critical bytes mentioned above (fields #1, #3, and #4, to populate a new D1 entry) + + +#### New Block Validation Rules + +1. If the network detects a properly-formatted M1, it must add an entry to D1, into the very next block, with the following initial values: +* Field #5 will be calculated as per [version 1 Bitcoin addresses](https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses), but with a prefix of "4" instead of "1". +* Field #9 will be derived from #7 and #8 using math. +* The initial values of Fields #10, #11, and #12 are set to zero. +2. Only one M1 (of any kind) can be added into a block at a time. + +#### Notes on M1 + +The escrow will "reuse" the same address over and over. But notice that there is no privacy loss due to address reuse, because the address in question does not "belong" to any specific individual. Furthermore, the transactions in question could already be linked by just watching the Hashrate Escrow for deposits ...this, in fact, is exactly what a sidechain must do in order to make main-to-side transfers. + + +#### M2 -- "ACK Sidechain Proposal" + + 1-byte - OP_RETURN (0x6a) + 1-byte - Push the following 29 bytes (0x1D) + 4-byte - Commitment header (0x53616343) + 25-byte - Commitment hash: RIPMD-160 of Sha256 of a given M1 (above) + +#### New Block Validation Rules + +1. An entry will be removed from D1, unless that block contains an M2 supporting it (this will increment field #2), or the entry has accumulated 4032 M2s. Therefore, each entry needs to have 4032 *consecutive* M2s supporting it, else it will be removed from D1 and must start over. This requires all miners to agree to "soft fork" the sidechain into existence. This makes it easier to curate the list of active sidechains, and prevents destructive interference (see above) among contradictory sidechains. +2. Once the entry has 4032 M2s, then a miner must make a 0 btc payment to the Critical Address, thus activating the chain. This payment becomes the first "critical (TxID, index) pair" (or "CTIP"). +3. It is possible to "overwrite" a D1 slot -- this destroys the sidechain that is there, and replaces it with a new one. This is defined as requiring 6 months (26298 blocks) of M2s, instead of 4 weeks (4032). This possibility does not change the security assumptions, because we already assume that users have access to "magically true" bandwidth at a rate of 1 bit per ACK-cycle. (This is why the voting cycles should be large, 1 month Waiting, 2+ months Voting). + + + +### Adding Withdrawal-Attempts and Tracking Their Success (D2, M3, M4) + +#### D2 -- "Withdrawal_DB" + +The table below enumerates the database fields, their size (in bytes), type and purpose. + + +Field No. | Label | Bytes | Type | Description / Purpose +----------|-------|------|------|----------------------- +1 | Escrow Number | 1 | uInt | Links the withdrawal-request to a specific escrow. +2 | WT^ | 32 | hex | This is a "blinded transaction id" (ie, the double-Sha256 of a txn that has had two fields zeroed out, see M6) of a withdrawal-attempt. +3 | ACKs\* | 2 | uInt | The current total number of "votes", this starts at 0 and remains there throughout the waiting period. +4 | Age\* | 3 | uInt | Total duration of time, in blocks, that this WT^ has been inside of D2. +5 | Waiting Period\* | 2 | uInt | Total duration of time, in blocks, that this entry must sit idle, before it can begin to accumulate ACKs/NACKs. Pulled from D1's field #6. +6 | Max Age\* | 3 | uInt | Determined by summing (D1's field #6) and (D1's field #7). +7 | Threshold\* | 2 | uInt | Total ACKs needed, this is pulled from D1's field #9. +8 | Approved\* | 1 | boolean | True while ACKs > Threshold, False otherwise. + +\* Denotes a "convenience field" (see above). + +Withdrawal_DB requires 46 bytes [1+32+2+3+2+3+2+1] per entry. Of these, 13 bytes ([2+3+2+3+2+1], all fields except #1 and #2) can be generated locally, leaving 33 critical bytes [1+32]. + +#### New Block Validation Rules for D2 + +1. In each block, a hash commitment to D2 must always exist (even if D2 is blank). +2. D2 must always be sorted first by field #1 (Escrow Number) and second by field #4 (Age). This imposes a unique sort. +3. From one block to the next, every entry's "Age" field must increase by exactly 1. +4. From one block to the next, entries are only removed from D2 (in the very next block) if: +* * "Age" = "MaxAge". +* * If the block contains a txn who's blinded txID matches WT^. {{ This might be unnecessary, and a lot of work. }} +5. In addition, there are special rules for the allowed values in the "ACKs" field (field #3). See M4 below. + +#### M3 -- "Propose Withdrawal" + + 1-byte - OP_RETURN (0x6a) + 1-byte - Push the following 37 bytes (0x25) + 4-byte - Commitment header (0xD45AA943) + 33-byte - the critical bytes mentioned above (fields #1 and #2, to populate a new D2 entry) + + +#### New Block Validation Rules for M3 + +1. If the network detects a properly-formatted M3, it must add an entry to D2 in the very next block. The starting values of fields #3 and #4 are zero, and #5 is pulled over by extracting the relevant value from D1. +2. Each block can only contain one M3 per sidechain. + + +#### M4 -- "ACK Withdrawal" + +#### Very Little Info, Probably Calculable in Advance + +M4 is exceptional (in comparison to the other M's) in a few ways. First, its content is not stored anywhere, only the *hash* of its *effect* is stored (in a leaf of a merkle tree who's root is inserted into a mainchain coinbase). M4 alters the contents of D2 -- the *contents* of D2 are consensus critical, but M4 (the process by which nodes reach a new valid D2) can be anything. + +In fact, M4 can also be *nothing*. In other words, it may be optional. This is precisely because, from one block to the next, we have constrained D2 such that it is only allowed to change in a few ways. Therefore, the exhaustive set of "candidate D2s" can be precomputed by full nodes in advance. + +#### Two Withdrawals at Once + +In general, only one withdrawal (per sidechain) can make progress (toward being included in a block) at a time. In other words, as WT^s are proposed, only one can make progress toward the finish line. As a result, a given side-to-main transfer will always take between 3 and 6 months. Instead, with more simultaneous withdrawals, the worst-case transfer duration would improve. + +![dots-image](/bip-hashrate-escrows/two-groups.png?raw=true) + +The worst-case withdrawal time obeys f(n)=3+(3/n) months, where n is the number of simultaneous withdrawals. + +N=2 is the most desirable choice for several reasons. First, it delievers the greatest marginal benefit (of 1.5 months). Later choices only deliver 0.5 and 0.25 marginal months. + +Second, n=2 can be implemented in a clever way: by allowing a withdrawal to freely advance, if and only if has an ACK-score of 6575 or greater, and if it also has the largest ACK score. In other words, the withdrawal that is furthest along can advance (or retreat) for free, if it has already made it at least halfway to the finish line. With this change, our new M4, is either an "abstain" for the sidechain (in which case nothing happens to any ACK scores), or else it will be in one of two cases: old_M4 + "the largest advances", or new_M4 + "the largest retreats". As a result the number of M4 possibilities (of which the next section is concerned) only increases by a factor of two (instead of exponentially). + +It is possible to troll this rule, by getting two (or even three) withdrawals to have 6575+ ACK scores, and then getting them to *tie* for first place. So, if there are any ties, the ability to "bonus move" is disabled until all ties are broken. + +#### How Hard is it to Guess M4? + +If there are n Escrows and m Withdrawals-per-escrow1, then there are (m+2)^n total candidates for the next D2. This is because, [per block per escrow], one of three things can happen: (1) one of the m withdrawal-candidates can be "ACK"ed (or "upvoted" or "promoted"), which automatically downvotes the others; or (2) all withdrawal-candidates can be downvoted, or finally (3) the miners can abstain from voting on the escrow's withdrawals altogether, leaving the tallies the same. + +First, for nodes which validate all sidechains (assuming these escrows are sidechains), this simplifies to 2^n -- these nodes only have to choose between the single honest choice (on one hand) or an abstention (on the other). Second, even for nodes that don't validate any sidechains, the number of candidates might be reduced from m^n to 3^n, by making a simplifying assumption: whichever withdrawal was most recently added/upvoted, is likely to be the one which is upvoted next. + +Of course, that is still O(k^n) for n sidechains, which isn't great2. If the "D2 update" cannot be guessed, it must be transmitted in some way. + +#### Giving Up and Getting M4 the Old Fashioned Way + +Two examples for transmitting it are below: + +"Short Form" (Assumes there are no more than 254 active withdrawal-attempts per account) + + 4-byte - Message identifier (0x????????) + 1-byte - Version of this message + N-byte - N is the total number of active accounts ("sidechains"), each byte specifies the position of the single WT that was "upvoted". A value of 0 indicates "downvote everything", a value of 255 indicates abstention. + +"Long Form" (Makes no assumptions about anything) + + 4-byte - Message identifier (0x????????) + 1-byte - Version of this message + 1-byte - Length (in bytes) of this message; total number of withdrawal attempts; y = ceiling( sum_i(m_i +2)/8 ). Nodes should already know what length to expect, because they know the sequence of M3s and therefore the vector of WT^s. + Y-byte - stream of bits (not bytes), with a 1 indicating the position of the chosen action [downvote all, abstain, upvote1, upvote2, ...] + + +If the message is very very large, then nodes may not want to broadcast it. This opens up an "exhaustion attack"2, in which many miners create bad WT^s, vote on these randomly, and then refuse to broadcast their votes. Fortunately, even for a worst-case scenario of 200 sidechains and 1,000 withdrawal-attempts per sidechain, honest nodes can communicate a long form M4 with each other by using just 25,056 bytes per block [4+1+1+(200\*(1000+1+1)/8)]. + +Today's pre-drivechain miners can already carry out a similar attack, by creating and including txns and then not broadcasting that part of the block to anyone. This is often characterized as a ["block publication incentive"](https://petertodd.org/2016/block-publication-incentives-for-miners), because in that case the prospect of exhaustively computing all possible transactions (to uncover the missing ones) is completely out of the question. + +However, message M4 is different from a withheld-txn, because M4 operates outside of the block's mandated information-processing limits (ie, outside the infamous 1 MB nonwitness blocksize limit). So we should examine the conditions under which M4 grows and shrinks, to ensure that we are not smuggling in a tremendous burden on full nodes. + +Under adversarial conditions, to lengthen a long-form M4 by one bit per block, for C blocks, the attacker must pay 312 bits (39 bytes) one time (to embed a new M3 message). The value C is the length of the sidechain's voting period, which varies but which I expect to be approximately 8,064 (and which could theoretically be as high as 65,536). Thus the attacker can burden nodes disproportionately, if (s)he wishes. + +Fortunately, the attack in question has no motivation (as far as I can tell). If the miner's goal is to trick rivals into mining on top of invalid blocks, he can already do this much more effectively with the unpublished-txn method (above). If instead he is just trying to harass nodes, then nodes may freely "downgrade" to earlier versions of the protocol, and simply ignore all drivechain-related messages. It seems that the attack could best be used in order to: make a large D2, make D2 confusing, sneak in votes for evil WT^ lurking in D2. Thus, the attack disables the transparency of the drivechain system, to some extent. The cost of the attack is forgone transaction fees, due to block space wasted on useless M3s. + +In practice, n is already capped, and miners may impose [on each other] a "soft cap" on m for their mutual protection. Thus, n and m might never get above 10 and 30, respectfully. In this case, the [Short Form, this time] M4 can never require more than 15 bytes per block, no matter what the attacker tries. + +In practice, m should always be 1 or 2, else something fishy is going on; and m can only inch up by 1 unit per block. So the system as a whole is still quite transparent, in that users are warned appropriately and well in advance. Attackers must invest upfront and they face an uphill climb, in order to eventually make things more expensive for a few others; defenders can wait-and-see if the attack looks like it will ever amount to anything before lifting a finger. + + +##### New Block Validation Rules (for D2 and, by implication, M4) + +From one block to the next, D2 can only be edited in a few strict ways: + +* Entries can only be added/removed from D2 if they meet the criteria above (in M3, and implicitly M1 and M2). +* The ACK-counter of any individual entry can only change by (-1,0,+1) relative to its previous entry. +* Within a sidechain group, upvoting one withdrawal (ACK=ACK+1) requires you to downvote all other withdrawals in that group. However, the minimum ACK value is zero (and, therefore, downvotes cannot reduce it below zero). + +##### Footnotes for M4 + +1 This represents the worst-case scenario is one where all the Withdrawals are spread evenly over each Sidechain. Under normal operations, there is no reason to expect the all sidechains will have the same number of withdrawals at any given time. In fact, under normal operations, the very *concept* of counting the withdrawals-per-sidechain should be a purposeless one, because there should only be *one* withdrawal at a time. Nonetheless we consider the worst case scenario here. + +2 Guessing becomes more computationally intensive in a highly adversarial situation where the "limited range" is intentionally expanded. In such a scenario, [a] there are many sidechains, and [b] miners voluntarily sacrifice their scarce block-space by creating a high number of (mutually-exclusive, and hence ultimately invalid) withdrawal attempts and putting these into coinbase transactions; and then agree to all [c] vote on these randomly (guaranteeing that all withdrawals fail, including any true withdrawals) and [d] successfully withhold their random voting strategies from nodes (even including spy-miner-nodes). Under this bizarre scenario, nodes may require computing resources which increase near-exponentially with the number of withdrawals, and it may take a long time for an ignorant node to exhaustively work out the underlying state of Withdrawal_DB. In this case, nodes may decide to temporarily stop validating such transactions (as if they had not yet upgraded to support this soft fork). + + + +### Depositing and Withdrawing (M5, M6) + + +Both M5 and M6 are regular Bitcoin txns. They are identified by meeting an important criteria: they select a one of the Critical TxID-index Pairs (a "CTIP") as one of their inputs. Deposits ("M5") are distinguished from withdrawals ("M6") by simply checking to see if money is "going in", or "out". In other words, we compare the BTC value of the original CTIP to that of new CTIP. If original <= new it is a deposit, if original > new then it is a withdrawal. + +The code that identifies sidechain withdrawal / deposit txns (by calculating how much value is being put into or taken out of a sidechain) can be seen here: https://github.com/drivechain-project/bitcoin/blob/mainchainBMM/src/validation.cpp#L351-L386 + +Such txns are forced (by consensus) to obey two additional criteria: + +1. They must contain an output paying "to" the Critical Address [probably in TxOut0]. +2. They must be accompanied by an update to this sidechain's Critical TxID-index Pair (CTIP). The new CTIP must be "this" txn itself. + +These criteria are enforced here https://github.com/drivechain-project/bitcoin/blob/mainchainBMM/src/validation.cpp#L440-L473 by checking that a deposit is paying back to the sidechain more than it is taking out, and completely rejecting any withdrawal from the mempool. And here https://github.com/drivechain-project/bitcoin/blob/mainchainBMM/src/validation.cpp#L1747-L1757 we allow for a withdrawal only once it has attained sufficient work score (ACKs). + +The purpose of this is to have all of the escrow's money (ie all of the sidechain's money) in one TxID, so that depositors immediately undo any UTXO bloat they may cause. This simplifies the withdrawal process, as there is no need to worry about cleaning up "dust deposits" (...and such cleaning can often result in headaches, for example where a withdrawal-txn is larger than 1MB in size, or else may only withdraw an arbitrarily limited amount of BTC). Notice that, unless we assume that an account will last forever, all utxos which are deposited must eventually be withdrawn by someone. Therefore, the relevant design criterion is not "efficiency" (total network cost) but rather "who should pay" (allocation of costs). + +#### M5. "Make a Deposit" -- a transfer of BTC from-main-to-side + +As far as mainchain consensus is concerned, there are no additional requirements. + +However, in practice there *are* additional mainchain requirements...specified by the escrow account, (ie specified by the "sidechain" or "virtual chain"). These requirements are not part of mainchain consensus and are allowed to be anything. In other words, the sidechain is free to invent any way to credit depositor's money -- M5 is fully customizable. + +One method, is for mainchain depositors to append a zero-value OP Return to a Deposit txn, so that the sidechain knows how to credit funds. Mainchain users must upgrade their wallet software, of course, (on an individual basis) in order to become aware of and take advantage of new deposit-methods. + +##### Inconvenient Race Condition + +The requirement that each hashrate escrow be linked to a single TxID does create an interesting inconvenience for depositors. If a user is slow to sign a txn after constructing it (perhaps because the user employs an air-gapped computer, etc), then the signed txn may no longer be valid. This is because the input it selects, may no longer be the Critical TxID (as "the" Critical TxID changes with each deposit). **Only one user can deposit at a time** (although many can deposit per block). As a result, the transaction must fail, and the user would need to be prompted to remake and resign the txn. If this is problem is too frustrating, users can always make main-to-side transfers using atomic cross chain swaps (or, the LN, if they already have a channel open on both chains). + +Fortunately, it is already a part of mainchain consensus that no two txns can spend the same TxID. The only new issue here is the confusion it might create for the user (hence the need for error messages and alternative deposit-methods). + + +#### M6. "Execute Withdrawal" -- a transfer of BTC from-side-to-main + +We come, finally, to the critical matter: where users can take their money *out* of the escrow account, and return it to the "regular" UTXO set. As previously mentioned, this txn is one which (a) spends from a CTIP and (b) reduces the quantity of BTC in an account's CTIP. Most of the work has already been done by D1, M3, M4, and D2. Furthermore, existing Bitcoin tx-rules prevent the sidechain from ever withdrawing more money than has been placed into it. + +From there, we merely introduce two final concepts: + +1. In each block, an entry in D2 is considered an "approved candidate" if the "ACKs" value is above 13140. +2. A "blinded TxID" is way of hashing the txn, in which we first overwrite some parts of the txn with zeros. Specifically, the first 36 bytes of "TxIn0" (the first input, including TxOutHash and TxOutIndex), as well as the first 8 bytes of "TxOut0" (the first output). + +Blinding is necessary because we allow each sidechain only one UTXO at a time. + +of our restriction of the account to a single UTXO-member. Because of this, during the ACKing process the withdrawal-txn (which is currently being ACKed) may change in two ways: the CTIP (which changes with each deposit), and the total quantity of BTC stored in the account (which arbitrarily increases with each new deposit). In other words, a withdrawal-attempt is created via M3, but this takes place many blocks before the withdrawal is actually included via M6. During this time, a single new deposit to the account would change its CTIP and its value. So, what do we ACK? Well, we ACK a "blinded" version of the withdrawal. This blinded version is stable because the dynamic parts are always overwritten with zeros. + +While we ACK a blinded WT^, what is actually included in the blockchain ("M6") is an unblinded WT^. Since each blinded WT^ could correspond to many different unblinded WT^s, we need to impose further restrictions on those unblinded WT^s that are finally included. First, we will force the final unblinded WT^ to spend the entire sidechain balance (by forcing sum(input_values) to equal sum(output_values)). To avoid withdrawing the entire sidechain balance with every withdrawal, we will, secondly, force the unblinded WT^ to create a new output which is itself a deposit to the sidechain it withdrew from (which nodes can check using D1's CTIP field). Unfortunately, these requirements eliminate the possibility of including a transaction fee, as traditionally calculated. So, finally, to compensate for *that*, txn fees are encoded explicitly as a withdrawal to OP_TRUE (which the main:block's miner can immediately claim). + +With all of this in place, the only requirements for inclusion in a block are these: + +1. "Be ACKed" -- The "blinded TxID" of this txn must be member of the "approved candidate" set in the D2 of this block. +2. "Return Change to Account" -- TxOut0 must pay to the "critical account" (see D1) that corresponds to the CTIP that was selected as a TxIn. +3. "Return *all* Change to Account" -- Sum of inputs must equal the sum of outputs. No traditional tx fee is possible. + +Finally, don't forget that M6 inherits the requirement (common to both M5 and M6) that the CTIP be selected as an input, and that the CTIP then be updated. In this case, we know that the critical index will be zero, so the new CTIP will be ("this TxID" (NOT blinded), 0). The TxID is NOT blinded because blinding is only for accumulating ACKs. + +As a result of these requirements, every single withdrawal-attempt will fail, unless an entry has been added to D2 and "ACKed" a sufficient number of times. + + + +Backward compatibility +======================== + +As a soft fork, older software will continue to operate without modification. Non-upgraded nodes will see a number of phenomena that they don't understand -- coinbase txns with non-txn data, value accumulating in anyone-can-spend UTXOs for months at a time, and then random amounts leaving the UTXO in single, infrequent bursts. However, this phenomena doesn't affect them or the validity of the money that they receive. + +( As a nice bonus, note that the sidechains themselves inherit a resistance to hard forks. The only way to guarantee that the WT^s reported by different clients will continue to match identically, is to upgrade sidechains via soft forks of themselves. ) + + +Deployment +=========== + +This BIP will be deployed by "version bits" BIP9 with the name "hrescrow" and using bit 4. + +``` +// Deployment of Drivechains (BIPX, BIPY) +consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].bit = 4; +consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].nStartTime = 1515974401; // January 15th, 2018. +consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].nTimeout = 1547510401; // January 15th, 2019. +``` + +Reference Implementation +========================== + +See: https://github.com/drivechain-project/bitcoin/tree/mainchainBMM + +Also, for interest, see an example sidechain here: https://github.com/drivechain-project/bitcoin/tree/sidechainBMM + + +References +============ + +See http://www.drivechain.info/literature/index.html + + +Credits +========= + +Thanks to everyone who contributed to the discussion, especially: ZmnSCPxj, Adam Back, Peter Todd, Dan Anderson, Sergio Demian Lerner, Chris Stewart, Matt Corallo, Sjors Provoost, Tier Nolan, Erik Aronesty, Jason Dreyzehner, Joe Miyamoto, Ben Goldhaber. + + + +Copyright +========== + +This BIP is licensed under the BSD 2-clause license. From da2e5745f3dcf801e9ab50939791d6cecf434c11 Mon Sep 17 00:00:00 2001 From: Paul Sztorc Date: Sat, 3 Feb 2018 21:36:40 -0500 Subject: [PATCH 023/133] Add files via upload --- bip-blind-merged-mining.md | 329 ++++++++++++++++++ bip-blind-merged-mining/bmm-dots-examples.png | Bin 0 -> 41116 bytes bip-blind-merged-mining/images.txt | 1 + .../witness-vs-critical.png | Bin 0 -> 67570 bytes 4 files changed, 330 insertions(+) create mode 100644 bip-blind-merged-mining.md create mode 100644 bip-blind-merged-mining/bmm-dots-examples.png create mode 100644 bip-blind-merged-mining/images.txt create mode 100644 bip-blind-merged-mining/witness-vs-critical.png diff --git a/bip-blind-merged-mining.md b/bip-blind-merged-mining.md new file mode 100644 index 00000000..ee81f1f3 --- /dev/null +++ b/bip-blind-merged-mining.md @@ -0,0 +1,329 @@ + Drivechain Documentation -- Blind Merged Mining BIP + Paul Sztorc + November 17, 2017 + Document 3 of 3 + v4.1 + + +Header +======= + + BIP: ???? + Layer: Consensus (soft fork) + Title: Blind Merged Mining (Consensus layer) + Author: Paul Sztorc + CryptAxe + Chris Stewart + Comments-Summary: No comments yet. + Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-??????? + Status: Draft + Type: Standards Track + Created: 2017-10-24 + License: BSD-2-Clause + + +Abstract +========== + +Blind Merged Mining (BMM) is a way of mining special extension blocks, ie "sidechains". It produces strong guarantees that the block is valid, for *any* arbitrary set of rules; and yet it does so without requiring miners to actually do any validation on the block whatsoever. + +BMM actually is a process that spans two or more chains. For an explanation of the "whole picture", please see [this post](http://www.truthcoin.info/blog/blind-merged-mining/). Here we focus on the modifications to mainchain Bitcoin. + +To support BMM, the mainchain is asked to accomplish two goals: +1. Track a set of ordered hashes (the merged-mining). +2. Allow miners to "sell" the act of finding a sidechain block (through the use of a new extended serialization transaction type). + +These goals are accomplished by forcing nodes to validate two new messages (M7, M8), and track data in one new database (D3). + + +Motivation +============ + +Regular "Merged-Mining" (MM) allows miners to reuse their hashing work to secure other chains (for example, as in Namecoin). However, traditional MM has two drawbacks: + +1. Miners must run a full node of the other chain. (This is because [while miners can effortlessly create the block] miners will not create a valid payment to themselves, unless the block that they MM is a valid one. Therefore, miners must assemble a *valid* block first, then MM it.) +2. Miners are paid on the other chain, not on the regular BTC mainchain. For example, miners who MM Namecoin will earn NMC (and they will need to sell the NMC for BTC, before selling the BTC in order to pay for electricity). + +Blind Merged-Mining (BMM) attempts to address those shortcomings. + + +Specification +============ + +Note: This document uses the notation side:\* and main:\* in front of otherwise-ambiguous words (such as "block", "node", or "chain"), to distinguish the mainchain version from its sidechain counterpart. + +As stated above, we have two goals: [1] create and monitor an alt-chain (defined only by a deterministic list of hashes), and [2] allow miners to "sell" the act of finding a sidechain block (through the use of a new extended serialization transaction type). + +### Sidechain Critical Data ("Sidechain Mini-Header") + +Specifically, per side:block per side:chain, we track the following 35 bytes of information: + + 1-byte - ChainIndex (known as "Account Number" in hashrate-escrows.md , or as "Sidechain Number") + 32-bytes - sideHeaderHash (also known as "h*" / hashCritical, the hash of the sidechain block) + 2-bytes - prevBlockRef (an index which points to this side:block's parent side:block) + +The **ChainIndex** indicates which sidechain this critical data is relevant to. As we may eventually have more than one sidechain, this serves as an identifier similar to the Bitcoin network's magic bytes (0xF9BEB4D9). Drivechains however only need to use 1 byte for the identifier (there is a hard limit of 256 sidechains identified as 0-255). The **sideHeaderHash** is the hash of a side:block which will receive PoW via BMM. It serves a similar function to Bitcoin's "hashMerkleRoot", in that it contains the data for its blockchain. The **prevBlockRef** forms the set of headers into a blockchain structure by making each headers refer to one parent header. It is most similar to Bitcoin's hashPrevBlock. + +Where does this data come from, and how does it get around? + +#### Creating / Broadcasting This Data + +##### Creation + +By the time Blind Merged Mining can take place, the ChainIndex is globally known (it is the "Account Number" in D1 [see previous BIP], and "nSidechain" in the code). Each sidechain, when activated by soft fork, will take one of the 0-255 available indexes. + +The other two items, sideHeaderHash and prevBlockRef, are created by sidechain nodes. sideHeaderHash is quite straightforward -- side:nodes build side:blocks, and take the hash of these. + +The final item, prevBlockRef, is a little more complicated. It is an integer that counts the number of "skips" one must take in the side:chain in order to find the current side:block's parent block. In practice, this value will usually be zero. It will only be a value other than zero, in cases where invalid sidechain blocks have been mined, or when a side:node intentionally wants to orphan some side:blocks (if a side:node wants to orphan the most-recent N blocks, the value of the current block will be equal to N ; in the block after that it will be back to zero). + +![dots-image](/bip-blind-merged-mining/bmm-dots-examples.png?raw=true) + +Since the hashes themselves are already ordered by the mainchain, tracing the blockchain's path by index (prevBlockRef) will be the same as tracing it by identifying a list of hashes. In other words, the ordering given via each side:block's "prevBlockRef" will be isomorphic to an ordering given by each side:block's "prevSideHeaderHash" ... if "prevSideHeaderHash is defined to be the sidechain's equivalent of the mainchain's "prevBlockHash". It will be possible to freely convert from one to the other. See M8 to learn more about how these hashes are requested by sidechain block creators to be included in the mainchain. + +Now that we know what our critical data is, and how it is made, how is this data broadcast and stored? + +##### Broadcast + +Mainchain nodes are going to need this data later, so it must be easy to find. We will put it into the coinbase via OP RETURN. + +#### M7 -- "Blind-Mine the Sidechain(s)" + +Thus, (for n sidechains) we have a coinbase output with: + + 1-byte - OP_RETURN (0x6a) + 1-byte - Push the following (4+(n*35)) bytes (0x??) + 4-byte - Message header (0xD3407053) + (n*(32+5))-byte - A sequence of bytes, of the three Mini-Header items (h*, prevBlockRef, ChainIndex). + +( We assume that 5 bytes are used for the Critical Data bytes (non h* parts of the Sidechain Mini-Header). For 256 sidechains, a total of 9,478 bytes [1+1+4+256\*(32+5)] are required, conveniently just below the 10 KB scriptPubKey size limit.) + +This data is parsed by laying it in sequential 37-byte chunks (any remaining data --ie, some final chunk that is less than 37 bytes in length-- has no consensus meaning). + +Each 37-byte chunk is then parsed to obtain the data outlined above (in "Description"). If two 35-byte chunks being with the same "Sidechain number" (ie, if the two chunks have the same first byte), then only the first chunk has consensus meaning. + +We are left with, at most, one (h*, prevBlockRef) pair per sidechain per block. This data is added directly to D3, a new database. + +#### D3 -- "RecentSidechains_DB" + +To suit our purposes, the mainchain full nodes will need to keep track of the most recent 8000 (h\*, prevBlockRef) pairs. + +( This 8,000 figure is a tradeoff between decentralization (costs of running the main:node) and sidechain security -- it requires attackers to merged-mine 8,000 invalid blocks consecutively, in order to cause the sidechain to fail. The mainchain burden is minimal, so this figure might be raised to 12,000 or higher. ) + +Therefore, D3 would look something like this: + + + BlockHeight CB_Index SC_1 Blks_Atop_1 SC 2 Blks_Atop_2 SC 3 Blks_Atop_3 + --------- ------ ------ --------- ------ --------- ------ --------- + 1. 401,005 2 (h*, 0) 7985 (h*, 0) 1 (h*, 0) 0 + 2. 401,006 4 (h*, 0) 7984 (h*, 0) 0 (h*, 1) 7801 + 3. 401,007 2 (h*, 0) 7983 (h*, 5) 2027 (h*, 0) 0 + 4. 401,008 2 (h*, 0) 7982 (h*, 0) 2028 (h*, 1) 7800 + ... ... ) + 7999. 409,003 3 (h*, 0) 1 (h*, 0) 0 (h*, 0) 1 + 8000. 409,004 2 (h*, 0) 0 (h*, 1) 0 (h*, 0) 0 + + +When new sidechains (or "hashrate escrows") are soft-forked into existence, a new column is added to D3 (to contain any BMMing that might be done on it). + +For each sidechain we also track the field "Blocks Atop". This is the number of side:blocks that are "on top" of the specified side:block. These might be regarded as "side:confirmations" (pseudo-confirmations that are specific to each sidechain). + +D3 also contains a column (not shown) for each sidechain containing "prevSideBlockHash". This value is is either derived from prevBlockRef; or else it is given explicitly (in which case it is the converse: prevBlockRef is derived from prevSideBlockHash). + + +#### Coinbase Cache + +As mentioned above, M7s cause data to be added to D3. Recent D3 data is tracked by all mainchain nodes for a period of time. + +To efficiently keep track of the above data, without having to constantly load and process entire blocks from disk, we temporarily cache enough coinbases in the chain index to maintain D3. + + +### M8 -- Paying miners to include BMM data in their coinbase outputs + +This section introduces a new type of transaction, which allows sidechain block creators to request, and pay for, a critical hash to be included in a specific block by mainchain miners. See [the Blind Merged Mining spec](http://www.truthcoin.info/blog/blind-merged-mining/). This txn allows miners to "sell" the act of mining a sidechain block. By taking advantage of this option, miners earn tx fees for mining sidechains...truly "for free". They do not even need to run sidechain nodes, and the tx-fees they earn are in mainchain BTC. As a result, sidechains affect all miners equally and do not affect the mining ecosystem. + +M8 will ultimately come in two versions. The second version will be specialized for use in the Lightning Network and must use the full 32-byte prevBlockHash (ironically, this larger transaction is cheaper for the Bitcoin network to process, as it is completely off-chain). The first version of M8, in contrast, cannot be used inside the Lightning Network, but is slightly more space-efficient (using the 2 prevBlockRef bytes to maintain chain order). It is important to make both options available to the user, because some side:nodes may be unwilling or unable to open a payment channels with each main:miner. However, in the long run we expect the lightning version to be preferred. + +#### Setup + +We define **"Mary"** as a mainchain miner, and **"Simon"** as a sidechain node. + +The goal is to construct a payment from Simon to Mary, such that: + +1. If the critical data conditions are met, **Mary** can claim the outputs of the transaction with finality. +2. If the critical data conditions are not met, the outputs become immediately available again to **Simon**. + + +#### Goals (this is rather philosophical, and skippable) + +##### Immediate Expiration ("Fill-or-Kill") + +We would like to make special guarantees to the counterparties of this transaction. Specifically, instead of Simon making a "payment" to Mary, we prefer that Simon give Mary an "offer" (which she can either accept or decline). + +Crucially, we want Simon to safely make many offers to several different Mary's, in realtime (ie, quickly and off-chain). However, we ultimately want only one offer to be accepted, at most. In other words, we want Simon's offers to *immediately expire*. If only one offer can become a bona fide transaction, then Simon will feel comfortable making offers all day long. Because all of the Simons are making many offers, the Marys collectively gain access to a large set of offers to choose from. + +##### Forward Progress (The Need for a "Ratchet") + +The "ratchet" concept is an attempt to harmonize incentives among the main and side chain(s). +We need to ensure that a sidechain is making "forward progress", without tracking too much about the sidechain such that we burden Bitcoin (see [1] and [2]) all while still allowing the sidechain to reorganize [3]. + +* [1] https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-July/014789.html +* [2] http://www.drivechain.info/faq/index.html#what-is-the-difference-between-drivechain-and-extension-blocks +* [3] http://www.truthcoin.info/blog/blind-merged-mining/#handling-reorganizations + +The ratchet system must keep track of sidechain "mini-headers" (see Sidechain Critical Data ("Sidechain Mini-Header")) and count the "blocks atop" maturity of the related side:blocks. + +Simon's offer to Mary to include a critical hash in exchange for payment must be *atomic*. The "ratchet" concept helps to construct a very tight connection between two things: + +1. The sidechain-block-generator "Simon" paying himself the side:block's side:tx-fees (which he receives in 100 sidechain blocks (blocks atop) hence). +2. "Simon" making a mainchain main:btc payment to a mainchain miner "Mary". + +Either both of the two should succeed, or else both should jointly fail. + +However, absent our intervention, there are cases in which [2, the payment to Mary] succeeds but [1, side:tx-fees] fails. One such case is when a side:block contains unusually high side:tx-fees. Here, there will be many requests to include a critical hash in exchange for payment submitted to Mary, but only one can be included in each main:block per sidechain. Without an incentive to make "forward progress", Mary is likely to include one of the highest paying requests in the next main:block (and the main:block after that, and so on). Mary will "blindly" include high-paying requests for *older* blocks, unless something prevents her from doing so. + +To address these potential issues, we utilize the concept of "Blocks_Atop" (the "side:confirmations") that we mentioned earlier. As previously mentioned, Mary will not be able to spend Simon's M8 payment until satisfying the critical data requirements as well as the blocks atop (side:confirmations) requirement. + + +#### M8 -- The two forms of M8 transactions + +As previously mentioned, M8 can take two forms. The first does not require the Lightning Network, but it does have new requirements for Immediate Expiration (see above). The second inherits Immediate Expiration from the Lightning Network itself, but requires extra preparation and a different/larger message. + +Both forms require that certain Critical Data will be committed to within the coinbase of the block that the transaction is included in. For the non Lightning version, we have created a new extended serialization transaction type (very similar to how segwit handles witness data (the witness stack)). + +##### M8_V1 - No Lightning Network + +M8_V1 does not require the Lightning network but does have new requirements for validation. + +A M8_V1 TxOut is expected to contain: + + 1-byte - OP_RETURN (0x6a) + 1-byte - Push the following 36 bytes (0x24) + 4-byte - Message header (0xD1617368) + 32-bytes - h* side:block hash + 5~7-bytes - BMM request identifying bytes (0x00bf00) + prevBlockRef & ChainIndex (sidechain mini-header) + + +In the first version of M8, we need to introduce the concept of Immediate Expiration (see above). In other words, we need a way for Simon to construct many payments to multiple Marys, such that only one of these is ever included; and only then if Simon's txn is expected to coincide with the finding of Simon's side:block. + +We do this by imposing validity-rules on the txn itself: + +1. The txn's content, when examined, must match part of the main:block's content. Specifically, the (ChainIndex, h\*) pair of the txn, must match one of the (ChainIndex, h\*) pairs in the M7 of this main:block. +2. Only one payment per sidechain per main:block is valid. In other words, if 400 people all try to bm-mine the sidechain with ChainIndex==4, then not only is it the case that only one side_4:block can be found, but it is also the case that only the corresponding M8 txn can be included (out of all of the 400 M8s which are for ChainIndex==4). +3. Simon's txns must only be valid for the current block; afterward, they immediately expire. This is because Simon's intended prevBlockRef & side:block contents will most likely change from one main:block to the next. + +To impose new requirements on the transaction level (not the block level nor the TxOutput level), we borrow the "flag" trick from SegWit style transactions. If the flag is present, the transaction is examined for extra data, and if this data does not pass certain requirements, the transaction is invalid. With SegWit, this extra data is the signatures, and the extra requirements are the signatures' locations and validity. In the BMM-transactions, the extra data is the (ChainIndex, h\*) pair, which must meet the first two requirements (above) as well as the main:blocknumber, which must meet the third requirement (above). + +To impose new requirements at the transaction level, we borrow the dummy vin & "flag" trick from SegWit style transactions. If the flag is set to 2 (0010), the transaction contains Critical Data and requires that our new validation rules be met in order for the txn to be valid in a block. Unless all of the requirements for sidechain critical data transactions are met by the block it is included in, the transaction is invalid. With SegWit, this extra data is the segwit signature stack, and the extra requirements are the signatures' locations and validity. In the sidechain BMM critical data transactions, the extra data is the (ChainIndex, h\*) pair, which must meet the first two requirements (above) as well as the main:blocknumber, which must meet the third requirement (above). Note The main:blocknumber does not take up any additional space compared to a normal txn, as we reuse the locktime field for our purposes. + + + + +![extra-data-image](/bip-blind-merged-mining/witness-vs-critical.png?raw=true) + +This txn structure conserves main:blockspace, because it is the easiest way to refer to a previous sidechain block in 4 bytes, (prevBlockRef + FoK_nLockTime). Instead, we would need to use at least 32 bytes (prevSideBlockHash). + +These types of transactions have slightly different mempool behavior, and should probably be kept in a second mempool. These txns are received, checked immediately, and if valid they are evaluated for inclusion in a block. If they are not able to be included in the specific requested block (if the block height requested has been surpassed by the chain tip), they are discarded. In fact, after any main:block is found, everything in this "second mempool" can be discarded as new payments will be created immediately for the next block height. (This includes cases where the blockchain reorganizes.) There is no re-evaluation of the txns in this mempool ever -- they are evaluated once and then either included or discarded. To be clear, when the transaction is received we are able to evaluate its validity, and do not need to rescan these transactions again. + +Interestingly, these payments (M8) will *always* be directed to miners from non-miners. Therefore, non-mining nodes do not need to keep them in any mempool at all. Non-miner nodes can just wait for a block to be found, and check the txn then. These transactions more resemble a stock market's pit trades (in contrast, regular Bitcoin txns remind me more of paper checks). + +##### M8_V2 With Lightning + +M8_V2 requires having a LN-channel open with a miner. This may not always be practical (or even possible), especially today. + +A M8_V1 TxOut is expected to contain: + + 1-byte - OP_RETURN (0x6a) + 1-byte - Push the following 68 bytes (0x44) + 4-byte - Message header (0xD0520C6E) + 32-bytes - h* side:block hash + 32-bytes - prevSideBlockHash + 5~7-bytes - BMM request identifying bytes (0x00bf00) + prevBlockRef & ChainIndex (sidechain mini-header) + + +Notice that, in M8_V1, Simon could reuse the same h\* all he wanted, because only one M8_V1 could be included per main:block per sidechain. However, on the LN no such rule can be enforced, as the goal is to push everything off-chain and include *zero* M8s. So, we will never know what the M8s were or how many had an effect on anything. + +Therefore, Simon will need to ensure that he **gives each Mary a different h\***. Simon can easily do this, as he controls the side:block's contents and can simply increment a nonce -- this changes the side:block, and changes its hash (ie, changes h\*). + +With a unique h\* per Mary, and at most 1 h\* making it into a block (per sidechain), we can guarantee that only one of the M8_V2's critical data can be committed to in a single main:block. By giving each miner (who Simon has a payment channel open with) a different h*, Simon can figure out which miner followed through with the commit, and know that only one such commit went through. Furthermore, if this Simon's requested critical data is not found in a block, none of the M8_V2 payments will be spendable by the Mary(s), because none of the h\* in question have ever made it into D3 (which is always on-chain) and no blocks atop will be accumulated. + +That's probably confusing, so here is an example, in which: Simon starts with 13 BTC, Mary starts with 40 BTC, the side:block's tx-fees currently total 7.1 BTC, and Simon is keeping 0.1 BTC for himself and paying 7 BTC to Mary. + +We start with (I): + + Simon 13 in, Mary 40 in ; 53 in total + Simon's version [signed by Mary] + 13 ; to Simon if TimeLock=over; OR to Mary if SimonSig + 40 ; to Mary + Mary's version [signed by Simon] + 40 ; to me if TimeLock=over; OR to Simon if MarySig + 13 ; to Simon + + +And both parties move, from there to "M8_V2" (II): + + Simon 13 in, Mary 40 in ; 53 in total + Simon's version [signed by Mary] + 6 ; to Simon if TimeLock=over; OR to Mary if SimonSig + 40 ; to Mary + 7 ; to Mary if critical data requirements met; OR to Simon if LongTimeLock=over + Mary's version [signed by Simon] + 40 ; to Mary if TimeLock=over; OR to Simon if MarySig + 6 ; to Simon + 7 ; to Mary if critical data requirements met; OR to Simon if LongTimeLock=over + +From here, if the h\* side:block in question is BMMed, they can proceed to (III): + + Simon 13 in, Mary 40 in ; 53 in total + Simon's version [signed by Mary] + 6 ; to Simon if TimeLock=over; OR to Mary if SimonSig + 47 ; to Mary + Mary's version [signed by Simon] + 47 ; to me if TimeLock=over; OR to Simon if MarySig + 6 ; to Simon + +Although, if Simon proceeds immediately, he removes the protection of the 'ratchet'. Ie, Simon removes Mary's incentive to care about blocks being built on this side:block. If Simon's side:block is orphaned, he loses his 7 BTC. Simon can either play it safe, and wait the full 100 side:blocks before moving on (ie, moving on to the third LN txn, above); or else Simon can take the risk if he feels comfortable with it. + +If the h\* side:block is not found, then (II) and (III) are basically equivalent to each other. Simon and Mary could jointly reconstruct (I) and go back there, or they could proceed to a new version of II (with a different h\*, trying again with new side:block in the next main:block). + + + + +Deployment +=========== + +This BIP will be deployed by "version bits" BIP9 with the name "blindmm" and using bit 4. + +``` +// Deployment of Drivechains (BIPX, BIPY) +consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].bit = 4; +consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].nStartTime = 1515974401; // January 15th, 2018. +consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].nTimeout = 1547510401; // January 15th, 2019. +``` + +Reference Implementation +========================== + +See: https://github.com/drivechain-project/bitcoin/tree/mainchainBMM + +Also, for interest, see an example sidechain here: https://github.com/drivechain-project/bitcoin/tree/sidechainBMM + + +References +============ + +* http://www.drivechain.info/literature/index.html +* http://www.truthcoin.info/blog/blind-merged-mining/ +* https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-July/014789.html +* http://www.truthcoin.info/images/bmm-outline.txt + + +Thanks +========= + +Thanks to everyone who contributed to the discussion, especially: ZmnSCPxj, Adam Back, Peter Todd, Dan Anderson, Sergio Demian Lerner, Matt Corallo, Sjors Provoost, Tier Nolan, Erik Aronesty, Jason Dreyzehner, Joe Miyamoto, Ben Goldhaber. + + +Copyright +========== + +This BIP is licensed under the BSD 2-clause license. diff --git a/bip-blind-merged-mining/bmm-dots-examples.png b/bip-blind-merged-mining/bmm-dots-examples.png new file mode 100644 index 0000000000000000000000000000000000000000..70f11f6bbe935b7b99c51af825947da8a5029971 GIT binary patch literal 41116 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 Shbc6Z~PyQln@sH literal 0 HcmV?d00001 diff --git a/bip-blind-merged-mining/images.txt b/bip-blind-merged-mining/images.txt new file mode 100644 index 00000000..00b39320 --- /dev/null +++ b/bip-blind-merged-mining/images.txt @@ -0,0 +1 @@ +Images used as reference in the documentation. diff --git a/bip-blind-merged-mining/witness-vs-critical.png b/bip-blind-merged-mining/witness-vs-critical.png new file mode 100644 index 0000000000000000000000000000000000000000..1a2458d42fa50306400128057808168e1e9b9ae7 GIT binary patch literal 67570 zcmeFZWmKEpwm%BAK#R9H6f4E86!+rpP>L6KcTEe$tpqC?io3g%7I$}t;O-Cz$xYvV z_dc@Ex&M1V+;8t1BgsgfjO_kdU6vAR!@te};ni zj;>Ce#EK@&389oUR)Z5>D5j2XdcNkvS3) zJYQZ)T+7?&DAUV;Ko;J&>o`R5N;!?1`ZaZAcz6*3W->{2w^7w6$z0Be73-sy`Z;KR zr>3mx_^tD5X><`2S0rYUWB36%9o^kQiI{8m8Vq8qen+aR#st< z<>3<=#1#G?N7*{lU)OKU?#?#uII^Jz^QoA~CeqHdde5F6qEw}om9auoe5!T{f;Ip8 zVio$jn1i?}Gc~n&=)B7N_lYb>rO5E-f379r-l^(;`;PJKSt?BfJ|5mS#xL7nfIpOa zzx@O@Mf9cs1x3O#{P^ipsb-WavNO;ajWkH5RM9N|g$AQ_Qk2v2*AskRqo0L6x{)3F z^IuKyiPji@lOMg8PJ~FDRf@RiGd5TAf3Zkog;tO_y;U42Pb&XNZ+pWNC7@hfrbr8K zGNoWHYPiVXVbrl)7kKiZ`h&(Lpkqr=v@LCQR)648(K+1v_{?csUw&dK;!?jAO&pRsF-;@Qrxyv&BTKCnvEcKJb&f(u$<%rM16&5KJuf6$u3QVT}tzUL(V~iC2YP* zzJBvtjhYP6$6VQVUE|Dk68l<>@U38v?BeB$`Br#l1AdT*lxPh0+`_WSAe$lb)1G19NxM*OxA zv*olmv#xno|9ZgXGKGZSu{o=B0O~mqw&-V6gZy{5#d= zAGa@qNX^KyIU=w12MOt{KVhuDD)siO%?Cu(2I8tUMWZ-QUs~4}>(O;!|ZR&J=+djX3 z!gb#r=56zFc7m3%VCXBw9Bfi~E?fsU8Cu1krA=23zhBM?tmawPiY`%5>-^@S10!;c zoJiBkzPtBxDJ$s;9a=({_ASY5J%%QXd7e(DsmrS)JKBc2oIQ&?=6N_%^4MD!rq`TA`L z@ft?1_IXr=7{u36Qs(-iBno|1p#*%~UquEAzrnxpH%@Cln;Q;!f^VlYQ&qPpQY2rg zi|$17QvP19YJ*vr?H+PgHyZy_h4t`gt!fUM;B%V1?>1Oc;eUgM+Y3_ppkL7h+kITe4mA zXT?YDD|QM}BJ4JZPUy2cnWg~A(A)LW4ck%wN#qs20ETAj9x_(YNs$O&wS}}ZMq&JMPgUnEaYK*Yi(m*z!`!{Y)xG9qRT*8-BuJPBNL5NHapG0a=gE%j+q&5Vy>ixvu3OYJED?mqz!Jk1US@X%kJzl@_3S z4|rCy)e~i!q<;KU{W9(K0h8+m$lB8c;4R(C%TiKZJDoU{qC@bnappKZms~#5Bgfuq zWy#h)R9_)3?va)cm^M82n?LO{w2a^bva@Ad?-lkZpetN0Y&(Nv{M-USCt<<)BBs7( zuGd;-vQ8&2n>sa(4!GVe|eEBFR#P|9e<)(9U@?zwM@`-YWLl~=hC#&R+W7DoA z(4E#P6a(L%vnuGtjj~Bp^L&dG*A5#0=CS8wSgoo)F=nl2wRQOQqt$d3v0$pz5zR=7 zy^pcWcd_k^^Y9NjU(nBGk45S%2_iAx+oB10XU`k$ovC)-ELmhUH4nqPk;>4ZyKZu+ zu-d)BXkTvp$I+C|-pP2!iFWdol=jUW_ro^mWKt>L$$3|j$N;R4zD;LwCx8mjnz7cFo2$!AZT7LcX%~At8F3+}=M~H`ZCwT*x{yl7iH>#U0hD?u;S0ucqpZil6xKx+;0p_0YS6%r4r5DBxye% zC6 z$I`cwz!6LIFKPEP_kLE2V=Lw{HQ^>u=*h8X*cV?c`f1H!l_23N{!^E>_x+ZFUUcxJ zNZ?hk*+O%n*VySyRiHPLb~4jD2i!Jzo*j>>{kZA$Y<)Nkw@lU=;8|s!T~BZ-?57e!49> zFxZ<9c??Ap4mm#71m|Y*U&=!~KVDnxdl8^4uEn(z6>Pqwcmi&@I+`92Q)gs^uTm{< zrX8<^p=obpTc0%-2L8~8xM*kf8k&h06Du+fqIDXl$U`E^C`_XF!Shrm9dvD)h>6k7Em^}Wrpy;Zh4PSOdiG+3&0HUlFY8q>1V9As!2KjTVO1}};0##mF}>TWm^iqu zg;q{lemUuLgH_4PR{Gt8b;0I>^Z}@~s78BZbn&BX+~@ zt|5fwZvx)TI}>IRWdx3ZHs9Qf1JY25*GeQ6*Wz*thi~xicXS`4txQ($@FE@VVQ~gF z2#Ih=koij@wh$7*Dq4ZMGI#@$Auu#vT8*k$wCTbY*LSrTq~j6bYTf}3nbUBcv3|Q# zZBdznRXb+LODR+$CadbJ=muweO@f*-d--I=OI@tOX18RW?BdSgf_ z?3xq)hey;b~(qkx2_^E2XcSU zSITq)TH?#o%4O_8PWKjK=)R$#4YIbF5j|{hu{_O<@F2~*I^_amsSq|We!n-Hs^$_F zYDo%~(5+YYC0Y$Q97l?b`R@H4X z&PpgOs(J-go7iUZu%^E;bbR)jU6Uj}>Zjmt1GMFJd_JvJpi!@N9ahJWGQp##CYxIm zCzQ7NUI#9LxEIwhQU39C*Km>=CipBZz9OBp7OObAO^7suqxfrmb01%LF3c#=E`_2K z!{+DoVzlD!F;q?M>}?{vs5W1g4fd`axeMX0)_knecJH26#HA$ncD7;OE!Qt^)7B6T zc+>wAqi2oXdYB|i*ZXATy<38-MIAcx*@#;{9p+rYDprL#rj^wsz5MZD8v#+Qsb0;* zqeW1>Bhlk-a1lB>y_TsvZOjm2`Vbem?A>Yo-OYJl1!abScGLCUuQRf10Ew@V z`hgh7(Xi;9t)|W(IG+#qoa6ON$XMI0aa>*!jAC|YPx)CRcxRM{vE<}Xkw3VvRXP8V zMG^Z%tFfo>H1yb8@n*?TgwVcr?%g#hj?y!$z4aHZL(WOf#0`1%rit2m>@Sl0^>)R^ z%I%Dmi%YY(2b%mN;M~}`!+5>0TKj41ImrNCw#7NB>fhEHRNb>ueK6IImHE)eHmqvy zG~eeUfn{;%*0v(u4HAtCRd6gyoqLrPpfQAWqCd50kLlhM*=fGOU^WFxK$s=@?kkn7d^On)zYUq>OV1#R$*T+qwp{X?IXKK->l(Tgp8>D&*cTFjvujO|jReNco_ z6cWwP2Pyne6TF+Yn{w)$3^sl&7DJY(eoB!?NR-)x8et#5y+0Mk5c;5*=6MM3G8A8( zes|J-`^=3@5I5IYpN%?EafT$|XVqS3p5CMr?bE7L>V4YZ2c>G?MR>!BHMxg|B4)qG zpNfqn*>4;vE#~DJlA3+Mz?9`=TiAoWK9souEy5`%i8=*&QUf3~tENBRZ37ogEj31z z7a2JJXuEsWkP^$rtKh?gCyb*4lRRjY<7^YN=Uek?9D$D0PeTgk!k|i`yhTdW861%y zQGV`kL*-X{tz%cs`+#SN@bLzO*m=O)mWC(WD;E2qud3n0sWW}51JhL0Weq*?kLTIe zGP-O&vjUk*c_?U3bFIoNM1pU5B%R1=3q3A11b+&vbVO>W(Cp0^N`ykO)2-ZX2?^Ck zG{L{#VGWHdgv7uuk8*a{F$yNOW}vhMc^Ar1#Kgav!?;Mw1%hHJxMG#A(yP`#5HAWb zE)dgTU<nRyFZFniIHbCrG%1m$d= zs+pnr$^DCmcFnlQDT<9G8bcOV#6%?%d~?F7wWNcmnPFeFLww-!ga6V|i4f@SRAC%P z2Zi`lJ?fMR_aqOQERo@Nl0ktYI#cwJ7poDS^dxl86F6IJI9yVt#y$nnb*NumZ(6b| z?Di*0Q)M-KZx1>BgzVV*3MH}b2K!t*q@?N-MW3t$0bYn`wl5W&Hor0b&zuqhmLHw} zq?g$QEqwVq(6{i_w6gV{uu_-TPv-XZ`K#CgcGi~u1;PT@_s3>PuR+tr<=Xv(b?RRs z7=dM6G0nAr@mN%K82k;0qFFgvURUEI|6j3{-gwNGSd^pvo>tP$Nz(@U#5T1~fq{m8 zzfwi>);ryPEMd&NF~BUyBgsx+5iWEspO>`QE4GB4iXA0Fm(4uIT*^A z?*+QfprcRWI0q5ElT6%&s2U2xuy|ah6fk;5SqxKHs!fOmQu?zwAJhYXsv9%~!DjU? zKxRt9TXT#ur!)g}3Aa4<-6pU^Ofm5d?h>ZqaiV~jv}WpExw<_`_j8Q<9ddUbisIor zRm@bl4f03qyRlt7F4*OMZhQMH!V(;P*qFD0qj2nWGo49;it0e{n$t>4Ku6Wq&V#aU z$qv6d(D9v&Ra3uNK)lu4-$84PErMLY0@{KA+xeuSNnp~pf1dRz;GK|>BqUByQ;r?s zDb;o6;5SmMHZS$M zGo+;Qa94Bsl1tT~Gs~e^6tISq7;zNT)UJS}h6hzlD_O?`bE$u9bPiZ=a-8=X!`^*Qh=>>bgIcjSO3?xz9VY4B zI{5W34i9)^F;L0*#LOf}ViIRUDfouF;Fse|&x_%0RhL_XDUVFrE9!2$Ud}n^_e=Rs zvxP~4$2w7SYmP?*?Q1U@)*Paqu&a zUDHd}LtCO&0p%_J(?p7&maG8A5h}*?QvJf4Z>6B z1kgz9pvH$VSBJexQCgitc*M<`vpG+g!gI#G#WPB|UMT0R(n{LJLEN;dTEA zQo~8%KJYEO--$Jg;hLzx_>%L8CpZULMlARKG9qa>dROJn-JmEIG5)P+}4tFl*MOy?#MS zp{HH^vVC`_a`?rU#O7OEU29w!x`feDjdboHMpOu60bNwAoje~GOw;dnzF!a8xui({ zB=9dj;QUW~pbLjw*=#hj7;OU7rGJOU2>!6!3IQo$7dEr8v!(ct7)u?4tgJj7uP;~v zEGee|+dm%H8b;YMP>*%m$wG<_DiIS5KIzzaltc@T@9;EgWlnVSKK#mz6?htZ)DU;ZrG>zAWaqVg?9=bRx zQrUU-4T{d<$j|lGMs5&xPI=`wT!k-IT{oLKtPu5|X-j$S(|3Nyz7&Ta3Ol%3 z?4I7j`$|_1PQ43hDfdO$hCw6>>R(of0;^8X3cVES8gH?SRBC6I+UtGiR--Mzi%+ZU z=hF*M-DqDPA3rjEi5AQ|6cXYZ1C1@$XL~uwE{ge#0U)LbHBxQ$&D7w_>x6()fbh6% zaf!$$kDZVxUG(HQTgpsfPP*?oU9u+w9f5P)9eW>p);OHD75sYQJ_23two)}^J=rN= z9V}n2C(^xpY=(*z@aeGNS@AL$z8wZUrwqj?(yR<@tc%9q zt-+}zpUI1y{PDX?HRMOf&8=kdZ`R`_*X6W0l}wRlz|4H|&uDtf8;0eNz`VGp6UwpVw$;C?4PN@%*Zp-;3H9);f7aZVxXG;rZS*5xKMc z$=O+1sTxO?^H?8qu5c}X=hE?sk}p$&9jBp7LepPSSao-nDG?0mPM@Olov zS~KRn06`ZQH_q8H@-hyO9f`F(!#d4Ac@UExX%45vaY}gHMk8J^vl8j=XoAZw+y^ zDO-+&=?7&QNLG^(@L-D&dHOh0&RAZTI%7_Bt4X2egivL7fpT852__D9Fcxj|UrjK% zyNZz^{2DTD{qL!79#lscR4Sqp9j)))xouF}EH)dl-}P5Q%K&6`iWoZvqUeh>ObHmtcH& zaE7k`6+i;%!xPx0fYcf2qYY&U(9<0^+E&Q@cRcwW`s;46nPb=~FWsDr1!Iy`tykr9 z$BnQjQ>}a$Wt+c>3`+S9cy_J#$NGt(-qx0<^J$bgh#Une@SE`AI<~N;4CNuY4;qsU zp||M)ew~-f$o|XyToaPM5|4ylOaJTa^~IW-FJ!aDz2UjI{e6?GtyTB+p4U&7r@4Eq z+k(KpDk~4=jw%r!St}EDDWaJTKE0urM?`YJN$cRcYbv>KS0&Ft_RB$TeUrXC819;- z8U6VwFQWQV!RqDIyBSrodO^6CfqszaOZ#Sw4Cb{{(lz$wrFhGX z66xCvz|F%*=ClRtOX8|=%DkLZF(KFVM2X~1sJfCOZ%apiOVYkr2s+pKF^kMfKuU$^ zS4=(8;)qnXW$NDJsm+zATKrP*0lqUZtsN&cINLEIs$+aae@(F6TCUXD*otsO@L|>= zp=E0r5dDyY-WRG3#%5%L4Mu^Dcf{N{?AIWcBv#`+9YVl*z~(nzni&J#v{vj#yY@su z6OOExbrXP-VSyV@+o%Id9D;IB>_|JY%is}R(kEblt>|E#lv_Ui3y_4>?_4!TQU=wI z`*NY5^?^w+9VG~Lat9rs*ZGpeV}>;y_=BHTuP0`zbPr5X@|5l=mnF`qai-sAqHfv- zoWa2CHR&jo==XJKBaa#IyA^t^K0n_1tZ7 zBCo`;f=gzl&A7&cQR>P>Caa2ipIynhZYIA=A$m~#D;0+Ft5(X-O5aMyW7%)hCEpvH z0Z~rtAXcd7bpaYgPaHW8>&jcSkM~ z3?EUBZG9L6`spU*K(w1x%5@@FfzUCj|6bRGEPtUxLqhTv{S|<(_IrK;U<+8wGN|>{ zW{3pXRY*?PVZxzw(=RoVk!iTFj8IT=+Wt6>sz}~w)~EJLu39zP5=+Vg7p3lL_&Z|A zNL7{aw$|LR!pH)Ow$3G0A~8kSnDl@B&+18lYb)|!rB-3we=Ou1Kcb`x`Qk^FZTc%q z6U(#U^D`ADDDfwha5Ikg@`p$(%rEea=?TwaKLEJn!_PkRKYjlSg&GGLua9V}C`_b~ zBm*V*T(a7m4pohNqA>#AhJ7l;G=HEB|n-qU@#s60Uape0;lK*!-rWkBWzk9gp;1)B*yn@%N4Yp&|b!#lMWj-=z3IlA`Mv4e3|y zZs(}Mvp-|%SNj`;7@uthBMj=15;Br^gIupZ-k;Hexbz8y57-4jrvJZwW6KWE|y>s}TP!x{>de+$NJFA{YISEIxTp7@kIxP?_prcE38APf1 z-hTHSWn==M9raci;A^zh`C2K*ssl&jMat7tf>;(SPwm0M5{ZP=b8dJ7R;#HuwsF-% zAI#I=h%m$_2)q`jt4r9@C7e{LDLhy-c@Gx=Uet;yL~ORca8sj^4D|@$bs)I~et!N| zjs7qH1EI_s&YZ45bnum_Nw3R-3J4av-ian zy^y*cs1U}4>$)C78+b}Nhcw9FVl-@=ZQorU@GRBBFQE_oxr*73Yx{KIUN#Xw9TtBm z@t+lvENBY0x`8E7m)y6WpWkHo1WPiaYP|LEbr>RaXp}Xl3goFyYfbT*xw+((15ztJ z+499P?W>qDVMfL0vdPcvh^jWu&`;M=W?CNPn$?z~tG&Ih>`PS&kt}UaeMOtt2-*>&UV;n#PNS*!sLt=H<_cPx!g2$?yn5ao6n=XJ)nC1l-Sil@d zJO>~Q$@BA?rhI)4yB`$3gL`*v1J=EK;2%rV-I9dyq?Zygs-9+cQf$xy>C)*!$ zu*Z%+lcQ{s_AE5E-ZRHf=021hPv-5?y~9z7T;HW;f`8Fx$paRyIUJO&`$m47yE*#y zW_!zC)WtOz?~peS?VJJwU(mEqulYf#)@GF z&~3reUprp!=7=txbd_%itXvK$HmO5lnpS_}>GGrxs!V#>(&(^$c+&sYHsy0s0qtbU zA@PJmY9)&pyGLIQ<#TZr+rqu#zIUTkshky7UCsbvbQ$?-veWT?$AmS3_{t>TKxL1n_YbqfoY>K}sav}aLD>#Y zr-g1AoD7)O^-XEb8`sC$nX1>U82t`3yj4&SO?(ogNf}ApP5PDqj~YJX0a`27W4b5qSl!<}7Z5}2-XLj`f zo#E5@Cc#_PU=M6te*f#mqq1Aen_}YiVeQd&m51p`dgX(l=qLZC4>%C|pmDbSC{Ha6 zci?X4^qr0y(Mqd}&jJg(LgVNVhheiX*y#L!hxj~?t=LN0j$oxAAzgBvZio_FYxg=# zh#3&))^xhJlJ>tyV6oxEQMkREAdj=y%~}=d(CND0K%g}^fr>C68@J>L+Xcabp=j*Z z8}rArZV4L;&15(?+d`-t>%F~YKoWD4-QrDG;h5!#F<-q~cyP(;v|`)P8=@hO5S5!k zo{jcN-qVM>uKEO{i(Ksu@Yth+>+|R=IBWB@c%^L}bDrJe==J21EP(`_H)v#@^+6tDT?pe)DEDDR~1O`bOh8_V^m2$aRm4IjhtYKE(J#I#O-hbujJDuC`lw!%Irl)yf8G zs;2HWr+m>bZj!FCqGO{XaXic*$i<370;Q06$JK|*IWSIj z1^o(dfl*4JCXIUZ9T63{u!1@y##VoyfjaixoAu zQuXbJ=V^2e13BBiv&m5M#0%|21GK>fu_DJR=Otz>kI=D^O^wSrRj1zL>`&lOs(~^7 zmNrQeE72sCYfY`z2BXT47%^x4V5~w%gW2P zHi<(iRDp9>w?bZVejZoiH_!hkRV^BzceZ_?Q&Njab(6hXvzSk$TZ#pE9{z|YWaAg^ z&wR%Un}+$A`t~JL>~0?x9zW%in#=N!Xym4A{Lo-ZsMJ-*agA2EH&yIm)1Z5=JjzP= z7oH`03ilqJ9h3d1c9_gO=O81gI*r+=*kryQ;|P`oL^T2Ez~2W1rPO~)oxiOhFHv(o z4u(W|8bUPfe$3~vOdU?xgCWLXje5Y*;co6Zx%axLPUr+3-osdqVuIb2``uPlC_eLF zXdgmh_OKx(1Y3#zVXKbcnwvmsWh35>(Bu8)#LYhHIho^=Z87Wg zw^$uNnzy^h!v>3sVdOw&3i4Q=II2*i`KCR>(G2Dcz4qT?93>paKPpx& zPBs&KgxoGXGYl6a$9}}7xhlP_gV?PdQ&27xnM^)4q4sn17YZb1cE6LT5Y=7s4L$GD zqi?$1lI*OTELP5x{SKv8TE}+p2 zJGcG#!W@~6w<@DclB~LI!dB2tBusK z{9K-WSvExRA;PLh=%6bHM_0%<>@rqMw|wfWB(x-Kh6_K_+xTRGS!8K_vN-#<8*cfL zmMkJ`wqn{hnxJ={kegN-A_25YZs@I9stUSr;)LVP?b<7!4g%JCNJsS^3ojjSrpY5Z zUzK>N!t$+&TBzmMjb6S*MjQN(Yz!<3mLU0X>m{3_DyLEg&eu4DVsp>6E{2Fzw^Zgur+TXxibdj1v?Per_o zV4ARUt!{GfAqd5aBclU>OW%8d)e*Hm1wfmugkcgv22A8DS^j5IT)6o3%NH?kyxU+rRu(eYO zTKe!&cz@M?!zLhWSs>ua-3FuBLn6l^fzjTtAjWpTO7J5*wf;E7B9<~U`Al_{Y=G`G z2(}dTCOaA}xxNj1Zv6$}=MKOI#`2mN5CqfWNvCULW$?RTfeN)0eVazz^`H~Jtnyx| z726~1wRrEowRiO{?TZBkFUP?f)-{jt4EJZ1!Ti+@%S&8q2378>zh6B@)ey$I49I(A z5@0OWZr4c{$lNZ6#`?!&@QPpIym51Ans~D^^tF-gaP&bn#LZw)-Xx_qS6^TcwQ(AC zA4i?6Ddnls=P&R68QWKf07~K9*#XcFr<&VxU!mq7#O2v`SOWcG$2OZ{^#K0{3ym?$ z7vev)xozte@=X~-CKb0vz85XbVd1FFOUNp9Xk693^|Qyb5WelzE$)r}&8f$lTEW-# zDT6in1N{!Pu*n>!bS(biZ0Ved?UA3M(*3M>u3+tJK6=N!rm?g{bqEAs;%*93Toxf; z3#)x=WuW{QelDl|t8}B*_$nD4StYR7?~?#iz`7>&OdulF@syqCRNNh;(3VUUzjwO+=HI7#Kv zidAi^F}^AZt$X#>b%<#t+jDoIS^3WJ`}o|g#a0$*el_MHd%TV^V6w_@v}`r7vxVBSSs%K~1^rZA4Ock?8Vs9AQ_hCFHa*068YA9X?9Ez0cn#5VtBNFV>Q1zq zI|MYXy`Rl8o{>8?QyL8<1rxY`vPG+iV0?$uK`~I7pAXe&Nc4QRvv~GwrFlSk;cQYT%!5uSb zyV&Mi^LOKE&r~RYztWUEAnC{=&h?7kW?hi5v3$EL7IR?VC19Ebg<0$*qvrZGJ}Z}C z`F^m%8!$%qB8si$EoY(|P_bKO^0N;-Rfzq&DSq_L%VeZOdXa6dYiXHxtFL=*u$gA= zinE#7h!59LU2Tn6I~J3RMeb?spSiiMk*Wm`No!NR-Szfmae^(B{QA)nf7|zj+?iG~ z&lv|JPSu(^a*v4CGJ`Ymbk_7mR@!*q0^RA)g$AFmjrbkE;y8XYS&lmfRy75H-;0@e zMjB72JXW8~$rgW`hJ>c(XMihvpW{Y<0E7Axyf8T2w?@ge5`?4!cMh)ZV`rH1vP-TF z$HoZcw}5`)a0e5k_oUcZ9Y4cyRAETzsT8ENcYIB*u~!tocr1Mb#9&jR<{RNjp6G1N-W0u;?jcaI?@urXymS5a~c^$LyDzlGm-w~#UPIaNoa z8tC2_eOBRKt&N8bz3nJ*h70FAF=-tunMwEVI#p~~h#NPXuI_5tU1>8msUY-NRiRx~ ze8<^1f0Q%1(cIN$=NnkeK|q#i@c}d(JEsQA9VGxp%{0rH%xe4-NCH~=Gz&;x_U~X) zoO#8t80A)zU^^kGs#j6+^D`nO`TDkPzV`R8C*JlkeZ>luDarfjHO-L2LZ0niVZ+73 z*eEaqP#D;|zsdv*u&#P*pP$>u(HC{^+L*=DW>HrMO$;c&e<5KGl2=tN?-G;g{Te6q z{rB;^awf4I3sW>eVqeOd8VM0Pc3LSFk<}|@yVqp|S10wBrOTS$)n;A8I~nu}@Spev zjXQZ7P4&K+Apad;^!B}1k%{zo!g1FpL;BFPGxk?0IQZ4+gMRRs`?h{}ij^q;1}Eih z*7EpUzga|Vakvywqo=X2_*vRSJxn85P{~^=!K-kJK3XpIW_5UlK|r#VN%`Z8A*q|S z^g^*ZtEgKAIdyrL#a9)tfKKEiZR8#9yhe!v>QhXR_G+LddT|*QW^>DV;Pwkbz^f@@lVk$L# zM-h8SipntSMY#s!3i|V%aC>h`ihsZ>IQRa*D+mJ3)S4CPlPz&{VN>^R)2n0pobN1l zs{Qig0!0UWa|Mr+U5kE6R7-=#ie#ruz;2WW8X(bij@W{(0wF!HBJ~Z(yHe1}(3|y* zi!j7q(8{f=@Pao*OS^3&_pP^jzRATA;+Y5HWP>SWX*4!RR<`)>$r)% zsN7LyAt=$yy|RP4)>>U{DylVgaO-^}YxJ2qQ)6H_?T@WI8753xlQf2fWERfd*cge8 zi`C8eKQ6h)bu0}BUp_rR(`;tD_lmi{d10gq`r%ZCC(H2%Kz`GSQHMa+v-3M4J{_Dv(mbqIAzuE zusGbQKOK7&Pq0&#_bBMJP8@TgO0R;otz_F6LUkkr-Om&grQFNanxU)`yzJ~Ldom=; z6Q`2({iV{x2JP*ZafiMXukinddocUWxyoTRur)bMZTINlWA|FHZ}T*z(KWw)QdlF0kd~`VHxW74OA5h*7gj8+tH}edVd<+{{y- zKt#21TzZ6H7FzIL9iz&dGC;~e=h);KP5j~7k5EFB5AUO}S^1pyzoWG+sWZ-qdUPJ# z*}ZxKg-|hxyNf_ygN|AJ&QBR6Fp|9FE1K5 zx;cDYvpJfFq@7&~j6T2g5Ci4jmTLQr;H7aFBP@3(i?nl*u8-*4y@@ zf_U)?v@`wI$4+w9Ay|^>-ci$)LMK$ihu7~`FaBnFYL*qJxVH>}$PGV3>`QI|n9mM#K2;3() z_LQH~G2%U_#s*R0jvP_wPj!7Up%9UL3ACbU`=W{qWr!`?E*H7`lA*d5<1Hu$f2pWl zt9yvO(8S-U;BCg1vPr@T`|K!O5(kaZFKCRy_3$!fQrONW zpcR_NzHm2BROtPkujlRF$mv9dmpp92=G1j60l}WPpSL*7k``H-y>)TRCaq6!`WVda z^s`mKX-4U_kE&T?LpI*GqW zjJ<#R!XI3L(Hlhg6!m-MXUm9ZIdXq2IwPeSF$gR9LD?fzo%o7p$tfEa)0>;6d)IU z_jBAO*k&lyjrH^fAm2~iZL|am=&xMraA^H^^H_ETT6RQ2681w(_^%R&A!1sH5{LKs z@BbZT&=rQ;2SDCN|GQTC7wF>eI@ezN9y7DLPrBd(xQ-47V+1_)}{k8QSS@^E-n;0ULPNOeP@vjh7e?v*v6!Ap9v!+?$f8dAyAPTllLcWm# zzlc8Vb|V4GAR4w*;^C&zP*Weh1h!)3w0-HT-}z(2RgjU^7hX5}(U^ytXX7HDzY5Kp zka$1O(j9Dxu=uTCx7dRjoz`8-|JmOKfoV7~LUeB--IIJT97bbPhlh8Aah^?zg3`%O z(>z2yNbYT5M|mXBvrd47l*I;YC6=(1L%YYr8#9q3V|)6wT|(G8^z-K`MY)rA;TLF> zb7|;*U`aiW1ObBO>@h>h5+N$X9NiG+FF^7r{Er0#ou`rKp{}2XevS$J3yF}pj(wAV z_TWJgU;v(E7n=@fOR9&CRGgdqtgzLSFE;e=+H8%{Pl0zt3V7>&7g-BSnc6f65OQdO zMK2a@oz%0{;NnDDHu)*-ub3?gS^D8R)4_i{ z5^Lan#}Q-mi}YX2>8wYF_Q0!GvIn<^B@ay>lv{iKh~vANc=+UgE8p~RBHqN@G)F2lJHUD3-F7leJ4G<*?z+f;P~AEey-sl#zk!2bk6BZy;e?_OJ4#KL=&2)aCy|H zD#i=$*S5JIYxAc#=#o68qqVnlw`BZt@X5s>+ofVR5O=3`nNj=6`#`!JLxmGhqsf(? z30<&`w8@s(5KVmEgs7^zK;v--o#zo5MS;d!&V&z(kRegYaP*N6A)k7SkhlZr^xE~v zgf7|iGojD>{oeYT)~wtVslny7Wozeht`8>`wXIVad^wiesltKuLI0D&d-v#4uW} zTv9-QW{g0ubQ^-&D*+;-=FG43MpoX)5BiEtlpj?Fpc2G#C{x@=`}zr2@ZeS?kYt$h z{i9`1=Rrg#kSc{++o$b4thSTcKwY>NgV@+OZ7(m@XE)7JruuHE4h@U&!gBV>25rG! z7@>nfqKZ5@O#cPiJc6A8B{*a*{oJz^1Pk;MzD(0z@e7eR1yvTlD9!4yWRZG#tP+8*b-v1B--zo|s= zL~YT_0I3%$4sa>ZV1%=6UN6r(`@OL7)Em}Y|%LcN}IMASNYU2DJ2m%Y_q%9sD6 z6BkPGhDoN70@Uq+Zx|HDfd&0w)GN>=;`~{uojP8y0saJ^bk6ZkXD>d7j3R!#Aev#V z?_kC2q(-;-;*zZ!XAc|=q1x5Zq-w8n4HFuXI6{rfS1} zJ3mi3psOn{h`(7p+=E;r_>PA9KS6YIe`DbM*&iox`6x0h`qdumhPIM<-Pkw)_epVQj#KlJVq?iF&q*$C@7FJrcOoZBV3jw;_MFxAoy zdKp^QdeQhz@9J{HCX+TG^W*G7he;)b;c}Jd;#)V6?WnY`uCr%uEy_%rg4bYGlo3c? z=)MGD03EO9^W*|^P?o2$!0Rsvmh5geKvml`prBv>6J)1z^{Xi-Dj)8cyvnol>7wZq z9{l?eq4S~2Nep87+1&pTu_I{3m|G$vEG)wO?PjlDQLOfUYdYLkK|6g$BUjh?cJ>%O zzY|zF#35_xX}7+cgE+k6nALL78K*B;oLVH{@5Ul5)`Di3e;U}{$_DckH$&sZ-VH40 zc$nA_H*&v*Rq_&zHqO^oy8vM@aa^yK-a{+OjR0nxffYNN23GHd_`{&@^FM@U^Xe*% zXF}|-RI*-BggFdNTFl=&qB8`hN+%^N)?E8-vnyfe63YFEC98@$487p97(QHW_)^(Q z+f`(Ul9LuIXIxIBr;u`pA7I|wl!e{(X!weRuE(}blD1Vj za98T5V~WGR;ay1kpJrue!?wNW6i!(3CHhl}xtn_CgrM*bnU?lzMYruls^UfnH#12zrYGZP6U{X#w*bCs?rb4_)= zM2P$+Rb>X{n9N&9M-)K*=tGiYOJ1Bc%x%6g_4wz`vW-h6s>PjZ>PvaDMD~8e36A*Vws|RW8~Ty<~?q&{qYKi_wyojh)j+I>s^ z&3$16kQd|9HH6WPMxiW*n^mJVm%e@cH@SBokV;KB3OJkV7Nus7ooA|+M9pnZaj&m) zq^Whql{QNX5u}+Vi8zG=#>6?5bmvU9VKCvdLhQxgBGSJnD69zaZNRDd~u% z+@D(`O4rJs2R4{rJ5ovnY{oa@=a6g>M&1ug@PR(60Hsm|$|p*YD6)cIN_>+ES+>gw zyd19#QcSrY3)@?flG2eR|G6t>3y>9AR>xMMlN6W@L--xoQ6gInSB}sWC`KQ>jTN?^ ze2_5rrs@C1-dixmx$SS8**ik;5G;6bm*Czw!QCwooZzmV;O_438oZGXZo%CecXy|! z$==8QN8XvYW~$z*IbVQ+hkjPC^;`FK-2;$wue3Gu>js-0nyVjyYTd)!-eqf-Wx~&? z%41HxRL2s{8R5&yA#Cu_2UM=tqr}e*44%!MUQC#b`{mXzftVyX6AD{tH=Vy|r&VK= zTF7^-luR3&v~X0*wLCK^w>xy4D~NY`%oWVBecJZgxWDmH+V>B=kxP4iu?u>j-N>$5!X6Pz`%4&(xT&*Ran}G z-6W|nzU(vT=S-!A+!U%@di;G&xejK3Ufam|qByf0zB*62A4gtrs*{BJh6MM^Z`s4f zQ))%tP5G7pkJ~SskB&+_0i1=qGA-x6>U45_z$>!5@#JG&vy>~(`;|Ef#+%XN?{@s zWDy*%BSWnpRQxMypIGX04cw67x^6|2c#K03~l%!Zr zLS_?lZLb`r$t;_5cr-`-Bx>Ic|5h@7e3PurLp-eqck8aG0!PH2oLlyq%$f0z&>QHz zAIvZLW3-R4S(V;ezcl9)o~$+nuW8Nat={DOdc7~}>uWgex;Q;pWDSTuIfu0D8=Dn+ zQHn}AA_#e(Kjl!A;oh7ASti{ouv8tk2b?Y6sHo*+s>ca`D!3@fzd%_(pxwiHM}Un< zu-kpQnDQ(1=EZXKFui9Br_5R7K^g;CsMBFty>Gxr@XL|=B%%XE&GMGq0)2Ku)I-qZ zf9VR_k|3Vsx@#hpIaF}FeO7d`>RCLqU@z4p{~Emo07`r`#GKr_bx4XiKS+zssK%>z zQsWd+wOC~K=rMUXTs&;F2&5f!`3dT8%CR$?y3|_=&+=#w-`$q-b?}dW8~Hq8Xsdt~(MkU%y@Lf1#pmGo5%4z>_}srOC=X z>sX!*FD?90xvLErl<9=u48HO!i?aOP^hmWTBi8jhjJfB1I@-*3h3n*a`^_`6 z%K-d2TR>@mB~;GZ#9A70yZO1ja*yBIqnWYXD^rtNZj79=3z|>WWWK=iwV#u735Ps^ zn$x%X=@?7m+=ai+Yb?n&Q>>nQ|>@YyrEFfn@OKCAy zpL`$%{x-a1h@hl1s~c(mkZ99Zj{gN3$3(Z6kNS5%PjZ+;f-3;OC%d?)oq6bOO*uif z_Q;5X0~tDjdWfbAsR|iL`A5QgK3gH&@QH@KTP&wqgM04#GMi}B_m3VQV3D@0!2r5V$&j2 za}AWJz|VC|YWuk5WqA_i)W$>-g|+vbiOux_<1MJ$C;iQpq%;Sh$OnkQe8v0P5o%tH{evN2%jegfeu@ z_0B83g(8_ZvSGZYu`ghAfB>Foj9(`RiD`G*y(w!&D`=LpSnBhGqv31R`)jKc>n1l9 zBMX%2M!9d^9X<=xi_yKSj7w&{-#?g5BgMG=DFrjp8+Y}K)}qy_Lde&jOK^izKHr%D zvCh*yZ03wt+$g0EGL`1iHC(F_;Oe7FFf@K`sK8M0h?Jq z^?-D3C!@8LdaJZDoG(|l$pMTOZOm0iIvn_o%X4sN*ax7~9->?WuD?mu02a`h>0$9T zj^iKDP#U_+4ABIN>HMAJK5S&dxsN}&L-SBMLpH=#?FUIm z)vQb%pS32Wl<$V~C&N~J7+MO5(;E{Xfs%{+o)5}pmqT!TEph&P*)8=g)#!NjADw3j z38ha?WpFrt^tg}cuPDaeS5l=r?lxbHc`Je~Jq}*fICD7LWSWQem2XeKkvP<~GYqpB zsQ9sbTly>63Gz?UR-TFIk?s-99cnZyfw7k!|8U8mbN+S3-Gmmkh9#yZ*Nq~J>OyT z8D?C=F!VFb92Rfeu>ndZRn9Plu*EvNeN2ZoPsTRss|>CJ*IV$heXh<8F=EGiW3C<9 zL^H&vbBfq4ZY>6qZmh&2@$zIJZ6XV*mGbAT-MW0_+`aes10%;Cvhv~!I%9kw%v znsa7qk72@)Sby;8wcJ6*L4kAWl&vmyiy8jqqL8(}Q;J6rz_g9}&|Gm4GOZ_b@DWT7@|A1BkF6G#1d4DyQ7uThi?N1jhL3=?ds+ZMGR}4tGLL#q!Gp)~zJeqL(vRpJH z8^mfJKLjw+w86bm5@VchyvAC6F>!w z<%8AUdf}#dR^)n8-h6D1T^3eiVQ z;%Rf)@LZye+6iVMX!ruZd)VY~B(O08nVnwBKqh1=l6$|!AA#eF;Y0qW6r13~#h6de zD?;t${-k16T5EVhVH=TDo^~Z&d~$I4N5h@oqzup6za)R-Dv8HjG41-=+hwZnlI8uO z%BloT-p42@f6Wf_{mf|J0(Bsc2cn<}vu`Z9k=2>!2Zn3}Hzq+s+4vDdZT&9(LE?CZIm>YXr@x(^U~HG8p9B5{c`sHTgdpRj#VP0Zd13H z^F-HPuDm4k{~G{#x_)f$zLJ{K#WX&I{2!Jg%D zpIR-+b-ih!ho$DW>M*D38acFFG&3ljWtX0{+OJWt<2?3 z9(hBlLHH^u`aISgnux`SS?WfeHCDII>$!vkrK%u*uhJCM&JX8nkELUxUjBwz?HKU|r}IlkwQoM;W~LRK^_a&QXwlTV5ZBM&4&V{r+pgEtJV*3ke2C_CE+xUd0qA9jZrgr=!=F? zOWKOhH$5*TaB%q4r%u_mBZ3Q`-M=JKTZWml@6QX0XX#cJ31?&UR`h-s_seDAtf0*z z`8BzI!J^7;UbC0Qk7x4ymX!US%&yN&^7agLryfrW5#l>yx=Vh3UByqBS#8_t&%E{wvAjz2w5aBV=W>?*cK+R#=;3-;?# zt6bIWiM4j|HFOS`c(6NboY+8fCncbvT8S%*z`M9{EmFz-d{S&3-=D$GSTUro#e0I@ zRqD$qFnK(_6tV;t#oRm$wO5A@!PrMNpgeLlCs ziU#CsKE9n-i&acRO6HuzPj?wPOLUH~#{8b!&cO|bAb%s==qy{d{ZuEQS0doJzZQMI zyM^y;@TJri!Ou}>&A0Xs3|vL!F+zgwb*Xi|6Wi(YBT3Vwo<;>^bWwkpak;m@&51?RxAA8VRtulYisrtsUF03W3(d@c&|vwmwANU*rO ziS_r2w+fR1_zY=x>(sR`?%gCF+mk=psCf73XP=K};m=%3gHzeq1DVs4)^-JE0HS^OWbRD<5tM39RNX=9W!NBf ztbz)fkg$BM?gNoMgY4ZkaLMpU>%z%Sm{C)3`kmdeb6M9OGesb?msid8p6iF~Jw*>o zCk!pi&Z6H}R^)mTU6*)Qm^l$l&ab!St?O16D$)Zt-3QJyKt|nS?DayC3oV_!(iT6R z5gm?u7q5Ri-`8nr^unf2xuGImrLC@R95DDN6KV#`AoTN7_AD4N~q^dQu|@O=UqArt#mLl}E8Ueyjd7AMX!xGbj+14^cQg?CrWd^1$IqN4?)j%LLd<~|t`d@R8k zg$uMvh5LPS%7oLy(`H9C5|=9P`^|dwJEVeodHQKo)jyYprp^i*&KvqJ0~{?yy>~Y@ zoof`KH$5gnF>bdaFSt}k<;^kk3>qF~=&y$-_CE~8_FG>7r4Sh(LAIff=KSl!2{%~ zdoO$NP7dcSPV!zg>f$@0f6nWZzRHO1e*heZung zMdQnK!^Z(Nz=blhf^aqNcy*ongaO8J(TLJ#~SYbzD zWnF#}_oX@14g?O3uibO0^oL~Xd7KQ!T}h+(uoUPd!9|Q3*Nsu#NSBf8(S3Kg?5ppu zhkHyjc@$fGtq{-Lfgb)87b0kag~6|iRPKf25Y8TBVrMxWSYpc568hCWkVUIZJE`xF zO@8v8uUlZO1wx=v6=U+&6E+M$60C;;F3Y}MK6=5Pg7;b2qWl-~VEFB2wc8{^*fR1O zwv4DezF1L=zt}Dv0{W9@fl%&49||ZUvUahE_vq@$ic(>>s^|Ju0lfbRCd^bB%I)dK z-KDVj`4{wu{SID=@*$`J5tCaV)nEXIffY61TRLO+!uuRWDHuZf25|CDP7-U5P3W!*%E_^hA+1^ z@$6Unhe2?!2YIpwG(MYuL1qZ#^>09(2WUaaZ0QZz_HE=grlA(4aMSJ83i z%l(Fs28OO4WKJW?szXBsb~3u(#*N+0W6KWeTeS|YK(tm+(MCpmQtA|cxb;{Wr_`uW zb3Uj$i)e?zZY9@5nV4zTvoOJ($-@8*_dfjt_hzt=-Bq-~oqw$PJ;w#iQac6E@cK^# zgjb%|vi#zY?X_>n4PLLPQ+?Xk&~XDvKwW`2CP*7iwd%g$?XkZnAhdn|ARt=zW?OAD zGnia|FrxK6s$cEpD1Y4b=)i_@_2`A66TU0!1~8BxVXXVY&OLt1>ST{f>*_SaKonrK z5@TZi+k`86>Rs-<@G+i^4e)Wem_i~pj*tQYJKmS|O2#o>oVvMwEfR6%F=yB8=RG^(Jv;I)KlChw*dR~p8HOug1Zb{;3eYIJ=^=l4{I*>IOgktu^7Ra(0;$F+J@d6 z{8wSK5vONitL>QQ^;6MM{LibzT&Ve1e|gK9fc<_MnKrnS7{+KJtzv`Pk@jSo=fohF zm!4muRuDF~Hw;_93pNiSPyglf+5Re3~Cq;LeYO|@HzcFSeNX|{8UNp_Gm+Rc}CL+rG z3(B(8oex70Dh1t3Zm-8KMa{RkCtM146dnw$GSHeolJ^iCHQclBy6S~AOD5x zq2RZJ2RY*&3o2+7UVcpQ20sGqAvR1Xoi1N#)mtq==V7HRjW=FO@x@%SH6d1#idzx` zDk>|Z@+uaih8sS6lpKs2Ugsw00PS;}CFARa8O;U;yj7Hh&3ND&+z7FbHJ&V)jAsAk|FIZ^_L4HNpJ8s$8 zl0LSVXLM`z0Tv6c$-hr6kh+_&wY|T(CzM!okSjDH!liTYb~wM@a0&W&I92VRAP^s) z@f|gRF>Ie@XQ#;VI^b>Mu`L`+gHAr%hPyn4@v*q8#|^TdEW7E5wkKtZEo)g&*c3uH))pSKHVFY2L_Z8K>z`3|$|QCb_!_n->2?O^vXwMtCQW=`ZWqUVnEra}nAR&L=&A7xFxG&A$pqD8al25RQz+g^HAA2bC7J=`bwLCo%uFUhly{H!RfdjUiJQhWm*t1XErz- zrL0()JhoN%7pD~asKd4%O@ww8M^elbAQ9*As{BT=gL_6i!9=74L-I<{d#~!#Zq3!1 zYN&LQt2AraHQ8R+Zq58x(KU%KI}A_$9736Zu;EdFH6I$Q6qU4%lkyYHi9V3|m_2?x^N7%35!d_cI1*GBRsJi8O{M11_b#%31 z>QdU7aVk4p(UVPu9>|ny-aZoRkGCA8rSU}u}EY0pEqP{IzjVkzoQRCHEgivY#|95l7~5mVAXEIx<#@vNOpE%`#{HU^^4zspUU ztVpHe6Mh_i-qxm>E(toA^SU-SSGuIwTLR<~#MYDW8s#4vNr65Nx^)COl{of_XrZep z*>`h~mrruw<^yY=N95Wayx^k1)ukdwXg|w{Cy!>GGr^soMqTztL)dy1wNfh7_9|kg zNH2=K#qz*et@WLte76Crf0KN{lr{cVY@b$>n+qrSI(}e8@Cp)T8Nz+6H=@ACZH)n8 zR#YG+WYxkvz2Dlhe>v|Oria4KhhSzfsR_t0y?^_R%~e`)CHA>TxTy&YLLtLZqw=v@FO z@D6BdNM+DI(g!%-u({I}t2LW24vVU)r-9827+~{)25}XpFt~#*a7R&u65jB!53Llz zQ^!Ixr&^&+AWlQVKnB=L)b5!HI_8(x0Iva=y>&c~mP(}-u5_r` z=EL5PQ-#5t7|Q$?N)Fe(d^gia$(tPPj{m`4d`7BR)!aA+fpBDU52{*UP3`Kqv&4s4 zp#S);Z=K!>?JR8fGXUiOJ2-BI0Z+rSSx|)7B!*fhfdIHXtbGV2e21H_I+CuiC=Rav z@(^E^GTjQW7g0>Cj=tP$UUAPtf-PB*Y}~%8Zj`b!4(I!Qs0rbL5vHRgq3pN1nd@5{ zK`4Z}gkK&sTz;?KUe(g4k+VjX8GH4prX6};a8kQg&pQcO92@7>;cJaUy_Hh;4vQU!f5Lfk^8XUf zi$sh5*7_!*NxHm58RUwrH?`Rt#a_~V=hx%nH`d<`!l}+atlp(9`mubGaJSereKd|r zqS@65$Cq*=XN3qA&b)tF#MXB_MG`}`e=g?emoHTUkmShs0{1WZ80=ky>o$_xcAY0X zreW$Hq(I-hWKmAz_LvtIn&~(K7;cw63@xWB5fW;0@|5`xt%?o>xWf4LxRdB;`&R$~ zOVEb+i0ERzOtVct1`W8kVr*B^>FTtJivAH_Vt{;k>w*QN#FBZ=weTs?L+Ku7JAuV$ z^d23ii>)24db)#gsyz{b1Dp#hKZ~4rumeP!XdV>jAoPy8w@eDP+XFNCu#*pn&7|Dg z{y1lfw&2C2qe9_Ctm4|#XR$LrqFO#@&+YN()~z}YJ#g#Itz#Gn&bGrp*?#(jh=XuH z>ke6+!SExQSFZ>yay3_9ra$uwOn7J6Z`e^kmWAcAlzNx{uv;|{0h+xj%Q5h?l0R0 zlW+I2VU!3ejE{WQPk`G}uv7&j)W4BI5>eXJO{y(UjSr5d0!UZl)E2PJ*CpN^>%r(9fZ6X0o=7G3r?s1ziunp5{_k^D{>hgO00h9%4N{)ZgzK zDRh-0^yyIeb`iccp+eu^qjRLgt~+ue4b>YNfL==ua(`nGV$3P$bHU>98i0YJ@PI=D zgTIiW61@LRhK_OCx3qXA)_>lzXg^ZmqWn4iKo|$9P(5H1-oBUc5nCh zb!{Cq!2S)v<7~l)5v!A@%CXx7&r46?t|thM%}i#0Vb~F+X1htI&ruska$|OX(L&S@ zoT|=LDSA*WOP6DJQIf%G?)Z4*Ew@a}lkI(U6>5!rc<_-$b~4+22ypkXDQiADL04sn zc!#U6yh2H#;#S;ZZ!VkgkqEhiQ?)FGm3^%Q?&WlRE$T$2ESng<=cmyLvm+h#2hFBi zSmk4~0jqACEnmUm!)2DA!O7o~qBaHUEeaJ};=ol(@h}?g_m`jXUjhh|XL;)K1D-^XTQrm$8(hg7hbNkVW5&5tT`5#t^>%!!j?|2#Gmt0AAN(nscpgxUO!|b z(iqUPzu4-Q^5j^x-n*y}QDRG}g+zvh*q8WnOxaO~qphKCyK#7~TQ4xT=y()1p-U;y zP-e^_-~CJk3MH;G(d%Jr5XlkFW?4lRkme{eqcBXi=QM@6-hHinMrz@T=Y`#G{lmC} zLFa8)g@*=*vS&LzY}hLU zmMHuZ=^wVbq?U{M~xYXB{qWx zg~QU4p4`_tzj?@@AfQUbllHFxGR)ypla)xv0*v2*%oo2_;qVb*oU2bkBs!Sc#K`zo z@h`B0NYQn8CnReFv{E?U0>HR7)eD^xkVqMo0MeH_*151xnp9iSGnlP!g<93rtWL@Usd*_v+^1r zHCw0tPkLA1+WIYOav4HfXp+wv(iUOn%agz|pYO zJgok!cf>-{EJJ_&p4wkcOsgx^B@y1LAo zSN1P{r5Wx=71ONR@KJAUE*0P!=|g{ z4L0TIN*^cz-u9KswI?-&RkD}e&Q1)-^{(TydUwO$PjcP!0AWbP$@TqDs)DF_GH=6#Zhz7Bx1#gD-M0G zsm$G#>bc(D^$1zfTj8sc;xe^3dkLGaLK-;|i5$PLm1;1!;SHlSFK1Bkc;PVNyjrl( z@(4tWr{EHt+>!sM=3NeoWA!|p? zg>H27uJg|ju?ic8$FM?$*Shs~mxQ%&qHepi8R53f2fW_2yuV5cxQviJg0*}%d=Kzy zJgp>3xGkpM`Y^kp{r0EdgGwCr6TGqZe#rucai6s>B&nV|@w~bMBdop*HK?h1X=fVR zO2;hWT}jiL7=oWV`kg3uzU=AC3dNp-?F;tPHvAU^_3{~wcTYwho0FY&(=N!$v$UZ_ zKY7<;aVgAwxH~8={ z{8|g6a>M%W)s-CLs$XbNMpn0M;X(0t)z`wYEWzbD3B{S5CydW$F`}D(zNuTdhWdk% z{|26Y4bD1lswMEyUR%2HweWO_`OPYXflPf40+Llh7A{Hk+-qg^5QXS;IHe8>+|&W? z*V9}$GGzBE)XqZ!V5CpN8*LSt`t4PsI-RF6+pvWx+!yKWxKf%Lorx$tBU#FPulhPr zgvF#YKlPo7CJj5GlRIVl#m>Y%s1G%X_ip4-Z+f!gcCtv4g>_?JYa?$3-qktJ)iB^e znLgktg!5DAu|*Yf!06TsP;$4d$XtH37Hlp&S=3x#3x=RQd_nSMJ9*QB9^t{AwHNP& zDdq%Al<4$=XQ7t!zos@Y4{##gvu8BV`xX(2S;(Gy!pJ?QKgc~|91dXtff>SoVDbKq zw!b65o&uxtt*P-}G;zPgzIGEGzwkW~0b#Odt22o5W84Duk}oqk+K_g9?$*$g)9_4;Ij z5V#!M{>$+F_bUFg|JG>yw^8K3T>_WC9azL;%cd&KY4&mvhhU%z&L zxhiG{v-LY6|HH16N9q3w$^P>H2>3phnd;U-QwMh|`hSC`@5EadER55k(Jn{SBvym2 zY}9b7Ey?1QCmhAYVpMgamu-ThNX{lSE$-4hCb6-$E>54-$P-q_cGK9n#3b0oFKeuH z5z0-$t<_l}?(f7vQ%{h$|0XpNW>PxbN71+Vd0}q`aS8&tC$~DRc1~H zR<;=wa7|Qqlm~P6e&%X*`TrEcxE#<{r~UA=El7pCfrn!kxAttHP1DMqiwt&4u|-3( zQTH${GL+<;-!k`k|2yU^g~TO1Y}{6^;F~|$byZ58g|3iA24xA2#-sWsDub165JMIs zI5&MA8;4Y^h}`8U!cv#HgdoGLX6OM%xoOC*85lcQr+P$T)0b~IP*zMQyHQ}6wQLkK zUL%$a5pGQzxj+Ep!x&!PKUxpY3;U{Ra>WPJi}$LY-wsE`W;`fJVgQa=;4qmD)u&Cy z=htA79Gke#b~%I_$d4GIXChZLv{Ttc{(( zRj8TI1hV`_@*9S9n(n-v===fNY=E9j>E_{vPVGZ8a&#`jFBgIf+QZfwZCEmA(Ol`a zPA5>h1vJv*XMlGep;2Fbk^fRZYyp!2KCFWO!(3kJ`=gJN^tTLIwRq?p72@9%zMTpk zXDACSpU26lRj>!MX>mU&Dw?Tvs;lrzT6I!#SDnP@wcdWtkh_|)SpP{;cBE!7Bbs7I zHR-2NoP8(GsI%nJl{!}iK`@%kB&hedE&Bd+_q0V#vsL#{-wET0I+PJ8jK?H-fU_pA zpZ=?`;5*GT8NDFYiump!j{#W<;P0n|q3MZV>iK9UfQpl&`?aPIZZ%Gr$$*zFZ~fF? z+C_-=09pF1DZcQY^r*?BQ%)Gaq+ymI3AhBB_Hovn(~ThzbxlT+X<%b+0XAq={|=sS z@_#ZW{89aY)M{K>64=D=t_O8X?SoNc$xRZ`u@_$1TC;k02vmP`KV1BwO`!b1nTPZz zJP#_${u7>8f2=0i(8*Zm=sWP9=wxJwQK=GFo7zTA3!Usf=Z zgdHE>K%+VDoYeHl72O>4YITwgpVTA=xZXIQaWff%Wun(b;5ElET${f>D!IYRHy!B_ z3?eN^Zu39ZENaiVtah22ktp_LTCmHWsC<3I+yD${OqSS3&f(BQ1wo7Du)JJ98V($# z=&^ldEc8birrmUgSA9{nH{QHobDc>588xNJSx^j~uX;T(TOiTz%vq#Pr5$*3mfTw0 zxTVWavxZ}TrQc<#pNBlf#h}lCbG3v0MCV+=t!^B;!f?nurw7S(G#<}PN+u>UKhh(bb9PF zX>v9jEX*x@#=+LX>GGoMGTHN*a$lY?w}k10m>=EG=g5-_=}IK=$tkjNux7EeN-L9?xjueJrzgMJ zO`)Aq);jF$oBnur2gkRtgIkf|>dT=nVt1t(NRO!Nv<`Yt;j|sjMt!iS=D4C66=NdO zqd))M0jI8YzAZ@4SRrpC`pbiEBcf7==}X1JoLBp+psascjgesZ<^PRp49>9PYmu5= z*3WlhEl0I32&b?SP>;g7eUn+*qGwucX?4DSMK|SH^1B7uliEZou~`o@y$*b}lj$(r z-TK)3H+aK}5_=$`B*J$qGAwj>@ATZy)P%i;gAS%U`}|bQJ^1c&om&_i&~B2Xyh5$Z zRh5Y*PpS%|{jhV|O=-Loh?Gz-j~x~TG#4$@f`@b;TNr2J>^#`)P0iB1FFQOj8TjTG zrcq`90>VwVWvuF%+382!;|}r%Iah%^(IJ@p=0NMk4jqlPi|_~}978c!$m&venl0z| z?BCVdavY9r!VfU*uM3ogH?#HT2KP62wuHDqO{{X3ZYw>VvgSq;sf6vVMI5MX`{+lz z2f4ZL=4floGc*pYl9RCF3yVYG+|9Yo%=epzp*r_c2KB`bA~3oCy$>QKd;Mz_fCXl; z4v4;*s@04wzX%>_ItfG(5^ojFh9**(3Ye(S2H zGUMZ}f88}DK=VokUPyQ<3+&j%FDeSiF-wc8KsQKJ=+NCZOs}f{@JGGmW2}8QsbJ{PSZ?Cwix}_$j$*Z2RQ!rz3$O^zP$#j^QOMYwdX@3(rY)aR7U- z>%!;jQIInmWV@>e6}?OoY&rR;V~=X^|EWa<;iq85}ZJc6KVIRt{-UyH|F<>OFp=N-*KIo1e2~Cwrhf(iBdrkaK3QnxM4!`zbb=di6@z(IO-J8LQlt&oEclPh-c9KAHtr@jYi8LuM-MLhwY|Xmx z9p=v+<$M|dURTZ2agdV=Rl+Obac81FUfWLx4Ooy^8oN1i{aNxGx?uhk4ZS>s!{oY$ z2HqG4S|~I5L(N#)(C($&ki|26O;dOVTl5h-7WR| z`V?GC@n~^mxfu_O{n^mIJMdF3`bJdE;VU2n>qWxpRogd6?9~rp)MJxsl~qM)5!$ji zKZF$eaqoQ?Y}0z{YaoNibc1_x@0bauRB=4k_mRYcZI9P`wRo9R_q;KRzkYotP6do7ykqgjkgwSvkzVcrHRDBseiGLolwBI_$kO+GnjD?1e84LDmf&~KG) z-VHWi=~eU)$ghl?hDkr#%sUMRo~^+!g>e3FXpRqjz6dmFd*QS69@M5c80#>|lCd-9 z(CkCaSj+Bqn8a)&f%9<1Y^7J+Gs$#VWhrr#igLx?xRLBwy|bd%kk!JR&dM8&GRJ{q zf{cqM=ccW4;&Rrt4|_D$AN!*;=7F9({-^Lf*(oM#q!+7NRyD%4n1B@7G-Q6xk#DEv zj;~E*Te!#5RBy^|BZxbW3&y*bFaXl1SwcQI2o&odJrsJX1E7AUo+IvUcoTxn9 z@)r8yh+PO;uZXrQ@{9cm7|QCJsS==cJ5A+j!FDJ3$&k&D#&^#xNVQyOm7_)z5PW}v zN_I9cc8e3_(oAFc7kJ3Z%?UJTT?84ema>O&r_>bMbUxP+9lEerAApM3gzyX9l$vlU zm_&&cFyWx&-gCCcj}YuSu{!w77OgHXA>LU^*QhMkMdMoiuyXwW4>@&<-b9$lMDY22 zl$zRk#@olW!P?$1!H#eeOEi!zPRpwI0(Xv-+DMptvj!hCewF!z7Y(-?O4?kQ+q9sx zW6cpe_;Vj4Rg~zrsKN~@hZ7TrBdoc^P}5g3P-)H)^jIvP*hABEvDmZ_r(tpAJyNUJ z;VsBdcgd3N_tf?%Ni6OvN`6KelP?tmcY+rA;O<>nn(w_S27kKqCOIHylP=gi$N-dy+$2ARnjOF^ zQ>=e}UvR_RS4(~)_kHM6bzcA|q9PiAOfw6Bg`J3DE1`d$Nv*p{EZ?kY(dWiWqk-)} z8cBxd8~a4c9O~~(ssGnaK1<&4Q9M8!CN;TER@`i;(@(?5d;oTSas@cR+Rz~r4(f@U z{rf72+{M*zDhR=D^^Wmyg5q_77$K|VuM9MS1OjXwYy*y6K>9%!DY5gwZSlo_#?H4E z3L+J4Tq1dl)LYf>H+YaW*eMQ@_1g=#OI*V=@*nptQqidzYrkWbe8SE5EUE{HX2_OF zRS%9?+YRL|pIba)Y$+m1;r-d>BN{11aYWnIFeFs=29tTS*-KLDZYyYqK+7pLp#l*9 zDRX-+hVkTrB3-m^ctEpKdf$B-Ie@<5vh7~9srIg7CnqMz6~-H+r>1o7>cE$5UY!rFOHDd5e$l9~yN(LC z6P=Fbl%}m!WHx;dzV%DXQ<&Kq6!6QpAAoj96cy-=%ZIZ8Jm~t*9JV34HDe{0AN0$Q zh92dCVl2mNv8zj(SH;DpT)aDkU`AK*fi62+XM0DuephLyofny^% z$I+B-{U!QyW7GP+gliwH)YWo|Nf_ooIe~JWS>W?lZ%`k=cxHri1S@vpy&th4V%4oF zY0_`}V)jv`E9)VrV=qgRJWu|{1yytGM2*G1fD^$juin56stI=#XBGR)CfC7vX7xKz z?L#eOfpMYEb%3(#bSa*t*4=6_3R36PM62ifp7t|LPsGKWi#8B}m@=dtLCNra>2S5r z-wF3O#-YUiP+=LAEqaoh6&AdP>mLazz@dw^->wFP1Qs1ER5-&|7-FLG4R~Z$AvAS~O%B$#Z5!j3s9%h>X)Qx@(;jw0ctrLtk^tTw3 zc?#7I5Jt>YvBy}`!$WEi3?lcPbjAC>1Ch6qd9d=^A|{b51VWHRl83gT4!Cw(b}wzi zvrar7sxvifDu~9evz}j7nJT~LhQ2moXHI(iAS&Vev>08(79%IM{X^q*fvgX+d0P80 z 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 Date: Sat, 3 Feb 2018 21:38:23 -0500 Subject: [PATCH 024/133] Delete bip-hashrate-escrows.md --- bip-hashrate-escrows.md | 408 ---------------------------------------- 1 file changed, 408 deletions(-) delete mode 100644 bip-hashrate-escrows.md diff --git a/bip-hashrate-escrows.md b/bip-hashrate-escrows.md deleted file mode 100644 index 3b5d61ea..00000000 --- a/bip-hashrate-escrows.md +++ /dev/null @@ -1,408 +0,0 @@ - -Header -======= - - BIP: ???? - Layer: Consensus (soft fork) - Title: Hashrate Escrows (Consensus layer) - Author: Paul Sztorc - CryptAxe - Comments-Summary: No comments yet. - Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-??????? - Status: Draft - Type: Standards Track - Created: 2017-08-14 - License: BSD-2-Clause - Post-History: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-May/014364.html - - -Abstract -========== - -A "Hashrate Escrow" is a clearer term for the concept of "locked to an SPV Proof", which is itself a restatement of the phrase "within a sidechain" as described in [a famous Oct 2014 paper](https://blockstream.com/sidechains.pdf) written partially by some Blockstream co-founders. - -A Hashrate Escrow resembles a 2-of-3 multisig escrow, where the 3rd party (who will arbitrate any disputes) is a decentralized group of people: the dynamic-membership set of Bitcoin Miners. However, the 3rd party does not sign escrow-withdrawal transactions with a private key. Instead, these are "signed" by directing hashpower over them for a period of time. - -This project has [a website](http://www.drivechain.info/) which includes [a FAQ](http://www.drivechain.info/faq/index.html). - - -Motivation -============ - -In practice these escrows are likely to be "asymmetric sidechains" of Bitcoin (such as [Rootstock](http://www.rsk.co/)) or "virtual chains" within Bitcoin (such as [proposed by Blockstack](https://github.com/blockstack/virtualchain) in mid-2016). - -Sidechains have many potential benefits, including: - -1. Protect Bitcoin from competition from altcoins and spinoffs. Safely allow competing implementations (of *sidechains*). -2. Protect Bitcoin from hard fork campaigns. (Such campaigns represent an existential threat to Bitcoin, as well as an avenue for developer corruption.) -3. Help with review, by making it much easier for reviewers to ignore bad ideas. -4. Provide an avenue for good-but-confusing ideas to prove their value safely. - - - -Specification -============== - - -#### Components - -Hashrate Escrows are built of two types of component: [1] new databases, and [2] new message-interpretations. - -##### 1. New Databases - -* D1. "Escrow_DB" -- a database of "accounts" and their attributes. -* D2. "Withdrawal_DB" -- a database of pending withdrawals from these accounts, and their statuses. - -Please note that these structures (D1 and D2) will not literally exist anywhere in the blockchain. Instead they are constructed from messages...these messages, in contrast, *will* exist in the blockchain (with the exception of M4). - -##### 2. New Messages - -* M1. "Propose New Escrow" -* M2. "ACK Escrow Proposal" -* M3. "Propose Withdrawal" -* M4. (implied) "ACK Withdrawal" -* M5. "Execute Deposit" -- a transfer of BTC from-main-to-side -* M6. "Execute Withdrawal" -- a transfer of BTC from-side-to-main - - -#### On the Resource Requirements of New Databases - -The "new" databases are simply reinterpretations of data that are already contained elsewhere in the blockchain. Specifically, M1 M2 and M3 are all located in the block's coinbase txn, and M5 and M6 might be found in any regular txn. M4 is a special case and does not actually need to be included anywhere, so it is not. If you like, you can imagine that the M4s reside in an optional extension block. - -In other words, we just rearrange what is already there. Because of this, even though "new databases" are created and stored in memory, the existing bandwidth and storage limits are respected (although, see "M4" below). - - - - -### Adding Sidechains and Tracking Them (D1, M1, M2) - -#### D1 -- "Escrow_DB" - -The table below enumerates the new database fields, their size in bytes, and their purpose. In general, an escrow designer (for example, a sidechain-designer), is free to choose any value for these. - -Note: Fields 6 through 9 have been intentionally removed. Previously, this section allowed miners to set and commit to voting/waiting periods. However, I have since standardized the periods: withdrawals expire after 6 months (26298 blocks), and they succeed if they ever achieve an ACK score of 13140 or higher. I have removed the waiting period, because anyone who adopts a policy of ignoring all withdrawals with fewer than 400 ACKs will automatically gain all of the benefits of the waiting period. The justification for this change is that it strongly implies that an attack on any one sidechain is an attack on all of them (in a sense, this change makes the "victimhood" of each sidechain "fungible"). - -Field No. | Label | Bytes | Type | Description / Purpose -----------|-------|------|------|-------- -1 | Escrow Number | 1 | uInt | A number assigned to the entire escrow. Used to make it easy to refer to each escrow. -2 | Active\* | 2 | uInt | This counter starts at zero when a new entry is added, and increments as a new entry is supported by "M2". The entry either reaches the max value of 4032 (at which point the counter freezes), or else the entry is removed. This enforces the requirement "a soft fork is required to add a new escrow". -3 | Escrow Name/Description | 120 | string | A human-readable name and description of the sidechain. More than enough space to hold a 32 byte hash. Helps prevent destructive interference among sidechains (see below). -4 | Critical Private Key | 32 | hex | This is the Double-SHA256 of the binary release of the reference software. It ties the sidechain to a specific software release, and doubles as a way of signing withdrawals (see below). -5 | Critical Address\* | 32 | string | This is derived by taking f(x) = ImportPrivateKey(HexToBase58Check(x)) of field #3. It is intentionally in the human-readable format {{although it could be 25 bytes of binary}}. -10 | "CTIP" -- Part 1 "TxID"\* | 32 | hex | The CTIP, or "Critical (TxID, Index) Pair" is a variable for keeping track of where the escrow's money is (ie, which member of the UTXO set). -11 | "CTIP" -- Part 2 "Index"\* | 4 | hex | Of the CTIP, this is second element of the pair: the Index. See #10 above. - - -\* Denotes a "convenience field", the entry for this field is derived from other fields, or from the blockchain-state itself. The escrow-creator does not need to provide these values in M1 (or anywhere). - -Escrow_DB requires 223 bytes [1+120+32+32+2+32+4] for each escrow in the main blockchain. Of these, 70 bytes [2+32+32+4] are merely for convenience. Therefore, a sidechain is defined (see "M1") by 153 bytes of information. - -#### Notes on D1 - -1. D1 will always exist. -2. D1 will always have a unique sort (first by "Escrow Number" (field #1), and second by "Active" (field #2)). There is only ever one (escrow number, Active) pair. -3. D1 is updated according to M1 and M2 (below). -4. If a new entry is added to D1 with an "Escrow Number" that is already in use, then this entry will either eventually be removed (because it was not supported with an M2), or it will eventually overwrite the old entry (if it *was* supported via M2). - - -#### Notes on D1 - -##### Obligations Placed on Miners - -Miners have always upgraded their software according to criteria that are known only to them (in other words, "whenever they want"). - -However, this soft fork imposes two new criteria upon them. First: miners should only upgrade their software, if any modification to the portfolio of sidechains [that are added/removed in the upgrade] can be expected to increase miner wealth. Trivially, this implies that miners should make sure that the upgrade doesn't overwrite (and destroy) an existing sidechain that they like! But, more seriously, it implies that miners should take an interest in what the sidechain is doing to the mainchain and other sidechains (see below). - -##### Destructive Sidechain Interference - -People frequently emphasize that miners should have "as little control" as possible. It is a very safe claim to make, and a very easy sentence to write. Much harder is to determine exactly what this minimum value is, and how to achieve it. Harder still is to untie the knot of who is actually controlling what, in a decentralized, interacting system. - -Certainly, miners can not have "zero control" -- for that is the same as to just remove them from the system altogether. Some rules are enforced "on miners by nodes" (such as the infamous blocksize limit); other rules are enforced by nodes but are narrowly-controlled by miners (such as the proof-of-work itself, or the block's timestamp). Thirdly, some rules are enforced by both against each other (such as the rule against including invalid txns or double-spent txns), for mutual benefit. - -Some pause should be given, after one considers that the sidechain design goal is literally a piece of software that can do *anything*. Anything includes a great many things, many of which I demonstrate to be undesirable. Bitcoin itself does not allow "anything" -- it allows any person to transact, but, in contrast, it does not permit any person to double-spend. This is because "allowing anyone to do anything" is not viable in a world that contains undesirable interactions (what a libertarian might call "aggression") -- in the case of money, these are theft and counterfeiting. - -I have produced a comprehensive quantity of written material [1], presentations [2], etc [3] on exactly what the level of miner-control should be, and why. Specifically, I claim that **miners should be aware of the purpose of the sidechain, and they should reject sidechains which have an unclear purpose or which have a purpose that will lead to decrease in miner-wealth** (where wealth measured explicitly as: the estimated present value of the purchasing power of the blockchain's coinbase txns). I claim that this criterion is necessary because, just Original Bitcoin filters unwanted interactions among different BTC txns, so too much "Sidechain Bitcoin" filter out unwanted interactions among sidechain. - -* [1] http://www.truthcoin.info/blog/wise-contracts/ -* [2] https://www.youtube.com/watch?v=xGu0o8HH10U&index=1&list=PLw8-6ARlyVciMH79ZyLOpImsMug3LgNc4 -* [3] http://www.drivechain.info/literature/index.html - -Call it a "sidechain non-aggression principle", if you want. - -To the best of my knowledge, everyone who *has* reviewed this information as found the arguments to be acceptable. It has, also, changed a few minds (from "unacceptable" to "acceptable"). - - -##### ISSUE: "Signing" BTC Txns - -Currently, we use a process which may be suboptimal. It is that we *literally sign* a txn with a globally and publicly known private key. But this is for convenience purposes -- the signature that is produced is not doing anything, and is therefore wasteful. Instead we may use OP_TRUE, but this might interfere with how we detect the sidechain's balance. I'm not sure what the best way is. Someone needs to investigate how to do this -- removing OP_CheckSig, etc. This is a TODO for sure, and an opportunity for someone to help. - - - -(The following messages were modeled on SegWit -- https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki#commitment-structure ) - - - -#### M1 -- "Propose New Sidechain" - - 1-byte - OP_RETURN (0x6a) - 1-byte - Push the following 157 bytes (0x9d) - 4-byte - Commitment header (0x53707243) - 153-byte - the critical bytes mentioned above (fields #1, #3, and #4, to populate a new D1 entry) - - -#### New Block Validation Rules - -1. If the network detects a properly-formatted M1, it must add an entry to D1, into the very next block, with the following initial values: -* Field #5 will be calculated as per [version 1 Bitcoin addresses](https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses), but with a prefix of "4" instead of "1". -* Field #9 will be derived from #7 and #8 using math. -* The initial values of Fields #10, #11, and #12 are set to zero. -2. Only one M1 (of any kind) can be added into a block at a time. - -#### Notes on M1 - -The escrow will "reuse" the same address over and over. But notice that there is no privacy loss due to address reuse, because the address in question does not "belong" to any specific individual. Furthermore, the transactions in question could already be linked by just watching the Hashrate Escrow for deposits ...this, in fact, is exactly what a sidechain must do in order to make main-to-side transfers. - - -#### M2 -- "ACK Sidechain Proposal" - - 1-byte - OP_RETURN (0x6a) - 1-byte - Push the following 29 bytes (0x1D) - 4-byte - Commitment header (0x53616343) - 25-byte - Commitment hash: RIPMD-160 of Sha256 of a given M1 (above) - -#### New Block Validation Rules - -1. An entry will be removed from D1, unless that block contains an M2 supporting it (this will increment field #2), or the entry has accumulated 4032 M2s. Therefore, each entry needs to have 4032 *consecutive* M2s supporting it, else it will be removed from D1 and must start over. This requires all miners to agree to "soft fork" the sidechain into existence. This makes it easier to curate the list of active sidechains, and prevents destructive interference (see above) among contradictory sidechains. -2. Once the entry has 4032 M2s, then a miner must make a 0 btc payment to the Critical Address, thus activating the chain. This payment becomes the first "critical (TxID, index) pair" (or "CTIP"). -3. It is possible to "overwrite" a D1 slot -- this destroys the sidechain that is there, and replaces it with a new one. This is defined as requiring 6 months (26298 blocks) of M2s, instead of 4 weeks (4032). This possibility does not change the security assumptions, because we already assume that users have access to "magically true" bandwidth at a rate of 1 bit per ACK-cycle. (This is why the voting cycles should be large, 1 month Waiting, 2+ months Voting). - - - -### Adding Withdrawal-Attempts and Tracking Their Success (D2, M3, M4) - -#### D2 -- "Withdrawal_DB" - -The table below enumerates the database fields, their size (in bytes), type and purpose. - - -Field No. | Label | Bytes | Type | Description / Purpose -----------|-------|------|------|----------------------- -1 | Escrow Number | 1 | uInt | Links the withdrawal-request to a specific escrow. -2 | WT^ | 32 | hex | This is a "blinded transaction id" (ie, the double-Sha256 of a txn that has had two fields zeroed out, see M6) of a withdrawal-attempt. -3 | ACKs\* | 2 | uInt | The current total number of "votes", this starts at 0 and remains there throughout the waiting period. -4 | Age\* | 3 | uInt | Total duration of time, in blocks, that this WT^ has been inside of D2. -5 | Waiting Period\* | 2 | uInt | Total duration of time, in blocks, that this entry must sit idle, before it can begin to accumulate ACKs/NACKs. Pulled from D1's field #6. -6 | Max Age\* | 3 | uInt | Determined by summing (D1's field #6) and (D1's field #7). -7 | Threshold\* | 2 | uInt | Total ACKs needed, this is pulled from D1's field #9. -8 | Approved\* | 1 | boolean | True while ACKs > Threshold, False otherwise. - -\* Denotes a "convenience field" (see above). - -Withdrawal_DB requires 46 bytes [1+32+2+3+2+3+2+1] per entry. Of these, 13 bytes ([2+3+2+3+2+1], all fields except #1 and #2) can be generated locally, leaving 33 critical bytes [1+32]. - -#### New Block Validation Rules for D2 - -1. In each block, a hash commitment to D2 must always exist (even if D2 is blank). -2. D2 must always be sorted first by field #1 (Escrow Number) and second by field #4 (Age). This imposes a unique sort. -3. From one block to the next, every entry's "Age" field must increase by exactly 1. -4. From one block to the next, entries are only removed from D2 (in the very next block) if: -* * "Age" = "MaxAge". -* * If the block contains a txn who's blinded txID matches WT^. {{ This might be unnecessary, and a lot of work. }} -5. In addition, there are special rules for the allowed values in the "ACKs" field (field #3). See M4 below. - -#### M3 -- "Propose Withdrawal" - - 1-byte - OP_RETURN (0x6a) - 1-byte - Push the following 37 bytes (0x25) - 4-byte - Commitment header (0xD45AA943) - 33-byte - the critical bytes mentioned above (fields #1 and #2, to populate a new D2 entry) - - -#### New Block Validation Rules for M3 - -1. If the network detects a properly-formatted M3, it must add an entry to D2 in the very next block. The starting values of fields #3 and #4 are zero, and #5 is pulled over by extracting the relevant value from D1. -2. Each block can only contain one M3 per sidechain. - - -#### M4 -- "ACK Withdrawal" - -#### Very Little Info, Probably Calculable in Advance - -M4 is exceptional (in comparison to the other M's) in a few ways. First, its content is not stored anywhere, only the *hash* of its *effect* is stored (in a leaf of a merkle tree who's root is inserted into a mainchain coinbase). M4 alters the contents of D2 -- the *contents* of D2 are consensus critical, but M4 (the process by which nodes reach a new valid D2) can be anything. - -In fact, M4 can also be *nothing*. In other words, it may be optional. This is precisely because, from one block to the next, we have constrained D2 such that it is only allowed to change in a few ways. Therefore, the exhaustive set of "candidate D2s" can be precomputed by full nodes in advance. - -#### Two Withdrawals at Once - -In general, only one withdrawal (per sidechain) can make progress (toward being included in a block) at a time. In other words, as WT^s are proposed, only one can make progress toward the finish line. As a result, a given side-to-main transfer will always take between 3 and 6 months. Instead, with more simultaneous withdrawals, the worst-case transfer duration would improve. - -![dots-image](/bip-hashrate-escrows/two-groups.png?raw=true) - -The worst-case withdrawal time obeys f(n)=3+(3/n) months, where n is the number of simultaneous withdrawals. - -N=2 is the most desirable choice for several reasons. First, it delievers the greatest marginal benefit (of 1.5 months). Later choices only deliver 0.5 and 0.25 marginal months. - -Second, n=2 can be implemented in a clever way: by allowing a withdrawal to freely advance, if and only if has an ACK-score of 6575 or greater, and if it also has the largest ACK score. In other words, the withdrawal that is furthest along can advance (or retreat) for free, if it has already made it at least halfway to the finish line. With this change, our new M4, is either an "abstain" for the sidechain (in which case nothing happens to any ACK scores), or else it will be in one of two cases: old_M4 + "the largest advances", or new_M4 + "the largest retreats". As a result the number of M4 possibilities (of which the next section is concerned) only increases by a factor of two (instead of exponentially). - -It is possible to troll this rule, by getting two (or even three) withdrawals to have 6575+ ACK scores, and then getting them to *tie* for first place. So, if there are any ties, the ability to "bonus move" is disabled until all ties are broken. - -#### How Hard is it to Guess M4? - -If there are n Escrows and m Withdrawals-per-escrow1, then there are (m+2)^n total candidates for the next D2. This is because, [per block per escrow], one of three things can happen: (1) one of the m withdrawal-candidates can be "ACK"ed (or "upvoted" or "promoted"), which automatically downvotes the others; or (2) all withdrawal-candidates can be downvoted, or finally (3) the miners can abstain from voting on the escrow's withdrawals altogether, leaving the tallies the same. - -First, for nodes which validate all sidechains (assuming these escrows are sidechains), this simplifies to 2^n -- these nodes only have to choose between the single honest choice (on one hand) or an abstention (on the other). Second, even for nodes that don't validate any sidechains, the number of candidates might be reduced from m^n to 3^n, by making a simplifying assumption: whichever withdrawal was most recently added/upvoted, is likely to be the one which is upvoted next. - -Of course, that is still O(k^n) for n sidechains, which isn't great2. If the "D2 update" cannot be guessed, it must be transmitted in some way. - -#### Giving Up and Getting M4 the Old Fashioned Way - -Two examples for transmitting it are below: - -"Short Form" (Assumes there are no more than 254 active withdrawal-attempts per account) - - 4-byte - Message identifier (0x????????) - 1-byte - Version of this message - N-byte - N is the total number of active accounts ("sidechains"), each byte specifies the position of the single WT that was "upvoted". A value of 0 indicates "downvote everything", a value of 255 indicates abstention. - -"Long Form" (Makes no assumptions about anything) - - 4-byte - Message identifier (0x????????) - 1-byte - Version of this message - 1-byte - Length (in bytes) of this message; total number of withdrawal attempts; y = ceiling( sum_i(m_i +2)/8 ). Nodes should already know what length to expect, because they know the sequence of M3s and therefore the vector of WT^s. - Y-byte - stream of bits (not bytes), with a 1 indicating the position of the chosen action [downvote all, abstain, upvote1, upvote2, ...] - - -If the message is very very large, then nodes may not want to broadcast it. This opens up an "exhaustion attack"2, in which many miners create bad WT^s, vote on these randomly, and then refuse to broadcast their votes. Fortunately, even for a worst-case scenario of 200 sidechains and 1,000 withdrawal-attempts per sidechain, honest nodes can communicate a long form M4 with each other by using just 25,056 bytes per block [4+1+1+(200\*(1000+1+1)/8)]. - -Today's pre-drivechain miners can already carry out a similar attack, by creating and including txns and then not broadcasting that part of the block to anyone. This is often characterized as a ["block publication incentive"](https://petertodd.org/2016/block-publication-incentives-for-miners), because in that case the prospect of exhaustively computing all possible transactions (to uncover the missing ones) is completely out of the question. - -However, message M4 is different from a withheld-txn, because M4 operates outside of the block's mandated information-processing limits (ie, outside the infamous 1 MB nonwitness blocksize limit). So we should examine the conditions under which M4 grows and shrinks, to ensure that we are not smuggling in a tremendous burden on full nodes. - -Under adversarial conditions, to lengthen a long-form M4 by one bit per block, for C blocks, the attacker must pay 312 bits (39 bytes) one time (to embed a new M3 message). The value C is the length of the sidechain's voting period, which varies but which I expect to be approximately 8,064 (and which could theoretically be as high as 65,536). Thus the attacker can burden nodes disproportionately, if (s)he wishes. - -Fortunately, the attack in question has no motivation (as far as I can tell). If the miner's goal is to trick rivals into mining on top of invalid blocks, he can already do this much more effectively with the unpublished-txn method (above). If instead he is just trying to harass nodes, then nodes may freely "downgrade" to earlier versions of the protocol, and simply ignore all drivechain-related messages. It seems that the attack could best be used in order to: make a large D2, make D2 confusing, sneak in votes for evil WT^ lurking in D2. Thus, the attack disables the transparency of the drivechain system, to some extent. The cost of the attack is forgone transaction fees, due to block space wasted on useless M3s. - -In practice, n is already capped, and miners may impose [on each other] a "soft cap" on m for their mutual protection. Thus, n and m might never get above 10 and 30, respectfully. In this case, the [Short Form, this time] M4 can never require more than 15 bytes per block, no matter what the attacker tries. - -In practice, m should always be 1 or 2, else something fishy is going on; and m can only inch up by 1 unit per block. So the system as a whole is still quite transparent, in that users are warned appropriately and well in advance. Attackers must invest upfront and they face an uphill climb, in order to eventually make things more expensive for a few others; defenders can wait-and-see if the attack looks like it will ever amount to anything before lifting a finger. - - -##### New Block Validation Rules (for D2 and, by implication, M4) - -From one block to the next, D2 can only be edited in a few strict ways: - -* Entries can only be added/removed from D2 if they meet the criteria above (in M3, and implicitly M1 and M2). -* The ACK-counter of any individual entry can only change by (-1,0,+1) relative to its previous entry. -* Within a sidechain group, upvoting one withdrawal (ACK=ACK+1) requires you to downvote all other withdrawals in that group. However, the minimum ACK value is zero (and, therefore, downvotes cannot reduce it below zero). - -##### Footnotes for M4 - -1 This represents the worst-case scenario is one where all the Withdrawals are spread evenly over each Sidechain. Under normal operations, there is no reason to expect the all sidechains will have the same number of withdrawals at any given time. In fact, under normal operations, the very *concept* of counting the withdrawals-per-sidechain should be a purposeless one, because there should only be *one* withdrawal at a time. Nonetheless we consider the worst case scenario here. - -2 Guessing becomes more computationally intensive in a highly adversarial situation where the "limited range" is intentionally expanded. In such a scenario, [a] there are many sidechains, and [b] miners voluntarily sacrifice their scarce block-space by creating a high number of (mutually-exclusive, and hence ultimately invalid) withdrawal attempts and putting these into coinbase transactions; and then agree to all [c] vote on these randomly (guaranteeing that all withdrawals fail, including any true withdrawals) and [d] successfully withhold their random voting strategies from nodes (even including spy-miner-nodes). Under this bizarre scenario, nodes may require computing resources which increase near-exponentially with the number of withdrawals, and it may take a long time for an ignorant node to exhaustively work out the underlying state of Withdrawal_DB. In this case, nodes may decide to temporarily stop validating such transactions (as if they had not yet upgraded to support this soft fork). - - - -### Depositing and Withdrawing (M5, M6) - - -Both M5 and M6 are regular Bitcoin txns. They are identified by meeting an important criteria: they select a one of the Critical TxID-index Pairs (a "CTIP") as one of their inputs. Deposits ("M5") are distinguished from withdrawals ("M6") by simply checking to see if money is "going in", or "out". In other words, we compare the BTC value of the original CTIP to that of new CTIP. If original <= new it is a deposit, if original > new then it is a withdrawal. - -The code that identifies sidechain withdrawal / deposit txns (by calculating how much value is being put into or taken out of a sidechain) can be seen here: https://github.com/drivechain-project/bitcoin/blob/mainchainBMM/src/validation.cpp#L351-L386 - -Such txns are forced (by consensus) to obey two additional criteria: - -1. They must contain an output paying "to" the Critical Address [probably in TxOut0]. -2. They must be accompanied by an update to this sidechain's Critical TxID-index Pair (CTIP). The new CTIP must be "this" txn itself. - -These criteria are enforced here https://github.com/drivechain-project/bitcoin/blob/mainchainBMM/src/validation.cpp#L440-L473 by checking that a deposit is paying back to the sidechain more than it is taking out, and completely rejecting any withdrawal from the mempool. And here https://github.com/drivechain-project/bitcoin/blob/mainchainBMM/src/validation.cpp#L1747-L1757 we allow for a withdrawal only once it has attained sufficient work score (ACKs). - -The purpose of this is to have all of the escrow's money (ie all of the sidechain's money) in one TxID, so that depositors immediately undo any UTXO bloat they may cause. This simplifies the withdrawal process, as there is no need to worry about cleaning up "dust deposits" (...and such cleaning can often result in headaches, for example where a withdrawal-txn is larger than 1MB in size, or else may only withdraw an arbitrarily limited amount of BTC). Notice that, unless we assume that an account will last forever, all utxos which are deposited must eventually be withdrawn by someone. Therefore, the relevant design criterion is not "efficiency" (total network cost) but rather "who should pay" (allocation of costs). - -#### M5. "Make a Deposit" -- a transfer of BTC from-main-to-side - -As far as mainchain consensus is concerned, there are no additional requirements. - -However, in practice there *are* additional mainchain requirements...specified by the escrow account, (ie specified by the "sidechain" or "virtual chain"). These requirements are not part of mainchain consensus and are allowed to be anything. In other words, the sidechain is free to invent any way to credit depositor's money -- M5 is fully customizable. - -One method, is for mainchain depositors to append a zero-value OP Return to a Deposit txn, so that the sidechain knows how to credit funds. Mainchain users must upgrade their wallet software, of course, (on an individual basis) in order to become aware of and take advantage of new deposit-methods. - -##### Inconvenient Race Condition - -The requirement that each hashrate escrow be linked to a single TxID does create an interesting inconvenience for depositors. If a user is slow to sign a txn after constructing it (perhaps because the user employs an air-gapped computer, etc), then the signed txn may no longer be valid. This is because the input it selects, may no longer be the Critical TxID (as "the" Critical TxID changes with each deposit). **Only one user can deposit at a time** (although many can deposit per block). As a result, the transaction must fail, and the user would need to be prompted to remake and resign the txn. If this is problem is too frustrating, users can always make main-to-side transfers using atomic cross chain swaps (or, the LN, if they already have a channel open on both chains). - -Fortunately, it is already a part of mainchain consensus that no two txns can spend the same TxID. The only new issue here is the confusion it might create for the user (hence the need for error messages and alternative deposit-methods). - - -#### M6. "Execute Withdrawal" -- a transfer of BTC from-side-to-main - -We come, finally, to the critical matter: where users can take their money *out* of the escrow account, and return it to the "regular" UTXO set. As previously mentioned, this txn is one which (a) spends from a CTIP and (b) reduces the quantity of BTC in an account's CTIP. Most of the work has already been done by D1, M3, M4, and D2. Furthermore, existing Bitcoin tx-rules prevent the sidechain from ever withdrawing more money than has been placed into it. - -From there, we merely introduce two final concepts: - -1. In each block, an entry in D2 is considered an "approved candidate" if the "ACKs" value is above 13140. -2. A "blinded TxID" is way of hashing the txn, in which we first overwrite some parts of the txn with zeros. Specifically, the first 36 bytes of "TxIn0" (the first input, including TxOutHash and TxOutIndex), as well as the first 8 bytes of "TxOut0" (the first output). - -Blinding is necessary because we allow each sidechain only one UTXO at a time. - -of our restriction of the account to a single UTXO-member. Because of this, during the ACKing process the withdrawal-txn (which is currently being ACKed) may change in two ways: the CTIP (which changes with each deposit), and the total quantity of BTC stored in the account (which arbitrarily increases with each new deposit). In other words, a withdrawal-attempt is created via M3, but this takes place many blocks before the withdrawal is actually included via M6. During this time, a single new deposit to the account would change its CTIP and its value. So, what do we ACK? Well, we ACK a "blinded" version of the withdrawal. This blinded version is stable because the dynamic parts are always overwritten with zeros. - -While we ACK a blinded WT^, what is actually included in the blockchain ("M6") is an unblinded WT^. Since each blinded WT^ could correspond to many different unblinded WT^s, we need to impose further restrictions on those unblinded WT^s that are finally included. First, we will force the final unblinded WT^ to spend the entire sidechain balance (by forcing sum(input_values) to equal sum(output_values)). To avoid withdrawing the entire sidechain balance with every withdrawal, we will, secondly, force the unblinded WT^ to create a new output which is itself a deposit to the sidechain it withdrew from (which nodes can check using D1's CTIP field). Unfortunately, these requirements eliminate the possibility of including a transaction fee, as traditionally calculated. So, finally, to compensate for *that*, txn fees are encoded explicitly as a withdrawal to OP_TRUE (which the main:block's miner can immediately claim). - -With all of this in place, the only requirements for inclusion in a block are these: - -1. "Be ACKed" -- The "blinded TxID" of this txn must be member of the "approved candidate" set in the D2 of this block. -2. "Return Change to Account" -- TxOut0 must pay to the "critical account" (see D1) that corresponds to the CTIP that was selected as a TxIn. -3. "Return *all* Change to Account" -- Sum of inputs must equal the sum of outputs. No traditional tx fee is possible. - -Finally, don't forget that M6 inherits the requirement (common to both M5 and M6) that the CTIP be selected as an input, and that the CTIP then be updated. In this case, we know that the critical index will be zero, so the new CTIP will be ("this TxID" (NOT blinded), 0). The TxID is NOT blinded because blinding is only for accumulating ACKs. - -As a result of these requirements, every single withdrawal-attempt will fail, unless an entry has been added to D2 and "ACKed" a sufficient number of times. - - - -Backward compatibility -======================== - -As a soft fork, older software will continue to operate without modification. Non-upgraded nodes will see a number of phenomena that they don't understand -- coinbase txns with non-txn data, value accumulating in anyone-can-spend UTXOs for months at a time, and then random amounts leaving the UTXO in single, infrequent bursts. However, this phenomena doesn't affect them or the validity of the money that they receive. - -( As a nice bonus, note that the sidechains themselves inherit a resistance to hard forks. The only way to guarantee that the WT^s reported by different clients will continue to match identically, is to upgrade sidechains via soft forks of themselves. ) - - -Deployment -=========== - -This BIP will be deployed by "version bits" BIP9 with the name "hrescrow" and using bit 4. - -``` -// Deployment of Drivechains (BIPX, BIPY) -consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].bit = 4; -consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].nStartTime = 1515974401; // January 15th, 2018. -consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].nTimeout = 1547510401; // January 15th, 2019. -``` - -Reference Implementation -========================== - -See: https://github.com/drivechain-project/bitcoin/tree/mainchainBMM - -Also, for interest, see an example sidechain here: https://github.com/drivechain-project/bitcoin/tree/sidechainBMM - - -References -============ - -See http://www.drivechain.info/literature/index.html - - -Credits -========= - -Thanks to everyone who contributed to the discussion, especially: ZmnSCPxj, Adam Back, Peter Todd, Dan Anderson, Sergio Demian Lerner, Chris Stewart, Matt Corallo, Sjors Provoost, Tier Nolan, Erik Aronesty, Jason Dreyzehner, Joe Miyamoto, Ben Goldhaber. - - - -Copyright -========== - -This BIP is licensed under the BSD 2-clause license. From 4bea2ef2b67a996c040d026df61cdaf470c9de53 Mon Sep 17 00:00:00 2001 From: Paul Sztorc Date: Sat, 3 Feb 2018 21:40:43 -0500 Subject: [PATCH 025/133] one bip at a time --- bip-hashrate-escrows.md | 408 ---------------------------- bip-hashrate-escrows/images.txt | 1 - bip-hashrate-escrows/two-groups.png | Bin 39695 -> 0 bytes 3 files changed, 409 deletions(-) delete mode 100644 bip-hashrate-escrows.md delete mode 100644 bip-hashrate-escrows/images.txt delete mode 100644 bip-hashrate-escrows/two-groups.png diff --git a/bip-hashrate-escrows.md b/bip-hashrate-escrows.md deleted file mode 100644 index 3b5d61ea..00000000 --- a/bip-hashrate-escrows.md +++ /dev/null @@ -1,408 +0,0 @@ - -Header -======= - - BIP: ???? - Layer: Consensus (soft fork) - Title: Hashrate Escrows (Consensus layer) - Author: Paul Sztorc - CryptAxe - Comments-Summary: No comments yet. - Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-??????? - Status: Draft - Type: Standards Track - Created: 2017-08-14 - License: BSD-2-Clause - Post-History: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-May/014364.html - - -Abstract -========== - -A "Hashrate Escrow" is a clearer term for the concept of "locked to an SPV Proof", which is itself a restatement of the phrase "within a sidechain" as described in [a famous Oct 2014 paper](https://blockstream.com/sidechains.pdf) written partially by some Blockstream co-founders. - -A Hashrate Escrow resembles a 2-of-3 multisig escrow, where the 3rd party (who will arbitrate any disputes) is a decentralized group of people: the dynamic-membership set of Bitcoin Miners. However, the 3rd party does not sign escrow-withdrawal transactions with a private key. Instead, these are "signed" by directing hashpower over them for a period of time. - -This project has [a website](http://www.drivechain.info/) which includes [a FAQ](http://www.drivechain.info/faq/index.html). - - -Motivation -============ - -In practice these escrows are likely to be "asymmetric sidechains" of Bitcoin (such as [Rootstock](http://www.rsk.co/)) or "virtual chains" within Bitcoin (such as [proposed by Blockstack](https://github.com/blockstack/virtualchain) in mid-2016). - -Sidechains have many potential benefits, including: - -1. Protect Bitcoin from competition from altcoins and spinoffs. Safely allow competing implementations (of *sidechains*). -2. Protect Bitcoin from hard fork campaigns. (Such campaigns represent an existential threat to Bitcoin, as well as an avenue for developer corruption.) -3. Help with review, by making it much easier for reviewers to ignore bad ideas. -4. Provide an avenue for good-but-confusing ideas to prove their value safely. - - - -Specification -============== - - -#### Components - -Hashrate Escrows are built of two types of component: [1] new databases, and [2] new message-interpretations. - -##### 1. New Databases - -* D1. "Escrow_DB" -- a database of "accounts" and their attributes. -* D2. "Withdrawal_DB" -- a database of pending withdrawals from these accounts, and their statuses. - -Please note that these structures (D1 and D2) will not literally exist anywhere in the blockchain. Instead they are constructed from messages...these messages, in contrast, *will* exist in the blockchain (with the exception of M4). - -##### 2. New Messages - -* M1. "Propose New Escrow" -* M2. "ACK Escrow Proposal" -* M3. "Propose Withdrawal" -* M4. (implied) "ACK Withdrawal" -* M5. "Execute Deposit" -- a transfer of BTC from-main-to-side -* M6. "Execute Withdrawal" -- a transfer of BTC from-side-to-main - - -#### On the Resource Requirements of New Databases - -The "new" databases are simply reinterpretations of data that are already contained elsewhere in the blockchain. Specifically, M1 M2 and M3 are all located in the block's coinbase txn, and M5 and M6 might be found in any regular txn. M4 is a special case and does not actually need to be included anywhere, so it is not. If you like, you can imagine that the M4s reside in an optional extension block. - -In other words, we just rearrange what is already there. Because of this, even though "new databases" are created and stored in memory, the existing bandwidth and storage limits are respected (although, see "M4" below). - - - - -### Adding Sidechains and Tracking Them (D1, M1, M2) - -#### D1 -- "Escrow_DB" - -The table below enumerates the new database fields, their size in bytes, and their purpose. In general, an escrow designer (for example, a sidechain-designer), is free to choose any value for these. - -Note: Fields 6 through 9 have been intentionally removed. Previously, this section allowed miners to set and commit to voting/waiting periods. However, I have since standardized the periods: withdrawals expire after 6 months (26298 blocks), and they succeed if they ever achieve an ACK score of 13140 or higher. I have removed the waiting period, because anyone who adopts a policy of ignoring all withdrawals with fewer than 400 ACKs will automatically gain all of the benefits of the waiting period. The justification for this change is that it strongly implies that an attack on any one sidechain is an attack on all of them (in a sense, this change makes the "victimhood" of each sidechain "fungible"). - -Field No. | Label | Bytes | Type | Description / Purpose -----------|-------|------|------|-------- -1 | Escrow Number | 1 | uInt | A number assigned to the entire escrow. Used to make it easy to refer to each escrow. -2 | Active\* | 2 | uInt | This counter starts at zero when a new entry is added, and increments as a new entry is supported by "M2". The entry either reaches the max value of 4032 (at which point the counter freezes), or else the entry is removed. This enforces the requirement "a soft fork is required to add a new escrow". -3 | Escrow Name/Description | 120 | string | A human-readable name and description of the sidechain. More than enough space to hold a 32 byte hash. Helps prevent destructive interference among sidechains (see below). -4 | Critical Private Key | 32 | hex | This is the Double-SHA256 of the binary release of the reference software. It ties the sidechain to a specific software release, and doubles as a way of signing withdrawals (see below). -5 | Critical Address\* | 32 | string | This is derived by taking f(x) = ImportPrivateKey(HexToBase58Check(x)) of field #3. It is intentionally in the human-readable format {{although it could be 25 bytes of binary}}. -10 | "CTIP" -- Part 1 "TxID"\* | 32 | hex | The CTIP, or "Critical (TxID, Index) Pair" is a variable for keeping track of where the escrow's money is (ie, which member of the UTXO set). -11 | "CTIP" -- Part 2 "Index"\* | 4 | hex | Of the CTIP, this is second element of the pair: the Index. See #10 above. - - -\* Denotes a "convenience field", the entry for this field is derived from other fields, or from the blockchain-state itself. The escrow-creator does not need to provide these values in M1 (or anywhere). - -Escrow_DB requires 223 bytes [1+120+32+32+2+32+4] for each escrow in the main blockchain. Of these, 70 bytes [2+32+32+4] are merely for convenience. Therefore, a sidechain is defined (see "M1") by 153 bytes of information. - -#### Notes on D1 - -1. D1 will always exist. -2. D1 will always have a unique sort (first by "Escrow Number" (field #1), and second by "Active" (field #2)). There is only ever one (escrow number, Active) pair. -3. D1 is updated according to M1 and M2 (below). -4. If a new entry is added to D1 with an "Escrow Number" that is already in use, then this entry will either eventually be removed (because it was not supported with an M2), or it will eventually overwrite the old entry (if it *was* supported via M2). - - -#### Notes on D1 - -##### Obligations Placed on Miners - -Miners have always upgraded their software according to criteria that are known only to them (in other words, "whenever they want"). - -However, this soft fork imposes two new criteria upon them. First: miners should only upgrade their software, if any modification to the portfolio of sidechains [that are added/removed in the upgrade] can be expected to increase miner wealth. Trivially, this implies that miners should make sure that the upgrade doesn't overwrite (and destroy) an existing sidechain that they like! But, more seriously, it implies that miners should take an interest in what the sidechain is doing to the mainchain and other sidechains (see below). - -##### Destructive Sidechain Interference - -People frequently emphasize that miners should have "as little control" as possible. It is a very safe claim to make, and a very easy sentence to write. Much harder is to determine exactly what this minimum value is, and how to achieve it. Harder still is to untie the knot of who is actually controlling what, in a decentralized, interacting system. - -Certainly, miners can not have "zero control" -- for that is the same as to just remove them from the system altogether. Some rules are enforced "on miners by nodes" (such as the infamous blocksize limit); other rules are enforced by nodes but are narrowly-controlled by miners (such as the proof-of-work itself, or the block's timestamp). Thirdly, some rules are enforced by both against each other (such as the rule against including invalid txns or double-spent txns), for mutual benefit. - -Some pause should be given, after one considers that the sidechain design goal is literally a piece of software that can do *anything*. Anything includes a great many things, many of which I demonstrate to be undesirable. Bitcoin itself does not allow "anything" -- it allows any person to transact, but, in contrast, it does not permit any person to double-spend. This is because "allowing anyone to do anything" is not viable in a world that contains undesirable interactions (what a libertarian might call "aggression") -- in the case of money, these are theft and counterfeiting. - -I have produced a comprehensive quantity of written material [1], presentations [2], etc [3] on exactly what the level of miner-control should be, and why. Specifically, I claim that **miners should be aware of the purpose of the sidechain, and they should reject sidechains which have an unclear purpose or which have a purpose that will lead to decrease in miner-wealth** (where wealth measured explicitly as: the estimated present value of the purchasing power of the blockchain's coinbase txns). I claim that this criterion is necessary because, just Original Bitcoin filters unwanted interactions among different BTC txns, so too much "Sidechain Bitcoin" filter out unwanted interactions among sidechain. - -* [1] http://www.truthcoin.info/blog/wise-contracts/ -* [2] https://www.youtube.com/watch?v=xGu0o8HH10U&index=1&list=PLw8-6ARlyVciMH79ZyLOpImsMug3LgNc4 -* [3] http://www.drivechain.info/literature/index.html - -Call it a "sidechain non-aggression principle", if you want. - -To the best of my knowledge, everyone who *has* reviewed this information as found the arguments to be acceptable. It has, also, changed a few minds (from "unacceptable" to "acceptable"). - - -##### ISSUE: "Signing" BTC Txns - -Currently, we use a process which may be suboptimal. It is that we *literally sign* a txn with a globally and publicly known private key. But this is for convenience purposes -- the signature that is produced is not doing anything, and is therefore wasteful. Instead we may use OP_TRUE, but this might interfere with how we detect the sidechain's balance. I'm not sure what the best way is. Someone needs to investigate how to do this -- removing OP_CheckSig, etc. This is a TODO for sure, and an opportunity for someone to help. - - - -(The following messages were modeled on SegWit -- https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki#commitment-structure ) - - - -#### M1 -- "Propose New Sidechain" - - 1-byte - OP_RETURN (0x6a) - 1-byte - Push the following 157 bytes (0x9d) - 4-byte - Commitment header (0x53707243) - 153-byte - the critical bytes mentioned above (fields #1, #3, and #4, to populate a new D1 entry) - - -#### New Block Validation Rules - -1. If the network detects a properly-formatted M1, it must add an entry to D1, into the very next block, with the following initial values: -* Field #5 will be calculated as per [version 1 Bitcoin addresses](https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses), but with a prefix of "4" instead of "1". -* Field #9 will be derived from #7 and #8 using math. -* The initial values of Fields #10, #11, and #12 are set to zero. -2. Only one M1 (of any kind) can be added into a block at a time. - -#### Notes on M1 - -The escrow will "reuse" the same address over and over. But notice that there is no privacy loss due to address reuse, because the address in question does not "belong" to any specific individual. Furthermore, the transactions in question could already be linked by just watching the Hashrate Escrow for deposits ...this, in fact, is exactly what a sidechain must do in order to make main-to-side transfers. - - -#### M2 -- "ACK Sidechain Proposal" - - 1-byte - OP_RETURN (0x6a) - 1-byte - Push the following 29 bytes (0x1D) - 4-byte - Commitment header (0x53616343) - 25-byte - Commitment hash: RIPMD-160 of Sha256 of a given M1 (above) - -#### New Block Validation Rules - -1. An entry will be removed from D1, unless that block contains an M2 supporting it (this will increment field #2), or the entry has accumulated 4032 M2s. Therefore, each entry needs to have 4032 *consecutive* M2s supporting it, else it will be removed from D1 and must start over. This requires all miners to agree to "soft fork" the sidechain into existence. This makes it easier to curate the list of active sidechains, and prevents destructive interference (see above) among contradictory sidechains. -2. Once the entry has 4032 M2s, then a miner must make a 0 btc payment to the Critical Address, thus activating the chain. This payment becomes the first "critical (TxID, index) pair" (or "CTIP"). -3. It is possible to "overwrite" a D1 slot -- this destroys the sidechain that is there, and replaces it with a new one. This is defined as requiring 6 months (26298 blocks) of M2s, instead of 4 weeks (4032). This possibility does not change the security assumptions, because we already assume that users have access to "magically true" bandwidth at a rate of 1 bit per ACK-cycle. (This is why the voting cycles should be large, 1 month Waiting, 2+ months Voting). - - - -### Adding Withdrawal-Attempts and Tracking Their Success (D2, M3, M4) - -#### D2 -- "Withdrawal_DB" - -The table below enumerates the database fields, their size (in bytes), type and purpose. - - -Field No. | Label | Bytes | Type | Description / Purpose -----------|-------|------|------|----------------------- -1 | Escrow Number | 1 | uInt | Links the withdrawal-request to a specific escrow. -2 | WT^ | 32 | hex | This is a "blinded transaction id" (ie, the double-Sha256 of a txn that has had two fields zeroed out, see M6) of a withdrawal-attempt. -3 | ACKs\* | 2 | uInt | The current total number of "votes", this starts at 0 and remains there throughout the waiting period. -4 | Age\* | 3 | uInt | Total duration of time, in blocks, that this WT^ has been inside of D2. -5 | Waiting Period\* | 2 | uInt | Total duration of time, in blocks, that this entry must sit idle, before it can begin to accumulate ACKs/NACKs. Pulled from D1's field #6. -6 | Max Age\* | 3 | uInt | Determined by summing (D1's field #6) and (D1's field #7). -7 | Threshold\* | 2 | uInt | Total ACKs needed, this is pulled from D1's field #9. -8 | Approved\* | 1 | boolean | True while ACKs > Threshold, False otherwise. - -\* Denotes a "convenience field" (see above). - -Withdrawal_DB requires 46 bytes [1+32+2+3+2+3+2+1] per entry. Of these, 13 bytes ([2+3+2+3+2+1], all fields except #1 and #2) can be generated locally, leaving 33 critical bytes [1+32]. - -#### New Block Validation Rules for D2 - -1. In each block, a hash commitment to D2 must always exist (even if D2 is blank). -2. D2 must always be sorted first by field #1 (Escrow Number) and second by field #4 (Age). This imposes a unique sort. -3. From one block to the next, every entry's "Age" field must increase by exactly 1. -4. From one block to the next, entries are only removed from D2 (in the very next block) if: -* * "Age" = "MaxAge". -* * If the block contains a txn who's blinded txID matches WT^. {{ This might be unnecessary, and a lot of work. }} -5. In addition, there are special rules for the allowed values in the "ACKs" field (field #3). See M4 below. - -#### M3 -- "Propose Withdrawal" - - 1-byte - OP_RETURN (0x6a) - 1-byte - Push the following 37 bytes (0x25) - 4-byte - Commitment header (0xD45AA943) - 33-byte - the critical bytes mentioned above (fields #1 and #2, to populate a new D2 entry) - - -#### New Block Validation Rules for M3 - -1. If the network detects a properly-formatted M3, it must add an entry to D2 in the very next block. The starting values of fields #3 and #4 are zero, and #5 is pulled over by extracting the relevant value from D1. -2. Each block can only contain one M3 per sidechain. - - -#### M4 -- "ACK Withdrawal" - -#### Very Little Info, Probably Calculable in Advance - -M4 is exceptional (in comparison to the other M's) in a few ways. First, its content is not stored anywhere, only the *hash* of its *effect* is stored (in a leaf of a merkle tree who's root is inserted into a mainchain coinbase). M4 alters the contents of D2 -- the *contents* of D2 are consensus critical, but M4 (the process by which nodes reach a new valid D2) can be anything. - -In fact, M4 can also be *nothing*. In other words, it may be optional. This is precisely because, from one block to the next, we have constrained D2 such that it is only allowed to change in a few ways. Therefore, the exhaustive set of "candidate D2s" can be precomputed by full nodes in advance. - -#### Two Withdrawals at Once - -In general, only one withdrawal (per sidechain) can make progress (toward being included in a block) at a time. In other words, as WT^s are proposed, only one can make progress toward the finish line. As a result, a given side-to-main transfer will always take between 3 and 6 months. Instead, with more simultaneous withdrawals, the worst-case transfer duration would improve. - -![dots-image](/bip-hashrate-escrows/two-groups.png?raw=true) - -The worst-case withdrawal time obeys f(n)=3+(3/n) months, where n is the number of simultaneous withdrawals. - -N=2 is the most desirable choice for several reasons. First, it delievers the greatest marginal benefit (of 1.5 months). Later choices only deliver 0.5 and 0.25 marginal months. - -Second, n=2 can be implemented in a clever way: by allowing a withdrawal to freely advance, if and only if has an ACK-score of 6575 or greater, and if it also has the largest ACK score. In other words, the withdrawal that is furthest along can advance (or retreat) for free, if it has already made it at least halfway to the finish line. With this change, our new M4, is either an "abstain" for the sidechain (in which case nothing happens to any ACK scores), or else it will be in one of two cases: old_M4 + "the largest advances", or new_M4 + "the largest retreats". As a result the number of M4 possibilities (of which the next section is concerned) only increases by a factor of two (instead of exponentially). - -It is possible to troll this rule, by getting two (or even three) withdrawals to have 6575+ ACK scores, and then getting them to *tie* for first place. So, if there are any ties, the ability to "bonus move" is disabled until all ties are broken. - -#### How Hard is it to Guess M4? - -If there are n Escrows and m Withdrawals-per-escrow1, then there are (m+2)^n total candidates for the next D2. This is because, [per block per escrow], one of three things can happen: (1) one of the m withdrawal-candidates can be "ACK"ed (or "upvoted" or "promoted"), which automatically downvotes the others; or (2) all withdrawal-candidates can be downvoted, or finally (3) the miners can abstain from voting on the escrow's withdrawals altogether, leaving the tallies the same. - -First, for nodes which validate all sidechains (assuming these escrows are sidechains), this simplifies to 2^n -- these nodes only have to choose between the single honest choice (on one hand) or an abstention (on the other). Second, even for nodes that don't validate any sidechains, the number of candidates might be reduced from m^n to 3^n, by making a simplifying assumption: whichever withdrawal was most recently added/upvoted, is likely to be the one which is upvoted next. - -Of course, that is still O(k^n) for n sidechains, which isn't great2. If the "D2 update" cannot be guessed, it must be transmitted in some way. - -#### Giving Up and Getting M4 the Old Fashioned Way - -Two examples for transmitting it are below: - -"Short Form" (Assumes there are no more than 254 active withdrawal-attempts per account) - - 4-byte - Message identifier (0x????????) - 1-byte - Version of this message - N-byte - N is the total number of active accounts ("sidechains"), each byte specifies the position of the single WT that was "upvoted". A value of 0 indicates "downvote everything", a value of 255 indicates abstention. - -"Long Form" (Makes no assumptions about anything) - - 4-byte - Message identifier (0x????????) - 1-byte - Version of this message - 1-byte - Length (in bytes) of this message; total number of withdrawal attempts; y = ceiling( sum_i(m_i +2)/8 ). Nodes should already know what length to expect, because they know the sequence of M3s and therefore the vector of WT^s. - Y-byte - stream of bits (not bytes), with a 1 indicating the position of the chosen action [downvote all, abstain, upvote1, upvote2, ...] - - -If the message is very very large, then nodes may not want to broadcast it. This opens up an "exhaustion attack"2, in which many miners create bad WT^s, vote on these randomly, and then refuse to broadcast their votes. Fortunately, even for a worst-case scenario of 200 sidechains and 1,000 withdrawal-attempts per sidechain, honest nodes can communicate a long form M4 with each other by using just 25,056 bytes per block [4+1+1+(200\*(1000+1+1)/8)]. - -Today's pre-drivechain miners can already carry out a similar attack, by creating and including txns and then not broadcasting that part of the block to anyone. This is often characterized as a ["block publication incentive"](https://petertodd.org/2016/block-publication-incentives-for-miners), because in that case the prospect of exhaustively computing all possible transactions (to uncover the missing ones) is completely out of the question. - -However, message M4 is different from a withheld-txn, because M4 operates outside of the block's mandated information-processing limits (ie, outside the infamous 1 MB nonwitness blocksize limit). So we should examine the conditions under which M4 grows and shrinks, to ensure that we are not smuggling in a tremendous burden on full nodes. - -Under adversarial conditions, to lengthen a long-form M4 by one bit per block, for C blocks, the attacker must pay 312 bits (39 bytes) one time (to embed a new M3 message). The value C is the length of the sidechain's voting period, which varies but which I expect to be approximately 8,064 (and which could theoretically be as high as 65,536). Thus the attacker can burden nodes disproportionately, if (s)he wishes. - -Fortunately, the attack in question has no motivation (as far as I can tell). If the miner's goal is to trick rivals into mining on top of invalid blocks, he can already do this much more effectively with the unpublished-txn method (above). If instead he is just trying to harass nodes, then nodes may freely "downgrade" to earlier versions of the protocol, and simply ignore all drivechain-related messages. It seems that the attack could best be used in order to: make a large D2, make D2 confusing, sneak in votes for evil WT^ lurking in D2. Thus, the attack disables the transparency of the drivechain system, to some extent. The cost of the attack is forgone transaction fees, due to block space wasted on useless M3s. - -In practice, n is already capped, and miners may impose [on each other] a "soft cap" on m for their mutual protection. Thus, n and m might never get above 10 and 30, respectfully. In this case, the [Short Form, this time] M4 can never require more than 15 bytes per block, no matter what the attacker tries. - -In practice, m should always be 1 or 2, else something fishy is going on; and m can only inch up by 1 unit per block. So the system as a whole is still quite transparent, in that users are warned appropriately and well in advance. Attackers must invest upfront and they face an uphill climb, in order to eventually make things more expensive for a few others; defenders can wait-and-see if the attack looks like it will ever amount to anything before lifting a finger. - - -##### New Block Validation Rules (for D2 and, by implication, M4) - -From one block to the next, D2 can only be edited in a few strict ways: - -* Entries can only be added/removed from D2 if they meet the criteria above (in M3, and implicitly M1 and M2). -* The ACK-counter of any individual entry can only change by (-1,0,+1) relative to its previous entry. -* Within a sidechain group, upvoting one withdrawal (ACK=ACK+1) requires you to downvote all other withdrawals in that group. However, the minimum ACK value is zero (and, therefore, downvotes cannot reduce it below zero). - -##### Footnotes for M4 - -1 This represents the worst-case scenario is one where all the Withdrawals are spread evenly over each Sidechain. Under normal operations, there is no reason to expect the all sidechains will have the same number of withdrawals at any given time. In fact, under normal operations, the very *concept* of counting the withdrawals-per-sidechain should be a purposeless one, because there should only be *one* withdrawal at a time. Nonetheless we consider the worst case scenario here. - -2 Guessing becomes more computationally intensive in a highly adversarial situation where the "limited range" is intentionally expanded. In such a scenario, [a] there are many sidechains, and [b] miners voluntarily sacrifice their scarce block-space by creating a high number of (mutually-exclusive, and hence ultimately invalid) withdrawal attempts and putting these into coinbase transactions; and then agree to all [c] vote on these randomly (guaranteeing that all withdrawals fail, including any true withdrawals) and [d] successfully withhold their random voting strategies from nodes (even including spy-miner-nodes). Under this bizarre scenario, nodes may require computing resources which increase near-exponentially with the number of withdrawals, and it may take a long time for an ignorant node to exhaustively work out the underlying state of Withdrawal_DB. In this case, nodes may decide to temporarily stop validating such transactions (as if they had not yet upgraded to support this soft fork). - - - -### Depositing and Withdrawing (M5, M6) - - -Both M5 and M6 are regular Bitcoin txns. They are identified by meeting an important criteria: they select a one of the Critical TxID-index Pairs (a "CTIP") as one of their inputs. Deposits ("M5") are distinguished from withdrawals ("M6") by simply checking to see if money is "going in", or "out". In other words, we compare the BTC value of the original CTIP to that of new CTIP. If original <= new it is a deposit, if original > new then it is a withdrawal. - -The code that identifies sidechain withdrawal / deposit txns (by calculating how much value is being put into or taken out of a sidechain) can be seen here: https://github.com/drivechain-project/bitcoin/blob/mainchainBMM/src/validation.cpp#L351-L386 - -Such txns are forced (by consensus) to obey two additional criteria: - -1. They must contain an output paying "to" the Critical Address [probably in TxOut0]. -2. They must be accompanied by an update to this sidechain's Critical TxID-index Pair (CTIP). The new CTIP must be "this" txn itself. - -These criteria are enforced here https://github.com/drivechain-project/bitcoin/blob/mainchainBMM/src/validation.cpp#L440-L473 by checking that a deposit is paying back to the sidechain more than it is taking out, and completely rejecting any withdrawal from the mempool. And here https://github.com/drivechain-project/bitcoin/blob/mainchainBMM/src/validation.cpp#L1747-L1757 we allow for a withdrawal only once it has attained sufficient work score (ACKs). - -The purpose of this is to have all of the escrow's money (ie all of the sidechain's money) in one TxID, so that depositors immediately undo any UTXO bloat they may cause. This simplifies the withdrawal process, as there is no need to worry about cleaning up "dust deposits" (...and such cleaning can often result in headaches, for example where a withdrawal-txn is larger than 1MB in size, or else may only withdraw an arbitrarily limited amount of BTC). Notice that, unless we assume that an account will last forever, all utxos which are deposited must eventually be withdrawn by someone. Therefore, the relevant design criterion is not "efficiency" (total network cost) but rather "who should pay" (allocation of costs). - -#### M5. "Make a Deposit" -- a transfer of BTC from-main-to-side - -As far as mainchain consensus is concerned, there are no additional requirements. - -However, in practice there *are* additional mainchain requirements...specified by the escrow account, (ie specified by the "sidechain" or "virtual chain"). These requirements are not part of mainchain consensus and are allowed to be anything. In other words, the sidechain is free to invent any way to credit depositor's money -- M5 is fully customizable. - -One method, is for mainchain depositors to append a zero-value OP Return to a Deposit txn, so that the sidechain knows how to credit funds. Mainchain users must upgrade their wallet software, of course, (on an individual basis) in order to become aware of and take advantage of new deposit-methods. - -##### Inconvenient Race Condition - -The requirement that each hashrate escrow be linked to a single TxID does create an interesting inconvenience for depositors. If a user is slow to sign a txn after constructing it (perhaps because the user employs an air-gapped computer, etc), then the signed txn may no longer be valid. This is because the input it selects, may no longer be the Critical TxID (as "the" Critical TxID changes with each deposit). **Only one user can deposit at a time** (although many can deposit per block). As a result, the transaction must fail, and the user would need to be prompted to remake and resign the txn. If this is problem is too frustrating, users can always make main-to-side transfers using atomic cross chain swaps (or, the LN, if they already have a channel open on both chains). - -Fortunately, it is already a part of mainchain consensus that no two txns can spend the same TxID. The only new issue here is the confusion it might create for the user (hence the need for error messages and alternative deposit-methods). - - -#### M6. "Execute Withdrawal" -- a transfer of BTC from-side-to-main - -We come, finally, to the critical matter: where users can take their money *out* of the escrow account, and return it to the "regular" UTXO set. As previously mentioned, this txn is one which (a) spends from a CTIP and (b) reduces the quantity of BTC in an account's CTIP. Most of the work has already been done by D1, M3, M4, and D2. Furthermore, existing Bitcoin tx-rules prevent the sidechain from ever withdrawing more money than has been placed into it. - -From there, we merely introduce two final concepts: - -1. In each block, an entry in D2 is considered an "approved candidate" if the "ACKs" value is above 13140. -2. A "blinded TxID" is way of hashing the txn, in which we first overwrite some parts of the txn with zeros. Specifically, the first 36 bytes of "TxIn0" (the first input, including TxOutHash and TxOutIndex), as well as the first 8 bytes of "TxOut0" (the first output). - -Blinding is necessary because we allow each sidechain only one UTXO at a time. - -of our restriction of the account to a single UTXO-member. Because of this, during the ACKing process the withdrawal-txn (which is currently being ACKed) may change in two ways: the CTIP (which changes with each deposit), and the total quantity of BTC stored in the account (which arbitrarily increases with each new deposit). In other words, a withdrawal-attempt is created via M3, but this takes place many blocks before the withdrawal is actually included via M6. During this time, a single new deposit to the account would change its CTIP and its value. So, what do we ACK? Well, we ACK a "blinded" version of the withdrawal. This blinded version is stable because the dynamic parts are always overwritten with zeros. - -While we ACK a blinded WT^, what is actually included in the blockchain ("M6") is an unblinded WT^. Since each blinded WT^ could correspond to many different unblinded WT^s, we need to impose further restrictions on those unblinded WT^s that are finally included. First, we will force the final unblinded WT^ to spend the entire sidechain balance (by forcing sum(input_values) to equal sum(output_values)). To avoid withdrawing the entire sidechain balance with every withdrawal, we will, secondly, force the unblinded WT^ to create a new output which is itself a deposit to the sidechain it withdrew from (which nodes can check using D1's CTIP field). Unfortunately, these requirements eliminate the possibility of including a transaction fee, as traditionally calculated. So, finally, to compensate for *that*, txn fees are encoded explicitly as a withdrawal to OP_TRUE (which the main:block's miner can immediately claim). - -With all of this in place, the only requirements for inclusion in a block are these: - -1. "Be ACKed" -- The "blinded TxID" of this txn must be member of the "approved candidate" set in the D2 of this block. -2. "Return Change to Account" -- TxOut0 must pay to the "critical account" (see D1) that corresponds to the CTIP that was selected as a TxIn. -3. "Return *all* Change to Account" -- Sum of inputs must equal the sum of outputs. No traditional tx fee is possible. - -Finally, don't forget that M6 inherits the requirement (common to both M5 and M6) that the CTIP be selected as an input, and that the CTIP then be updated. In this case, we know that the critical index will be zero, so the new CTIP will be ("this TxID" (NOT blinded), 0). The TxID is NOT blinded because blinding is only for accumulating ACKs. - -As a result of these requirements, every single withdrawal-attempt will fail, unless an entry has been added to D2 and "ACKed" a sufficient number of times. - - - -Backward compatibility -======================== - -As a soft fork, older software will continue to operate without modification. Non-upgraded nodes will see a number of phenomena that they don't understand -- coinbase txns with non-txn data, value accumulating in anyone-can-spend UTXOs for months at a time, and then random amounts leaving the UTXO in single, infrequent bursts. However, this phenomena doesn't affect them or the validity of the money that they receive. - -( As a nice bonus, note that the sidechains themselves inherit a resistance to hard forks. The only way to guarantee that the WT^s reported by different clients will continue to match identically, is to upgrade sidechains via soft forks of themselves. ) - - -Deployment -=========== - -This BIP will be deployed by "version bits" BIP9 with the name "hrescrow" and using bit 4. - -``` -// Deployment of Drivechains (BIPX, BIPY) -consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].bit = 4; -consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].nStartTime = 1515974401; // January 15th, 2018. -consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].nTimeout = 1547510401; // January 15th, 2019. -``` - -Reference Implementation -========================== - -See: https://github.com/drivechain-project/bitcoin/tree/mainchainBMM - -Also, for interest, see an example sidechain here: https://github.com/drivechain-project/bitcoin/tree/sidechainBMM - - -References -============ - -See http://www.drivechain.info/literature/index.html - - -Credits -========= - -Thanks to everyone who contributed to the discussion, especially: ZmnSCPxj, Adam Back, Peter Todd, Dan Anderson, Sergio Demian Lerner, Chris Stewart, Matt Corallo, Sjors Provoost, Tier Nolan, Erik Aronesty, Jason Dreyzehner, Joe Miyamoto, Ben Goldhaber. - - - -Copyright -========== - -This BIP is licensed under the BSD 2-clause license. diff --git a/bip-hashrate-escrows/images.txt b/bip-hashrate-escrows/images.txt deleted file mode 100644 index ece458d6..00000000 --- a/bip-hashrate-escrows/images.txt +++ /dev/null @@ -1 +0,0 @@ -Images used in this bip. diff --git a/bip-hashrate-escrows/two-groups.png b/bip-hashrate-escrows/two-groups.png deleted file mode 100644 index c8a3ffabbdf2df803fcc7acbb0b99c04ca48433f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39695 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 QPcdAORX&#?efie^0Q!s$S^xk5 From 39a8bec6b7b7ca7e7fa405e7f43703684f5fa1e8 Mon Sep 17 00:00:00 2001 From: Paul Sztorc Date: Sat, 3 Feb 2018 21:42:45 -0500 Subject: [PATCH 026/133] Delete images.txt --- bip-hashrate-escrows/images.txt | 1 - 1 file changed, 1 deletion(-) delete mode 100644 bip-hashrate-escrows/images.txt diff --git a/bip-hashrate-escrows/images.txt b/bip-hashrate-escrows/images.txt deleted file mode 100644 index ece458d6..00000000 --- a/bip-hashrate-escrows/images.txt +++ /dev/null @@ -1 +0,0 @@ -Images used in this bip. From 3246096174020bdcfcdf464c43b0ec997410f580 Mon Sep 17 00:00:00 2001 From: Paul Sztorc Date: Sat, 3 Feb 2018 21:42:52 -0500 Subject: [PATCH 027/133] Delete two-groups.png --- bip-hashrate-escrows/two-groups.png | Bin 39695 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 bip-hashrate-escrows/two-groups.png diff --git a/bip-hashrate-escrows/two-groups.png b/bip-hashrate-escrows/two-groups.png deleted file mode 100644 index c8a3ffabbdf2df803fcc7acbb0b99c04ca48433f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39695 zcmeFZcT|(xw=NuPs3_O~0RhWKsUn~t-3BN~Z&IW59t$;rfFdGIR6vj}p|{Wi3Iwo# z5~PIQQ4k3v0f8hyAn>ikz0cYEcfNbZz26vT-22^e{%{2IzFBL&Yt1>=ob#Q}6JemI zwSO=FUI+xT|Hk!eMi9vM@8F;7?rq>3;zjfh@WJ-LNb3ruwBy(;_|FdK%et2#kn&iL zjXOKR|M%RzZt(yD;rz(_$MzYP?*M@$XWzJX*~H(L%-||^G=06bCXB)#xSF?DQ}Cci zRaNaS`!-##|=L^IcM#n9ET{)sPjy@GV zQ2gQiw82TK%eY*f9~^zdrd=WjM75jt#>8v7sin@m)0gfapBa77sTxchA~JA?>k(wk z$`C@hf9Zk3dg{m!JCHK-#uozkxK#NZ&jx{nIGsRk2mfuqqRG6N92U(9KF)LS34#w7 z9$6*u(Ix5N4L&k0{`o_(lc=qw#KzIL_ok9BxOb?ojK=9H&Ay#_raYIA;#4M;g>ovn zY%x|An7jO-#>1FGBB~-mD&<{*6vKXjGLP3N}*hIaceFmkyshsC8^{ z&b)DW!V3JX>cvvJQAS0^q0IZ4XFgc;r$=x8`p5-+(0;)=BZ&4UTxbr)3vR=q&inUU zIE(R#3&V|4FUV!!GlDnQiqH-8$A|TPtz>t+XBXaRSi!=YBe@fy$hDH1arkFJKaZgb zjYfM_+MqpxMhaML<_&^^!CZuLE;!1IC`>ElylqcWkid%#h>eL&iOmN5EJDTSmz91Z ztS29oOU1+L$klS4D$5tp0Wpo+BSdswr3Nmw!e=OF=LD(y!AM=2ID~c(4yhf2dzila zuy(X_n$N3l6s*f%?lpd(#L92=d-%GDz9h6Eu&>Z`W%NPp3fPKE0r9&M_9X06J#{+% zM8Y3fXlT2UW-yQr{dO|4rhZxq88dUtr`Hg=G0E#UKRU|*Glc}L$8#kdid9*y# zXy`zNV_Rwck~Wn2%#x$#4ND0%Sh8ojbe*0u`MiiebPUqoPAD=ff%g^JPA8VEn@YJ4 zlu~`b-A$9CR=Ln^s2>Fzv&7tz2tJ#}Psf5c7Ll0R4#k;Npbt26rgow-9~Y#~MpWvE zRqave6-dOx>K9wKb6#wcHp*L0U#XvAS6_XIX5Ojk*^{e_OHEf(7IZWeF@h?HwBraF zYhRr=hP^M);;O+dE_@>TotZYcoCZ7oCsJcT{Xp5NxRT*BB%zP6ffpX*)JeZ0+S-y zl+pye-o7^nw?TSP)^mF>J%+ZXZdC5WGVRewGG>4t;HR{{(72_(Ii*f#jW!&wmtd$` z0%k33u-nLeg{Rg%&G5=w{v5pV*{a%OksAzkNlp|cUI2F@d!P1I2vXu>%-1bE)3T;~ zY-Efyt}%znyb*8G^Nl_wyftVZ-E%~iew9o0i14Al1(6+0yFdSW$!%2E{8?I)0`{g7 zN`3Lu;l&G4KoIrVx6EI!#am7ddFKq>3x?6N<>2)2$kpef;DS?FMN!`1e1^hO|6-Dh zrv6s1I<#^(P^Y1n$P=iSB{k39|B$7}D2x-%d=eJlW;xR$9JJiHL6+eSBC0@lK{9i? z)nVCz#1fSJ80Fbl&nQmU=RbzGUc($*(jE@@QZBg5uGyG-9{1%E9o&55VXZwXTNi z);=HeGW_X=7lw-l^?FO_g!)?7kBw_{P)lL*iE7>1WA^HE#m%-rvD2(D?8?%_%$^k= z)qE@Ks<3o5oX^_yx>8z@@M?(kwx(+v-`LfEWsl5?uE2?+KrmtC>UZC+nbZf*6xhg) zdt_y6k!3tq`}!^x9T%9jCetcaktNrPcyvap&2oC(1XQ zB9u-_`NGA0#KR+Q;p3<_8cI91-ww-zHBMBu7E(P$Ur|JstI?LP=nKdBE;dV>9uB1U zNIO#0w;n)?-8$ZEbK%Xgj;h09$ItJz|4LYl?szGp1I`dJ*v{d$57P(uY~C14xz#kE zNk^Kff6f{_?W!Y9i!5AyJl%pQjn&L?s1qv0GH%0vX3!yGxzHhq_siJhs)cnzpbiMhGt;X5a;U@*%?-V&)bDR~B}w zBNR)cHz%W{nLfAbqfMP}2~Z!W@AscZmuB?6d@}X*+lf9~nURF%#oYwWpxz`Q%@WcI zyGF2-IBvwQEGd1y9gbYf

JssGrHgh(ihd8x-fSt464u{r4v1`(eDn6fNmK^{vX9 zn}%D_wut<=ciND>nZ@pJ%xBH{2CaCVt@#*{5~XGKK_esMKXosSSiC)U5@nUDYTs9m zwWEJKfuV7e{X#sJZNn2=ZHFuTsn?6G;70v&LIx2P?B|wpYJI`#3Y6H+8jqBi+>1Gz$&ph4zMBEJP`sqv7owlafMxo+RY44$qB59@N zFN9OqG}+IYn%f5CXh0or!z@$F9VkA;{vpGLSzXxD=}ZWirj2lap;}nHU}S2zkdh7_ zsIQtDrigi83-{MoVYr}g3y$>9Ym;{O#Le|Ru%$&dbU7*u+nMVoI#P5~Y%MoX>PyWA z>oFp8#XLU!g;zP(Ix}70$w~MSG~A^IYy%f{#;Wpz((mIM(v+cYRp#Ys`6)bd{px+h zrkh)srOvI5?jkF8gkc&o;jHDcLFI|H?yNNbjObF#y?hR=Hsl;++Loh9`@?wEZu?fk zqR(08DUIDD8WPs_gq)}o)kon$PF3{T z?f_SbKNaK^KiGBcIJbzDE@i(4$^*$r&zIE{J9K_zabTb6)=>U8cZFW6KF52D=NPXy zTMwzwA`P7prH}&!s-;HWItn*ov=uu+qv5Ny!jN0XrfqYeQSWgd$CZll&Xmdyr8ds_ zjpfdj)0tSac1A?TYUEXS1zMOm4qbh8<%_9ns_Apx43Baf(*=}y+`R2Xs&_LgY}T#}e9Kd}m%PCF0#B{9 zbQ9ht6Pl-wX!bDY`Ftu3g=H{2cc{jHjpaqmFBd z_=Q!|Z6WVP8J7FhmcJtXCU?n9MsEUv8-HFvmxtDYI18LN(#`H7hB`HcB-HbRqkXzT zCoAVNTvIWfj>AaF{-Q~a4w0ATWUVab)%+F(NdwLLba&y zj0jl$ezRsZ)1hFi>lW<4y+U+O%L&=q>0Wg@Dm}pO7sX;dk|(#a-JMI?eKza;}QZMjzl++%g!&_*~~982n^XG(LT93Rc0 zK^TSoIkFd|JNBGOy&c}1r@?kx2xwv(0UVJ!FU;=@RBOZZxYE@;N50z0)>0JD&0?y} zS35wqbKWZOzDdDg$`hm4R=nT8hYMHRzf7Aoj)sJY>%_dk=OmxX38wctxGUr(z(0PQ zt)y}DzQ*g4ABN3Y$|{AJ8SJ8+ADtByKoCDrldQrIan(vf$6qn$50t!++ljcv+Jn#2cC$87_94edPfPz zkqJVDTc0>=8zfur_4@LqMecC1^()-Xx`!1~OkL?F&vk{5|5o!*j|8%coVVrzbAwxI z@;-~m(mZZ%oJI+gH0;giJlJe5T+)QylbvNjrdv^?8IjyRV^GvEsTm&-*x12KMfU3vm2B3_5bMTEk#o* z3*fRUAK^Ehv)A&9nhmz<(x}uVf8sPX#cJ~rU$HibHKmz6EjLWSLUW?pGexi+oW}Kg zAkPi^t8NwKC-3w|B?+xjw+s7=@wp#fR}{4tf2oP=e8t; z0qE^~ z_}Gh+yOramtg8JFgKGvte;*Q!q!y74Xr!SjU2qK~X5mstB~BoEw#A%grM^{D7gxW9 z{+=(vsJz*J8qD_;??8zWP#C^kzYw&re406-iFPwjY(gB?^@L^|exTUGp1s_zc`w*- z2t+%_#AET6;!p~Y-FZF+NZm1^-*jxig^*P@-oJ(ed37u2WWN=R`X7gjRi3}7{1har zh{Fcy(i7g_gV#pvBP%eA9CrpKAb){roh$-1YVTJlNPTjV zrDtrkW(;2T7^!Yg3HcBh^if-*kDAgzYO~Q!b=yioZ|3Z@aO^Tw2()w^H?R2stbl-X zQCHX`q%Z}LG#0P+4;;J`9`IWLkRtgWh*hN}DX@jD4JJ=VCb@3*ckZ3$X;)w7a?ZUG z^wSPbh8=Iw!}0RG7xKf0Eja>lUjKc)87mVLoR8FHBW1_x$l`>C8WP?lcDW zgf)z&sN!WF_(h$G!%Nfq1BSU{>mU%zO9g|=_nedJRVSn8+b-RSf5*Nrk;ix4nL;Q- z_9T)ICd<`wRgBDtEsW8wwpH}&MvcYT{saMb-$b?PEIVVNhD$Mq5FWE)J>h<)<=Lp$D|fEGPcU?jXAmDG#Ny{#QZ(nysOgT&4L0)P|V9)SE|2NmWE#TG4qkYN~vfuPbqxM`%@{ClnLF13X(!h6Pn`;?R?bqSQCZndi zETlKLBz@-t#Rx@|?U3^czb9qHO>0ajbrM;|3ABvMZSaB*KYRqh)1Dy5# z(UxjvYstRTP9vW5x&D{f=M0ft?+jU(W`^Gx-<=g+rqwl+V^+kT45V10ZD6@{?vaU3 zMdt~S#NRW!L5VjWKCDU3=FuOxw*GG8K6FRO&&5EM-fS&RcAlbO%^GE#q2?cx})cFhSnCU*BE@W2J89&>Q#P~GeFEv{FyUz z2@Oh3=`$HyYdVfmmDKAuGbS$emRhPHMl}Z5A<4MqMT0mYKEYeXn|!J&Af=ov(4dig z{d0X`95})(uiBGYC-3slHYT;ZL0Emo<^c3X87H}ukRp$bm!4SDgYI*yxt6Z#T0$GD zjrHQg(gN;bV&}FbNtUL;oopdazy5j>_oisCc``DtRvht7*|e^P$H5yvD^c({*eZYA zxQ0e^_Kqr>Nu7%N4xDoVR(`nSRjY${owdsRw#)(*VXh0aFYphWEe*i2T~RN;kUWf) z5=9NnkJ>6Q#*UBlM_)jtoOv1B2{%q0_Jomxg&3V%^{1_e^R92Xe9s8&HKTp`+|0Xv z>iqBxl@ATBan2UR+-7lX6@8>yoRK*pTo`@_aX>IY1{NeshmR4dU%X#xx7-0|dYJF@fvYNL~z4H7quEAS1 zgVs?NndbInjsoW$aBS8vMxLJEebh50UqtDaPVHg* zsfSh18I(Dyao^jx*b<9$wIRES)33+0q^H;M3D+)InVtFSulC8Vlxir?Xkwp(A=!xq zk-Oc$_h}#OuRw3Qu9WnAD%Ol@bc=pk9O$81x$3TL(#)apvZMP!s!m^sa`^#aL|6Ij zj7KrfZ*`g0a#f$&0CAmr`}s?W1y)YEU~+%onXg%EhihNt5UGDfijK^gb02Zi#d*J z%hi<@@j+PHm}2w1$kc!SU~)3k560?EvFgBoU2Rt+%*-H?lH5>bfY?Q%nS&9U;fLp`IhOMF1>BL zOOg;XC2u)-M|@2i>Sau!3Q2FCwbcnzijl=~z4M;HZwU93mZL7i&ka>OZQ~m=Q7BI5 zgq)9hqnBru>;j#rjT7(Pw=#Y#pWD1PUp0Lvnxgrx&yn4l>Bn z2XeL!-fl`8L`w|$ToV zZW+pi7PynzuZM~Jl?LvyJuWkR8V=N0UenVZ^5?7NfpJV17O6NFbwjy#jYb$XlwKuW zE-DoEFh!ZQBZ45ewN-@8&tTc2Pn)h2xqNm&430%*&yG3ndyg!*o{_{Ja(XfFrY5_k z>$0)>){jnf?azrVC{$DVR>NrTO6&%TOGuNw%RfD~m2fFVWw~x9zGDKrW}IfFXC^h| zUyHt^JUDfhe&)#o?Uj+E0bM&Ug$AgdMr|kGR_Nfyol46Hnn>7MB5^`v{@Pw}p3bUY z%U^Z!hU{kr5nroFE$`;u2GcjDw|t9+vFw&DUOB?00vn z9+Mv6G|{fGP)EoL`Ybpj1qqS$XU9cxGB7+b^tlsI5D`v!>4bEv)}I18#;) z0T1^WtZBFN7B7k5vKH&f#Dkzy6g#fp$`)8H6Ocn+THmI*91VI**e~XW<>teutY=ff z_m^MSZE2~4i9^DcnO9E73e3oTy{{^&E_>JIM?aqs`C)Gug{d<*`U7Xls^{ z5$iF4(yN$U0sBUcZ>|)W;oABf*T89^LEpPO((aCG_%r#n=i6guj!yf=&C17=$zLjzP{< zviA7vnMTC6z8~~%$F0T`b^5c64Hyi*i9yplt;c6o;Dk-}jc>xiR9NiVD1A$H)-_QG)xV99iT0VG*%i1bgi!Yg{EnLs)3p?UF8v|$9 zUbO|pJ3hg&b3<<5X4%|n4!+*EZTHvOg@eM4F21XGoDSU!Id_h!j>qG|_PO136lQ$A z|1L5XSzQolzy{gHvMGm(=a*y3j?}rU(_P2bI);a{d};{PLYSyadMpI;XS_aP}gOpVL_=NzU)*w&^r36#~#FtPl{T8WnIYMoZWUDLw11WLV zdi!nu@wLl6i?a()<3`j9c<*jJ{in_FOSezsCSA{}&tL4Eo&zuZ zl0Pw3#f9s>A_OAW!7}0i?eRqDrqN#g2k*3RFyb--#eg2LL6Q#sso%GUkJP~$0w#u> zXJV7A&Nlw!Xa2bI3kb&dyas7j%1QqpOCn>jNb$sFygo=ZQ(37Btg# zwySaNh=$=2?w#HNYC?0+J+ew=E;3@q;Jf&}ge4GpHy(2EzKypt$`y^w66Nkg_ z7eZ53bM{R`aGQ8$8<=uS`#JuhM%0bhS>QI4ONqdPY$hB>ZI9xKlLfD57|~hM}3-6$5$Z zIJX~H486({P2h^X*8ea|R6_WKXbNjTuMBzU7{=qmwN4T*8OA5X9*A#e3UKsIlJi9H zrn;fYckYkx!BsOyU>UEuPkqqZjboX6w87WPp$#3woo4&k!ECn@fI2&xMeqLik!3oa zmZdegZ^;}B^#8-ow0e(5f`!b z4nC@2`P5TKmObRRj7%Q>w*dc}R$!$Zu`NH$><^T)yw@lp-1M`u)Z=Y%-*xK%2AznGJ>Gy=@xl@!xh1kjZ2ZO? zi_Sf;OK<-PjTA4lySV!6`lmvV!;#{ZcGp&SUmlX&A1N(;Ek%w#*H=W&k58gLpnZGm zXZh5FYd8;`|8(Y#zj%-@OP71!5-B>>ql_lBpK9H}_|plMmGyPxVl;oHSMMJZPeQR` z1xz#1%{(f(zxe1uT5jfDA-+}uUmHQfthg*QRh42Fw2L=l!usy}oekThxLNvdU(#sR zsH^yKBJ>jnVk^_s!r9FZ=)*+pwPKw7n--gWubhC@1*;p#>&G}yqO$_%7gtY${)3~n zNLqhb7mTBNO)M`ptGUFgW{%w*FHSr>UrRiDA=hu7nl(2;e2{<77wkld+U>Z_N9A5) zN-%OHD$>47CmYcd^=j>t9?QyO(0YvyZKcjD;=UW-^6L7>>lwo%erl^B1NacXZH~)FG&C2a+Y2U3LR*Er3p9UR z{=_Eg;LK)I9J>vUj!*6WIi%3C8d>^X7EU(I(XLAo`n}wRJ<>x<1mjNU7_)n!zvkJI zX(d_ADM&Hbn}J%m1%fH=H$N>?*cP_D8%zO{;Zv0S<@~M7`Dz&QVNU5c?g?bu2O>(YWOH2+F^BhdM-)0l*T$JBxvX32c%BWl% zgnrsGw{mS|PLg6SeOI~i0>9q&A-{$*x3fC366>Yz{6>BxqPl|pdVC|fr5^dq$ENR$ zTSZd(xb{kJX|n@`^!k;*<(PxQ!idz*A&K&t*kQVa6*lNt!V`bk9KRAO zqnmNgU0k^?D_uL5Y3~KCiHwl641m#a+ewF)VT1SUPm3F_?oB- zY3Ww{`@lE z{e3epxN>eS^lE5k*!&jnHLhXdbz}O)F`)DdzYoX561#Lz;y~$z!O40?79Q++lp7{^ zlXl!c19s6clB#EOs*|8Xl$H5C!b3QvV20s&odoxlZnbA_&O|iJqE8#|dzEVnELskn z-1-ib&F*vJ<4R>D0X;Z_?-URNkI9Tq_p(}ljVDDxneI*Er%tzP#X=muD1)z0XSKGJ z;%zDYd;87YVdIZa>@@YSo>7-CAu^) zHAudS7Lf?FN%DYs@c!$-RIt3Gm-R$$h)GAz$Q$og2Od(*cmOV$13T(u>|6L)}RsBvhf zp{C3rVGA6=s`tdf3XX@FFnwaK(Y{v&=Fz(myapFz4S-KvDi=0`0w-rGMD_e>95c(v znSjV$*PN*JanFF=-`B@JS^4?4?5x^MI{{M_PO;YhJ%e!p(CkF4^rvS9O#9^hZJ%bq zKCOU#+5r31c!8H2ikVU4p(J7KC?W5v_4(%$@EYr#^SRDv-+p^E3>AknHZuoIgP{b3 zNnYxGZTb(m!6o!&b54I0%YX`c^BUld|JfYZ!5mX>V}(fH5APg3ukUW|W>IbzHhG^~ z`hZTjP8;;o{EXt%{yN)%an4!ZRH*d94U5kw6KDM244TrC5XpG50y{(QWi66GmAFj& zeNI*3#(6hGCQZOLVL5)EN#&%HJ7qU>?5+*gg?z9`J_NOWD(~#QFDn^;hjlc%SvoFo z2#2O#Qk zs8g)pxN?U&)`BQ<*Y3SDY*EqAPCUmWB7Uz#JmU?|JcnMKf8 zitTSe7B2l;b8{o5qvb|~gXe*h51NopUu%ERXkLO1K=fxMJAk0H<_t5A$zS9S z&1nT9PYA`gZ|C6?y!sTDVo~co+Y%#y<^ChqHU7Tl#v1n!l{5}S`6&4QG*Fgc7|W~h zy92KRlw|`8!U($vX=#v{Jh0wNccHT3lq&`vFr|ss)SxbicuyIJc;fP2ELfHD1+S`i- zc4*D=GeU2-vFg!Bxql`aEaix$UoQk_@%T)>&!TN zVh-0?y~4pFLsA5L=_OW4MKf$oBtB3~TWv+{tz^*Mdq&N+F?RYYcXvKwl|RJ4O27G` zW4QEg<-OxA+4z>^=$q$j3#E4_7B?O$dt|@; z!T9`GoivtWBskX@y!il@9E55ozz3=nymDe+{k`=HfV{qNPL_WbVz#=SYvW1Adm0Ym zc~VdbY~ED>&(q>Pfi+|B%lZ7h2aZdbbWZuH=SXz`nA_zAVgWl~mx}zAn`nG%V3-Ml zNfh`f^uy)bLu%gJ;*ayxeGC`5+Cj8~oL@rn&4R(nMP>t<|KIx8m|zz$f7i)nCyG;~ z@~29l!9%>GiBPW}d_f>s|fVSZ3D{qJ&vCb$mH$!E&*%;vVPlXA)UU70d?Rz9Uj(ai3+O8=4D^681rp*C?T!g99QSo@DWTm%(%Yn;h?E(%sqbtxYE) zSaPt*!F`u%HSQA8$hk#)Zqz9`CT^#x;F*&l^)hm)%5Uzyd@)(R(B4>*)+e3U zF@%|0j&zIgQ1#a|*ZE`N`8@8Lu&1Lyq;0c#XSvsq^3ykB+*T@PdZ3;2sIDfo(kVvp z6Q~-3c1}pu7tmL0C~A_$E#l-}o?n>h`rglYh2z#AQN6y>DpB?LH7#}e3x&S&#QgTO zQ!4U!om=|kYiXVj7;^2DS&70%c%cj}Rr78H$9$W#!fI);jOrof_PGn?L30@m(anaS zJFqyFq{|_b9NlnlN>lmi3U(oA9J~dxbdce*VUww=93g7@f4T=vUzbQS3bJYIv8ZYv ztnO10Kc!MVw~5iW$|9F)PDbJ|1>8 z<#P1t%SGJ`3cUGk^(=B%DDK8}wC~i>+F!sAh(auLir1{$d^3qnEu2W zlh6Y4o7iD1(tFTh6Wg$AUqm}!o#D1MC(&;^GS`;FQza30pW3^iSgoyYqHsj{+vdRG z?UB-2=2vLBJNYd%)v3M4WCPHW3V{sg$#3Mi8QY^pUGJ48dlkK}+QQBS42`>;nw^Yo zr*#nrJ=FU)`^<~6)qRONQZD9qjF%V*Lp`()%Y;)$pmSM|!QP&)h;9HSSLOIPeYK$! z5J6f|xPpyR_z@a6+R%L$Z|%?RU+xwPJ``+QT{Fk_CI6X}=MB@~Is!EkGf+*xU$B!b zemEANH=%f{x)ZGQ?!R~R)_9IMg;zMV9%44wddk37i*#eKS=l)wZpVsu^{hTRBBBGc z+^rlkynwXWDA&-T4!UvG4KNqN^{x{F(JD0tgQ*UD0IU<$%FQ<%dAuYu6Xq zT2>qN`9IsJL(GyCHu`c~nrCj8r#-EXY$_C%_u1O*vPJUhg!LlLTa%u7`YkaCLqr<9 zdDy)OYk^XY&uaE2f2%XnC!gTK2-m%bGV~8uzu_EDl#vv<6ZHw#GG28T^_2k7t<{2E zg{DO;d%JRB!;!V%1w0t{642#lzBqk0XMEM^W#J~DO+-)a+I_px&$%>`rVrYj{gw7D2jU+~9g+}0^n8esMKRH{zL(k(rB|4aZ|~wSP4qrzi*q_( zF)>*@7<1vv%;6u)I`S(dgbbje(Dg8>g0})`%}~C+aIk=|Es=dtJ^fMm?tGHj~1x)pc7o^g90W_xaT~etq=4RPkU&4+cQf zNkUP1Do$e=pjfmz-*)tsY+2rSJ*^=CW%7#Wv(W=@K9qB%k&97G<2o(kvoE*nfdpfJGugfjMq2#I2um-&?|=0cfZ-?*BFb@Ex2FZd``&QA)plIh*(=G)VEa_nG&xTkWpsR2J<``(?& z2yOsv^N^dJ&jgi8afuDlkAuFN$c!bH@78YQ3GGxOO2YX2337DLnlUGKKLE4^G7eZV z-)_>3=1u9Cqs1zul8^jBnu#B|)JLDi>OTXTnYm-p)llRP%<}P{FsBp0VNO7*Oe_q{oumL+tx0nW4^(^W(vmPE<7M4w&U zDg7Je#~l7my!$=BKcF**T2k<^hBYT;m$mm?$ZsX!S`%rc$~ErHn4Z?V0V}OL^!#DznpDun2*-pBtw(*?{Ap!0<=N|7Q)h|BrY(tD!?oISrg>ipWT6D23 zc9`|(LvM}|BLJGSf!c4FVy&6j8TeBUc_po5zryJ6N0c;pM3n>>$RRlK=*{z}w)KfE zqd^Yn9>+`F-3x3VSfS;YSnH3f{GGZ*o29qRCJJR`VgaE{3^@`?yfJIN~ zGoobYb~H5S6dvTWNe5_aN~Zu8KytBQV}qD4{LdkA8QO2swd#WNT}CHD$90TlYXM?g zZ7MO_eHxe003HHz^b8BMZO<^?T6QzjOcVeJ@R04CzubFffp#qn0mb``|JHRie%;gK zoQIMuyf#P7&A!KH<4YR62Y|rq8goiOkA2C*(?v|%G&J~N(n0w&lyjs|a;_*ZFM@BZ z*b*~miiRgZOZ1#uUy48(bLK1w%P!(xX(y#$P!<%?pVo&ecmhCs7SxW3Z*TOlfgwgl z0O%dP>IMY8{T*Q8agJ@T0vbq4;M7dHyRLFx36+upj0JEPtPlsNxeD0XC;$u`$0D#y z(uH%vIa-d_MQ(J)+u&Ynr;MXyoQ|VX{(|ni5B;ameGgL2?v9(9iM-IjMS%SD2i{_G zz^CJdmQVpS!uMbJ0RV*RPkw*|DJ*pPtC1!bfX%d}BW1vO0L8fV0TPEP1`x?WDCe@{ z6_Kl*Pxmk-TNt=q~qBO0PqwJ_6qS_hg6MqPh zJh+KyP7FjRtwjq7Ay@B&Q2}<4*maeQ%IqA1OdIm6031}pz635+v5sV#10^2$*|NrK ztN{4CPY1Q?>3wKg4JZsiJhSWbdhV1@L%6w&0O(MGv#%5-{;^ z#YQALpk2j3~JRNH;na+zWi2D9Q`<4?s5q`?0$rjd2kJ zjhj^AwJ%!zr8Y&ud+HUyZaMlNSzo!a0G!TSql^`=L^DUq#3rq#$Q)hD zSk?p^MFQ*}fKxzi0eIk$p*Ji+XNJzc`Mr`hR&PZ37_Xhv*FNwz7+~*hKJ%-e%8EJ* z|Mi|7D-7mwdi{H)^011yhuWdI$K$Y;_CQU*0`XaWeW-IDfbcgry`?NFe$+2_jMN8I z`T>7%sZMlOY{4pJ1xZ%GwxflOcc>pm`W zb|6yphPXbxwk73Z^dUa09z;gGKHLOTustP_cOCWeF= zyrkS5%1ND-;4gT?7c|q6#taX224|URk${31g~iqJK}=uV6y8Acj+akR46^xnUIsOB zzfB5_7$a^>`X~WUumqy{St4`9J7T8dR&X4+S21O6RA)+--e(Ra4-^w$>YQbhW$Hdm=N)WIu$T=mZLrhmzPP^dVzZ&V}VxYOT zF{8e~ThOEUGs#{k;KxBITV{^e23}#SZ9?b)zNTZ@5dt}V{of9OISKwuF+K)*i;iY2 zc`JPu4&Hzvmj%GDuni4&a%Abwo8NCjZ65>pTJaK?au@1r!H-$Ksvg6WRPLVsr_sn^ z*Sxi`S#LeX=_9b6xXkB;wSFU9LGS)R;Rq=;$j-AU7CdfO?#Ap5@T;@b{(@wrrv7$% zz|3Msy8T2&V%-r6NcNAA~iJ60NNh@lQFYBjNP-n zvUFgB8{2+8<-omiq#$Y-22sw%O8q=n$>y2)AX>L5Qmb|f_+c28XHgJZQqpb7fg>se zSunBgrM2IC0CGN`pKR)JX3i|g+jgw#`$REAhlo=BR4tZfPtr=m3`(HX0X&Izd&W`F zo8C~$?h_SN-PNP@8tK!+8yq;?&3;y~HIXe-B8V_u(ROyZKO#j>vk~m=M(^5l(Mae2 zYH|q57a!ijz&nN2P^y?CB_n7vsKFYadUfZyJF{BXnI{A+tys)~V&(O&S-*DuLe%)) zc-()^50POl9HZUpYizw$^(pnIjfUIwH;S6yW0Fhnlm3@No^aSWzX*H|QZF`i$2v!R z1R&z~Bk6M2UK>$~8D5lWi{&3_14Cj2c35)yCLh)?eDCe0ZfOS-UuyrJWN*!hcMoQW zwkt}?-|e3%K3TZTE@}N6h~9lSmC2kS;Z#>~QHX6UKbF7eV}1fijtFQCjR32CJUu;F zi%#i@)QS4k73(UqX%3svjLm&~fUBTMX?~=IPM%C}RJw(kfi5iO&dz4w-MM^Z&G%e7 zEQ)H$P%!c}eMIGslbwxj2wc0bJi@fK4H3gjtl6bH(#z)tZDoRfJ-1wsq$yvj2E+|* z0Q_%J5C5ZIN>z-=$CZC=C{%*}e%;ii1TbP$*t>-P)>V!!b<}|PFL5>zVN-Auvh~5O7*E^{i>{ABFRbZ08$yGepRx>oaszzTYC=Cvamtd^d znc9}ZgXs+49C2+7TDtR_U4@DB+>E2Hgq7N|JJHbzs$1|_+cBlVs5wfI%@tlLPEv!u zFiJytQH{^Weae6ro&c$OVpKFU(5jZC_J-x?8@}&{mGvkyLCoBjL{K^xytFTL$7Jou@a=jy>ul<~;d>k3E??eZNzvo3j$qVx7468>jkl5dB;GFG11Bcw zilUfwNxoj}!hye-&b|cl^Zx^L1n1wFBbe*QI2L7>k}ZWDlqftYp}xuR!T*CgqT$@c zU)&K8_ZQd6_Y$(KYVW`+C-{q)^dYWXvq;F1D?_Gx`m;bfRr74<4_P|5x%C}q5dnpc zIrArMr>flM^*275AG540mo_m(Vw&G-m1<8FKk}eEM3D>O!r0{KB99q>*SpMTqeW;N zTR@gO!|bdWyX>r**@)SanMK`kkua-R9S72jbkf81_`e8Y>#Q56o`r3T%=@qAk=XY)9*OlR%nWFSW0F3cX*j3#KcQVi4H;1|z`Ym9UCVX)inp9r>-k`5;R?R!ay8C(p5wuj4g%oc*cx7?QQlr_ zNsoz`aG-=@T}aw#Qkg|hz7RsKMIchS4(Kf##3?R_Zl(__gWQSJ_%i4|N`*Y3v`t`$QiV|DEq-ee1}w zZc-2{_)aQ!%kwgCJ3r>IvWY2REh$d<(?(L3N_N_a*uwZRpkBs|Mks4SJKv85YaL5W@Ro&PmrF=41n_wOU2D2+km(nKA&){p_Wa zH)}yU=RMdknt%aJFPAw-=99IAZT3pdom`z$)Lx!7?KbNxipLL=zBx7lM>rM_lOl*O ziUazq>oFpLAEPn@Glc{h0g=THVI?|kIchpj&3yq1eZe5>oiwC_Dh2+pk{af1(I~T| zhLWR4Z-z++zJIm~LVFr0!a_1_;(eqj;tY5XA^IX}3#6E;%&OI0P<~xt7S=A+SpyL6wLndJ z(G|~PnE>*1+2XJ~AqkJMu15faMk9j^8(G9o2`+$FY1>zq+Icq<8&#c_`ztn2qV?9I zO+V8=l*w=YfRks40%mksz;2gG0sUbCpnmD;z{j{MOn)vos=;gXLl^RM`9CG0IITB3 zU{|(OrXV#8SSU(u>PTOH0B%Q$8DyDBZxLAtqS~Rvy7-HIn+on*-H(c8355b`CFd84 ztnU25XXEWyl_3yJ(FNpkw3 z&E*=TnP`m*lVna#cTSGC$31wvjIU8c*=~TxJsU5*9dd3zu89XsjCH*Ss6F(V<<4S| zs`wucSsVRdWTLoTExO(6sF^q@ob%~wsuMCpNoCBm8n*46a8wzzVeJZZzCE3g^scTs zu9d*#$RkI7wgK3v>_5xkJkC4#7|!bJuLXNRr2!6p2XUNd`%@@Y+S-gkVDj#Uc`b0V7oPc?1vSv zRQpQoo4L#~chv+(GJ68jAgP}VuE_9^2Angl7t{00y~^M5R9-^24D%Xw?xw&sFz%id z!<^5s|5xn&z=^f{MGQN#qPm*rY@DC%Oj}ay*#Tz2CcTfixPb0KGE)HPt`McaD0U8N zKF3d4@eY*Q05koG`opcDHxXf=z)=yI*N6BjHj*NKvN+6KLgQ9j13ho7M(=PXztmwb|#9QmTBM9ImAiTc}B)1j<|O=j-#^QPEQ5T zwH*y9O~Ua$p^lspHtRB7_iG@S{ zFmOBmkk8I=5+ooPi9M6qa=I*>Vbk;fHR?q&&wiSEc^R_k<?s&57ni7#FcK z>P7kM%%-N8_P=$4-p8NUx#warWlVF56X^Af9-HF}=+jsj@J@F6 z7PWcTz*vnhOH>?H#7}~Fc$N1O2xw2sRl)h=l5-ctf`U)jEZXlr%eThd$bk>(XZ|zT z#K^y!?T#Mmm@A!Sgf^T<-~3)FqulT7d;?A99gG#CU3R%&WbKkjOa5)F#6|`BCux=2MDb8J;P01_7iT8%WFT& zF&(Pekbdd;#cdY&D9x58hxFm!6_qb>DLu8}=~URk(o&ild?<}9Max-evAUWUms{a> zu+L;9tlYRWhRcZKiBm`vd5i1x`}|F>wlPg)GO~qZ-@7CkKeE+E?5p~1RDc*85S-Ym zV+H2n=*OOM0zT|rU}3eZohVMuWfQYal6gAhuuKV9jR;4J#QD3}Jy3W(G{UuDUjIm^ zh_9B;F)(NxciDISc*i*&m-7@RA1(|>4|dymuOiE6iJ=B|ZZ!o;-yKsY#R^?cVge>L z%dTBrWC@U?JwMY|pueckWjvAb(Y8p*K3-puB2CebX!NWuX7%ij92~ID=jzn=cnFZL zrLYSbT@5)J99Wq!PQbZd1Jc~6lgW1#%ll?WX1Mw^riUCEyL2p!L*uAP{7ku&4b7u= zIUI))@u?RL7Faa(N0=O~1q*F|yqgZm)*Qlb1ge8Yx?`ZYrRKCxx^;8PBJp)?p%H7B z-DQj4bMq{Cj+z8h(>^8>bepv<22xTwsQML=D`6e&ob@XpJH<~euLu$!iLwcxt}Ds;`rAt#9!_1xniz&O-?(ddvZcDy?@BM{*6^MW#9R0 z-9otw#;S67f{J8U058l;3fiAwiX|7Y<5`Wddvie>3sUTUisU~Hyx-GqhBcU(7uOMuPL_U+>M<=K*l7ojn zygZ@ssHH8j-}7~0b(X`tRDA%seOJH6w!Eq8!Q3ky?AaG2E5qm$ihcCWwz1?BX&4m2 zGyf)>;koouybvm$7f+S5d|ts31BgeuEs@LpquFni;Gh&2FTujmu!ZySd^19B^(k&G z@hY$IT{Q1MZGY`gw$H|pbZLd6NWy{4=mF$Z#(wq7vo0q*9aCv?{h@6>yzTidIl=KV z<>!pY(uL(a42Ms-OJ09>VPozP&lNDDJosF83~1dTFEZ8+J}z%sn3^bTUnAU}m!KjC zUkcXi$3^?5ddnQom3%aNkc(fi(jrTY96U zXSp8_vE9^5a3_Y^pnhNzBNB@O|(G)WXTX$>mG|f=s}MY-6sVe!zka zb1X$@#c*@Q0Tz1EWh-#ZAq;Nw%emxeugL-Jt{=Z$iPhvjO!3;f&ZPA1AjA3>E7aOf z{s3ReY^=zt&?pP+%ts;GBCQ1TJyA42B29FP;&^kN9zt7_^km&;+EY>G!^_YguQ59J zD*II^nI^W~i(1aM${S%xC<;f}4H-xpOf^i?;UiivRpfvz^Oc&n04nCbzlD(jrJnc& zcm1Z#Hlq?v{Ly2lSu}IDs4ac!_?#H-sTp&jX^-9-1_Bxsy{@;y-JiNB8AY8A*-TrE z3~ryfvxdPOjaycI2yKmMJT3CRQ@-FwI}M9-m}{x0ma8m|#7K@|*E}CCkRO|2XYgi4 zBhiDN1GmE;SRYmdhXO1XjI%kzJ42#-FT=^hXl(b+FBR?!9PW}XovlHoK=o))Ktij} zo}kubi)HN{u;_6;D)QbUsBh9ZV`1bJE;SE3#>ZYlxn)6HF#PJkV7VCy@_w%L>PGh- zzb;~TmJ|Z2sO$3^VopE(<((KFbETDt(PlX7kM@lG?VHybcalu&evgII&?>{B!~Gu& z>;kjg;1NYM09BC3E~3(e2Y%$S;vHadWbj7Awc~*QQB(!g5hJwO?N>$K2QDPmJAS#@ z-zG062;j$F^#@#O!bG2%tW3*syl=k6|Jlde6 z@OhWGljqIHheY0ob9GapKlREIu!}g6;P|EZ_eKLF&$0-l zs=H|L`zc0vkI%uKOh=-~P9jK@J<_^o>>`jZZXBV5Mw-l*xf!b&hoa)* zXgE+1A+HNZodakvehUg5X`3(Aq>XfZ7%%MGX21AZmnQSoftnWL_3G;{=~PiIc^ zCe(S`+F|bgYVT51HR6K%Hd&{|8(@bDY2|=a2?c`4xm9Pcpo2%Mc33Yoc?h@bl0+=< zE79nGOS98Hdox<5`Su#TqZ&T zA*s~#{Sd-hcTcjcW4MFP4ss`ISY?Cz956vg>-r?Wp3qIYgA3$f;GpZYp6+`~Ph{}# zy8}*P^Un>B3l=)hJD|4H`ti@Q*Hf?ln7f~P1gCDo^+)>{JkQKjQ3Jaux%XNkCZ5tf zEWbK@K&Ftltw!HQy@(?-w23rVI12PfX%7eD+NdKud$9#$_#I{01{p6G;biAA@I-cR zL)G+Z!H*tdwm?mv<7qA*{v$YFRz1)}L3Ar5odG%9aR-%uR){2a2xEOI!V z5742|Bk1IDif?q@6+w{HeMOWpNR9<25X45k`_V*>jZ;fCS{^`Eu>Z$=Da|*Q!}|W@ zg|$lrD8b_kl7@b>6k@pis$g#^YZ4es~S+` z&Fk8Ciz+xM?DhZGg&|I~|C%JF*Ix-EGC1|^nmqdt?$8yXXHXfUR{E~ym@fK%4bv_T zzpP1?TP~<(AL9!*9KPhM|HLQFCFEGW`q`p8lk9>?Fe1uysT4|@QWk?NKX&k znuAWyC*Ao8=1sgy^bn16_iSaB;S5FSr12D7Qo`g*bUevF1^gq#|4l{OmISHg4l`?r z-H_If;lqCaI6l5mE@)j_sP+`)c4)|g4qC4+e`IwTAwjI;LBF3DjV|Kba}*yGE!t6q zk8bkX`zzll)kn)LGT9f&=a=M)mB~9OG6hanR_E)Q$5lKE#bf}tBFS${``u;@ zzk`C)ek@n)*Xp73KVs$CR=8&hx}V&xjPIXK@v{P<>^-1KI@tLLpckeH^upGgj+Ih- zg3h73jDMpG`qWXbwgw1`^>Jq-u1& zZ8c`!$jT-d7+~bUd9C>63^OE*^V%dHGeB4obdi>VNYA6-BA3ih2TRUu7Z5dPXC>5D zmkfmw!+{aO@_Aeyoz{+NZ3>e^b)kWG=b19xJ!!eh+QV_XbOI%&i;3HO4eQ5_I$lf# z?Fd(6VawW_{BFBUf)$c`zA49l9rHwA%p(#%ToF;;(h;67Ia?LAi?aBpC)jggmT$Hx z<5%8o>eQlIb;-N$AqE#F+XB?2U4)bQsq9$&3jaqHgfq-xb*sJp3?!ZZv`R{q`B z{K23AQ~}h^H3n6? zCa$}+PKequS+X**_twZ9j5Fz%m1|}0o^r?w3Fw}OdL$!%TUn6~rRAh)0@}>8e-5BM z0Ej5#SIEW-#(+;qKN^=`GMfH*&2@FK4GJ&ap#9A3H_MoFfxNrdzgSG1?&) zQ3M8(Kh~KK?4WoTV<|a%45!7Qr#o;wvR$kN;H~xNf9mSq1D32R?7+;k3-NcD1A5Sh zET^GMJj2ldLTX|*opQlZeRq!i0>lH*wPe(4a=>apU#_fK%hObMm=7Ir()uFTaR~^{ zqZ(J|Vh|5NhS>ycM$rPZ6wPJHbdhBsV=O5_BZ|UA~?LRC&8P5rLm;>qztK$qf znAPL?TQ~M}kQ?I_J^93we4Z5A`)Hx&#z|+Ty+FV1OO(Bia>s+L;=x^?Gvaf|1jcOm zB0@O*T*aEU63-%gUy2`Mr+@w8Hh9sj(h<5~`|%Y?Z%Sr*apn_qJjZj3@Dq4rFX}W) zS?&n}lE@g_c_=#R&BgnFU)JgvnAbZ(NIQZ+Dg#W8+moqh2hQD!)^;%|sTZGhW51i& zsJQj-*WZb90`tY&pTSF;W?%Ui&aF3mD_-+Z>p!&K=P;}1R_t@fl$j2j_`sME3wy)+ zJ5Fe|^#ec0ZzqJTr|eIY1>*55h!)S{dqDC}@xs@~RP1WyHZ07U_g0!`l5;7!p>boA zhp&^p2gyif)V8O@keK>{F?sWcOC9R7|6w;FeJGB(l-cS1fxv*&z?rcz z5DXc+?&DEACqCUr(=EK^?MC_0O{yo_m2-l{&&Ha(-21(~ZfJO$knTkl=I-#qoli;G z7J6C6R=qo#($~|jM&woh`<^i8oZPs~6_55B+7DHs8p@M(y7uIh{zZ*>jf;ib)=dqs z5ghUy>Ch*MuKRZY+4*l)F0J@OLnbHJ{Y}Y-Yua@+$b6kG`bF~}<#DHq6U36K(+4(} z5Vr7n>WO#xia2kMB-sR3w>rz-8@4|-PnEY}{4xG3Y>|(Ci-4vb#hA-nXk{;8SEYoy zMIT9t7>+E26U>DpLk%{^yPGw;+@r;3I<5eM&FbFhll8fLgB=i&pA%ep7_PYEzS1gT z(bzN1M;m$3F4M`0(8E6T2Jk`@`Ni>(dv_K$LQ)1eSszplYU&oV9|B(ZfmZ@a_$1XO zP}pYomZR|_$vwBS7_nNLD0jdw!obrHgBd^Ep)4;m>Pm*pqAJM+k%-zh(5vNEYKk^&ObEMvV6i>5dZWo*h8PCRa9#gDu zU*%6p+nm~IP0AlyR7;Etl+eTfN;8y}5A9CJcRzt_4~_?nAUf5XQ)~8|jUKmpr(xpZ zH5A1N>A@IUZVGeR$eo*pkxtQ&+OF3jgLh2M4W)rcl%Zh@dqCCT!J?6mJ-1fJ{}qL+ z%eg*cYMv^EPhBi&m`NHPd&PHTd&3uOftrf3cFcQ!n#xW@x}PTQ2e4;Z6fM-O9z2le zx?e)=wbJ*T-ef(kG@Y17dIXVZ3DHK$a;{6MJ`UFl9m%>w#f67+8g$=6_p4`{5OvR0`Nh=0H)>@y?LgjcEw(uA&~Tct?+Lw$o4} zT+sv9GhXI@Yc9BqYHjwFXwO^1vhrg?ve5M+SfU5GjFr)Uw-N5J|T{zvm@o3!t08cnyz+y-n4Ux9t)B|VC|NK&@0(txFtahpNqED zU+T|pNn}sUkiJXMR`~leayD}C>9ytld_n!{&!_(p!j}IkAtc{u9m3fbEc|Xf?%{$b zupnE^8EP-9ka<_q1%L`;)U9Pb(FuSufgiuyUs z0pd3EvwHpsGQIwvL8j>7Kfv!6c#safMDw3?IC5my#vr-a10{66?3-+48I=ruk81=K8sOJReq@fHeRro0%(?0M%tufZ* zPeWXrC7uCA)%wiJ7{4i?AqN@{{F{0ONW6 zCFx(V z=fLPCSb-w>%k{vEv^Xt>V2tPb=JDcvLF$FH$w~Wh+xy78lZQjcX&*6 ziWFKB+HB`ZYzRNyBebaq7Hy+FuVKaS-V_0MCUbpfPz=M&efcbXpls-DsDwQBi zUSwZR-~(yV8I?Z|oa>d<+$MBK80$`v8ib&1|IBfUB;U!EEHU=$=S9RV_D6Z~h~tq` zvh_D`p6ml3&kmU5lasg0m=~gK%?&RDmYiGqXU4L?31Z)ouOg{$QpJ8ZGd+aYaJa^@ z7@c3ADWIO51!=^S1GLB(RQG_&2@W8Hqj~Ig){?X6+70<1u%ntu_^K8%d)cy3c&r4k zlUW+x;6@i-de+Px)VuTf^0;(5G94?Wj(T3H0#4;`ZAB+n?G&U-%+~+6sP%Smv>C66 zv+F78YT-&-DD+%_5wUpC(ehJq%&(QumsL+7pNA$cjPY&(@BwY1@Lu#T-?Zdm8x`Bx z#Hc;0wzH;h;$%SjuNaL;MniK&y4d4`1b-%5(rs(Ge_&ge|M0mL+3>m;pBann{LX_E z^g#ZDdxKeC8SilidXY`L@g+^<4i8_vYhv4P*?Xh_D{4jNhYk_GX|Kqe<$9V*u z>%=HeKqU7ddAEQP0B^hA@NWn?MRx-2Z6n^JF#3)<#tzN!bbR3*(z`%pTwh233Yw(M zru>#oofsIyerkn@ISg>t7{o{{sNh`!%firS+KXVC4hSyO;>U8Mh3|i5bFFJ4>TeG$ zvP>5*j>6vFE_e|AdRJ&G?4G!%Z3>=laBefttPWQNd@~^#Sx_V+j;c&hww~~b>}I;M zbsUJgeBo^&J{-c^`M3T3=a<`-E-&G#MN745F?|T{{Un78+xGV#bSs~LE$2TT#tpmX zmAMjsVJ@tV{rlws^FC9jv%SCX%*5+n>~d~3EXlCrSsH?+Ma<9Zku{9}tVhs!_n$@C zKPyxE7x;fl6FB|+CO@y((9oCdwo&mM3Vm1!?6 zUHv!YZkksm8ujuUBBNJY)|KQKE@UBMpaF?GTpw6t|>wGV8 zC~X%sfB_A3ftl_9Hd^>~10089t#EwxB|wk}-(~1Ty1RMrO?MWj8#$>bGG3M9_~{!_ z2Je`z>u)#v#Q+X+rmuY_7w@TL0b~}DxyfFR=Qj4?!q+CvYAX@P4KT$*yOJYYaV1kn zNAPRYKDE7$fK%2nMLvSYz4`Caw2$HDJ%GOK79u~;AM!!HMGOqv@)`o{{Hq`4we3sa z^c=XH^Fj#=W4Xhvp_yp>B_!B6LrRZcKofFUym3Si^LDeytb<9L&%VuPUM_COIkyp_ zV)kE?+qDpE+n>>xLl?345L}BXq7IC;^tU0eK9&4%fO{JNINGq~3(@a6-A@GEr@tU& zdM>!wOQQj!z&|R4%RWQ)WZSRFk?SLN6}jS#iQN)K$zH=2xjNBG;lk}-I40}tvDvMM zNyFwC!QsAB+fg-Ih?Z|&y&{8}kakMgQ1w)r`!&2^X~tOQy{ zz_jl+2#daKjC+}zoB9ZiuY&#xU6!jK8`X=Gw)oom{6*4s8@5ZsVe$I1wSx)iQ`xeY z)S@WL;%#?xyX2g0{mM(``(o>5HtwSSd90mz&*aT+S88<; zDORaD!6HZTp^=JfJ&niq9EoGjI>8pc^Ft2~lRa|!yvp)O`c>)FRaaaxxhALLn3Boi zF54$ole&K*hfy*p-19Vl)qqsG44FVtV+(J)HX49+Z%A>HBpC5$Tq}&05|}?wGu=X<4Use8y`xkHBRc`C*u@kLl~xiwZD9@wgPnil}I1F>T#@9VRX8IoAA@ z=A6YHO>Nl5MS@W#r9;b@H}|<=`JF~BztLQx+WBd3lK;S$W2RF;tRf-kNB92%R%I+i zrn~vEdIDoD|8QHj1#->3_hj>3qQ*7r(H%#5wrDk76AGmewZ-{5^{*W<{E^wt?!gvL zPV6Ag|A~~eRVX0}U^EfKq=(1=WIo*RnAjL#c|I&vZUJt@ma&CHwfwfdob(zW3kn8*VA0)(Bb8s+}hnBLkhtuL2_LMwK?;L!DGl5ShojGd|J4dl^Fsno)>p+c22 z33*X>%Ow~**1I~|Oh!J`#~g}V5!;Ui5LLSrcxlQ}3HNXI%1yp8aazarcx?Kim&5mz zx+GV3NEUT|-<#W`DUe{&8F^FEgHni=ZEfFT$sBLVZzwjK(X5WSFH5ep`=(86x_vFl zXU1&m`O0cO-l%Msf`8bMbmD6D&0b+0&21+XQe??`Bak?z2`6yLA|+ujQoQ7}dvokc zB6iPYCW{xTb&c%680wGgZ?P#c4{K~Q$FC2%mfeMC}y^Yy^s``4! zy6iH8P7Z4|%rr}o+YV!84)uf^>Kojs^V7M;ZBP7)NV-3QL94G83SS6Rl1!B)cbh1q zP|RG$$hfX2v_@P>ke%gBDPwzZhPTVF#PgQ+dbLL9b55l9DH^W-DeDKoKkZTmu3gSZ z{U^n^qb5V0y(kMly+wR+A}g~)9P7nfxAaamsUSp6@Afxrz3$|0f^7~ zL?W-nIeL-5JpZ1RNSPBdN3|_Ay2$Vmqy&xM91wHadOXSvQZoQ)7&P5w@A_Hlq0#7# z10^K0vj{ir&kPaB`@o9b&xagrv`BUMM%hIdPnjJVHA(OrDhZfdsc&c|-PWZ{I%w)7 z2Qx-s%qi$8!5LBWEZcSgv4@Q8Zm&UU&|mdWYN1JZ!f|}YB_Fr+K@MI9nj79%Fq9C^ zz5B#LOcRnoC^`2|r6VTIpny)OgmV9U(+fxz*)pfU1PCH9QwEN}mHC*2nQohV4pj&5 zp?U18>?<-uolbvyy@qT#+r|NJRd3(FTXQMPnAUJl!jv(`g{+4FUKtc(kJvueX@_L; zE0F&Tn9Q6t^HuT^y=YSYg=O;Sp@0K%v{4Jm>@^E| zj4JsH0>9X%l~;`09YLKT1WQY?c;osvkq<9r=JUR{6euhcIcelXl0`<2Atw^hqn{q% z9EoMsl|v8!*BEC2mG%}Liad2XL{!ONI4gh`VYadL^w)(W%x?xuzCI(S*9xWdEPdoY zHJLNx#oy7E(tq1eo2^7r^}|T;cV)4%qlzJPY`}^%{xDJ>&C=T=5fNRNl0V)v)B-9lo~D?4DC3 zdPn`UGVU0~8{6-RBw0*Z!1cli%kpr^Ll}ai+P)}!gCf>A>()NW%^yT3ZLx~Arm9`in zP$CgTIKyQMXOCWkX76-@+FotBo=lU<6UK82V)He;MYZVrx<3;xP(bSOmp#}8K(7%e zwU8o&Ih!hQaU3H60S(}fs{z=e)xdQ?J|I+ZhLhnzRy-fM`aGK40z~3^Tsp70>_L#6 z2=11_{6S;dK!>tCXRCgt2@p~x=1GAaVZ|ec&1m_>eaHPIcCcY{4QKu3bbsS}^Hk_$WjWU4bR~`Gv z`@ZH*x+OOYA_u~Ie)I#2w+wB>F|`$(D8NxU4!mzAj5)jHRqk`Fr32carc*uwDNj;l zwam1S>KOBLK7BvU&I#ddqPQ&R&F``DH!tv_$ z$&v4cS`EIWKNX4$;KdobghhKKI(EAcxT7do@#^>}RTM4fHd3a<6IU}JNpmMMM7|%8 zm^qD(R)UmobGB7t+>7D#rjvC6yk68+FEZ};P`Kg5d+5TNLV=Wg<#$2A33lnQ!t%Qf zA|u@NNTN5^30@GS2Jl*4960;}Y0Zl%nOLP?1{?1O@D9oFfzqDo2}eq~q27OyXntcj z@YU@EQ>P1((jK+^mEW|_!_0qDLLq$Oo}X#q{$J}(!9`&R;_Z;LD6;t=f~XfDrh(zI zQ;;A4R%^^~hW#g=#pnXwwV;0wQNs{t;NXjrX62+dG-aE&BKW-%d*XnGYFE$~g2)wb7oyQ5Sa=4`s*vxWadU=X{h99w69>N@ zsvYLw=MwR_HF_yUBX8=%X5lrgT?RMGcOVD>>adIG0y*EfspJrX46TbvODY>|&umhA zq7gOa{6Ity0JY0-#xNAlIEv|6h(e2nU~zy#P8GMsZ%RHglxp#Y+sw(a^IATe``5=n za_nB{p6Pb`@&Lsy#$P(7Autut7XLA6YB1HJa@5Qz+o2DD%#*=ba?wMGRz)sfK=F`Y zJ8bZpd!`K9;*qwbTGXYPJGH}f1At0j?c&}YixN(3H_BLgW-COBkv4ZI12nZE`!a4a z=2C1{>`bVXU<9e|OQ7T;%z(nwv)Q`x_e!zu8zk9X;)9Rp%}h-6Tb6gyuV*^4K%shBtjD(>c$Ojo QPcdAORX&#?efie^0Q!s$S^xk5 From 8a8c6253bef170b57c91c8e129d977ae27e3f530 Mon Sep 17 00:00:00 2001 From: Paul Sztorc Date: Sat, 10 Feb 2018 14:01:25 -0500 Subject: [PATCH 028/133] re-reverse the bips this is what I originally intended, but I forked this branch at the wrong time --- bip-blind-merged-mining.md | 329 -------------- bip-blind-merged-mining/bmm-dots-examples.png | Bin 41116 -> 0 bytes .../witness-vs-critical.png | Bin 67570 -> 0 bytes .../images.txt | 2 +- bip-hashrate-escrows/two-groups.png | Bin 0 -> 39695 bytes hashrate-escrows.md | 408 ++++++++++++++++++ 6 files changed, 409 insertions(+), 330 deletions(-) delete mode 100644 bip-blind-merged-mining.md delete mode 100644 bip-blind-merged-mining/bmm-dots-examples.png delete mode 100644 bip-blind-merged-mining/witness-vs-critical.png rename {bip-blind-merged-mining => bip-hashrate-escrows}/images.txt (97%) create mode 100644 bip-hashrate-escrows/two-groups.png create mode 100644 hashrate-escrows.md diff --git a/bip-blind-merged-mining.md b/bip-blind-merged-mining.md deleted file mode 100644 index ee81f1f3..00000000 --- a/bip-blind-merged-mining.md +++ /dev/null @@ -1,329 +0,0 @@ - Drivechain Documentation -- Blind Merged Mining BIP - Paul Sztorc - November 17, 2017 - Document 3 of 3 - v4.1 - - -Header -======= - - BIP: ???? - Layer: Consensus (soft fork) - Title: Blind Merged Mining (Consensus layer) - Author: Paul Sztorc - CryptAxe - Chris Stewart - Comments-Summary: No comments yet. - Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-??????? - Status: Draft - Type: Standards Track - Created: 2017-10-24 - License: BSD-2-Clause - - -Abstract -========== - -Blind Merged Mining (BMM) is a way of mining special extension blocks, ie "sidechains". It produces strong guarantees that the block is valid, for *any* arbitrary set of rules; and yet it does so without requiring miners to actually do any validation on the block whatsoever. - -BMM actually is a process that spans two or more chains. For an explanation of the "whole picture", please see [this post](http://www.truthcoin.info/blog/blind-merged-mining/). Here we focus on the modifications to mainchain Bitcoin. - -To support BMM, the mainchain is asked to accomplish two goals: -1. Track a set of ordered hashes (the merged-mining). -2. Allow miners to "sell" the act of finding a sidechain block (through the use of a new extended serialization transaction type). - -These goals are accomplished by forcing nodes to validate two new messages (M7, M8), and track data in one new database (D3). - - -Motivation -============ - -Regular "Merged-Mining" (MM) allows miners to reuse their hashing work to secure other chains (for example, as in Namecoin). However, traditional MM has two drawbacks: - -1. Miners must run a full node of the other chain. (This is because [while miners can effortlessly create the block] miners will not create a valid payment to themselves, unless the block that they MM is a valid one. Therefore, miners must assemble a *valid* block first, then MM it.) -2. Miners are paid on the other chain, not on the regular BTC mainchain. For example, miners who MM Namecoin will earn NMC (and they will need to sell the NMC for BTC, before selling the BTC in order to pay for electricity). - -Blind Merged-Mining (BMM) attempts to address those shortcomings. - - -Specification -============ - -Note: This document uses the notation side:\* and main:\* in front of otherwise-ambiguous words (such as "block", "node", or "chain"), to distinguish the mainchain version from its sidechain counterpart. - -As stated above, we have two goals: [1] create and monitor an alt-chain (defined only by a deterministic list of hashes), and [2] allow miners to "sell" the act of finding a sidechain block (through the use of a new extended serialization transaction type). - -### Sidechain Critical Data ("Sidechain Mini-Header") - -Specifically, per side:block per side:chain, we track the following 35 bytes of information: - - 1-byte - ChainIndex (known as "Account Number" in hashrate-escrows.md , or as "Sidechain Number") - 32-bytes - sideHeaderHash (also known as "h*" / hashCritical, the hash of the sidechain block) - 2-bytes - prevBlockRef (an index which points to this side:block's parent side:block) - -The **ChainIndex** indicates which sidechain this critical data is relevant to. As we may eventually have more than one sidechain, this serves as an identifier similar to the Bitcoin network's magic bytes (0xF9BEB4D9). Drivechains however only need to use 1 byte for the identifier (there is a hard limit of 256 sidechains identified as 0-255). The **sideHeaderHash** is the hash of a side:block which will receive PoW via BMM. It serves a similar function to Bitcoin's "hashMerkleRoot", in that it contains the data for its blockchain. The **prevBlockRef** forms the set of headers into a blockchain structure by making each headers refer to one parent header. It is most similar to Bitcoin's hashPrevBlock. - -Where does this data come from, and how does it get around? - -#### Creating / Broadcasting This Data - -##### Creation - -By the time Blind Merged Mining can take place, the ChainIndex is globally known (it is the "Account Number" in D1 [see previous BIP], and "nSidechain" in the code). Each sidechain, when activated by soft fork, will take one of the 0-255 available indexes. - -The other two items, sideHeaderHash and prevBlockRef, are created by sidechain nodes. sideHeaderHash is quite straightforward -- side:nodes build side:blocks, and take the hash of these. - -The final item, prevBlockRef, is a little more complicated. It is an integer that counts the number of "skips" one must take in the side:chain in order to find the current side:block's parent block. In practice, this value will usually be zero. It will only be a value other than zero, in cases where invalid sidechain blocks have been mined, or when a side:node intentionally wants to orphan some side:blocks (if a side:node wants to orphan the most-recent N blocks, the value of the current block will be equal to N ; in the block after that it will be back to zero). - -![dots-image](/bip-blind-merged-mining/bmm-dots-examples.png?raw=true) - -Since the hashes themselves are already ordered by the mainchain, tracing the blockchain's path by index (prevBlockRef) will be the same as tracing it by identifying a list of hashes. In other words, the ordering given via each side:block's "prevBlockRef" will be isomorphic to an ordering given by each side:block's "prevSideHeaderHash" ... if "prevSideHeaderHash is defined to be the sidechain's equivalent of the mainchain's "prevBlockHash". It will be possible to freely convert from one to the other. See M8 to learn more about how these hashes are requested by sidechain block creators to be included in the mainchain. - -Now that we know what our critical data is, and how it is made, how is this data broadcast and stored? - -##### Broadcast - -Mainchain nodes are going to need this data later, so it must be easy to find. We will put it into the coinbase via OP RETURN. - -#### M7 -- "Blind-Mine the Sidechain(s)" - -Thus, (for n sidechains) we have a coinbase output with: - - 1-byte - OP_RETURN (0x6a) - 1-byte - Push the following (4+(n*35)) bytes (0x??) - 4-byte - Message header (0xD3407053) - (n*(32+5))-byte - A sequence of bytes, of the three Mini-Header items (h*, prevBlockRef, ChainIndex). - -( We assume that 5 bytes are used for the Critical Data bytes (non h* parts of the Sidechain Mini-Header). For 256 sidechains, a total of 9,478 bytes [1+1+4+256\*(32+5)] are required, conveniently just below the 10 KB scriptPubKey size limit.) - -This data is parsed by laying it in sequential 37-byte chunks (any remaining data --ie, some final chunk that is less than 37 bytes in length-- has no consensus meaning). - -Each 37-byte chunk is then parsed to obtain the data outlined above (in "Description"). If two 35-byte chunks being with the same "Sidechain number" (ie, if the two chunks have the same first byte), then only the first chunk has consensus meaning. - -We are left with, at most, one (h*, prevBlockRef) pair per sidechain per block. This data is added directly to D3, a new database. - -#### D3 -- "RecentSidechains_DB" - -To suit our purposes, the mainchain full nodes will need to keep track of the most recent 8000 (h\*, prevBlockRef) pairs. - -( This 8,000 figure is a tradeoff between decentralization (costs of running the main:node) and sidechain security -- it requires attackers to merged-mine 8,000 invalid blocks consecutively, in order to cause the sidechain to fail. The mainchain burden is minimal, so this figure might be raised to 12,000 or higher. ) - -Therefore, D3 would look something like this: - - - BlockHeight CB_Index SC_1 Blks_Atop_1 SC 2 Blks_Atop_2 SC 3 Blks_Atop_3 - --------- ------ ------ --------- ------ --------- ------ --------- - 1. 401,005 2 (h*, 0) 7985 (h*, 0) 1 (h*, 0) 0 - 2. 401,006 4 (h*, 0) 7984 (h*, 0) 0 (h*, 1) 7801 - 3. 401,007 2 (h*, 0) 7983 (h*, 5) 2027 (h*, 0) 0 - 4. 401,008 2 (h*, 0) 7982 (h*, 0) 2028 (h*, 1) 7800 - ... ... ) - 7999. 409,003 3 (h*, 0) 1 (h*, 0) 0 (h*, 0) 1 - 8000. 409,004 2 (h*, 0) 0 (h*, 1) 0 (h*, 0) 0 - - -When new sidechains (or "hashrate escrows") are soft-forked into existence, a new column is added to D3 (to contain any BMMing that might be done on it). - -For each sidechain we also track the field "Blocks Atop". This is the number of side:blocks that are "on top" of the specified side:block. These might be regarded as "side:confirmations" (pseudo-confirmations that are specific to each sidechain). - -D3 also contains a column (not shown) for each sidechain containing "prevSideBlockHash". This value is is either derived from prevBlockRef; or else it is given explicitly (in which case it is the converse: prevBlockRef is derived from prevSideBlockHash). - - -#### Coinbase Cache - -As mentioned above, M7s cause data to be added to D3. Recent D3 data is tracked by all mainchain nodes for a period of time. - -To efficiently keep track of the above data, without having to constantly load and process entire blocks from disk, we temporarily cache enough coinbases in the chain index to maintain D3. - - -### M8 -- Paying miners to include BMM data in their coinbase outputs - -This section introduces a new type of transaction, which allows sidechain block creators to request, and pay for, a critical hash to be included in a specific block by mainchain miners. See [the Blind Merged Mining spec](http://www.truthcoin.info/blog/blind-merged-mining/). This txn allows miners to "sell" the act of mining a sidechain block. By taking advantage of this option, miners earn tx fees for mining sidechains...truly "for free". They do not even need to run sidechain nodes, and the tx-fees they earn are in mainchain BTC. As a result, sidechains affect all miners equally and do not affect the mining ecosystem. - -M8 will ultimately come in two versions. The second version will be specialized for use in the Lightning Network and must use the full 32-byte prevBlockHash (ironically, this larger transaction is cheaper for the Bitcoin network to process, as it is completely off-chain). The first version of M8, in contrast, cannot be used inside the Lightning Network, but is slightly more space-efficient (using the 2 prevBlockRef bytes to maintain chain order). It is important to make both options available to the user, because some side:nodes may be unwilling or unable to open a payment channels with each main:miner. However, in the long run we expect the lightning version to be preferred. - -#### Setup - -We define **"Mary"** as a mainchain miner, and **"Simon"** as a sidechain node. - -The goal is to construct a payment from Simon to Mary, such that: - -1. If the critical data conditions are met, **Mary** can claim the outputs of the transaction with finality. -2. If the critical data conditions are not met, the outputs become immediately available again to **Simon**. - - -#### Goals (this is rather philosophical, and skippable) - -##### Immediate Expiration ("Fill-or-Kill") - -We would like to make special guarantees to the counterparties of this transaction. Specifically, instead of Simon making a "payment" to Mary, we prefer that Simon give Mary an "offer" (which she can either accept or decline). - -Crucially, we want Simon to safely make many offers to several different Mary's, in realtime (ie, quickly and off-chain). However, we ultimately want only one offer to be accepted, at most. In other words, we want Simon's offers to *immediately expire*. If only one offer can become a bona fide transaction, then Simon will feel comfortable making offers all day long. Because all of the Simons are making many offers, the Marys collectively gain access to a large set of offers to choose from. - -##### Forward Progress (The Need for a "Ratchet") - -The "ratchet" concept is an attempt to harmonize incentives among the main and side chain(s). -We need to ensure that a sidechain is making "forward progress", without tracking too much about the sidechain such that we burden Bitcoin (see [1] and [2]) all while still allowing the sidechain to reorganize [3]. - -* [1] https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-July/014789.html -* [2] http://www.drivechain.info/faq/index.html#what-is-the-difference-between-drivechain-and-extension-blocks -* [3] http://www.truthcoin.info/blog/blind-merged-mining/#handling-reorganizations - -The ratchet system must keep track of sidechain "mini-headers" (see Sidechain Critical Data ("Sidechain Mini-Header")) and count the "blocks atop" maturity of the related side:blocks. - -Simon's offer to Mary to include a critical hash in exchange for payment must be *atomic*. The "ratchet" concept helps to construct a very tight connection between two things: - -1. The sidechain-block-generator "Simon" paying himself the side:block's side:tx-fees (which he receives in 100 sidechain blocks (blocks atop) hence). -2. "Simon" making a mainchain main:btc payment to a mainchain miner "Mary". - -Either both of the two should succeed, or else both should jointly fail. - -However, absent our intervention, there are cases in which [2, the payment to Mary] succeeds but [1, side:tx-fees] fails. One such case is when a side:block contains unusually high side:tx-fees. Here, there will be many requests to include a critical hash in exchange for payment submitted to Mary, but only one can be included in each main:block per sidechain. Without an incentive to make "forward progress", Mary is likely to include one of the highest paying requests in the next main:block (and the main:block after that, and so on). Mary will "blindly" include high-paying requests for *older* blocks, unless something prevents her from doing so. - -To address these potential issues, we utilize the concept of "Blocks_Atop" (the "side:confirmations") that we mentioned earlier. As previously mentioned, Mary will not be able to spend Simon's M8 payment until satisfying the critical data requirements as well as the blocks atop (side:confirmations) requirement. - - -#### M8 -- The two forms of M8 transactions - -As previously mentioned, M8 can take two forms. The first does not require the Lightning Network, but it does have new requirements for Immediate Expiration (see above). The second inherits Immediate Expiration from the Lightning Network itself, but requires extra preparation and a different/larger message. - -Both forms require that certain Critical Data will be committed to within the coinbase of the block that the transaction is included in. For the non Lightning version, we have created a new extended serialization transaction type (very similar to how segwit handles witness data (the witness stack)). - -##### M8_V1 - No Lightning Network - -M8_V1 does not require the Lightning network but does have new requirements for validation. - -A M8_V1 TxOut is expected to contain: - - 1-byte - OP_RETURN (0x6a) - 1-byte - Push the following 36 bytes (0x24) - 4-byte - Message header (0xD1617368) - 32-bytes - h* side:block hash - 5~7-bytes - BMM request identifying bytes (0x00bf00) + prevBlockRef & ChainIndex (sidechain mini-header) - - -In the first version of M8, we need to introduce the concept of Immediate Expiration (see above). In other words, we need a way for Simon to construct many payments to multiple Marys, such that only one of these is ever included; and only then if Simon's txn is expected to coincide with the finding of Simon's side:block. - -We do this by imposing validity-rules on the txn itself: - -1. The txn's content, when examined, must match part of the main:block's content. Specifically, the (ChainIndex, h\*) pair of the txn, must match one of the (ChainIndex, h\*) pairs in the M7 of this main:block. -2. Only one payment per sidechain per main:block is valid. In other words, if 400 people all try to bm-mine the sidechain with ChainIndex==4, then not only is it the case that only one side_4:block can be found, but it is also the case that only the corresponding M8 txn can be included (out of all of the 400 M8s which are for ChainIndex==4). -3. Simon's txns must only be valid for the current block; afterward, they immediately expire. This is because Simon's intended prevBlockRef & side:block contents will most likely change from one main:block to the next. - -To impose new requirements on the transaction level (not the block level nor the TxOutput level), we borrow the "flag" trick from SegWit style transactions. If the flag is present, the transaction is examined for extra data, and if this data does not pass certain requirements, the transaction is invalid. With SegWit, this extra data is the signatures, and the extra requirements are the signatures' locations and validity. In the BMM-transactions, the extra data is the (ChainIndex, h\*) pair, which must meet the first two requirements (above) as well as the main:blocknumber, which must meet the third requirement (above). - -To impose new requirements at the transaction level, we borrow the dummy vin & "flag" trick from SegWit style transactions. If the flag is set to 2 (0010), the transaction contains Critical Data and requires that our new validation rules be met in order for the txn to be valid in a block. Unless all of the requirements for sidechain critical data transactions are met by the block it is included in, the transaction is invalid. With SegWit, this extra data is the segwit signature stack, and the extra requirements are the signatures' locations and validity. In the sidechain BMM critical data transactions, the extra data is the (ChainIndex, h\*) pair, which must meet the first two requirements (above) as well as the main:blocknumber, which must meet the third requirement (above). Note The main:blocknumber does not take up any additional space compared to a normal txn, as we reuse the locktime field for our purposes. - - - - -![extra-data-image](/bip-blind-merged-mining/witness-vs-critical.png?raw=true) - -This txn structure conserves main:blockspace, because it is the easiest way to refer to a previous sidechain block in 4 bytes, (prevBlockRef + FoK_nLockTime). Instead, we would need to use at least 32 bytes (prevSideBlockHash). - -These types of transactions have slightly different mempool behavior, and should probably be kept in a second mempool. These txns are received, checked immediately, and if valid they are evaluated for inclusion in a block. If they are not able to be included in the specific requested block (if the block height requested has been surpassed by the chain tip), they are discarded. In fact, after any main:block is found, everything in this "second mempool" can be discarded as new payments will be created immediately for the next block height. (This includes cases where the blockchain reorganizes.) There is no re-evaluation of the txns in this mempool ever -- they are evaluated once and then either included or discarded. To be clear, when the transaction is received we are able to evaluate its validity, and do not need to rescan these transactions again. - -Interestingly, these payments (M8) will *always* be directed to miners from non-miners. Therefore, non-mining nodes do not need to keep them in any mempool at all. Non-miner nodes can just wait for a block to be found, and check the txn then. These transactions more resemble a stock market's pit trades (in contrast, regular Bitcoin txns remind me more of paper checks). - -##### M8_V2 With Lightning - -M8_V2 requires having a LN-channel open with a miner. This may not always be practical (or even possible), especially today. - -A M8_V1 TxOut is expected to contain: - - 1-byte - OP_RETURN (0x6a) - 1-byte - Push the following 68 bytes (0x44) - 4-byte - Message header (0xD0520C6E) - 32-bytes - h* side:block hash - 32-bytes - prevSideBlockHash - 5~7-bytes - BMM request identifying bytes (0x00bf00) + prevBlockRef & ChainIndex (sidechain mini-header) - - -Notice that, in M8_V1, Simon could reuse the same h\* all he wanted, because only one M8_V1 could be included per main:block per sidechain. However, on the LN no such rule can be enforced, as the goal is to push everything off-chain and include *zero* M8s. So, we will never know what the M8s were or how many had an effect on anything. - -Therefore, Simon will need to ensure that he **gives each Mary a different h\***. Simon can easily do this, as he controls the side:block's contents and can simply increment a nonce -- this changes the side:block, and changes its hash (ie, changes h\*). - -With a unique h\* per Mary, and at most 1 h\* making it into a block (per sidechain), we can guarantee that only one of the M8_V2's critical data can be committed to in a single main:block. By giving each miner (who Simon has a payment channel open with) a different h*, Simon can figure out which miner followed through with the commit, and know that only one such commit went through. Furthermore, if this Simon's requested critical data is not found in a block, none of the M8_V2 payments will be spendable by the Mary(s), because none of the h\* in question have ever made it into D3 (which is always on-chain) and no blocks atop will be accumulated. - -That's probably confusing, so here is an example, in which: Simon starts with 13 BTC, Mary starts with 40 BTC, the side:block's tx-fees currently total 7.1 BTC, and Simon is keeping 0.1 BTC for himself and paying 7 BTC to Mary. - -We start with (I): - - Simon 13 in, Mary 40 in ; 53 in total - Simon's version [signed by Mary] - 13 ; to Simon if TimeLock=over; OR to Mary if SimonSig - 40 ; to Mary - Mary's version [signed by Simon] - 40 ; to me if TimeLock=over; OR to Simon if MarySig - 13 ; to Simon - - -And both parties move, from there to "M8_V2" (II): - - Simon 13 in, Mary 40 in ; 53 in total - Simon's version [signed by Mary] - 6 ; to Simon if TimeLock=over; OR to Mary if SimonSig - 40 ; to Mary - 7 ; to Mary if critical data requirements met; OR to Simon if LongTimeLock=over - Mary's version [signed by Simon] - 40 ; to Mary if TimeLock=over; OR to Simon if MarySig - 6 ; to Simon - 7 ; to Mary if critical data requirements met; OR to Simon if LongTimeLock=over - -From here, if the h\* side:block in question is BMMed, they can proceed to (III): - - Simon 13 in, Mary 40 in ; 53 in total - Simon's version [signed by Mary] - 6 ; to Simon if TimeLock=over; OR to Mary if SimonSig - 47 ; to Mary - Mary's version [signed by Simon] - 47 ; to me if TimeLock=over; OR to Simon if MarySig - 6 ; to Simon - -Although, if Simon proceeds immediately, he removes the protection of the 'ratchet'. Ie, Simon removes Mary's incentive to care about blocks being built on this side:block. If Simon's side:block is orphaned, he loses his 7 BTC. Simon can either play it safe, and wait the full 100 side:blocks before moving on (ie, moving on to the third LN txn, above); or else Simon can take the risk if he feels comfortable with it. - -If the h\* side:block is not found, then (II) and (III) are basically equivalent to each other. Simon and Mary could jointly reconstruct (I) and go back there, or they could proceed to a new version of II (with a different h\*, trying again with new side:block in the next main:block). - - - - -Deployment -=========== - -This BIP will be deployed by "version bits" BIP9 with the name "blindmm" and using bit 4. - -``` -// Deployment of Drivechains (BIPX, BIPY) -consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].bit = 4; -consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].nStartTime = 1515974401; // January 15th, 2018. -consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].nTimeout = 1547510401; // January 15th, 2019. -``` - -Reference Implementation -========================== - -See: https://github.com/drivechain-project/bitcoin/tree/mainchainBMM - -Also, for interest, see an example sidechain here: https://github.com/drivechain-project/bitcoin/tree/sidechainBMM - - -References -============ - -* http://www.drivechain.info/literature/index.html -* http://www.truthcoin.info/blog/blind-merged-mining/ -* https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-July/014789.html -* http://www.truthcoin.info/images/bmm-outline.txt - - -Thanks -========= - -Thanks to everyone who contributed to the discussion, especially: ZmnSCPxj, Adam Back, Peter Todd, Dan Anderson, Sergio Demian Lerner, Matt Corallo, Sjors Provoost, Tier Nolan, Erik Aronesty, Jason Dreyzehner, Joe Miyamoto, Ben Goldhaber. - - -Copyright -========== - -This BIP is licensed under the BSD 2-clause license. diff --git a/bip-blind-merged-mining/bmm-dots-examples.png b/bip-blind-merged-mining/bmm-dots-examples.png deleted file mode 100644 index 70f11f6bbe935b7b99c51af825947da8a5029971..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41116 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 Shbc6Z~PyQln@sH diff --git a/bip-blind-merged-mining/witness-vs-critical.png b/bip-blind-merged-mining/witness-vs-critical.png deleted file mode 100644 index 1a2458d42fa50306400128057808168e1e9b9ae7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 67570 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 z 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 QPcdAORX&#?efie^0Q!s$S^xk5 literal 0 HcmV?d00001 diff --git a/hashrate-escrows.md b/hashrate-escrows.md new file mode 100644 index 00000000..a594b26f --- /dev/null +++ b/hashrate-escrows.md @@ -0,0 +1,408 @@ + +Header +======= + + BIP: ???? + Layer: Consensus (soft fork) + Title: Hashrate Escrows (Consensus layer) + Author: Paul Sztorc + CryptAxe + Comments-Summary: No comments yet. + Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-??????? + Status: Draft + Type: Standards Track + Created: 2017-08-14 + License: BSD-2-Clause + Post-History: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-May/014364.html + + +Abstract +========== + +A "Hashrate Escrow" is a clearer term for the concept of "locked to an SPV Proof", which is itself a restatement of the phrase "within a sidechain" as described in [a famous Oct 2014 paper](https://blockstream.com/sidechains.pdf) written partially by some Blockstream co-founders. + +A Hashrate Escrow resembles a 2-of-3 multisig escrow, where the 3rd party (who will arbitrate any disputes) is a decentralized group of people: the dynamic-membership set of Bitcoin Miners. However, the 3rd party does not sign escrow-withdrawal transactions with a private key. Instead, these are "signed" by directing hashpower over them for a period of time. + +This project has [a website](http://www.drivechain.info/) which includes [a FAQ](http://www.drivechain.info/faq/index.html). + + +Motivation +============ + +In practice these escrows are likely to be "asymmetric sidechains" of Bitcoin (such as [Rootstock](http://www.rsk.co/)) or "virtual chains" within Bitcoin (such as [proposed by Blockstack](https://github.com/blockstack/virtualchain) in mid-2016). + +Sidechains have many potential benefits, including: + +1. Protect Bitcoin from competition from altcoins and spinoffs. Safely allow competing implementations (of *sidechains*). +2. Protect Bitcoin from hard fork campaigns. (Such campaigns represent an existential threat to Bitcoin, as well as an avenue for developer corruption.) +3. Help with review, by making it much easier for reviewers to ignore bad ideas. +4. Provide an avenue for good-but-confusing ideas to prove their value safely. + + + +Specification +============== + + +#### Components + +Hashrate Escrows are built of two types of component: [1] new databases, and [2] new message-interpretations. + +##### 1. New Databases + +* D1. "Escrow_DB" -- a database of "accounts" and their attributes. +* D2. "Withdrawal_DB" -- a database of pending withdrawals from these accounts, and their statuses. + +Please note that these structures (D1 and D2) will not literally exist anywhere in the blockchain. Instead they are constructed from messages...these messages, in contrast, *will* exist in the blockchain (with the exception of M4). + +##### 2. New Messages + +* M1. "Propose New Escrow" +* M2. "ACK Escrow Proposal" +* M3. "Propose Withdrawal" +* M4. (implied) "ACK Withdrawal" +* M5. "Execute Deposit" -- a transfer of BTC from-main-to-side +* M6. "Execute Withdrawal" -- a transfer of BTC from-side-to-main + + +#### On the Resource Requirements of New Databases + +The "new" databases are simply reinterpretations of data that are already contained elsewhere in the blockchain. Specifically, M1 M2 and M3 are all located in the block's coinbase txn, and M5 and M6 might be found in any regular txn. M4 is a special case and does not actually need to be included anywhere, so it is not. If you like, you can imagine that the M4s reside in an optional extension block. + +In other words, we just rearrange what is already there. Because of this, even though "new databases" are created and stored in memory, the existing bandwidth and storage limits are respected (although, see "M4" below). + + + + +### Adding Sidechains and Tracking Them (D1, M1, M2) + +#### D1 -- "Escrow_DB" + +The table below enumerates the new database fields, their size in bytes, and their purpose. In general, an escrow designer (for example, a sidechain-designer), is free to choose any value for these. + +Note: Fields 6 through 9 have been intentionally removed. Previously, this section allowed miners to set and commit to voting/waiting periods. However, I have since standardized the periods: withdrawals expire after 6 months (26298 blocks), and they succeed if they ever achieve an ACK score of 13140 or higher. I have removed the waiting period, because anyone who adopts a policy of ignoring all withdrawals with fewer than 400 ACKs will automatically gain all of the benefits of the waiting period. The justification for this change is that it strongly implies that an attack on any one sidechain is an attack on all of them (in a sense, this change makes the "victimhood" of each sidechain "fungible"). + +Field No. | Label | Bytes | Type | Description / Purpose +----------|-------|------|------|-------- +1 | Escrow Number | 1 | uInt | A number assigned to the entire escrow. Used to make it easy to refer to each escrow. +2 | Active\* | 2 | uInt | This counter starts at zero when a new entry is added, and increments as a new entry is supported by "M2". The entry either reaches the max value of 4032 (at which point the counter freezes), or else the entry is removed. This enforces the requirement "a soft fork is required to add a new escrow". +3 | Escrow Name/Description | 120 | string | A human-readable name and description of the sidechain. More than enough space to hold a 32 byte hash. Helps prevent destructive interference among sidechains (see below). +4 | Critical Private Key | 32 | hex | This is the Double-SHA256 of the binary release of the reference software. It ties the sidechain to a specific software release, and doubles as a way of signing withdrawals (see below). +5 | Critical Address\* | 32 | string | This is derived by taking f(x) = ImportPrivateKey(HexToBase58Check(x)) of field #3. It is intentionally in the human-readable format {{although it could be 25 bytes of binary}}. +10 | "CTIP" -- Part 1 "TxID"\* | 32 | hex | The CTIP, or "Critical (TxID, Index) Pair" is a variable for keeping track of where the escrow's money is (ie, which member of the UTXO set). +11 | "CTIP" -- Part 2 "Index"\* | 4 | hex | Of the CTIP, this is second element of the pair: the Index. See #10 above. + + +\* Denotes a "convenience field", the entry for this field is derived from other fields, or from the blockchain-state itself. The escrow-creator does not need to provide these values in M1 (or anywhere). + +Escrow_DB requires 223 bytes [1+120+32+32+2+32+4] for each escrow in the main blockchain. Of these, 70 bytes [2+32+32+4] are merely for convenience. Therefore, a sidechain is defined (see "M1") by 153 bytes of information. + +#### Notes on D1 + +1. D1 will always exist. +2. D1 will always have a unique sort (first by "Escrow Number" (field #1), and second by "Active" (field #2)). There is only ever one (escrow number, Active) pair. +3. D1 is updated according to M1 and M2 (below). +4. If a new entry is added to D1 with an "Escrow Number" that is already in use, then this entry will either eventually be removed (because it was not supported with an M2), or it will eventually overwrite the old entry (if it *was* supported via M2). + + +#### Notes on D1 + +##### Obligations Placed on Miners + +Miners have always upgraded their software according to criteria that are known only to them (in other words, "whenever they want"). + +However, this soft fork imposes two new criteria upon them. First: miners should only upgrade their software, if any modification to the portfolio of sidechains [that are added/removed in the upgrade] can be expected to increase miner wealth. Trivially, this implies that miners should make sure that the upgrade doesn't overwrite (and destroy) an existing sidechain that they like! But, more seriously, it implies that miners should take an interest in what the sidechain is doing to the mainchain and other sidechains (see below). + +##### Destructive Sidechain Interference + +People frequently emphasize that miners should have "as little control" as possible. It is a very safe claim to make, and a very easy sentence to write. Much harder is to determine exactly what this minimum value is, and how to achieve it. Harder still is to untie the knot of who is actually controlling what, in a decentralized, interacting system. + +Certainly, miners can not have "zero control" -- for that is the same as to just remove them from the system altogether. Some rules are enforced "on miners by nodes" (such as the infamous blocksize limit); other rules are enforced by nodes but are narrowly-controlled by miners (such as the proof-of-work itself, or the block's timestamp). Thirdly, some rules are enforced by both against each other (such as the rule against including invalid txns or double-spent txns), for mutual benefit. + +Some pause should be given, after one considers that the sidechain design goal is literally a piece of software that can do *anything*. Anything includes a great many things, many of which I demonstrate to be undesirable. Bitcoin itself does not allow "anything" -- it allows any person to transact, but, in contrast, it does not permit any person to double-spend. This is because "allowing anyone to do anything" is not viable in a world that contains undesirable interactions (what a libertarian might call "aggression") -- in the case of money, these are theft and counterfeiting. + +I have produced a comprehensive quantity of written material [1], presentations [2], etc [3] on exactly what the level of miner-control should be, and why. Specifically, I claim that **miners should be aware of the purpose of the sidechain, and they should reject sidechains which have an unclear purpose or which have a purpose that will lead to decrease in miner-wealth** (where wealth measured explicitly as: the estimated present value of the purchasing power of the blockchain's coinbase txns). I claim that this criterion is necessary because, just Original Bitcoin filters unwanted interactions among different BTC txns, so too much "Sidechain Bitcoin" filter out unwanted interactions among sidechain. + +* [1] http://www.truthcoin.info/blog/wise-contracts/ +* [2] https://www.youtube.com/watch?v=xGu0o8HH10U&index=1&list=PLw8-6ARlyVciMH79ZyLOpImsMug3LgNc4 +* [3] http://www.drivechain.info/literature/index.html + +Call it a "sidechain non-aggression principle", if you want. + +To the best of my knowledge, everyone who *has* reviewed this information as found the arguments to be acceptable. It has, also, changed a few minds (from "unacceptable" to "acceptable"). + + +##### ISSUE: "Signing" BTC Txns + +Currently, we use a process which may be suboptimal. It is that we *literally sign* a txn with a globally and publicly known private key. But this is for convenience purposes -- the signature that is produced is not doing anything, and is therefore wasteful. Instead we may use OP_TRUE, but this might interfere with how we detect the sidechain's balance. I'm not sure what the best way is. Someone needs to investigate how to do this -- removing OP_CheckSig, etc. This is a TODO for sure, and an opportunity for someone to help. + + + +(The following messages were modeled on SegWit -- https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki#commitment-structure ) + + + +#### M1 -- "Propose New Sidechain" + + 1-byte - OP_RETURN (0x6a) + 1-byte - Push the following 157 bytes (0x9d) + 4-byte - Commitment header (0x53707243) + 153-byte - the critical bytes mentioned above (fields #1, #3, and #4, to populate a new D1 entry) + + +#### New Block Validation Rules + +1. If the network detects a properly-formatted M1, it must add an entry to D1, into the very next block, with the following initial values: +* Field #5 will be calculated as per [version 1 Bitcoin addresses](https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses), but with a prefix of "4" instead of "1". +* Field #9 will be derived from #7 and #8 using math. +* The initial values of Fields #10, #11, and #12 are set to zero. +2. Only one M1 (of any kind) can be added into a block at a time. + +#### Notes on M1 + +The escrow will "reuse" the same address over and over. But notice that there is no privacy loss due to address reuse, because the address in question does not "belong" to any specific individual. Furthermore, the transactions in question could already be linked by just watching the Hashrate Escrow for deposits ...this, in fact, is exactly what a sidechain must do in order to make main-to-side transfers. + + +#### M2 -- "ACK Sidechain Proposal" + + 1-byte - OP_RETURN (0x6a) + 1-byte - Push the following 29 bytes (0x1D) + 4-byte - Commitment header (0x53616343) + 25-byte - Commitment hash: RIPMD-160 of Sha256 of a given M1 (above) + +#### New Block Validation Rules + +1. An entry will be removed from D1, unless that block contains an M2 supporting it (this will increment field #2), or the entry has accumulated 4032 M2s. Therefore, each entry needs to have 4032 *consecutive* M2s supporting it, else it will be removed from D1 and must start over. This requires all miners to agree to "soft fork" the sidechain into existence. This makes it easier to curate the list of active sidechains, and prevents destructive interference (see above) among contradictory sidechains. +2. Once the entry has 4032 M2s, then a miner must make a 0 btc payment to the Critical Address, thus activating the chain. This payment becomes the first "critical (TxID, index) pair" (or "CTIP"). +3. It is possible to "overwrite" a D1 slot -- this destroys the sidechain that is there, and replaces it with a new one. This is defined as requiring 6 months (26298 blocks) of M2s, instead of 4 weeks (4032). This possibility does not change the security assumptions, because we already assume that users have access to "magically true" bandwidth at a rate of 1 bit per ACK-cycle. (This is why the voting cycles should be large, 1 month Waiting, 2+ months Voting). + + + +### Adding Withdrawal-Attempts and Tracking Their Success (D2, M3, M4) + +#### D2 -- "Withdrawal_DB" + +The table below enumerates the database fields, their size (in bytes), type and purpose. + + +Field No. | Label | Bytes | Type | Description / Purpose +----------|-------|------|------|----------------------- +1 | Escrow Number | 1 | uInt | Links the withdrawal-request to a specific escrow. +2 | WT^ | 32 | hex | This is a "blinded transaction id" (ie, the double-Sha256 of a txn that has had two fields zeroed out, see M6) of a withdrawal-attempt. +3 | ACKs\* | 2 | uInt | The current total number of "votes", this starts at 0 and remains there throughout the waiting period. +4 | Age\* | 3 | uInt | Total duration of time, in blocks, that this WT^ has been inside of D2. +5 | Waiting Period\* | 2 | uInt | Total duration of time, in blocks, that this entry must sit idle, before it can begin to accumulate ACKs/NACKs. Pulled from D1's field #6. +6 | Max Age\* | 3 | uInt | Determined by summing (D1's field #6) and (D1's field #7). +7 | Threshold\* | 2 | uInt | Total ACKs needed, this is pulled from D1's field #9. +8 | Approved\* | 1 | boolean | True while ACKs > Threshold, False otherwise. + +\* Denotes a "convenience field" (see above). + +Withdrawal_DB requires 46 bytes [1+32+2+3+2+3+2+1] per entry. Of these, 13 bytes ([2+3+2+3+2+1], all fields except #1 and #2) can be generated locally, leaving 33 critical bytes [1+32]. + +#### New Block Validation Rules for D2 + +1. In each block, a hash commitment to D2 must always exist (even if D2 is blank). +2. D2 must always be sorted first by field #1 (Escrow Number) and second by field #4 (Age). This imposes a unique sort. +3. From one block to the next, every entry's "Age" field must increase by exactly 1. +4. From one block to the next, entries are only removed from D2 (in the very next block) if: +* * "Age" = "MaxAge". +* * If the block contains a txn who's blinded txID matches WT^. {{ This might be unnecessary, and a lot of work. }} +5. In addition, there are special rules for the allowed values in the "ACKs" field (field #3). See M4 below. + +#### M3 -- "Propose Withdrawal" + + 1-byte - OP_RETURN (0x6a) + 1-byte - Push the following 37 bytes (0x25) + 4-byte - Commitment header (0xD45AA943) + 33-byte - the critical bytes mentioned above (fields #1 and #2, to populate a new D2 entry) + + +#### New Block Validation Rules for M3 + +1. If the network detects a properly-formatted M3, it must add an entry to D2 in the very next block. The starting values of fields #3 and #4 are zero, and #5 is pulled over by extracting the relevant value from D1. +2. Each block can only contain one M3 per sidechain. + + +#### M4 -- "ACK Withdrawal" + +#### Very Little Info, Probably Calculable in Advance + +M4 is exceptional (in comparison to the other M's) in a few ways. First, its content is not stored anywhere, only the *hash* of its *effect* is stored (in a leaf of a merkle tree who's root is inserted into a mainchain coinbase). M4 alters the contents of D2 -- the *contents* of D2 are consensus critical, but M4 (the process by which nodes reach a new valid D2) can be anything. + +In fact, M4 can also be *nothing*. In other words, it may be optional. This is precisely because, from one block to the next, we have constrained D2 such that it is only allowed to change in a few ways. Therefore, the exhaustive set of "candidate D2s" can be precomputed by full nodes in advance. + +#### A Recent Change: Two Withdrawals at Once + +The following sections assume a maximum of one sucessful withdrawal per sidechain at a time. In other words, as WT^s are proposed, only one can make progress toward the finish line. As a result, a given side-to-main transfer will always take between 3 and 6 months. If there were more simulataneous withdrawals, the worst-case transfer duration would improve. + +![dots-image](/images/two-groups.png?raw=true) + +The worst-case withdrawal time obeys f(n)=3+(3/n) months, where n is the number of simultaneous withdrawals. + +N=2 is the most desirable choice for several reasons. First, it delievers the greatest marginal benefit (of 1.5 months). Later choices only deliver 0.5 and 0.25 marginal months. + +Second, n=2 can be implemented in a clever way: by allowing a withdrawal to freely advance, if and only if has an ACK-score of 6575 or greater, and if it also has the largest ACK score. In other words, the withdrawal that is furthest along can advance (or retreat) for free, if it has already made it at least halfway to the finish line. With this change, our new M4, is either an "abstain" for the sidechain (in which case nothing happens to any ACK scores), or else it will be in one of two cases: old_M4 + "the largest advances", or new_M4 + "the largest retreats". As a result the number of M4 possibilities (of which the next section is concerned) only increases by a factor of two (instead of exponentially). + +It is possible to troll this rule, by getting two (or even three) withdrawals to have 6575+ ACK scores, and then getting them to *tie* for first place. So, if there are any ties, the ability to "bonus move" is disabled until all ties are broken. + +#### How Hard is it to Guess M4? + +If there are n Escrows and m Withdrawals-per-escrow1, then there are (m+2)^n total candidates for the next D2. This is because, [per block per escrow], one of three things can happen: (1) one of the m withdrawal-candidates can be "ACK"ed (or "upvoted" or "promoted"), which automatically downvotes the others; or (2) all withdrawal-candidates can be downvoted, or finally (3) the miners can abstain from voting on the escrow's withdrawals altogether, leaving the tallies the same. + +First, for nodes which validate all sidechains (assuming these escrows are sidechains), this simplifies to 2^n -- these nodes only have to choose between the single honest choice (on one hand) or an abstention (on the other). Second, even for nodes that don't validate any sidechains, the number of candidates might be reduced from m^n to 3^n, by making a simplifying assumption: whichever withdrawal was most recently added/upvoted, is likely to be the one which is upvoted next. + +Of course, that is still O(k^n) for n sidechains, which isn't great2. If the "D2 update" cannot be guessed, it must be transmitted in some way. + +#### Giving Up and Getting M4 the Old Fashioned Way + +Two examples for transmitting it are below: + +"Short Form" (Assumes there are no more than 254 active withdrawal-attempts per account) + + 4-byte - Message identifier (0x????????) + 1-byte - Version of this message + N-byte - N is the total number of active accounts ("sidechains"), each byte specifies the position of the single WT that was "upvoted". A value of 0 indicates "downvote everything", a value of 255 indicates abstention. + +"Long Form" (Makes no assumptions about anything) + + 4-byte - Message identifier (0x????????) + 1-byte - Version of this message + 1-byte - Length (in bytes) of this message; total number of withdrawal attempts; y = ceiling( sum_i(m_i +2)/8 ). Nodes should already know what length to expect, because they know the sequence of M3s and therefore the vector of WT^s. + Y-byte - stream of bits (not bytes), with a 1 indicating the position of the chosen action [downvote all, abstain, upvote1, upvote2, ...] + + +If the message is very very large, then nodes may not want to broadcast it. This opens up an "exhaustion attack"2, in which many miners create bad WT^s, vote on these randomly, and then refuse to broadcast their votes. Fortunately, even for a worst-case scenario of 200 sidechains and 1,000 withdrawal-attempts per sidechain, honest nodes can communicate a long form M4 with each other by using just 25,056 bytes per block [4+1+1+(200\*(1000+1+1)/8)]. + +Today's pre-drivechain miners can already carry out a similar attack, by creating and including txns and then not broadcasting that part of the block to anyone. This is often characterized as a ["block publication incentive"](https://petertodd.org/2016/block-publication-incentives-for-miners), because in that case the prospect of exhaustively computing all possible transactions (to uncover the missing ones) is completely out of the question. + +However, message M4 is different from a withheld-txn, because M4 operates outside of the block's mandated information-processing limits (ie, outside the infamous 1 MB nonwitness blocksize limit). So we should examine the conditions under which M4 grows and shrinks, to ensure that we are not smuggling in a tremendous burden on full nodes. + +Under adversarial conditions, to lengthen a long-form M4 by one bit per block, for C blocks, the attacker must pay 312 bits (39 bytes) one time (to embed a new M3 message). The value C is the length of the sidechain's voting period, which varies but which I expect to be approximately 8,064 (and which could theoretically be as high as 65,536). Thus the attacker can burden nodes disproportionately, if (s)he wishes. + +Fortunately, the attack in question has no motivation (as far as I can tell). If the miner's goal is to trick rivals into mining on top of invalid blocks, he can already do this much more effectively with the unpublished-txn method (above). If instead he is just trying to harass nodes, then nodes may freely "downgrade" to earlier versions of the protocol, and simply ignore all drivechain-related messages. It seems that the attack could best be used in order to: make a large D2, make D2 confusing, sneak in votes for evil WT^ lurking in D2. Thus, the attack disables the transparency of the drivechain system, to some extent. The cost of the attack is forgone transaction fees, due to block space wasted on useless M3s. + +In practice, n is already capped, and miners may impose [on each other] a "soft cap" on m for their mutual protection. Thus, n and m might never get above 10 and 30, respectfully. In this case, the [Short Form, this time] M4 can never require more than 15 bytes per block, no matter what the attacker tries. + +In practice, m should always be 1 or 2, else something fishy is going on; and m can only inch up by 1 unit per block. So the system as a whole is still quite transparent, in that users are warned appropriately and well in advance. Attackers must invest upfront and they face an uphill climb, in order to eventually make things more expensive for a few others; defenders can wait-and-see if the attack looks like it will ever amount to anything before lifting a finger. + + +##### New Block Validation Rules (for D2 and, by implication, M4) + +From one block to the next, D2 can only be edited in a few strict ways: + +* Entries can only be added/removed from D2 if they meet the criteria above (in M3, and implicitly M1 and M2). +* The ACK-counter of any individual entry can only change by (-1,0,+1) relative to its previous entry. +* Within a sidechain group, upvoting one withdrawal (ACK=ACK+1) requires you to downvote all other withdrawals in that group. However, the minimum ACK value is zero (and, therefore, downvotes cannot reduce it below zero). + +##### Footnotes for M4 + +1 This represents the worst-case scenario is one where all the Withdrawals are spread evenly over each Sidechain. Under normal operations, there is no reason to expect the all sidechains will have the same number of withdrawals at any given time. In fact, under normal operations, the very *concept* of counting the withdrawals-per-sidechain should be a purposeless one, because there should only be *one* withdrawal at a time. Nonetheless we consider the worst case scenario here. + +2 Guessing becomes more computationally intensive in a highly adversarial situation where the "limited range" is intentionally expanded. In such a scenario, [a] there are many sidechains, and [b] miners voluntarily sacrifice their scarce block-space by creating a high number of (mutually-exclusive, and hence ultimately invalid) withdrawal attempts and putting these into coinbase transactions; and then agree to all [c] vote on these randomly (guaranteeing that all withdrawals fail, including any true withdrawals) and [d] successfully withhold their random voting strategies from nodes (even including spy-miner-nodes). Under this bizarre scenario, nodes may require computing resources which increase near-exponentially with the number of withdrawals, and it may take a long time for an ignorant node to exhaustively work out the underlying state of Withdrawal_DB. In this case, nodes may decide to temporarily stop validating such transactions (as if they had not yet upgraded to support this soft fork). + + + +### Depositing and Withdrawing (M5, M6) + + +Both M5 and M6 are regular Bitcoin txns. They are identified by meeting an important criteria: they select a one of the Critical TxID-index Pairs (a "CTIP") as one of their inputs. Deposits ("M5") are distinguished from withdrawals ("M6") by simply checking to see if money is "going in", or "out". In other words, we compare the BTC value of the original CTIP to that of new CTIP. If original <= new it is a deposit, if original > new then it is a withdrawal. + +The code that identifies sidechain withdrawal / deposit txns (by calculating how much value is being put into or taken out of a sidechain) can be seen here: https://github.com/drivechain-project/bitcoin/blob/mainchainBMM/src/validation.cpp#L351-L386 + +Such txns are forced (by consensus) to obey two additional criteria: + +1. They must contain an output paying "to" the Critical Address [probably in TxOut0]. +2. They must be accompanied by an update to this sidechain's Critical TxID-index Pair (CTIP). The new CTIP must be "this" txn itself. + +These criteria are enforced here https://github.com/drivechain-project/bitcoin/blob/mainchainBMM/src/validation.cpp#L440-L473 by checking that a deposit is paying back to the sidechain more than it is taking out, and completely rejecting any withdrawal from the mempool. And here https://github.com/drivechain-project/bitcoin/blob/mainchainBMM/src/validation.cpp#L1747-L1757 we allow for a withdrawal only once it has attained sufficient work score (ACKs). + +The purpose of this is to have all of the escrow's money (ie all of the sidechain's money) in one TxID, so that depositors immediately undo any UTXO bloat they may cause. This simplifies the withdrawal process, as there is no need to worry about cleaning up "dust deposits" (...and such cleaning can often result in headaches, for example where a withdrawal-txn is larger than 1MB in size, or else may only withdraw an arbitrarily limited amount of BTC). Notice that, unless we assume that an account will last forever, all utxos which are deposited must eventually be withdrawn by someone. Therefore, the relevant design criterion is not "efficiency" (total network cost) but rather "who should pay" (allocation of costs). + +#### M5. "Make a Deposit" -- a transfer of BTC from-main-to-side + +As far as mainchain consensus is concerned, there are no additional requirements. + +However, in practice there *are* additional mainchain requirements...specified by the escrow account, (ie specified by the "sidechain" or "virtual chain"). These requirements are not part of mainchain consensus and are allowed to be anything. In other words, the sidechain is free to invent any way to credit depositor's money -- M5 is fully customizable. + +One method, is for mainchain depositors to append a zero-value OP Return to a Deposit txn, so that the sidechain knows how to credit funds. Mainchain users must upgrade their wallet software, of course, (on an individual basis) in order to become aware of and take advantage of new deposit-methods. + +##### Inconvenient Race Condition + +The requirement that each hashrate escrow be linked to a single TxID does create an interesting inconvenience for depositors. If a user is slow to sign a txn after constructing it (perhaps because the user employs an air-gapped computer, etc), then the signed txn may no longer be valid. This is because the input it selects, may no longer be the Critical TxID (as "the" Critical TxID changes with each deposit). **Only one user can deposit at a time** (although many can deposit per block). As a result, the transaction must fail, and the user would need to be prompted to remake and resign the txn. If this is problem is too frustrating, users can always make main-to-side transfers using atomic cross chain swaps (or, the LN, if they already have a channel open on both chains). + +Fortunately, it is already a part of mainchain consensus that no two txns can spend the same TxID. The only new issue here is the confusion it might create for the user (hence the need for error messages and alternative deposit-methods). + + +#### M6. "Execute Withdrawal" -- a transfer of BTC from-side-to-main + +We come, finally, to the critical matter: where users can take their money *out* of the escrow account, and return it to the "regular" UTXO set. As previously mentioned, this txn is one which (a) spends from a CTIP and (b) reduces the quantity of BTC in an account's CTIP. Most of the work has already been done by D1, M3, M4, and D2. Furthermore, existing Bitcoin tx-rules prevent the sidechain from ever withdrawing more money than has been placed into it. + +From there, we merely introduce two final concepts: + +1. In each block, an entry in D2 is considered an "approved candidate" if the "ACKs" value is above 13140. +2. A "blinded TxID" is way of hashing the txn, in which we first overwrite some parts of the txn with zeros. Specifically, the first 36 bytes of "TxIn0" (the first input, including TxOutHash and TxOutIndex), as well as the first 8 bytes of "TxOut0" (the first output). + +Blinding is necessary because we allow each sidechain only one UTXO at a time. + +of our restriction of the account to a single UTXO-member. Because of this, during the ACKing process the withdrawal-txn (which is currently being ACKed) may change in two ways: the CTIP (which changes with each deposit), and the total quantity of BTC stored in the account (which arbitrarily increases with each new deposit). In other words, a withdrawal-attempt is created via M3, but this takes place many blocks before the withdrawal is actually included via M6. During this time, a single new deposit to the account would change its CTIP and its value. So, what do we ACK? Well, we ACK a "blinded" version of the withdrawal. This blinded version is stable because the dynamic parts are always overwritten with zeros. + +While we ACK a blinded WT^, what is actually included in the blockchain ("M6") is an unblinded WT^. Since each blinded WT^ could correspond to many different unblinded WT^s, we need to impose further restrictions on those unblinded WT^s that are finally included. First, we will force the final unblinded WT^ to spend the entire sidechain balance (by forcing sum(input_values) to equal sum(output_values)). To avoid withdrawing the entire sidechain balance with every withdrawal, we will, secondly, force the unblinded WT^ to create a new output which is itself a deposit to the sidechain it withdrew from (which nodes can check using D1's CTIP field). Unfortunately, these requirements eliminate the possibility of including a transaction fee, as traditionally calculated. So, finally, to compensate for *that*, txn fees are encoded explicitly as a withdrawal to OP_TRUE (which the main:block's miner can immediately claim). + +With all of this in place, the only requirements for inclusion in a block are these: + +1. "Be ACKed" -- The "blinded TxID" of this txn must be member of the "approved candidate" set in the D2 of this block. +2. "Return Change to Account" -- TxOut0 must pay to the "critical account" (see D1) that corresponds to the CTIP that was selected as a TxIn. +3. "Return *all* Change to Account" -- Sum of inputs must equal the sum of outputs. No traditional tx fee is possible. + +Finally, don't forget that M6 inherits the requirement (common to both M5 and M6) that the CTIP be selected as an input, and that the CTIP then be updated. In this case, we know that the critical index will be zero, so the new CTIP will be ("this TxID" (NOT blinded), 0). The TxID is NOT blinded because blinding is only for accumulating ACKs. + +As a result of these requirements, every single withdrawal-attempt will fail, unless an entry has been added to D2 and "ACKed" a sufficient number of times. + + + +Backward compatibility +======================== + +As a soft fork, older software will continue to operate without modification. Non-upgraded nodes will see a number of phenomena that they don't understand -- coinbase txns with non-txn data, value accumulating in anyone-can-spend UTXOs for months at a time, and then random amounts leaving the UTXO in single, infrequent bursts. However, this phenomena doesn't affect them or the validity of the money that they receive. + +( As a nice bonus, note that the sidechains themselves inherit a resistance to hard forks. The only way to guarantee that the WT^s reported by different clients will continue to match identically, is to upgrade sidechains via soft forks of themselves. ) + + +Deployment +=========== + +This BIP will be deployed by "version bits" BIP9 with the name "hrescrow" and using bit 4. + +``` +// Deployment of Drivechains (BIPX, BIPY) +consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].bit = 4; +consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].nStartTime = 1515974401; // January 15th, 2018. +consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].nTimeout = 1547510401; // January 15th, 2019. +``` + +Reference Implementation +========================== + +See: https://github.com/drivechain-project/bitcoin/tree/mainchainBMM + +Also, for interest, see an example sidechain here: https://github.com/drivechain-project/bitcoin/tree/sidechainBMM + + +References +============ + +See http://www.drivechain.info/literature/index.html + + +Credits +========= + +Thanks to everyone who contributed to the discussion, especially: ZmnSCPxj, Adam Back, Peter Todd, Dan Anderson, Sergio Demian Lerner, Chris Stewart, Matt Corallo, Sjors Provoost, Tier Nolan, Erik Aronesty, Jason Dreyzehner, Joe Miyamoto, Ben Goldhaber. + + + +Copyright +========== + +This BIP is licensed under the BSD 2-clause license. From 99f553025fdf3bb3fd3f5ef9bd88846bfad1a8fa Mon Sep 17 00:00:00 2001 From: Paul Sztorc Date: Sat, 10 Feb 2018 16:30:07 -0500 Subject: [PATCH 029/133] mediawiki format --- ...crows.md => bip-hashrate-escrows.mediawiki | 98 +++++++++---------- 1 file changed, 45 insertions(+), 53 deletions(-) rename hashrate-escrows.md => bip-hashrate-escrows.mediawiki (95%) diff --git a/hashrate-escrows.md b/bip-hashrate-escrows.mediawiki similarity index 95% rename from hashrate-escrows.md rename to bip-hashrate-escrows.mediawiki index a594b26f..0f2210cb 100644 --- a/hashrate-escrows.md +++ b/bip-hashrate-escrows.mediawiki @@ -1,7 +1,6 @@ -Header -======= +

     BIP: ????
     Layer: Consensus (soft fork)
     Title: Hashrate Escrows (Consensus layer)
@@ -14,10 +13,9 @@ Header
     Created: 2017-08-14
     License: BSD-2-Clause
     Post-History: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-May/014364.html
+
- -Abstract -========== +==Abstract== A "Hashrate Escrow" is a clearer term for the concept of "locked to an SPV Proof", which is itself a restatement of the phrase "within a sidechain" as described in [a famous Oct 2014 paper](https://blockstream.com/sidechains.pdf) written partially by some Blockstream co-founders. @@ -26,8 +24,7 @@ A Hashrate Escrow resembles a 2-of-3 multisig escrow, where the 3rd party (who w This project has [a website](http://www.drivechain.info/) which includes [a FAQ](http://www.drivechain.info/faq/index.html). -Motivation -============ +==Motivation== In practice these escrows are likely to be "asymmetric sidechains" of Bitcoin (such as [Rootstock](http://www.rsk.co/)) or "virtual chains" within Bitcoin (such as [proposed by Blockstack](https://github.com/blockstack/virtualchain) in mid-2016). @@ -40,22 +37,20 @@ Sidechains have many potential benefits, including: -Specification -============== +==Specification== - -#### Components +==== Components ==== Hashrate Escrows are built of two types of component: [1] new databases, and [2] new message-interpretations. -##### 1. New Databases +===== 1. New Databases ===== * D1. "Escrow_DB" -- a database of "accounts" and their attributes. * D2. "Withdrawal_DB" -- a database of pending withdrawals from these accounts, and their statuses. Please note that these structures (D1 and D2) will not literally exist anywhere in the blockchain. Instead they are constructed from messages...these messages, in contrast, *will* exist in the blockchain (with the exception of M4). -##### 2. New Messages +===== 2. New Messages ===== * M1. "Propose New Escrow" * M2. "ACK Escrow Proposal" @@ -65,7 +60,7 @@ Please note that these structures (D1 and D2) will not literally exist anywhere * M6. "Execute Withdrawal" -- a transfer of BTC from-side-to-main -#### On the Resource Requirements of New Databases +==== On the Resource Requirements of New Databases ==== The "new" databases are simply reinterpretations of data that are already contained elsewhere in the blockchain. Specifically, M1 M2 and M3 are all located in the block's coinbase txn, and M5 and M6 might be found in any regular txn. M4 is a special case and does not actually need to be included anywhere, so it is not. If you like, you can imagine that the M4s reside in an optional extension block. @@ -74,9 +69,9 @@ In other words, we just rearrange what is already there. Because of this, even t -### Adding Sidechains and Tracking Them (D1, M1, M2) +=== Adding Sidechains and Tracking Them (D1, M1, M2) === -#### D1 -- "Escrow_DB" +==== D1 -- "Escrow_DB" ==== The table below enumerates the new database fields, their size in bytes, and their purpose. In general, an escrow designer (for example, a sidechain-designer), is free to choose any value for these. @@ -97,7 +92,7 @@ Field No. | Label | Bytes | Type | Description / Purpose Escrow_DB requires 223 bytes [1+120+32+32+2+32+4] for each escrow in the main blockchain. Of these, 70 bytes [2+32+32+4] are merely for convenience. Therefore, a sidechain is defined (see "M1") by 153 bytes of information. -#### Notes on D1 +====Notes on D1==== 1. D1 will always exist. 2. D1 will always have a unique sort (first by "Escrow Number" (field #1), and second by "Active" (field #2)). There is only ever one (escrow number, Active) pair. @@ -105,9 +100,9 @@ Escrow_DB requires 223 bytes [1+120+32+32+2+32+4] for each escrow in the main bl 4. If a new entry is added to D1 with an "Escrow Number" that is already in use, then this entry will either eventually be removed (because it was not supported with an M2), or it will eventually overwrite the old entry (if it *was* supported via M2). -#### Notes on D1 +====Notes on D1==== -##### Obligations Placed on Miners +=====Obligations Placed on Miners===== Miners have always upgraded their software according to criteria that are known only to them (in other words, "whenever they want"). @@ -132,7 +127,7 @@ Call it a "sidechain non-aggression principle", if you want. To the best of my knowledge, everyone who *has* reviewed this information as found the arguments to be acceptable. It has, also, changed a few minds (from "unacceptable" to "acceptable"). -##### ISSUE: "Signing" BTC Txns +===== ISSUE: "Signing" BTC Txns ===== Currently, we use a process which may be suboptimal. It is that we *literally sign* a txn with a globally and publicly known private key. But this is for convenience purposes -- the signature that is produced is not doing anything, and is therefore wasteful. Instead we may use OP_TRUE, but this might interfere with how we detect the sidechain's balance. I'm not sure what the best way is. Someone needs to investigate how to do this -- removing OP_CheckSig, etc. This is a TODO for sure, and an opportunity for someone to help. @@ -142,7 +137,7 @@ Currently, we use a process which may be suboptimal. It is that we *literally si -#### M1 -- "Propose New Sidechain" +==== M1 -- "Propose New Sidechain" ==== 1-byte - OP_RETURN (0x6a) 1-byte - Push the following 157 bytes (0x9d) @@ -150,7 +145,7 @@ Currently, we use a process which may be suboptimal. It is that we *literally si 153-byte - the critical bytes mentioned above (fields #1, #3, and #4, to populate a new D1 entry) -#### New Block Validation Rules +==== New Block Validation Rules ==== 1. If the network detects a properly-formatted M1, it must add an entry to D1, into the very next block, with the following initial values: * Field #5 will be calculated as per [version 1 Bitcoin addresses](https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses), but with a prefix of "4" instead of "1". @@ -158,19 +153,19 @@ Currently, we use a process which may be suboptimal. It is that we *literally si * The initial values of Fields #10, #11, and #12 are set to zero. 2. Only one M1 (of any kind) can be added into a block at a time. -#### Notes on M1 +==== Notes on M1 ==== The escrow will "reuse" the same address over and over. But notice that there is no privacy loss due to address reuse, because the address in question does not "belong" to any specific individual. Furthermore, the transactions in question could already be linked by just watching the Hashrate Escrow for deposits ...this, in fact, is exactly what a sidechain must do in order to make main-to-side transfers. -#### M2 -- "ACK Sidechain Proposal" +==== M2 -- "ACK Sidechain Proposal" ==== 1-byte - OP_RETURN (0x6a) 1-byte - Push the following 29 bytes (0x1D) 4-byte - Commitment header (0x53616343) 25-byte - Commitment hash: RIPMD-160 of Sha256 of a given M1 (above) -#### New Block Validation Rules +==== New Block Validation Rules ==== 1. An entry will be removed from D1, unless that block contains an M2 supporting it (this will increment field #2), or the entry has accumulated 4032 M2s. Therefore, each entry needs to have 4032 *consecutive* M2s supporting it, else it will be removed from D1 and must start over. This requires all miners to agree to "soft fork" the sidechain into existence. This makes it easier to curate the list of active sidechains, and prevents destructive interference (see above) among contradictory sidechains. 2. Once the entry has 4032 M2s, then a miner must make a 0 btc payment to the Critical Address, thus activating the chain. This payment becomes the first "critical (TxID, index) pair" (or "CTIP"). @@ -178,9 +173,9 @@ The escrow will "reuse" the same address over and over. But notice that there is -### Adding Withdrawal-Attempts and Tracking Their Success (D2, M3, M4) +=== Adding Withdrawal-Attempts and Tracking Their Success (D2, M3, M4) === -#### D2 -- "Withdrawal_DB" +==== D2 -- "Withdrawal_DB" ==== The table below enumerates the database fields, their size (in bytes), type and purpose. @@ -200,7 +195,7 @@ Field No. | Label | Bytes | Type | Description / Purpose Withdrawal_DB requires 46 bytes [1+32+2+3+2+3+2+1] per entry. Of these, 13 bytes ([2+3+2+3+2+1], all fields except #1 and #2) can be generated locally, leaving 33 critical bytes [1+32]. -#### New Block Validation Rules for D2 +==== New Block Validation Rules for D2 ==== 1. In each block, a hash commitment to D2 must always exist (even if D2 is blank). 2. D2 must always be sorted first by field #1 (Escrow Number) and second by field #4 (Age). This imposes a unique sort. @@ -210,7 +205,7 @@ Withdrawal_DB requires 46 bytes [1+32+2+3+2+3+2+1] per entry. Of these, 13 bytes * * If the block contains a txn who's blinded txID matches WT^. {{ This might be unnecessary, and a lot of work. }} 5. In addition, there are special rules for the allowed values in the "ACKs" field (field #3). See M4 below. -#### M3 -- "Propose Withdrawal" +==== M3 -- "Propose Withdrawal" ==== 1-byte - OP_RETURN (0x6a) 1-byte - Push the following 37 bytes (0x25) @@ -218,21 +213,21 @@ Withdrawal_DB requires 46 bytes [1+32+2+3+2+3+2+1] per entry. Of these, 13 bytes 33-byte - the critical bytes mentioned above (fields #1 and #2, to populate a new D2 entry) -#### New Block Validation Rules for M3 +==== New Block Validation Rules for M3 ==== 1. If the network detects a properly-formatted M3, it must add an entry to D2 in the very next block. The starting values of fields #3 and #4 are zero, and #5 is pulled over by extracting the relevant value from D1. 2. Each block can only contain one M3 per sidechain. -#### M4 -- "ACK Withdrawal" +==== M4 -- "ACK Withdrawal" ==== -#### Very Little Info, Probably Calculable in Advance +==== Very Little Info, Probably Calculable in Advance ==== M4 is exceptional (in comparison to the other M's) in a few ways. First, its content is not stored anywhere, only the *hash* of its *effect* is stored (in a leaf of a merkle tree who's root is inserted into a mainchain coinbase). M4 alters the contents of D2 -- the *contents* of D2 are consensus critical, but M4 (the process by which nodes reach a new valid D2) can be anything. In fact, M4 can also be *nothing*. In other words, it may be optional. This is precisely because, from one block to the next, we have constrained D2 such that it is only allowed to change in a few ways. Therefore, the exhaustive set of "candidate D2s" can be precomputed by full nodes in advance. -#### A Recent Change: Two Withdrawals at Once +==== A Recent Change: Two Withdrawals at Once ==== The following sections assume a maximum of one sucessful withdrawal per sidechain at a time. In other words, as WT^s are proposed, only one can make progress toward the finish line. As a result, a given side-to-main transfer will always take between 3 and 6 months. If there were more simulataneous withdrawals, the worst-case transfer duration would improve. @@ -246,7 +241,7 @@ Second, n=2 can be implemented in a clever way: by allowing a withdrawal to free It is possible to troll this rule, by getting two (or even three) withdrawals to have 6575+ ACK scores, and then getting them to *tie* for first place. So, if there are any ties, the ability to "bonus move" is disabled until all ties are broken. -#### How Hard is it to Guess M4? +==== How Hard is it to Guess M4? ==== If there are n Escrows and m Withdrawals-per-escrow1, then there are (m+2)^n total candidates for the next D2. This is because, [per block per escrow], one of three things can happen: (1) one of the m withdrawal-candidates can be "ACK"ed (or "upvoted" or "promoted"), which automatically downvotes the others; or (2) all withdrawal-candidates can be downvoted, or finally (3) the miners can abstain from voting on the escrow's withdrawals altogether, leaving the tallies the same. @@ -254,7 +249,7 @@ First, for nodes which validate all sidechains (assuming these escrows are sidec Of course, that is still O(k^n) for n sidechains, which isn't great2. If the "D2 update" cannot be guessed, it must be transmitted in some way. -#### Giving Up and Getting M4 the Old Fashioned Way +==== Giving Up and Getting M4 the Old Fashioned Way ==== Two examples for transmitting it are below: @@ -287,7 +282,7 @@ In practice, n is already capped, and miners may impose [on each other] a "soft In practice, m should always be 1 or 2, else something fishy is going on; and m can only inch up by 1 unit per block. So the system as a whole is still quite transparent, in that users are warned appropriately and well in advance. Attackers must invest upfront and they face an uphill climb, in order to eventually make things more expensive for a few others; defenders can wait-and-see if the attack looks like it will ever amount to anything before lifting a finger. -##### New Block Validation Rules (for D2 and, by implication, M4) +===== New Block Validation Rules (for D2 and, by implication, M4) ===== From one block to the next, D2 can only be edited in a few strict ways: @@ -295,7 +290,7 @@ From one block to the next, D2 can only be edited in a few strict ways: * The ACK-counter of any individual entry can only change by (-1,0,+1) relative to its previous entry. * Within a sidechain group, upvoting one withdrawal (ACK=ACK+1) requires you to downvote all other withdrawals in that group. However, the minimum ACK value is zero (and, therefore, downvotes cannot reduce it below zero). -##### Footnotes for M4 +===== Footnotes for M4 ===== 1 This represents the worst-case scenario is one where all the Withdrawals are spread evenly over each Sidechain. Under normal operations, there is no reason to expect the all sidechains will have the same number of withdrawals at any given time. In fact, under normal operations, the very *concept* of counting the withdrawals-per-sidechain should be a purposeless one, because there should only be *one* withdrawal at a time. Nonetheless we consider the worst case scenario here. @@ -303,7 +298,7 @@ From one block to the next, D2 can only be edited in a few strict ways: -### Depositing and Withdrawing (M5, M6) +=== Depositing and Withdrawing (M5, M6) === Both M5 and M6 are regular Bitcoin txns. They are identified by meeting an important criteria: they select a one of the Critical TxID-index Pairs (a "CTIP") as one of their inputs. Deposits ("M5") are distinguished from withdrawals ("M6") by simply checking to see if money is "going in", or "out". In other words, we compare the BTC value of the original CTIP to that of new CTIP. If original <= new it is a deposit, if original > new then it is a withdrawal. @@ -319,7 +314,7 @@ These criteria are enforced here https://github.com/drivechain-project/bitcoin/b The purpose of this is to have all of the escrow's money (ie all of the sidechain's money) in one TxID, so that depositors immediately undo any UTXO bloat they may cause. This simplifies the withdrawal process, as there is no need to worry about cleaning up "dust deposits" (...and such cleaning can often result in headaches, for example where a withdrawal-txn is larger than 1MB in size, or else may only withdraw an arbitrarily limited amount of BTC). Notice that, unless we assume that an account will last forever, all utxos which are deposited must eventually be withdrawn by someone. Therefore, the relevant design criterion is not "efficiency" (total network cost) but rather "who should pay" (allocation of costs). -#### M5. "Make a Deposit" -- a transfer of BTC from-main-to-side +==== M5. "Make a Deposit" -- a transfer of BTC from-main-to-side ==== As far as mainchain consensus is concerned, there are no additional requirements. @@ -327,14 +322,14 @@ However, in practice there *are* additional mainchain requirements...specified b One method, is for mainchain depositors to append a zero-value OP Return to a Deposit txn, so that the sidechain knows how to credit funds. Mainchain users must upgrade their wallet software, of course, (on an individual basis) in order to become aware of and take advantage of new deposit-methods. -##### Inconvenient Race Condition +===== Inconvenient Race Condition ===== The requirement that each hashrate escrow be linked to a single TxID does create an interesting inconvenience for depositors. If a user is slow to sign a txn after constructing it (perhaps because the user employs an air-gapped computer, etc), then the signed txn may no longer be valid. This is because the input it selects, may no longer be the Critical TxID (as "the" Critical TxID changes with each deposit). **Only one user can deposit at a time** (although many can deposit per block). As a result, the transaction must fail, and the user would need to be prompted to remake and resign the txn. If this is problem is too frustrating, users can always make main-to-side transfers using atomic cross chain swaps (or, the LN, if they already have a channel open on both chains). Fortunately, it is already a part of mainchain consensus that no two txns can spend the same TxID. The only new issue here is the confusion it might create for the user (hence the need for error messages and alternative deposit-methods). -#### M6. "Execute Withdrawal" -- a transfer of BTC from-side-to-main +==== M6. "Execute Withdrawal" -- a transfer of BTC from-side-to-main ==== We come, finally, to the critical matter: where users can take their money *out* of the escrow account, and return it to the "regular" UTXO set. As previously mentioned, this txn is one which (a) spends from a CTIP and (b) reduces the quantity of BTC in an account's CTIP. Most of the work has already been done by D1, M3, M4, and D2. Furthermore, existing Bitcoin tx-rules prevent the sidechain from ever withdrawing more money than has been placed into it. @@ -361,16 +356,16 @@ As a result of these requirements, every single withdrawal-attempt will fail, un -Backward compatibility -======================== +==Backward compatibility== + As a soft fork, older software will continue to operate without modification. Non-upgraded nodes will see a number of phenomena that they don't understand -- coinbase txns with non-txn data, value accumulating in anyone-can-spend UTXOs for months at a time, and then random amounts leaving the UTXO in single, infrequent bursts. However, this phenomena doesn't affect them or the validity of the money that they receive. ( As a nice bonus, note that the sidechains themselves inherit a resistance to hard forks. The only way to guarantee that the WT^s reported by different clients will continue to match identically, is to upgrade sidechains via soft forks of themselves. ) -Deployment -=========== +==Deployment== + This BIP will be deployed by "version bits" BIP9 with the name "hrescrow" and using bit 4. @@ -381,28 +376,25 @@ consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].nStartTime = 151597440 consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].nTimeout = 1547510401; // January 15th, 2019. ``` -Reference Implementation -========================== +==Reference Implementation== + See: https://github.com/drivechain-project/bitcoin/tree/mainchainBMM Also, for interest, see an example sidechain here: https://github.com/drivechain-project/bitcoin/tree/sidechainBMM -References -============ +==References== See http://www.drivechain.info/literature/index.html -Credits -========= +==Credits== Thanks to everyone who contributed to the discussion, especially: ZmnSCPxj, Adam Back, Peter Todd, Dan Anderson, Sergio Demian Lerner, Chris Stewart, Matt Corallo, Sjors Provoost, Tier Nolan, Erik Aronesty, Jason Dreyzehner, Joe Miyamoto, Ben Goldhaber. -Copyright -========== +==Copyright== This BIP is licensed under the BSD 2-clause license. From 9207df7d054c21cb276b6873f009be0fda992d93 Mon Sep 17 00:00:00 2001 From: Paul Sztorc Date: Sat, 10 Feb 2018 17:00:23 -0500 Subject: [PATCH 030/133] fix mediawiki formatting --- bip-hashrate-escrows.mediawiki | 189 ++++++++++++++++++++++++--------- 1 file changed, 136 insertions(+), 53 deletions(-) diff --git a/bip-hashrate-escrows.mediawiki b/bip-hashrate-escrows.mediawiki index 0f2210cb..82c436cb 100644 --- a/bip-hashrate-escrows.mediawiki +++ b/bip-hashrate-escrows.mediawiki @@ -17,16 +17,16 @@ ==Abstract== -A "Hashrate Escrow" is a clearer term for the concept of "locked to an SPV Proof", which is itself a restatement of the phrase "within a sidechain" as described in [a famous Oct 2014 paper](https://blockstream.com/sidechains.pdf) written partially by some Blockstream co-founders. +A "Hashrate Escrow" is a clearer term for the concept of "locked to an SPV Proof", which is itself a restatement of the phrase "within a sidechain" as described in [https://blockstream.com/sidechains.pdf a famous Oct 2014 paper] written partially by some Blockstream co-founders. A Hashrate Escrow resembles a 2-of-3 multisig escrow, where the 3rd party (who will arbitrate any disputes) is a decentralized group of people: the dynamic-membership set of Bitcoin Miners. However, the 3rd party does not sign escrow-withdrawal transactions with a private key. Instead, these are "signed" by directing hashpower over them for a period of time. -This project has [a website](http://www.drivechain.info/) which includes [a FAQ](http://www.drivechain.info/faq/index.html). +This project has [http://www.drivechain.info/ a website] which includes [http://www.drivechain.info/faq/index.html a FAQ]. ==Motivation== -In practice these escrows are likely to be "asymmetric sidechains" of Bitcoin (such as [Rootstock](http://www.rsk.co/)) or "virtual chains" within Bitcoin (such as [proposed by Blockstack](https://github.com/blockstack/virtualchain) in mid-2016). +In practice these escrows are likely to be "asymmetric sidechains" of Bitcoin (such as [http://www.rsk.co/ Rootstock]) or "virtual chains" within Bitcoin (such as [https://github.com/blockstack/virtualchain proposed by Blockstack] in mid-2016). Sidechains have many potential benefits, including: @@ -77,16 +77,55 @@ The table below enumerates the new database fields, their size in bytes, and the Note: Fields 6 through 9 have been intentionally removed. Previously, this section allowed miners to set and commit to voting/waiting periods. However, I have since standardized the periods: withdrawals expire after 6 months (26298 blocks), and they succeed if they ever achieve an ACK score of 13140 or higher. I have removed the waiting period, because anyone who adopts a policy of ignoring all withdrawals with fewer than 400 ACKs will automatically gain all of the benefits of the waiting period. The justification for this change is that it strongly implies that an attack on any one sidechain is an attack on all of them (in a sense, this change makes the "victimhood" of each sidechain "fungible"). -Field No. | Label | Bytes | Type | Description / Purpose -----------|-------|------|------|-------- -1 | Escrow Number | 1 | uInt | A number assigned to the entire escrow. Used to make it easy to refer to each escrow. -2 | Active\* | 2 | uInt | This counter starts at zero when a new entry is added, and increments as a new entry is supported by "M2". The entry either reaches the max value of 4032 (at which point the counter freezes), or else the entry is removed. This enforces the requirement "a soft fork is required to add a new escrow". -3 | Escrow Name/Description | 120 | string | A human-readable name and description of the sidechain. More than enough space to hold a 32 byte hash. Helps prevent destructive interference among sidechains (see below). -4 | Critical Private Key | 32 | hex | This is the Double-SHA256 of the binary release of the reference software. It ties the sidechain to a specific software release, and doubles as a way of signing withdrawals (see below). -5 | Critical Address\* | 32 | string | This is derived by taking f(x) = ImportPrivateKey(HexToBase58Check(x)) of field #3. It is intentionally in the human-readable format {{although it could be 25 bytes of binary}}. -10 | "CTIP" -- Part 1 "TxID"\* | 32 | hex | The CTIP, or "Critical (TxID, Index) Pair" is a variable for keeping track of where the escrow's money is (ie, which member of the UTXO set). -11 | "CTIP" -- Part 2 "Index"\* | 4 | hex | Of the CTIP, this is second element of the pair: the Index. See #10 above. - +{| class="wikitable" +! Field No. +! Label +! Bytes +! Type +! Description / Purpose +|- +| 1 +| Escrow Number +| 1 +| uInt +| A number assigned to the entire escrow. Used to make it easy to refer to each escrow. +|- +| 2 +| Active* +| 2 +| uInt +| This counter starts at zero when a new entry is added, and increments as a new entry is supported by "M2". The entry either reaches the max value of 4032 (at which point the counter freezes), or else the entry is removed. This enforces the requirement "a soft fork is required to add a new escrow". +|- +| 3 +| Escrow Name/Description +| 120 +| string +| A human-readable name and description of the sidechain. More than enough space to hold a 32 byte hash. Helps prevent destructive interference among sidechains (see below). +|- +| 4 +| Critical Private Key +| 32 +| hex +| This is the Double-SHA256 of the binary release of the reference software. It ties the sidechain to a specific software release, and doubles as a way of signing withdrawals (see below). +|- +| 5 +| Critical Address* +| 32 +| string +| This is derived by taking f(x) = ImportPrivateKey(HexToBase58Check(x)) of field #3. It is intentionally in the human-readable format {{although it could be 25 bytes of binary}}. +|- +| 10 +| "CTIP" -- Part 1 "TxID"* +| 32 +| hex +| The CTIP, or "Critical (TxID, Index) Pair" is a variable for keeping track of where the escrow's money is (ie, which member of the UTXO set). +|- +| 11 +| "CTIP" -- Part 2 "Index"* +| 4 +| hex +| Of the CTIP, this is second element of the pair: the Index. See #10 above. +|} \* Denotes a "convenience field", the entry for this field is derived from other fields, or from the blockchain-state itself. The escrow-creator does not need to provide these values in M1 (or anywhere). @@ -94,10 +133,10 @@ Escrow_DB requires 223 bytes [1+120+32+32+2+32+4] for each escrow in the main bl ====Notes on D1==== -1. D1 will always exist. -2. D1 will always have a unique sort (first by "Escrow Number" (field #1), and second by "Active" (field #2)). There is only ever one (escrow number, Active) pair. -3. D1 is updated according to M1 and M2 (below). -4. If a new entry is added to D1 with an "Escrow Number" that is already in use, then this entry will either eventually be removed (because it was not supported with an M2), or it will eventually overwrite the old entry (if it *was* supported via M2). +# D1 will always exist. +# D1 will always have a unique sort (first by "Escrow Number" (field #1), and second by "Active" (field #2)). There is only ever one (escrow number, Active) pair. +# D1 is updated according to M1 and M2 (below). +# If a new entry is added to D1 with an "Escrow Number" that is already in use, then this entry will either eventually be removed (because it was not supported with an M2), or it will eventually overwrite the old entry (if it *was* supported via M2). ====Notes on D1==== @@ -108,7 +147,7 @@ Miners have always upgraded their software according to criteria that are known However, this soft fork imposes two new criteria upon them. First: miners should only upgrade their software, if any modification to the portfolio of sidechains [that are added/removed in the upgrade] can be expected to increase miner wealth. Trivially, this implies that miners should make sure that the upgrade doesn't overwrite (and destroy) an existing sidechain that they like! But, more seriously, it implies that miners should take an interest in what the sidechain is doing to the mainchain and other sidechains (see below). -##### Destructive Sidechain Interference +===== Destructive Sidechain Interference ===== People frequently emphasize that miners should have "as little control" as possible. It is a very safe claim to make, and a very easy sentence to write. Much harder is to determine exactly what this minimum value is, and how to achieve it. Harder still is to untie the knot of who is actually controlling what, in a decentralized, interacting system. @@ -147,11 +186,11 @@ Currently, we use a process which may be suboptimal. It is that we *literally si ==== New Block Validation Rules ==== -1. If the network detects a properly-formatted M1, it must add an entry to D1, into the very next block, with the following initial values: -* Field #5 will be calculated as per [version 1 Bitcoin addresses](https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses), but with a prefix of "4" instead of "1". -* Field #9 will be derived from #7 and #8 using math. -* The initial values of Fields #10, #11, and #12 are set to zero. -2. Only one M1 (of any kind) can be added into a block at a time. +# If the network detects a properly-formatted M1, it must add an entry to D1, into the very next block, with the following initial values: +## Field #5 will be calculated as per [https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses version 1 Bitcoin addresses], but with a prefix of "4" instead of "1". +## Field #9 will be derived from #7 and #8 using math. +## The initial values of Fields #10, #11, and #12 are set to zero. +# Only one M1 (of any kind) can be added into a block at a time. ==== Notes on M1 ==== @@ -180,16 +219,61 @@ The escrow will "reuse" the same address over and over. But notice that there is The table below enumerates the database fields, their size (in bytes), type and purpose. -Field No. | Label | Bytes | Type | Description / Purpose -----------|-------|------|------|----------------------- -1 | Escrow Number | 1 | uInt | Links the withdrawal-request to a specific escrow. -2 | WT^ | 32 | hex | This is a "blinded transaction id" (ie, the double-Sha256 of a txn that has had two fields zeroed out, see M6) of a withdrawal-attempt. -3 | ACKs\* | 2 | uInt | The current total number of "votes", this starts at 0 and remains there throughout the waiting period. -4 | Age\* | 3 | uInt | Total duration of time, in blocks, that this WT^ has been inside of D2. -5 | Waiting Period\* | 2 | uInt | Total duration of time, in blocks, that this entry must sit idle, before it can begin to accumulate ACKs/NACKs. Pulled from D1's field #6. -6 | Max Age\* | 3 | uInt | Determined by summing (D1's field #6) and (D1's field #7). -7 | Threshold\* | 2 | uInt | Total ACKs needed, this is pulled from D1's field #9. -8 | Approved\* | 1 | boolean | True while ACKs > Threshold, False otherwise. +{| class="wikitable" +! Field No. +! Label +! Bytes +! Type +! Description / Purpose +|- +| 1 +| Escrow Number +| 1 +| uInt +| Links the withdrawal-request to a specific escrow. +|- +| 2 +| WT^ +| 32 +| hex +| This is a "blinded transaction id" (ie, the double-Sha256 of a txn that has had two fields zeroed out, see M6) of a withdrawal-attempt. +|- +| 3 +| ACKs* +| 2 +| uInt +| The current total number of "votes", this starts at 0 and remains there throughout the waiting period. +|- +| 4 +| Age* +| 3 +| uInt +| Total duration of time, in blocks, that this WT^ has been inside of D2. +|- +| 5 +| Waiting Period* +| 2 +| uInt +| Total duration of time, in blocks, that this entry must sit idle, before it can begin to accumulate ACKs/NACKs. Pulled from D1's field #6. +|- +| 6 +| Max Age* +| 3 +| uInt +| Determined by summing (D1's field #6) and (D1's field #7). +|- +| 7 +| Threshold* +| 2 +| uInt +| Total ACKs needed, this is pulled from D1's field #9. +|- +| 8 +| Approved* +| 1 +| boolean +| True while ACKs > Threshold, False otherwise. +|} \* Denotes a "convenience field" (see above). @@ -197,13 +281,13 @@ Withdrawal_DB requires 46 bytes [1+32+2+3+2+3+2+1] per entry. Of these, 13 bytes ==== New Block Validation Rules for D2 ==== -1. In each block, a hash commitment to D2 must always exist (even if D2 is blank). -2. D2 must always be sorted first by field #1 (Escrow Number) and second by field #4 (Age). This imposes a unique sort. -3. From one block to the next, every entry's "Age" field must increase by exactly 1. -4. From one block to the next, entries are only removed from D2 (in the very next block) if: -* * "Age" = "MaxAge". -* * If the block contains a txn who's blinded txID matches WT^. {{ This might be unnecessary, and a lot of work. }} -5. In addition, there are special rules for the allowed values in the "ACKs" field (field #3). See M4 below. +# In each block, a hash commitment to D2 must always exist (even if D2 is blank). +# D2 must always be sorted first by field #1 (Escrow Number) and second by field #4 (Age). This imposes a unique sort. +# From one block to the next, every entry's "Age" field must increase by exactly 1. +# From one block to the next, entries are only removed from D2 (in the very next block) if: +## "Age" = "MaxAge". +## If the block contains a txn who's blinded txID matches WT^. {{ This might be unnecessary, and a lot of work. }} +# In addition, there are special rules for the allowed values in the "ACKs" field (field #3). See M4 below. ==== M3 -- "Propose Withdrawal" ==== @@ -215,8 +299,8 @@ Withdrawal_DB requires 46 bytes [1+32+2+3+2+3+2+1] per entry. Of these, 13 bytes ==== New Block Validation Rules for M3 ==== -1. If the network detects a properly-formatted M3, it must add an entry to D2 in the very next block. The starting values of fields #3 and #4 are zero, and #5 is pulled over by extracting the relevant value from D1. -2. Each block can only contain one M3 per sidechain. +# If the network detects a properly-formatted M3, it must add an entry to D2 in the very next block. The starting values of fields #3 and #4 are zero, and #5 is pulled over by extracting the relevant value from D1. +# Each block can only contain one M3 per sidechain. ==== M4 -- "ACK Withdrawal" ==== @@ -231,7 +315,7 @@ In fact, M4 can also be *nothing*. In other words, it may be optional. This is p The following sections assume a maximum of one sucessful withdrawal per sidechain at a time. In other words, as WT^s are proposed, only one can make progress toward the finish line. As a result, a given side-to-main transfer will always take between 3 and 6 months. If there were more simulataneous withdrawals, the worst-case transfer duration would improve. -![dots-image](/images/two-groups.png?raw=true) + The worst-case withdrawal time obeys f(n)=3+(3/n) months, where n is the number of simultaneous withdrawals. @@ -269,7 +353,7 @@ Two examples for transmitting it are below: If the message is very very large, then nodes may not want to broadcast it. This opens up an "exhaustion attack"2, in which many miners create bad WT^s, vote on these randomly, and then refuse to broadcast their votes. Fortunately, even for a worst-case scenario of 200 sidechains and 1,000 withdrawal-attempts per sidechain, honest nodes can communicate a long form M4 with each other by using just 25,056 bytes per block [4+1+1+(200\*(1000+1+1)/8)]. -Today's pre-drivechain miners can already carry out a similar attack, by creating and including txns and then not broadcasting that part of the block to anyone. This is often characterized as a ["block publication incentive"](https://petertodd.org/2016/block-publication-incentives-for-miners), because in that case the prospect of exhaustively computing all possible transactions (to uncover the missing ones) is completely out of the question. +Today's pre-drivechain miners can already carry out a similar attack, by creating and including txns and then not broadcasting that part of the block to anyone. This is often characterized as a [https://petertodd.org/2016/block-publication-incentives-for-miners "block publication incentive"], because in that case the prospect of exhaustively computing all possible transactions (to uncover the missing ones) is completely out of the question. However, message M4 is different from a withheld-txn, because M4 operates outside of the block's mandated information-processing limits (ie, outside the infamous 1 MB nonwitness blocksize limit). So we should examine the conditions under which M4 grows and shrinks, to ensure that we are not smuggling in a tremendous burden on full nodes. @@ -307,10 +391,10 @@ The code that identifies sidechain withdrawal / deposit txns (by calculating how Such txns are forced (by consensus) to obey two additional criteria: -1. They must contain an output paying "to" the Critical Address [probably in TxOut0]. -2. They must be accompanied by an update to this sidechain's Critical TxID-index Pair (CTIP). The new CTIP must be "this" txn itself. +# They must contain an output paying "to" the Critical Address [probably in TxOut0]. +# They must be accompanied by an update to this sidechain's Critical TxID-index Pair (CTIP). The new CTIP must be "this" txn itself. -These criteria are enforced here https://github.com/drivechain-project/bitcoin/blob/mainchainBMM/src/validation.cpp#L440-L473 by checking that a deposit is paying back to the sidechain more than it is taking out, and completely rejecting any withdrawal from the mempool. And here https://github.com/drivechain-project/bitcoin/blob/mainchainBMM/src/validation.cpp#L1747-L1757 we allow for a withdrawal only once it has attained sufficient work score (ACKs). +These criteria are enforced [https://github.com/drivechain-project/bitcoin/blob/mainchainBMM/src/validation.cpp#L440-L473 here] by checking that a deposit is paying back to the sidechain more than it is taking out, and completely rejecting any withdrawal from the mempool. And [https://github.com/drivechain-project/bitcoin/blob/mainchainBMM/src/validation.cpp#L1747-L1757 here] we allow for a withdrawal only once it has attained sufficient work score (ACKs). The purpose of this is to have all of the escrow's money (ie all of the sidechain's money) in one TxID, so that depositors immediately undo any UTXO bloat they may cause. This simplifies the withdrawal process, as there is no need to worry about cleaning up "dust deposits" (...and such cleaning can often result in headaches, for example where a withdrawal-txn is larger than 1MB in size, or else may only withdraw an arbitrarily limited amount of BTC). Notice that, unless we assume that an account will last forever, all utxos which are deposited must eventually be withdrawn by someone. Therefore, the relevant design criterion is not "efficiency" (total network cost) but rather "who should pay" (allocation of costs). @@ -335,8 +419,8 @@ We come, finally, to the critical matter: where users can take their money *out* From there, we merely introduce two final concepts: -1. In each block, an entry in D2 is considered an "approved candidate" if the "ACKs" value is above 13140. -2. A "blinded TxID" is way of hashing the txn, in which we first overwrite some parts of the txn with zeros. Specifically, the first 36 bytes of "TxIn0" (the first input, including TxOutHash and TxOutIndex), as well as the first 8 bytes of "TxOut0" (the first output). +# In each block, an entry in D2 is considered an "approved candidate" if the "ACKs" value is above 13140. +# A "blinded TxID" is way of hashing the txn, in which we first overwrite some parts of the txn with zeros. Specifically, the first 36 bytes of "TxIn0" (the first input, including TxOutHash and TxOutIndex), as well as the first 8 bytes of "TxOut0" (the first output). Blinding is necessary because we allow each sidechain only one UTXO at a time. @@ -346,9 +430,9 @@ While we ACK a blinded WT^, what is actually included in the blockchain ("M6") i With all of this in place, the only requirements for inclusion in a block are these: -1. "Be ACKed" -- The "blinded TxID" of this txn must be member of the "approved candidate" set in the D2 of this block. -2. "Return Change to Account" -- TxOut0 must pay to the "critical account" (see D1) that corresponds to the CTIP that was selected as a TxIn. -3. "Return *all* Change to Account" -- Sum of inputs must equal the sum of outputs. No traditional tx fee is possible. +# "Be ACKed" -- The "blinded TxID" of this txn must be member of the "approved candidate" set in the D2 of this block. +# "Return Change to Account" -- TxOut0 must pay to the "critical account" (see D1) that corresponds to the CTIP that was selected as a TxIn. +# "Return *all* Change to Account" -- Sum of inputs must equal the sum of outputs. No traditional tx fee is possible. Finally, don't forget that M6 inherits the requirement (common to both M5 and M6) that the CTIP be selected as an input, and that the CTIP then be updated. In this case, we know that the critical index will be zero, so the new CTIP will be ("this TxID" (NOT blinded), 0). The TxID is NOT blinded because blinding is only for accumulating ACKs. @@ -394,7 +478,6 @@ See http://www.drivechain.info/literature/index.html Thanks to everyone who contributed to the discussion, especially: ZmnSCPxj, Adam Back, Peter Todd, Dan Anderson, Sergio Demian Lerner, Chris Stewart, Matt Corallo, Sjors Provoost, Tier Nolan, Erik Aronesty, Jason Dreyzehner, Joe Miyamoto, Ben Goldhaber. - ==Copyright== This BIP is licensed under the BSD 2-clause license. From 486505b8fad62cb3c2f01b1a0eb79b1912196fda Mon Sep 17 00:00:00 2001 From: Paul Sztorc Date: Sat, 10 Feb 2018 17:02:33 -0500 Subject: [PATCH 031/133] typos --- bip-hashrate-escrows.mediawiki | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bip-hashrate-escrows.mediawiki b/bip-hashrate-escrows.mediawiki index 82c436cb..0987bf5c 100644 --- a/bip-hashrate-escrows.mediawiki +++ b/bip-hashrate-escrows.mediawiki @@ -315,7 +315,7 @@ In fact, M4 can also be *nothing*. In other words, it may be optional. This is p The following sections assume a maximum of one sucessful withdrawal per sidechain at a time. In other words, as WT^s are proposed, only one can make progress toward the finish line. As a result, a given side-to-main transfer will always take between 3 and 6 months. If there were more simulataneous withdrawals, the worst-case transfer duration would improve. - + The worst-case withdrawal time obeys f(n)=3+(3/n) months, where n is the number of simultaneous withdrawals. @@ -453,12 +453,12 @@ As a soft fork, older software will continue to operate without modification. No This BIP will be deployed by "version bits" BIP9 with the name "hrescrow" and using bit 4. -``` +
 // Deployment of Drivechains (BIPX, BIPY)
 consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].bit = 4;
 consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].nStartTime = 1515974401; // January 15th, 2018.
 consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].nTimeout = 1547510401; // January 15th, 2019.
-```
+
==Reference Implementation== From 68918ad24a568a302bf6e54932a38d3b73ec3d65 Mon Sep 17 00:00:00 2001 From: Paul Sztorc Date: Sat, 10 Feb 2018 17:15:21 -0500 Subject: [PATCH 032/133] resync --- bip-blind-merged-mining.md | 329 ++++++++++++ bip-blind-merged-mining/bmm-dots-examples.png | Bin 0 -> 41116 bytes .../images.txt | 0 .../witness-vs-critical.png | Bin 0 -> 67570 bytes bip-hashrate-escrows.mediawiki | 483 ------------------ bip-hashrate-escrows/two-groups.png | Bin 39695 -> 0 bytes 6 files changed, 329 insertions(+), 483 deletions(-) create mode 100644 bip-blind-merged-mining.md create mode 100644 bip-blind-merged-mining/bmm-dots-examples.png rename {bip-hashrate-escrows => bip-blind-merged-mining}/images.txt (100%) create mode 100644 bip-blind-merged-mining/witness-vs-critical.png delete mode 100644 bip-hashrate-escrows.mediawiki delete mode 100644 bip-hashrate-escrows/two-groups.png diff --git a/bip-blind-merged-mining.md b/bip-blind-merged-mining.md new file mode 100644 index 00000000..f203e40f --- /dev/null +++ b/bip-blind-merged-mining.md @@ -0,0 +1,329 @@ + Drivechain Documentation -- Blind Merged Mining BIP + Paul Sztorc + November 17, 2017 + Document 3 of 3 + v4.1 + + +Header +======= + + BIP: ???? + Layer: Consensus (soft fork) + Title: Blind Merged Mining (Consensus layer) + Author: Paul Sztorc + CryptAxe + Chris Stewart + Comments-Summary: No comments yet. + Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-??????? + Status: Draft + Type: Standards Track + Created: 2017-10-24 + License: BSD-2-Clause + + +Abstract +========== + +Blind Merged Mining (BMM) is a way of mining special extension blocks, ie "sidechains". It produces strong guarantees that the block is valid, for *any* arbitrary set of rules; and yet it does so without requiring miners to actually do any validation on the block whatsoever. + +BMM actually is a process that spans two or more chains. For an explanation of the "whole picture", please see [this post](http://www.truthcoin.info/blog/blind-merged-mining/). Here we focus on the modifications to mainchain Bitcoin. + +To support BMM, the mainchain is asked to accomplish two goals: +1. Track a set of ordered hashes (the merged-mining). +2. Allow miners to "sell" the act of finding a sidechain block (through the use of a new extended serialization transaction type). + +These goals are accomplished by forcing nodes to validate two new messages (M7, M8), and track data in one new database (D3). + + +Motivation +============ + +Regular "Merged-Mining" (MM) allows miners to reuse their hashing work to secure other chains (for example, as in Namecoin). However, traditional MM has two drawbacks: + +1. Miners must run a full node of the other chain. (This is because [while miners can effortlessly create the block] miners will not create a valid payment to themselves, unless the block that they MM is a valid one. Therefore, miners must assemble a *valid* block first, then MM it.) +2. Miners are paid on the other chain, not on the regular BTC mainchain. For example, miners who MM Namecoin will earn NMC (and they will need to sell the NMC for BTC, before selling the BTC in order to pay for electricity). + +Blind Merged-Mining (BMM) attempts to address those shortcomings. + + +Specification +============ + +Note: This document uses the notation side:\* and main:\* in front of otherwise-ambiguous words (such as "block", "node", or "chain"), to distinguish the mainchain version from its sidechain counterpart. + +As stated above, we have two goals: [1] create and monitor an alt-chain (defined only by a deterministic list of hashes), and [2] allow miners to "sell" the act of finding a sidechain block (through the use of a new extended serialization transaction type). + +### Sidechain Critical Data ("Sidechain Mini-Header") + +Specifically, per side:block per side:chain, we track the following 35 bytes of information: + + 1-byte - ChainIndex (known as "Account Number" in hashrate-escrows.md , or as "Sidechain Number") + 32-bytes - sideHeaderHash (also known as "h*" / hashCritical, the hash of the sidechain block) + 2-bytes - prevBlockRef (an index which points to this side:block's parent side:block) + +The **ChainIndex** indicates which sidechain this critical data is relevant to. As we may eventually have more than one sidechain, this serves as an identifier similar to the Bitcoin network's magic bytes (0xF9BEB4D9). Drivechains however only need to use 1 byte for the identifier (there is a hard limit of 256 sidechains identified as 0-255). The **sideHeaderHash** is the hash of a side:block which will receive PoW via BMM. It serves a similar function to Bitcoin's "hashMerkleRoot", in that it contains the data for its blockchain. The **prevBlockRef** forms the set of headers into a blockchain structure by making each headers refer to one parent header. It is most similar to Bitcoin's hashPrevBlock. + +Where does this data come from, and how does it get around? + +#### Creating / Broadcasting This Data + +##### Creation + +By the time Blind Merged Mining can take place, the ChainIndex is globally known (it is the "Account Number" in D1 [see previous BIP], and "nSidechain" in the code). Each sidechain, when activated by soft fork, will take one of the 0-255 available indexes. + +The other two items, sideHeaderHash and prevBlockRef, are created by sidechain nodes. sideHeaderHash is quite straightforward -- side:nodes build side:blocks, and take the hash of these. + +The final item, prevBlockRef, is a little more complicated. It is an integer that counts the number of "skips" one must take in the side:chain in order to find the current side:block's parent block. In practice, this value will usually be zero. It will only be a value other than zero, in cases where invalid sidechain blocks have been mined, or when a side:node intentionally wants to orphan some side:blocks (if a side:node wants to orphan the most-recent N blocks, the value of the current block will be equal to N ; in the block after that it will be back to zero). + +![dots-image](/bip-blind-merged-mining/bmm-dots-examples.png?raw=true) + +Since the hashes themselves are already ordered by the mainchain, tracing the blockchain's path by index (prevBlockRef) will be the same as tracing it by identifying a list of hashes. In other words, the ordering given via each side:block's "prevBlockRef" will be isomorphic to an ordering given by each side:block's "prevSideHeaderHash" ... if "prevSideHeaderHash is defined to be the sidechain's equivalent of the mainchain's "prevBlockHash". It will be possible to freely convert from one to the other. See M8 to learn more about how these hashes are requested by sidechain block creators to be included in the mainchain. + +Now that we know what our critical data is, and how it is made, how is this data broadcast and stored? + +##### Broadcast + +Mainchain nodes are going to need this data later, so it must be easy to find. We will put it into the coinbase via OP RETURN. + +#### M7 -- "Blind-Mine the Sidechain(s)" + +Thus, (for n sidechains) we have a coinbase output with: + + 1-byte - OP_RETURN (0x6a) + 1-byte - Push the following (4+(n*35)) bytes (0x??) + 4-byte - Message header (0xD3407053) + (n*(32+5))-byte - A sequence of bytes, of the three Mini-Header items (h*, prevBlockRef, ChainIndex). + +( We assume that 5 bytes are used for the Critical Data bytes (non h* parts of the Sidechain Mini-Header). For 256 sidechains, a total of 9,478 bytes [1+1+4+256\*(32+5)] are required, conveniently just below the 10 KB scriptPubKey size limit.) + +This data is parsed by laying it in sequential 37-byte chunks (any remaining data --ie, some final chunk that is less than 37 bytes in length-- has no consensus meaning). + +Each 37-byte chunk is then parsed to obtain the data outlined above (in "Description"). If two 35-byte chunks being with the same "Sidechain number" (ie, if the two chunks have the same first byte), then only the first chunk has consensus meaning. + +We are left with, at most, one (h*, prevBlockRef) pair per sidechain per block. This data is added directly to D3, a new database. + +#### D3 -- "RecentSidechains_DB" + +To suit our purposes, the mainchain full nodes will need to keep track of the most recent 8000 (h\*, prevBlockRef) pairs. + +( This 8,000 figure is a tradeoff between decentralization (costs of running the main:node) and sidechain security -- it requires attackers to merged-mine 8,000 invalid blocks consecutively, in order to cause the sidechain to fail. The mainchain burden is minimal, so this figure might be raised to 12,000 or higher. ) + +Therefore, D3 would look something like this: + + + BlockHeight CB_Index SC_1 Blks_Atop_1 SC 2 Blks_Atop_2 SC 3 Blks_Atop_3 + --------- ------ ------ --------- ------ --------- ------ --------- + 1. 401,005 2 (h*, 0) 7985 (h*, 0) 1 (h*, 0) 0 + 2. 401,006 4 (h*, 0) 7984 (h*, 0) 0 (h*, 1) 7801 + 3. 401,007 2 (h*, 0) 7983 (h*, 5) 2027 (h*, 0) 0 + 4. 401,008 2 (h*, 0) 7982 (h*, 0) 2028 (h*, 1) 7800 + ... ... ) + 7999. 409,003 3 (h*, 0) 1 (h*, 0) 0 (h*, 0) 1 + 8000. 409,004 2 (h*, 0) 0 (h*, 1) 0 (h*, 0) 0 + + +When new sidechains (or "hashrate escrows") are soft-forked into existence, a new column is added to D3 (to contain any BMMing that might be done on it). + +For each sidechain we also track the field "Blocks Atop". This is the number of side:blocks that are "on top" of the specified side:block. These might be regarded as "side:confirmations" (pseudo-confirmations that are specific to each sidechain). + +D3 also contains a column (not shown) for each sidechain containing "prevSideBlockHash". This value is is either derived from prevBlockRef; or else it is given explicitly (in which case it is the converse: prevBlockRef is derived from prevSideBlockHash). + + +#### Coinbase Cache + +As mentioned above, M7s cause data to be added to D3. Recent D3 data is tracked by all mainchain nodes for a period of time. + +To efficiently keep track of the above data, without having to constantly load and process entire blocks from disk, we temporarily cache enough coinbases in the chain index to maintain D3. + + +### M8 -- Paying miners to include BMM data in their coinbase outputs + +This section introduces a new type of transaction, which allows sidechain block creators to request, and pay for, a critical hash to be included in a specific block by mainchain miners. See [the Blind Merged Mining spec](http://www.truthcoin.info/blog/blind-merged-mining/). This txn allows miners to "sell" the act of mining a sidechain block. By taking advantage of this option, miners earn tx fees for mining sidechains...truly "for free". They do not even need to run sidechain nodes, and the tx-fees they earn are in mainchain BTC. As a result, sidechains affect all miners equally and do not affect the mining ecosystem. + +M8 will ultimately come in two versions. The second version will be specialized for use in the Lightning Network and must use the full 32-byte prevBlockHash (ironically, this larger transaction is cheaper for the Bitcoin network to process, as it is completely off-chain). The first version of M8, in contrast, cannot be used inside the Lightning Network, but is slightly more space-efficient (using the 2 prevBlockRef bytes to maintain chain order). It is important to make both options available to the user, because some side:nodes may be unwilling or unable to open a payment channels with each main:miner. However, in the long run we expect the lightning version to be preferred. + +#### Setup + +We define **"Mary"** as a mainchain miner, and **"Simon"** as a sidechain node. + +The goal is to construct a payment from Simon to Mary, such that: + +1. If the critical data conditions are met, **Mary** can claim the outputs of the transaction with finality. +2. If the critical data conditions are not met, the outputs become immediately available again to **Simon**. + + +#### Goals (this is rather philosophical, and skippable) + +##### Immediate Expiration ("Fill-or-Kill") + +We would like to make special guarantees to the counterparties of this transaction. Specifically, instead of Simon making a "payment" to Mary, we prefer that Simon give Mary an "offer" (which she can either accept or decline). + +Crucially, we want Simon to safely make many offers to several different Mary's, in realtime (ie, quickly and off-chain). However, we ultimately want only one offer to be accepted, at most. In other words, we want Simon's offers to *immediately expire*. If only one offer can become a bona fide transaction, then Simon will feel comfortable making offers all day long. Because all of the Simons are making many offers, the Marys collectively gain access to a large set of offers to choose from. + +##### Forward Progress (The Need for a "Ratchet") + +The "ratchet" concept is an attempt to harmonize incentives among the main and side chain(s). +We need to ensure that a sidechain is making "forward progress", without tracking too much about the sidechain such that we burden Bitcoin (see [1] and [2]) all while still allowing the sidechain to reorganize [3]. + +* [1] https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-July/014789.html +* [2] http://www.drivechain.info/faq/index.html#what-is-the-difference-between-drivechain-and-extension-blocks +* [3] http://www.truthcoin.info/blog/blind-merged-mining/#handling-reorganizations + +The ratchet system must keep track of sidechain "mini-headers" (see Sidechain Critical Data ("Sidechain Mini-Header")) and count the "blocks atop" maturity of the related side:blocks. + +Simon's offer to Mary to include a critical hash in exchange for payment must be *atomic*. The "ratchet" concept helps to construct a very tight connection between two things: + +1. The sidechain-block-generator "Simon" paying himself the side:block's side:tx-fees (which he receives in 100 sidechain blocks (blocks atop) hence). +2. "Simon" making a mainchain main:btc payment to a mainchain miner "Mary". + +Either both of the two should succeed, or else both should jointly fail. + +However, absent our intervention, there are cases in which [2, the payment to Mary] succeeds but [1, side:tx-fees] fails. One such case is when a side:block contains unusually high side:tx-fees. Here, there will be many requests to include a critical hash in exchange for payment submitted to Mary, but only one can be included in each main:block per sidechain. Without an incentive to make "forward progress", Mary is likely to include one of the highest paying requests in the next main:block (and the main:block after that, and so on). Mary will "blindly" include high-paying requests for *older* blocks, unless something prevents her from doing so. + +To address these potential issues, we utilize the concept of "Blocks_Atop" (the "side:confirmations") that we mentioned earlier. As previously mentioned, Mary will not be able to spend Simon's M8 payment until satisfying the critical data requirements as well as the blocks atop (side:confirmations) requirement. + + +#### M8 -- The two forms of M8 transactions + +As previously mentioned, M8 can take two forms. The first does not require the Lightning Network, but it does have new requirements for Immediate Expiration (see above). The second inherits Immediate Expiration from the Lightning Network itself, but requires extra preparation and a different/larger message. + +Both forms require that certain Critical Data will be committed to within the coinbase of the block that the transaction is included in. For the non Lightning version, we have created a new extended serialization transaction type (very similar to how segwit handles witness data (the witness stack)). + +##### M8_V1 - No Lightning Network + +M8_V1 does not require the Lightning network but does have new requirements for validation. + +A M8_V1 TxOut is expected to contain: + + 1-byte - OP_RETURN (0x6a) + 1-byte - Push the following 36 bytes (0x24) + 4-byte - Message header (0xD1617368) + 32-bytes - h* side:block hash + 5~7-bytes - BMM request identifying bytes (0x00bf00) + prevBlockRef & ChainIndex (sidechain mini-header) + + +In the first version of M8, we need to introduce the concept of Immediate Expiration (see above). In other words, we need a way for Simon to construct many payments to multiple Marys, such that only one of these is ever included; and only then if Simon's txn is expected to coincide with the finding of Simon's side:block. + +We do this by imposing validity-rules on the txn itself: + +1. The txn's content, when examined, must match part of the main:block's content. Specifically, the (ChainIndex, h\*) pair of the txn, must match one of the (ChainIndex, h\*) pairs in the M7 of this main:block. +2. Only one payment per sidechain per main:block is valid. In other words, if 400 people all try to bm-mine the sidechain with ChainIndex==4, then not only is it the case that only one side_4:block can be found, but it is also the case that only the corresponding M8 txn can be included (out of all of the 400 M8s which are for ChainIndex==4). +3. Simon's txns must only be valid for the current block; afterward, they immediately expire. This is because Simon's intended prevBlockRef & side:block contents will most likely change from one main:block to the next. + +To impose new requirements on the transaction level (not the block level nor the TxOutput level), we borrow the "flag" trick from SegWit style transactions. If the flag is present, the transaction is examined for extra data, and if this data does not pass certain requirements, the transaction is invalid. With SegWit, this extra data is the signatures, and the extra requirements are the signatures' locations and validity. In the BMM-transactions, the extra data is the (ChainIndex, h\*) pair, which must meet the first two requirements (above) as well as the main:blocknumber, which must meet the third requirement (above). + +To impose new requirements at the transaction level, we borrow the dummy vin & "flag" trick from SegWit style transactions. If the flag is set to 2 (0010), the transaction contains Critical Data and requires that our new validation rules be met in order for the txn to be valid in a block. Unless all of the requirements for sidechain critical data transactions are met by the block it is included in, the transaction is invalid. With SegWit, this extra data is the segwit signature stack, and the extra requirements are the signatures' locations and validity. In the sidechain BMM critical data transactions, the extra data is the (ChainIndex, h\*) pair, which must meet the first two requirements (above) as well as the main:blocknumber, which must meet the third requirement (above). Note The main:blocknumber does not take up any additional space compared to a normal txn, as we reuse the locktime field for our purposes. + + + + +![extra-data-image](/bip-blind-merged-mining/witness-vs-critical.png?raw=true) + +This txn structure conserves main:blockspace, because it is the easiest way to refer to a previous sidechain block in 4 bytes, (prevBlockRef + FoK_nLockTime). Instead, we would need to use at least 32 bytes (prevSideBlockHash). + +These types of transactions have slightly different mempool behavior, and should probably be kept in a second mempool. These txns are received, checked immediately, and if valid they are evaluated for inclusion in a block. If they are not able to be included in the specific requested block (if the block height requested has been surpassed by the chain tip), they are discarded. In fact, after any main:block is found, everything in this "second mempool" can be discarded as new payments will be created immediately for the next block height. (This includes cases where the blockchain reorganizes.) There is no re-evaluation of the txns in this mempool ever -- they are evaluated once and then either included or discarded. To be clear, when the transaction is received we are able to evaluate its validity, and do not need to rescan these transactions again. + +Interestingly, these payments (M8) will *always* be directed to miners from non-miners. Therefore, non-mining nodes do not need to keep them in any mempool at all. Non-miner nodes can just wait for a block to be found, and check the txn then. These transactions more resemble a stock market's pit trades (in contrast, regular Bitcoin txns remind me more of paper checks). + +##### M8_V2 With Lightning + +M8_V2 requires having a LN-channel open with a miner. This may not always be practical (or even possible), especially today. + +A M8_V1 TxOut is expected to contain: + + 1-byte - OP_RETURN (0x6a) + 1-byte - Push the following 68 bytes (0x44) + 4-byte - Message header (0xD0520C6E) + 32-bytes - h* side:block hash + 32-bytes - prevSideBlockHash + 5~7-bytes - BMM request identifying bytes (0x00bf00) + prevBlockRef & ChainIndex (sidechain mini-header) + + +Notice that, in M8_V1, Simon could reuse the same h\* all he wanted, because only one M8_V1 could be included per main:block per sidechain. However, on the LN no such rule can be enforced, as the goal is to push everything off-chain and include *zero* M8s. So, we will never know what the M8s were or how many had an effect on anything. + +Therefore, Simon will need to ensure that he **gives each Mary a different h\***. Simon can easily do this, as he controls the side:block's contents and can simply increment a nonce -- this changes the side:block, and changes its hash (ie, changes h\*). + +With a unique h\* per Mary, and at most 1 h\* making it into a block (per sidechain), we can guarantee that only one of the M8_V2's critical data can be committed to in a single main:block. By giving each miner (who Simon has a payment channel open with) a different h*, Simon can figure out which miner followed through with the commit, and know that only one such commit went through. Furthermore, if this Simon's requested critical data is not found in a block, none of the M8_V2 payments will be spendable by the Mary(s), because none of the h\* in question have ever made it into D3 (which is always on-chain) and no blocks atop will be accumulated. + +That's probably confusing, so here is an example, in which: Simon starts with 13 BTC, Mary starts with 40 BTC, the side:block's tx-fees currently total 7.1 BTC, and Simon is keeping 0.1 BTC for himself and paying 7 BTC to Mary. + +We start with (I): + + Simon 13 in, Mary 40 in ; 53 in total + Simon's version [signed by Mary] + 13 ; to Simon if TimeLock=over; OR to Mary if SimonSig + 40 ; to Mary + Mary's version [signed by Simon] + 40 ; to me if TimeLock=over; OR to Simon if MarySig + 13 ; to Simon + + +And both parties move, from there to "M8_V2" (II): + + Simon 13 in, Mary 40 in ; 53 in total + Simon's version [signed by Mary] + 6 ; to Simon if TimeLock=over; OR to Mary if SimonSig + 40 ; to Mary + 7 ; to Mary if critical data requirements met; OR to Simon if LongTimeLock=over + Mary's version [signed by Simon] + 40 ; to Mary if TimeLock=over; OR to Simon if MarySig + 6 ; to Simon + 7 ; to Mary if critical data requirements met; OR to Simon if LongTimeLock=over + +From here, if the h\* side:block in question is BMMed, they can proceed to (III): + + Simon 13 in, Mary 40 in ; 53 in total + Simon's version [signed by Mary] + 6 ; to Simon if TimeLock=over; OR to Mary if SimonSig + 47 ; to Mary + Mary's version [signed by Simon] + 47 ; to me if TimeLock=over; OR to Simon if MarySig + 6 ; to Simon + +Although, if Simon proceeds immediately, he removes the protection of the 'ratchet'. Ie, Simon removes Mary's incentive to care about blocks being built on this side:block. If Simon's side:block is orphaned, he loses his 7 BTC. Simon can either play it safe, and wait the full 100 side:blocks before moving on (ie, moving on to the third LN txn, above); or else Simon can take the risk if he feels comfortable with it. + +If the h\* side:block is not found, then (II) and (III) are basically equivalent to each other. Simon and Mary could jointly reconstruct (I) and go back there, or they could proceed to a new version of II (with a different h\*, trying again with new side:block in the next main:block). + + + + +Deployment +=========== + +This BIP will be deployed by "version bits" BIP9 with the name "blindmm" and using bit 4. + +``` +// Deployment of Drivechains (BIPX, BIPY) +consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].bit = 4; +consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].nStartTime = 1515974401; // January 15th, 2018. +consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].nTimeout = 1547510401; // January 15th, 2019. +``` + +Reference Implementation +========================== + +See: https://github.com/drivechain-project/bitcoin/tree/mainchainBMM + +Also, for interest, see an example sidechain here: https://github.com/drivechain-project/bitcoin/tree/sidechainBMM + + +References +============ + +* http://www.drivechain.info/literature/index.html +* http://www.truthcoin.info/blog/blind-merged-mining/ +* https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-July/014789.html +* http://www.truthcoin.info/images/bmm-outline.txt + + +Thanks +========= + +Thanks to everyone who contributed to the discussion, especially: ZmnSCPxj, Adam Back, Peter Todd, Dan Anderson, Sergio Demian Lerner, Matt Corallo, Sjors Provoost, Tier Nolan, Erik Aronesty, Jason Dreyzehner, Joe Miyamoto, Ben Goldhaber. + + +Copyright +========== + +This BIP is licensed under the BSD 2-clause license. diff --git a/bip-blind-merged-mining/bmm-dots-examples.png b/bip-blind-merged-mining/bmm-dots-examples.png new file mode 100644 index 0000000000000000000000000000000000000000..70f11f6bbe935b7b99c51af825947da8a5029971 GIT binary patch literal 41116 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 Shbc6Z~PyQln@sH literal 0 HcmV?d00001 diff --git a/bip-hashrate-escrows/images.txt b/bip-blind-merged-mining/images.txt similarity index 100% rename from bip-hashrate-escrows/images.txt rename to bip-blind-merged-mining/images.txt diff --git a/bip-blind-merged-mining/witness-vs-critical.png b/bip-blind-merged-mining/witness-vs-critical.png new file mode 100644 index 0000000000000000000000000000000000000000..1a2458d42fa50306400128057808168e1e9b9ae7 GIT binary patch literal 67570 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 z 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 - BIP: ???? - Layer: Consensus (soft fork) - Title: Hashrate Escrows (Consensus layer) - Author: Paul Sztorc - CryptAxe - Comments-Summary: No comments yet. - Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-??????? - Status: Draft - Type: Standards Track - Created: 2017-08-14 - License: BSD-2-Clause - Post-History: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-May/014364.html - - -==Abstract== - -A "Hashrate Escrow" is a clearer term for the concept of "locked to an SPV Proof", which is itself a restatement of the phrase "within a sidechain" as described in [https://blockstream.com/sidechains.pdf a famous Oct 2014 paper] written partially by some Blockstream co-founders. - -A Hashrate Escrow resembles a 2-of-3 multisig escrow, where the 3rd party (who will arbitrate any disputes) is a decentralized group of people: the dynamic-membership set of Bitcoin Miners. However, the 3rd party does not sign escrow-withdrawal transactions with a private key. Instead, these are "signed" by directing hashpower over them for a period of time. - -This project has [http://www.drivechain.info/ a website] which includes [http://www.drivechain.info/faq/index.html a FAQ]. - - -==Motivation== - -In practice these escrows are likely to be "asymmetric sidechains" of Bitcoin (such as [http://www.rsk.co/ Rootstock]) or "virtual chains" within Bitcoin (such as [https://github.com/blockstack/virtualchain proposed by Blockstack] in mid-2016). - -Sidechains have many potential benefits, including: - -1. Protect Bitcoin from competition from altcoins and spinoffs. Safely allow competing implementations (of *sidechains*). -2. Protect Bitcoin from hard fork campaigns. (Such campaigns represent an existential threat to Bitcoin, as well as an avenue for developer corruption.) -3. Help with review, by making it much easier for reviewers to ignore bad ideas. -4. Provide an avenue for good-but-confusing ideas to prove their value safely. - - - -==Specification== - -==== Components ==== - -Hashrate Escrows are built of two types of component: [1] new databases, and [2] new message-interpretations. - -===== 1. New Databases ===== - -* D1. "Escrow_DB" -- a database of "accounts" and their attributes. -* D2. "Withdrawal_DB" -- a database of pending withdrawals from these accounts, and their statuses. - -Please note that these structures (D1 and D2) will not literally exist anywhere in the blockchain. Instead they are constructed from messages...these messages, in contrast, *will* exist in the blockchain (with the exception of M4). - -===== 2. New Messages ===== - -* M1. "Propose New Escrow" -* M2. "ACK Escrow Proposal" -* M3. "Propose Withdrawal" -* M4. (implied) "ACK Withdrawal" -* M5. "Execute Deposit" -- a transfer of BTC from-main-to-side -* M6. "Execute Withdrawal" -- a transfer of BTC from-side-to-main - - -==== On the Resource Requirements of New Databases ==== - -The "new" databases are simply reinterpretations of data that are already contained elsewhere in the blockchain. Specifically, M1 M2 and M3 are all located in the block's coinbase txn, and M5 and M6 might be found in any regular txn. M4 is a special case and does not actually need to be included anywhere, so it is not. If you like, you can imagine that the M4s reside in an optional extension block. - -In other words, we just rearrange what is already there. Because of this, even though "new databases" are created and stored in memory, the existing bandwidth and storage limits are respected (although, see "M4" below). - - - - -=== Adding Sidechains and Tracking Them (D1, M1, M2) === - -==== D1 -- "Escrow_DB" ==== - -The table below enumerates the new database fields, their size in bytes, and their purpose. In general, an escrow designer (for example, a sidechain-designer), is free to choose any value for these. - -Note: Fields 6 through 9 have been intentionally removed. Previously, this section allowed miners to set and commit to voting/waiting periods. However, I have since standardized the periods: withdrawals expire after 6 months (26298 blocks), and they succeed if they ever achieve an ACK score of 13140 or higher. I have removed the waiting period, because anyone who adopts a policy of ignoring all withdrawals with fewer than 400 ACKs will automatically gain all of the benefits of the waiting period. The justification for this change is that it strongly implies that an attack on any one sidechain is an attack on all of them (in a sense, this change makes the "victimhood" of each sidechain "fungible"). - -{| class="wikitable" -! Field No. -! Label -! Bytes -! Type -! Description / Purpose -|- -| 1 -| Escrow Number -| 1 -| uInt -| A number assigned to the entire escrow. Used to make it easy to refer to each escrow. -|- -| 2 -| Active* -| 2 -| uInt -| This counter starts at zero when a new entry is added, and increments as a new entry is supported by "M2". The entry either reaches the max value of 4032 (at which point the counter freezes), or else the entry is removed. This enforces the requirement "a soft fork is required to add a new escrow". -|- -| 3 -| Escrow Name/Description -| 120 -| string -| A human-readable name and description of the sidechain. More than enough space to hold a 32 byte hash. Helps prevent destructive interference among sidechains (see below). -|- -| 4 -| Critical Private Key -| 32 -| hex -| This is the Double-SHA256 of the binary release of the reference software. It ties the sidechain to a specific software release, and doubles as a way of signing withdrawals (see below). -|- -| 5 -| Critical Address* -| 32 -| string -| This is derived by taking f(x) = ImportPrivateKey(HexToBase58Check(x)) of field #3. It is intentionally in the human-readable format {{although it could be 25 bytes of binary}}. -|- -| 10 -| "CTIP" -- Part 1 "TxID"* -| 32 -| hex -| The CTIP, or "Critical (TxID, Index) Pair" is a variable for keeping track of where the escrow's money is (ie, which member of the UTXO set). -|- -| 11 -| "CTIP" -- Part 2 "Index"* -| 4 -| hex -| Of the CTIP, this is second element of the pair: the Index. See #10 above. -|} - -\* Denotes a "convenience field", the entry for this field is derived from other fields, or from the blockchain-state itself. The escrow-creator does not need to provide these values in M1 (or anywhere). - -Escrow_DB requires 223 bytes [1+120+32+32+2+32+4] for each escrow in the main blockchain. Of these, 70 bytes [2+32+32+4] are merely for convenience. Therefore, a sidechain is defined (see "M1") by 153 bytes of information. - -====Notes on D1==== - -# D1 will always exist. -# D1 will always have a unique sort (first by "Escrow Number" (field #1), and second by "Active" (field #2)). There is only ever one (escrow number, Active) pair. -# D1 is updated according to M1 and M2 (below). -# If a new entry is added to D1 with an "Escrow Number" that is already in use, then this entry will either eventually be removed (because it was not supported with an M2), or it will eventually overwrite the old entry (if it *was* supported via M2). - - -====Notes on D1==== - -=====Obligations Placed on Miners===== - -Miners have always upgraded their software according to criteria that are known only to them (in other words, "whenever they want"). - -However, this soft fork imposes two new criteria upon them. First: miners should only upgrade their software, if any modification to the portfolio of sidechains [that are added/removed in the upgrade] can be expected to increase miner wealth. Trivially, this implies that miners should make sure that the upgrade doesn't overwrite (and destroy) an existing sidechain that they like! But, more seriously, it implies that miners should take an interest in what the sidechain is doing to the mainchain and other sidechains (see below). - -===== Destructive Sidechain Interference ===== - -People frequently emphasize that miners should have "as little control" as possible. It is a very safe claim to make, and a very easy sentence to write. Much harder is to determine exactly what this minimum value is, and how to achieve it. Harder still is to untie the knot of who is actually controlling what, in a decentralized, interacting system. - -Certainly, miners can not have "zero control" -- for that is the same as to just remove them from the system altogether. Some rules are enforced "on miners by nodes" (such as the infamous blocksize limit); other rules are enforced by nodes but are narrowly-controlled by miners (such as the proof-of-work itself, or the block's timestamp). Thirdly, some rules are enforced by both against each other (such as the rule against including invalid txns or double-spent txns), for mutual benefit. - -Some pause should be given, after one considers that the sidechain design goal is literally a piece of software that can do *anything*. Anything includes a great many things, many of which I demonstrate to be undesirable. Bitcoin itself does not allow "anything" -- it allows any person to transact, but, in contrast, it does not permit any person to double-spend. This is because "allowing anyone to do anything" is not viable in a world that contains undesirable interactions (what a libertarian might call "aggression") -- in the case of money, these are theft and counterfeiting. - -I have produced a comprehensive quantity of written material [1], presentations [2], etc [3] on exactly what the level of miner-control should be, and why. Specifically, I claim that **miners should be aware of the purpose of the sidechain, and they should reject sidechains which have an unclear purpose or which have a purpose that will lead to decrease in miner-wealth** (where wealth measured explicitly as: the estimated present value of the purchasing power of the blockchain's coinbase txns). I claim that this criterion is necessary because, just Original Bitcoin filters unwanted interactions among different BTC txns, so too much "Sidechain Bitcoin" filter out unwanted interactions among sidechain. - -* [1] http://www.truthcoin.info/blog/wise-contracts/ -* [2] https://www.youtube.com/watch?v=xGu0o8HH10U&index=1&list=PLw8-6ARlyVciMH79ZyLOpImsMug3LgNc4 -* [3] http://www.drivechain.info/literature/index.html - -Call it a "sidechain non-aggression principle", if you want. - -To the best of my knowledge, everyone who *has* reviewed this information as found the arguments to be acceptable. It has, also, changed a few minds (from "unacceptable" to "acceptable"). - - -===== ISSUE: "Signing" BTC Txns ===== - -Currently, we use a process which may be suboptimal. It is that we *literally sign* a txn with a globally and publicly known private key. But this is for convenience purposes -- the signature that is produced is not doing anything, and is therefore wasteful. Instead we may use OP_TRUE, but this might interfere with how we detect the sidechain's balance. I'm not sure what the best way is. Someone needs to investigate how to do this -- removing OP_CheckSig, etc. This is a TODO for sure, and an opportunity for someone to help. - - - -(The following messages were modeled on SegWit -- https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki#commitment-structure ) - - - -==== M1 -- "Propose New Sidechain" ==== - - 1-byte - OP_RETURN (0x6a) - 1-byte - Push the following 157 bytes (0x9d) - 4-byte - Commitment header (0x53707243) - 153-byte - the critical bytes mentioned above (fields #1, #3, and #4, to populate a new D1 entry) - - -==== New Block Validation Rules ==== - -# If the network detects a properly-formatted M1, it must add an entry to D1, into the very next block, with the following initial values: -## Field #5 will be calculated as per [https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses version 1 Bitcoin addresses], but with a prefix of "4" instead of "1". -## Field #9 will be derived from #7 and #8 using math. -## The initial values of Fields #10, #11, and #12 are set to zero. -# Only one M1 (of any kind) can be added into a block at a time. - -==== Notes on M1 ==== - -The escrow will "reuse" the same address over and over. But notice that there is no privacy loss due to address reuse, because the address in question does not "belong" to any specific individual. Furthermore, the transactions in question could already be linked by just watching the Hashrate Escrow for deposits ...this, in fact, is exactly what a sidechain must do in order to make main-to-side transfers. - - -==== M2 -- "ACK Sidechain Proposal" ==== - - 1-byte - OP_RETURN (0x6a) - 1-byte - Push the following 29 bytes (0x1D) - 4-byte - Commitment header (0x53616343) - 25-byte - Commitment hash: RIPMD-160 of Sha256 of a given M1 (above) - -==== New Block Validation Rules ==== - -1. An entry will be removed from D1, unless that block contains an M2 supporting it (this will increment field #2), or the entry has accumulated 4032 M2s. Therefore, each entry needs to have 4032 *consecutive* M2s supporting it, else it will be removed from D1 and must start over. This requires all miners to agree to "soft fork" the sidechain into existence. This makes it easier to curate the list of active sidechains, and prevents destructive interference (see above) among contradictory sidechains. -2. Once the entry has 4032 M2s, then a miner must make a 0 btc payment to the Critical Address, thus activating the chain. This payment becomes the first "critical (TxID, index) pair" (or "CTIP"). -3. It is possible to "overwrite" a D1 slot -- this destroys the sidechain that is there, and replaces it with a new one. This is defined as requiring 6 months (26298 blocks) of M2s, instead of 4 weeks (4032). This possibility does not change the security assumptions, because we already assume that users have access to "magically true" bandwidth at a rate of 1 bit per ACK-cycle. (This is why the voting cycles should be large, 1 month Waiting, 2+ months Voting). - - - -=== Adding Withdrawal-Attempts and Tracking Their Success (D2, M3, M4) === - -==== D2 -- "Withdrawal_DB" ==== - -The table below enumerates the database fields, their size (in bytes), type and purpose. - - -{| class="wikitable" -! Field No. -! Label -! Bytes -! Type -! Description / Purpose -|- -| 1 -| Escrow Number -| 1 -| uInt -| Links the withdrawal-request to a specific escrow. -|- -| 2 -| WT^ -| 32 -| hex -| This is a "blinded transaction id" (ie, the double-Sha256 of a txn that has had two fields zeroed out, see M6) of a withdrawal-attempt. -|- -| 3 -| ACKs* -| 2 -| uInt -| The current total number of "votes", this starts at 0 and remains there throughout the waiting period. -|- -| 4 -| Age* -| 3 -| uInt -| Total duration of time, in blocks, that this WT^ has been inside of D2. -|- -| 5 -| Waiting Period* -| 2 -| uInt -| Total duration of time, in blocks, that this entry must sit idle, before it can begin to accumulate ACKs/NACKs. Pulled from D1's field #6. -|- -| 6 -| Max Age* -| 3 -| uInt -| Determined by summing (D1's field #6) and (D1's field #7). -|- -| 7 -| Threshold* -| 2 -| uInt -| Total ACKs needed, this is pulled from D1's field #9. -|- -| 8 -| Approved* -| 1 -| boolean -| True while ACKs > Threshold, False otherwise. -|} - -\* Denotes a "convenience field" (see above). - -Withdrawal_DB requires 46 bytes [1+32+2+3+2+3+2+1] per entry. Of these, 13 bytes ([2+3+2+3+2+1], all fields except #1 and #2) can be generated locally, leaving 33 critical bytes [1+32]. - -==== New Block Validation Rules for D2 ==== - -# In each block, a hash commitment to D2 must always exist (even if D2 is blank). -# D2 must always be sorted first by field #1 (Escrow Number) and second by field #4 (Age). This imposes a unique sort. -# From one block to the next, every entry's "Age" field must increase by exactly 1. -# From one block to the next, entries are only removed from D2 (in the very next block) if: -## "Age" = "MaxAge". -## If the block contains a txn who's blinded txID matches WT^. {{ This might be unnecessary, and a lot of work. }} -# In addition, there are special rules for the allowed values in the "ACKs" field (field #3). See M4 below. - -==== M3 -- "Propose Withdrawal" ==== - - 1-byte - OP_RETURN (0x6a) - 1-byte - Push the following 37 bytes (0x25) - 4-byte - Commitment header (0xD45AA943) - 33-byte - the critical bytes mentioned above (fields #1 and #2, to populate a new D2 entry) - - -==== New Block Validation Rules for M3 ==== - -# If the network detects a properly-formatted M3, it must add an entry to D2 in the very next block. The starting values of fields #3 and #4 are zero, and #5 is pulled over by extracting the relevant value from D1. -# Each block can only contain one M3 per sidechain. - - -==== M4 -- "ACK Withdrawal" ==== - -==== Very Little Info, Probably Calculable in Advance ==== - -M4 is exceptional (in comparison to the other M's) in a few ways. First, its content is not stored anywhere, only the *hash* of its *effect* is stored (in a leaf of a merkle tree who's root is inserted into a mainchain coinbase). M4 alters the contents of D2 -- the *contents* of D2 are consensus critical, but M4 (the process by which nodes reach a new valid D2) can be anything. - -In fact, M4 can also be *nothing*. In other words, it may be optional. This is precisely because, from one block to the next, we have constrained D2 such that it is only allowed to change in a few ways. Therefore, the exhaustive set of "candidate D2s" can be precomputed by full nodes in advance. - -==== A Recent Change: Two Withdrawals at Once ==== - -The following sections assume a maximum of one sucessful withdrawal per sidechain at a time. In other words, as WT^s are proposed, only one can make progress toward the finish line. As a result, a given side-to-main transfer will always take between 3 and 6 months. If there were more simulataneous withdrawals, the worst-case transfer duration would improve. - - - -The worst-case withdrawal time obeys f(n)=3+(3/n) months, where n is the number of simultaneous withdrawals. - -N=2 is the most desirable choice for several reasons. First, it delievers the greatest marginal benefit (of 1.5 months). Later choices only deliver 0.5 and 0.25 marginal months. - -Second, n=2 can be implemented in a clever way: by allowing a withdrawal to freely advance, if and only if has an ACK-score of 6575 or greater, and if it also has the largest ACK score. In other words, the withdrawal that is furthest along can advance (or retreat) for free, if it has already made it at least halfway to the finish line. With this change, our new M4, is either an "abstain" for the sidechain (in which case nothing happens to any ACK scores), or else it will be in one of two cases: old_M4 + "the largest advances", or new_M4 + "the largest retreats". As a result the number of M4 possibilities (of which the next section is concerned) only increases by a factor of two (instead of exponentially). - -It is possible to troll this rule, by getting two (or even three) withdrawals to have 6575+ ACK scores, and then getting them to *tie* for first place. So, if there are any ties, the ability to "bonus move" is disabled until all ties are broken. - -==== How Hard is it to Guess M4? ==== - -If there are n Escrows and m Withdrawals-per-escrow1, then there are (m+2)^n total candidates for the next D2. This is because, [per block per escrow], one of three things can happen: (1) one of the m withdrawal-candidates can be "ACK"ed (or "upvoted" or "promoted"), which automatically downvotes the others; or (2) all withdrawal-candidates can be downvoted, or finally (3) the miners can abstain from voting on the escrow's withdrawals altogether, leaving the tallies the same. - -First, for nodes which validate all sidechains (assuming these escrows are sidechains), this simplifies to 2^n -- these nodes only have to choose between the single honest choice (on one hand) or an abstention (on the other). Second, even for nodes that don't validate any sidechains, the number of candidates might be reduced from m^n to 3^n, by making a simplifying assumption: whichever withdrawal was most recently added/upvoted, is likely to be the one which is upvoted next. - -Of course, that is still O(k^n) for n sidechains, which isn't great2. If the "D2 update" cannot be guessed, it must be transmitted in some way. - -==== Giving Up and Getting M4 the Old Fashioned Way ==== - -Two examples for transmitting it are below: - -"Short Form" (Assumes there are no more than 254 active withdrawal-attempts per account) - - 4-byte - Message identifier (0x????????) - 1-byte - Version of this message - N-byte - N is the total number of active accounts ("sidechains"), each byte specifies the position of the single WT that was "upvoted". A value of 0 indicates "downvote everything", a value of 255 indicates abstention. - -"Long Form" (Makes no assumptions about anything) - - 4-byte - Message identifier (0x????????) - 1-byte - Version of this message - 1-byte - Length (in bytes) of this message; total number of withdrawal attempts; y = ceiling( sum_i(m_i +2)/8 ). Nodes should already know what length to expect, because they know the sequence of M3s and therefore the vector of WT^s. - Y-byte - stream of bits (not bytes), with a 1 indicating the position of the chosen action [downvote all, abstain, upvote1, upvote2, ...] - - -If the message is very very large, then nodes may not want to broadcast it. This opens up an "exhaustion attack"2, in which many miners create bad WT^s, vote on these randomly, and then refuse to broadcast their votes. Fortunately, even for a worst-case scenario of 200 sidechains and 1,000 withdrawal-attempts per sidechain, honest nodes can communicate a long form M4 with each other by using just 25,056 bytes per block [4+1+1+(200\*(1000+1+1)/8)]. - -Today's pre-drivechain miners can already carry out a similar attack, by creating and including txns and then not broadcasting that part of the block to anyone. This is often characterized as a [https://petertodd.org/2016/block-publication-incentives-for-miners "block publication incentive"], because in that case the prospect of exhaustively computing all possible transactions (to uncover the missing ones) is completely out of the question. - -However, message M4 is different from a withheld-txn, because M4 operates outside of the block's mandated information-processing limits (ie, outside the infamous 1 MB nonwitness blocksize limit). So we should examine the conditions under which M4 grows and shrinks, to ensure that we are not smuggling in a tremendous burden on full nodes. - -Under adversarial conditions, to lengthen a long-form M4 by one bit per block, for C blocks, the attacker must pay 312 bits (39 bytes) one time (to embed a new M3 message). The value C is the length of the sidechain's voting period, which varies but which I expect to be approximately 8,064 (and which could theoretically be as high as 65,536). Thus the attacker can burden nodes disproportionately, if (s)he wishes. - -Fortunately, the attack in question has no motivation (as far as I can tell). If the miner's goal is to trick rivals into mining on top of invalid blocks, he can already do this much more effectively with the unpublished-txn method (above). If instead he is just trying to harass nodes, then nodes may freely "downgrade" to earlier versions of the protocol, and simply ignore all drivechain-related messages. It seems that the attack could best be used in order to: make a large D2, make D2 confusing, sneak in votes for evil WT^ lurking in D2. Thus, the attack disables the transparency of the drivechain system, to some extent. The cost of the attack is forgone transaction fees, due to block space wasted on useless M3s. - -In practice, n is already capped, and miners may impose [on each other] a "soft cap" on m for their mutual protection. Thus, n and m might never get above 10 and 30, respectfully. In this case, the [Short Form, this time] M4 can never require more than 15 bytes per block, no matter what the attacker tries. - -In practice, m should always be 1 or 2, else something fishy is going on; and m can only inch up by 1 unit per block. So the system as a whole is still quite transparent, in that users are warned appropriately and well in advance. Attackers must invest upfront and they face an uphill climb, in order to eventually make things more expensive for a few others; defenders can wait-and-see if the attack looks like it will ever amount to anything before lifting a finger. - - -===== New Block Validation Rules (for D2 and, by implication, M4) ===== - -From one block to the next, D2 can only be edited in a few strict ways: - -* Entries can only be added/removed from D2 if they meet the criteria above (in M3, and implicitly M1 and M2). -* The ACK-counter of any individual entry can only change by (-1,0,+1) relative to its previous entry. -* Within a sidechain group, upvoting one withdrawal (ACK=ACK+1) requires you to downvote all other withdrawals in that group. However, the minimum ACK value is zero (and, therefore, downvotes cannot reduce it below zero). - -===== Footnotes for M4 ===== - -1 This represents the worst-case scenario is one where all the Withdrawals are spread evenly over each Sidechain. Under normal operations, there is no reason to expect the all sidechains will have the same number of withdrawals at any given time. In fact, under normal operations, the very *concept* of counting the withdrawals-per-sidechain should be a purposeless one, because there should only be *one* withdrawal at a time. Nonetheless we consider the worst case scenario here. - -2 Guessing becomes more computationally intensive in a highly adversarial situation where the "limited range" is intentionally expanded. In such a scenario, [a] there are many sidechains, and [b] miners voluntarily sacrifice their scarce block-space by creating a high number of (mutually-exclusive, and hence ultimately invalid) withdrawal attempts and putting these into coinbase transactions; and then agree to all [c] vote on these randomly (guaranteeing that all withdrawals fail, including any true withdrawals) and [d] successfully withhold their random voting strategies from nodes (even including spy-miner-nodes). Under this bizarre scenario, nodes may require computing resources which increase near-exponentially with the number of withdrawals, and it may take a long time for an ignorant node to exhaustively work out the underlying state of Withdrawal_DB. In this case, nodes may decide to temporarily stop validating such transactions (as if they had not yet upgraded to support this soft fork). - - - -=== Depositing and Withdrawing (M5, M6) === - - -Both M5 and M6 are regular Bitcoin txns. They are identified by meeting an important criteria: they select a one of the Critical TxID-index Pairs (a "CTIP") as one of their inputs. Deposits ("M5") are distinguished from withdrawals ("M6") by simply checking to see if money is "going in", or "out". In other words, we compare the BTC value of the original CTIP to that of new CTIP. If original <= new it is a deposit, if original > new then it is a withdrawal. - -The code that identifies sidechain withdrawal / deposit txns (by calculating how much value is being put into or taken out of a sidechain) can be seen here: https://github.com/drivechain-project/bitcoin/blob/mainchainBMM/src/validation.cpp#L351-L386 - -Such txns are forced (by consensus) to obey two additional criteria: - -# They must contain an output paying "to" the Critical Address [probably in TxOut0]. -# They must be accompanied by an update to this sidechain's Critical TxID-index Pair (CTIP). The new CTIP must be "this" txn itself. - -These criteria are enforced [https://github.com/drivechain-project/bitcoin/blob/mainchainBMM/src/validation.cpp#L440-L473 here] by checking that a deposit is paying back to the sidechain more than it is taking out, and completely rejecting any withdrawal from the mempool. And [https://github.com/drivechain-project/bitcoin/blob/mainchainBMM/src/validation.cpp#L1747-L1757 here] we allow for a withdrawal only once it has attained sufficient work score (ACKs). - -The purpose of this is to have all of the escrow's money (ie all of the sidechain's money) in one TxID, so that depositors immediately undo any UTXO bloat they may cause. This simplifies the withdrawal process, as there is no need to worry about cleaning up "dust deposits" (...and such cleaning can often result in headaches, for example where a withdrawal-txn is larger than 1MB in size, or else may only withdraw an arbitrarily limited amount of BTC). Notice that, unless we assume that an account will last forever, all utxos which are deposited must eventually be withdrawn by someone. Therefore, the relevant design criterion is not "efficiency" (total network cost) but rather "who should pay" (allocation of costs). - -==== M5. "Make a Deposit" -- a transfer of BTC from-main-to-side ==== - -As far as mainchain consensus is concerned, there are no additional requirements. - -However, in practice there *are* additional mainchain requirements...specified by the escrow account, (ie specified by the "sidechain" or "virtual chain"). These requirements are not part of mainchain consensus and are allowed to be anything. In other words, the sidechain is free to invent any way to credit depositor's money -- M5 is fully customizable. - -One method, is for mainchain depositors to append a zero-value OP Return to a Deposit txn, so that the sidechain knows how to credit funds. Mainchain users must upgrade their wallet software, of course, (on an individual basis) in order to become aware of and take advantage of new deposit-methods. - -===== Inconvenient Race Condition ===== - -The requirement that each hashrate escrow be linked to a single TxID does create an interesting inconvenience for depositors. If a user is slow to sign a txn after constructing it (perhaps because the user employs an air-gapped computer, etc), then the signed txn may no longer be valid. This is because the input it selects, may no longer be the Critical TxID (as "the" Critical TxID changes with each deposit). **Only one user can deposit at a time** (although many can deposit per block). As a result, the transaction must fail, and the user would need to be prompted to remake and resign the txn. If this is problem is too frustrating, users can always make main-to-side transfers using atomic cross chain swaps (or, the LN, if they already have a channel open on both chains). - -Fortunately, it is already a part of mainchain consensus that no two txns can spend the same TxID. The only new issue here is the confusion it might create for the user (hence the need for error messages and alternative deposit-methods). - - -==== M6. "Execute Withdrawal" -- a transfer of BTC from-side-to-main ==== - -We come, finally, to the critical matter: where users can take their money *out* of the escrow account, and return it to the "regular" UTXO set. As previously mentioned, this txn is one which (a) spends from a CTIP and (b) reduces the quantity of BTC in an account's CTIP. Most of the work has already been done by D1, M3, M4, and D2. Furthermore, existing Bitcoin tx-rules prevent the sidechain from ever withdrawing more money than has been placed into it. - -From there, we merely introduce two final concepts: - -# In each block, an entry in D2 is considered an "approved candidate" if the "ACKs" value is above 13140. -# A "blinded TxID" is way of hashing the txn, in which we first overwrite some parts of the txn with zeros. Specifically, the first 36 bytes of "TxIn0" (the first input, including TxOutHash and TxOutIndex), as well as the first 8 bytes of "TxOut0" (the first output). - -Blinding is necessary because we allow each sidechain only one UTXO at a time. - -of our restriction of the account to a single UTXO-member. Because of this, during the ACKing process the withdrawal-txn (which is currently being ACKed) may change in two ways: the CTIP (which changes with each deposit), and the total quantity of BTC stored in the account (which arbitrarily increases with each new deposit). In other words, a withdrawal-attempt is created via M3, but this takes place many blocks before the withdrawal is actually included via M6. During this time, a single new deposit to the account would change its CTIP and its value. So, what do we ACK? Well, we ACK a "blinded" version of the withdrawal. This blinded version is stable because the dynamic parts are always overwritten with zeros. - -While we ACK a blinded WT^, what is actually included in the blockchain ("M6") is an unblinded WT^. Since each blinded WT^ could correspond to many different unblinded WT^s, we need to impose further restrictions on those unblinded WT^s that are finally included. First, we will force the final unblinded WT^ to spend the entire sidechain balance (by forcing sum(input_values) to equal sum(output_values)). To avoid withdrawing the entire sidechain balance with every withdrawal, we will, secondly, force the unblinded WT^ to create a new output which is itself a deposit to the sidechain it withdrew from (which nodes can check using D1's CTIP field). Unfortunately, these requirements eliminate the possibility of including a transaction fee, as traditionally calculated. So, finally, to compensate for *that*, txn fees are encoded explicitly as a withdrawal to OP_TRUE (which the main:block's miner can immediately claim). - -With all of this in place, the only requirements for inclusion in a block are these: - -# "Be ACKed" -- The "blinded TxID" of this txn must be member of the "approved candidate" set in the D2 of this block. -# "Return Change to Account" -- TxOut0 must pay to the "critical account" (see D1) that corresponds to the CTIP that was selected as a TxIn. -# "Return *all* Change to Account" -- Sum of inputs must equal the sum of outputs. No traditional tx fee is possible. - -Finally, don't forget that M6 inherits the requirement (common to both M5 and M6) that the CTIP be selected as an input, and that the CTIP then be updated. In this case, we know that the critical index will be zero, so the new CTIP will be ("this TxID" (NOT blinded), 0). The TxID is NOT blinded because blinding is only for accumulating ACKs. - -As a result of these requirements, every single withdrawal-attempt will fail, unless an entry has been added to D2 and "ACKed" a sufficient number of times. - - - -==Backward compatibility== - - -As a soft fork, older software will continue to operate without modification. Non-upgraded nodes will see a number of phenomena that they don't understand -- coinbase txns with non-txn data, value accumulating in anyone-can-spend UTXOs for months at a time, and then random amounts leaving the UTXO in single, infrequent bursts. However, this phenomena doesn't affect them or the validity of the money that they receive. - -( As a nice bonus, note that the sidechains themselves inherit a resistance to hard forks. The only way to guarantee that the WT^s reported by different clients will continue to match identically, is to upgrade sidechains via soft forks of themselves. ) - - -==Deployment== - - -This BIP will be deployed by "version bits" BIP9 with the name "hrescrow" and using bit 4. - -
-// Deployment of Drivechains (BIPX, BIPY)
-consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].bit = 4;
-consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].nStartTime = 1515974401; // January 15th, 2018.
-consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].nTimeout = 1547510401; // January 15th, 2019.
-
- -==Reference Implementation== - - -See: https://github.com/drivechain-project/bitcoin/tree/mainchainBMM - -Also, for interest, see an example sidechain here: https://github.com/drivechain-project/bitcoin/tree/sidechainBMM - - -==References== - -See http://www.drivechain.info/literature/index.html - - -==Credits== - -Thanks to everyone who contributed to the discussion, especially: ZmnSCPxj, Adam Back, Peter Todd, Dan Anderson, Sergio Demian Lerner, Chris Stewart, Matt Corallo, Sjors Provoost, Tier Nolan, Erik Aronesty, Jason Dreyzehner, Joe Miyamoto, Ben Goldhaber. - - -==Copyright== - -This BIP is licensed under the BSD 2-clause license. diff --git a/bip-hashrate-escrows/two-groups.png b/bip-hashrate-escrows/two-groups.png deleted file mode 100644 index c8a3ffabbdf2df803fcc7acbb0b99c04ca48433f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39695 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 QPcdAORX&#?efie^0Q!s$S^xk5 From 70f0ed6c39bec8d50ae29a2b2b562b44d84df5b7 Mon Sep 17 00:00:00 2001 From: Paul Sztorc Date: Sat, 10 Feb 2018 17:23:31 -0500 Subject: [PATCH 033/133] switch to mediawiki format --- ...ng.md => bip-blind-merged-mining.mediawiki | 113 +++++++++--------- 1 file changed, 57 insertions(+), 56 deletions(-) rename bip-blind-merged-mining.md => bip-blind-merged-mining.mediawiki (87%) diff --git a/bip-blind-merged-mining.md b/bip-blind-merged-mining.mediawiki similarity index 87% rename from bip-blind-merged-mining.md rename to bip-blind-merged-mining.mediawiki index f203e40f..3aaf81b1 100644 --- a/bip-blind-merged-mining.md +++ b/bip-blind-merged-mining.mediawiki @@ -1,12 +1,5 @@ - Drivechain Documentation -- Blind Merged Mining BIP - Paul Sztorc - November 17, 2017 - Document 3 of 3 - v4.1 - -Header -======= +

 
     BIP: ????
     Layer: Consensus (soft fork)
@@ -21,40 +14,43 @@ Header
     Created: 2017-10-24
     License: BSD-2-Clause
 
+
+ + +==Abstract== -Abstract -========== Blind Merged Mining (BMM) is a way of mining special extension blocks, ie "sidechains". It produces strong guarantees that the block is valid, for *any* arbitrary set of rules; and yet it does so without requiring miners to actually do any validation on the block whatsoever. BMM actually is a process that spans two or more chains. For an explanation of the "whole picture", please see [this post](http://www.truthcoin.info/blog/blind-merged-mining/). Here we focus on the modifications to mainchain Bitcoin. To support BMM, the mainchain is asked to accomplish two goals: -1. Track a set of ordered hashes (the merged-mining). -2. Allow miners to "sell" the act of finding a sidechain block (through the use of a new extended serialization transaction type). + +# Track a set of ordered hashes (the merged-mining). +# Allow miners to "sell" the act of finding a sidechain block (through the use of a new extended serialization transaction type). These goals are accomplished by forcing nodes to validate two new messages (M7, M8), and track data in one new database (D3). -Motivation -============ +==Motivation== + Regular "Merged-Mining" (MM) allows miners to reuse their hashing work to secure other chains (for example, as in Namecoin). However, traditional MM has two drawbacks: -1. Miners must run a full node of the other chain. (This is because [while miners can effortlessly create the block] miners will not create a valid payment to themselves, unless the block that they MM is a valid one. Therefore, miners must assemble a *valid* block first, then MM it.) -2. Miners are paid on the other chain, not on the regular BTC mainchain. For example, miners who MM Namecoin will earn NMC (and they will need to sell the NMC for BTC, before selling the BTC in order to pay for electricity). +# Miners must run a full node of the other chain. (This is because [while miners can effortlessly create the block] miners will not create a valid payment to themselves, unless the block that they MM is a valid one. Therefore, miners must assemble a *valid* block first, then MM it.) +# Miners are paid on the other chain, not on the regular BTC mainchain. For example, miners who MM Namecoin will earn NMC (and they will need to sell the NMC for BTC, before selling the BTC in order to pay for electricity). Blind Merged-Mining (BMM) attempts to address those shortcomings. -Specification -============ +==Specification== + Note: This document uses the notation side:\* and main:\* in front of otherwise-ambiguous words (such as "block", "node", or "chain"), to distinguish the mainchain version from its sidechain counterpart. As stated above, we have two goals: [1] create and monitor an alt-chain (defined only by a deterministic list of hashes), and [2] allow miners to "sell" the act of finding a sidechain block (through the use of a new extended serialization transaction type). -### Sidechain Critical Data ("Sidechain Mini-Header") +=== Sidechain Critical Data ("Sidechain Mini-Header") === Specifically, per side:block per side:chain, we track the following 35 bytes of information: @@ -66,9 +62,9 @@ The **ChainIndex** indicates which sidechain this critical data is relevant to. Where does this data come from, and how does it get around? -#### Creating / Broadcasting This Data +==== Creating / Broadcasting This Data ==== -##### Creation +===== Creation ===== By the time Blind Merged Mining can take place, the ChainIndex is globally known (it is the "Account Number" in D1 [see previous BIP], and "nSidechain" in the code). Each sidechain, when activated by soft fork, will take one of the 0-255 available indexes. @@ -76,17 +72,17 @@ The other two items, sideHeaderHash and prevBlockRef, are created by sidechain n The final item, prevBlockRef, is a little more complicated. It is an integer that counts the number of "skips" one must take in the side:chain in order to find the current side:block's parent block. In practice, this value will usually be zero. It will only be a value other than zero, in cases where invalid sidechain blocks have been mined, or when a side:node intentionally wants to orphan some side:blocks (if a side:node wants to orphan the most-recent N blocks, the value of the current block will be equal to N ; in the block after that it will be back to zero). -![dots-image](/bip-blind-merged-mining/bmm-dots-examples.png?raw=true) + Since the hashes themselves are already ordered by the mainchain, tracing the blockchain's path by index (prevBlockRef) will be the same as tracing it by identifying a list of hashes. In other words, the ordering given via each side:block's "prevBlockRef" will be isomorphic to an ordering given by each side:block's "prevSideHeaderHash" ... if "prevSideHeaderHash is defined to be the sidechain's equivalent of the mainchain's "prevBlockHash". It will be possible to freely convert from one to the other. See M8 to learn more about how these hashes are requested by sidechain block creators to be included in the mainchain. Now that we know what our critical data is, and how it is made, how is this data broadcast and stored? -##### Broadcast +===== Broadcast ===== Mainchain nodes are going to need this data later, so it must be easy to find. We will put it into the coinbase via OP RETURN. -#### M7 -- "Blind-Mine the Sidechain(s)" +==== M7 -- "Blind-Mine the Sidechain(s)" ==== Thus, (for n sidechains) we have a coinbase output with: @@ -103,7 +99,7 @@ Each 37-byte chunk is then parsed to obtain the data outlined above (in "Descrip We are left with, at most, one (h*, prevBlockRef) pair per sidechain per block. This data is added directly to D3, a new database. -#### D3 -- "RecentSidechains_DB" +==== D3 -- "RecentSidechains_DB" ==== To suit our purposes, the mainchain full nodes will need to keep track of the most recent 8000 (h\*, prevBlockRef) pairs. @@ -112,6 +108,7 @@ To suit our purposes, the mainchain full nodes will need to keep track of the mo Therefore, D3 would look something like this: +
            BlockHeight  CB_Index    SC_1   Blks_Atop_1   SC 2   Blks_Atop_2   SC 3   Blks_Atop_3
             ---------    ------    ------   ---------   ------   ---------   ------   ---------
        1.    401,005        2      (h*, 0)     7985     (h*, 0)        1     (h*, 0)        0
@@ -121,6 +118,7 @@ Therefore, D3 would look something like this:
       ...     ...                                                                  )
     7999.    409,003        3      (h*, 0)        1     (h*, 0)        0     (h*, 0)        1
     8000.    409,004        2      (h*, 0)        0     (h*, 1)        0     (h*, 0)        0
+
When new sidechains (or "hashrate escrows") are soft-forked into existence, a new column is added to D3 (to contain any BMMing that might be done on it). @@ -130,38 +128,38 @@ For each sidechain we also track the field "Blocks Atop". This is the number of D3 also contains a column (not shown) for each sidechain containing "prevSideBlockHash". This value is is either derived from prevBlockRef; or else it is given explicitly (in which case it is the converse: prevBlockRef is derived from prevSideBlockHash). -#### Coinbase Cache +==== Coinbase Cache ==== As mentioned above, M7s cause data to be added to D3. Recent D3 data is tracked by all mainchain nodes for a period of time. To efficiently keep track of the above data, without having to constantly load and process entire blocks from disk, we temporarily cache enough coinbases in the chain index to maintain D3. -### M8 -- Paying miners to include BMM data in their coinbase outputs +=== M8 -- Paying miners to include BMM data in their coinbase outputs === This section introduces a new type of transaction, which allows sidechain block creators to request, and pay for, a critical hash to be included in a specific block by mainchain miners. See [the Blind Merged Mining spec](http://www.truthcoin.info/blog/blind-merged-mining/). This txn allows miners to "sell" the act of mining a sidechain block. By taking advantage of this option, miners earn tx fees for mining sidechains...truly "for free". They do not even need to run sidechain nodes, and the tx-fees they earn are in mainchain BTC. As a result, sidechains affect all miners equally and do not affect the mining ecosystem. M8 will ultimately come in two versions. The second version will be specialized for use in the Lightning Network and must use the full 32-byte prevBlockHash (ironically, this larger transaction is cheaper for the Bitcoin network to process, as it is completely off-chain). The first version of M8, in contrast, cannot be used inside the Lightning Network, but is slightly more space-efficient (using the 2 prevBlockRef bytes to maintain chain order). It is important to make both options available to the user, because some side:nodes may be unwilling or unable to open a payment channels with each main:miner. However, in the long run we expect the lightning version to be preferred. -#### Setup +==== Setup ==== We define **"Mary"** as a mainchain miner, and **"Simon"** as a sidechain node. The goal is to construct a payment from Simon to Mary, such that: -1. If the critical data conditions are met, **Mary** can claim the outputs of the transaction with finality. -2. If the critical data conditions are not met, the outputs become immediately available again to **Simon**. +# If the critical data conditions are met, **Mary** can claim the outputs of the transaction with finality. +# If the critical data conditions are not met, the outputs become immediately available again to **Simon**. -#### Goals (this is rather philosophical, and skippable) +==== Goals (this is rather philosophical, and skippable) ==== -##### Immediate Expiration ("Fill-or-Kill") +===== Immediate Expiration ("Fill-or-Kill") ===== We would like to make special guarantees to the counterparties of this transaction. Specifically, instead of Simon making a "payment" to Mary, we prefer that Simon give Mary an "offer" (which she can either accept or decline). Crucially, we want Simon to safely make many offers to several different Mary's, in realtime (ie, quickly and off-chain). However, we ultimately want only one offer to be accepted, at most. In other words, we want Simon's offers to *immediately expire*. If only one offer can become a bona fide transaction, then Simon will feel comfortable making offers all day long. Because all of the Simons are making many offers, the Marys collectively gain access to a large set of offers to choose from. -##### Forward Progress (The Need for a "Ratchet") +===== Forward Progress (The Need for a "Ratchet") ===== The "ratchet" concept is an attempt to harmonize incentives among the main and side chain(s). We need to ensure that a sidechain is making "forward progress", without tracking too much about the sidechain such that we burden Bitcoin (see [1] and [2]) all while still allowing the sidechain to reorganize [3]. @@ -174,8 +172,8 @@ The ratchet system must keep track of sidechain "mini-headers" (see Sidechain Cr Simon's offer to Mary to include a critical hash in exchange for payment must be *atomic*. The "ratchet" concept helps to construct a very tight connection between two things: -1. The sidechain-block-generator "Simon" paying himself the side:block's side:tx-fees (which he receives in 100 sidechain blocks (blocks atop) hence). -2. "Simon" making a mainchain main:btc payment to a mainchain miner "Mary". +# The sidechain-block-generator "Simon" paying himself the side:block's side:tx-fees (which he receives in 100 sidechain blocks (blocks atop) hence). +# "Simon" making a mainchain main:btc payment to a mainchain miner "Mary". Either both of the two should succeed, or else both should jointly fail. @@ -184,13 +182,13 @@ However, absent our intervention, there are cases in which [2, the payment to Ma To address these potential issues, we utilize the concept of "Blocks_Atop" (the "side:confirmations") that we mentioned earlier. As previously mentioned, Mary will not be able to spend Simon's M8 payment until satisfying the critical data requirements as well as the blocks atop (side:confirmations) requirement. -#### M8 -- The two forms of M8 transactions +==== M8 -- The two forms of M8 transactions ==== As previously mentioned, M8 can take two forms. The first does not require the Lightning Network, but it does have new requirements for Immediate Expiration (see above). The second inherits Immediate Expiration from the Lightning Network itself, but requires extra preparation and a different/larger message. Both forms require that certain Critical Data will be committed to within the coinbase of the block that the transaction is included in. For the non Lightning version, we have created a new extended serialization transaction type (very similar to how segwit handles witness data (the witness stack)). -##### M8_V1 - No Lightning Network +===== M8_V1 - No Lightning Network ===== M8_V1 does not require the Lightning network but does have new requirements for validation. @@ -207,26 +205,25 @@ In the first version of M8, we need to introduce the concept of Immediate Expira We do this by imposing validity-rules on the txn itself: -1. The txn's content, when examined, must match part of the main:block's content. Specifically, the (ChainIndex, h\*) pair of the txn, must match one of the (ChainIndex, h\*) pairs in the M7 of this main:block. -2. Only one payment per sidechain per main:block is valid. In other words, if 400 people all try to bm-mine the sidechain with ChainIndex==4, then not only is it the case that only one side_4:block can be found, but it is also the case that only the corresponding M8 txn can be included (out of all of the 400 M8s which are for ChainIndex==4). -3. Simon's txns must only be valid for the current block; afterward, they immediately expire. This is because Simon's intended prevBlockRef & side:block contents will most likely change from one main:block to the next. +# The txn's content, when examined, must match part of the main:block's content. Specifically, the (ChainIndex, h\*) pair of the txn, must match one of the (ChainIndex, h\*) pairs in the M7 of this main:block. +# Only one payment per sidechain per main:block is valid. In other words, if 400 people all try to bm-mine the sidechain with ChainIndex==4, then not only is it the case that only one side_4:block can be found, but it is also the case that only the corresponding M8 txn can be included (out of all of the 400 M8s which are for ChainIndex==4). +# Simon's txns must only be valid for the current block; afterward, they immediately expire. This is because Simon's intended prevBlockRef & side:block contents will most likely change from one main:block to the next. To impose new requirements on the transaction level (not the block level nor the TxOutput level), we borrow the "flag" trick from SegWit style transactions. If the flag is present, the transaction is examined for extra data, and if this data does not pass certain requirements, the transaction is invalid. With SegWit, this extra data is the signatures, and the extra requirements are the signatures' locations and validity. In the BMM-transactions, the extra data is the (ChainIndex, h\*) pair, which must meet the first two requirements (above) as well as the main:blocknumber, which must meet the third requirement (above). To impose new requirements at the transaction level, we borrow the dummy vin & "flag" trick from SegWit style transactions. If the flag is set to 2 (0010), the transaction contains Critical Data and requires that our new validation rules be met in order for the txn to be valid in a block. Unless all of the requirements for sidechain critical data transactions are met by the block it is included in, the transaction is invalid. With SegWit, this extra data is the segwit signature stack, and the extra requirements are the signatures' locations and validity. In the sidechain BMM critical data transactions, the extra data is the (ChainIndex, h\*) pair, which must meet the first two requirements (above) as well as the main:blocknumber, which must meet the third requirement (above). Note The main:blocknumber does not take up any additional space compared to a normal txn, as we reuse the locktime field for our purposes. + -![extra-data-image](/bip-blind-merged-mining/witness-vs-critical.png?raw=true) - This txn structure conserves main:blockspace, because it is the easiest way to refer to a previous sidechain block in 4 bytes, (prevBlockRef + FoK_nLockTime). Instead, we would need to use at least 32 bytes (prevSideBlockHash). These types of transactions have slightly different mempool behavior, and should probably be kept in a second mempool. These txns are received, checked immediately, and if valid they are evaluated for inclusion in a block. If they are not able to be included in the specific requested block (if the block height requested has been surpassed by the chain tip), they are discarded. In fact, after any main:block is found, everything in this "second mempool" can be discarded as new payments will be created immediately for the next block height. (This includes cases where the blockchain reorganizes.) There is no re-evaluation of the txns in this mempool ever -- they are evaluated once and then either included or discarded. To be clear, when the transaction is received we are able to evaluate its validity, and do not need to rescan these transactions again. Interestingly, these payments (M8) will *always* be directed to miners from non-miners. Therefore, non-mining nodes do not need to keep them in any mempool at all. Non-miner nodes can just wait for a block to be found, and check the txn then. These transactions more resemble a stock market's pit trades (in contrast, regular Bitcoin txns remind me more of paper checks). -##### M8_V2 With Lightning +===== M8_V2 With Lightning ===== M8_V2 requires having a LN-channel open with a miner. This may not always be practical (or even possible), especially today. @@ -242,7 +239,7 @@ A M8_V1 TxOut is expected to contain: Notice that, in M8_V1, Simon could reuse the same h\* all he wanted, because only one M8_V1 could be included per main:block per sidechain. However, on the LN no such rule can be enforced, as the goal is to push everything off-chain and include *zero* M8s. So, we will never know what the M8s were or how many had an effect on anything. -Therefore, Simon will need to ensure that he **gives each Mary a different h\***. Simon can easily do this, as he controls the side:block's contents and can simply increment a nonce -- this changes the side:block, and changes its hash (ie, changes h\*). +Therefore, Simon will need to ensure that he '''gives each Mary a different h\*'''. Simon can easily do this, as he controls the side:block's contents and can simply increment a nonce -- this changes the side:block, and changes its hash (ie, changes h\*). With a unique h\* per Mary, and at most 1 h\* making it into a block (per sidechain), we can guarantee that only one of the M8_V2's critical data can be committed to in a single main:block. By giving each miner (who Simon has a payment channel open with) a different h*, Simon can figure out which miner followed through with the commit, and know that only one such commit went through. Furthermore, if this Simon's requested critical data is not found in a block, none of the M8_V2 payments will be spendable by the Mary(s), because none of the h\* in question have ever made it into D3 (which is always on-chain) and no blocks atop will be accumulated. @@ -250,6 +247,7 @@ That's probably confusing, so here is an example, in which: Simon starts with 13 We start with (I): +
     Simon 13 in, Mary 40 in ; 53 in total
         Simon's version [signed by Mary]
             13 ; to Simon if TimeLock=over; OR to Mary if SimonSig
@@ -257,10 +255,12 @@ We start with (I):
         Mary's version [signed by Simon]
             40 ; to me if TimeLock=over; OR to Simon if MarySig
             13 ; to Simon
+
And both parties move, from there to "M8_V2" (II): +
     Simon 13 in, Mary 40 in ; 53 in total
         Simon's version [signed by Mary]
             6 ; to Simon if TimeLock=over; OR to Mary if SimonSig
@@ -270,9 +270,12 @@ And both parties move, from there to "M8_V2" (II):
             40 ; to Mary if TimeLock=over; OR to Simon if MarySig
             6 ; to Simon
             7 ; to Mary if critical data requirements met; OR to Simon if LongTimeLock=over
+
+ From here, if the h\* side:block in question is BMMed, they can proceed to (III): +
     Simon 13 in, Mary 40 in ; 53 in total
         Simon's version [signed by Mary]
             6 ; to Simon if TimeLock=over; OR to Mary if SimonSig
@@ -280,6 +283,7 @@ From here, if the h\* side:block in question is BMMed, they can proceed to (III)
         Mary's version [signed by Simon]
             47 ; to me if TimeLock=over; OR to Simon if MarySig
             6 ; to Simon
+
Although, if Simon proceeds immediately, he removes the protection of the 'ratchet'. Ie, Simon removes Mary's incentive to care about blocks being built on this side:block. If Simon's side:block is orphaned, he loses his 7 BTC. Simon can either play it safe, and wait the full 100 side:blocks before moving on (ie, moving on to the third LN txn, above); or else Simon can take the risk if he feels comfortable with it. @@ -288,28 +292,27 @@ If the h\* side:block is not found, then (II) and (III) are basically equivalent -Deployment -=========== +==Deployment== This BIP will be deployed by "version bits" BIP9 with the name "blindmm" and using bit 4. -``` +
 // Deployment of Drivechains (BIPX, BIPY)
 consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].bit = 4;
 consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].nStartTime = 1515974401; // January 15th, 2018.
 consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].nTimeout = 1547510401; // January 15th, 2019.
-```
+
-Reference Implementation -========================== + +==Reference Implementation== See: https://github.com/drivechain-project/bitcoin/tree/mainchainBMM Also, for interest, see an example sidechain here: https://github.com/drivechain-project/bitcoin/tree/sidechainBMM -References -============ +==References== + * http://www.drivechain.info/literature/index.html * http://www.truthcoin.info/blog/blind-merged-mining/ @@ -317,13 +320,11 @@ References * http://www.truthcoin.info/images/bmm-outline.txt -Thanks -========= +==Thanks== Thanks to everyone who contributed to the discussion, especially: ZmnSCPxj, Adam Back, Peter Todd, Dan Anderson, Sergio Demian Lerner, Matt Corallo, Sjors Provoost, Tier Nolan, Erik Aronesty, Jason Dreyzehner, Joe Miyamoto, Ben Goldhaber. -Copyright -========== +==Copyright== This BIP is licensed under the BSD 2-clause license. From 5418516065646d35e81ee956a94244dbf81ab1c1 Mon Sep 17 00:00:00 2001 From: Paul Sztorc Date: Sat, 10 Feb 2018 17:31:01 -0500 Subject: [PATCH 034/133] typos --- bip-blind-merged-mining.mediawiki | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/bip-blind-merged-mining.mediawiki b/bip-blind-merged-mining.mediawiki index 3aaf81b1..9a919f8f 100644 --- a/bip-blind-merged-mining.mediawiki +++ b/bip-blind-merged-mining.mediawiki @@ -194,12 +194,13 @@ M8_V1 does not require the Lightning network but does have new requirements for A M8_V1 TxOut is expected to contain: +
     1-byte - OP_RETURN (0x6a)
     1-byte - Push the following 36 bytes (0x24)
     4-byte - Message header (0xD1617368)
     32-bytes  - h* side:block hash
     5~7-bytes - BMM request identifying bytes (0x00bf00) + prevBlockRef & ChainIndex (sidechain mini-header)
-    
+
In the first version of M8, we need to introduce the concept of Immediate Expiration (see above). In other words, we need a way for Simon to construct many payments to multiple Marys, such that only one of these is ever included; and only then if Simon's txn is expected to coincide with the finding of Simon's side:block. @@ -225,17 +226,19 @@ Interestingly, these payments (M8) will *always* be directed to miners from non- ===== M8_V2 With Lightning ===== -M8_V2 requires having a LN-channel open with a miner. This may not always be practical (or even possible), especially today. +M8_V2 requires having a LN-channel pathway open with a miner. This may not always be practical (or even possible), especially today. A M8_V1 TxOut is expected to contain: +
     1-byte - OP_RETURN (0x6a)
     1-byte - Push the following 68 bytes (0x44)
     4-byte - Message header (0xD0520C6E)
     32-bytes  - h* side:block hash
     32-bytes  - prevSideBlockHash
     5~7-bytes - BMM request identifying bytes (0x00bf00) + prevBlockRef & ChainIndex (sidechain mini-header)
-    
+
+ Notice that, in M8_V1, Simon could reuse the same h\* all he wanted, because only one M8_V1 could be included per main:block per sidechain. However, on the LN no such rule can be enforced, as the goal is to push everything off-chain and include *zero* M8s. So, we will never know what the M8s were or how many had an effect on anything. From 17db87224d5e58aa29741cc0077f82ff07ab3803 Mon Sep 17 00:00:00 2001 From: Paul Sztorc Date: Sat, 10 Feb 2018 17:31:54 -0500 Subject: [PATCH 035/133] move Chris CS indicated via tweet that he felt he did not contribute enough to be a co-author --- bip-blind-merged-mining.mediawiki | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/bip-blind-merged-mining.mediawiki b/bip-blind-merged-mining.mediawiki index 9a919f8f..32ffa124 100644 --- a/bip-blind-merged-mining.mediawiki +++ b/bip-blind-merged-mining.mediawiki @@ -6,7 +6,6 @@ Title: Blind Merged Mining (Consensus layer) Author: Paul Sztorc CryptAxe - Chris Stewart Comments-Summary: No comments yet. Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-??????? Status: Draft @@ -325,7 +324,7 @@ Also, for interest, see an example sidechain here: https://github.com/drivechain ==Thanks== -Thanks to everyone who contributed to the discussion, especially: ZmnSCPxj, Adam Back, Peter Todd, Dan Anderson, Sergio Demian Lerner, Matt Corallo, Sjors Provoost, Tier Nolan, Erik Aronesty, Jason Dreyzehner, Joe Miyamoto, Ben Goldhaber. +Thanks to everyone who contributed to the discussion, especially: ZmnSCPxj, Adam Back, Peter Todd, Dan Anderson, Sergio Demian Lerner, Matt Corallo, Sjors Provoost, Tier Nolan, Erik Aronesty, Jason Dreyzehner, Joe Miyamoto, Chris Stewart, Ben Goldhaber. ==Copyright== From 2a981366e7e81d6efb782ea675b7dbfa638cd24e Mon Sep 17 00:00:00 2001 From: Paul Sztorc Date: Sat, 10 Feb 2018 18:26:52 -0500 Subject: [PATCH 036/133] clarifications + backward compatibility --- bip-blind-merged-mining.mediawiki | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/bip-blind-merged-mining.mediawiki b/bip-blind-merged-mining.mediawiki index 32ffa124..29a735cf 100644 --- a/bip-blind-merged-mining.mediawiki +++ b/bip-blind-merged-mining.mediawiki @@ -19,7 +19,7 @@ ==Abstract== -Blind Merged Mining (BMM) is a way of mining special extension blocks, ie "sidechains". It produces strong guarantees that the block is valid, for *any* arbitrary set of rules; and yet it does so without requiring miners to actually do any validation on the block whatsoever. +Blind Merged Mining (BMM) is a way of mining optional extension blocks, ie "asymmetric sidechains". It produces strong guarantees that the block is valid, for *any* arbitrary set of rules; and yet it does so without requiring miners to actually do any validation on the block whatsoever. BMM actually is a process that spans two or more chains. For an explanation of the "whole picture", please see [this post](http://www.truthcoin.info/blog/blind-merged-mining/). Here we focus on the modifications to mainchain Bitcoin. @@ -54,10 +54,12 @@ As stated above, we have two goals: [1] create and monitor an alt-chain (defined Specifically, per side:block per side:chain, we track the following 35 bytes of information: 1-byte - ChainIndex (known as "Account Number" in hashrate-escrows.md , or as "Sidechain Number") - 32-bytes - sideHeaderHash (also known as "h*" / hashCritical, the hash of the sidechain block) - 2-bytes - prevBlockRef (an index which points to this side:block's parent side:block) + 32-bytes - sideHeaderHash (also known as "h*" / hashCritical, the hash of the blockheader of the sidechain in question) + 2-bytes - prevBlockRef (an index which points to this side:blockheader's parent side:blockheader) -The **ChainIndex** indicates which sidechain this critical data is relevant to. As we may eventually have more than one sidechain, this serves as an identifier similar to the Bitcoin network's magic bytes (0xF9BEB4D9). Drivechains however only need to use 1 byte for the identifier (there is a hard limit of 256 sidechains identified as 0-255). The **sideHeaderHash** is the hash of a side:block which will receive PoW via BMM. It serves a similar function to Bitcoin's "hashMerkleRoot", in that it contains the data for its blockchain. The **prevBlockRef** forms the set of headers into a blockchain structure by making each headers refer to one parent header. It is most similar to Bitcoin's hashPrevBlock. +The **ChainIndex** indicates which sidechain this critical data is relevant to. As we may eventually have more than one sidechain, this serves as an identifier similar to the Bitcoin network's magic bytes (0xF9BEB4D9). Drivechains however only need to use 1 byte for the identifier (there is a hard limit of 256 sidechains identified as 0-255). The **sideHeaderHash** is the hash of a side:blockheader which will receive PoW via BMM. It serves a similar function to Bitcoin's "hashMerkleRoot", in that it contains the data for its blockchain. The **prevBlockRef** forms the set of headers into a blockchain structure by making each headers refer to one parent header. It is most similar to Bitcoin's hashPrevBlock. + +This data is "critical" in the sense that it is the minimum amount of data required to define a sidechain. Where does this data come from, and how does it get around? @@ -138,7 +140,7 @@ To efficiently keep track of the above data, without having to constantly load a This section introduces a new type of transaction, which allows sidechain block creators to request, and pay for, a critical hash to be included in a specific block by mainchain miners. See [the Blind Merged Mining spec](http://www.truthcoin.info/blog/blind-merged-mining/). This txn allows miners to "sell" the act of mining a sidechain block. By taking advantage of this option, miners earn tx fees for mining sidechains...truly "for free". They do not even need to run sidechain nodes, and the tx-fees they earn are in mainchain BTC. As a result, sidechains affect all miners equally and do not affect the mining ecosystem. -M8 will ultimately come in two versions. The second version will be specialized for use in the Lightning Network and must use the full 32-byte prevBlockHash (ironically, this larger transaction is cheaper for the Bitcoin network to process, as it is completely off-chain). The first version of M8, in contrast, cannot be used inside the Lightning Network, but is slightly more space-efficient (using the 2 prevBlockRef bytes to maintain chain order). It is important to make both options available to the user, because some side:nodes may be unwilling or unable to open a payment channels with each main:miner. However, in the long run we expect the lightning version to be preferred. +M8 will ultimately come in two versions. The second version will be specialized for use in the Lightning Network and must use the full 32-byte prevBlockHash (ironically, this larger transaction is cheaper for the Bitcoin network to process, as it is completely off-chain). The first version of M8, in contrast, cannot be used inside the Lightning Network, but is slightly more space-efficient (using the 2 prevBlockRef bytes to maintain chain order). It is important to make both options available to the user, because some side:nodes may be unwilling or unable to open a LN connection with each main:miner. However, in the long run we expect the lightning version to be preferred. ==== Setup ==== @@ -292,6 +294,13 @@ Although, if Simon proceeds immediately, he removes the protection of the 'ratch If the h\* side:block is not found, then (II) and (III) are basically equivalent to each other. Simon and Mary could jointly reconstruct (I) and go back there, or they could proceed to a new version of II (with a different h\*, trying again with new side:block in the next main:block). +==Backward compatibility== + +As a soft fork, older software will continue to operate without modification. As stated above, BMM asks nodes to track a set of ordered hashes, and to allow miners to "sell" the act of finding a sidechain block. Non-upgraded nodes will notice that this activity (specifically: data in coinbases, and new txns that have OP Returns and interesting message headers) is now taking place, but they will not understand any of it. Much like P2SH or a new OP Code, these old users will not be directly affected by the fork, as they will have no expectations of receiving payments of this kind. + +(As a matter of fact, the only people receiving money here all happen to be miners. So there is less reason than ever to expect compatibility problems.) + + ==Deployment== From 485b1318bd4a6f2e1378add714ce7af2cffee87b Mon Sep 17 00:00:00 2001 From: Paul Sztorc Date: Mon, 23 Apr 2018 20:50:11 -0400 Subject: [PATCH 037/133] m7 op return update This has been right in the code, but I kept forgetting to update the BIP. --- bip-blind-merged-mining.mediawiki | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bip-blind-merged-mining.mediawiki b/bip-blind-merged-mining.mediawiki index 29a735cf..513a4b73 100644 --- a/bip-blind-merged-mining.mediawiki +++ b/bip-blind-merged-mining.mediawiki @@ -85,12 +85,12 @@ Mainchain nodes are going to need this data later, so it must be easy to find. W ==== M7 -- "Blind-Mine the Sidechain(s)" ==== -Thus, (for n sidechains) we have a coinbase output with: +Thus, (for n sidechains) we have a coinbase output with multiple OP_RETURNs (we've changed the tx-standardness policy to allow multiple OP_RETURNs): 1-byte - OP_RETURN (0x6a) - 1-byte - Push the following (4+(n*35)) bytes (0x??) + 1-byte - Push the following 39 bytes (0x27) 4-byte - Message header (0xD3407053) - (n*(32+5))-byte - A sequence of bytes, of the three Mini-Header items (h*, prevBlockRef, ChainIndex). + 37-byte - A sequence of bytes, of the three Mini-Header items (h*, prevBlockRef, ChainIndex). ( We assume that 5 bytes are used for the Critical Data bytes (non h* parts of the Sidechain Mini-Header). For 256 sidechains, a total of 9,478 bytes [1+1+4+256\*(32+5)] are required, conveniently just below the 10 KB scriptPubKey size limit.) From cc122a76ef50b1a8607a5c4541f352a705bd112e Mon Sep 17 00:00:00 2001 From: Steve Lee Date: Tue, 29 Jan 2019 12:19:16 -0800 Subject: [PATCH 038/133] fixed minor typo --- bip-0079.mediawiki | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-0079.mediawiki b/bip-0079.mediawiki index 7d0cc574..ca6179ec 100644 --- a/bip-0079.mediawiki +++ b/bip-0079.mediawiki @@ -26,7 +26,7 @@ This document is licensed under the Creative Commons CC0 1.0 Universal license. One of the most powerful blockchain analysis heuristics has been to assume all inputs of a transaction are controlled by a single party unless otherwise known (such as by the distinctive structure of a traditional coinjoin, or multisig spends that are validated onchain). Combined with other techniques (notably change-output guessing) this has lead to unexpectedly accurate tracking that has exposed bitcoin participants to unacceptable personal, business and financial risks -- undermining bitcoin's utility and fungibility -- and ultimately jeopardizing its ability to function as useful money. -We however can bust these assumption with a sender-receiver coinjoin. To prevent costless spy/DoS attacks, we require the sending party to provide a fully-valid ready-to-propagate transaction to initiate the process, that the receiver can broadcast if the sender never completes the coinjoin thus tying the cost to that of spending a utxo. Most promisingly, bustapay transactions do not have an identifiable structure so any network analysis will be not able to tell if a given transaction is a bustapay transaction or not which erodes the confidence of their entire models, providing positive externalities for the entire bitcoin ecosystem. +We however can bust these assumptions with a sender-receiver coinjoin. To prevent costless spy/DoS attacks, we require the sending party to provide a fully-valid ready-to-propagate transaction to initiate the process, that the receiver can broadcast if the sender never completes the coinjoin thus tying the cost to that of spending a utxo. Most promisingly, bustapay transactions do not have an identifiable structure so any network analysis will be not able to tell if a given transaction is a bustapay transaction or not which erodes the confidence of their entire models, providing positive externalities for the entire bitcoin ecosystem. Bustapay transactions also do not grow the receiver's count of unspent transaction outputs, and in fact gives the receiver an opportunity to better manage their utxo set, something normally only done when sending payments. Large utxo sets are often problematic and expensive, and frequently requiring privacy-destroying consolidation. Besides busting clustering assumptions, bustapay also provides a layer of obfuscation of send amounts. From ec8b400259d74de507f0e7856899397fc5a15671 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Wed, 27 Feb 2019 10:28:34 +0100 Subject: [PATCH 039/133] addrv2 BIP proposal --- bip-XXXX.mediawiki | 189 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 189 insertions(+) create mode 100644 bip-XXXX.mediawiki diff --git a/bip-XXXX.mediawiki b/bip-XXXX.mediawiki new file mode 100644 index 00000000..583bf8b1 --- /dev/null +++ b/bip-XXXX.mediawiki @@ -0,0 +1,189 @@ +
+  BIP: ???
+  Layer: Peer Services
+  Title: addrv2 message
+  Author: Wladimir J. van der Laan 
+  Comments-Summary: No comments yet.
+  Comments-URI: 
+  Status: Draft
+  Type: Standards Track
+  Created: 2019-02-27
+  License: BSD-2-Clause
+
+ +==Introduction== + +===Abstract=== + +This document proposes a new P2P message to gossip longer node addresses over the P2P network. +This is required to support new-generation Onion addresses, I2P, and potentially other networks +that have longer endpoint addresses than fit in the 128 bits of the current addr message. + +===Copyright=== + +This BIP is licensed under the 2-clause BSD license. + +===Motivation=== + +Tor v3 hidden services are part of the stable release of Tor since version 0.3.2.9. They have +various advantages compared to the old hidden services, among which better encryption and privacy +[https://gitweb.torproject.org/torspec.git/tree/rend-spec-v3.txt Tor Rendezvous Specification - Version 3]. +These services have 256 bit addresses and thus do not fit in the existing addr message, which encapsulates onion addresses in OnionCat IPv6 addresses. + +Other transport-layer protocols such as I2P have always used longer +addresses. This change would make it possible to gossip such addresses over the +P2P network, so that other peers can connect to them. + +==Specification== + +
+The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", +"SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be +interpreted as described in RFC 2119[https://tools.ietf.org/html/rfc2119 RFC 2119]. +
+ +The addrv2 message is defined as a message where pchCommand == "addrv2". +It is serialized in the standard encoding for P2P messages. +Its format is similar to the current addr message format +[https://bitcoin.org/en/developer-reference#addr Bitcoin Developer Reference: addr message], with the difference that the +fixed 16-byte IP address is replaced by a network ID and a variable-length address, and the time and services format has been changed to VARINT. + +This means that the message contains a serialized std::vector of the following structure: + +{| class="wikitable" style="width: auto; text-align: center; font-size: smaller; table-layout: fixed;" +!Type +!Name +!Description +|- +| VARINT (unsigned) +| time +| Time that this node was last seen as connected to the network. A time in Unix epoch time format, up to 64 bits wide. +|- +| VARINT (unsigned) +| services +| Service bits. A 64-wide bit field. +|- +| uint8_t +| networkID +| Network identifier. An 8-bit value that specifies which network is addressed. +|- +| std::vector +| addr +| Network address. The interpretation depends on networkID. +|- +| uint16_t +| port +| Network port. If not relevant for the network this MUST be 0. +|} + +One message can contain up to 1,000 addresses. Clients SHOULD reject messages with more addresses. + +Field addr has a variable length, with a maximum of 32 bytes (256 bits). Clients SHOULD reject +longer addresses. + +The list of reserved network IDs is as follows: + +{| class="wikitable" style="width: auto; text-align: center; font-size: smaller; table-layout: fixed;" +!Network ID +!Enumeration +!Address length (bytes) +!Description +|- +| 0x01 +| IPV4 +| 4 +| IPv4 address (globally routed internet) +|- +| 0x02 +| IPV6 +| 16 +| IPv6 address (globally routed internet) +|- +| 0x03 +| TORV2 +| 10 +| Tor v2 hidden service address +|- +| 0x04 +| TORV3 +| 32 +| Tor v3 hidden service address +|- +| 0x05 +| I2P +| 32 +| I2P overlay network address +|- +| 0x06 +| CJDNS +| 16 +| Cjdns overlay network address +|} + +To allow for future extensibility, clients MUST ignore address types that they do not know about. +Client MAY store and gossip address formats that they do not know about. Further network ID numbers MUST be reserved in a new BIP document. + +Clients SHOULD reject addresses that have a different length than specified in this table for a specific address ID, as these are meaningless. + +See the appendices for the address encodings to be used for the various networks. + +==Compatibility== + +Send addrv2 messages only, and exclusively, when the peer has a certain protocol version (or higher): + +//! gossiping using `addrv2` messages starts with this version +static const int GOSSIP_ADDRV2_VERSION = 70016; + +For older peers keep sending the legacy addr message, ignoring addresses with the newly introduced address types. + +==Reference implementation== + +The reference implementation is available at (to be done) + +==Acknowledgements== + +- Jonas Schnelli: change services field to VARINT, to make the message more compact in the likely case instead of always using 8 bytes. + +- Luke-Jr: change time field to VARINT, for post-2038 compatibility. + +- Gregory Maxwell: various suggestions regarding extensibility + +==Appendix A: Tor v2 address encoding== + +The new message introduces a separate network ID for TORV2. + +Clients MUST send Tor hidden service addresses with this network ID, with the 80-bit hidden service ID in the address field. This is the same as the representation in the legacy addr message, minus the 6 byte prefix of the OnionCat wrapping. + +Clients SHOULD ignore OnionCat (fd87:d87e:eb43::/48) addresses on receive if they come with the IPV6 network ID. + +==Appendix B: Tor v3 address encoding== + +According to the spec [https://gitweb.torproject.org/torspec.git/tree/rend-spec-v3.txt Tor Rendezvous Specification - Version 3: Encoding onion addresses], next-gen .onion addresses are encoded as follows: +
+onion_address = base32(PUBKEY | CHECKSUM | VERSION) + ".onion"
+ CHECKSUM = H(".onion checksum" | PUBKEY | VERSION)[:2]
+
+ where:
+   - PUBKEY is the 32 bytes ed25519 master pubkey of the hidden service.
+   - VERSION is an one byte version field (default value '\x03')
+   - ".onion checksum" is a constant string
+   - CHECKSUM is truncated to two bytes before inserting it in onion_address
+
+ +Tor v3 addresses MUST be sent with the TORV3 network ID, with the 32-byte PUBKEY part in the address field. As VERSION will always be '\x03' in the case of v3 addresses, this is enough to reconstruct the onion address. + +==Appendix C: I2P address encoding== + +Like Tor, I2P naming uses a base32-encoded address format[https://geti2p.net/en/docs/naming#base32 I2P: Naming and address book]. + +I2P uses 52 characters (256 bits) to represent the full SHA-256 hash, followed by .b32.i2p. + +I2P addresses MUST be sent with the I2P network ID, with the decoded SHA-256 hash as address field. + +==Appendix D: Cjdns address encoding== + +Cjdns addresses are simply IPv6 addresses in the fc00::/8 range[https://github.com/cjdelisle/cjdns/blob/6e46fa41f5647d6b414612d9d63626b0b952746b/doc/Whitepaper.md#pulling-it-all-together Cjdns whitepaper: Pulling It All Together]. They MUST be sent with the CJDNS network ID. + +==References== + + From 4f73814175c9e83c302092027d360e0bd9fa55a2 Mon Sep 17 00:00:00 2001 From: Lucas Cullen Date: Wed, 6 Mar 2019 07:51:45 +1000 Subject: [PATCH 040/133] Update the link to NBitcoin repo NBitcoin official repo has changed. --- bip-0032.mediawiki | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-0032.mediawiki b/bip-0032.mediawiki index 18b3b0cb..93393077 100644 --- a/bip-0032.mediawiki +++ b/bip-0032.mediawiki @@ -294,7 +294,7 @@ Two JavaScript implementations exist: available at https://github.com/sarchar/br A PHP implementation is available at https://github.com/Bit-Wasp/bitcoin-lib-php -A C# implementation is available at https://github.com/NicolasDorier/NBitcoin (ExtKey, ExtPubKey) +A C# implementation is available at https://github.com/MetacoSA/NBitcoin (ExtKey, ExtPubKey) A Haskell implementation is available at https://github.com/haskoin/haskoin together with a CLI interface at https://github.com/np/hx From 23590c0508d6df6a68cd6fdf6e9aaa13cc77fe6a Mon Sep 17 00:00:00 2001 From: azuchi Date: Sun, 31 Mar 2019 14:19:00 +0900 Subject: [PATCH 041/133] [BIP197] Fix description of Refund Period Seizable Collateral script have condition that can be refund by the borrower after the Seizure Period. --- bip-0197.mediawiki | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-0197.mediawiki b/bip-0197.mediawiki index 8a34b047..427ff220 100644 --- a/bip-0197.mediawiki +++ b/bip-0197.mediawiki @@ -130,7 +130,7 @@ In the case of a default or the lender not accepting the borrower repayment, the In the case that either the lender or borrower don’t accept the bid, the lender can seize a percentage of the collateral. The amount is dependent on the amount of collateral locked in the Seizable Collateral and Refundable Collateral script as described in this BIP. During this period, the borrower can also refund the funds locked in the Refundable Collateral script. ===Refund Period=== -In the case that the lender does not seize the collateral locked in the Seizable Collateral script, then the borrower can refund the funds locked in the Refundable Collateral script. +In the case that the lender does not seize the collateral locked in the Seizable Collateral script, then the borrower can refund the funds locked in the Seizable Collateral script. ==Rationale== From c90088ed815ea243db7454b921461ea97113f006 Mon Sep 17 00:00:00 2001 From: Paul Sztorc Date: Thu, 4 Apr 2019 16:22:09 -0700 Subject: [PATCH 042/133] improved image, with examples --- .../witness-vs-critical.png | Bin 67570 -> 265603 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/bip-blind-merged-mining/witness-vs-critical.png b/bip-blind-merged-mining/witness-vs-critical.png index 1a2458d42fa50306400128057808168e1e9b9ae7..77003e8fde211c22a67527c2d26afd120e9bf322 100644 GIT binary patch literal 265603 zcmce-bx<6^yZ5_5fCNnlu1N^)?v@01hsE99oj{P_?kw)IxWnS^?(Vj@FWmgjdrrN# z>fXQ4RCmp{x~6-kx~ICI{`B+wRge=$MVPn3H|Y5&G+Ol64*|an`lmL%XJkIMiP3wH{Zz9K zKDH4hv>yL2?*sm&kCNqu82_!!KMu|PSK*gmc>g~N|GI=+Jc`}r*E^Aq|B?{c4Z1!z zIyUIS@t=miyr1eTaie_{Cw(XK;$ErSetdMaG^@y7ST*ximZW=P&_Ou85Mzt#Hn4#5 z@87?ko}Mm6OnMz{^Vp6$k^fcyhjXm<|0vjOGtkpN3tww!uGS9X3wv^JX*^qebC&q# ze<;1eD=VPdD;(o^AU1gd)*;E{x4UX%f0CBQ=~!z%ay(DQwbGu$DXCoMdf)5-i_DHi zc=r4AFoEN?rc_HI)WDEAKQTtWA3ntzq*puAv2K>uNDCC%`YTD|rtNWwP6yW7h)#Jq z%cL+n!>nx7k9X#oq6od8JWy#g-rXCcbhLia+CdJ29;(-0wsozK3Uj&k^h^U%%#l z3i$qNB;-xrQE<60z)A!d z2yNo^a%ft#uRG;=PfqxRM4WavkQW-_9+UEZ{8CVAsYLlr1^*-6^xC?eMtR|l#ShjW zwKZo0UvpDF5yrw#OZPNziQ#^0LM%-{bVJo#edGq$!_V_ zGTomo;FoO9&CsS;C`mVMtu>UFe>;0GE%~`%>2DjZpS7k%S<>m8$$V66a?LAf!9ae< zk!dV!diy{=k7S=%V_LQSn7~cj*HvwX}2hxFfpq+6}&-H(aGlDoJo!G@6v?Wif zempS4mKt4ZE~*v#o7LKHl4-%%e-%^$KL3+s%kNs8Co*&_Ib-PV80YNa={P=V;!Dnp zuf51>wF0vi5OrOD=DN#UfN|#fn9PUQI~|B8(Mi@y4;x!2M>YT-a=xvv?yN=Q7p|oa z`)X48-i``pBDo!|=S2)mM4%4O5xw3+^U8ur3b!vSdGG=QbY;_DfbyoV`=S2o>LjX* z&IY^s@tksA2vBh9Y)cvPPnKpVCO&n3`INLWvKt(R7x=e&}QM8)#0orM}KXO^fmz2)N^^x@!?x($bX zacXR`q>RSUhNiJwjm;S%ZSJiL_*9P^mpvaigIllSCT8)R`vWU>)O6HY*ws{G#)gV; z;QUM0$bwhAt&{e4?CdJmv|jUiByZY1+})S6tM~4Venvy96!Z}`_xfyLF5_GN+)>
 
-    BIP: ????
+    BIP: 301
     Layer: Consensus (soft fork)
     Title: Blind Merged Mining (Consensus layer)
     Author: Paul Sztorc 
             CryptAxe 
     Comments-Summary: No comments yet.
-    Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-???????
+    Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-301
     Status: Draft
     Type: Standards Track
     Created: 2017-10-24
@@ -19,16 +19,11 @@
 ==Abstract==
 
 
-Blind Merged Mining (BMM) is a way of mining optional extension blocks, ie "asymmetric sidechains". It produces strong guarantees that the block is valid, for *any* arbitrary set of rules; and yet it does so without requiring miners to actually do any validation on the block whatsoever.
+Blind Merged Mining (BMM) is a way of mining optional extension blocks (ie, "asymmetric sidechains"). BMM produces weak guarantees that the block is valid, for *any* arbitrary set of rules; and yet it does so without requiring miners to actually do any validation on the block whatsoever.
 
-BMM actually is a process that spans two or more chains. For an explanation of the "whole picture", please see [this post](http://www.truthcoin.info/blog/blind-merged-mining/). Here we focus on the modifications to mainchain Bitcoin.
+BMM actually is a process that spans two or more chains. Here we focus on the modifications to mainchain Bitcoin. For an explanation of the "whole picture", please see [http://www.truthcoin.info/blog/blind-merged-mining/ this post].
 
-To support BMM, the mainchain is asked to accomplish two goals:
-
-# Track a set of ordered hashes (the merged-mining).
-# Allow miners to "sell" the act of finding a sidechain block (through the use of a new extended serialization transaction type).
-
-These goals are accomplished by forcing nodes to validate two new messages (M7, M8), and track data in one new database (D3).
+Our goal here, is to allow mainchain miners to trustlessly "sell" the act of finding a sidechain block.
 
 
 ==Motivation==
@@ -39,213 +34,94 @@ Regular "Merged-Mining" (MM) allows miners to reuse their hashing work to secure
 # Miners must run a full node of the other chain. (This is because [while miners can effortlessly create the block] miners will not create a valid payment to themselves, unless the block that they MM is a valid one. Therefore, miners must assemble a *valid* block first, then MM it.)
 # Miners are paid on the other chain, not on the regular BTC mainchain. For example, miners who MM Namecoin will earn NMC (and they will need to sell the NMC for BTC, before selling the BTC in order to pay for electricity).
 
-Blind Merged-Mining (BMM) attempts to address those shortcomings.
+BMM addresses both shortcomings.
 
 
 ==Specification==
 
 
-Note: This document uses the notation side:\* and main:\* in front of otherwise-ambiguous words (such as "block", "node", or "chain"), to distinguish the mainchain version from its sidechain counterpart.
-
-As stated above, we have two goals: [1] create and monitor an alt-chain (defined only by a deterministic list of hashes), and [2] allow miners to "sell" the act of finding a sidechain block (through the use of a new extended serialization transaction type).
-
-=== Sidechain Critical Data ("Sidechain Mini-Header") ===
-
-Specifically, per side:block per side:chain, we track the following 35 bytes of information:
-
-    1-byte   - ChainIndex (known as "Account Number" in hashrate-escrows.md , or as "Sidechain Number")
-    32-bytes - sideHeaderHash (also known as "h*" / hashCritical, the hash of the blockheader of the sidechain in question)
-    2-bytes  - prevBlockRef (an index which points to this side:blockheader's parent side:blockheader)
-
-The **ChainIndex** indicates which sidechain this critical data is relevant to. As we may eventually have more than one sidechain, this serves as an identifier similar to the Bitcoin network's magic bytes (0xF9BEB4D9). Drivechains however only need to use 1 byte for the identifier (there is a hard limit of 256 sidechains identified as 0-255). The **sideHeaderHash** is the hash of a side:blockheader which will receive PoW via BMM. It serves a similar function to Bitcoin's "hashMerkleRoot", in that it contains the data for its blockchain. The **prevBlockRef** forms the set of headers into a blockchain structure by making each headers refer to one parent header. It is most similar to Bitcoin's hashPrevBlock.
-
-This data is "critical" in the sense that it is the minimum amount of data required to define a sidechain.
-
-Where does this data come from, and how does it get around?
-
-==== Creating / Broadcasting This Data ====
-
-===== Creation =====
-
-By the time Blind Merged Mining can take place, the ChainIndex is globally known (it is the "Account Number" in D1 [see previous BIP], and "nSidechain" in the code). Each sidechain, when activated by soft fork, will take one of the 0-255 available indexes.
-
-The other two items, sideHeaderHash and prevBlockRef, are created by sidechain nodes. sideHeaderHash is quite straightforward -- side:nodes build side:blocks, and take the hash of these.
-
-The final item, prevBlockRef, is a little more complicated. It is an integer that counts the number of "skips" one must take in the side:chain in order to find the current side:block's parent block. In practice, this value will usually be zero. It will only be a value other than zero, in cases where invalid sidechain blocks have been mined, or when a side:node intentionally wants to orphan some side:blocks (if a side:node wants to orphan the most-recent N blocks, the value of the current block will be equal to N ; in the block after that it will be back to zero).
-
-
-
-Since the hashes themselves are already ordered by the mainchain, tracing the blockchain's path by index (prevBlockRef) will be the same as tracing it by identifying a list of hashes. In other words, the ordering given via each side:block's "prevBlockRef" will be isomorphic to an ordering given by each side:block's "prevSideHeaderHash" ... if "prevSideHeaderHash is defined to be the sidechain's equivalent of the mainchain's "prevBlockHash". It will be possible to freely convert from one to the other. See M8 to learn more about how these hashes are requested by sidechain block creators to be included in the mainchain.
-
-Now that we know what our critical data is, and how it is made, how is this data broadcast and stored?
-
-===== Broadcast =====
-
-Mainchain nodes are going to need this data later, so it must be easy to find. We will put it into the coinbase via OP RETURN.
-
-==== M7 -- "Blind-Mine the Sidechain(s)" ====
-
-Thus, (for n sidechains) we have a coinbase output with multiple OP_RETURNs (we've changed the tx-standardness policy to allow multiple OP_RETURNs):
-
-    1-byte - OP_RETURN (0x6a)
-    1-byte - Push the following 39 bytes (0x27)
-    4-byte - Message header (0xD3407053)
-    37-byte - A sequence of bytes, of the three Mini-Header items (h*, prevBlockRef, ChainIndex).
-
-( We assume that 5 bytes are used for the Critical Data bytes (non h* parts of the Sidechain Mini-Header). For 256 sidechains, a total of 9,478 bytes [1+1+4+256\*(32+5)] are required, conveniently just below the 10 KB scriptPubKey size limit.)
-
-This data is parsed by laying it in sequential 37-byte chunks (any remaining data --ie, some final chunk that is less than 37 bytes in length-- has no consensus meaning). 
-
-Each 37-byte chunk is then parsed to obtain the data outlined above (in "Description"). If two 35-byte chunks being with the same "Sidechain number" (ie, if the two chunks have the same first byte), then only the first chunk has consensus meaning.
-
-We are left with, at most, one (h*, prevBlockRef) pair per sidechain per block. This data is added directly to D3, a new database.
-
-==== D3 -- "RecentSidechains_DB" ====
-
-To suit our purposes, the mainchain full nodes will need to keep track of the most recent 8000 (h\*, prevBlockRef) pairs.
-
-( This 8,000 figure is a tradeoff between decentralization (costs of running the main:node) and sidechain security -- it requires attackers to merged-mine 8,000 invalid blocks consecutively, in order to cause the sidechain to fail. The mainchain burden is minimal, so this figure might be raised to 12,000 or higher. )
-
-Therefore, D3 would look something like this:
+Note: This document uses the notation side:\* and main:\* in front of otherwise-ambiguous words (such as "block", "node", or "chain"), to distinguish the mainchain version from its sidechain counterpart. We also use "Simon" to refer to a Sidechain Full Node, and "Mary" to refer to a mainchain miner.
 
 
-
-           BlockHeight  CB_Index    SC_1   Blks_Atop_1   SC 2   Blks_Atop_2   SC 3   Blks_Atop_3
-            ---------    ------    ------   ---------   ------   ---------   ------   ---------
-       1.    401,005        2      (h*, 0)     7985     (h*, 0)        1     (h*, 0)        0
-       2.    401,006        4      (h*, 0)     7984     (h*, 0)        0     (h*, 1)     7801
-       3.    401,007        2      (h*, 0)     7983     (h*, 5)     2027     (h*, 0)        0
-       4.    401,008        2      (h*, 0)     7982     (h*, 0)     2028     (h*, 1)     7800
-      ...     ...                                                                  )
-    7999.    409,003        3      (h*, 0)        1     (h*, 0)        0     (h*, 0)        1
-    8000.    409,004        2      (h*, 0)        0     (h*, 1)        0     (h*, 0)        0
-
+=== BMM Request === +To buy the right to find a sidechain block, users broadcast BMM Requests. -When new sidechains (or "hashrate escrows") are soft-forked into existence, a new column is added to D3 (to contain any BMMing that might be done on it). +Here, these can take two forms. The first does not require the Lightning Network, but it does have new requirements for Immediate Expiration (see below). The second inherits Immediate Expiration from the Lightning Network itself, but requires extra preparation and a different/larger message. -For each sidechain we also track the field "Blocks Atop". This is the number of side:blocks that are "on top" of the specified side:block. These might be regarded as "side:confirmations" (pseudo-confirmations that are specific to each sidechain). +Both forms require that certain Critical Data will be committed to within the coinbase of the block that the transaction is included in (see BMM Accept). For the OnChain (non-Lightning) version, we have created a new extended serialization transaction type (very similar to how segwit handles witness data (the witness stack)). -D3 also contains a column (not shown) for each sidechain containing "prevSideBlockHash". This value is is either derived from prevBlockRef; or else it is given explicitly (in which case it is the converse: prevBlockRef is derived from prevSideBlockHash). - - -==== Coinbase Cache ==== - -As mentioned above, M7s cause data to be added to D3. Recent D3 data is tracked by all mainchain nodes for a period of time. - -To efficiently keep track of the above data, without having to constantly load and process entire blocks from disk, we temporarily cache enough coinbases in the chain index to maintain D3. - - -=== M8 -- Paying miners to include BMM data in their coinbase outputs === - -This section introduces a new type of transaction, which allows sidechain block creators to request, and pay for, a critical hash to be included in a specific block by mainchain miners. See [the Blind Merged Mining spec](http://www.truthcoin.info/blog/blind-merged-mining/). This txn allows miners to "sell" the act of mining a sidechain block. By taking advantage of this option, miners earn tx fees for mining sidechains...truly "for free". They do not even need to run sidechain nodes, and the tx-fees they earn are in mainchain BTC. As a result, sidechains affect all miners equally and do not affect the mining ecosystem. - -M8 will ultimately come in two versions. The second version will be specialized for use in the Lightning Network and must use the full 32-byte prevBlockHash (ironically, this larger transaction is cheaper for the Bitcoin network to process, as it is completely off-chain). The first version of M8, in contrast, cannot be used inside the Lightning Network, but is slightly more space-efficient (using the 2 prevBlockRef bytes to maintain chain order). It is important to make both options available to the user, because some side:nodes may be unwilling or unable to open a LN connection with each main:miner. However, in the long run we expect the lightning version to be preferred. - -==== Setup ==== - -We define **"Mary"** as a mainchain miner, and **"Simon"** as a sidechain node. - -The goal is to construct a payment from Simon to Mary, such that: - -# If the critical data conditions are met, **Mary** can claim the outputs of the transaction with finality. -# If the critical data conditions are not met, the outputs become immediately available again to **Simon**. - - -==== Goals (this is rather philosophical, and skippable) ==== - -===== Immediate Expiration ("Fill-or-Kill") ===== +==== Immediate Expiration ("Fill-or-Kill") ==== We would like to make special guarantees to the counterparties of this transaction. Specifically, instead of Simon making a "payment" to Mary, we prefer that Simon give Mary an "offer" (which she can either accept or decline). -Crucially, we want Simon to safely make many offers to several different Mary's, in realtime (ie, quickly and off-chain). However, we ultimately want only one offer to be accepted, at most. In other words, we want Simon's offers to *immediately expire*. If only one offer can become a bona fide transaction, then Simon will feel comfortable making offers all day long. Because all of the Simons are making many offers, the Marys collectively gain access to a large set of offers to choose from. +Crucially, we want Simon to safely make many offers to several different Mary's, in realtime (ie, quickly and off-chain). However, we ultimately want only one offer to be accepted, at most. In other words, we want Simon's offers to *immediately expire*. If only one offer can become a bona fide transaction, then Simon will feel comfortable making multiple offers all day long. Because all of the Simons are making many offers, the Marys collectively gain access to a large set of offers to choose from. -===== Forward Progress (The Need for a "Ratchet") ===== +==== OnChain BMM Request ==== -The "ratchet" concept is an attempt to harmonize incentives among the main and side chain(s). -We need to ensure that a sidechain is making "forward progress", without tracking too much about the sidechain such that we burden Bitcoin (see [1] and [2]) all while still allowing the sidechain to reorganize [3]. +OnChain BMMRs do not require the Lightning network, but they do have new requirements for validation. -* [1] https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-July/014789.html -* [2] http://www.drivechain.info/faq/index.html#what-is-the-difference-between-drivechain-and-extension-blocks -* [3] http://www.truthcoin.info/blog/blind-merged-mining/#handling-reorganizations +===== Structure ===== -The ratchet system must keep track of sidechain "mini-headers" (see Sidechain Critical Data ("Sidechain Mini-Header")) and count the "blocks atop" maturity of the related side:blocks. - -Simon's offer to Mary to include a critical hash in exchange for payment must be *atomic*. The "ratchet" concept helps to construct a very tight connection between two things: - -# The sidechain-block-generator "Simon" paying himself the side:block's side:tx-fees (which he receives in 100 sidechain blocks (blocks atop) hence). -# "Simon" making a mainchain main:btc payment to a mainchain miner "Mary". - -Either both of the two should succeed, or else both should jointly fail. - -However, absent our intervention, there are cases in which [2, the payment to Mary] succeeds but [1, side:tx-fees] fails. One such case is when a side:block contains unusually high side:tx-fees. Here, there will be many requests to include a critical hash in exchange for payment submitted to Mary, but only one can be included in each main:block per sidechain. Without an incentive to make "forward progress", Mary is likely to include one of the highest paying requests in the next main:block (and the main:block after that, and so on). Mary will "blindly" include high-paying requests for *older* blocks, unless something prevents her from doing so. - -To address these potential issues, we utilize the concept of "Blocks_Atop" (the "side:confirmations") that we mentioned earlier. As previously mentioned, Mary will not be able to spend Simon's M8 payment until satisfying the critical data requirements as well as the blocks atop (side:confirmations) requirement. - - -==== M8 -- The two forms of M8 transactions ==== - -As previously mentioned, M8 can take two forms. The first does not require the Lightning Network, but it does have new requirements for Immediate Expiration (see above). The second inherits Immediate Expiration from the Lightning Network itself, but requires extra preparation and a different/larger message. - -Both forms require that certain Critical Data will be committed to within the coinbase of the block that the transaction is included in. For the non Lightning version, we have created a new extended serialization transaction type (very similar to how segwit handles witness data (the witness stack)). - -===== M8_V1 - No Lightning Network ===== - -M8_V1 does not require the Lightning network but does have new requirements for validation. - -A M8_V1 TxOut is expected to contain: +The following data is required:
-    1-byte - OP_RETURN (0x6a)
-    1-byte - Push the following 36 bytes (0x24)
-    4-byte - Message header (0xD1617368)
-    32-bytes  - h* side:block hash
-    5~7-bytes - BMM request identifying bytes (0x00bf00) + prevBlockRef & ChainIndex (sidechain mini-header)
+    32-bytes  - h* sideHeaderHash
+    ?~?-bytes - critical data extended serialization
+        3-bytes - 0x00bf00 identifying bytes
+        1-byte  - nSidechain
+        2-bytes - prevSideBlockRef
+        4-bytes - prevMainHeaderBytes
 
-In the first version of M8, we need to introduce the concept of Immediate Expiration (see above). In other words, we need a way for Simon to construct many payments to multiple Marys, such that only one of these is ever included; and only then if Simon's txn is expected to coincide with the finding of Simon's side:block. +sideHeaderHash comes from side:chain (side:nodes build side:blocks/headers). The identifying bytes are given here. nSidechain identifies which sidechain we are BMMing. By the time Blind Merged Mining can take place, it is known globally. -We do this by imposing validity-rules on the txn itself: +prevBlockRef, is a little more complicated (next section). -# The txn's content, when examined, must match part of the main:block's content. Specifically, the (ChainIndex, h\*) pair of the txn, must match one of the (ChainIndex, h\*) pairs in the M7 of this main:block. -# Only one payment per sidechain per main:block is valid. In other words, if 400 people all try to bm-mine the sidechain with ChainIndex==4, then not only is it the case that only one side_4:block can be found, but it is also the case that only the corresponding M8 txn can be included (out of all of the 400 M8s which are for ChainIndex==4). -# Simon's txns must only be valid for the current block; afterward, they immediately expire. This is because Simon's intended prevBlockRef & side:block contents will most likely change from one main:block to the next. +To qualify for inclusion in a block, BMM requests are subject to the following reqirements: -To impose new requirements on the transaction level (not the block level nor the TxOutput level), we borrow the "flag" trick from SegWit style transactions. If the flag is present, the transaction is examined for extra data, and if this data does not pass certain requirements, the transaction is invalid. With SegWit, this extra data is the signatures, and the extra requirements are the signatures' locations and validity. In the BMM-transactions, the extra data is the (ChainIndex, h\*) pair, which must meet the first two requirements (above) as well as the main:blocknumber, which must meet the third requirement (above). +# Requests must match a corresponding "BMM Accept" (see last section of BIP). +# At most, only one Request is allowed in a main:block, per sidechain. In other words, if 700 users broadcast BMM Requests for sidechain #4, then the main:miner must choose one single Request to include. +# The 4-bytes of prevMainHeaderBytes must match the last four bytes of the previous main:blockheader. Thus, Simon's txns are only be valid for the current block, in the block history that he knows about (and therefore, the current sidechain history that he knows about). -To impose new requirements at the transaction level, we borrow the dummy vin & "flag" trick from SegWit style transactions. If the flag is set to 2 (0010), the transaction contains Critical Data and requires that our new validation rules be met in order for the txn to be valid in a block. Unless all of the requirements for sidechain critical data transactions are met by the block it is included in, the transaction is invalid. With SegWit, this extra data is the segwit signature stack, and the extra requirements are the signatures' locations and validity. In the sidechain BMM critical data transactions, the extra data is the (ChainIndex, h\*) pair, which must meet the first two requirements (above) as well as the main:blocknumber, which must meet the third requirement (above). Note The main:blocknumber does not take up any additional space compared to a normal txn, as we reuse the locktime field for our purposes. +===== prevBlockRef ===== +prevBlockRef is an integer that counts the number of "skips" one must take in the side:chain in order to find the current side:block's parent block. This value is zero unless the sidechain is reorganizing (or skipping over invalid sidechain blocks). If a side:node wants to orphan the most-recent N blocks, the value of the current block will be equal to N; in the block after that it will be back to zero. + + + +Above: Three blockchains, with different max length (small number), reorganization histories, and prevBlockRef numbers (larger numbers beneath blocks). The ordering given via each side:block's "prevSideBlockRef" will be isomorphic to an ordering given by each side:block's "prevSideHeaderHash" ("prevSideHeaderHash is the sidechain's equivalent of the mainchain's "prevBlockHash"). One can freely convert from one to the other. + +===== Extended Serialization ===== + +To impose new requirements at the transaction level, we borrow the dummy vin & "flag" trick from SegWit style transactions. Unless all of the requirements for sidechain critical data transactions are met by the block it is included in, the transaction is invalid. With SegWit, this extra data is the segwit signature stack, and the extra requirements are the signatures' locations and validity. In the sidechain BMM critical data transactions, the extra data is the (nSidechain, h\*) pair, which must meet the first two requirements (above) as well as the main:blocknumber, which must meet the third requirement (above). +Above: A chart showing normal txns, SegWit txns, and CriticalData txns. The specific SegWit txn can be seen [http://srv1.yogh.io/#tx:id:D4A99AE93DF6EE3D4E42CE69338DFC1D06CCD9B198666E98FF0588057378D3D9 here]. -This txn structure conserves main:blockspace, because it is the easiest way to refer to a previous sidechain block in 4 bytes, (prevBlockRef + FoK_nLockTime). Instead, we would need to use at least 32 bytes (prevSideBlockHash). +These types of transactions have slightly different mempool behavior, and should probably be kept in a second mempool. These txns are received, checked immediately, and if valid they are evaluated for inclusion in a block. If they are not able to be included in the specific requested block (if the block height requested has been surpassed by the chain tip), they are discarded. In fact, after any main:block is found, everything in this "second mempool" can be discarded as new payments will be created immediately for the next block height. (This includes cases where the blockchain reorganizes.) There is no re-evaluation of the txns in this mempool ever -- they are evaluated once and then either included or discarded. They never need to be rescanned. -These types of transactions have slightly different mempool behavior, and should probably be kept in a second mempool. These txns are received, checked immediately, and if valid they are evaluated for inclusion in a block. If they are not able to be included in the specific requested block (if the block height requested has been surpassed by the chain tip), they are discarded. In fact, after any main:block is found, everything in this "second mempool" can be discarded as new payments will be created immediately for the next block height. (This includes cases where the blockchain reorganizes.) There is no re-evaluation of the txns in this mempool ever -- they are evaluated once and then either included or discarded. To be clear, when the transaction is received we are able to evaluate its validity, and do not need to rescan these transactions again. +Interestingly, these payments will *always* be directed to main:miners from non-main:miners. Therefore, non-mining full nodes do not need to keep them in any mempool at all. Non-miner nodes can just wait for a block to be found, and check the txn then. These transactions more resemble a stock market's pit trade-offers (in contrast, regular Bitcoin txns are more like paper checks). -Interestingly, these payments (M8) will *always* be directed to miners from non-miners. Therefore, non-mining nodes do not need to keep them in any mempool at all. Non-miner nodes can just wait for a block to be found, and check the txn then. These transactions more resemble a stock market's pit trades (in contrast, regular Bitcoin txns remind me more of paper checks). +==== Lightning BMM Request ==== -===== M8_V2 With Lightning ===== +Lightning BMMRs require Simons to have a LN-channel pathways open with Marys. This may not always be practical (or even possible), especially today. -M8_V2 requires having a LN-channel pathway open with a miner. This may not always be practical (or even possible), especially today. +LN txns cannot make use of prevSideBlockRef, as no one knows for sure when (or if) they will be broadcast on-chain. Instead, they must use prevSideBlockHash. But they otherwise require the same data: -A M8_V1 TxOut is expected to contain: - -
-    1-byte - OP_RETURN (0x6a)
-    1-byte - Push the following 68 bytes (0x44)
-    4-byte - Message header (0xD0520C6E)
-    32-bytes  - h* side:block hash
-    32-bytes  - prevSideBlockHash
-    5~7-bytes - BMM request identifying bytes (0x00bf00) + prevBlockRef & ChainIndex (sidechain mini-header)
+
	
+    4-bytes - Message header (0xD0520C6E)	
+    1-byte - sidechain number
+    32-bytes  - h* side:block hash	
+    32-bytes  - prevSideBlockHash	
 
+Notice that, in OnChain BMMRs, Simon could reuse the same h\* all he wanted, because only one OnChain BMMR could be included per main:block per sidechain. However, on the LN no such rule can be enforced, as the goal is to push everything off-chain and include *zero* txns. So, we will never know what the Requests were, or how many had an effect on anything. -Notice that, in M8_V1, Simon could reuse the same h\* all he wanted, because only one M8_V1 could be included per main:block per sidechain. However, on the LN no such rule can be enforced, as the goal is to push everything off-chain and include *zero* M8s. So, we will never know what the M8s were or how many had an effect on anything. +Therefore, Simon will need to ensure that he '''gives each Mary a different h\*'''. Simon can easily do this, as he controls the side:block's contents and can simply increment a side:nonce -- this changes the side:block, and changes its hash (ie, changes h\*). -Therefore, Simon will need to ensure that he '''gives each Mary a different h\*'''. Simon can easily do this, as he controls the side:block's contents and can simply increment a nonce -- this changes the side:block, and changes its hash (ie, changes h\*). - -With a unique h\* per Mary, and at most 1 h\* making it into a block (per sidechain), we can guarantee that only one of the M8_V2's critical data can be committed to in a single main:block. By giving each miner (who Simon has a payment channel open with) a different h*, Simon can figure out which miner followed through with the commit, and know that only one such commit went through. Furthermore, if this Simon's requested critical data is not found in a block, none of the M8_V2 payments will be spendable by the Mary(s), because none of the h\* in question have ever made it into D3 (which is always on-chain) and no blocks atop will be accumulated. +With a unique h\* per Mary (or, more precisely, per channel), and at most 1 h\* making it into a block (per sidechain), Simon can ensure that he is charged, at most, one time. That's probably confusing, so here is an example, in which: Simon starts with 13 BTC, Mary starts with 40 BTC, the side:block's tx-fees currently total 7.1 BTC, and Simon is keeping 0.1 BTC for himself and paying 7 BTC to Mary. @@ -262,7 +138,7 @@ We start with (I):
-And both parties move, from there to "M8_V2" (II): +And both parties move, from there to (II):
     Simon 13 in, Mary 40 in ; 53 in total
@@ -289,10 +165,28 @@ From here, if the h\* side:block in question is BMMed, they can proceed to (III)
             6 ; to Simon
 
-Although, if Simon proceeds immediately, he removes the protection of the 'ratchet'. Ie, Simon removes Mary's incentive to care about blocks being built on this side:block. If Simon's side:block is orphaned, he loses his 7 BTC. Simon can either play it safe, and wait the full 100 side:blocks before moving on (ie, moving on to the third LN txn, above); or else Simon can take the risk if he feels comfortable with it. +If Simon proceeds immediately, he removes Mary's incentive to care about blocks being built on this side:block. If Simon's side:block is orphaned, he loses his 7 BTC. Simon can either play it safe, and wait for (for example) 100 side:blocks before moving on (ie, before moving on to the third LN txn, above); or else Simon can take the risk if he feels comfortable with it. If the h\* side:block is not found, then (II) and (III) are basically equivalent to each other. Simon and Mary could jointly reconstruct (I) and go back there, or they could proceed to a new version of II (with a different h\*, trying again with new side:block in the next main:block). +Now that we have described Requests, we can describe how they are accepted. + +=== BMM Accept === + +For each BMM Request that a main:miner "accepts", main:miners must place an OP Return ouput into their main:coinbase txn. (We've changed the tx-standardness policy to allow multiple OP_RETURNs.) + +The following data is required in the "accept" OP_RETURN output: + 1-byte - OP_RETURN (0x6a) + 1-byte - Push the following 36 bytes (0x24) + 4-bytes - Message header (0xD3407053) + 32-bytes - h* + ~5-bytes - BMM identifier bytes + + +[https://github.com/DriveNetTESTDRIVE/DriveNet/blob/564516653c1d876429382971a011f5f6119f7eb4/src/validation.cpp#L3377-L3470 Link to code]. + +If these OP_RETURN outputs are not present, then no BMM Requests have been accepted. (And, if they are not accepted, then they cannot be included in a main:block.) + ==Backward compatibility== @@ -310,14 +204,14 @@ This BIP will be deployed by "version bits" BIP9 with the name "blindmm" and usi
 // Deployment of Drivechains (BIPX, BIPY)
 consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].bit = 4;
-consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].nStartTime = 1515974401; // January 15th, 2018.
-consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].nTimeout = 1547510401; // January 15th, 2019.
+consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].nStartTime = 1579072881; // January 15th, 2020.
+consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].nTimeout = 1610695281; // January 15th, 2021.
 
==Reference Implementation== -See: https://github.com/drivechain-project/bitcoin/tree/mainchainBMM +See: https://github.com/DriveNetTESTDRIVE/DriveNet Also, for interest, see an example sidechain here: https://github.com/drivechain-project/bitcoin/tree/sidechainBMM @@ -339,3 +233,4 @@ Thanks to everyone who contributed to the discussion, especially: ZmnSCPxj, Adam ==Copyright== This BIP is licensed under the BSD 2-clause license. + From 2d7093ba7682d6834cda1e8bf79db8ce1794bf37 Mon Sep 17 00:00:00 2001 From: Paul Sztorc Date: Fri, 5 Apr 2019 10:02:24 -0700 Subject: [PATCH 044/133] spellcheck --- bip-blind-merged-mining.mediawiki | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/bip-blind-merged-mining.mediawiki b/bip-blind-merged-mining.mediawiki index ffa883ab..7f29f06a 100644 --- a/bip-blind-merged-mining.mediawiki +++ b/bip-blind-merged-mining.mediawiki @@ -1,4 +1,3 @@ -
 
     BIP: 301
@@ -49,7 +48,7 @@ To buy the right to find a sidechain block, users broadcast BMM Requests.
 
 Here, these can take two forms. The first does not require the Lightning Network, but it does have new requirements for Immediate Expiration (see below). The second inherits Immediate Expiration from the Lightning Network itself, but requires extra preparation and a different/larger message.
 
-Both forms require that certain Critical Data will be committed to within the coinbase of the block that the transaction is included in (see BMM Accept). For the OnChain (non-Lightning) version, we have created a new extended serialization transaction type (very similar to how segwit handles witness data (the witness stack)).
+Both forms require that certain Critical Data will be committed to within the coinbase of the block that the transaction is included in (see BMM Accept). For the OnChain (non-Lightning) version, we have created a new extended serialization transaction type (very similar to how SegWit handles witness data (the witness stack)).
 
 ==== Immediate Expiration ("Fill-or-Kill") ====
 
@@ -78,7 +77,7 @@ sideHeaderHash comes from side:chain (side:nodes build side:blocks/headers). The
 
 prevBlockRef, is a little more complicated (next section). 
 
-To qualify for inclusion in a block, BMM requests are subject to the following reqirements:
+To qualify for inclusion in a block, BMM requests are subject to the following requirements:
 
 # Requests must match a corresponding "BMM Accept" (see last section of BIP).
 # At most, only one Request is allowed in a main:block, per sidechain. In other words, if 700 users broadcast BMM Requests for sidechain #4, then the main:miner must choose one single Request to include.
@@ -94,7 +93,7 @@ Above: Three blockchains, with different max length (small number), reorganizati
 
 ===== Extended Serialization =====
 
-To impose new requirements at the transaction level, we borrow the dummy vin & "flag" trick from SegWit style transactions. Unless all of the requirements for sidechain critical data transactions are met by the block it is included in, the transaction is invalid. With SegWit, this extra data is the segwit signature stack, and the extra requirements are the signatures' locations and validity. In the sidechain BMM critical data transactions, the extra data is the (nSidechain, h\*) pair, which must meet the first two requirements (above) as well as the main:blocknumber, which must meet the third requirement (above).
+To impose new requirements at the transaction level, we borrow the dummy vin & "flag" trick from SegWit style transactions. Unless all of the requirements for sidechain critical data transactions are met by the block it is included in, the transaction is invalid. With SegWit, this extra data is the SegWit signature stack, and the extra requirements are the signatures' locations and validity. In the sidechain BMM critical data transactions, the extra data is the (nSidechain, h\*) pair, which must meet the first two requirements (above) as well as the main:blocknumber, which must meet the third requirement (above).
 
 
 
@@ -110,11 +109,11 @@ Lightning BMMRs require Simons to have a LN-channel pathways open with Marys. Th
 
 LN txns cannot make use of prevSideBlockRef, as no one knows for sure when (or if) they will be broadcast on-chain. Instead, they must use prevSideBlockHash. But they otherwise require the same data:
 
-
	
-    4-bytes - Message header (0xD0520C6E)	
+
   
+    4-bytes - Message header (0xD0520C6E)   
     1-byte - sidechain number
-    32-bytes  - h* side:block hash	
-    32-bytes  - prevSideBlockHash	
+    32-bytes  - h* side:block hash  
+    32-bytes  - prevSideBlockHash   
 
Notice that, in OnChain BMMRs, Simon could reuse the same h\* all he wanted, because only one OnChain BMMR could be included per main:block per sidechain. However, on the LN no such rule can be enforced, as the goal is to push everything off-chain and include *zero* txns. So, we will never know what the Requests were, or how many had an effect on anything. @@ -173,7 +172,7 @@ Now that we have described Requests, we can describe how they are accepted. === BMM Accept === -For each BMM Request that a main:miner "accepts", main:miners must place an OP Return ouput into their main:coinbase txn. (We've changed the tx-standardness policy to allow multiple OP_RETURNs.) +For each BMM Request that a main:miner "accepts", main:miners must place an OP Return output into their main:coinbase txn. (We've changed the tx-standardness policy to allow multiple OP_RETURNs.) The following data is required in the "accept" OP_RETURN output: 1-byte - OP_RETURN (0x6a) @@ -233,4 +232,3 @@ Thanks to everyone who contributed to the discussion, especially: ZmnSCPxj, Adam ==Copyright== This BIP is licensed under the BSD 2-clause license. - From 18f43a6b2a8423850c2cac617fa3053faf420007 Mon Sep 17 00:00:00 2001 From: Gigi <109058+dergigi@users.noreply.github.com> Date: Tue, 9 Apr 2019 22:37:48 -0500 Subject: [PATCH 045/133] transaction -> transactions --- bip-0016.mediawiki | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-0016.mediawiki b/bip-0016.mediawiki index ba828e17..0f4fb815 100644 --- a/bip-0016.mediawiki +++ b/bip-0016.mediawiki @@ -40,7 +40,7 @@ The rules for validating these outpoints when relaying transactions or consideri # Normal validation is done: an initial stack is created from the signatures and {serialized script}, and the hash of the script is computed and validation fails immediately if it does not match the hash in the outpoint. # {serialized script} is popped off the initial stack, and the transaction is validated again using the popped stack and the deserialized script as the scriptPubKey. -These new rules should only be applied when validating transactions in blocks with timestamps >= 1333238400 (Apr 1 2012) [https://github.com/bitcoin/bitcoin/commit/8f188ece3c82c4cf5d52a3363e7643c23169c0ff Remove -bip16 and -paytoscripthashtime command-line arguments]. There are transaction earlier than 1333238400 in the block chain that fail these new validation rules. [http://blockexplorer.com/tx/6a26d2ecb67f27d1fa5524763b49029d7106e91e3cc05743073461a719776192 Transaction 6a26d2ecb67f27d1fa5524763b49029d7106e91e3cc05743073461a719776192]. Older transactions must be validated under the old rules. (see the Backwards Compatibility section for details). +These new rules should only be applied when validating transactions in blocks with timestamps >= 1333238400 (Apr 1 2012) [https://github.com/bitcoin/bitcoin/commit/8f188ece3c82c4cf5d52a3363e7643c23169c0ff Remove -bip16 and -paytoscripthashtime command-line arguments]. There are transactions earlier than 1333238400 in the block chain that fail these new validation rules. [http://blockexplorer.com/tx/6a26d2ecb67f27d1fa5524763b49029d7106e91e3cc05743073461a719776192 Transaction 6a26d2ecb67f27d1fa5524763b49029d7106e91e3cc05743073461a719776192]. Older transactions must be validated under the old rules. (see the Backwards Compatibility section for details). For example, the scriptPubKey and corresponding scriptSig for a one-signature-required transaction is: From 14834fa63c9de42140d1d70ed6dab0837a202186 Mon Sep 17 00:00:00 2001 From: Gigi <109058+dergigi@users.noreply.github.com> Date: Tue, 9 Apr 2019 22:41:52 -0500 Subject: [PATCH 046/133] is alive any working -> is alive and working --- bip-0002.mediawiki | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-0002.mediawiki b/bip-0002.mediawiki index b4567c42..3bf5aecb 100644 --- a/bip-0002.mediawiki +++ b/bip-0002.mediawiki @@ -240,7 +240,7 @@ What if a single merchant wishes to block a hard-fork? How about a small number of merchants (maybe only two) who sell products to each other? -* In this scenario, it would seem the previous Bitcoin is alive any working, and that the hard-fork has failed. How to resolve such a split is outside the scope of this BIP. +* In this scenario, it would seem the previous Bitcoin is alive and working, and that the hard-fork has failed. How to resolve such a split is outside the scope of this BIP. How can economic agreement veto a soft-fork? From d69e368ce3ef402e57f34ed40bf61508355ffa9d Mon Sep 17 00:00:00 2001 From: Paul Sztorc Date: Wed, 17 Apr 2019 16:59:40 -0700 Subject: [PATCH 047/133] typo the critical txn should start with "03", as it has version number 3 --- .../witness-vs-critical.png | Bin 265603 -> 268309 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/bip-blind-merged-mining/witness-vs-critical.png b/bip-blind-merged-mining/witness-vs-critical.png index 77003e8fde211c22a67527c2d26afd120e9bf322..79c84b1fc5ddd95f0c574951e91f50ba7efb925b 100644 GIT binary patch literal 268309 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℘uCy2$hoxOOl^Dty_~{bh|%!c*&Jd}fT2 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

_t%5A+A-%HF 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

#&)L-r}O9iQt&P>$DauRs7!x2eU3_ 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�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 z≧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 V9lr_{i!cNp**8j(<>K!?|1WyVUF84( From 0cb0d361a57f90b3cad39527347360cb206bf9e3 Mon Sep 17 00:00:00 2001 From: Gigi <109058+dergigi@users.noreply.github.com> Date: Sun, 21 Apr 2019 19:17:41 -0500 Subject: [PATCH 048/133] [Trivial] Fix word repetition * changes modifies -> modifies * index of of -> index of --- bip-0069.mediawiki | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bip-0069.mediawiki b/bip-0069.mediawiki index e9f92451..3aa94634 100644 --- a/bip-0069.mediawiki +++ b/bip-0069.mediawiki @@ -78,7 +78,7 @@ N.B. All comparisons do not need to operate in constant time since they are not ===Transaction Inputs=== -Transaction inputs are defined by the hash of a previous transaction, the output index of of a UTXO from that previous transaction, the size of an unlocking script, the unlocking script, and a sequence number. [3] +Transaction inputs are defined by the hash of a previous transaction, the output index of a UTXO from that previous transaction, the size of an unlocking script, the unlocking script, and a sequence number. [3] For sorting inputs, the hash of the previous transaction and the output index within that transaction are sufficient for sorting purposes; each transaction hash has an extremely high probability of being unique in the blockchain — this is enforced for coinbase transactions by BIP30 — and output indices within a transaction are unique. For the sake of efficiency, transaction hashes should be compared first before output indices, since output indices from different transactions are often equivalent, while all bytes of the transaction hash are effectively random variables. @@ -87,7 +87,7 @@ In the event of two matching transaction hashes, the respective previous output If the previous output indices match, the inputs are considered equal. Transaction malleability will not negatively impact the correctness of this process. -Even if a wallet client follows this process using unconfirmed UTXOs as inputs and an attacker changes modifies the blockchain’s record of the hash of the previous transaction, the wallet client will include the invalidated previous transaction hash in its input data, and will still correctly sort with respect to that invalidated hash. +Even if a wallet client follows this process using unconfirmed UTXOs as inputs and an attacker modifies the blockchain’s record of the hash of the previous transaction, the wallet client will include the invalidated previous transaction hash in its input data, and will still correctly sort with respect to that invalidated hash. ===Transaction Outputs=== From 49d44b9b287f164c5b55718abe90620ddb8778d3 Mon Sep 17 00:00:00 2001 From: Torkel Rogstad Date: Tue, 30 Apr 2019 10:51:43 +0200 Subject: [PATCH 049/133] Update bip-0049.mediawiki Fix broken internal link --- bip-0049.mediawiki | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-0049.mediawiki b/bip-0049.mediawiki index 74645a1e..4551b311 100644 --- a/bip-0049.mediawiki +++ b/bip-0049.mediawiki @@ -68,7 +68,7 @@ To derive the P2SH address from the above calculated public key, we use the enca ==Backwards Compatibility== -This BIP is not backwards compatible by design as described under [#considerations]. An incompatible wallet will not discover accounts at all and the user will notice that something is wrong. +This BIP is not backwards compatible by design as described under [[#considerations|considerations]]. An incompatible wallet will not discover accounts at all and the user will notice that something is wrong. ==Test vectors== From d8dea4ef095e5ce8a12f7956a9951cb5cddf8964 Mon Sep 17 00:00:00 2001 From: MarcoFalke Date: Mon, 13 May 2019 18:24:52 -0400 Subject: [PATCH 050/133] BIP 144: Old serialization format must be used on empty witness --- bip-0144.mediawiki | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-0144.mediawiki b/bip-0144.mediawiki index 75d8a1b5..8ec2191c 100644 --- a/bip-0144.mediawiki +++ b/bip-0144.mediawiki @@ -79,7 +79,7 @@ The serialization has the following structure: Parsers supporting this BIP will be able to distinguish between the old serialization format (without the witness) and this one. The marker byte is set to zero so that this structure will never parse as a valid transaction in a parser that does not support this BIP. If parsing were to succeed, such a transaction would contain no inputs and a single output. -If the witness is empty, the old serialization format should be used. +If the witness is empty, the old serialization format must be used. Currently, the only witness objects type supported are script witnesses which consist of a stack of byte arrays. It is encoded as a var_int item count followed by each item encoded as a var_int length followed by a string of bytes. Each txin has its own script witness. The number of script witnesses is not explicitly encoded as it is implied by txin_count. Empty script witnesses are encoded as a zero byte. The order of the script witnesses follows the same order as the associated txins. From 19d3b9dc829ca52133dd71497f0768118d7462d2 Mon Sep 17 00:00:00 2001 From: Andrew Chow Date: Mon, 13 May 2019 22:00:26 -0400 Subject: [PATCH 051/133] bip174: add global xpub field --- bip-0174.mediawiki | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/bip-0174.mediawiki b/bip-0174.mediawiki index f197728f..8c9443e3 100644 --- a/bip-0174.mediawiki +++ b/bip-0174.mediawiki @@ -118,6 +118,12 @@ The currently defined global types are as follows: *** {transaction} ** Note: Every PSBT must have a field with this type. +* Type: Extended Public Key PSBT_GLOBAL_XPUB = 0x01 +** Key: The type followed by the 78 byte serialized extended public key as defined by BIP 32. Extended public keys are those that can be used to derive public keys used in the inputs and outputs of this transaction. It should be the public key at the highest hardened derivation index so that the unhardened child keys used in the transaction can be derived. +*** {0x01}|{xpub} +** Value: The master key fingerprint as defined by BIP 32 concatenated with the derivation path of the public key. The derivation path is represented as 32 bit unsigned integer indexes concatenated with each other. The number of 32 bit unsigned integer indexes must match the depth provided in the extended public key. +*** {master key fingerprint}|{32-bit int}|...|{32-bit int} + The currently defined per-input types are defined as follows: * Type: Non-Witness UTXO PSBT_IN_NON_WITNESS_UTXO = 0x00 From e1f770e23617ddb5d9d78597c7377fd6f956f67d Mon Sep 17 00:00:00 2001 From: Andrew Chow Date: Sun, 9 Jun 2019 10:44:32 +0200 Subject: [PATCH 052/133] bip174: add section describing change detection --- bip-0174.mediawiki | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/bip-0174.mediawiki b/bip-0174.mediawiki index 8c9443e3..1dc3b474 100644 --- a/bip-0174.mediawiki +++ b/bip-0174.mediawiki @@ -364,6 +364,23 @@ for input,i in enumerate(psbt.inputs): assert False

+====Change Detection==== + +Signers may wish to display the inputs and outputs to users for extra verification. +In such displays, signers may wish to identify which outputs are change outputs in order to omit them to avoid additional user confusion. +In order to detect change, a signer can use the BIP 32 derivation paths provided in inputs and outputs as well as the extended public keys provided globally. + +For a single key output, a signer can observe whether the master fingerprint for the public key for that output belongs to itself. +If it does, it can then derive the public key at the specified derivation path and check whether that key is the one present in that output. + +For outputs involving multiple keys, a signer can first examine the inputs that it is signing. +It should determine the general pattern of the script and internally produce a representation of the policy that the script represents. +Such a policy can include things like how many keys are present, what order they are in, how many signers are necessary, which signers are required, etc. +The signer can then use the BIP 32 derivation paths for each of the pubkeys to find which global extended public key is the one that can derive that particular public key. +To do so, the signer would extract the derivation path to the highest hardened index and use that to lookup the public key with that index and master fingerprint. +The signer would construct this script policy with extended public keys for all of the inputs and outputs. +Change outputs would then be identified as being the outputs which have the same script policy as the inputs that are being signed. + ===Combiner=== The Combiner can accept 1 or many PSBTs. From e78c384755f2bd6bf233d585a0ffd70b57eb43db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D0=B5=D0=BB=D0=B5=D1=81=D0=BB=D0=B0=D0=B2?= Date: Wed, 12 Sep 2018 20:17:33 +1000 Subject: [PATCH 053/133] BIP-136: Bech32 Encoded Tx Position References --- README.mediawiki | 7 ++ bip-0136.mediawiki | 276 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 283 insertions(+) create mode 100644 bip-0136.mediawiki diff --git a/README.mediawiki b/README.mediawiki index 2e28c5fb..151e25c7 100644 --- a/README.mediawiki +++ b/README.mediawiki @@ -658,6 +658,13 @@ Those proposing changes should consider that ultimately consent may rest with th | Sancho Panza | Informational | Draft +|- +| [[bip-0136.mediawiki|136]] +| Applications +| Bech32 Encoded Tx Position References +| Велеслав, Jonas Schnelli +| Informational +| Draft |- style="background-color: #cfffcf" | [[bip-0137.mediawiki|137]] | Applications diff --git a/bip-0136.mediawiki b/bip-0136.mediawiki new file mode 100644 index 00000000..e8b107d9 --- /dev/null +++ b/bip-0136.mediawiki @@ -0,0 +1,276 @@ +
+  BIP: 136
+  Layer: Applications
+  Title: Bech32 Encoded Tx Position References
+  Author: Велеслав 
+          Jonas Schnelli 
+  Comments-Summary: No comments yet.
+  Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0136
+  Status: Draft
+  Type: Informational
+  Created: 2017-07-09
+  License: BSD-2-Clause
+
+ +== Introduction == + +=== Abstract === + +This document proposes a human useable format: '''"TxRef"''' as a standard way of referencing transaction positions within the Bitcoin Blockchain. The primary purpose of this format is to allow end-users an effective and convenient way of referencing transactions that have been confirmed within the blockchain. + +''Please note: that a TxRef does not reference an actual transaction itself, rather it references a possible location within a blockchain for a transaction, that may or may not, point to an actual transaction and may change with reorganisations. We recommend that TxRef's should be not used for positions within the blockchain with a maturity less than 100 blocks.'' + +=== Copyright === + +This BIP is licensed under the 2-clause BSD license. + +=== Motivation === +Since the first version of Bitcoin, TxID's (Transaction Identifiers) that are a core part of the consensus protocol, have been routinely used to identify individual transactions between users. + +However, for many use-cases they have practical limitations: +* TxIDs are expensive for full nodes to lookup (requiring either a linear scan of the blockchain, or an expensive TxID index). +* TxIDs require third-party service for SPV wallets to lookup. +* TxIDs are very long HEX encoded values (64 characters long). + +For transactions that have been embedded in the blockchain, it is possible to reference them not by their TxID, but by their location within the blockchain itself. In this document, we propose a standard for doing this. + +=== Examples === +These examples are for Bitcoin Transactions. +* Genesis Coinbase Transaction: tx1:rqqq-qqqq-qmhu-qk (need to update) +* Transaction #2205 of Block #466793: tx1:rjk0-u5ng-4jsf-mc (need to update) + +== Specification == + +A '''confirmed transaction position reference''', or '''TxRef''' is reference to a particular location within the blockchain specified by the block height and a index within the block. + +''Please Note: All values in this specification are encoded in little-endian format.'' + +=== Transaction Position Reference Considerations === +A TxRef may reference a location that doesn't exist because: + +* The block height hasn't been mined. Or, +* The index is more than the total number of transactions included within the specified block. + +Therefore, implementers must be careful not to display TxRef's to users prematurely: + +* Applications MUST NOT display TxRef's for transactions with less than 6 confirmations. +* Application MUST show a warning for TxRef's for transactions with less than 100 confirmations. +** This warning SHOULD state that in the case of a large reorganisation, the TxRefs Displayed may point to a different transaction, or to no transaction at all. + +=== Encoding === + +TxRef uses standard Bech32'''Why use Bech32 Encoding for Confirmed Transaction References?''' The error detection and correction properties of this encoding format make it very attractive. We expect that it will be reasonable for software to correct a maximum of two characters; however, we haven’t specified this yet. encoding as defined in [https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki BIP-173] and therefore consists of: + +* Human-readable Part, or "HRP", that provides namespacing. We have chosen to distinguish between Main and Test Networks: +**For Any Mainnet Network: '''"tx"'''. +**For Any Testnet Network: '''"txtest"'''. +**Please see [https://github.com/satoshilabs/slips/blob/master/slip-0173.md SLIP-0173 : Registered human-readable parts for BIP-0173] for a full list of HRP's including these two and other relating to other projects. +* Separator: '''"1"'''. +* Data Part. + +To increase portability and readability additional separators SHOULD be added: + +* A Colon'''Why add a colon here?''' This allows it to conform better with W3C URN/URL standards. '''":"''' added after '1'. +* Hyphens'''Why hyphens to the TxRef?''' As TxRef's are short, we expect that they will be quoted via voice or written by hand. The inclusion of hyphens every 4 characters breaks the string and means people don't loose their place so easily. '''"-"''' added after every 4 characters beyond the colon. + +All non-bech32-alphabet characters after the bech32 code separator MUST be ignored/removed when parsing (except for terminating characters).'''Why strip all non-bech32-alphabet characters?''' We do not wish to expect the users to keep their TxRef's in good unicode form (hyphens, colons, invisible spaces, random unicode characters, etc). We expect them to copy, paste, write by-hand, write in a mix of character sets, etc. Parsers should automatically correct for all sorts of these common errors. + +{| class="wikitable" +|+TxRef String Format for Bitcoin Mainnet and Bitcoin Testnet: +! +!Bit +!Character +!Characters +!Value +|- +|Human Readable Part +| +|1 – 2 +|2 +|Bitcoin Mainnet: "'''tx'''", Bitcoin Testnet: "'''txtest'''" +|- +|Separator +| +|3 +|1 +|"'''1'''" +|- +|Colon +| +|4 +|1 +|"''':'''" +|- +|Data +|0 – 19 +|5 – 8 +|4 +| +|- +|Hyphen +| +|9 +|1 +|"'''-'''" +|- +|Data +|20 – 39 +|10 – 13 +|4 +| +|- +|Hyphen +| +|14 +|1 +|"'''-'''" +|- +|Data +|40 – 59 +|15 – 18 +|4 +| +|- +|Hyphen +| +|19 +|1 +|"'''-'''" +|- +|Data +|60 – 74 +|20 – 22 +|3 +| +|} + +=== Data Part === +{| class="wikitable" +|+TxRef Binary Format for Bitcoin Mainnet and Bitcoin Testnet: +! +!'''Bit''' +!'''Bit(s)''' +!'''Type''' +!'''Values''' +!'''Notes''' +|- +|Magic +|0 – 4 +|5 +|Chain Namespacing Code +|'''0x3''' for Bitcoin Mainnet, or '''0x6''' for Bitcoin Testnet +| +|- +|Version +|5 +|1 +|For Future Use +|Must be '''0x0''' +| +|- +|Block Height +|6 – 29 +|24 +|The Block Height of the Tx +|Block 0 (genesis) to block 16777215 +|Until Year ~2328 +|- +|Transaction Index +|30 – 44 +|15 +|The index of the Tx inside the block +|Tx 0 (coinbase) to Tx position 32767 +|Max Tx's in block is 16665 +|- +|Checksum +|45 – 74 +|30 +|Bech32 Checksum +| +| +|} +==== Magic Notes: ==== +The magic code provides namespacing between chains. 5-bit magic codes are used for the Bitcoin Mainnet and the Bitcoin Testnet. (it may be significantly longer for other projects/chains): + +* For Bitcoin Mainnet the magic code is: '''0x3''', leading to a '''"r"''' character. +* For Bitcoin Testnet the magic code is: '''0x6''', leading to a '''"x"''' character. + +Codes '''0x0''', '''0x1''', '''0x2''' are also reserved for future use within the Bitcoin project. + +''Any other chain MUST NOT start their magic code with any value between 0x0 and 0x6 inclusive.'' + +Other magic codes will be specified in SLIP-XXXX "TxRef for Non-Bitcoin Chains and Networks". + +=== Compatibly === +There are no known compatibility issues. + +== Rationale == + + + +== Reference implementations == +C Reference Implementation: https://github.com/jonasschnelli/bitcoin_txref_code + +Go Reference Implementation: https://github.com/kulpreet/txref + +== Appendices == + +=== Test Vectors === +There are two sets of Test Vectors included here: + +* Bech32 Encoding Test Vectors. These are to test if a implementation accepts the encoding, with the correct human readable part, and separator. +* Bitcoin TxRef Test Vectors. These test the full specification, in particular correct values for block height and the transaction index. + +==== Bech32 Encoding (for TxRef). ==== +''Please Note: All test vectors are shown to help test if a string is compliant or not. All real-life applications (such as for Bitcoin) should comply with the Bitcoin Test Vectors listed Below.'' + +The following strings have a valid Human Readable Part and Bech32 Checksum. +* TX1A12UEL5L +* tx1an83characterlonghumanreadablepartthatcontainsthenumber1andtheexcludedcharactersbio1tt5tgs +* tx1abcdef1qpzry9x8gf2tvdw0s3jn54khce6mua7lmqqqxw +* tx11qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqc8247j + +The following list gives invalid TxRef's and the reason for their invalidity. +* bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kg3g4ty: Invalid human-readable part +* tx1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t5: Invalid checksum + +==== Bitcoin TxRef (out of date, need to be amended). ==== +The following list gives properly encoded Bitcoin TxRef's and the values in hex. (block height, transaction index) + +* tx1:rqqq-qqqq-qmhu-qk: (0x0, 0x0) +* tx1:rqqq-qull-6v87-r7: (0x0, 0x1FFF) +* tx1:r7ll-lrqq-vq5e-gg: (0x1FFFFF, 0x0) +* tx1:r7ll-llll-khym-tq: (0x1FFFFF, 0x1FFF) + +The following list give valid Bitcoin TxRef's and the values in hex. (block height, transaction index) +* tx1:rjk0-u5ng-4jsf-mc: (0x71F69, 0x89D) +* TX1RJK0U5NG4JSFMC: (0x71F69, 0x89D) +* TX1R1JK0--U5bNG4JSb----FMC: (0x71F69, 0x89D) +* tx1 rjk0 u5ng 4jsfmc: (0x71F69, 0x89D) +* tx1!rjk0\u5ng*4jsf^^mc: (0x71F69, 0x89D) + +The following list gives invalid Bitcoin TxRef's and the reason for their invalidity. +* tx1:t7ll-llll-gey7-ez: Magic 0xB instead of 0x3. (0x1FFFFF, 0x1FFF) +* tx1:rlll-llll-cgqu-n2: Version 1 instead of 0. (0x1FFFFF, 0x1FFF) +* tx1:rjk0-u5ng-gghq-fkg7: Valid Bech32, but 10x5bit packages instead of 8. +* tx1:rjk0-u5qd-s43z: Valid Bech32, but 6x5bit packages instead of 8. + +=== Bitcoin TxRef Payload Value Choice: === +Some calculations showing why we chose these particular bit-length of the block height and transaction index. + +==== Block Height Value: ==== +24-bit: between 0, and 0xFFFFFF (16,777,216 blocks). + +*There are ~52,500 blocks every year, leading to ~319 years of blocks addressable. +*Therefore before year 2328 this specification should be extended. (We think that we have plenty of time). + +==== Tx Position Value: ==== +15-bit: between 0x0, and 0x7FFF. (32,768 transactions). + +*The ''realistic'' smallest Tx is 83 Bytes: Max 12047 tx in a block. +**4B version + 1B tx_in count + 36B previous_output + 1B script length + 0B signature script + 4B sequence + 1B tx_out count + 8B amount + 1B script length + 23B pubkey script + 4B lock_time = 83B +*The ''extreme'' smallest Tx is 60 Byte's: Max 16665 tx in a block. +**4B version + 1B tx_in count + 36B previous_output + 1B script length + 0B signature script + 4B sequence + 1B tx_out count + 8B amount + 1B script length + 0B pubkey script + 4B lock_time = 60B + +== Acknowledgements == +Special Thanks to Pieter Wuille and Greg Maxwell for Bech32, a wonderful user-facing data encoding. From a8bb0a4e39a9eefa419d2f83f40b6af97699016f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D0=B5=D0=BB=D0=B5=D1=81=D0=BB=D0=B0=D0=B2?= Date: Tue, 6 Nov 2018 15:35:44 +0800 Subject: [PATCH 054/133] Include Optional Encoded Outpoints With thanks to Daniel Pape for the work behind this idea. Please not that the test-vectors still need to be updated (again). --- README.mediawiki | 2 +- bip-0136.mediawiki | 166 +++++++++++++++++++++++++++------------------ 2 files changed, 100 insertions(+), 68 deletions(-) diff --git a/README.mediawiki b/README.mediawiki index 151e25c7..11ecbb1a 100644 --- a/README.mediawiki +++ b/README.mediawiki @@ -662,7 +662,7 @@ Those proposing changes should consider that ultimately consent may rest with th | [[bip-0136.mediawiki|136]] | Applications | Bech32 Encoded Tx Position References -| Велеслав, Jonas Schnelli +| Велеслав, Jonas Schnelli, Daniel Pape | Informational | Draft |- style="background-color: #cfffcf" diff --git a/bip-0136.mediawiki b/bip-0136.mediawiki index e8b107d9..15bc29a1 100644 --- a/bip-0136.mediawiki +++ b/bip-0136.mediawiki @@ -4,6 +4,7 @@ Title: Bech32 Encoded Tx Position References Author: Велеслав Jonas Schnelli + Daniel Pape Comments-Summary: No comments yet. Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0136 Status: Draft @@ -15,10 +16,9 @@ == Introduction == === Abstract === +This document proposes a convenient human useable format, '''"TxRef"''', as a standard way to refer to a transaction position within the Bitcoin Blockchain, and optionally a particular outpoint index with the referred transaction. The primary purpose of this format is to allow users to refer to a confirmed transaction (and optionally an outpoint index within) in a standard reliable and concise way. -This document proposes a human useable format: '''"TxRef"''' as a standard way of referencing transaction positions within the Bitcoin Blockchain. The primary purpose of this format is to allow end-users an effective and convenient way of referencing transactions that have been confirmed within the blockchain. - -''Please note: that a TxRef does not reference an actual transaction itself, rather it references a possible location within a blockchain for a transaction, that may or may not, point to an actual transaction and may change with reorganisations. We recommend that TxRef's should be not used for positions within the blockchain with a maturity less than 100 blocks.'' +''Please note: Unlike TxID where there is strong cryptographic link between the ID and the actual transaction. TxRef only provide a weak link to a particular transaction. TxRef locates an offset within a blockchain for a transaction, that may - or may not - point to an actual transaction, which fact may change with reorganisations. We recommend that TxRef's should be not used for positions within the blockchain having a maturity less than 100 blocks.'' === Copyright === @@ -32,24 +32,25 @@ However, for many use-cases they have practical limitations: * TxIDs require third-party service for SPV wallets to lookup. * TxIDs are very long HEX encoded values (64 characters long). -For transactions that have been embedded in the blockchain, it is possible to reference them not by their TxID, but by their location within the blockchain itself. In this document, we propose a standard for doing this. +For transactions that have been embedded in the blockchain, it is possible to reference them not by their TxID, but by their location within the blockchain itself. The encoding can be made friendly for occasional human transcription. In this document, we propose a standard for doing this. === Examples === These examples are for Bitcoin Transactions. -* Genesis Coinbase Transaction: tx1:rqqq-qqqq-qmhu-qk (need to update) -* Transaction #2205 of Block #466793: tx1:rjk0-u5ng-4jsf-mc (need to update) +* Genesis Coinbase Transaction: tx1:rqqq-qqqq-qmhu-qhp +* Transaction #2205 of Block #466793: tx1:rjk0-uqay-zsrw-hqe == Specification == -A '''confirmed transaction position reference''', or '''TxRef''' is reference to a particular location within the blockchain specified by the block height and a index within the block. +A '''confirmed transaction position reference''', or '''TxRef''', is a reference to a particular location within the blockchain, specified by the block height and a transaction index within the block, and optionally a outpoint index within the transaction. ''Please Note: All values in this specification are encoded in little-endian format.'' === Transaction Position Reference Considerations === A TxRef may reference a location that doesn't exist because: -* The block height hasn't been mined. Or, -* The index is more than the total number of transactions included within the specified block. +* The specified block hasn't yet been mined. Or, +* The transaction index is greater than the total number of transactions included within the specified block. +* The optional outpoint index is greater than the total outpoints contained within the transaction. Therefore, implementers must be careful not to display TxRef's to users prematurely: @@ -62,21 +63,23 @@ Therefore, implementers must be careful not to display TxRef's to users prematur TxRef uses standard Bech32'''Why use Bech32 Encoding for Confirmed Transaction References?''' The error detection and correction properties of this encoding format make it very attractive. We expect that it will be reasonable for software to correct a maximum of two characters; however, we haven’t specified this yet. encoding as defined in [https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki BIP-173] and therefore consists of: * Human-readable Part, or "HRP", that provides namespacing. We have chosen to distinguish between Main and Test Networks: -**For Any Mainnet Network: '''"tx"'''. -**For Any Testnet Network: '''"txtest"'''. -**Please see [https://github.com/satoshilabs/slips/blob/master/slip-0173.md SLIP-0173 : Registered human-readable parts for BIP-0173] for a full list of HRP's including these two and other relating to other projects. +** For Any Mainnet Network: '''"tx"'''. +** For Any Testnet Network: '''"txtest"'''. +** Please see [https://github.com/satoshilabs/slips/blob/master/slip-0173.md SLIP-0173 : Registered human-readable parts for BIP-0173] for a full list of HRP's including these two and others relating to other projects. * Separator: '''"1"'''. * Data Part. +Please node: other specifcations, such as [https://w3c-ccg.github.io/did-spec/ Decentralized Identifier syntax] , have implicitly encoded the information contained within the HRP elsewhere. In this case they may choose not include the HRP as specified here. + To increase portability and readability additional separators SHOULD be added: * A Colon'''Why add a colon here?''' This allows it to conform better with W3C URN/URL standards. '''":"''' added after '1'. -* Hyphens'''Why hyphens to the TxRef?''' As TxRef's are short, we expect that they will be quoted via voice or written by hand. The inclusion of hyphens every 4 characters breaks the string and means people don't loose their place so easily. '''"-"''' added after every 4 characters beyond the colon. +* Hyphens'''Why hyphens to the TxRef?''' As TxRef's are short, we expect that they will be quoted via voice or written by hand. The inclusion of hyphens every 4 characters breaks the string and means people don't lose their place so easily. '''"-"''' added after every 4 characters beyond the colon. All non-bech32-alphabet characters after the bech32 code separator MUST be ignored/removed when parsing (except for terminating characters).'''Why strip all non-bech32-alphabet characters?''' We do not wish to expect the users to keep their TxRef's in good unicode form (hyphens, colons, invisible spaces, random unicode characters, etc). We expect them to copy, paste, write by-hand, write in a mix of character sets, etc. Parsers should automatically correct for all sorts of these common errors. {| class="wikitable" -|+TxRef String Format for Bitcoin Mainnet and Bitcoin Testnet: +|+Text Encoding of the TxRef ! !Bit !Character @@ -112,39 +115,12 @@ All non-bech32-alphabet characters after the bech32 code separator MUST be ignor |9 |1 |"'''-'''" -|- -|Data -|20 – 39 -|10 – 13 -|4 -| -|- -|Hyphen -| -|14 -|1 -|"'''-'''" -|- -|Data -|40 – 59 -|15 – 18 -|4 -| -|- -|Hyphen -| -|19 -|1 -|"'''-'''" -|- -|Data -|60 – 74 -|20 – 22 -|3 -| |} +The Data - Hyphen patten is repeated for the entire length of data, ( a hyphen is inserted after every encoded 20 bits or 4 data characters). +=== Data === + +The 75 or 90 bits of data encoded in the string above are defined in this manner: -=== Data Part === {| class="wikitable" |+TxRef Binary Format for Bitcoin Mainnet and Bitcoin Testnet: ! @@ -158,7 +134,10 @@ All non-bech32-alphabet characters after the bech32 code separator MUST be ignor |0 – 4 |5 |Chain Namespacing Code -|'''0x3''' for Bitcoin Mainnet, or '''0x6''' for Bitcoin Testnet +|'''0x3''' for Bitcoin Mainnet. +'''0x4''' for Bitcoin Mainnet with Outpoint. +'''0x6''' for Bitcoin Testnet. +'''0x7''' for Bitcoin Testnet with Outpoint. | |- |Version @@ -181,27 +160,59 @@ All non-bech32-alphabet characters after the bech32 code separator MUST be ignor |The index of the Tx inside the block |Tx 0 (coinbase) to Tx position 32767 |Max Tx's in block is 16665 +|} +If the magic is '''0x4''' or '''0x7''', an optional outpoint is included in the encoding: + +{| class="wikitable" +|+Optional Outpoint Index Encoding: +! +!'''Bit''' +!'''Bit(s)''' +!'''Type''' +!'''Values''' +!'''Notes''' +|- +|Outpoint Index +|45 – 59 +|15 +|The index of the Outpoint inside the Tx +|Outpoint 0 to Outpoint Position 32767 +| +|} + +We include the 30-bit checksum last: +{| class="wikitable" +|+Bech32 Checksum Encoding: +! +!'''Bit''' +!'''Bit(s)''' +!'''Type''' +!'''Values''' +!'''Notes''' |- |Checksum -|45 – 74 +|45 – 74 or 60 – 89 |30 |Bech32 Checksum | | |} + ==== Magic Notes: ==== The magic code provides namespacing between chains. 5-bit magic codes are used for the Bitcoin Mainnet and the Bitcoin Testnet. (it may be significantly longer for other projects/chains): -* For Bitcoin Mainnet the magic code is: '''0x3''', leading to a '''"r"''' character. -* For Bitcoin Testnet the magic code is: '''0x6''', leading to a '''"x"''' character. +* For Bitcoin Mainnet the magic code is: '''0x3''', leading to an '''"r"''' character when encoded. +* For Bitcoin Mainnet with Outpoint Encoded the magic code is: '''0x4''', leading to an '''"y"''' character when encoded. +* For Bitcoin Testnet the magic code is: '''0x6''', leading to an '''"x"''' character when encoded. +* For Bitcoin Testnet with Outpoint Encoded the magic code is: '''0x7''', leading to an '''"8"''' character when encoded. -Codes '''0x0''', '''0x1''', '''0x2''' are also reserved for future use within the Bitcoin project. +Codes '''0x0''', '''0x1''', '''0x2''', '''0x5''', are also reserved for future use within the Bitcoin project. -''Any other chain MUST NOT start their magic code with any value between 0x0 and 0x6 inclusive.'' +''Any other chain MUST NOT start their magic code with any value between 0x0 and 0x7 inclusive.'' Other magic codes will be specified in SLIP-XXXX "TxRef for Non-Bitcoin Chains and Networks". -=== Compatibly === +=== Compatibility === There are no known compatibility issues. == Rationale == @@ -209,9 +220,11 @@ There are no known compatibility issues. == Reference implementations == -C Reference Implementation: https://github.com/jonasschnelli/bitcoin_txref_code +C Reference Implementation (supports version 0): https://github.com/jonasschnelli/bitcoin_txref_code -Go Reference Implementation: https://github.com/kulpreet/txref +Go Reference Implementation (supports version 0): https://github.com/kulpreet/txref + +C++ Reference Implementation (support versions 0 and 1): https://github.com/dcdpr/btcr-DID-method/blob/master/libtxref == Appendices == @@ -234,24 +247,24 @@ The following list gives invalid TxRef's and the reason for their invalidity. * bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kg3g4ty: Invalid human-readable part * tx1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t5: Invalid checksum -==== Bitcoin TxRef (out of date, need to be amended). ==== +==== Bitcoin TxRef ==== The following list gives properly encoded Bitcoin TxRef's and the values in hex. (block height, transaction index) -* tx1:rqqq-qqqq-qmhu-qk: (0x0, 0x0) -* tx1:rqqq-qull-6v87-r7: (0x0, 0x1FFF) -* tx1:r7ll-lrqq-vq5e-gg: (0x1FFFFF, 0x0) -* tx1:r7ll-llll-khym-tq: (0x1FFFFF, 0x1FFF) +* tx1:rqqq-qqqq-qmhu-qhp: (0x0, 0x0) +* tx1:rqqq-qqll-l8xh-jkg: (0x0, 0x7FFF) +* tx1:r7ll-llqq-qghq-qr8: (0xFFFFFF, 0x0) +* tx1:r7ll-llll-l5xt-jzw: (0xFFFFFF, 0x7FFF) -The following list give valid Bitcoin TxRef's and the values in hex. (block height, transaction index) -* tx1:rjk0-u5ng-4jsf-mc: (0x71F69, 0x89D) -* TX1RJK0U5NG4JSFMC: (0x71F69, 0x89D) -* TX1R1JK0--U5bNG4JSb----FMC: (0x71F69, 0x89D) -* tx1 rjk0 u5ng 4jsfmc: (0x71F69, 0x89D) -* tx1!rjk0\u5ng*4jsf^^mc: (0x71F69, 0x89D) +The following list gives valid Bitcoin TxRef's and the values in hex. (block height, transaction index) +* tx1:rjk0-uqay-zsrw-hqe: (0x71F69, 0x89D) +* TX1RJK0UQAYZSRWHQE: (0x71F69, 0x89D) +* TX1RJK0--UQaYZSRw----HQE: (0x71F69, 0x89D) +* tx1 rjk0 uqay zsrw hqe: (0x71F69, 0x89D) +* tx1!rjk0\uqay*zsrw^^hqe: (0x71F69, 0x89D) The following list gives invalid Bitcoin TxRef's and the reason for their invalidity. -* tx1:t7ll-llll-gey7-ez: Magic 0xB instead of 0x3. (0x1FFFFF, 0x1FFF) -* tx1:rlll-llll-cgqu-n2: Version 1 instead of 0. (0x1FFFFF, 0x1FFF) +* tx1:t7ll-llll-ldup-3hh: Magic 0xB instead of 0x3. (0xFFFFFF, 0x7FFF) +* tx1:rlll-llll-lfet-r2y: Version 1 instead of 0. (0xFFFFFF, 0x7FFF) * tx1:rjk0-u5ng-gghq-fkg7: Valid Bech32, but 10x5bit packages instead of 8. * tx1:rjk0-u5qd-s43z: Valid Bech32, but 6x5bit packages instead of 8. @@ -272,5 +285,24 @@ Some calculations showing why we chose these particular bit-length of the block *The ''extreme'' smallest Tx is 60 Byte's: Max 16665 tx in a block. **4B version + 1B tx_in count + 36B previous_output + 1B script length + 0B signature script + 4B sequence + 1B tx_out count + 8B amount + 1B script length + 0B pubkey script + 4B lock_time = 60B +=== Test Vectors (version 1) === +These test vectors are extended TxRefs (version 1): + +==== Bitcoin Extended TxRef ==== +The following list gives properly encoded Bitcoin Extended TxRef's and the values in hex. (block height, transaction index, TXO index) + +* tx1:rpqq-qqqq-qqqq-q2ge-ahz: (0x0, 0x0, 0x0) +* tx1:rpqq-qqql-llqq-qshz-qhw: (0x0, 0x7FFF, 0x0) +* tx1:rp7l-lllq-qqqq-qpvh-wkq: (0xFFFFFF, 0x0, 0x0) +* tx1:rp7l-llll-llqq-qmnv-nkv: (0xFFFFFF, 0x7FFF, 0x0) + +* tx1:rpqq-qqqq-qqpq-qg2s-2w6: (0x0, 0x0, 0x1) +* tx1:rpqq-qqql-llpq-qj4t-hwk: (0x0, 0x7FFF, 0x1) +* tx1:rp7l-lllq-qqpq-qrw7-e0c: (0xFFFFFF, 0x0, 0x1) +* tx1:rp7l-llll-llpq-qe39-y05: (0xFFFFFF, 0x7FFF, 0x1) + +* tx1:rpjk-0uqa-yzu4-x0w0-kuq: (0x71F69, 0x89D, 0x1ABC) +* txtest1:xpjk-0uqa-yzu4-xgrl-pue: (0x71F69, 0x89D, 0x1ABC) (testnet, magic number = 0x6) + == Acknowledgements == Special Thanks to Pieter Wuille and Greg Maxwell for Bech32, a wonderful user-facing data encoding. From 4e2bb34d04cb2fdbb5a52fdc6a606f0dfa91adc8 Mon Sep 17 00:00:00 2001 From: "Daniel X. Pape" Date: Wed, 28 Nov 2018 22:30:09 -0800 Subject: [PATCH 055/133] add examples for TxRefs with Outpoints; fix some typos and wording --- bip-0136.mediawiki | 96 ++++++++++++++++++++++++++++------------------ 1 file changed, 58 insertions(+), 38 deletions(-) diff --git a/bip-0136.mediawiki b/bip-0136.mediawiki index 15bc29a1..f94171d4 100644 --- a/bip-0136.mediawiki +++ b/bip-0136.mediawiki @@ -16,27 +16,27 @@ == Introduction == === Abstract === -This document proposes a convenient human useable format, '''"TxRef"''', as a standard way to refer to a transaction position within the Bitcoin Blockchain, and optionally a particular outpoint index with the referred transaction. The primary purpose of this format is to allow users to refer to a confirmed transaction (and optionally an outpoint index within) in a standard reliable and concise way. +This document proposes a convenient human useable format, '''"TxRef"''', as a standard way to refer to a transaction position within the Bitcoin Blockchain, and optionally a particular outpoint index within the referred transaction. The primary purpose of this format is to allow users to refer to a confirmed transaction (and optionally an outpoint index within) in a standard, reliable, and concise way. -''Please note: Unlike TxID where there is strong cryptographic link between the ID and the actual transaction. TxRef only provide a weak link to a particular transaction. TxRef locates an offset within a blockchain for a transaction, that may - or may not - point to an actual transaction, which fact may change with reorganisations. We recommend that TxRef's should be not used for positions within the blockchain having a maturity less than 100 blocks.'' +''Please note: Unlike TxID where there is strong cryptographic link between the ID and the actual transaction, TxRef only provides a weak link to a particular transaction. TxRef locates an offset within a blockchain for a transaction, that may - or may not - point to an actual transaction, which in fact may change with reorganisations. We recommend that TxRef's should be not used for positions within the blockchain having a maturity less than 100 blocks.'' === Copyright === This BIP is licensed under the 2-clause BSD license. === Motivation === -Since the first version of Bitcoin, TxID's (Transaction Identifiers) that are a core part of the consensus protocol, have been routinely used to identify individual transactions between users. +Since the first version of Bitcoin, TxID's (Transaction Identifiers) have been a core part of the consensus protocol and have been routinely used to identify individual transactions between users. However, for many use-cases they have practical limitations: * TxIDs are expensive for full nodes to lookup (requiring either a linear scan of the blockchain, or an expensive TxID index). -* TxIDs require third-party service for SPV wallets to lookup. +* TxIDs require third-party services for SPV wallets to lookup. * TxIDs are very long HEX encoded values (64 characters long). For transactions that have been embedded in the blockchain, it is possible to reference them not by their TxID, but by their location within the blockchain itself. The encoding can be made friendly for occasional human transcription. In this document, we propose a standard for doing this. === Examples === These examples are for Bitcoin Transactions. -* Genesis Coinbase Transaction: tx1:rqqq-qqqq-qmhu-qhp +* Genesis Coinbase Transaction (Transaction #0 of Block #0): tx1:rqqq-qqqq-qmhu-qhp * Transaction #2205 of Block #466793: tx1:rjk0-uqay-zsrw-hqe == Specification == @@ -69,12 +69,12 @@ TxRef uses standard Bech32'''Why use Bech32 Encoding for Confirme * Separator: '''"1"'''. * Data Part. -Please node: other specifcations, such as [https://w3c-ccg.github.io/did-spec/ Decentralized Identifier syntax] , have implicitly encoded the information contained within the HRP elsewhere. In this case they may choose not include the HRP as specified here. +Please note: other specifications, such as [https://w3c-ccg.github.io/did-spec/ the Decentralized Identifiers spec], have implicitly encoded the information contained within the HRP elsewhere. In this case they may choose to not include the HRP as specified here. To increase portability and readability additional separators SHOULD be added: * A Colon'''Why add a colon here?''' This allows it to conform better with W3C URN/URL standards. '''":"''' added after '1'. -* Hyphens'''Why hyphens to the TxRef?''' As TxRef's are short, we expect that they will be quoted via voice or written by hand. The inclusion of hyphens every 4 characters breaks the string and means people don't lose their place so easily. '''"-"''' added after every 4 characters beyond the colon. +* Hyphens'''Why hyphens within the TxRef?''' As TxRef's are short, we expect that they will be quoted via voice or written by hand. The inclusion of hyphens every 4 characters breaks up the string and means people don't lose their place so easily. '''"-"''' added after every 4 characters beyond the colon. All non-bech32-alphabet characters after the bech32 code separator MUST be ignored/removed when parsing (except for terminating characters).'''Why strip all non-bech32-alphabet characters?''' We do not wish to expect the users to keep their TxRef's in good unicode form (hyphens, colons, invisible spaces, random unicode characters, etc). We expect them to copy, paste, write by-hand, write in a mix of character sets, etc. Parsers should automatically correct for all sorts of these common errors. @@ -116,10 +116,10 @@ All non-bech32-alphabet characters after the bech32 code separator MUST be ignor |1 |"'''-'''" |} -The Data - Hyphen patten is repeated for the entire length of data, ( a hyphen is inserted after every encoded 20 bits or 4 data characters). +The Data - Hyphen pattern is repeated for the entire length of data, ( a hyphen is inserted after every encoded 20 bits or 4 data characters). === Data === -The 75 or 90 bits of data encoded in the string above are defined in this manner: +Depending on if an optional transaction outpoint is included, there can be 75 or 90 bits of data encoded in the string above. These bits are defined in this manner: {| class="wikitable" |+TxRef Binary Format for Bitcoin Mainnet and Bitcoin Testnet: @@ -130,7 +130,7 @@ The 75 or 90 bits of data encoded in the string above are defined in this manner !'''Values''' !'''Notes''' |- -|Magic +|Magic Code |0 – 4 |5 |Chain Namespacing Code @@ -161,7 +161,7 @@ The 75 or 90 bits of data encoded in the string above are defined in this manner |Tx 0 (coinbase) to Tx position 32767 |Max Tx's in block is 16665 |} -If the magic is '''0x4''' or '''0x7''', an optional outpoint is included in the encoding: +If the magic code is '''0x4''' or '''0x7''', an optional outpoint is included in the encoding: {| class="wikitable" |+Optional Outpoint Index Encoding: @@ -176,7 +176,7 @@ If the magic is '''0x4''' or '''0x7''', an optional outpoint is included in the |45 – 59 |15 |The index of the Outpoint inside the Tx -|Outpoint 0 to Outpoint Position 32767 +|Outpoint 0 to Outpoint Position 32767 | |} @@ -220,11 +220,11 @@ There are no known compatibility issues. == Reference implementations == -C Reference Implementation (supports version 0): https://github.com/jonasschnelli/bitcoin_txref_code +C Reference Implementation (supports magic codes 0x3 and 0x6): https://github.com/jonasschnelli/bitcoin_txref_code -Go Reference Implementation (supports version 0): https://github.com/kulpreet/txref +Go Reference Implementation (supports magic codes 0x3 and 0x6): https://github.com/kulpreet/txref -C++ Reference Implementation (support versions 0 and 1): https://github.com/dcdpr/btcr-DID-method/blob/master/libtxref +C++ Reference Implementation (support magic codes 0x3, 0x4, 0x6, 0x7): https://github.com/dcdpr/btcr-DID-method/ == Appendices == @@ -232,7 +232,7 @@ C++ Reference Implementation (support versions 0 and 1): https://github.com/dcdp There are two sets of Test Vectors included here: * Bech32 Encoding Test Vectors. These are to test if a implementation accepts the encoding, with the correct human readable part, and separator. -* Bitcoin TxRef Test Vectors. These test the full specification, in particular correct values for block height and the transaction index. +* Bitcoin TxRef Test Vectors. These test the full specification, in particular, correct values for block height and the transaction index. ==== Bech32 Encoding (for TxRef). ==== ''Please Note: All test vectors are shown to help test if a string is compliant or not. All real-life applications (such as for Bitcoin) should comply with the Bitcoin Test Vectors listed Below.'' @@ -247,15 +247,22 @@ The following list gives invalid TxRef's and the reason for their invalidity. * bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kg3g4ty: Invalid human-readable part * tx1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t5: Invalid checksum -==== Bitcoin TxRef ==== -The following list gives properly encoded Bitcoin TxRef's and the values in hex. (block height, transaction index) +==== Bitcoin TxRef (mainnet and testnet) ==== +The following list gives properly encoded Bitcoin mainnet TxRef's and the values in hex. (block height, transaction index) * tx1:rqqq-qqqq-qmhu-qhp: (0x0, 0x0) * tx1:rqqq-qqll-l8xh-jkg: (0x0, 0x7FFF) * tx1:r7ll-llqq-qghq-qr8: (0xFFFFFF, 0x0) * tx1:r7ll-llll-l5xt-jzw: (0xFFFFFF, 0x7FFF) -The following list gives valid Bitcoin TxRef's and the values in hex. (block height, transaction index) +The following list gives properly encoded Bitcoin testnet TxRef's and the values in hex. (block height, transaction index) + +* txtest1:xqqq-qqqq-qkla-64l: (0x0, 0x0) +* txtest1:xqqq-qqll-l2wk-g5k: (0x0, 0x7FFF) +* txtest1:x7ll-llqq-q9lp-6pe: (0xFFFFFF, 0x0) +* txtest1:x7ll-llll-lew2-gqs: (0xFFFFFF, 0x7FFF) + +The following list gives valid (though strangely formatted) Bitcoin TxRef's and the values in hex. (block height, transaction index) * tx1:rjk0-uqay-zsrw-hqe: (0x71F69, 0x89D) * TX1RJK0UQAYZSRWHQE: (0x71F69, 0x89D) * TX1RJK0--UQaYZSRw----HQE: (0x71F69, 0x89D) @@ -268,6 +275,38 @@ The following list gives invalid Bitcoin TxRef's and the reason for their invali * tx1:rjk0-u5ng-gghq-fkg7: Valid Bech32, but 10x5bit packages instead of 8. * tx1:rjk0-u5qd-s43z: Valid Bech32, but 6x5bit packages instead of 8. +==== Bitcoin TxRef with Outpoints (mainnet and testnet) ==== +The following list gives properly encoded Bitcoin mainnet TxRef's with Outpoints and the values in hex. (block height, transaction index, TXO index) + +* tx1:yqqq-qqqq-qqqq-ksvh-26: (0x0, 0x0, 0x0) +* tx1:yqqq-qqll-lqqq-v0h2-2k: (0x0, 0x7FFF, 0x0) +* tx1:y7ll-llqq-qqqq-a5zy-tc: (0xFFFFFF, 0x0, 0x0) +* tx1:y7ll-llll-lqqq-8tee-t5: (0xFFFFFF, 0x7FFF, 0x0) + +* tx1:yqqq-qqqq-qpqq-5j9q-nz: (0x0, 0x0, 0x1) +* tx1:yqqq-qqll-lpqq-wd7a-nw: (0x0, 0x7FFF, 0x1) +* tx1:y7ll-llqq-qpqq-lktn-jq: (0xFFFFFF, 0x0, 0x1) +* tx1:y7ll-llll-lpqq-9fsw-jv: (0xFFFFFF, 0x7FFF, 0x1) + +* tx1:yjk0-uqay-zrfq-g2cg-t8: (0x71F69, 0x89D, 0x123) +* tx1:yjk0-uqay-zu4x-nk6u-pc: (0x71F69, 0x89D, 0x1ABC) + +The following list gives properly encoded Bitcoin testnet TxRef's with Outpoints and the values in hex. (block height, transaction index, TXO index) + +* txtest1:8qqq-qqqq-qqqq-cgru-fa: (0x0, 0x0, 0x0) +* txtest1:8qqq-qqll-lqqq-zhcp-f3: (0x0, 0x7FFF, 0x0) +* txtest1:87ll-llqq-qqqq-nvd0-gl: (0xFFFFFF, 0x0, 0x0) +* txtest1:87ll-llll-lqqq-fnkj-gn: (0xFFFFFF, 0x7FFF, 0x0) + +* txtest1:8qqq-qqqq-qpqq-622t-s9: (0x0, 0x0, 0x1) +* txtest1:8qqq-qqll-lpqq-q43k-sf: (0x0, 0x7FFF, 0x1) +* txtest1:87ll-llqq-qpqq-3wyc-38: (0xFFFFFF, 0x0, 0x1) +* txtest1:87ll-llll-lpqq-t3l9-3t: (0xFFFFFF, 0x7FFF, 0x1) + +* txtest1:8jk0-uqay-zrfq-xjhr-gq: (0x71F69, 0x89D, 0x123) +* txtest1:8jk0-uqay-zu4x-aw4h-zl: (0x71F69, 0x89D, 0x1ABC) + + === Bitcoin TxRef Payload Value Choice: === Some calculations showing why we chose these particular bit-length of the block height and transaction index. @@ -285,24 +324,5 @@ Some calculations showing why we chose these particular bit-length of the block *The ''extreme'' smallest Tx is 60 Byte's: Max 16665 tx in a block. **4B version + 1B tx_in count + 36B previous_output + 1B script length + 0B signature script + 4B sequence + 1B tx_out count + 8B amount + 1B script length + 0B pubkey script + 4B lock_time = 60B -=== Test Vectors (version 1) === -These test vectors are extended TxRefs (version 1): - -==== Bitcoin Extended TxRef ==== -The following list gives properly encoded Bitcoin Extended TxRef's and the values in hex. (block height, transaction index, TXO index) - -* tx1:rpqq-qqqq-qqqq-q2ge-ahz: (0x0, 0x0, 0x0) -* tx1:rpqq-qqql-llqq-qshz-qhw: (0x0, 0x7FFF, 0x0) -* tx1:rp7l-lllq-qqqq-qpvh-wkq: (0xFFFFFF, 0x0, 0x0) -* tx1:rp7l-llll-llqq-qmnv-nkv: (0xFFFFFF, 0x7FFF, 0x0) - -* tx1:rpqq-qqqq-qqpq-qg2s-2w6: (0x0, 0x0, 0x1) -* tx1:rpqq-qqql-llpq-qj4t-hwk: (0x0, 0x7FFF, 0x1) -* tx1:rp7l-lllq-qqpq-qrw7-e0c: (0xFFFFFF, 0x0, 0x1) -* tx1:rp7l-llll-llpq-qe39-y05: (0xFFFFFF, 0x7FFF, 0x1) - -* tx1:rpjk-0uqa-yzu4-x0w0-kuq: (0x71F69, 0x89D, 0x1ABC) -* txtest1:xpjk-0uqa-yzu4-xgrl-pue: (0x71F69, 0x89D, 0x1ABC) (testnet, magic number = 0x6) - == Acknowledgements == Special Thanks to Pieter Wuille and Greg Maxwell for Bech32, a wonderful user-facing data encoding. From b65ca1c094c1efb193a79d39efac6e34d390254a Mon Sep 17 00:00:00 2001 From: Fabian Jahr Date: Thu, 13 Jun 2019 12:19:57 -0400 Subject: [PATCH 056/133] BIP 158: remove old reference to extended filter type --- bip-0158.mediawiki | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/bip-0158.mediawiki b/bip-0158.mediawiki index 6c3202b0..07f1ea1d 100644 --- a/bip-0158.mediawiki +++ b/bip-0158.mediawiki @@ -27,9 +27,8 @@ enables basic wallets and applications with more advanced smart contracts. [[bip-0157.mediawiki|BIP 157]] defines a light client protocol based on deterministic filters of block content. The filters are designed to minimize the expected bandwidth consumed by light clients, downloading filters -and full blocks. This document defines two initial filter types, ''basic'' and -''extended'', to provide support for advanced applications while reducing the -filter size for regular wallets. +and full blocks. This document defines the initial filter type ''basic'' +that is designed to reduce the filter size for regular wallets. == Definitions == From 4fe45328c8ad8e23a0a3c3c6ee8133c982905147 Mon Sep 17 00:00:00 2001 From: nkohen Date: Thu, 13 Jun 2019 13:52:10 -0500 Subject: [PATCH 057/133] Updated Golomb-Rice Coded sets reference implementation link --- bip-0158.mediawiki | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-0158.mediawiki b/bip-0158.mediawiki index 6c3202b0..579a246f 100644 --- a/bip-0158.mediawiki +++ b/bip-0158.mediawiki @@ -348,7 +348,7 @@ Light client: [https://github.com/lightninglabs/neutrino] Full-node indexing: https://github.com/Roasbeef/btcd/tree/segwit-cbf -Golomb-Rice Coded sets: https://github.com/Roasbeef/btcutil/tree/gcs/gcs +Golomb-Rice Coded sets: https://github.com/btcsuite/btcutil/blob/master/gcs == Appendix A: Alternatives == From 71aeb9741135bb47cb74a29be22a5391c3f93e88 Mon Sep 17 00:00:00 2001 From: Janus Date: Thu, 20 Jun 2019 16:11:19 -0500 Subject: [PATCH 058/133] Reject BIP-0074 (three years inactivity) --- README.mediawiki | 4 ++-- bip-0074.mediawiki | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.mediawiki b/README.mediawiki index 11ecbb1a..420ce2bc 100644 --- a/README.mediawiki +++ b/README.mediawiki @@ -371,13 +371,13 @@ Those proposing changes should consider that ultimately consent may rest with th | Stephen Pair | Standard | Final -|- +|- style="background-color: #ffcfcf" | [[bip-0074.mediawiki|74]] | Applications | Allow zero value OP_RETURN in Payment Protocol | Toby Padilla | Standard -| Draft +| Rejected |- | [[bip-0075.mediawiki|75]] | Applications diff --git a/bip-0074.mediawiki b/bip-0074.mediawiki index 01fcf2c3..b6e9b390 100644 --- a/bip-0074.mediawiki +++ b/bip-0074.mediawiki @@ -5,7 +5,7 @@ Author: Toby Padilla Comments-Summary: Unanimously Discourage for implementation Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0074 - Status: Draft + Status: Rejected Type: Standards Track Created: 2016-01-29 License: PD From 7ab9ef95c67051dcf6418ecd4310e63b036bc6f0 Mon Sep 17 00:00:00 2001 From: Luke Childs Date: Wed, 26 Jun 2019 16:47:04 +0700 Subject: [PATCH 059/133] [bip174] Fix typo in signer pseudo code --- bip-0174.mediawiki | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-0174.mediawiki b/bip-0174.mediawiki index f197728f..cc165a5f 100644 --- a/bip-0174.mediawiki +++ b/bip-0174.mediawiki @@ -337,7 +337,7 @@ sign_non_witness(script_code, i): for input,i in enumerate(psbt.inputs): if non_witness_utxo.exists: - assert(sha256d(non_witness_utxo) == psbt.tx.innput[i].prevout.hash) + assert(sha256d(non_witness_utxo) == psbt.tx.input[i].prevout.hash) if redeemScript.exists: assert(non_witness_utxo.vout[psbt.tx.input[i].prevout.n].scriptPubKey == P2SH(redeemScript)) sign_non_witness(redeemScript) From 308594e098424cfc8555b56832e07119ea5d2c7c Mon Sep 17 00:00:00 2001 From: wigy Date: Mon, 1 Jul 2019 17:07:12 +0200 Subject: [PATCH 060/133] Updated BIP-0138 Comments-Summary That opinion was unnoticed for more than a month now, maybe this helps getting counter-arguments. --- bip-0178.mediawiki | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-0178.mediawiki b/bip-0178.mediawiki index 439774ee..b26efde1 100644 --- a/bip-0178.mediawiki +++ b/bip-0178.mediawiki @@ -3,7 +3,7 @@ Layer: Applications Title: Version Extended WIF Author: Karl-Johan Alm - Comments-Summary: No comments yet. + Comments-Summary: One comment, with some Discouragement Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0178 Status: Draft Type: Standards Track From 97447f981fb9e2b0c4c0c8c095464c4dbd91da29 Mon Sep 17 00:00:00 2001 From: Jonathan Underwood Date: Wed, 10 Jul 2019 08:30:23 +0900 Subject: [PATCH 061/133] BIP174: Include suggested sighash check --- bip-0174.mediawiki | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/bip-0174.mediawiki b/bip-0174.mediawiki index f197728f..b352c3bf 100644 --- a/bip-0174.mediawiki +++ b/bip-0174.mediawiki @@ -319,6 +319,8 @@ For a Signer to only produce valid signatures for what it expects to sign, it mu * If a witness UTXO is provided, no non-witness signature may be created * If a redeemScript is provided, the scriptPubKey must be for that redeemScript * If a witnessScript is provided, the scriptPubKey or the redeemScript must be for that witnessScript +* If a sighash type is provided, the signer must check that the sighash is acceptable. If unacceptable, they must fail. +* If a sighash type is not provided, the signer should sign using SIGHASH_ALL, but may use any sighash type they wish. =====Simple Signer Algorithm===== @@ -326,13 +328,17 @@ A simple signer can use the following algorithm to determine what and how to sig
 sign_witness(script_code, i):
-    for key in psbt.inputs[i].keys:
-        if IsMine(key):
+    for key, sighash_type in psbt.inputs[i].items:
+        if sighash_type == None:
+            sighash_type = SIGHASH_ALL
+        if IsMine(key) and IsAcceptable(sighash_type):
             sign(witness_sighash(script_code, i, input))
 
 sign_non_witness(script_code, i):
-    for key in psbt.inputs[i].keys:
-        if IsMine(key):
+    for key, sighash_type in psbt.inputs[i].items:
+        if sighash_type == None:
+            sighash_type = SIGHASH_ALL
+        if IsMine(key) and IsAcceptable(sighash_type):
             sign(non_witness_sighash(script_code, i, input))
 
 for input,i in enumerate(psbt.inputs):

From 34534b5ee1cf49cf67005b5457fce110ea6b0f4b Mon Sep 17 00:00:00 2001
From: "Wladimir J. van der Laan" 
Date: Thu, 18 Jul 2019 00:17:55 +0200
Subject: [PATCH 062/133] bip155: fill in BIP number

---
 bip-XXXX.mediawiki => bip-0155.mediawiki | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
 rename bip-XXXX.mediawiki => bip-0155.mediawiki (99%)

diff --git a/bip-XXXX.mediawiki b/bip-0155.mediawiki
similarity index 99%
rename from bip-XXXX.mediawiki
rename to bip-0155.mediawiki
index 583bf8b1..27bec175 100644
--- a/bip-XXXX.mediawiki
+++ b/bip-0155.mediawiki
@@ -1,5 +1,5 @@
 
-  BIP: ???
+  BIP: 155
   Layer: Peer Services
   Title: addrv2 message
   Author: Wladimir J. van der Laan 

From e99347806027c63ac459c35ccda4abb1fa0b83c0 Mon Sep 17 00:00:00 2001
From: "Wladimir J. van der Laan" 
Date: Thu, 18 Jul 2019 00:33:26 +0200
Subject: [PATCH 063/133] bip155: Fix comments URL

---
 bip-0155.mediawiki | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/bip-0155.mediawiki b/bip-0155.mediawiki
index 27bec175..59142413 100644
--- a/bip-0155.mediawiki
+++ b/bip-0155.mediawiki
@@ -4,7 +4,7 @@
   Title: addrv2 message
   Author: Wladimir J. van der Laan 
   Comments-Summary: No comments yet.
-  Comments-URI: 
+  Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0155
   Status: Draft
   Type: Standards Track
   Created: 2019-02-27

From f5174192e2d5fb3dfa7232be62d1b9d586a7f8d6 Mon Sep 17 00:00:00 2001
From: "Wladimir J. van der Laan" 
Date: Thu, 18 Jul 2019 00:37:29 +0200
Subject: [PATCH 064/133] bip155: Add table entry

---
 README.mediawiki | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/README.mediawiki b/README.mediawiki
index 9ba96153..57f79ef7 100644
--- a/README.mediawiki
+++ b/README.mediawiki
@@ -750,6 +750,13 @@ Those proposing changes should consider that ultimately consent may rest with th
 | Standard
 | Draft
 |-
+| [[bip-0155.mediawiki|155]]
+| Peer Services
+| addrv2 message
+| Wladimir J. van der Laan
+| Standard
+| Draft
+|-
 | [[bip-0156.mediawiki|156]]
 | Peer Services
 | Dandelion - Privacy Enhancing Routing

From 39a23b7cbed59dd922604b62502ad17379530036 Mon Sep 17 00:00:00 2001
From: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com>
Date: Thu, 18 Jul 2019 13:24:32 +0300
Subject: [PATCH 065/133] BIP 173: Remove duplicated 'the'

---
 bip-0173.mediawiki | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/bip-0173.mediawiki b/bip-0173.mediawiki
index ad6c58bc..c3ee0605 100644
--- a/bip-0173.mediawiki
+++ b/bip-0173.mediawiki
@@ -209,7 +209,7 @@ implementations' assumptions about lengths), but still be visually
 distinct. for testnet.
 * The data-part values:
 ** 1 byte: the witness version
-** A conversion of the the 2-to-40-byte witness program (as defined by [https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki BIP141]) to base32:
+** A conversion of the 2-to-40-byte witness program (as defined by [https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki BIP141]) to base32:
 *** Start with the bits of the witness program, most significant bit per byte first.
 *** Re-arrange those bits into groups of 5, and pad with zeroes at the end if needed.
 *** Translate those bits to characters using the table above.

From 42cc0c724d0daebc7277e71382f91072de6aa9ad Mon Sep 17 00:00:00 2001
From: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com>
Date: Thu, 18 Jul 2019 13:30:06 +0300
Subject: [PATCH 066/133] BIP 143: Remove duplicated 'the'

---
 bip-0143.mediawiki | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/bip-0143.mediawiki b/bip-0143.mediawiki
index ed07c828..81763a07 100644
--- a/bip-0143.mediawiki
+++ b/bip-0143.mediawiki
@@ -391,7 +391,7 @@ This example shows how unexecuted OP_CODESEPARATOR is processed, an
                02 4730440220032521802a76ad7bf74d0e2c218b72cf0cbc867066e2e53db905ba37f130397e02207709e2188ed7f08f4c952d9d13986da504502b8c3be59617e043552f506c46ff83 275163ab68210392972e2eb617b2388771abe27235fd5ac44af8e61693261550447a4c3e39da98ac
     nLockTime: 00000000
   
-  Since SINGLE|ANYONECANPAY does not commit to the input index, the signatures are still valid when the the input-output pairs are swapped:
+  Since SINGLE|ANYONECANPAY does not commit to the input index, the signatures are still valid when the input-output pairs are swapped:
   0100000000010280e68831516392fcd100d186b3c2c7b95c80b53c77e77c35ba03a66b429a2a1b0000000000ffffffffe9b542c5176808107ff1df906f46bb1f2583b16112b95ee5380665ba7fcfc0010000000000ffffffff0280969800000000001976a9146648a8cd4531e1ec47f35916de8e259237294d1e88ac80969800000000001976a914de4b231626ef508c9a74a8517e6783c0546d6b2888ac024730440220032521802a76ad7bf74d0e2c218b72cf0cbc867066e2e53db905ba37f130397e02207709e2188ed7f08f4c952d9d13986da504502b8c3be59617e043552f506c46ff83275163ab68210392972e2eb617b2388771abe27235fd5ac44af8e61693261550447a4c3e39da98ac02483045022100f6a10b8604e6dc910194b79ccfc93e1bc0ec7c03453caaa8987f7d6c3413566002206216229ede9b4d6ec2d325be245c5b508ff0339bf1794078e20bfe0babc7ffe683270063ab68210392972e2eb617b2388771abe27235fd5ac44af8e61693261550447a4c3e39da98ac00000000
     nVersion:  01000000
     marker:    00

From 4413bdc46ffa779987ff2ffb9ac9257744e35316 Mon Sep 17 00:00:00 2001
From: Clark Moody 
Date: Thu, 14 Feb 2019 12:25:38 -0600
Subject: [PATCH 067/133] Add version bytes section

---
 bip-0049.mediawiki | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/bip-0049.mediawiki b/bip-0049.mediawiki
index 74645a1e..846aefa9 100644
--- a/bip-0049.mediawiki
+++ b/bip-0049.mediawiki
@@ -66,6 +66,12 @@ To derive the P2SH address from the above calculated public key, we use the enca
     scriptPubKey: HASH160 <20-byte-script-hash> EQUAL
                   (0xA914{20-byte-script-hash}87)
 
+
+===Extended Key Version===
+
+When serializing extended keys, this scheme uses alternate version bytes. Extended public keys use 0x049d7cb2 to produce a "ypub" prefix, and private keys use 0x049d7878 to produce a "yprv" prefix. Testnet uses 0x044a5262 "upub" and 0x044a4e28 "uprv."
+
+
 ==Backwards Compatibility==
 
 This BIP is not backwards compatible by design as described under [#considerations]. An incompatible wallet will not discover accounts at all and the user will notice that something is wrong.

From 75ae8418da7697f923efcd55a33936b1b8275c80 Mon Sep 17 00:00:00 2001
From: Clark Moody 
Date: Thu, 14 Feb 2019 17:36:42 -0600
Subject: [PATCH 068/133] Link to SLIP-0132

---
 bip-0049.mediawiki | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/bip-0049.mediawiki b/bip-0049.mediawiki
index 846aefa9..c7c383ea 100644
--- a/bip-0049.mediawiki
+++ b/bip-0049.mediawiki
@@ -71,6 +71,8 @@ To derive the P2SH address from the above calculated public key, we use the enca
 
 When serializing extended keys, this scheme uses alternate version bytes. Extended public keys use 0x049d7cb2 to produce a "ypub" prefix, and private keys use 0x049d7878 to produce a "yprv" prefix. Testnet uses 0x044a5262 "upub" and 0x044a4e28 "uprv."
 
+Additional registered version bytes are listed in [[https://github.com/satoshilabs/slips/blob/master/slip-0132.md|SLIP-0132]].
+
 
 ==Backwards Compatibility==
 

From 5b74e93fcba783c0f0f95abba3810e514c40cd9d Mon Sep 17 00:00:00 2001
From: Clark Moody 
Date: Tue, 23 Jul 2019 11:13:15 -0500
Subject: [PATCH 069/133] Update test vectors with new version bytes

---
 bip-0049.mediawiki | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/bip-0049.mediawiki b/bip-0049.mediawiki
index c7c383ea..c40eab9d 100644
--- a/bip-0049.mediawiki
+++ b/bip-0049.mediawiki
@@ -83,10 +83,11 @@ This BIP is not backwards compatible by design as described under [#consideratio
 
 
   masterseedWords = abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about
-  masterseed = tprv8ZgxMBicQKsPe5YMU9gHen4Ez3ApihUfykaqUorj9t6FDqy3nP6eoXiAo2ssvpAjoLroQxHqr3R5nE3a5dU3DHTjTgJDd7zrbniJr6nrCzd (testnet)
+  masterseed = uprv8tXDerPXZ1QsVNjUJWTurs9kA1KGfKUAts74GCkcXtU8GwnH33GDRbNJpEqTvipfCyycARtQJhmdfWf8oKt41X9LL1zeD2pLsWmxEk3VAwd (testnet)
 
   // Account 0, root = m/49'/1'/0'
-  account0Xpriv = tprv8gRrNu65W2Msef2BdBSUgFdRTGzC8EwVXnV7UGS3faeXtuMVtGfEdidVeGbThs4ELEoayCAzZQ4uUji9DUiAs7erdVskqju7hrBcDvDsdbY (testnet)
+  account0Xpriv = uprv91G7gZkzehuMVxDJTYE6tLivdF8e4rvzSu1LFfKw3b2Qx1Aj8vpoFnHdfUZ3hmi9jsvPifmZ24RTN2KhwB8BfMLTVqaBReibyaFFcTP1s9n (testnet)
+  account0Xpub = upub5EFU65HtV5TeiSHmZZm7FUffBGy8UKeqp7vw43jYbvZPpoVsgU93oac7Wk3u6moKegAEWtGNF8DehrnHtv21XXEMYRUocHqguyjknFHYfgY (testnet)
 
   // Account 0, first receiving private key = m/49'/1'/0'/0/0
   account0recvPrivateKey = cULrpoZGXiuC19Uhvykx7NugygA3k86b3hmdCeyvHYQZSxojGyXJ

From 329df0b8368e04c92780cb039f1c5fb9f0cd386c Mon Sep 17 00:00:00 2001
From: Paul Sztorc 
Date: Tue, 23 Jul 2019 09:14:33 -0700
Subject: [PATCH 070/133] Update dates/links to merge

---
 bip-blind-merged-mining.mediawiki | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/bip-blind-merged-mining.mediawiki b/bip-blind-merged-mining.mediawiki
index 7f29f06a..1a6e999a 100644
--- a/bip-blind-merged-mining.mediawiki
+++ b/bip-blind-merged-mining.mediawiki
@@ -9,7 +9,7 @@
     Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-301
     Status: Draft
     Type: Standards Track
-    Created: 2017-10-24
+    Created: 2019-07-23
     License: BSD-2-Clause
 
 
@@ -87,7 +87,7 @@ To qualify for inclusion in a block, BMM requests are subject to the following r prevBlockRef is an integer that counts the number of "skips" one must take in the side:chain in order to find the current side:block's parent block. This value is zero unless the sidechain is reorganizing (or skipping over invalid sidechain blocks). If a side:node wants to orphan the most-recent N blocks, the value of the current block will be equal to N; in the block after that it will be back to zero. - + Above: Three blockchains, with different max length (small number), reorganization histories, and prevBlockRef numbers (larger numbers beneath blocks). The ordering given via each side:block's "prevSideBlockRef" will be isomorphic to an ordering given by each side:block's "prevSideHeaderHash" ("prevSideHeaderHash is the sidechain's equivalent of the mainchain's "prevBlockHash"). One can freely convert from one to the other. @@ -95,7 +95,7 @@ Above: Three blockchains, with different max length (small number), reorganizati To impose new requirements at the transaction level, we borrow the dummy vin & "flag" trick from SegWit style transactions. Unless all of the requirements for sidechain critical data transactions are met by the block it is included in, the transaction is invalid. With SegWit, this extra data is the SegWit signature stack, and the extra requirements are the signatures' locations and validity. In the sidechain BMM critical data transactions, the extra data is the (nSidechain, h\*) pair, which must meet the first two requirements (above) as well as the main:blocknumber, which must meet the third requirement (above). - + Above: A chart showing normal txns, SegWit txns, and CriticalData txns. The specific SegWit txn can be seen [http://srv1.yogh.io/#tx:id:D4A99AE93DF6EE3D4E42CE69338DFC1D06CCD9B198666E98FF0588057378D3D9 here]. From 6ca33dc63512a47f80321e2ae0222d5532571d7e Mon Sep 17 00:00:00 2001 From: Paul Sztorc Date: Tue, 23 Jul 2019 09:18:18 -0700 Subject: [PATCH 071/133] Rename bip-blind-merged-mining.mediawiki to bip-0301.mediawiki --- bip-blind-merged-mining.mediawiki => bip-0301.mediawiki | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename bip-blind-merged-mining.mediawiki => bip-0301.mediawiki (100%) diff --git a/bip-blind-merged-mining.mediawiki b/bip-0301.mediawiki similarity index 100% rename from bip-blind-merged-mining.mediawiki rename to bip-0301.mediawiki From 1ff5d5d8253191bead9ffc3924c668292747777b Mon Sep 17 00:00:00 2001 From: Paul Sztorc Date: Tue, 23 Jul 2019 09:20:44 -0700 Subject: [PATCH 072/133] rename folder --- {bip-blind-merged-mining => bip-0301}/images.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {bip-blind-merged-mining => bip-0301}/images.txt (100%) diff --git a/bip-blind-merged-mining/images.txt b/bip-0301/images.txt similarity index 100% rename from bip-blind-merged-mining/images.txt rename to bip-0301/images.txt From 42e96858d5e13793abbf9820ed38720d64783cda Mon Sep 17 00:00:00 2001 From: Paul Sztorc Date: Tue, 23 Jul 2019 09:26:15 -0700 Subject: [PATCH 073/133] move images --- bip-0301/bmm-dots-examples.png | Bin 0 -> 41116 bytes bip-0301/witness-vs-critical.png | Bin 0 -> 268309 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 bip-0301/bmm-dots-examples.png create mode 100644 bip-0301/witness-vs-critical.png diff --git a/bip-0301/bmm-dots-examples.png b/bip-0301/bmm-dots-examples.png new file mode 100644 index 0000000000000000000000000000000000000000..70f11f6bbe935b7b99c51af825947da8a5029971 GIT binary patch literal 41116 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 Shbc6Z~PyQln@sH literal 0 HcmV?d00001 diff --git a/bip-0301/witness-vs-critical.png b/bip-0301/witness-vs-critical.png new file mode 100644 index 0000000000000000000000000000000000000000..79c84b1fc5ddd95f0c574951e91f50ba7efb925b GIT binary patch literal 268309 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℘uCy2$hoxOOl^Dty_~{bh|%!c*&Jd}fT2 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

_t%5A+A-%HF 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 Date: Tue, 23 Jul 2019 09:26:45 -0700 Subject: [PATCH 074/133] cleanup 1 --- bip-blind-merged-mining/bmm-dots-examples.png | Bin 41116 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 bip-blind-merged-mining/bmm-dots-examples.png diff --git a/bip-blind-merged-mining/bmm-dots-examples.png b/bip-blind-merged-mining/bmm-dots-examples.png deleted file mode 100644 index 70f11f6bbe935b7b99c51af825947da8a5029971..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41116 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 Shbc6Z~PyQln@sH From 4cd4e53752496e155243693fffbf79c7ed2daa9d Mon Sep 17 00:00:00 2001 From: Paul Sztorc Date: Tue, 23 Jul 2019 09:26:54 -0700 Subject: [PATCH 075/133] cleanup 2 --- .../witness-vs-critical.png | Bin 268309 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 bip-blind-merged-mining/witness-vs-critical.png diff --git a/bip-blind-merged-mining/witness-vs-critical.png b/bip-blind-merged-mining/witness-vs-critical.png deleted file mode 100644 index 79c84b1fc5ddd95f0c574951e91f50ba7efb925b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 268309 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℘uCy2$hoxOOl^Dty_~{bh|%!c*&Jd}fT2 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

_t%5A+A-%HF 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 Date: Wed, 24 Jul 2019 10:28:09 +0200 Subject: [PATCH 076/133] =?UTF-8?q?Set=20Status=20f=C3=BCr=20BIP49=20to=20?= =?UTF-8?q?'Final'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit it gets used by electrum, trezor and other wallets - Reflect bip49 status change to active also in README.mediawiki - Also fix email address (private one is more stable, old one isnt monitored anymore) --- README.mediawiki | 4 ++-- bip-0049.mediawiki | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.mediawiki b/README.mediawiki index fc92b632..9425f7c6 100644 --- a/README.mediawiki +++ b/README.mediawiki @@ -258,13 +258,13 @@ Those proposing changes should consider that ultimately consent may rest with th | Justus Ranvier | Informational | Draft -|- +|- style="background-color: #cfffcf" | [[bip-0049.mediawiki|49]] | Applications | Derivation scheme for P2WPKH-nested-in-P2SH based accounts | Daniel Weigl | Informational -| Draft +| Final |- style="background-color: #cfffcf" | [[bip-0050.mediawiki|50]] | diff --git a/bip-0049.mediawiki b/bip-0049.mediawiki index 74645a1e..cc3ea1d9 100644 --- a/bip-0049.mediawiki +++ b/bip-0049.mediawiki @@ -2,10 +2,10 @@ BIP: 49 Layer: Applications Title: Derivation scheme for P2WPKH-nested-in-P2SH based accounts - Author: Daniel Weigl + Author: Daniel Weigl Comments-Summary: No comments yet. Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0049 - Status: Draft + Status: Final Type: Informational Created: 2016-05-19 License: PD From 6a36d8e1b4e763bf42c8403f598e0bf07048408f Mon Sep 17 00:00:00 2001 From: Andrew Chow Date: Thu, 25 Jul 2019 13:37:06 -0400 Subject: [PATCH 077/133] BIP 174: global xpubs serialization test vector --- bip-0174.mediawiki | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/bip-0174.mediawiki b/bip-0174.mediawiki index b4a6407b..c0fb559f 100644 --- a/bip-0174.mediawiki +++ b/bip-0174.mediawiki @@ -546,6 +546,10 @@ The following are valid PSBTs: ** Bytes in Hex:

70736274ff0100550200000001279a2323a5dfb51fc45f220fa58b0fc13e1e3342792a85d7e36cd6333b5cbc390000000000ffffffff01a05aea0b000000001976a914ffe9c0061097cc3b636f2cb0460fa4fc427d2b4588ac0000000000010120955eea0b0000000017a9146345200f68d189e1adc0df1c4d16ea8f14c0dbeb87220203b1341ccba7683b6af4f1238cd6e97e7167d569fac47f1e48d47541844355bd4646304302200424b58effaaa694e1559ea5c93bbfd4a89064224055cdf070b6771469442d07021f5c8eb0fea6516d60b8acb33ad64ede60e8785bfb3aa94b99bdf86151db9a9a010104220020771fd18ad459666dd49f3d564e3dbc42f4c84774e360ada16816a8ed488d5681010547522103b1341ccba7683b6af4f1238cd6e97e7167d569fac47f1e48d47541844355bd462103de55d1e1dac805e3f8a58c1fbf9b94c02f3dbaafe127fefca4995f26f82083bd52ae220603b1341ccba7683b6af4f1238cd6e97e7167d569fac47f1e48d47541844355bd4610b4a6ba67000000800000008004000080220603de55d1e1dac805e3f8a58c1fbf9b94c02f3dbaafe127fefca4995f26f82083bd10b4a6ba670000008000000080050000800000
** Base64 String:
cHNidP8BAFUCAAAAASeaIyOl37UfxF8iD6WLD8E+HjNCeSqF1+Ns1jM7XLw5AAAAAAD/////AaBa6gsAAAAAGXapFP/pwAYQl8w7Y28ssEYPpPxCfStFiKwAAAAAAAEBIJVe6gsAAAAAF6kUY0UgD2jRieGtwN8cTRbqjxTA2+uHIgIDsTQcy6doO2r08SOM1ul+cWfVafrEfx5I1HVBhENVvUZGMEMCIAQktY7/qqaU4VWepck7v9SokGQiQFXN8HC2dxRpRC0HAh9cjrD+plFtYLisszrWTt5g6Hhb+zqpS5m9+GFR25qaAQEEIgAgdx/RitRZZm3Unz1WTj28QvTIR3TjYK2haBao7UiNVoEBBUdSIQOxNBzLp2g7avTxI4zW6X5xZ9Vp+sR/HkjUdUGEQ1W9RiED3lXR4drIBeP4pYwfv5uUwC89uq/hJ/78pJlfJvggg71SriIGA7E0HMunaDtq9PEjjNbpfnFn1Wn6xH8eSNR1QYRDVb1GELSmumcAAACAAAAAgAQAAIAiBgPeVdHh2sgF4/iljB+/m5TALz26r+En/vykmV8m+CCDvRC0prpnAAAAgAAAAIAFAACAAAA=
+* Case: PSBT with one P2WSH input of a 2-of-2 multisig. witnessScript, keypaths, and global xpubs are available. Contains no signatures. Outputs filled. +** Bytes in Hex:
70736274ff01005202000000019dfc6628c26c5899fe1bd3dc338665bfd55d7ada10f6220973df2d386dec12760100000000ffffffff01f03dcd1d000000001600147b3a00bfdc14d27795c2b74901d09da6ef133579000000004f01043587cf02da3fd0088000000097048b1ad0445b1ec8275517727c87b4e4ebc18a203ffa0f94c01566bd38e9000351b743887ee1d40dc32a6043724f2d6459b3b5a4d73daec8fbae0472f3bc43e20cd90c6a4fae000080000000804f01043587cf02da3fd00880000001b90452427139cd78c2cff2444be353cd58605e3e513285e528b407fae3f6173503d30a5e97c8adbc557dac2ad9a7e39c1722ebac69e668b6f2667cc1d671c83cab0cd90c6a4fae000080010000800001012b0065cd1d000000002200202c5486126c4978079a814e13715d65f36459e4d6ccaded266d0508645bafa6320105475221029da12cdb5b235692b91536afefe5c91c3ab9473d8e43b533836ab456299c88712103372b34234ed7cf9c1fea5d05d441557927be9542b162eb02e1ab2ce80224c00b52ae2206029da12cdb5b235692b91536afefe5c91c3ab9473d8e43b533836ab456299c887110d90c6a4fae0000800000008000000000220603372b34234ed7cf9c1fea5d05d441557927be9542b162eb02e1ab2ce80224c00b10d90c6a4fae0000800100008000000000002202039eff1f547a1d5f92dfa2ba7af6ac971a4bd03ba4a734b03156a256b8ad3a1ef910ede45cc500000080000000800100008000
+** Base64 String:
cHNidP8BAFICAAAAAZ38ZijCbFiZ/hvT3DOGZb/VXXraEPYiCXPfLTht7BJ2AQAAAAD/////AfA9zR0AAAAAFgAUezoAv9wU0neVwrdJAdCdpu8TNXkAAAAATwEENYfPAto/0AiAAAAAlwSLGtBEWx7IJ1UXcnyHtOTrwYogP/oPlMAVZr046QADUbdDiH7h1A3DKmBDck8tZFmztaTXPa7I+64EcvO8Q+IM2QxqT64AAIAAAACATwEENYfPAto/0AiAAAABuQRSQnE5zXjCz/JES+NTzVhgXj5RMoXlKLQH+uP2FzUD0wpel8itvFV9rCrZp+OcFyLrrGnmaLbyZnzB1nHIPKsM2QxqT64AAIABAACAAAEBKwBlzR0AAAAAIgAgLFSGEmxJeAeagU4TcV1l82RZ5NbMre0mbQUIZFuvpjIBBUdSIQKdoSzbWyNWkrkVNq/v5ckcOrlHPY5DtTODarRWKZyIcSEDNys0I07Xz5wf6l0F1EFVeSe+lUKxYusC4ass6AIkwAtSriIGAp2hLNtbI1aSuRU2r+/lyRw6uUc9jkO1M4NqtFYpnIhxENkMak+uAACAAAAAgAAAAAAiBgM3KzQjTtfPnB/qXQXUQVV5J76VQrFi6wLhqyzoAiTACxDZDGpPrgAAgAEAAIAAAAAAACICA57/H1R6HV+S36K6evaslxpL0DukpzSwMVaiVritOh75EO3kXMUAAACAAAAAgAEAAIAA
+ * Case: PSBT with unknown types in the inputs. ** Bytes in Hex:
70736274ff01003f0200000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000ffffffff010000000000000000036a010000000000000a0f0102030405060708090f0102030405060708090a0b0c0d0e0f0000
** Base64 String:
cHNidP8BAD8CAAAAAf//////////////////////////////////////////AAAAAAD/////AQAAAAAAAAAAA2oBAAAAAAAACg8BAgMEBQYHCAkPAQIDBAUGBwgJCgsMDQ4PAAA=
From d832c51e82a321e4721cb9e8cc3e69e8e20aa57f Mon Sep 17 00:00:00 2001 From: "nicolas.dorier" Date: Thu, 25 Jul 2019 23:00:16 +0900 Subject: [PATCH 078/133] bip174: Add test vector for global xpub --- bip-0174.mediawiki | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/bip-0174.mediawiki b/bip-0174.mediawiki index b4a6407b..3999b520 100644 --- a/bip-0174.mediawiki +++ b/bip-0174.mediawiki @@ -550,6 +550,10 @@ The following are valid PSBTs: ** Bytes in Hex:
70736274ff01003f0200000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000ffffffff010000000000000000036a010000000000000a0f0102030405060708090f0102030405060708090a0b0c0d0e0f0000
** Base64 String:
cHNidP8BAD8CAAAAAf//////////////////////////////////////////AAAAAAD/////AQAAAAAAAAAAA2oBAAAAAAAACg8BAgMEBQYHCAkPAQIDBAUGBwgJCgsMDQ4PAAA=
+* Case: PSBT with `PSBT_GLOBAL_XPUB`. +** Bytes in Hex:
70736274ff01009d0100000002710ea76ab45c5cb6438e607e59cc037626981805ae9e0dfd9089012abb0be5350100000000ffffffff190994d6a8b3c8c82ccbcfb2fba4106aa06639b872a8d447465c0d42588d6d670000000000ffffffff0200e1f505000000001976a914b6bc2c0ee5655a843d79afedd0ccc3f7dd64340988ac605af405000000001600141188ef8e4ce0449eaac8fb141cbf5a1176e6a088000000004f010488b21e039e530cac800000003dbc8a5c9769f031b17e77fea1518603221a18fd18f2b9a54c6c8c1ac75cbc3502f230584b155d1c7f1cd45120a653c48d650b431b67c5b2c13f27d7142037c1691027569c503100008000000080000000800001011f00e1f5050000000016001433b982f91b28f160c920b4ab95e58ce50dda3a4a220203309680f33c7de38ea6a47cd4ecd66f1f5a49747c6ffb8808ed09039243e3ad5c47304402202d704ced830c56a909344bd742b6852dccd103e963bae92d38e75254d2bb424502202d86c437195df46c0ceda084f2a291c3da2d64070f76bf9b90b195e7ef28f77201220603309680f33c7de38ea6a47cd4ecd66f1f5a49747c6ffb8808ed09039243e3ad5c1827569c5031000080000000800000008000000000010000000001011f00e1f50500000000160014388fb944307eb77ef45197d0b0b245e079f011de220202c777161f73d0b7c72b9ee7bde650293d13f095bc7656ad1f525da5fd2e10b11047304402204cb1fb5f869c942e0e26100576125439179ae88dca8a9dc3ba08f7953988faa60220521f49ca791c27d70e273c9b14616985909361e25be274ea200d7e08827e514d01220602c777161f73d0b7c72b9ee7bde650293d13f095bc7656ad1f525da5fd2e10b1101827569c5031000080000000800000008000000000000000000000220202d20ca502ee289686d21815bd43a80637b0698e1fbcdbe4caed445f6c1a0a90ef1827569c50310000800000008000000080000000000400000000
+** Base64 String:
cHNidP8BAJ0BAAAAAnEOp2q0XFy2Q45gflnMA3YmmBgFrp4N/ZCJASq7C+U1AQAAAAD/////GQmU1qizyMgsy8+y+6QQaqBmObhyqNRHRlwNQliNbWcAAAAAAP////8CAOH1BQAAAAAZdqkUtrwsDuVlWoQ9ea/t0MzD991kNAmIrGBa9AUAAAAAFgAUEYjvjkzgRJ6qyPsUHL9aEXbmoIgAAAAATwEEiLIeA55TDKyAAAAAPbyKXJdp8DGxfnf+oVGGAyIaGP0Y8rmlTGyMGsdcvDUC8jBYSxVdHH8c1FEgplPEjWULQxtnxbLBPyfXFCA3wWkQJ1acUDEAAIAAAACAAAAAgAABAR8A4fUFAAAAABYAFDO5gvkbKPFgySC0q5XljOUN2jpKIgIDMJaA8zx9446mpHzU7NZvH1pJdHxv+4gI7QkDkkPjrVxHMEQCIC1wTO2DDFapCTRL10K2hS3M0QPpY7rpLTjnUlTSu0JFAiAthsQ3GV30bAztoITyopHD2i1kBw92v5uQsZXn7yj3cgEiBgMwloDzPH3jjqakfNTs1m8fWkl0fG/7iAjtCQOSQ+OtXBgnVpxQMQAAgAAAAIAAAACAAAAAAAEAAAAAAQEfAOH1BQAAAAAWABQ4j7lEMH63fvRRl9CwskXgefAR3iICAsd3Fh9z0LfHK57nveZQKT0T8JW8dlatH1Jdpf0uELEQRzBEAiBMsftfhpyULg4mEAV2ElQ5F5rojcqKncO6CPeVOYj6pgIgUh9JynkcJ9cOJzybFGFphZCTYeJb4nTqIA1+CIJ+UU0BIgYCx3cWH3PQt8crnue95lApPRPwlbx2Vq0fUl2l/S4QsRAYJ1acUDEAAIAAAACAAAAAgAAAAAAAAAAAAAAiAgLSDKUC7iiWhtIYFb1DqAY3sGmOH7zb5MrtRF9sGgqQ7xgnVpxQMQAAgAAAAIAAAACAAAAAAAQAAAAA
+ Fails Signer checks * Case: A Witness UTXO is provided for a non-witness input From db117ef473492c180939e694773104002a3929a4 Mon Sep 17 00:00:00 2001 From: Paul Sztorc Date: Thu, 25 Jul 2019 23:51:05 -0700 Subject: [PATCH 079/133] fix spacing --- bip-0301.mediawiki | 8 -------- 1 file changed, 8 deletions(-) diff --git a/bip-0301.mediawiki b/bip-0301.mediawiki index 1a6e999a..3b77f58f 100644 --- a/bip-0301.mediawiki +++ b/bip-0301.mediawiki @@ -1,5 +1,4 @@
-
     BIP: 301
     Layer: Consensus (soft fork)
     Title: Blind Merged Mining (Consensus layer)
@@ -11,10 +10,8 @@
     Type: Standards Track
     Created: 2019-07-23
     License: BSD-2-Clause
-
 
- ==Abstract== @@ -27,7 +24,6 @@ Our goal here, is to allow mainchain miners to trustlessly "sell" the act of fin ==Motivation== - Regular "Merged-Mining" (MM) allows miners to reuse their hashing work to secure other chains (for example, as in Namecoin). However, traditional MM has two drawbacks: # Miners must run a full node of the other chain. (This is because [while miners can effortlessly create the block] miners will not create a valid payment to themselves, unless the block that they MM is a valid one. Therefore, miners must assemble a *valid* block first, then MM it.) @@ -38,7 +34,6 @@ BMM addresses both shortcomings. ==Specification== - Note: This document uses the notation side:\* and main:\* in front of otherwise-ambiguous words (such as "block", "node", or "chain"), to distinguish the mainchain version from its sidechain counterpart. We also use "Simon" to refer to a Sidechain Full Node, and "Mary" to refer to a mainchain miner. @@ -194,8 +189,6 @@ As a soft fork, older software will continue to operate without modification. As (As a matter of fact, the only people receiving money here all happen to be miners. So there is less reason than ever to expect compatibility problems.) - - ==Deployment== This BIP will be deployed by "version bits" BIP9 with the name "blindmm" and using bit 4. @@ -217,7 +210,6 @@ Also, for interest, see an example sidechain here: https://github.com/drivechain ==References== - * http://www.drivechain.info/literature/index.html * http://www.truthcoin.info/blog/blind-merged-mining/ * https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-July/014789.html From 542c66e6ddc3d9f703114f7e645f19d572c8274e Mon Sep 17 00:00:00 2001 From: Paul Sztorc Date: Thu, 25 Jul 2019 23:57:12 -0700 Subject: [PATCH 080/133] Add 301 Blind Merged Mining --- README.mediawiki | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.mediawiki b/README.mediawiki index bcc1e3f2..956dad82 100644 --- a/README.mediawiki +++ b/README.mediawiki @@ -805,6 +805,13 @@ Those proposing changes should consider that ultimately consent may rest with th | Sean Bowe, Daira Hopwood | Standard | Draft +|- +| [[bip-0301.mediawiki|301]] +| Consensus (soft fork) +| Blind Merged Mining (Consensus layer) +| Paul Sztorc, CryptAxe +| Standard +| Draft |} From 53e37a1dea527c51c9bacb02975cd3184d873742 Mon Sep 17 00:00:00 2001 From: Luke Dashjr Date: Fri, 26 Jul 2019 12:41:03 +0000 Subject: [PATCH 081/133] Fix preamble in BIP 301 --- bip-0301.mediawiki | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/bip-0301.mediawiki b/bip-0301.mediawiki index 3b77f58f..d6056f21 100644 --- a/bip-0301.mediawiki +++ b/bip-0301.mediawiki @@ -1,15 +1,15 @@
-    BIP: 301
-    Layer: Consensus (soft fork)
-    Title: Blind Merged Mining (Consensus layer)
-    Author: Paul Sztorc 
-            CryptAxe 
-    Comments-Summary: No comments yet.
-    Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-301
-    Status: Draft
-    Type: Standards Track
-    Created: 2019-07-23
-    License: BSD-2-Clause
+  BIP: 301
+  Layer: Consensus (soft fork)
+  Title: Blind Merged Mining (Consensus layer)
+  Author: Paul Sztorc 
+          CryptAxe 
+  Comments-Summary: No comments yet.
+  Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0301
+  Status: Draft
+  Type: Standards Track
+  Created: 2019-07-23
+  License: BSD-2-Clause
 
==Abstract== From ec6adac5f86213f7e0a23f92fd662710cd285d23 Mon Sep 17 00:00:00 2001 From: Luke Dashjr Date: Fri, 26 Jul 2019 12:42:14 +0000 Subject: [PATCH 082/133] README: Minor spacing fix --- README.mediawiki | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.mediawiki b/README.mediawiki index ebfce02c..93356f90 100644 --- a/README.mediawiki +++ b/README.mediawiki @@ -223,7 +223,7 @@ Those proposing changes should consider that ultimately consent may rest with th | Marek Palatinus | Standard | BIP number allocated -|-style="background-color: #cfffcf" +|- style="background-color: #cfffcf" | [[bip-0042.mediawiki|42]] | Consensus (soft fork) | A finite monetary supply for Bitcoin From 213fb62ceabdbcfe3576d83c3ca3d986e4b45ae9 Mon Sep 17 00:00:00 2001 From: Luke Dashjr Date: Fri, 26 Jul 2019 16:28:21 +0000 Subject: [PATCH 083/133] Promote BIP 75 to Final --- README.mediawiki | 4 ++-- bip-0075.mediawiki | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.mediawiki b/README.mediawiki index 93356f90..c8a15962 100644 --- a/README.mediawiki +++ b/README.mediawiki @@ -378,13 +378,13 @@ Those proposing changes should consider that ultimately consent may rest with th | Toby Padilla | Standard | Rejected -|- +|- style="background-color: #cfffcf" | [[bip-0075.mediawiki|75]] | Applications | Out of Band Address Exchange using Payment Protocol Encryption | Justin Newton, Matt David, Aaron Voisine, James MacWhyte | Standard -| Draft +| Final |- style="background-color: #ffffcf" | [[bip-0079.mediawiki|79]] | Applications diff --git a/bip-0075.mediawiki b/bip-0075.mediawiki index a516916f..8c49645d 100644 --- a/bip-0075.mediawiki +++ b/bip-0075.mediawiki @@ -8,7 +8,7 @@ James MacWhyte Comments-Summary: Recommended for implementation (one person) Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0075 - Status: Draft + Status: Final Type: Standards Track Created: 2015-11-20 License: CC-BY-4.0 From daa59903e23548d3017b926639b03dedc5b0b626 Mon Sep 17 00:00:00 2001 From: Karl-Johan Alm Date: Wed, 24 Jul 2019 13:27:48 +0900 Subject: [PATCH 084/133] BIP-322 update to remove ProveFunds purpose (with a note about extensibility) and to fix the serialization format --- bip-0322.mediawiki | 71 ++++++++++++++++++++++++++-------------------- 1 file changed, 41 insertions(+), 30 deletions(-) diff --git a/bip-0322.mediawiki b/bip-0322.mediawiki index 51911439..71959f14 100644 --- a/bip-0322.mediawiki +++ b/bip-0322.mediawiki @@ -23,7 +23,7 @@ The current message signing standard only works for P2PKH (1...) addresses. By e A new structure SignatureProof is added, which is a simple serializable scriptSig & witness container. -Two actions "Sign" and "Verify" are defined along with two *purposes* "SignMessage" and "ProveFunds". +Two actions "Sign" and "Verify" are defined along with one ''purpose'', "SignMessage", with the ability to expand in the future to add a potential "ProveFunds" purpose. === SignatureProof container === @@ -36,11 +36,7 @@ Two actions "Sign" and "Verify" are defined along with two *purposes* "SignMessa |- |Uint32||4||flags||standard flags (1-to-1 with standard flags in Bitcoin Core) |- -|VarInt||1-8||msglen||Number of bytes in message string, excluding NUL termination -|- -|Char*||[msglen]||msg||The message being signed for all subjects, excluding NUL termination -|- -|Uint8||1||entries||Number of proof entriesWhy support multiple proofs? In particular with proof of funds, it is non-trivial to check a large number of individual proofs (one per UTXO) for duplicates. Software could be written to do so, but it seems more efficient to build this check into the specification itself. +|Uint8||1||entries||number of proof entriesWhy support multiple proofs? It is non-trivial to check a large number of individual proofs for duplicates. Software could be written to do so, but it seems more efficient to build this check into the specification itself. |} The above is followed by [entries] number of signature entries: @@ -56,9 +52,9 @@ The above is followed by [entries] number of signature entries: |- |Uint8*||[scriptsiglen]||scriptsig||ScriptSig data |- -|VarInt||1-8||witlen||Number of bytes in witness data +|VarInt||1-8||witlen||Number of entries in witness stack |- -|Uint8*||[witlen]||wit||Witness +|Uint8[]*||[witlen]||wit||Witness stack, as [witlen] uint8* vectors, each one prepended with a varint of its size |} In some cases, the scriptsig or wit may be empty. If both are empty, the proof is incomplete. @@ -80,36 +76,24 @@ A verification call will return a result code according to the table below. |- |INVALID||One or more of the given proofs were invalid |- -|SPENT||One or more of the claimed UTXO:s has been spent -|- |ERROR||An error was encountered |} == Signing and Verifying == -Let there be an empty set `inputs` which is populated and tested at each call to one of the actions below. +If the challenge consists of a single address and the address is in the P2PK(H) (legacy) format, sign using the legacy format (further information below). Otherwise continue as stated below. + +Let there be an empty set inputs which is populated and tested at each call to one of the actions below. === Purpose: SignMessage === The "SignMessage" purpose generates a sighash based on a scriptPubKey and a message. It emits a VALID verification result code unless otherwise stated. -# Return INVALID if scriptPubKey already exists in `inputs` set, otherwise insert itWhy track duplicates? Because a 3-entry proof is not proving 3 inputs unless they are all distinct +# Return INVALID if scriptPubKey already exists in inputs set, otherwise insert itWhy track duplicates? Because a 3-entry proof is not proving 3 entries unless they are all distinct # Define the message pre-image as the sequence "Bitcoin Message:" concatenated with the message, encoded in UTF-8 using Normalization Form Compatibility Decomposition (NFKD) # Let sighash = sha256(sha256(scriptPubKey || pre-image)) -=== Purpose: ProveFunds === - -The "ProveFunds" purpose generates a sighash and a scriptPubKey from a transaction, an output index, and a message. For multiple simultaneous proofs, it also requires access to the ordered list of proofs. It emits a VALID verification result code unless otherwise stated. - -# Let txid be the transaction ID of the transaction, and vout be the output index corresponding to the index of the output being spent -# Return INVALID if the txid:vout pair already exists in `inputs` set, otherwise insert it -# Return SPENT if the txid/vout is not a valid UTXO according to a Bitcoin nodeSynced up or not? A normal verifier would use a synced up node. An auditor checking records from a client that were submitted in the past want to use a node that is synced up to the block corresponding to the proof, or the proof will fail, even if it may have been valid at the time of creation. -# Extract scriptPubKey from transaction output -# Define the message pre-image as the concatenation of the following components:Why not just the UTXO data? We want the verifier to be able to challenge the prover with a custom message to sign, or anyone can reuse the POF proof for a set of UTXO:s once they have seen it, and the funds have not yet been spent -#* the string "POF:" -#* the message, encoded in UTF-8 using Normalization Form Compatibility Decomposition (NFKD), including the null terminating character (i.e. write strlen(message) + 1 bytes, for a C string) -#* all transactions being proven for, as binary txid (little endian uint256) followed by index (little endian uint32), each separated by a single `0x00` byte -# Let sighash = sha256(sha256(scriptPubKey || pre-image)) +A private key may be used directly to sign a message. In this case, its P2WPKH bech32 address shall be derived, and used as the input. === Action: Sign === @@ -119,6 +103,8 @@ The "Sign" action takes as input a purpose. It returns a signature or fails. # Derive the private key privkey for the scriptPubKey; FAIL if not VALID # Generate and return a signature sig with privkey=privkey, sighash=sighash +The resulting signature proof should be encoded using base64 encoding. + === Action: Verify === The "Verify" action takes as input a standard flags value, a script sig, an optional witness, and a purpose. @@ -139,13 +125,39 @@ Note that the order of the entries in the proof must match the order of the entr * If a verification call returns ERROR or INVALID, return ERROR or INVALID immediately, ignoring as yet unverified entries * After all verifications complete, ** return INCONCLUSIVE if any verification call returned INCONCLUSIVE -** return SPENT if any verification call returned SPENT ** return INCOMPLETE if the INCOMPLETE flag is set ** return VALID +== Legacy format == + +The legacy format is restricted to the legacy P2PK(H) address format, and restricted to one single challenge (address). + +Any other input (e.g. multiple addresses, or non-P2PK(H) address format(s)) must be signed using the new format described above. + +=== Signing === + +Given the P2PK(H) address a and the message m: +# let p be the pubkey-hash contained in a +# let x be the private key associated with p +# let digest be SHA56d("Bitcoin Signed Message:\n"||m) +# create a compact signature sig (aka "recoverable ECDSA signature") using x on digest + +The resulting proof is sig, serialized using the base64 encoding. + +=== Verifying === + +Given the P2PK(H) address a, the message m, and the compact signature sig: + +# let p be the pubkey-hash contained in a +# let digest be SHA56d("Bitcoin Signed Message:\n"||m) +# attempt pubkey recovery for digest using the signature sig and store the resulting pubkey into Q +## fail verification if pubkey recovery above fails +# let q be the pubkey-hash of Q +# if p == q, the proof is valid, otherwise it is invalid + == Compatibility == -This specification is not backwards compatible with the legacy signmessage/verifymessage specification. However, legacy addresses (1...) may be used in this implementation without any problems. +This specification is backwards compatible with the legacy signmessage/verifymessage specification through the special case as described above. == Rationale == @@ -153,16 +165,15 @@ This specification is not backwards compatible with the legacy signmessage/verif == Reference implementation == -To do. +# Pull request to Bitcoin Core: https://github.com/bitcoin/bitcoin/pull/16440 == Acknowledgements == -TODO +Thanks to David Harding, Jim Posen, Kalle Rosenbaum, Pieter Wuille, and many others for their feedback on the specification. == References == # Original mailing list thread: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-March/015818.html -# Pull request, with comments: https://github.com/bitcoin/bips/pull/725 == Copyright == From e24e86b482e394e18803f14c7e2338aab9b7e1e2 Mon Sep 17 00:00:00 2001 From: Karl-Johan Alm Date: Mon, 29 Jul 2019 20:40:36 +0900 Subject: [PATCH 085/133] bip-322: add test vectors --- bip-0322.mediawiki | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/bip-0322.mediawiki b/bip-0322.mediawiki index 71959f14..6d0fb780 100644 --- a/bip-0322.mediawiki +++ b/bip-0322.mediawiki @@ -178,3 +178,47 @@ Thanks to David Harding, Jim Posen, Kalle Rosenbaum, Pieter Wuille, and many oth == Copyright == This document is licensed under the Creative Commons CC0 1.0 Universal license. + +== Test vectors == + +* STANDARD_SCRIPT_VERIFY_FLAGS = 01ffdf (131039) +* address = 2MsnqGxX7Abtn4b379MEpkDaD3VbNKQosd8 +* message = "hello world" +* sighash = 7b66a1861b4e179e1dbab4702e26bcefeabf1cada7cccc97b6ebaec89a035d84 (sha256d("Bitcoin Message:hello world")) + +A possible proof is: + +* HEX: dfff01000117160014689bbb5d76774321c652832ea209958fa1770b330247304402204368b119399d33b9bc9beef06d713becefd3ac508dc95ff62d1859d4912960c7022063d88ddc648faed710b3f870b7a839fdc1b3bfc3c3bd065df51bbbd8c386c81c012102b4e4c6d5021576a5c0bc4535890c3f17e1ff23a94eac87beb0a5e8747c42d920 +* Base64: 3/8BAAEXFgAUaJu7XXZ3QyHGUoMuogmVj6F3CzMCRzBEAiBDaLEZOZ0zubyb7vBtcTvs79OsUI3JX/YtGFnUkSlgxwIgY9iN3GSPrtcQs/hwt6g5/cGzv8PDvQZd9Ru72MOGyBwBIQK05MbVAhV2pcC8RTWJDD8X4f8jqU6sh76wpeh0fELZIA== + +Split into components: + +{|class="wikitable" style="text-align: center;" +|- +!Type +!Length +!Name +!Value +!Comment +|- +|Uint32||4||flags||dfff0100||standard flags used in signing +|- +|Uint8||1||entries||01||1 entry +|- +|VarInt||1-8||scriptsiglen||17||23 byte scriptsig +|- +|Uint8[32]||32||scriptsig||160014689bbb5d76774321c652832ea209958fa1770b33||ScriptSig data +|- +|VarInt||1-8||witlen||02||2 entries in witness stack +|- +|VarInt||1-8||entry1len||47||71 byte entry +|- +|Uint8[71]||71||entry1||304402204368b119399d33b9bc9beef06d713becefd3ac50 +8dc95ff62d1859d4912960c7022063d88ddc648faed710b3 +f870b7a839fdc1b3bfc3c3bd065df51bbbd8c386c81c01||Witness stack item 1 +|- +|VarInt||1-8||entry2len||21||33 byte entry +|- +|Uint8[33]||33||entry2||02b4e4c6d5021576a5c0bc4535890c3f17e1ff23a94eac87 +beb0a5e8747c42d920||Witness stack item 2 +|} From 9e62a7a83859927bc01dd86e5f4df2e652d6de55 Mon Sep 17 00:00:00 2001 From: Karl-Johan Alm Date: Tue, 30 Jul 2019 00:22:42 +0900 Subject: [PATCH 086/133] BIP-154: change to withdrawn status --- README.mediawiki | 4 ++-- bip-0154.mediawiki | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.mediawiki b/README.mediawiki index c8a15962..be99e1de 100644 --- a/README.mediawiki +++ b/README.mediawiki @@ -763,13 +763,13 @@ Those proposing changes should consider that ultimately consent may rest with th | Matt Corallo | Standard | Draft -|- +|- style="background-color: #ffcfcf" | [[bip-0154.mediawiki|154]] | Peer Services | Rate Limiting via peer specified challenges | Karl-Johan Alm | Standard -| Draft +| Withdrawn |- | [[bip-0155.mediawiki|155]] | Peer Services diff --git a/bip-0154.mediawiki b/bip-0154.mediawiki index a0bf3871..c1e4cdb5 100644 --- a/bip-0154.mediawiki +++ b/bip-0154.mediawiki @@ -5,7 +5,7 @@ Author: Karl-Johan Alm Comments-Summary: No comments yet. Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0154 - Status: Draft + Status: Withdrawn Type: Standards Track Created: 2017-04-12 License: BSD-2-Clause From cfacb9d68901841f11e8d4bc7f8a852589c7ccba Mon Sep 17 00:00:00 2001 From: wigy Date: Tue, 30 Jul 2019 11:41:21 +0200 Subject: [PATCH 087/133] Applied standard terminology --- bip-0178.mediawiki | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-0178.mediawiki b/bip-0178.mediawiki index b26efde1..55226640 100644 --- a/bip-0178.mediawiki +++ b/bip-0178.mediawiki @@ -3,7 +3,7 @@ Layer: Applications Title: Version Extended WIF Author: Karl-Johan Alm - Comments-Summary: One comment, with some Discouragement + Comments-Summary: Discouraged for implementation (one person) Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0178 Status: Draft Type: Standards Track From 91ecdbeb2620f5d1352b99a54b32b6f774893b6b Mon Sep 17 00:00:00 2001 From: Karl-Johan Alm Date: Wed, 24 Jul 2019 13:27:48 +0900 Subject: [PATCH 088/133] BIP-322 updates to fix verification and other fixes --- bip-0322.mediawiki | 97 +++++++++++++++++++++++++++++++--------------- 1 file changed, 66 insertions(+), 31 deletions(-) diff --git a/bip-0322.mediawiki b/bip-0322.mediawiki index 6d0fb780..9448945f 100644 --- a/bip-0322.mediawiki +++ b/bip-0322.mediawiki @@ -34,7 +34,7 @@ Two actions "Sign" and "Verify" are defined along with one ''purpose'', "SignMes !Name !Comment |- -|Uint32||4||flags||standard flags (1-to-1 with standard flags in Bitcoin Core) +|Uint32||4||version||BIP322 version format; must be equal to 1; if > 1, verifier must abort the verification process |- |Uint8||1||entries||number of proof entriesWhy support multiple proofs? It is non-trivial to check a large number of individual proofs for duplicates. Software could be written to do so, but it seems more efficient to build this check into the specification itself. |} @@ -70,7 +70,7 @@ A verification call will return a result code according to the table below. |- |INCOMPLETE||One or several of the given challenges had an empty proof. The prover may need some other entity to complete the proof. |- -|INCONCLUSIVE||One or several of the given proofs used unknown opcodes or the scriptPubKey had an unknown witness version, perhaps due to the verifying node being outdated. +|INCONCLUSIVE||One or several of the given proofs was consensus-valid but policy-invalid. |- |VALID||All proofs were deemed valid. |- @@ -81,7 +81,7 @@ A verification call will return a result code according to the table below. == Signing and Verifying == -If the challenge consists of a single address and the address is in the P2PK(H) (legacy) format, sign using the legacy format (further information below). Otherwise continue as stated below. +If the challenge consists of a single address and the address is in the P2PKH (legacy) format, sign using the legacy format (further information below). Otherwise continue as stated below. Let there be an empty set inputs which is populated and tested at each call to one of the actions below. @@ -90,7 +90,7 @@ Let there be an empty set inputs which is populated and tested at e The "SignMessage" purpose generates a sighash based on a scriptPubKey and a message. It emits a VALID verification result code unless otherwise stated. # Return INVALID if scriptPubKey already exists in inputs set, otherwise insert itWhy track duplicates? Because a 3-entry proof is not proving 3 entries unless they are all distinct -# Define the message pre-image as the sequence "Bitcoin Message:" concatenated with the message, encoded in UTF-8 using Normalization Form Compatibility Decomposition (NFKD) +# Define the message pre-image as the sequence "Bitcoin Signed Message:\n" concatenated with the message, encoded in UTF-8 using Normalization Form Compatibility Decomposition (NFKD) # Let sighash = sha256(sha256(scriptPubKey || pre-image)) A private key may be used directly to sign a message. In this case, its P2WPKH bech32 address shall be derived, and used as the input. @@ -111,9 +111,10 @@ The "Verify" action takes as input a standard flags value, a script sig, an opti It emits one of INCONCLUSIVE, VALID, INVALID, or ERROR. # Obtain the sighash and scriptPubKey from the purpose; pass on result code if not VALID -# If one or more of the standard flags are unknown, return INCONCLUSIVE -# Verify Script with flags=standard flags, scriptSig=script sig, scriptPubKey=scriptPubKey, witness=witness, and sighash=sighash -# Return VALID if verify succeeds, otherwise return INVALID +# Verify Script with flags=consensus flags (currently P2SH, DERSIG, NULLDUMMY, CLTV, CSV, WITNESS), scriptSig=script sig, scriptPubKey=scriptPubKey, witness=witness, and sighash=sighash +# Return INVALID if verification fails +# Verify Script with flags=standard flags (above plus STRICTENC, MINIMALDATA, etc.), scriptSig=script sig, scriptPubKey=scriptPubKey, witness=witness, and sighash=sighash +# Return VALID if verification succeeds, otherwise return INCONCLUSIVE === Multiple Proofs === @@ -130,15 +131,16 @@ Note that the order of the entries in the proof must match the order of the entr == Legacy format == -The legacy format is restricted to the legacy P2PK(H) address format, and restricted to one single challenge (address). +The legacy format is restricted to the legacy P2PKH address format, and restricted to one single challenge (address). -Any other input (e.g. multiple addresses, or non-P2PK(H) address format(s)) must be signed using the new format described above. +Any other input (e.g. multiple addresses, or non-P2PKH address format(s)) must be signed using the new format described above. === Signing === -Given the P2PK(H) address a and the message m: -# let p be the pubkey-hash contained in a -# let x be the private key associated with p +Given the P2PKH address a and the message m, and the pubkey-hash function pkh(P) = ripemd160(sha256(P)): + +# let p be the pubkey-hash pkh(P) for the pubkey P, contained in a +# let x be the private key associated with P so that pkh(xG) = p # let digest be SHA56d("Bitcoin Signed Message:\n"||m) # create a compact signature sig (aka "recoverable ECDSA signature") using x on digest @@ -146,13 +148,13 @@ The resulting proof is sig, serialized using the base64 encoding. === Verifying === -Given the P2PK(H) address a, the message m, and the compact signature sig: +Given the P2PKH address a, the message m, the compact signature sig, and the pubkey-hash function pkh(P) = ripemd160(sha256(P)): -# let p be the pubkey-hash contained in a +# let p be the pubkey-hash pkh(P) for the pubkey P, contained in a # let digest be SHA56d("Bitcoin Signed Message:\n"||m) # attempt pubkey recovery for digest using the signature sig and store the resulting pubkey into Q ## fail verification if pubkey recovery above fails -# let q be the pubkey-hash of Q +# let q be the pubkey-hash pkh(Q) for the pubkey Q # if p == q, the proof is valid, otherwise it is invalid == Compatibility == @@ -179,17 +181,50 @@ Thanks to David Harding, Jim Posen, Kalle Rosenbaum, Pieter Wuille, and many oth This document is licensed under the Creative Commons CC0 1.0 Universal license. +== Consensus and standard flags == + +Each flag is associated with some type of enforced rule (most often a soft fork). There are two sets of flags: consensus flags (which result in a block being rejected, if violated), and policy flags (which result in a transaction being accepted only if it is contained within an actual block, and rejected otherwise, if violated). The policy flags are a super-set of the consensus flags. + +BIP322 specifies that a proof that validates for both rulesets is valid, a proof that validates for consensus rules, but not for policy rules, is "inconclusive", and a proof that does not validate for consensus rules is "invalid" (regardless of policy rule validation). + +The ruleset sometimes changes. This BIP does not intend to be complete, nor does it indicate enforcement of rules, it simply lists the rules as they stand at the point of writing. + +=== Consensus rules === + +* P2SH: evaluate P2SH ([https://github.com/bitcoin/bips/blob/master/bip-0016.mediawiki BIP16]) subscripts +* DERSIG: enforce strict DER ([https://github.com/bitcoin/bips/blob/master/bip-0066.mediawiki BIP66]) compliance +* NULLDUMMY: enforce NULLDUMMY ([https://github.com/bitcoin/bips/blob/master/bip-0147.mediawiki BIP147]) +* CHECKLOCKTIMEVERIFY: enable CHECKLOCKTIMEVERIFY ([https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki BIP65]) +* CHECKSEQUENCEVERIFY: enable CHECKSEQUENCEVERIFY ([https://github.com/bitcoin/bips/blob/master/bip-0112.mediawiki BIP112]) +* WITNESS: enable WITNESS ([https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki BIP141]) + +=== Policy rules === + +All of the above, plus (subject to change): + +* STRICTENC: non-strict DER signature or undefined hashtype +* MINIMALDATA: require minimal encodings for all push operations +* DISCOURAGE_UPGRADABLE_NOPS: discourage use of NOPs reserved for upgrades +* CLEANSTACK: require that only a single stack element remains after evaluation +* MINIMALIF: Segwit script only: require the argument of OP_IF/NOTIF to be exactly 0x01 or empty vector +* NULLFAIL: signature(s) must be empty vector if a CHECK(MULTI)SIG operation failed +* LOW_S: signature with S > order/2 in a checksig operation +* DISCOURAGE_UPGRADABLE_WITNESS_PROGRAM: v1-16 witness programs are non-standard (i.e. forbidden) +* WITNESS_PUBKEYTYPE: public keys in segregated witness scripts must be compressed +* CONST_SCRIPTCODE: OP_CODESEPARATOR and FindAndDelete fail any non-segwit scripts + == Test vectors == -* STANDARD_SCRIPT_VERIFY_FLAGS = 01ffdf (131039) -* address = 2MsnqGxX7Abtn4b379MEpkDaD3VbNKQosd8 -* message = "hello world" -* sighash = 7b66a1861b4e179e1dbab4702e26bcefeabf1cada7cccc97b6ebaec89a035d84 (sha256d("Bitcoin Message:hello world")) +== Native segwit test vector == + +* address = bcrt1qe7nte4zk4ayly5tc53dtdjupgkz0lr8azx3rzz +* message = hello +* sighash = 790eef86c204f0bff969ff822121317aa34eff0215dbd30ccf031e7b2f3f0cc1 (sha256d("Bitcoin Signed Message:\n:hello")) A possible proof is: -* HEX: dfff01000117160014689bbb5d76774321c652832ea209958fa1770b330247304402204368b119399d33b9bc9beef06d713becefd3ac508dc95ff62d1859d4912960c7022063d88ddc648faed710b3f870b7a839fdc1b3bfc3c3bd065df51bbbd8c386c81c012102b4e4c6d5021576a5c0bc4535890c3f17e1ff23a94eac87beb0a5e8747c42d920 -* Base64: 3/8BAAEXFgAUaJu7XXZ3QyHGUoMuogmVj6F3CzMCRzBEAiBDaLEZOZ0zubyb7vBtcTvs79OsUI3JX/YtGFnUkSlgxwIgY9iN3GSPrtcQs/hwt6g5/cGzv8PDvQZd9Ru72MOGyBwBIQK05MbVAhV2pcC8RTWJDD8X4f8jqU6sh76wpeh0fELZIA== +* HEX: 01000000010002473044022075b4fb40421d55c55462879cb352a85eeb3af2138d3f02902c9143f12870f5f70220119c2995c1661138142f3899c1fd6d1af7e790e0e081be72db9ce7bf5b5b932901210290beccd02b73eca57467b2b6f1e47161a9b76a5e67586e7c1dee9ea6e2dcd869 +* Base64: AQAAAAEAAkcwRAIgdbT7QEIdVcVUYoecs1KoXus68hONPwKQLJFD8Shw9fcCIBGcKZXBZhE4FC84mcH9bRr355Dg4IG+ctuc579bW5MpASECkL7M0Ctz7KV0Z7K28eRxYam3al5nWG58He6epuLc2Gk= Split into components: @@ -201,24 +236,24 @@ Split into components: !Value !Comment |- -|Uint32||4||flags||dfff0100||standard flags used in signing +|Uint32||4||flags||01000000||proof format version |- |Uint8||1||entries||01||1 entry |- -|VarInt||1-8||scriptsiglen||17||23 byte scriptsig +|VarInt||1-8||scriptsiglen||00||0 byte scriptsig |- -|Uint8[32]||32||scriptsig||160014689bbb5d76774321c652832ea209958fa1770b33||ScriptSig data -|- -|VarInt||1-8||witlen||02||2 entries in witness stack +|VarInt||1-8||wit entries||02||2 witness stack entries |- |VarInt||1-8||entry1len||47||71 byte entry |- -|Uint8[71]||71||entry1||304402204368b119399d33b9bc9beef06d713becefd3ac50 -8dc95ff62d1859d4912960c7022063d88ddc648faed710b3 -f870b7a839fdc1b3bfc3c3bd065df51bbbd8c386c81c01||Witness stack item 1 +|Uint8[71]||71||entry1||3044022075b4fb40421d55c55462879cb352a85eeb3af213 +8d3f02902c9143f12870f5f70220119c2995c1661138142f +3899c1fd6d1af7e790e0e081be72db9ce7bf5b5b932901||Witness stack item 1 |- |VarInt||1-8||entry2len||21||33 byte entry |- -|Uint8[33]||33||entry2||02b4e4c6d5021576a5c0bc4535890c3f17e1ff23a94eac87 -beb0a5e8747c42d920||Witness stack item 2 +|Uint8[33]||33||entry2||0290beccd02b73eca57467b2b6f1e47161a9b76a5e67586e +7c1dee9ea6e2dcd869||Witness stack item 2 |} + +The above test vector is for a bech32 P2WPKH (native segwit) address. (Once BIP solidifies, will add test vector for other types.) From 503f35a9a066a51be29d9c81e73f72f54a403b76 Mon Sep 17 00:00:00 2001 From: Andrew Chow Date: Thu, 1 Aug 2019 14:28:37 -0400 Subject: [PATCH 089/133] Add Version type --- bip-0174.mediawiki | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/bip-0174.mediawiki b/bip-0174.mediawiki index b4a6407b..bbc0fc65 100644 --- a/bip-0174.mediawiki +++ b/bip-0174.mediawiki @@ -124,6 +124,12 @@ The currently defined global types are as follows: ** Value: The master key fingerprint as defined by BIP 32 concatenated with the derivation path of the public key. The derivation path is represented as 32 bit unsigned integer indexes concatenated with each other. The number of 32 bit unsigned integer indexes must match the depth provided in the extended public key. *** {master key fingerprint}|{32-bit int}|...|{32-bit int} +* Type: Version Number PSBT_GLOBAL_VERSION = 0xFB +** Key: None. The key must only contain the 1 byte type. +*** {0xFB} +** Value: The 32-bit little endian unsigned integer representing the version number of this PSBT. If ommitted, the version number is 0. +*** {32-bit int} + The currently defined per-input types are defined as follows: * Type: Non-Witness UTXO PSBT_IN_NON_WITNESS_UTXO = 0x00 @@ -432,6 +438,17 @@ types will be ignored and passed-through by signers which do not know about them If one byte type fields were to ever run out, new extensions can still be added by defining multi-byte types where the first byte signals that the next byte indicates the type and so on. +===Version Numbers=== + +The Version number field exists only as a safeguard in the event that a backwards incompatible change is introduced to PSBT. +If a parser encounters a version number it does not recognize, it should exit immediately as this indicates that the PSBT will contain types that it does not know about and cannot be ignored. +Current PSBTs are Version 0. Any PSBT that does not have the version field is version 0. +It is not expected that any backwards incompatible change will be introduced to PSBT, so it is not expected that the version field will ever actually be seen. + +Updaters and combiners that need to add a version number to a PSBT should use the highest version number required. +For example, if a combiner sees two PSBTs for the same transaction, one with version 0, and the other with version 1, then it should combine them and produce a PSBT with version 1. +If an updater is updating a PSBT and needs to add a field that is only available in version 1, then it should set the PSBT version number to 1 unless a version higher than that is already specified. + ==Compatibility== This transaction format is designed so that it is unable to be properly unserialized From 20fdf77a2bcb04886b2b1d4d1b20b0135388ac4b Mon Sep 17 00:00:00 2001 From: Andrew Chow Date: Thu, 1 Aug 2019 14:36:25 -0400 Subject: [PATCH 090/133] Specify that types are compact size unsigned ints to allow for multi-byte types --- bip-0174.mediawiki | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bip-0174.mediawiki b/bip-0174.mediawiki index bbc0fc65..d30b05d8 100644 --- a/bip-0174.mediawiki +++ b/bip-0174.mediawiki @@ -106,8 +106,10 @@ The format of each key-value map is as follows: | Must be 0x00. |} -The first byte of each key specifies the type of the key-value pair. There are global types, -per-input types, and per-output types. +At the beginning of each key is a compact size unsigned integer representing the type. +This compact size unsigned integer must be minimally encoded, i.e. if the value can be represented using one byte, it must be represented as one byte. +For convenience, this BIP will specify types using their full serialization, so a multi-byte type will have it's full prefix and zero padding as necessary. +There are global types, per-input types, and per-output types. The currently defined global types are as follows: @@ -436,8 +438,6 @@ The Partially Signed Transaction format can be extended in the future by adding new types for key-value pairs. Backwards compatibilty will still be maintained as those new types will be ignored and passed-through by signers which do not know about them. -If one byte type fields were to ever run out, new extensions can still be added by defining multi-byte types where the first byte signals that the next byte indicates the type and so on. - ===Version Numbers=== The Version number field exists only as a safeguard in the event that a backwards incompatible change is introduced to PSBT. From 6129830a330c9c53a918c671dce24a49b3921396 Mon Sep 17 00:00:00 2001 From: Karl-Johan Alm Date: Thu, 1 Aug 2019 18:06:58 +0900 Subject: [PATCH 091/133] travis: add a check for common mistake mediawiki links Several BIPs have mistaken links in format [text](url) which this travis check will detect and complain about. --- .travis.yml | 1 + scripts/link-format-chk.sh | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100755 scripts/link-format-chk.sh diff --git a/.travis.yml b/.travis.yml index ed99de0f..e463ab61 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,6 +2,7 @@ os: linux language: generic sudo: false script: + - scripts/link-format-chk.sh - scripts/buildtable.pl >/tmp/table.mediawiki || exit 1 - diff README.mediawiki /tmp/table.mediawiki | grep '^[<>] |' >/tmp/after.diff || true - if git checkout HEAD^ && scripts/buildtable.pl >/tmp/table.mediawiki 2>/dev/null; then diff README.mediawiki /tmp/table.mediawiki | grep '^[<>] |' >/tmp/before.diff || true; newdiff=$(diff -s /tmp/before.diff /tmp/after.diff -u | grep '^+'); if [ -n "$newdiff" ]; then echo "$newdiff"; exit 1; fi; else echo 'Cannot build previous commit table for comparison'; fi diff --git a/scripts/link-format-chk.sh b/scripts/link-format-chk.sh new file mode 100755 index 00000000..86f28beb --- /dev/null +++ b/scripts/link-format-chk.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash +# +# Copyright (c) 2019 The Bitcoin Core developers +# Distributed under the MIT software license, see the accompanying +# file COPYING or http://www.opensource.org/licenses/mit-license.php. +# +# Check wrong mediawiki link format + +ECODE=0 +FILES="" +for fname in $(git diff --name-only HEAD $(git merge-base HEAD master)); do + if [[ $fname == *.mediawiki ]]; then + GRES=$(grep -n '](' $fname) + if [ "$GRES" != "" ]; then + if [ $ECODE -eq 0 ]; then + >&2 echo "Github Mediawiki format writes link as [URL text], not as [text](url):" + fi + ECODE=1 + echo "- $fname:$GRES" + fi + fi +done +exit $ECODE From f0784c6e922724c674550ee8aa4bfc72d6d32a8a Mon Sep 17 00:00:00 2001 From: Karl-Johan Alm Date: Tue, 6 Aug 2019 17:09:25 +0900 Subject: [PATCH 092/133] BIP322: added background to explain why BIP322 exists, and what it changes --- bip-0322.mediawiki | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/bip-0322.mediawiki b/bip-0322.mediawiki index 9448945f..a4973d87 100644 --- a/bip-0322.mediawiki +++ b/bip-0322.mediawiki @@ -15,6 +15,17 @@ A standard for interoperable generic signed messages based on the Bitcoin Script format. +== Background == + +* Assume two actors, a prover P and a verifier V. +* P wants to prove that they own the private key k associated with a given address A (which in turn is derived from the pubkey kG). +* Let V generate a message M and hand this to P. +* P generates a signature S by signing the message M using k. Given S, V can prove that P has the private key associated with A. + +The astute reader will notice that the above is missing a critical part, namely the pubkey kG, without which the verifier cannot actually verify the message. The current message signing standard solves this via a cryptographic trick, wherein the signature S above is a special "recoverable signature" type. Given the message M and the signature S, it is then possible to recover the pubkey kG. The system thus derives the address for the pubkey kG, and if it does not match A, the proof is deemed invalid. + +While this is a neat trick, it unnecessarily restricts and complicates the message signing mechanism; for instance, it is currently not possible to sign a message for a P2SH address, because there is no pubkey to recover from the resulting signature. + == Motivation == The current message signing standard only works for P2PKH (1...) addresses. By extending it to use a Bitcoin Script based approach, it could be made more generic without causing a too big burden on implementers, who most likely have access to Bitcoin Script interpreters already. From b3cec02aa4170bd92f6ec61c1e6a440017c35b9c Mon Sep 17 00:00:00 2001 From: Karl-Johan Alm Date: Thu, 8 Aug 2019 01:08:12 +0900 Subject: [PATCH 093/133] bip-322: clarify when to return ERROR in verify action --- bip-0322.mediawiki | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bip-0322.mediawiki b/bip-0322.mediawiki index a4973d87..d936e1e7 100644 --- a/bip-0322.mediawiki +++ b/bip-0322.mediawiki @@ -121,6 +121,8 @@ The resulting signature proof should be encoded using base64 encoding. The "Verify" action takes as input a standard flags value, a script sig, an optional witness, and a purpose. It emits one of INCONCLUSIVE, VALID, INVALID, or ERROR. +While omitted below, ERROR is returned if an unforeseen error occurs at any point in the process. A concrete example of this is if a legacy proof is given as input to a non-legacy address; the deserialization of the proof will fail in this case, and this should result in an ERROR result. + # Obtain the sighash and scriptPubKey from the purpose; pass on result code if not VALID # Verify Script with flags=consensus flags (currently P2SH, DERSIG, NULLDUMMY, CLTV, CSV, WITNESS), scriptSig=script sig, scriptPubKey=scriptPubKey, witness=witness, and sighash=sighash # Return INVALID if verification fails From 71529345e8145b2827b878f9c72f021d540ee89e Mon Sep 17 00:00:00 2001 From: Clark Moody Date: Mon, 26 Aug 2019 17:15:18 -0500 Subject: [PATCH 094/133] Switch from Markdown-style code to Mediawiki --- bip-0045.mediawiki | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/bip-0045.mediawiki b/bip-0045.mediawiki index f4d200ce..d7215823 100644 --- a/bip-0045.mediawiki +++ b/bip-0045.mediawiki @@ -16,7 +16,7 @@ This BIP defines a structure for hierarchical deterministic P2SH multi-party multi-signature wallets (HDPM wallets from now on) based on the algorithm -described in BIP-0032 (BIP32 from now on) and purpose scheme described in +described in BIP-0032 (BIP32 from now on) and purpose scheme described in BIP-0043 (BIP43 from now on). This BIP is a particular application of BIP43. @@ -63,7 +63,7 @@ Hardened derivation is used at this level. The index of the party creating a P2SH multisig address. The indices can be determined independently by lexicographically sorting the purpose public keys of each cosigner. Each cosigner creates addresses on its own branch, -even though they have independent extended master public key, as explained +even though they have independent extended master public key, as explained in the "Address generation" section. Note that the master public key is not shared amongst the cosigners. Only the @@ -79,12 +79,12 @@ purpose public keys: 03f76588e06c0d688617ef365d1e58a7f1aa84daa3801380b1e7f12acc9a69cd13
-it should use `m / 45 ' / 0 / *` for -`039863fb5f07b667d9b1ca68773c6e6cdbcac0088ffba9af46f6f6acd153d44463`, -`m / 45 ' / 1 / *` for -`03a473275a750a20b7b71ebeadfec83130c014da4b53f1c4743fcf342af6589a38`, -and `m / 45 ' / 2 / *` for -`03f76588e06c0d688617ef365d1e58a7f1aa84daa3801380b1e7f12acc9a69cd13`, +it should use m / 45 ' / 0 / * for +039863fb5f07b667d9b1ca68773c6e6cdbcac0088ffba9af46f6f6acd153d44463, +m / 45 ' / 1 / * for +03a473275a750a20b7b71ebeadfec83130c014da4b53f1c4743fcf342af6589a38, +and m / 45 ' / 2 / * for +03f76588e06c0d688617ef365d1e58a7f1aa84daa3801380b1e7f12acc9a69cd13, as dictated by their lexicographical order. @@ -102,7 +102,7 @@ chain is used for addresses which are not meant to be visible outside of the wallet and is used for return transaction change. For example, if cosigner 2 wants to generate a change address, he would use -`m / 45 ' / 2 / 1 / *`, and `m / 45 ' / 2 / 0 / *` for a receive +m / 45 ' / 2 / 1 / *, and m / 45 ' / 2 / 0 / * for a receive address. Non-hardened derivation is used at this level. @@ -118,7 +118,7 @@ Non-hardened derivation is used at this level. Each party generates their own extended master keypair and shares the extended purpose' public key with the others, which is stored encrypted. Each party can generate any of the other's derived public keys, but only -his own private keys. +his own private keys. ===Address Generation Procedure=== When generating an address, each party can independently generate the N needed @@ -137,18 +137,18 @@ others using the next index, and calculate the needed script for the address. Example: Cosigner #2 wants to receive a payment to the shared wallet. His last used index on his own branch is 4. Then, the path for the next receive -address is `m/45'/2/0/5`. He uses this same path in all of the cosigners +address is m/45'/2/0/5. He uses this same path in all of the cosigners trees to generate a public key for each one, and from that he gets the new p2sh address. ====Change address case==== Again, each cosigner generates addresses only on his own branch. One of the n cosigners wants to create an outgoing payment, for which he'll need a change address. He generates a new address using the same procedure as above, but -using a separate index to track the used change addresses. +using a separate index to track the used change addresses. Example: Cosigner #5 wants to send a payment from the shared wallet, for which he'll need a change address. His last used change index on his own branch is -11. Then, the path for the next change address is `m/45'/5/1/12`. He uses +11. Then, the path for the next change address is m/45'/5/1/12. He uses this same path in all of the cosigners trees to generate a public key for each one, and from that he gets the new p2sh address. @@ -163,7 +163,7 @@ that specific address (using the same path that generated the public key in that address, but deriving the private key instead), and sign it. Once the proposal reaches m signatures, any cosigner can broadcast it to the network, becoming final. The specifics of how this proposal is structured, and the -protocol to accept or reject it, belong to another BIP, in my opinion. +protocol to accept or reject it, belong to another BIP, in my opinion. ===Address discovery=== @@ -171,8 +171,8 @@ When the master seed is imported from an external source the software should start to discover the addresses in the following manner: # for each cosigner: -# derive the cosigner's node (`m / 45' / cosigner_index`) -# for both the external and internal chains on this node (`m / 45' / cosigner_index / 0` and `m / 45' / cosigner_index / 1`): +# derive the cosigner's node (m / 45' / cosigner_index) +# for both the external and internal chains on this node (m / 45' / cosigner_index / 0 and m / 45' / cosigner_index / 1): # scan addresses of the chain; respect the gap limit described below Please note that the algorithm uses the transaction history, not address @@ -182,7 +182,7 @@ even if the earlier ones don't have transactions ===Address gap limit=== -Address gap limit is currently set to 20. If the software hits 20 unused +Address gap limit is currently set to 20. If the software hits 20 unused addresses (no transactions associated with that address) in a row, it expects there are no used addresses beyond this point and stops searching the address chain. @@ -198,7 +198,7 @@ parties. Here are some explanations about the design decisions made. The reason for using separate branches for each cosigner is we don't want two of them generating the same address and receiving simultaneous payments to it. The ideal case is that each address receives at most one payment, -requested by the corresponding cosigner. +requested by the corresponding cosigner. ==Examples== From c28773f34ee383dd9278e127ffd4236666a7284e Mon Sep 17 00:00:00 2001 From: Karl-Johan Alm Date: Wed, 28 Aug 2019 15:02:06 +0900 Subject: [PATCH 095/133] bip322: fix test-vectors --- bip-0322.mediawiki | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/bip-0322.mediawiki b/bip-0322.mediawiki index d936e1e7..aaf5496b 100644 --- a/bip-0322.mediawiki +++ b/bip-0322.mediawiki @@ -230,14 +230,29 @@ All of the above, plus (subject to change): == Native segwit test vector == -* address = bcrt1qe7nte4zk4ayly5tc53dtdjupgkz0lr8azx3rzz -* message = hello -* sighash = 790eef86c204f0bff969ff822121317aa34eff0215dbd30ccf031e7b2f3f0cc1 (sha256d("Bitcoin Signed Message:\n:hello")) +
+address      = bcrt1qe7nte4zk4ayly5tc53dtdjupgkz0lr8azx3rzz
+scriptpubkey = 0014cfa6bcd456af49f25178a45ab6cb814584ff8cfd
+message      = hello
+preimage     = 0014cfa6bcd456af49f25178a45ab6cb814584ff8cfd426974636f696e205369
+               676e6564204d6573736167653a0a68656c6c6f
+               (scriptpubkey || "Bitcoin Signed Message:\nhello")
+sighash      = 790eef86c204f0bff969ff822121317aa34eff0215dbd30ccf031e7b2f3f0cc1
+               (sha256d(preimage), displayed in big-endian)
+
-A possible proof is: +The proof becomes: -* HEX: 01000000010002473044022075b4fb40421d55c55462879cb352a85eeb3af2138d3f02902c9143f12870f5f70220119c2995c1661138142f3899c1fd6d1af7e790e0e081be72db9ce7bf5b5b932901210290beccd02b73eca57467b2b6f1e47161a9b76a5e67586e7c1dee9ea6e2dcd869 -* Base64: AQAAAAEAAkcwRAIgdbT7QEIdVcVUYoecs1KoXus68hONPwKQLJFD8Shw9fcCIBGcKZXBZhE4FC84mcH9bRr355Dg4IG+ctuc579bW5MpASECkL7M0Ctz7KV0Z7K28eRxYam3al5nWG58He6epuLc2Gk= +
+HEX:    01000000010002473044022075b4fb40421d55c55462879cb352a85eeb3af2138d3f0290
+        2c9143f12870f5f70220119c2995c1661138142f3899c1fd6d1af7e790e0e081be72db9c
+        e7bf5b5b932901210290beccd02b73eca57467b2b6f1e47161a9b76a5e67586e7c1dee9e
+        a6e2dcd869
+
+Base64: AQAAAAEAAkcwRAIgdbT7QEIdVcVUYoecs1KoXus68hONPwKQLJFD8Shw9fcCIBGcKZXBZhE4
+        FC84mcH9bRr355Dg4IG+ctuc579bW5MpASECkL7M0Ctz7KV0Z7K28eRxYam3al5nWG58He6e
+        puLc2Gk=
+
Split into components: From b4e6b0fac257b773afd370d23f243ae22f8ab142 Mon Sep 17 00:00:00 2001 From: darosior Date: Mon, 16 Sep 2019 13:16:11 +0200 Subject: [PATCH 096/133] bip-0174: remove duplicated 'only' (typo) --- bip-0174.mediawiki | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-0174.mediawiki b/bip-0174.mediawiki index b4a6407b..2a730535 100644 --- a/bip-0174.mediawiki +++ b/bip-0174.mediawiki @@ -313,7 +313,7 @@ If a Signer cannot sign a transaction, it must not add a Partial Signature. The Signer can additionally compute the addresses and values being sent, and the transaction fee, optionally showing this data to the user as a confirmation of intent and the consequences of signing the PSBT. -Signers do not need to sign for all possible input types. For example, a signer may choose to only sign only Segwit inputs. +Signers do not need to sign for all possible input types. For example, a signer may choose to only sign Segwit inputs. A single entity is likely to be both a Signer and an Updater as it can update a PSBT with necessary information prior to signing it. From 4d47fb24aaff26dfae438fbeb24685bd1e980c9b Mon Sep 17 00:00:00 2001 From: Vincenzo Palazzo Date: Wed, 18 Sep 2019 11:22:24 +0200 Subject: [PATCH 097/133] Update bip-0013.mediawiki --- bip-0013.mediawiki | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-0013.mediawiki b/bip-0013.mediawiki index 081ea2aa..c5a4354d 100644 --- a/bip-0013.mediawiki +++ b/bip-0013.mediawiki @@ -50,7 +50,7 @@ This proposal is not backwards compatible, but it fails gracefully-- if an older ==Reference Implementation== -See base58.cpp1/base58.h at https://github.com/bitcoin/bitcoin/src +See base58.cpp1/base58.h at https://github.com/bitcoin/bitcoin/tree/master/src ==See Also== From aeda6226dd799c02af260a3582768f839cf6316d Mon Sep 17 00:00:00 2001 From: Vincenzo Palazzo Date: Wed, 18 Sep 2019 11:23:47 +0200 Subject: [PATCH 098/133] Update bip-0013.mediawiki --- bip-0013.mediawiki | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-0013.mediawiki b/bip-0013.mediawiki index c5a4354d..70be90d3 100644 --- a/bip-0013.mediawiki +++ b/bip-0013.mediawiki @@ -50,7 +50,7 @@ This proposal is not backwards compatible, but it fails gracefully-- if an older ==Reference Implementation== -See base58.cpp1/base58.h at https://github.com/bitcoin/bitcoin/tree/master/src +See base58.cpp/base58.h at https://github.com/bitcoin/bitcoin/tree/master/src ==See Also== From 2eca4d32c8284952ba4cbe19a1db7a23767482b9 Mon Sep 17 00:00:00 2001 From: Luke Dashjr Date: Thu, 19 Sep 2019 22:16:51 +0000 Subject: [PATCH 099/133] Update BIP 102 status Draft->Rejected --- README.mediawiki | 4 ++-- bip-0102.mediawiki | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.mediawiki b/README.mediawiki index c8a15962..0f21815c 100644 --- a/README.mediawiki +++ b/README.mediawiki @@ -455,13 +455,13 @@ Those proposing changes should consider that ultimately consent may rest with th | Gavin Andresen | Standard | Withdrawn -|- +|- style="background-color: #ffcfcf" | [[bip-0102.mediawiki|102]] | Consensus (hard fork) | Block size increase to 2MB | Jeff Garzik | Standard -| Draft +| Rejected |- | [[bip-0103.mediawiki|103]] | Consensus (hard fork) diff --git a/bip-0102.mediawiki b/bip-0102.mediawiki index ed6b4e32..5a2c91a7 100644 --- a/bip-0102.mediawiki +++ b/bip-0102.mediawiki @@ -5,7 +5,7 @@ Author: Jeff Garzik Comments-Summary: No comments yet. Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0102 - Status: Draft + Status: Rejected Type: Standards Track Created: 2015-06-23
From f1aff33f46a8787d54813b25b6792d3d16902934 Mon Sep 17 00:00:00 2001 From: Kalle Rosenbaum Date: Fri, 20 Sep 2019 18:57:17 +0200 Subject: [PATCH 100/133] BIP174: Remove misleading sentence The sentence seems to suggest that the "master key fingerprint" can be the fingerprint of any intermediate node on the derivation path, which isn't true. --- bip-0174.mediawiki | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-0174.mediawiki b/bip-0174.mediawiki index 75a4df92..7deb0b16 100644 --- a/bip-0174.mediawiki +++ b/bip-0174.mediawiki @@ -205,7 +205,7 @@ determine which outputs are change outputs and verify that the change is returni * Type: BIP 32 Derivation Path PSBT_OUT_BIP32_DERIVATION = 0x02 ** Key: The public key *** {0x02}|{public key} -** Value: The master key fingerprint concatenated with the derivation path of the public key. The derivation path is represented as 32 bit unsigned integer indexes concatenated with each other. This must omit the index of the master key. Public keys are those needed to spend this output. +** Value: The master key fingerprint concatenated with the derivation path of the public key. The derivation path is represented as 32 bit unsigned integer indexes concatenated with each other. Public keys are those needed to spend this output. *** {master key fingerprint}|{32-bit int}|...|{32-bit int} The transaction format is specified as follows: From dd02ff4c07736f4e95b9f69866acdb17428cdf2e Mon Sep 17 00:00:00 2001 From: Paul Sztorc Date: Mon, 23 Apr 2018 19:13:45 -0400 Subject: [PATCH 101/133] edit and shorten slightly --- bip-hashrate-escrows.mediawiki | 469 ++++++++++++++++++++++++++++ bip-hashrate-escrows/appendix-1.txt | 20 ++ 2 files changed, 489 insertions(+) create mode 100644 bip-hashrate-escrows.mediawiki create mode 100644 bip-hashrate-escrows/appendix-1.txt diff --git a/bip-hashrate-escrows.mediawiki b/bip-hashrate-escrows.mediawiki new file mode 100644 index 00000000..0a61b47c --- /dev/null +++ b/bip-hashrate-escrows.mediawiki @@ -0,0 +1,469 @@ + + +
+    BIP: ????
+    Layer: Consensus (soft fork)
+    Title: Hashrate Escrows (Consensus layer)
+    Author: Paul Sztorc 
+            CryptAxe 
+    Comments-Summary: No comments yet.
+    Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-???????
+    Status: Draft
+    Type: Standards Track
+    Created: 2017-08-14
+    License: BSD-2-Clause
+    Post-History: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-May/014364.html
+
+ +==Abstract== + +A "Hashrate Escrow" is a clearer term for the concept of "locked to an SPV Proof", which is itself a restatement of the phrase "within a sidechain" as described in [https://blockstream.com/sidechains.pdf a famous Oct 2014 paper] written partially by some Blockstream co-founders. + +A Hashrate Escrow resembles a 2-of-3 multisig escrow, where the 3rd party (who will arbitrate any disputes) is a decentralized group of people: the dynamic-membership set of Bitcoin Miners. However, the 3rd party does not sign escrow-withdrawal transactions with a private key. Instead, these are "signed" by directing hashpower over them for a period of time. + +This project has [http://www.drivechain.info/ a website] which includes [http://www.drivechain.info/faq/index.html a FAQ]. + + +==Motivation== + +In practice these escrows are likely to be "asymmetric sidechains" of Bitcoin (such as [http://www.rsk.co/ Rootstock]) or "virtual chains" within Bitcoin (such as [https://github.com/blockstack/virtualchain proposed by Blockstack] in mid-2016). + +Sidechains have many potential benefits, including: + +1. Protect Bitcoin from competition from altcoins and spinoffs. Safely allow competing implementations (of *sidechains*). +2. Protect Bitcoin from hard fork campaigns. (Such campaigns represent an existential threat to Bitcoin, as well as an avenue for developer corruption.) +3. Help with review, by making it much easier for reviewers to ignore bad ideas. +4. Provide an avenue for good-but-confusing ideas to prove their value safely. + + + +==Specification== + +==== Components ==== + +Hashrate Escrows are built of two types of component: [1] new databases, and [2] new message-interpretations. + +===== 1. New Databases ===== + +* D1. "Escrow_DB" -- a database of "accounts" and their attributes. +* D2. "Withdrawal_DB" -- a database of pending withdrawals from these accounts, and their statuses. + +Please note that these structures (D1 and D2) will not literally exist anywhere in the blockchain. Instead they are constructed from messages...these messages, in contrast, *will* exist in the blockchain (with the exception of M4). + +===== 2. New Messages ===== + +* M1. "Propose New Escrow" +* M2. "ACK Escrow Proposal" +* M3. "Propose Withdrawal" +* M4. (implied) "ACK Withdrawal" +* M5. "Execute Deposit" -- a transfer of BTC from-main-to-side +* M6. "Execute Withdrawal" -- a transfer of BTC from-side-to-main + + +==== On the Resource Requirements of New Databases ==== + +The "new" databases are simply reinterpretations of data that are already contained elsewhere in the blockchain. Specifically, M1 M2 and M3 are all located in the block's coinbase txn, and M5 and M6 might be found in any regular txn. M4 is a special case and does not actually need to be included anywhere, so it is not. If you like, you can imagine that the M4s reside in an optional extension block. + +In other words, we just rearrange what is already there. Because of this, even though "new databases" are created and stored in memory, the existing bandwidth and storage limits are respected (although, see "M4" below). + + + + +=== Adding Sidechains and Tracking Them (D1, M1, M2) === + +==== D1 -- "Escrow_DB" ==== + +The table below enumerates the new database fields, their size in bytes, and their purpose. In general, an escrow designer (for example, a sidechain-designer), is free to choose any value for these. + +Note: Fields 6 through 9 have been intentionally removed. Previously, this section allowed miners to set and commit to voting/waiting periods. However, I have since standardized the periods: withdrawals expire after 6 months (26298 blocks), and they succeed if they ever achieve an ACK score of 13140 or higher. I have removed the waiting period, because anyone who adopts a policy of ignoring all withdrawals with fewer than 400 ACKs will automatically gain all of the benefits of the waiting period. The justification for this change is that it strongly implies that an attack on any one sidechain is an attack on all of them (in a sense, this change makes the "victimhood" of each sidechain "fungible"). + +{| class="wikitable" +! Field No. +! Label +! Bytes +! Type +! Description / Purpose +|- +| 1 +| Escrow Number +| 1 +| uInt +| A number assigned to the entire escrow. Used to make it easy to refer to each escrow. +|- +| 2 +| Active* +| 2 +| uInt +| This counter starts at zero when a new entry is added, and increments as a new entry is supported by "M2". The entry either reaches the max value of 4032 (at which point the counter freezes), or else the entry is removed. This enforces the requirement "a soft fork is required to add a new escrow". +|- +| 3 +| Escrow Name/Description +| 120 +| string +| A human-readable name and description of the sidechain. More than enough space to hold a 32 byte hash. Helps prevent destructive interference among sidechains (see below). +|- +| 4 +| Critical Private Key +| 32 +| hex +| This is the Double-SHA256 of the binary release of the reference software. It ties the sidechain to a specific software release, and doubles as a way of signing withdrawals (see below). +|- +| 5 +| Critical Address* +| 32 +| string +| This is derived by taking f(x) = ImportPrivateKey(HexToBase58Check(x)) of field #3. It is intentionally in the human-readable format {{although it could be 25 bytes of binary}}. +|- +| 10 +| "CTIP" -- Part 1 "TxID"* +| 32 +| hex +| The CTIP, or "Critical (TxID, Index) Pair" is a variable for keeping track of where the escrow's money is (ie, which member of the UTXO set). +|- +| 11 +| "CTIP" -- Part 2 "Index"* +| 4 +| hex +| Of the CTIP, this is second element of the pair: the Index. See #10 above. +|} + +\* Denotes a "convenience field", the entry for this field is derived from other fields, or from the blockchain-state itself. The escrow-creator does not need to provide these values in M1 (or anywhere). + +Escrow_DB requires 223 bytes [1+120+32+32+2+32+4] for each escrow in the main blockchain. Of these, 70 bytes [2+32+32+4] are merely for convenience. Therefore, a sidechain is defined (see "M1") by 153 bytes of information. + +====Notes on D1==== + +# D1 will always exist. +# D1 will always have a unique sort (first by "Escrow Number" (field #1), and second by "Active" (field #2)). There is only ever one (escrow number, Active) pair. +# D1 is updated according to M1 and M2 (below). +# If a new entry is added to D1 with an "Escrow Number" that is already in use, then this entry will either eventually be removed (because it was not supported with an M2), or it will eventually overwrite the old entry (if it *was* supported via M2). + + +====Notes on D1==== + +=====Obligations Placed on Miners===== + +Miners have always upgraded their software according to criteria that are known only to them (in other words, "whenever they want"). + +However, this soft fork imposes two new criteria upon them. First: miners should only upgrade their software, if any modification to the portfolio of sidechains [that are added/removed in the upgrade] can be expected to increase miner wealth. Trivially, this implies that miners should make sure that the upgrade doesn't overwrite (and destroy) an existing sidechain that they like! But, more seriously, it implies that miners should take an interest in what the sidechain is doing to the mainchain and other sidechains (see below). + +===== Destructive Sidechain Interference ===== + +People frequently emphasize that miners should have "as little control" as possible. It is a very safe claim to make, and a very easy sentence to write. Much harder is to determine exactly what this minimum value is, and how to achieve it. Harder still is to untie the knot of who is actually controlling what, in a decentralized, interacting system. + +Certainly, miners can not have "zero control" -- for that is the same as to just remove them from the system altogether. Some rules are enforced "on miners by nodes" (such as the infamous blocksize limit); other rules are enforced by nodes but are narrowly-controlled by miners (such as the proof-of-work itself, or the block's timestamp). Thirdly, some rules are enforced by both against each other (such as the rule against including invalid txns or double-spent txns), for mutual benefit. + +Some pause should be given, after one considers that the sidechain design goal is literally a piece of software that can do *anything*. Anything includes a great many things, many of which I demonstrate to be undesirable. Bitcoin itself does not allow "anything" -- it allows any person to transact, but, in contrast, it does not permit any person to double-spend. This is because "allowing anyone to do anything" is not viable in a world that contains undesirable interactions (what a libertarian might call "aggression") -- in the case of money, these are theft and counterfeiting. + +I have produced a comprehensive quantity of written material [1], presentations [2], etc [3] on exactly what the level of miner-control should be, and why. Specifically, I claim that **miners should be aware of the purpose of the sidechain, and they should reject sidechains which have an unclear purpose or which have a purpose that will lead to decrease in miner-wealth** (where wealth measured explicitly as: the estimated present value of the purchasing power of the blockchain's coinbase txns). I claim that this criterion is necessary because, just Original Bitcoin filters unwanted interactions among different BTC txns, so too much "Sidechain Bitcoin" filter out unwanted interactions among sidechain. + +* [1] http://www.truthcoin.info/blog/wise-contracts/ +* [2] https://www.youtube.com/watch?v=xGu0o8HH10U&index=1&list=PLw8-6ARlyVciMH79ZyLOpImsMug3LgNc4 +* [3] http://www.drivechain.info/literature/index.html + +Call it a "sidechain non-aggression principle", if you want. + +To the best of my knowledge, everyone who *has* reviewed this information as found the arguments to be acceptable. It has, also, changed a few minds (from "unacceptable" to "acceptable"). + + +===== ISSUE: "Signing" BTC Txns ===== + +Currently, we use a process which may be suboptimal. It is that we *literally sign* a txn with a globally and publicly known private key. But this is for convenience purposes -- to easily detect the sidechain's balance. The signature that is produced is not doing anything. This is probably an area of improvement. + + +( The following messages were modeled on SegWit -- https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki#commitment-structure ) + + +==== M1 -- "Propose New Sidechain" ==== + + 1-byte - OP_RETURN (0x6a) + 1-byte - Push the following 157 bytes (0x9d) + 4-byte - Commitment header (0x53707243) + 153-byte - the critical bytes mentioned above (fields #1, #3, and #4, to populate a new D1 entry) + + +==== New Block Validation Rules ==== + +# If the network detects a properly-formatted M1, it must add an entry to D1, into the very next block, with the following initial values: +## Field #5 will be calculated as per [https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses version 1 Bitcoin addresses], but with a prefix of "4" instead of "1". +## Field #9 will be derived from #7 and #8 using math. +## The initial values of Fields #10, #11, and #12 are set to zero. +# Only one M1 (of any kind) can be added into a block at a time. + +==== Notes on M1 ==== + +The escrow will "reuse" the same address over and over. But notice that there is no privacy loss due to address reuse, because the address in question does not "belong" to any specific individual. Furthermore, the transactions in question could already be linked by just watching the Hashrate Escrow for deposits ...this, in fact, is exactly what a sidechain must do in order to make main-to-side transfers. + + +==== M2 -- "ACK Sidechain Proposal" ==== + + 1-byte - OP_RETURN (0x6a) + 1-byte - Push the following 29 bytes (0x1D) + 4-byte - Commitment header (0x53616343) + 25-byte - Commitment hash: RIPMD-160 of Sha256 of a given M1 (above) + +==== New Block Validation Rules ==== + +1. An entry will be removed from D1, unless that block contains an M2 supporting it (this will increment field #2), or the entry has accumulated 4032 M2s. Therefore, each entry needs to have 4032 *consecutive* M2s supporting it, else it will be removed from D1 and must start over. This requires all miners to agree to "soft fork" the sidechain into existence. This makes it easier to curate the list of active sidechains, and prevents destructive interference (see above) among contradictory sidechains. +2. Once the entry has 4032 M2s, then a miner must make a 0 btc payment to the Critical Address, thus activating the chain. This payment becomes the first "critical (TxID, index) pair" (or "CTIP"). +3. It is possible to "overwrite" a D1 slot -- this destroys the sidechain that is there, and replaces it with a new one. This is defined as requiring 6 months (26298 blocks) of M2s, instead of 4 weeks (4032). This possibility does not change the security assumptions, because we already assume that users have access to "magically true" bandwidth at a rate of 1 bit per ACK-cycle. (This is why the voting cycles should be large, 1 month Waiting, 2+ months Voting). + + + +=== Adding Withdrawal-Attempts and Tracking Their Success (D2, M3, M4) === + +==== D2 -- "Withdrawal_DB" ==== + +The table below enumerates the database fields, their size (in bytes), type and purpose. + + +{| class="wikitable" +! Field No. +! Label +! Bytes +! Type +! Description / Purpose +|- +| 1 +| Escrow Number +| 1 +| uInt +| Links the withdrawal-request to a specific escrow. +|- +| 2 +| WT^ +| 32 +| hex +| This is a "blinded transaction id" (ie, the double-Sha256 of a txn that has had two fields zeroed out, see M6) of a withdrawal-attempt. +|- +| 3 +| ACKs* +| 2 +| uInt +| The current total number of "votes", this starts at 0 and remains there throughout the waiting period. +|- +| 4 +| Age* +| 3 +| uInt +| Total duration of time, in blocks, that this WT^ has been inside of D2. +|- +| 5 +| Waiting Period* +| 2 +| uInt +| Total duration of time, in blocks, that this entry must sit idle, before it can begin to accumulate ACKs/NACKs. Pulled from D1's field #6. +|- +| 6 +| Max Age* +| 3 +| uInt +| Determined by summing (D1's field #6) and (D1's field #7). +|- +| 7 +| Threshold* +| 2 +| uInt +| Total ACKs needed, this is pulled from D1's field #9. +|- +| 8 +| Approved* +| 1 +| boolean +| True while ACKs > Threshold, False otherwise. +|} + +\* Denotes a "convenience field" (see above). + +Withdrawal_DB requires 46 bytes [1+32+2+3+2+3+2+1] per entry. Of these, 13 bytes ([2+3+2+3+2+1], all fields except #1 and #2) can be generated locally, leaving 33 critical bytes [1+32]. + +==== New Block Validation Rules for D2 ==== + +# In each block, a hash commitment to D2 must always exist (even if D2 is blank). +# D2 must always be sorted first by field #1 (Escrow Number) and second by field #4 (Age). This imposes a unique sort. +# From one block to the next, every entry's "Age" field must increase by exactly 1. +# From one block to the next, entries are only removed from D2 (in the very next block) if: +## "Age" = "MaxAge". +## If the block contains a txn who's blinded txID matches WT^. {{ This might be unnecessary, and a lot of work. }} +# In addition, there are special rules for the allowed values in the "ACKs" field (field #3). See M4 below. + +==== M3 -- "Propose Withdrawal" ==== + + 1-byte - OP_RETURN (0x6a) + 1-byte - Push the following 37 bytes (0x25) + 4-byte - Commitment header (0xD45AA943) + 33-byte - the critical bytes mentioned above (fields #1 and #2, to populate a new D2 entry) + + +==== New Block Validation Rules for M3 ==== + +# If the network detects a properly-formatted M3, it must add an entry to D2 in the very next block. The starting values of fields #3 and #4 are zero, and #5 is pulled over by extracting the relevant value from D1. +# Each block can only contain one M3 per sidechain. + + +==== M4 -- "ACK Withdrawal" ==== + +==== Very Little Info, Probably Calculable in Advance ==== + +M4 is exceptional (in comparison to the other M's) in a few ways. First, its content is not stored anywhere, only the *hash* of its *effect* is stored (in a leaf of a merkle tree who's root is inserted into a mainchain coinbase). M4 alters the contents of D2 -- the *contents* of D2 are consensus critical, but M4 (the process by which nodes reach a new valid D2) can be anything. + +In fact, M4 can also be *nothing*. In other words, it may be optional. This is precisely because, from one block to the next, we have constrained D2 such that it is only allowed to change in a few ways. Therefore, the exhaustive set of "candidate D2s" can be precomputed by full nodes in advance. + +The following sections assume a maximum of one sucessful withdrawal per sidechain at a time (see [bip-hashrate-escrows/appendix-1.txt appendix 1]). + +==== How Hard is it to Guess M4? ==== + +If there are n Escrows and m Withdrawals-per-escrow1, then there are (m+2)^n total candidates for the next D2. This is because, [per block per escrow], one of three things can happen: (1) one of the m withdrawal-candidates can be "ACK"ed (or "upvoted" or "promoted"), which automatically downvotes the others; or (2) all withdrawal-candidates can be downvoted, or finally (3) the miners can abstain from voting on the escrow's withdrawals altogether, leaving the tallies the same. + +First, for nodes which validate all sidechains (assuming these escrows are sidechains), this simplifies to 2^n -- these nodes only have to choose between the single honest choice (on one hand) or an abstention (on the other). Second, even for nodes that don't validate any sidechains, the number of candidates might be reduced from m^n to 3^n, by making a simplifying assumption: whichever withdrawal was most recently added/upvoted, is likely to be the one which is upvoted next. + +Of course, that is still O(k^n) for n sidechains, which isn't great2. If the "D2 update" cannot be guessed, it must be transmitted in some way. + +==== Giving Up and Getting M4 the Old Fashioned Way ==== + +Two examples for transmitting it are below: + +"Short Form" (Assumes there are no more than 254 active withdrawal-attempts per account) + + 4-byte - Message identifier (0x????????) + 1-byte - Version of this message + N-byte - N is the total number of active accounts ("sidechains"), each byte specifies the position of the single WT that was "upvoted". A value of 0 indicates "downvote everything", a value of 255 indicates abstention. + +"Long Form" (Makes no assumptions about anything) + + 4-byte - Message identifier (0x????????) + 1-byte - Version of this message + 1-byte - Length (in bytes) of this message; total number of withdrawal attempts; y = ceiling( sum_i(m_i +2)/8 ). Nodes should already know what length to expect, because they know the sequence of M3s and therefore the vector of WT^s. + Y-byte - stream of bits (not bytes), with a 1 indicating the position of the chosen action [downvote all, abstain, upvote1, upvote2, ...] + + +If the message is very very large, then nodes may not want to broadcast it. This opens up an "exhaustion attack"2, in which many miners create bad WT^s, vote on these randomly, and then refuse to broadcast their votes. Fortunately, even for a worst-case scenario of 200 sidechains and 1,000 withdrawal-attempts per sidechain, honest nodes can communicate a long form M4 with each other by using just 25,056 bytes per block [4+1+1+(200\*(1000+1+1)/8)]. + +Today's pre-drivechain miners can already carry out a similar attack, by creating and including txns and then not broadcasting that part of the block to anyone. This is often characterized as a [https://petertodd.org/2016/block-publication-incentives-for-miners "block publication incentive"], because in that case the prospect of exhaustively computing all possible transactions (to uncover the missing ones) is completely out of the question. + +However, message M4 is different from a withheld-txn, because M4 operates outside of the block's mandated information-processing limits (ie, outside the infamous 1 MB nonwitness blocksize limit). So we should examine the conditions under which M4 grows and shrinks, to ensure that we are not smuggling in a tremendous burden on full nodes. + +Under adversarial conditions, to lengthen a long-form M4 by one bit per block, for C blocks, the attacker must pay 312 bits (39 bytes) one time (to embed a new M3 message). The value C is the length of the sidechain's voting period, which varies but which I expect to be approximately 8,064 (and which could theoretically be as high as 65,536). Thus the attacker can burden nodes disproportionately, if (s)he wishes. + +Fortunately, the attack in question has no motivation (as far as I can tell). If the miner's goal is to trick rivals into mining on top of invalid blocks, he can already do this much more effectively with the unpublished-txn method (above). If instead he is just trying to harass nodes, then nodes may freely "downgrade" to earlier versions of the protocol, and simply ignore all drivechain-related messages. It seems that the attack could best be used in order to: make a large D2, make D2 confusing, sneak in votes for evil WT^ lurking in D2. Thus, the attack disables the transparency of the drivechain system, to some extent. The cost of the attack is forgone transaction fees, due to block space wasted on useless M3s. + +In practice, n is already capped, and miners may impose [on each other] a "soft cap" on m for their mutual protection. Thus, n and m might never get above 10 and 30, respectfully. In this case, the [Short Form, this time] M4 can never require more than 15 bytes per block, no matter what the attacker tries. + +In practice, m should always be 1 or 2, else something fishy is going on; and m can only inch up by 1 unit per block. So the system as a whole is still quite transparent, in that users are warned appropriately and well in advance. Attackers must invest upfront and they face an uphill climb, in order to eventually make things more expensive for a few others; defenders can wait-and-see if the attack looks like it will ever amount to anything before lifting a finger. + + +===== New Block Validation Rules (for D2 and, by implication, M4) ===== + +From one block to the next, D2 can only be edited in a few strict ways: + +* Entries can only be added/removed from D2 if they meet the criteria above (in M3, and implicitly M1 and M2). +* The ACK-counter of any individual entry can only change by (-1,0,+1) relative to its previous entry. +* Within a sidechain group, upvoting one withdrawal (ACK=ACK+1) requires you to downvote all other withdrawals in that group. However, the minimum ACK value is zero (and, therefore, downvotes cannot reduce it below zero). + +===== Footnotes for M4 ===== + +1 This represents the worst-case scenario is one where all the Withdrawals are spread evenly over each Sidechain. Under normal operations, there is no reason to expect the all sidechains will have the same number of withdrawals at any given time. In fact, under normal operations, the very *concept* of counting the withdrawals-per-sidechain should be a purposeless one, because there should only be *one* withdrawal at a time. Nonetheless we consider the worst case scenario here. + +2 Guessing becomes more computationally intensive in a highly adversarial situation where the "limited range" is intentionally expanded. In such a scenario, [a] there are many sidechains, and [b] miners voluntarily sacrifice their scarce block-space by creating a high number of (mutually-exclusive, and hence ultimately invalid) withdrawal attempts and putting these into coinbase transactions; and then agree to all [c] vote on these randomly (guaranteeing that all withdrawals fail, including any true withdrawals) and [d] successfully withhold their random voting strategies from nodes (even including spy-miner-nodes). Under this bizarre scenario, nodes may require computing resources which increase near-exponentially with the number of withdrawals, and it may take a long time for an ignorant node to exhaustively work out the underlying state of Withdrawal_DB. In this case, nodes may decide to temporarily stop validating such transactions (as if they had not yet upgraded to support this soft fork). + + + +=== Depositing and Withdrawing (M5, M6) === + + +Both M5 and M6 are regular Bitcoin txns. They are identified by meeting an important criteria: they select a one of the Critical TxID-index Pairs (a "CTIP") as one of their inputs. Deposits ("M5") are distinguished from withdrawals ("M6") by simply checking to see if money is "going in", or "out". In other words, we compare the BTC value of the original CTIP to that of new CTIP. If original <= new it is a deposit, if original > new then it is a withdrawal. + +The code that identifies sidechain withdrawal / deposit txns (by calculating how much value is being put into or taken out of a sidechain) can be seen here: https://github.com/drivechain-project/bitcoin/blob/mainchainBMM/src/validation.cpp#L351-L386 + +Such txns are forced (by consensus) to obey two additional criteria: + +# They must contain an output paying "to" the Critical Address [probably in TxOut0]. +# They must be accompanied by an update to this sidechain's Critical TxID-index Pair (CTIP). The new CTIP must be "this" txn itself. + +These criteria are enforced [https://github.com/drivechain-project/bitcoin/blob/mainchainBMM/src/validation.cpp#L440-L473 here] by checking that a deposit is paying back to the sidechain more than it is taking out, and completely rejecting any withdrawal from the mempool. And [https://github.com/drivechain-project/bitcoin/blob/mainchainBMM/src/validation.cpp#L1747-L1757 here] we allow for a withdrawal only once it has attained sufficient work score (ACKs). + +The purpose of this is to have all of the escrow's money (ie all of the sidechain's money) in one TxID, so that depositors immediately undo any UTXO bloat they may cause. This simplifies the withdrawal process, as there is no need to worry about cleaning up "dust deposits" (...and such cleaning can often result in headaches, for example where a withdrawal-txn is larger than 1MB in size, or else may only withdraw an arbitrarily limited amount of BTC). Notice that, unless we assume that an account will last forever, all utxos which are deposited must eventually be withdrawn by someone. Therefore, the relevant design criterion is not "efficiency" (total network cost) but rather "who should pay" (allocation of costs). + +==== M5. "Make a Deposit" -- a transfer of BTC from-main-to-side ==== + +As far as mainchain consensus is concerned, there are no additional requirements. + +However, in practice there *are* additional mainchain requirements...specified by the escrow account, (ie specified by the "sidechain" or "virtual chain"). These requirements are not part of mainchain consensus and are allowed to be anything. In other words, the sidechain is free to invent any way to credit depositor's money -- M5 is fully customizable. + +One method, is for mainchain depositors to append a zero-value OP Return to a Deposit txn, so that the sidechain knows how to credit funds. Mainchain users must upgrade their wallet software, of course, (on an individual basis) in order to become aware of and take advantage of new deposit-methods. + +===== Inconvenient Race Condition ===== + +The requirement that each hashrate escrow be linked to a single TxID does create an interesting inconvenience for depositors. If a user is slow to sign a txn after constructing it (perhaps because the user employs an air-gapped computer, etc), then the signed txn may no longer be valid. This is because the input it selects, may no longer be the Critical TxID (as "the" Critical TxID changes with each deposit). **Only one user can deposit at a time** (although many can deposit per block). As a result, the transaction must fail, and the user would need to be prompted to remake and resign the txn. If this is problem is too frustrating, users can always make main-to-side transfers using atomic cross chain swaps (or, the LN, if they already have a channel open on both chains). + +Fortunately, it is already a part of mainchain consensus that no two txns can spend the same TxID. The only new issue here is the confusion it might create for the user (hence the need for error messages and alternative deposit-methods). + + +==== M6. "Execute Withdrawal" -- a transfer of BTC from-side-to-main ==== + +We come, finally, to the critical matter: where users can take their money *out* of the escrow account, and return it to the "regular" UTXO set. As previously mentioned, this txn is one which (a) spends from a CTIP and (b) reduces the quantity of BTC in an account's CTIP. Most of the work has already been done by D1, M3, M4, and D2. Furthermore, existing Bitcoin tx-rules prevent the sidechain from ever withdrawing more money than has been placed into it. + +From there, we merely introduce two final concepts: + +# In each block, an entry in D2 is considered an "approved candidate" if the "ACKs" value is above 13140. +# A "blinded TxID" is way of hashing the txn, in which we first overwrite some parts of the txn with zeros. Specifically, the first 36 bytes of "TxIn0" (the first input, including TxOutHash and TxOutIndex), as well as the first 8 bytes of "TxOut0" (the first output). + +Blinding is necessary because we allow each sidechain only one UTXO at a time. + +of our restriction of the account to a single UTXO-member. Because of this, during the ACKing process the withdrawal-txn (which is currently being ACKed) may change in two ways: the CTIP (which changes with each deposit), and the total quantity of BTC stored in the account (which arbitrarily increases with each new deposit). In other words, a withdrawal-attempt is created via M3, but this takes place many blocks before the withdrawal is actually included via M6. During this time, a single new deposit to the account would change its CTIP and its value. So, what do we ACK? Well, we ACK a "blinded" version of the withdrawal. This blinded version is stable because the dynamic parts are always overwritten with zeros. + +While we ACK a blinded WT^, what is actually included in the blockchain ("M6") is an unblinded WT^. Since each blinded WT^ could correspond to many different unblinded WT^s, we need to impose further restrictions on those unblinded WT^s that are finally included. First, we will force the final unblinded WT^ to spend the entire sidechain balance (by forcing sum(input_values) to equal sum(output_values)). To avoid withdrawing the entire sidechain balance with every withdrawal, we will, secondly, force the unblinded WT^ to create a new output which is itself a deposit to the sidechain it withdrew from (which nodes can check using D1's CTIP field). Unfortunately, these requirements eliminate the possibility of including a transaction fee, as traditionally calculated. So, finally, to compensate for *that*, txn fees are encoded explicitly as a withdrawal to OP_TRUE (which the main:block's miner can immediately claim). + +With all of this in place, the only requirements for inclusion in a block are these: + +# "Be ACKed" -- The "blinded TxID" of this txn must be member of the "approved candidate" set in the D2 of this block. +# "Return Change to Account" -- TxOut0 must pay to the "critical account" (see D1) that corresponds to the CTIP that was selected as a TxIn. +# "Return *all* Change to Account" -- Sum of inputs must equal the sum of outputs. No traditional tx fee is possible. + +Finally, don't forget that M6 inherits the requirement (common to both M5 and M6) that the CTIP be selected as an input, and that the CTIP then be updated. In this case, we know that the critical index will be zero, so the new CTIP will be ("this TxID" (NOT blinded), 0). The TxID is NOT blinded because blinding is only for accumulating ACKs. + +As a result of these requirements, every single withdrawal-attempt will fail, unless an entry has been added to D2 and "ACKed" a sufficient number of times. + + + +==Backward compatibility== + + +As a soft fork, older software will continue to operate without modification. Non-upgraded nodes will see a number of phenomena that they don't understand -- coinbase txns with non-txn data, value accumulating in anyone-can-spend UTXOs for months at a time, and then random amounts leaving the UTXO in single, infrequent bursts. However, this phenomena doesn't affect them or the validity of the money that they receive. + +( As a nice bonus, note that the sidechains themselves inherit a resistance to hard forks. The only way to guarantee that the WT^s reported by different clients will continue to match identically, is to upgrade sidechains via soft forks of themselves. ) + + +==Deployment== + + +This BIP will be deployed by "version bits" BIP9 with the name "hrescrow" and using bit 4. + +
+// Deployment of Drivechains (BIPX, BIPY)
+consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].bit = 4;
+consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].nStartTime = 1515974401; // January 15th, 2018.
+consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].nTimeout = 1547510401; // January 15th, 2019.
+
+ +==Reference Implementation== + + +See: https://github.com/drivechain-project/bitcoin/tree/mainchainBMM + +Also, for interest, see an example sidechain here: https://github.com/drivechain-project/bitcoin/tree/sidechainBMM + + +==References== + +See http://www.drivechain.info/literature/index.html + + +==Credits== + +Thanks to everyone who contributed to the discussion, especially: ZmnSCPxj, Adam Back, Peter Todd, Dan Anderson, Sergio Demian Lerner, Chris Stewart, Matt Corallo, Sjors Provoost, Tier Nolan, Erik Aronesty, Jason Dreyzehner, Joe Miyamoto, Ben Goldhaber. + + +==Copyright== + +This BIP is licensed under the BSD 2-clause license. diff --git a/bip-hashrate-escrows/appendix-1.txt b/bip-hashrate-escrows/appendix-1.txt new file mode 100644 index 00000000..921be29b --- /dev/null +++ b/bip-hashrate-escrows/appendix-1.txt @@ -0,0 +1,20 @@ + +==== Two Withdrawals at Once ==== + +Currently, the documentation and code describe a situation where only one withdrawal can proceed at a time. + +In other words, as WT^s are proposed, only one can make progress toward the finish line. As a result, a given side-to-main transfer will always take between 3 and 6 months. + +However, it might be best to use a maximum of two transfers at once. + +If there were more simulataneous withdrawals, the worst-case transfer duration would improve. + +See image: bip-hashrate-escrows/two-groups.png?raw=true + +The worst-case withdrawal time obeys f(n)=3+(3/n) months, where n is the number of simultaneous withdrawals. + +N=2 is the most desirable choice for several reasons. First, it delievers the greatest marginal benefit (of 1.5 months). Later choices only deliver 0.5 and 0.25 marginal months. + +Second, n=2 can be implemented in a clever way: by allowing a withdrawal to freely advance, if and only if has an ACK-score of 6575 or greater, and if it also has the largest ACK score. In other words, the withdrawal that is furthest along can advance (or retreat) for free, if it has already made it at least halfway to the finish line. With this change, our new M4, is either an "abstain" for the sidechain (in which case nothing happens to any ACK scores), or else it will be in one of two cases: old_M4 + "the largest advances", or new_M4 + "the largest retreats". As a result the number of M4 possibilities (of which the next section is concerned) only increases by a factor of two (instead of exponentially). + +It is possible to troll this rule, by getting two (or even three) withdrawals to have 6575+ ACK scores, and then getting them to *tie* for first place. So, if there are any ties, the ability to "bonus move" would be disabled until all ties are broken. \ No newline at end of file From 3201b2311951652020e1d948362c24fcc06d6708 Mon Sep 17 00:00:00 2001 From: Paul Sztorc Date: Mon, 23 Apr 2018 19:15:13 -0400 Subject: [PATCH 102/133] typo --- bip-hashrate-escrows.mediawiki | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-hashrate-escrows.mediawiki b/bip-hashrate-escrows.mediawiki index 0a61b47c..ae31e291 100644 --- a/bip-hashrate-escrows.mediawiki +++ b/bip-hashrate-escrows.mediawiki @@ -309,7 +309,7 @@ M4 is exceptional (in comparison to the other M's) in a few ways. First, its con In fact, M4 can also be *nothing*. In other words, it may be optional. This is precisely because, from one block to the next, we have constrained D2 such that it is only allowed to change in a few ways. Therefore, the exhaustive set of "candidate D2s" can be precomputed by full nodes in advance. -The following sections assume a maximum of one sucessful withdrawal per sidechain at a time (see [bip-hashrate-escrows/appendix-1.txt appendix 1]). +The following sections assume a maximum of one sucessful withdrawal per sidechain at a time (see [/bip-hashrate-escrows/appendix-1.txt appendix 1]). ==== How Hard is it to Guess M4? ==== From 99e57b086aa9b2bbba485386992818d4972f99d2 Mon Sep 17 00:00:00 2001 From: Paul Sztorc Date: Thu, 4 Apr 2019 16:30:43 -0700 Subject: [PATCH 103/133] compress We were able to dramatically shorten the BIP, by deleting superfluous explanations/justifications. Instead it just focuses on what the messages are. --- bip-hashrate-escrows.mediawiki | 335 +++++++++------------------------ 1 file changed, 88 insertions(+), 247 deletions(-) diff --git a/bip-hashrate-escrows.mediawiki b/bip-hashrate-escrows.mediawiki index ae31e291..650b17e3 100644 --- a/bip-hashrate-escrows.mediawiki +++ b/bip-hashrate-escrows.mediawiki @@ -17,11 +17,11 @@ ==Abstract== -A "Hashrate Escrow" is a clearer term for the concept of "locked to an SPV Proof", which is itself a restatement of the phrase "within a sidechain" as described in [https://blockstream.com/sidechains.pdf a famous Oct 2014 paper] written partially by some Blockstream co-founders. +A "Hashrate Escrow" is a clearer term for the concept of "locked to an SPV Proof", which is itself a restatement of the phrase "within a sidechain" as described in [https://blockstream.com/sidechains.pdf the 2014 Blockstream whitepaper]. -A Hashrate Escrow resembles a 2-of-3 multisig escrow, where the 3rd party (who will arbitrate any disputes) is a decentralized group of people: the dynamic-membership set of Bitcoin Miners. However, the 3rd party does not sign escrow-withdrawal transactions with a private key. Instead, these are "signed" by directing hashpower over them for a period of time. +A Hashrate Escrow resembles a 2-of-3 multisig escrow, where the 3rd party (who will arbitrate any disputes) is a decentralized group of people: the dynamic-membership set of Bitcoin Miners. However, the 3rd party does not sign escrow-withdrawal transactions with a private key. Instead, these are "signed" by the accumulation of hashpower over time. -This project has [http://www.drivechain.info/ a website] which includes [http://www.drivechain.info/faq/index.html a FAQ]. +This project has [http://www.drivechain.info/ a website] which includes [http://www.drivechain.info/faq/index.html an FAQ]. ==Motivation== @@ -30,10 +30,10 @@ In practice these escrows are likely to be "asymmetric sidechains" of Bitcoin (s Sidechains have many potential benefits, including: -1. Protect Bitcoin from competition from altcoins and spinoffs. Safely allow competing implementations (of *sidechains*). -2. Protect Bitcoin from hard fork campaigns. (Such campaigns represent an existential threat to Bitcoin, as well as an avenue for developer corruption.) -3. Help with review, by making it much easier for reviewers to ignore bad ideas. -4. Provide an avenue for good-but-confusing ideas to prove their value safely. +# Protect Bitcoin from competition from altcoins and spinoffs. +# Protect Bitcoin from hard fork campaigns. (Such campaigns represent an existential threat to Bitcoin, as well as an avenue for developer corruption.) +# Help with review, by making it much easier for reviewers to ignore bad ideas. +# Provide an avenue for good-but-confusing ideas to prove their value safely. @@ -60,239 +60,144 @@ Please note that these structures (D1 and D2) will not literally exist anywhere * M6. "Execute Withdrawal" -- a transfer of BTC from-side-to-main -==== On the Resource Requirements of New Databases ==== - -The "new" databases are simply reinterpretations of data that are already contained elsewhere in the blockchain. Specifically, M1 M2 and M3 are all located in the block's coinbase txn, and M5 and M6 might be found in any regular txn. M4 is a special case and does not actually need to be included anywhere, so it is not. If you like, you can imagine that the M4s reside in an optional extension block. - -In other words, we just rearrange what is already there. Because of this, even though "new databases" are created and stored in memory, the existing bandwidth and storage limits are respected (although, see "M4" below). - - -=== Adding Sidechains and Tracking Them (D1, M1, M2) === +=== Adding Sidechains (D1, M1, M2) === ==== D1 -- "Escrow_DB" ==== The table below enumerates the new database fields, their size in bytes, and their purpose. In general, an escrow designer (for example, a sidechain-designer), is free to choose any value for these. -Note: Fields 6 through 9 have been intentionally removed. Previously, this section allowed miners to set and commit to voting/waiting periods. However, I have since standardized the periods: withdrawals expire after 6 months (26298 blocks), and they succeed if they ever achieve an ACK score of 13140 or higher. I have removed the waiting period, because anyone who adopts a policy of ignoring all withdrawals with fewer than 400 ACKs will automatically gain all of the benefits of the waiting period. The justification for this change is that it strongly implies that an attack on any one sidechain is an attack on all of them (in a sense, this change makes the "victimhood" of each sidechain "fungible"). + {| class="wikitable" ! Field No. ! Label -! Bytes ! Type ! Description / Purpose |- | 1 | Escrow Number -| 1 -| uInt +| uint8_t | A number assigned to the entire escrow. Used to make it easy to refer to each escrow. |- | 2 -| Active* -| 2 -| uInt -| This counter starts at zero when a new entry is added, and increments as a new entry is supported by "M2". The entry either reaches the max value of 4032 (at which point the counter freezes), or else the entry is removed. This enforces the requirement "a soft fork is required to add a new escrow". +| Sidechain Deposit Script Hex +| string +| The script that will be deposited to, and update the CTIP of the sidechain. |- | 3 -| Escrow Name/Description -| 120 +| Sidechain Private Key | string -| A human-readable name and description of the sidechain. More than enough space to hold a 32 byte hash. Helps prevent destructive interference among sidechains (see below). +| The private key of the sidechain deposit script. |- | 4 -| Critical Private Key -| 32 -| hex -| This is the Double-SHA256 of the binary release of the reference software. It ties the sidechain to a specific software release, and doubles as a way of signing withdrawals (see below). +| Escrow Name +| string +| A human-readable name of the sidechain. |- | 5 -| Critical Address* -| 32 +| Escrow Description | string -| This is derived by taking f(x) = ImportPrivateKey(HexToBase58Check(x)) of field #3. It is intentionally in the human-readable format {{although it could be 25 bytes of binary}}. +| A human-readable name description of the sidechain. More than enough space to hold a 32 byte hash. |- -| 10 -| "CTIP" -- Part 1 "TxID"* -| 32 -| hex +| 6 +| Hash ID 1 +| uint256 +| A field of 32 bytes, which could be any bytes such as a sha256 hash. +|- +| 7 +| Hash ID 2 +| uint256 +| A field of 32 bytes, which could be any bytes such as a sha256 hash. +|- +| 8 +| "CTIP" -- Part 1 "TxID" +| uint256 | The CTIP, or "Critical (TxID, Index) Pair" is a variable for keeping track of where the escrow's money is (ie, which member of the UTXO set). |- -| 11 -| "CTIP" -- Part 2 "Index"* -| 4 -| hex -| Of the CTIP, this is second element of the pair: the Index. See #10 above. +| 9 +| "CTIP" -- Part 2 "Index" +| int32_t +| Of the CTIP, this is second element of the pair: the Index. See #9 above. +|- |} -\* Denotes a "convenience field", the entry for this field is derived from other fields, or from the blockchain-state itself. The escrow-creator does not need to provide these values in M1 (or anywhere). +D1 is updated via M1 and M2. -Escrow_DB requires 223 bytes [1+120+32+32+2+32+4] for each escrow in the main blockchain. Of these, 70 bytes [2+32+32+4] are merely for convenience. Therefore, a sidechain is defined (see "M1") by 153 bytes of information. - -====Notes on D1==== - -# D1 will always exist. -# D1 will always have a unique sort (first by "Escrow Number" (field #1), and second by "Active" (field #2)). There is only ever one (escrow number, Active) pair. -# D1 is updated according to M1 and M2 (below). -# If a new entry is added to D1 with an "Escrow Number" that is already in use, then this entry will either eventually be removed (because it was not supported with an M2), or it will eventually overwrite the old entry (if it *was* supported via M2). - - -====Notes on D1==== - -=====Obligations Placed on Miners===== - -Miners have always upgraded their software according to criteria that are known only to them (in other words, "whenever they want"). - -However, this soft fork imposes two new criteria upon them. First: miners should only upgrade their software, if any modification to the portfolio of sidechains [that are added/removed in the upgrade] can be expected to increase miner wealth. Trivially, this implies that miners should make sure that the upgrade doesn't overwrite (and destroy) an existing sidechain that they like! But, more seriously, it implies that miners should take an interest in what the sidechain is doing to the mainchain and other sidechains (see below). - -===== Destructive Sidechain Interference ===== - -People frequently emphasize that miners should have "as little control" as possible. It is a very safe claim to make, and a very easy sentence to write. Much harder is to determine exactly what this minimum value is, and how to achieve it. Harder still is to untie the knot of who is actually controlling what, in a decentralized, interacting system. - -Certainly, miners can not have "zero control" -- for that is the same as to just remove them from the system altogether. Some rules are enforced "on miners by nodes" (such as the infamous blocksize limit); other rules are enforced by nodes but are narrowly-controlled by miners (such as the proof-of-work itself, or the block's timestamp). Thirdly, some rules are enforced by both against each other (such as the rule against including invalid txns or double-spent txns), for mutual benefit. - -Some pause should be given, after one considers that the sidechain design goal is literally a piece of software that can do *anything*. Anything includes a great many things, many of which I demonstrate to be undesirable. Bitcoin itself does not allow "anything" -- it allows any person to transact, but, in contrast, it does not permit any person to double-spend. This is because "allowing anyone to do anything" is not viable in a world that contains undesirable interactions (what a libertarian might call "aggression") -- in the case of money, these are theft and counterfeiting. - -I have produced a comprehensive quantity of written material [1], presentations [2], etc [3] on exactly what the level of miner-control should be, and why. Specifically, I claim that **miners should be aware of the purpose of the sidechain, and they should reject sidechains which have an unclear purpose or which have a purpose that will lead to decrease in miner-wealth** (where wealth measured explicitly as: the estimated present value of the purchasing power of the blockchain's coinbase txns). I claim that this criterion is necessary because, just Original Bitcoin filters unwanted interactions among different BTC txns, so too much "Sidechain Bitcoin" filter out unwanted interactions among sidechain. - -* [1] http://www.truthcoin.info/blog/wise-contracts/ -* [2] https://www.youtube.com/watch?v=xGu0o8HH10U&index=1&list=PLw8-6ARlyVciMH79ZyLOpImsMug3LgNc4 -* [3] http://www.drivechain.info/literature/index.html - -Call it a "sidechain non-aggression principle", if you want. - -To the best of my knowledge, everyone who *has* reviewed this information as found the arguments to be acceptable. It has, also, changed a few minds (from "unacceptable" to "acceptable"). - - -===== ISSUE: "Signing" BTC Txns ===== - -Currently, we use a process which may be suboptimal. It is that we *literally sign* a txn with a globally and publicly known private key. But this is for convenience purposes -- to easily detect the sidechain's balance. The signature that is produced is not doing anything. This is probably an area of improvement. - - -( The following messages were modeled on SegWit -- https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki#commitment-structure ) +( The following messages were modeled on SegWit -- see [https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki#commitment-structure here] and [https://github.com/DriveNetTESTDRIVE/DriveNet/blob/564516653c1d876429382971a011f5f6119f7eb4/src/validation.cpp#L3348-L3375 here]. ) ==== M1 -- "Propose New Sidechain" ==== 1-byte - OP_RETURN (0x6a) - 1-byte - Push the following 157 bytes (0x9d) - 4-byte - Commitment header (0x53707243) - 153-byte - the critical bytes mentioned above (fields #1, #3, and #4, to populate a new D1 entry) - - -==== New Block Validation Rules ==== - -# If the network detects a properly-formatted M1, it must add an entry to D1, into the very next block, with the following initial values: -## Field #5 will be calculated as per [https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses version 1 Bitcoin addresses], but with a prefix of "4" instead of "1". -## Field #9 will be derived from #7 and #8 using math. -## The initial values of Fields #10, #11, and #12 are set to zero. -# Only one M1 (of any kind) can be added into a block at a time. - -==== Notes on M1 ==== - -The escrow will "reuse" the same address over and over. But notice that there is no privacy loss due to address reuse, because the address in question does not "belong" to any specific individual. Furthermore, the transactions in question could already be linked by just watching the Hashrate Escrow for deposits ...this, in fact, is exactly what a sidechain must do in order to make main-to-side transfers. + 4-byte - Commitment header (0xD5E0C4AF) + N-byte - The serialization of the sidechain. ==== M2 -- "ACK Sidechain Proposal" ==== 1-byte - OP_RETURN (0x6a) - 1-byte - Push the following 29 bytes (0x1D) - 4-byte - Commitment header (0x53616343) - 25-byte - Commitment hash: RIPMD-160 of Sha256 of a given M1 (above) + 4-byte - Commitment header (0xD6E1C5BF) + 32-byte - Commitment hash: sha256D hash of sidechain's serialization ==== New Block Validation Rules ==== -1. An entry will be removed from D1, unless that block contains an M2 supporting it (this will increment field #2), or the entry has accumulated 4032 M2s. Therefore, each entry needs to have 4032 *consecutive* M2s supporting it, else it will be removed from D1 and must start over. This requires all miners to agree to "soft fork" the sidechain into existence. This makes it easier to curate the list of active sidechains, and prevents destructive interference (see above) among contradictory sidechains. -2. Once the entry has 4032 M2s, then a miner must make a 0 btc payment to the Critical Address, thus activating the chain. This payment becomes the first "critical (TxID, index) pair" (or "CTIP"). -3. It is possible to "overwrite" a D1 slot -- this destroys the sidechain that is there, and replaces it with a new one. This is defined as requiring 6 months (26298 blocks) of M2s, instead of 4 weeks (4032). This possibility does not change the security assumptions, because we already assume that users have access to "magically true" bandwidth at a rate of 1 bit per ACK-cycle. (This is why the voting cycles should be large, 1 month Waiting, 2+ months Voting). + +# Escrows are added in a procedure that resembles BIP 9 soft fork activation: the network must see a properly-formatted M1, followed by "acknowledgement" of the sidechain in 95% of the following 2016 blocks. +# It is possible to "overwrite" an escrow. This requires 6 months (26298 blocks) of M2s, instead of 2 weeks (XXXX). This possibility does not change the security assumptions (because we already assume that users perform extra-protocolic validation at a rate of 1 bit per 26298 blocks). -=== Adding Withdrawal-Attempts and Tracking Their Success (D2, M3, M4) === +=== Withdrawing from Escrows (D2, M3, M4) === ==== D2 -- "Withdrawal_DB" ==== -The table below enumerates the database fields, their size (in bytes), type and purpose. - +D2 changes deterministically with respect to M3, M4, M5, and M6. {| class="wikitable" ! Field No. ! Label -! Bytes ! Type ! Description / Purpose |- | 1 | Escrow Number -| 1 -| uInt +| uint8_t | Links the withdrawal-request to a specific escrow. |- | 2 -| WT^ -| 32 -| hex +| WT^ Hash +| uint256 | This is a "blinded transaction id" (ie, the double-Sha256 of a txn that has had two fields zeroed out, see M6) of a withdrawal-attempt. |- | 3 -| ACKs* -| 2 -| uInt -| The current total number of "votes", this starts at 0 and remains there throughout the waiting period. +| ACKs (Work Score) +| uint16_t +| The current total number of ACKs (PoW) |- | 4 -| Age* -| 3 -| uInt -| Total duration of time, in blocks, that this WT^ has been inside of D2. -|- -| 5 -| Waiting Period* -| 2 -| uInt -| Total duration of time, in blocks, that this entry must sit idle, before it can begin to accumulate ACKs/NACKs. Pulled from D1's field #6. -|- -| 6 -| Max Age* -| 3 -| uInt -| Determined by summing (D1's field #6) and (D1's field #7). -|- -| 7 -| Threshold* -| 2 -| uInt -| Total ACKs needed, this is pulled from D1's field #9. -|- -| 8 -| Approved* -| 1 -| boolean -| True while ACKs > Threshold, False otherwise. +| Blocks Remaining (Age) +| uint16_t +| The number of blocks which this WT^ has remaining to accumulate ACKs |} -\* Denotes a "convenience field" (see above). - -Withdrawal_DB requires 46 bytes [1+32+2+3+2+3+2+1] per entry. Of these, 13 bytes ([2+3+2+3+2+1], all fields except #1 and #2) can be generated locally, leaving 33 critical bytes [1+32]. ==== New Block Validation Rules for D2 ==== -# In each block, a hash commitment to D2 must always exist (even if D2 is blank). -# D2 must always be sorted first by field #1 (Escrow Number) and second by field #4 (Age). This imposes a unique sort. -# From one block to the next, every entry's "Age" field must increase by exactly 1. -# From one block to the next, entries are only removed from D2 (in the very next block) if: -## "Age" = "MaxAge". -## If the block contains a txn who's blinded txID matches WT^. {{ This might be unnecessary, and a lot of work. }} -# In addition, there are special rules for the allowed values in the "ACKs" field (field #3). See M4 below. +# A hash commitment to D2 exists in each block (even if D2 is blank). +# Withdrawals in D2 are sorted first by field #1 (Escrow Number) and second by field #4 (Age). This imposes a unique sort. +# From one block to the next, "Age" fields must increase by exactly 1. +# Withdrawals are stored in D2 until they fail ("Age" = "MaxAge"), or they succeed (the blockchain contains a txn who's blinded txID matches "WT^"). + +In addition, there are special rules for the "ACKs" field (see M4 below). ==== M3 -- "Propose Withdrawal" ==== 1-byte - OP_RETURN (0x6a) - 1-byte - Push the following 37 bytes (0x25) + 1-byte - Push the following 36 bytes (0x24) 4-byte - Commitment header (0xD45AA943) - 33-byte - the critical bytes mentioned above (fields #1 and #2, to populate a new D2 entry) + 32-byte - The WT^ hash to populate a new D2 entry ==== New Block Validation Rules for M3 ==== @@ -303,126 +208,62 @@ Withdrawal_DB requires 46 bytes [1+32+2+3+2+3+2+1] per entry. Of these, 13 bytes ==== M4 -- "ACK Withdrawal" ==== -==== Very Little Info, Probably Calculable in Advance ==== +M4 is a way of describing changes to the "ACKs" column of D2. -M4 is exceptional (in comparison to the other M's) in a few ways. First, its content is not stored anywhere, only the *hash* of its *effect* is stored (in a leaf of a merkle tree who's root is inserted into a mainchain coinbase). M4 alters the contents of D2 -- the *contents* of D2 are consensus critical, but M4 (the process by which nodes reach a new valid D2) can be anything. +From one block to the next, "ACKs" can only change as follows: -In fact, M4 can also be *nothing*. In other words, it may be optional. This is precisely because, from one block to the next, we have constrained D2 such that it is only allowed to change in a few ways. Therefore, the exhaustive set of "candidate D2s" can be precomputed by full nodes in advance. +* The ACK-counter of any withdrawal can only change by (-1,0,+1). +* Within a sidechain-group, upvoting one withdrawal ("+1") requires you to downvote all other withdrawals in that group. However, the minimum ACK-value is zero (and, therefore, downvotes cannot reduce it below zero). +* While only one withdrawal can be upvoted at once, they can all be unchangd at once ("abstain") and they can all be downvoted at once ("alarm"). -The following sections assume a maximum of one sucessful withdrawal per sidechain at a time (see [/bip-hashrate-escrows/appendix-1.txt appendix 1]). - -==== How Hard is it to Guess M4? ==== - -If there are n Escrows and m Withdrawals-per-escrow1, then there are (m+2)^n total candidates for the next D2. This is because, [per block per escrow], one of three things can happen: (1) one of the m withdrawal-candidates can be "ACK"ed (or "upvoted" or "promoted"), which automatically downvotes the others; or (2) all withdrawal-candidates can be downvoted, or finally (3) the miners can abstain from voting on the escrow's withdrawals altogether, leaving the tallies the same. - -First, for nodes which validate all sidechains (assuming these escrows are sidechains), this simplifies to 2^n -- these nodes only have to choose between the single honest choice (on one hand) or an abstention (on the other). Second, even for nodes that don't validate any sidechains, the number of candidates might be reduced from m^n to 3^n, by making a simplifying assumption: whichever withdrawal was most recently added/upvoted, is likely to be the one which is upvoted next. - -Of course, that is still O(k^n) for n sidechains, which isn't great2. If the "D2 update" cannot be guessed, it must be transmitted in some way. - -==== Giving Up and Getting M4 the Old Fashioned Way ==== - -Two examples for transmitting it are below: - -"Short Form" (Assumes there are no more than 254 active withdrawal-attempts per account) - - 4-byte - Message identifier (0x????????) - 1-byte - Version of this message - N-byte - N is the total number of active accounts ("sidechains"), each byte specifies the position of the single WT that was "upvoted". A value of 0 indicates "downvote everything", a value of 255 indicates abstention. - -"Long Form" (Makes no assumptions about anything) +One option for explict transmission of M4 is: 4-byte - Message identifier (0x????????) 1-byte - Version of this message 1-byte - Length (in bytes) of this message; total number of withdrawal attempts; y = ceiling( sum_i(m_i +2)/8 ). Nodes should already know what length to expect, because they know the sequence of M3s and therefore the vector of WT^s. - Y-byte - stream of bits (not bytes), with a 1 indicating the position of the chosen action [downvote all, abstain, upvote1, upvote2, ...] + N-byte - stream of bits (not bytes), with a 1 indicating the position of the chosen action [downvote all, abstain, upvote1, upvote2, ...] +But sometimes M4 does not need to be transmitted at all! If there are n Escrows and m Withdrawals-per-escrow, then there are (m+2)^n total candidates for the next D2. So, when m and n are low, all of the possible D2s can be trivially computed in advance. -If the message is very very large, then nodes may not want to broadcast it. This opens up an "exhaustion attack"2, in which many miners create bad WT^s, vote on these randomly, and then refuse to broadcast their votes. Fortunately, even for a worst-case scenario of 200 sidechains and 1,000 withdrawal-attempts per sidechain, honest nodes can communicate a long form M4 with each other by using just 25,056 bytes per block [4+1+1+(200\*(1000+1+1)/8)]. - -Today's pre-drivechain miners can already carry out a similar attack, by creating and including txns and then not broadcasting that part of the block to anyone. This is often characterized as a [https://petertodd.org/2016/block-publication-incentives-for-miners "block publication incentive"], because in that case the prospect of exhaustively computing all possible transactions (to uncover the missing ones) is completely out of the question. - -However, message M4 is different from a withheld-txn, because M4 operates outside of the block's mandated information-processing limits (ie, outside the infamous 1 MB nonwitness blocksize limit). So we should examine the conditions under which M4 grows and shrinks, to ensure that we are not smuggling in a tremendous burden on full nodes. - -Under adversarial conditions, to lengthen a long-form M4 by one bit per block, for C blocks, the attacker must pay 312 bits (39 bytes) one time (to embed a new M3 message). The value C is the length of the sidechain's voting period, which varies but which I expect to be approximately 8,064 (and which could theoretically be as high as 65,536). Thus the attacker can burden nodes disproportionately, if (s)he wishes. - -Fortunately, the attack in question has no motivation (as far as I can tell). If the miner's goal is to trick rivals into mining on top of invalid blocks, he can already do this much more effectively with the unpublished-txn method (above). If instead he is just trying to harass nodes, then nodes may freely "downgrade" to earlier versions of the protocol, and simply ignore all drivechain-related messages. It seems that the attack could best be used in order to: make a large D2, make D2 confusing, sneak in votes for evil WT^ lurking in D2. Thus, the attack disables the transparency of the drivechain system, to some extent. The cost of the attack is forgone transaction fees, due to block space wasted on useless M3s. - -In practice, n is already capped, and miners may impose [on each other] a "soft cap" on m for their mutual protection. Thus, n and m might never get above 10 and 30, respectfully. In this case, the [Short Form, this time] M4 can never require more than 15 bytes per block, no matter what the attacker tries. - -In practice, m should always be 1 or 2, else something fishy is going on; and m can only inch up by 1 unit per block. So the system as a whole is still quite transparent, in that users are warned appropriately and well in advance. Attackers must invest upfront and they face an uphill climb, in order to eventually make things more expensive for a few others; defenders can wait-and-see if the attack looks like it will ever amount to anything before lifting a finger. - - -===== New Block Validation Rules (for D2 and, by implication, M4) ===== - -From one block to the next, D2 can only be edited in a few strict ways: - -* Entries can only be added/removed from D2 if they meet the criteria above (in M3, and implicitly M1 and M2). -* The ACK-counter of any individual entry can only change by (-1,0,+1) relative to its previous entry. -* Within a sidechain group, upvoting one withdrawal (ACK=ACK+1) requires you to downvote all other withdrawals in that group. However, the minimum ACK value is zero (and, therefore, downvotes cannot reduce it below zero). - -===== Footnotes for M4 ===== - -1 This represents the worst-case scenario is one where all the Withdrawals are spread evenly over each Sidechain. Under normal operations, there is no reason to expect the all sidechains will have the same number of withdrawals at any given time. In fact, under normal operations, the very *concept* of counting the withdrawals-per-sidechain should be a purposeless one, because there should only be *one* withdrawal at a time. Nonetheless we consider the worst case scenario here. - -2 Guessing becomes more computationally intensive in a highly adversarial situation where the "limited range" is intentionally expanded. In such a scenario, [a] there are many sidechains, and [b] miners voluntarily sacrifice their scarce block-space by creating a high number of (mutually-exclusive, and hence ultimately invalid) withdrawal attempts and putting these into coinbase transactions; and then agree to all [c] vote on these randomly (guaranteeing that all withdrawals fail, including any true withdrawals) and [d] successfully withhold their random voting strategies from nodes (even including spy-miner-nodes). Under this bizarre scenario, nodes may require computing resources which increase near-exponentially with the number of withdrawals, and it may take a long time for an ignorant node to exhaustively work out the underlying state of Withdrawal_DB. In this case, nodes may decide to temporarily stop validating such transactions (as if they had not yet upgraded to support this soft fork). - +Miners can impose a "soft limit" on m, blocking new withdrawal-attempts until previous ones expire. For a worst-case scenario of n=200 and m=1,000, honest nodes can communicate M4 with ~25 KB per block [4+1+1+(200\*(1000+1+1)/8)]. === Depositing and Withdrawing (M5, M6) === +Both M5 and M6 are regular Bitcoin txns. They are identified by meeting an important criteria: they select a one of the Critical TxID-index Pairs (a "CTIP") as one of their inputs. -Both M5 and M6 are regular Bitcoin txns. They are identified by meeting an important criteria: they select a one of the Critical TxID-index Pairs (a "CTIP") as one of their inputs. Deposits ("M5") are distinguished from withdrawals ("M6") by simply checking to see if money is "going in", or "out". In other words, we compare the BTC value of the original CTIP to that of new CTIP. If original <= new it is a deposit, if original > new then it is a withdrawal. +Just as these txns must select a CTIP input, they must create a new CTIP output. D1 is then updated to match only the latest CTIP output. The purpose of this is to have all of the escrow's money (ie all of the sidechain's money) in one TxID, so that depositors immediately undo any UTXO bloat they may cause. -The code that identifies sidechain withdrawal / deposit txns (by calculating how much value is being put into or taken out of a sidechain) can be seen here: https://github.com/drivechain-project/bitcoin/blob/mainchainBMM/src/validation.cpp#L351-L386 +Deposits ("M5") are distinguished from withdrawals ("M6") by simply checking to see if money is "going in", or "out". -Such txns are forced (by consensus) to obey two additional criteria: +https://github.com/DriveNetTESTDRIVE/DriveNet/blob/564516653c1d876429382971a011f5f6119f7eb4/src/validation.cpp#L647-L742 -# They must contain an output paying "to" the Critical Address [probably in TxOut0]. -# They must be accompanied by an update to this sidechain's Critical TxID-index Pair (CTIP). The new CTIP must be "this" txn itself. - -These criteria are enforced [https://github.com/drivechain-project/bitcoin/blob/mainchainBMM/src/validation.cpp#L440-L473 here] by checking that a deposit is paying back to the sidechain more than it is taking out, and completely rejecting any withdrawal from the mempool. And [https://github.com/drivechain-project/bitcoin/blob/mainchainBMM/src/validation.cpp#L1747-L1757 here] we allow for a withdrawal only once it has attained sufficient work score (ACKs). - -The purpose of this is to have all of the escrow's money (ie all of the sidechain's money) in one TxID, so that depositors immediately undo any UTXO bloat they may cause. This simplifies the withdrawal process, as there is no need to worry about cleaning up "dust deposits" (...and such cleaning can often result in headaches, for example where a withdrawal-txn is larger than 1MB in size, or else may only withdraw an arbitrarily limited amount of BTC). Notice that, unless we assume that an account will last forever, all utxos which are deposited must eventually be withdrawn by someone. Therefore, the relevant design criterion is not "efficiency" (total network cost) but rather "who should pay" (allocation of costs). ==== M5. "Make a Deposit" -- a transfer of BTC from-main-to-side ==== -As far as mainchain consensus is concerned, there are no additional requirements. +As far as mainchain consensus is concerned, deposits to the escrow are always valid. -However, in practice there *are* additional mainchain requirements...specified by the escrow account, (ie specified by the "sidechain" or "virtual chain"). These requirements are not part of mainchain consensus and are allowed to be anything. In other words, the sidechain is free to invent any way to credit depositor's money -- M5 is fully customizable. +However, in practice there will be additional requirements. The escrow account (ie the "sidechain") needs to know how to credit depositors. One well-known method, is for mainchain depositors to append a zero-value OP Return to a Deposit txn, so that the sidechain knows how to credit funds. Mainchain users must upgrade their wallet software, of course, (on an individual basis) in order to become aware of and take advantage of new deposit-methods. -One method, is for mainchain depositors to append a zero-value OP Return to a Deposit txn, so that the sidechain knows how to credit funds. Mainchain users must upgrade their wallet software, of course, (on an individual basis) in order to become aware of and take advantage of new deposit-methods. - -===== Inconvenient Race Condition ===== - -The requirement that each hashrate escrow be linked to a single TxID does create an interesting inconvenience for depositors. If a user is slow to sign a txn after constructing it (perhaps because the user employs an air-gapped computer, etc), then the signed txn may no longer be valid. This is because the input it selects, may no longer be the Critical TxID (as "the" Critical TxID changes with each deposit). **Only one user can deposit at a time** (although many can deposit per block). As a result, the transaction must fail, and the user would need to be prompted to remake and resign the txn. If this is problem is too frustrating, users can always make main-to-side transfers using atomic cross chain swaps (or, the LN, if they already have a channel open on both chains). - -Fortunately, it is already a part of mainchain consensus that no two txns can spend the same TxID. The only new issue here is the confusion it might create for the user (hence the need for error messages and alternative deposit-methods). ==== M6. "Execute Withdrawal" -- a transfer of BTC from-side-to-main ==== We come, finally, to the critical matter: where users can take their money *out* of the escrow account, and return it to the "regular" UTXO set. As previously mentioned, this txn is one which (a) spends from a CTIP and (b) reduces the quantity of BTC in an account's CTIP. Most of the work has already been done by D1, M3, M4, and D2. Furthermore, existing Bitcoin tx-rules prevent the sidechain from ever withdrawing more money than has been placed into it. -From there, we merely introduce two final concepts: +In each block, a withdrawal in D2 is considered "approved" if its "ACKs" value meets the threshold (13,150). -# In each block, an entry in D2 is considered an "approved candidate" if the "ACKs" value is above 13140. -# A "blinded TxID" is way of hashing the txn, in which we first overwrite some parts of the txn with zeros. Specifically, the first 36 bytes of "TxIn0" (the first input, including TxOutHash and TxOutIndex), as well as the first 8 bytes of "TxOut0" (the first output). +Approved withdrawals give the green light to their respective "WT^". A "WT^" is 32-bytes which aspire to represent the withdrawing transtion (the txn that actually withdraws funds from the escrow). The two cannot match exactly, beacuse "WT^" is defined at onset, and the withdrawing TxID depends on the its CTIP input (which is constantly changing). -Blinding is necessary because we allow each sidechain only one UTXO at a time. +To solve this, we define a "blinded TxID" as a way of hashing a txn, in which some bytes are first overwritten with zeros. Specifically, these bytes are the first input and the first output. -of our restriction of the account to a single UTXO-member. Because of this, during the ACKing process the withdrawal-txn (which is currently being ACKed) may change in two ways: the CTIP (which changes with each deposit), and the total quantity of BTC stored in the account (which arbitrarily increases with each new deposit). In other words, a withdrawal-attempt is created via M3, but this takes place many blocks before the withdrawal is actually included via M6. During this time, a single new deposit to the account would change its CTIP and its value. So, what do we ACK? Well, we ACK a "blinded" version of the withdrawal. This blinded version is stable because the dynamic parts are always overwritten with zeros. - -While we ACK a blinded WT^, what is actually included in the blockchain ("M6") is an unblinded WT^. Since each blinded WT^ could correspond to many different unblinded WT^s, we need to impose further restrictions on those unblinded WT^s that are finally included. First, we will force the final unblinded WT^ to spend the entire sidechain balance (by forcing sum(input_values) to equal sum(output_values)). To avoid withdrawing the entire sidechain balance with every withdrawal, we will, secondly, force the unblinded WT^ to create a new output which is itself a deposit to the sidechain it withdrew from (which nodes can check using D1's CTIP field). Unfortunately, these requirements eliminate the possibility of including a transaction fee, as traditionally calculated. So, finally, to compensate for *that*, txn fees are encoded explicitly as a withdrawal to OP_TRUE (which the main:block's miner can immediately claim). - -With all of this in place, the only requirements for inclusion in a block are these: +So, withdrawals must meet the following three criteria: # "Be ACKed" -- The "blinded TxID" of this txn must be member of the "approved candidate" set in the D2 of this block. # "Return Change to Account" -- TxOut0 must pay to the "critical account" (see D1) that corresponds to the CTIP that was selected as a TxIn. # "Return *all* Change to Account" -- Sum of inputs must equal the sum of outputs. No traditional tx fee is possible. -Finally, don't forget that M6 inherits the requirement (common to both M5 and M6) that the CTIP be selected as an input, and that the CTIP then be updated. In this case, we know that the critical index will be zero, so the new CTIP will be ("this TxID" (NOT blinded), 0). The TxID is NOT blinded because blinding is only for accumulating ACKs. -As a result of these requirements, every single withdrawal-attempt will fail, unless an entry has been added to D2 and "ACKed" a sufficient number of times. @@ -442,14 +283,14 @@ This BIP will be deployed by "version bits" BIP9 with the name "hrescrow" and us
 // Deployment of Drivechains (BIPX, BIPY)
 consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].bit = 4;
-consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].nStartTime = 1515974401; // January 15th, 2018.
-consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].nTimeout = 1547510401; // January 15th, 2019.
+consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].nStartTime = 1579072881; // January 15th, 2020.
+consensus.vDeployments[Consensus::DEPLOYMENT_DRIVECHAINS].nTimeout = 1610695281; // January 15th, 2021.
 
==Reference Implementation== -See: https://github.com/drivechain-project/bitcoin/tree/mainchainBMM +See: https://github.com/DriveNetTESTDRIVE/DriveNet Also, for interest, see an example sidechain here: https://github.com/drivechain-project/bitcoin/tree/sidechainBMM From c6da99018d7cffb4f997ab58d471e2bdcdbdc3e5 Mon Sep 17 00:00:00 2001 From: Paul Sztorc Date: Thu, 4 Apr 2019 16:47:04 -0700 Subject: [PATCH 104/133] typos --- bip-hashrate-escrows.mediawiki | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bip-hashrate-escrows.mediawiki b/bip-hashrate-escrows.mediawiki index 650b17e3..74380251 100644 --- a/bip-hashrate-escrows.mediawiki +++ b/bip-hashrate-escrows.mediawiki @@ -188,7 +188,7 @@ D2 changes deterministically with respect to M3, M4, M5, and M6. # A hash commitment to D2 exists in each block (even if D2 is blank). # Withdrawals in D2 are sorted first by field #1 (Escrow Number) and second by field #4 (Age). This imposes a unique sort. # From one block to the next, "Age" fields must increase by exactly 1. -# Withdrawals are stored in D2 until they fail ("Age" = "MaxAge"), or they succeed (the blockchain contains a txn who's blinded txID matches "WT^"). +# Withdrawals are stored in D2 until they fail ("Age" = "MaxAge"), or they succeed (the blockchain contains a txn whose blinded txID matches "WT^"). In addition, there are special rules for the "ACKs" field (see M4 below). @@ -270,7 +270,7 @@ So, withdrawals must meet the following three criteria: ==Backward compatibility== -As a soft fork, older software will continue to operate without modification. Non-upgraded nodes will see a number of phenomena that they don't understand -- coinbase txns with non-txn data, value accumulating in anyone-can-spend UTXOs for months at a time, and then random amounts leaving the UTXO in single, infrequent bursts. However, this phenomena doesn't affect them or the validity of the money that they receive. +As a soft fork, older software will continue to operate without modification. Non-upgraded nodes will see a number of phenomena that they don't understand -- coinbase txns with non-txn data, value accumulating in anyone-can-spend UTXOs for months at a time, and then random amounts leaving the UTXO in single, infrequent bursts. However, these phenomena don't affect them, or the validity of the money that they receive. ( As a nice bonus, note that the sidechains themselves inherit a resistance to hard forks. The only way to guarantee that the WT^s reported by different clients will continue to match identically, is to upgrade sidechains via soft forks of themselves. ) From a9b0bc593a49b5f2433fdc6fa08a4964e4687887 Mon Sep 17 00:00:00 2001 From: Paul Sztorc Date: Fri, 5 Apr 2019 09:59:18 -0700 Subject: [PATCH 105/133] spellcheck --- bip-hashrate-escrows.mediawiki | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/bip-hashrate-escrows.mediawiki b/bip-hashrate-escrows.mediawiki index 74380251..26ed32e8 100644 --- a/bip-hashrate-escrows.mediawiki +++ b/bip-hashrate-escrows.mediawiki @@ -1,5 +1,3 @@ - -
     BIP: ????
     Layer: Consensus (soft fork)
@@ -144,7 +142,7 @@ D1 is updated via M1 and M2.
 ==== New Block Validation Rules ====
 
 
-# Escrows are added in a procedure that resembles BIP 9 soft fork activation: the network must see a properly-formatted M1, followed by "acknowledgement" of the sidechain in 95% of the following 2016 blocks.
+# Escrows are added in a procedure that resembles BIP 9 soft fork activation: the network must see a properly-formatted M1, followed by "acknowledgment" of the sidechain in 95% of the following 2016 blocks.
 # It is possible to "overwrite" an escrow. This requires 6 months (26298 blocks) of M2s, instead of 2 weeks (XXXX). This possibility does not change the security assumptions (because we already assume that users perform extra-protocolic validation at a rate of 1 bit per 26298 blocks).
 
 
@@ -214,9 +212,9 @@ From one block to the next, "ACKs" can only change as follows:
 
 * The ACK-counter of any withdrawal can only change by (-1,0,+1).
 * Within a sidechain-group, upvoting one withdrawal ("+1") requires you to downvote all other withdrawals in that group. However, the minimum ACK-value is zero (and, therefore, downvotes cannot reduce it below zero).
-* While only one withdrawal can be upvoted at once, they can all be unchangd at once ("abstain") and they can all be downvoted at once ("alarm").
+* While only one withdrawal can be upvoted at once, they can all be unchanged at once ("abstain") and they can all be downvoted at once ("alarm").
 
-One option for explict transmission of M4 is:
+One option for explicit transmission of M4 is:
 
     4-byte - Message identifier (0x????????)
     1-byte - Version of this message
@@ -253,7 +251,7 @@ We come, finally, to the critical matter: where users can take their money *out*
 
 In each block, a withdrawal in D2 is considered "approved" if its "ACKs" value meets the threshold (13,150).
 
-Approved withdrawals give the green light to their respective "WT^". A "WT^" is 32-bytes which aspire to represent the withdrawing transtion (the txn that actually withdraws funds from the escrow). The two cannot match exactly, beacuse "WT^" is defined at onset, and the withdrawing TxID depends on the its CTIP input (which is constantly changing).
+Approved withdrawals give the green light to their respective "WT^". A "WT^" is 32-bytes which aspire to represent the withdrawing transaction (the txn that actually withdraws funds from the escrow). The two cannot match exactly, because "WT^" is defined at onset, and the withdrawing TxID depends on the its CTIP input (which is constantly changing).
 
 To solve this, we define a "blinded TxID" as a way of hashing a txn, in which some bytes are first overwritten with zeros. Specifically, these bytes are the first input and the first output.
 

From ecc00805c283193525552a7be716e11710ca4d3c Mon Sep 17 00:00:00 2001
From: Paul Sztorc 
Date: Fri, 5 Apr 2019 11:03:26 -0700
Subject: [PATCH 106/133] clarify + specific M4 example

---
 bip-hashrate-escrows/appendix-1.txt | 43 +++++++++++++++++++++++------
 1 file changed, 34 insertions(+), 9 deletions(-)

diff --git a/bip-hashrate-escrows/appendix-1.txt b/bip-hashrate-escrows/appendix-1.txt
index 921be29b..736a6c48 100644
--- a/bip-hashrate-escrows/appendix-1.txt
+++ b/bip-hashrate-escrows/appendix-1.txt
@@ -1,20 +1,45 @@
 
 ==== Two Withdrawals at Once ====
 
-Currently, the documentation and code describe a situation where only one withdrawal can proceed at a time.
+Currently, the documentation and code describe a situation where only one withdrawal can proceed at a time. As a result, one "train" (carrying everyone's withdrawals) leaves the station every 3 months, and takes 3-6 months to reach its destination.
 
-In other words, as WT^s are proposed, only one can make progress toward the finish line. As a result, a given side-to-main transfer will always take between 3 and 6 months.
+Thus, if a withdrawing-user is very unlucky, and "just misses" the train, this user must wait double-long. First, (s)he must wait for the missed-train to reach its destination. Second, (s)he must board the new train, and wait for *it* to reach its destination. Each of these steps takes 3-6 months.
 
-However, it might be best to use a maximum of two transfers at once.
+So, even when withdrawals always go as quickly as possible (3 months each), the total time varies, from 3 months (0 months waiting + 3 months travel) to 6 months (3 months waiting + 3 months travel). The average is 4.5 months.
 
-If there were more simulataneous withdrawals, the worst-case transfer duration would improve.
+To improve this, we allow for slightly different behavior if the highest-ACK-withdrawal [1st] has an ACK score >= 6575; and [2nd] is not tied with any other withdrawal.
 
-See image: bip-hashrate-escrows/two-groups.png?raw=true
+Basically: a second train can leave, if the furthest train is 50+% of the way to its destination.
 
-The worst-case withdrawal time obeys f(n)=3+(3/n) months, where n is the number of simultaneous withdrawals.
+So, previously, for m trains, M4 could be any of the following:
 
-N=2 is the most desirable choice for several reasons. First, it delievers the greatest marginal benefit (of 1.5 months). Later choices only deliver 0.5 and 0.25 marginal months.
+    abstain
+    alarm (move all trains backwards)
+    move train #1 forward (and others backwards)
+    move train #2 forward (and others backwards)
+    ...
+    move train #3 forward (and others backwards)
 
-Second, n=2 can be implemented in a clever way: by allowing a withdrawal to freely advance, if and only if has an ACK-score of 6575 or greater, and if it also has the largest ACK score. In other words, the withdrawal that is furthest along can advance (or retreat) for free, if it has already made it at least halfway to the finish line. With this change, our new M4, is either an "abstain" for the sidechain (in which case nothing happens to any ACK scores), or else it will be in one of two cases: old_M4 + "the largest advances", or new_M4 + "the largest retreats". As a result the number of M4 possibilities (of which the next section is concerned) only increases by a factor of two (instead of exponentially).
+If our new special conditions apply, we now double the (m-1) elements, to accommodate a second train:
 
-It is possible to troll this rule, by getting two (or even three) withdrawals to have 6575+ ACK scores, and then getting them to *tie* for first place. So, if there are any ties, the ability to "bonus move" would be disabled until all ties are broken.
\ No newline at end of file
+    |abstain
+    |alarm (move all trains backwards)
+
+    |advance furthest train + advance train #1 (regress all others)
+    |advance furthest train + advance train #2 (regress all others)
+    |...
+    |advance furthest train + advance train #(m-1)  (regress all others)
+     
+    |regress furthest train + advance train #1 (regress all others)
+    |regress furthest train + advance train #2 (regress all others)
+    |...
+    |regress furthest train + advance train #(m-1) (regress all others)
+    
+
+It is theoretically possible (but in practice probably impossible) to troll this rule, by getting two (or even three) withdrawals to have >6575 ACK scores, and then getting these to *tie* for first place. Then they'd both be furthest. Hence the second condition prohibiting this new behavior, if the furthest trains have any ACK-score ties.
+
+This simple change, which has almost zero impact on the security assumptions, improves the monthly total wait times drastically:
+
+    Worst-case:   6 --> 4.5
+    Average:    4.5 --> 3.75
+    Std Dev:   ~.91 --> ~.45

From c78766c360218df504cd56a4bb44f75f598c118b Mon Sep 17 00:00:00 2001
From: Paul Sztorc 
Date: Fri, 26 Jul 2019 16:13:20 -0700
Subject: [PATCH 107/133] add number 300 and update README

---
 README.mediawiki                                |   7 +++++++
 ...rate-escrows.mediawiki => bip-0300.mediawiki |   2 +-
 .../appendix-1.txt                              |   0
 bip-0300/images.txt                             |   1 +
 bip-0300/two-groups.png                         | Bin 0 -> 39695 bytes
 5 files changed, 9 insertions(+), 1 deletion(-)
 rename bip-hashrate-escrows.mediawiki => bip-0300.mediawiki (99%)
 rename {bip-hashrate-escrows => bip-0300}/appendix-1.txt (100%)
 create mode 100644 bip-0300/images.txt
 create mode 100644 bip-0300/two-groups.png

diff --git a/README.mediawiki b/README.mediawiki
index 0f21815c..b5c6f108 100644
--- a/README.mediawiki
+++ b/README.mediawiki
@@ -869,6 +869,13 @@ Those proposing changes should consider that ultimately consent may rest with th
 | Standard
 | Draft
 |-
+| [[bip-0300.mediawiki|300]]
+| Consensus (soft fork)
+| Hashrate Escrows (Consensus layer)
+| Paul Sztorc, CryptAxe
+| Standard
+| Draft
+|-
 | [[bip-0301.mediawiki|301]]
 | Consensus (soft fork)
 | Blind Merged Mining (Consensus layer)
diff --git a/bip-hashrate-escrows.mediawiki b/bip-0300.mediawiki
similarity index 99%
rename from bip-hashrate-escrows.mediawiki
rename to bip-0300.mediawiki
index 26ed32e8..1d7deb6a 100644
--- a/bip-hashrate-escrows.mediawiki
+++ b/bip-0300.mediawiki
@@ -1,5 +1,5 @@
 
-    BIP: ????
+    BIP: 300
     Layer: Consensus (soft fork)
     Title: Hashrate Escrows (Consensus layer)
     Author: Paul Sztorc 
diff --git a/bip-hashrate-escrows/appendix-1.txt b/bip-0300/appendix-1.txt
similarity index 100%
rename from bip-hashrate-escrows/appendix-1.txt
rename to bip-0300/appendix-1.txt
diff --git a/bip-0300/images.txt b/bip-0300/images.txt
new file mode 100644
index 00000000..2fbbf637
--- /dev/null
+++ b/bip-0300/images.txt
@@ -0,0 +1 @@
+Images used as reference in the documentation.
diff --git a/bip-0300/two-groups.png b/bip-0300/two-groups.png
new file mode 100644
index 0000000000000000000000000000000000000000..c8a3ffabbdf2df803fcc7acbb0b99c04ca48433f
GIT binary patch
literal 39695
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 QPcdAORX&#?efie^0Q!s$S^xk5 literal 0 HcmV?d00001 From 34f0fe5b2af4f7c82fbe6ed0706bbb3feef94acf Mon Sep 17 00:00:00 2001 From: Luke Dashjr Date: Fri, 20 Sep 2019 17:50:14 +0000 Subject: [PATCH 108/133] BIP 300: Fix preamble --- bip-0300.mediawiki | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/bip-0300.mediawiki b/bip-0300.mediawiki index 1d7deb6a..08f8994a 100644 --- a/bip-0300.mediawiki +++ b/bip-0300.mediawiki @@ -1,16 +1,16 @@

-    BIP: 300
-    Layer: Consensus (soft fork)
-    Title: Hashrate Escrows (Consensus layer)
-    Author: Paul Sztorc 
-            CryptAxe 
-    Comments-Summary: No comments yet.
-    Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-???????
-    Status: Draft
-    Type: Standards Track
-    Created: 2017-08-14
-    License: BSD-2-Clause
-    Post-History: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-May/014364.html
+  BIP: 300
+  Layer: Consensus (soft fork)
+  Title: Hashrate Escrows (Consensus layer)
+  Author: Paul Sztorc 
+          CryptAxe 
+  Comments-Summary: No comments yet.
+  Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0300
+  Status: Draft
+  Type: Standards Track
+  Created: 2017-08-14
+  License: BSD-2-Clause
+  Post-History: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-May/014364.html
 
==Abstract== From af134f361fd4e0527b57aa7089c1154d20dce6ce Mon Sep 17 00:00:00 2001 From: MarcoFalke Date: Tue, 24 Sep 2019 15:05:03 -0400 Subject: [PATCH 109/133] Update bip-0158.mediawiki Fix: * Render issue in `` tag (c.f. https://en.bitcoin.it/wiki/BIP_0158#Contents) * Remove remnants of the second filter type --- bip-0158.mediawiki | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bip-0158.mediawiki b/bip-0158.mediawiki index ad46da65..ce4a4af9 100644 --- a/bip-0158.mediawiki +++ b/bip-0158.mediawiki @@ -19,7 +19,7 @@ This BIP describes a structure for compact filters on block data, for use in the BIP 157 light client protocolbip-0157.mediawiki. The filter construction proposed is an alternative to Bloom filters, as used in BIP 37, that minimizes filter size by using Golomb-Rice coding for compression. This -document specifies two initial types of filters based on this construction that +document specifies one initial filter type based on this construction that enables basic wallets and applications with more advanced smart contracts. == Motivation == @@ -284,7 +284,7 @@ We exclude all outputs that start with OP_RETURN in order to allow filters to easily be committed to in the future via a soft-fork. A likely area for future commitments is an additional OP_RETURN output in the coinbase transaction similar to the current witness commitment -https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki. By +https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki. By excluding all OP_RETURN outputs we avoid a circular dependency between the commitment, and the item being committed to. @@ -322,7 +322,7 @@ This BIP allocates a new service bit: |- | NODE_COMPACT_FILTERS | style="white-space: nowrap;" | 1 << 6 -| If enabled, the node MUST respond to all BIP 157 messages for filter types 0x00 and 0x01 +| If enabled, the node MUST respond to all BIP 157 messages for filter type 0x00 |} == Compatibility == From 773a7fe993d8557bc9bdb39d7682c7f6b0c754c9 Mon Sep 17 00:00:00 2001 From: Luke Dashjr Date: Tue, 24 Sep 2019 19:31:13 +0000 Subject: [PATCH 110/133] README: Fix BIP 100 fields --- README.mediawiki | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.mediawiki b/README.mediawiki index aa6c50e8..a55a7768 100644 --- a/README.mediawiki +++ b/README.mediawiki @@ -416,8 +416,8 @@ Those proposing changes should consider that ultimately consent may rest with th |- | [[bip-0100.mediawiki|100]] | Consensus (hard fork) -| Dynamic block size by miner vote -| Jeff Garzik, Tom Harding, Dagur Valberg +| Dynamic maximum block size by miner vote +| Jeff Garzik, Tom Harding, Dagur Valberg Johannsson | Standard | Draft |- style="background-color: #ffcfcf" From b1b248fc6ade930c4c716eb9fed1b48be6796356 Mon Sep 17 00:00:00 2001 From: Luke Dashjr Date: Tue, 24 Sep 2019 19:33:03 +0000 Subject: [PATCH 111/133] Update BIP 100 status Draft->Rejected --- README.mediawiki | 4 ++-- bip-0100.mediawiki | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.mediawiki b/README.mediawiki index a469b229..de98f05c 100644 --- a/README.mediawiki +++ b/README.mediawiki @@ -448,13 +448,13 @@ Those proposing changes should consider that ultimately consent may rest with th | Jorge Timón | Informational | Draft -|- +|- style="background-color: #ffcfcf" | [[bip-0100.mediawiki|100]] | Consensus (hard fork) | Dynamic maximum block size by miner vote | Jeff Garzik, Tom Harding, Dagur Valberg Johannsson | Standard -| Draft +| Rejected |- style="background-color: #ffcfcf" | [[bip-0101.mediawiki|101]] | Consensus (hard fork) diff --git a/bip-0100.mediawiki b/bip-0100.mediawiki index 6b322d0e..aaf6beb6 100644 --- a/bip-0100.mediawiki +++ b/bip-0100.mediawiki @@ -7,7 +7,7 @@ Dagur Valberg Johannsson Comments-Summary: No comments yet. Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0100 - Status: Draft + Status: Rejected Type: Standards Track Created: 2015-06-11 License: BSD-2-Clause From 311c085cab2929754c79dd6e330bf888ec000e73 Mon Sep 17 00:00:00 2001 From: Gleb Naumenko Date: Wed, 25 Sep 2019 14:11:03 +0300 Subject: [PATCH 112/133] bip for erlay messages --- bip-reconcil.mediawiki | 296 +++++++++++++++++++++++++++ bip-reconcil/bisection.png | Bin 0 -> 60787 bytes bip-reconcil/minisketch.py | 157 ++++++++++++++ bip-reconcil/recon_scheme_merged.png | Bin 0 -> 113169 bytes 4 files changed, 453 insertions(+) create mode 100644 bip-reconcil.mediawiki create mode 100644 bip-reconcil/bisection.png create mode 100755 bip-reconcil/minisketch.py create mode 100644 bip-reconcil/recon_scheme_merged.png diff --git a/bip-reconcil.mediawiki b/bip-reconcil.mediawiki new file mode 100644 index 00000000..be34c554 --- /dev/null +++ b/bip-reconcil.mediawiki @@ -0,0 +1,296 @@ +
+  BIP: ???
+  Layer: Peer Services
+  Title: Transaction announcements reconciliation
+  Author: Gleb Naumenko , Pieter Wuille 
+  Comments-Summary: ???
+  Comments-URI: ???
+  Status: Draft
+  Type: Standards Track
+  Created: 2010-00-00
+  License: PD
+
+ +==Abstract== + +This document specifies a P2P protocol extension for reconciliation of transaction announcements between 2 nodes, which is a building block for efficient transaction relay protocols (e.g., [https://arxiv.org/pdf/1905.10518.pdf Erlay]). This is a step towards increasing the connectivity of the network for almost no bandwidth cost. + +==Motivation== + +Currently in the Bitcoin network, every 32-byte transaction ID is announced in at least one direction between every pair of connected peers, via INV messages. This results in high cost of announcing transactions: ''O(nodes * connections_per_node)''. + +A reconciliation-based protocol which uses the technique suggested in this document can have better scaling properties than INV-based flooding. + +Increasing the connectivity of the network makes the network more robust to partitioning attacks; thus, improving the bandwidth scaling of transaction relay to ''O(nodes)'' (and without a high constant overhead) would allow us to improve the security of the network by increasing connectivity. It would also reduce the bandwidth required to run a Bitcoin node and potentially enable more users to run full nodes. + +===Erlay=== + +[https://arxiv.org/pdf/1905.10518.pdf Erlay] is an example of a high-level transaction relay protocol which employs set reconciliation for bandwidth efficiency. + +Erlay uses both flooding (announcing using INV messages to all peers) and reconciliation to announce transactions. +Flooding is expensive, so Erlay seeks to use it sparingly and in strategic locations - only well-connected publicly reachable nodes flood transactions to other publicly reachable nodes via outbound connections. +Since every unreachable node is directly connected to several reachable nodes, this policy ensures that a transaction is quickly propagated to be within one hop from most of the nodes in the network. + +All transactions not propagated through flooding are propagated through efficient set reconciliation. +To do this, every node keeps a reconciliation set for each peer, in which transactions are placed which would have been announced using INV messages absent this protocol. Every 2 seconds every node chooses a peer from its outbound connections in a predetermined order to reconcile with, resulting in both sides learning the transactions known to the other side. After every reconciliation round, the corresponding reconciliation set is cleared. +A more detailed description of a set reconciliation round and other implementation details can be found in the paper. + +Erlay allows us to: +* save 40% of the bandwidth consumed by a node, given typical network connectivity as of July 2019. +* achieve similar latency +* increase network connectivity for almost no bandwidth or latency cost +* improves privacy as a side-effect + +This document proposes a P2P-layer extension which is required to enable efficient reconciliation-based protocols (like Erlay) for transaction relay. + +==Specification== + +===New data structures=== + +Several new data structures are introduced to the P2P protocol first, to aid with efficient transaction relay. + +====32-bit short transaction IDs==== + +During reconciliation, significantly abbreviated transaction IDs are used of just 32 bits in size. To prevent attackers from constructing sets of transactions that cause network-wide collisions, the short ID computation is salted on a per-link basis using 64 bits of entropy contributed by both communication partners. + +Short IDs are computed as follows: +* Let ''salt1'' and ''salt2'' be the entropy contributed by both sides; see the "sendrecon" message further for details how they are exchanged. +* Sort the two salts such that ''salt1 ≤ salt2'' (which side sent what doesn't matter). +* Compute ''h = SHA256("Tx Relay Salting" || salt1 || salt2)'', where the two salts are encoded in 64-bit little-endian byte order. +* Let ''k0'' be the 64-bit integer obtained by interpreting the first 8 bytes of ''h'' in little-endian byte order. +* Let ''k1'' be the 64-bit integer obtained by interpreting the second 8 bytes of ''h'' in little-endian byte order. +* Let ''s = SipHash-2-4((k0,k1),wtxid)'', where ''wtxid'' is the transaction hash including witness data as defined by BIP141. +* The short ID is equal to ''1 + (s mod 0xFFFFFFFF)''. + +This results in approximately uniformly distributed IDs in the range ''[1..0xFFFFFFFF]'', which is a requirement for using them as elements in 32-bit sketches. See the next paragraph for details. + +====Short transaction ID sketches==== + +Reconciliation-based relay uses [https://www.cs.bu.edu/~reyzin/code/fuzzy.html PinSketch] BCH-based secure sketches as introduced by the [https://www.cs.bu.edu/~reyzin/fuzzy.html Fuzzy Extractors paper]. They are a form of set checksums with the following properties: +* Sketches have a predetermined capacity, and when the number of elements in the set does not exceed the capacity, it is always possible to recover the entire set from the sketch by decoding the sketch. A sketch of nonzero b-bit elements with capacity c can be stored in bc bits. +* A sketch of the [https://en.wikipedia.org/wiki/Symmetric_difference symmetric difference] between the two sets (i.e., all elements that occur in one but not both input sets), can be obtained by combining the sketches of those sets. + +The sketches used here consists of elements of the [https://en.wikipedia.org/wiki/Finite_field finite field] ''GF(232)''. Specifically, we represent finite field elements as polynomials in ''x'' over ''GF(2)'' modulo ''x327 + x3 + x2 + 1''. To map integers to finite field elements, simply treat each bit ''i'' (with value ''2i'') in the integer as the coefficient of ''xi'' in the polynomial representation. For example the integer ''101 = 26 + 25 + 22 + 1'' is mapped to field element ''x6 + x5 + x2 + 1''. These field elements can be added and multiplied together, but the specifics of that are out of scope for this document. + +A short ID sketch with capacity ''c'' consists of a sequence of ''c'' field elements. The first is the sum of all short IDs in the set, the second is the sum of the 3rd powers of all short IDs, the third is the sum of the 5th powers etc., up to the last element with is the sum of the ''(2c-1)''th powers. These elements are then encoded as 32-bit integers in little endian byte order, resulting in a ''4c''-byte serialization. + +The following Python 3.2+ code implements the creation of sketches:
+FIELD_BITS = 32
+FIELD_MODULUS = (1 << FIELD_BITS) + 0b10001101
+
+def mul2(x):
+    """Compute 2*x in GF(2^FIELD_BITS)"""
+    return (x << 1) ^ (FIELD_MODULUS if x.bit_length() >= FIELD_BITS else 0)
+
+def mul(x, y):
+    """Compute x*y in GF(2^FIELD_BITS)"""
+    ret = 0
+    for bit in [(x >> i) & 1 for i in range(x.bit_length())]:
+        ret, y = ret ^ bit * y, mul2(y)
+    return ret
+
+def create_sketch(shortids, capacity):
+    """Compute the bytes of a sketch for given shortids and given capacity."""
+    odd_sums = [0 for _ in range(capacity)]
+    for shortid in shortids:
+        squared = mul(shortid, shortid)
+        for i in range(capacity):
+            odd_sums[i] ^= shortid
+            shortid = mul(shortid, squared)
+    return b''.join(elem.to_bytes(4, 'little') for elem in odd_sums)
+
+ +The [https://github.com/sipa/minisketch/ minisketch] library implements the construction, merging, and decoding of these sketches efficiently. + +====Truncated transaction IDs==== + +For announcing and relaying transaction outside of reconciliation, we need an unambiguous, unsalted way to refer to transactions to deduplicate transaction requests. As we're introducing a new scheme anyway, this is a good opportunity to switch to wtxid-based requests rather than txid-based ones. While using full 256-bit wtxids is possible, this is overkill as they contribute significantly to the total bandwidth as well. Instead, we truncate the wtxid to just their first 128 bits. These are referred to as truncated IDs. + +===Intended Protocol Flow=== + +Set reconciliation primarily consists of the transmission and decoding of a reconciliation set sketch upon request. + +[[File:bip-reconcil/recon_scheme_merged.png|framed|center|Set reconciliation protocol flow]] + +====Bisection==== + +If a node is unable to reconstruct the set difference from the received sketch, the node then makes an additional reconciliation request, similar to the initial one, but this request is applied to only a fraction of possible transactions (e.g., in the range 0x0–0x8). Because of the linearity of sketches, a sketch of a subset of transactions would allow the node to compute a sketch for the remainder, which saves bandwidth. + +[[File:bip-reconcil/bisection.png|framed|300px|center|Bisection]] + +===New messages=== +Several new protocol messages are added: sendrecon, reqreconcil, sketch, reqbisec, reconcildiff, invtx, gettx. This section describes their serialization, contents, and semantics. + +In what follows, all integers are serialized in little-endian byte order. Boolean values are encoded as a single byte that must be 0 or 1 exactly. Arrays are serialized with the CompactSize prefix that encodes their length, as is common in other P2P messages. + +====sendrecon==== +The sendrecon message announces support for the reconciliation protocol. It is expected to be only sent once, and ignored by nodes that don't support it. + +Its payload consists of: +{|class="wikitable" +! Data type !! Name !! Description +|- +| bool || sender || Indicates whether the sender will send "reqreconcil" message +|- +| bool || responder || Indicates whether the sender will respond to "reqreconcil" messages. +|- +| uint32 || version || Must be exactly 1 currently. +|- +| uint64 || salt || The salt used in the short transaction ID computation. +|} + +"reqreconcil" messages can only be sent if the sender has sent a "sendrecon" message with sender=true, and the receiver has sent a "sendrecon" message with responder=true. + +====reqreconcil==== +The reqreconcil message initiates a reconciliation round. + +{|class="wikitable" +! Data type !! Name !! Description +|- +| uint16 || set_size || Size of the sender's reconciliation set, used to estimate set difference. +|- +| uint8 || q || Coefficient used to estimate set difference. +|} + +Upon receipt of a "reqreconcil" message, the receiver: +* Constructs and sends a "sketch" message (see below), with a sketch of capacity computed as ``|set_size - local_set_size| + q * (set_size + local_set_size) + c'', where ''local_set_size'' represents size of the receiver's reconciliation set. +* Makes a snapshot of their current reconciliation set, and clears the set itself. The snapshot is kept until a "reconcildiff" message is received by the node. + +It is suggested to use ''c=1'' to avoid sending empty sketches and reduce the overhead caused by under-estimations. + +Intuitively, ''q'' represents the discrepancy in sets: the closer the sets are, the lower optimal ''q'' is. +As suggested by Erlay, ''q'' should be derived as an optimal ''q'' value for the previous reconciliation with a given peer, once the actual set sizes and set difference are known. Alternatively, ''q=0.1'' should be used as a default value. +For example, if in previous round ''set_size=30'' and ''local_set_size=20'', and the *actual* difference was ''4'', then a node should compute ''q'' as following: +''q=(|30-20| - 1) / (30+20)=0.18'' +The derivation of ''q'' can be changed according to the version of the protocol. + +No new "reqreconcil" message can be sent until a "reconcildiff" message is sent. + +====sketch==== +The sketch message is used to communicate a sketch required to perform set reconciliation. + +{|class="wikitable" +! Data type !! Name !! Description +|- +| byte[] || skdata || The sketch of the sender's reconciliation snapshot +|} + +Upon receipt of a "sketch" message, a node computes the set difference by combining the receiver sketch with a sketch computed locally for a corresponding reconciliation set. If this is the 2nd time for this round a "sketch" message was received, the bisection approach is used, and by combining the new sketch with the previous one, two difference sketches are obtained, one for the first half and one for the second half of the short id range. The receiving node then tries to decode this sketch (or sketches), and based on the result: +* If decoding fails, a "reconcildiff" message is sent with the failure flag set (success=false). If this was the first "sketch" in the round, a "reqbisec" message may be sent instead. +* If decoding succeeds, a "reconcildiff" message is sent with the truncated IDs of all locally known transactions that appear in the decode result, and the short IDs of the unrecognized ones. + +The receiver also makes snapshot of their current reconciliation set, and clears the set itself. The snapshot is kept until a "reconcildiff" message is sent by the node. + +====reqbisec==== +The reqbisec message is used to signal that set reconciliation has failed and an extra sketch is needed to find set difference. + +It has an empty payload. + +Upon receipt of a "reqbisec" message, a node responds to it with a "sketch" message, which contains a sketch of a subset of corresponding reconciliation set snapshot (stored when "reqreconcil" message for the current round was processed) (values in range ''[0..(2^31)]''). + +====reconcildiff==== +The reconcildiff message is used to announce transactions which are found to be missing during set reconciliation on the sender's side. + +{|class="wikitable" +! Data type !! Name !! Description +|- +| uint8 || success || Indicates whether sender of the message succeeded at set difference decoding. +|- +| uint32[] || ask_shortids || The short IDs that the sender did not have. +|} + +Upon receipt a "reconcildiff" message with ''success=1'', a node sends a "invtx" message for the transactions requested by 32-bit IDs (first vector) containing their 128-bit truncated IDs (with parent transactions occuring before their dependencies), and can request announced transactions (second vector) it does not have via a "gettx" message. +Otherwise if ''success=0'', receiver should request bisection via ''reqbisec'' (if failure happened for the first time). +If failure happened for the second time, receiver should announce the transactions from the reconciliation set via an "invtx" message, excluding the transactions announced from the sender. + +The snapshot of the corresponding reconciliation set is cleared by the sender and the receiver of the message. + +The sender should also send their own "invtx" message along with the reconcildiff message to announce transactions which are missing on the receiver's side. + +====invtx==== +The invtx message is used to announce transactions (both along with reconcildiff message and as a response to the reconcildiff message). It is the truncated ID analogue of "inv" (which cannot be used because it has 256-bit elements). + +{|class="wikitable" +! Data type !! Name !! Description +|- +| uint128[] || inv_truncids || The truncated IDs of transactions the sender believes the receiver does not have. +|} + +Upon receipt a "invtx" message, a node requests announced transactions it does not have. +The snapshot of the corresponding reconciliation set is cleared by the sender of the message. + +====gettx==== +The gettx message is used to request transactions by 128-bit truncated IDs. It is the truncated ID analogue of "getdata". + +{|class="wikitable" +! Data type !! Name !! Description +|- +| uint128[] || ask_truncids || The truncated IDs of transactions the sender wants the full transaction data for. +|} + +Upon receipt a "gettx" message, a node sends "tx" messages for the requested transactions. + +==Local state== + +This BIP suggests a stateful protocol and it requires storing several variables at every node to operate properly. + +====Reconciliation sets==== +Every node stores sets of 128-bit truncated IDs per every peer, representing the transactions which would have been sent according to the regular flooding protocol. +Incoming transactions are added to sets when those transactions are received (if they satisfy the policies such as minimum fee set by a peer). +A reconciliation set is moved to the corresponding set snapshot after the transmission of the initial sketch. + +====Reconciliation set snapshot==== +After the transmitting of the initial sketch (either sending or receiving of reconcildiff message), every node should store the snapshot of the current reconciliation set, and clear the set. +This is important to make bisection more stable during the reconciliation round (bisection should be applied to the snapshot). +The snapshot is also used to efficiently lookup the transactions requested by short ID. +The snapshot is cleared after the end of the reconciliation round (sending or receiving of the reconcildiff message). + +====q-coefficient==== +The q value should be stored to make efficient difference estimation. It is shared across peers and changed after every reconciliation. +q-coefficient represents the discrepancy in sets: the closer the sets are, the lower optimal ''q'' is. +In future implementations, q could vary across different peers or become static. + + +==Backward compatibility== + +Older clients remain fully compatible and interoperable after this change. + +Clients which do not implement this protocol remain fully compatible after this change using existing protocols, because transaction announcement reconciliation is used only for peers that negotiate support for it. + +==Rationale== + +====Why using PinSketch for set reconciliation?==== + +To the best of our knowledge, PinSketch is more bandwidth efficient than IBLT, especially for the small differences in sets we expect to operate over. +PinSketch is as bandwidth efficient as CPISync, but PinSketch has quadratic decoding complexity, while CPISync have cubic decoding complexity. This makes PinSketch significantly faster. + +====Why using 32-bit short transaction IDs?==== + +To use Minisketch in practice, transaction IDs should be shortened (ideally, not more than 64 bits per element). +Small number of bits per transaction also allows to save extra bandwidth and make operations over sketches faster. +According to our estimates, 32 bits provides low collision rate in a non-adversarial model (which is enabled by using independent salts per-link). + +====Why using 128-bit short IDs?==== + +To avoid problems caused by the delays in the network, our protocol requires extra round of announcing unsalted transaction IDs. [https://arxiv.org/pdf/1905.10518.pdf Erlay] protocol on top of this work also requires announcing unsalted transaction IDs for flooding. +Both of these measures allow to deduplicate transaction announcements across the peers. +However, using full 256-bit IDs to uniquely identify transactions seems to be an overkill. +128 is the highest power of 2 which provides good enough collision-resistance in an adversarial model, and trivially saves a significant portion of the bandwidth related to these announcements. + +====Why using bisection instead of extending the sketch?==== + +Unlike extended sketches, bisection does not require operating over sketches of higher order. +This allows to avoid the high computational cost caused by quadratic decoding complexity. + +==Implementation== + +TODO + +==Acknowledgments== + +A large fraction of this proposal was done during designing Erlay with Gregory Maxwell, Sasha Fedorova and Ivan Beschastnikh. +We would like to thank Ben Woosley for contributions to the high-level description of the idea. + +==Copyright== + +This document is placed in the public domain. diff --git a/bip-reconcil/bisection.png b/bip-reconcil/bisection.png new file mode 100644 index 0000000000000000000000000000000000000000..70f37e8853621b65a9bcee55ec391f3ff5c51ab7 GIT binary patch literal 60787 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 Nl(?K&$-7U!{~u^bTa*9* literal 0 HcmV?d00001 diff --git a/bip-reconcil/minisketch.py b/bip-reconcil/minisketch.py new file mode 100755 index 00000000..f64286fd --- /dev/null +++ b/bip-reconcil/minisketch.py @@ -0,0 +1,157 @@ +#!/usr/bin/env python3 + +######## ENCODING and DECODING ######## + +FIELD_BITS = 32 +FIELD_MODULUS = (1 << FIELD_BITS) + 0b10001101 + +def mul2(x): + """Compute 2*x in GF(2^FIELD_BITS)""" + return (x << 1) ^ (FIELD_MODULUS if x.bit_length() >= FIELD_BITS else 0) + +def mul(x, y): + """Compute x*y in GF(2^FIELD_BITS)""" + ret = 0 + for bit in [(x >> i) & 1 for i in range(x.bit_length())]: + ret ^= bit * y + y = mul2(y) + return ret + +######## ENCODING only ######## + +def sketch(shortids, capacity): + """Compute the bytes of a sketch for given shortids and given capacity.""" + odd_sums = [0 for _ in range(capacity)] + for shortid in shortids: + squared = mul(shortid, shortid) + for i in range(capacity): + odd_sums[i] ^= shortid + shortid = mul(shortid, squared) + return b''.join(elem.to_bytes(4, 'little') for elem in odd_sums) + +######## DECODING only ######## + +import random + +def inv(x): + """Compute 1/x in GF(2^FIELD_BITS)""" + t = x + for i in range(FIELD_BITS - 2): + t = mul(mul(t, t), x) + return mul(t, t) + + +def berlekamp_massey(s): + """Given a sequence of LFSR outputs, find the coefficients of the LFSR.""" + C, B, L, m, b = [1], [1], 0, 1, 1 + for n in range(len(s)): + d = s[n] + for i in range(1, L + 1): + d ^= mul(C[i], s[n - i]) + if d == 0: + m += 1 + else: + T = list(C) + while len(C) <= len(B) + m: + C += [0] + t = mul(d, inv(b)) + for i in range(len(B)): + C[i + m] ^= mul(t, B[i]) + if 2 * L <= n: + L, B, b, m = n + 1 - L, T, d, 1 + else: + m += 1 + return C[0:L + 1] + +def poly_monic(p): + """Return the monic multiple of p, or 0 if the input is 0.""" + if len(p) == 0: + return [] + i = inv(p[-1]) + return [mul(v, i) for v in p] + +def poly_divmod(m, p): + """Compute the polynomial quotient p/m, and replace p with p mod m.""" + assert(len(m) > 0 and m[-1] == 1) + div = [0 for _ in range(len(p) - len(m) + 1)] + while len(p) >= len(m): + div[len(p) - len(m)] = p[-1] + for i in range(len(m)): + p[len(p) - len(m) + i] ^= mul(p[-1], m[i]) + assert(p[-1] == 0) + p.pop() + while (len(p) > 0 and p[-1] == 0): + p.pop() + return div + +def poly_gcd(a, b): + """Compute the GCD of a and b (destroys the inputs).""" + if len(a) < len(b): + a, b = b, a + while len(b): + if len(b) == 1: + return [1] + b = poly_monic(b) + poly_divmod(b, a) + a, b = b, a + return a + +def poly_sqr(p): + """Compute the coefficients of the square of polynomial with coefficients p.""" + return [0 if i & 1 else mul(p[i // 2], p[i // 2]) for i in range(2 * len(p))] + +def poly_trace(m, a): + """Compute the coefficients of the trace polynomial of (a*x) mod m.""" + out = [0, a] + for i in range(FIELD_BITS - 1): + out = poly_sqr(out) + while len(out) < 2: + out += [0] + out[1] = a + poly_divmod(m, out) + return out + +def find_roots_inner(p, a): + """Recursive helper function for find_roots (destroys p). a is randomizer.""" + # p must be monic + assert(len(p) > 0 and p[-1] == 1) + # Deal with degree 0 and degree 1 inputs + if len(p) == 1: + return [] + elif len(p) == 2: + return [p[0]] + # Otherwise, split p in left*right using paramater a_vals[0]. + t = poly_monic(poly_trace(p, a)) + left = poly_gcd(list(p), t) + right = poly_divmod(list(left), p) + # Invoke recursion with the remaining a_vals. + ret_right = find_roots_inner(right, mul2(a)) + ret_left = find_roots_inner(left, mul2(a)) + # Concatenate roots + return ret_left + ret_right + +def find_roots(p): + """Find the roots of polynomial with coefficients p.""" + # Compute x^(2^FIELD_BITS)+x mod p in a roundabout way. + t = poly_trace(p, 1) + t2 = poly_sqr(t) + for i in range(len(t)): + t2[i] ^= t[i] + poly_divmod(p, t2) + # If distinct from 0, p is not fully factorizable into non-repeating roots. + if len(t2): + return None + # Invoke the recursive splitting algorithm + return find_roots_inner(list(p), random.randrange(1, 2**32-1)) + +def decode(sketch): + """Recover the shortids from a sketch.""" + odd_sums = [int.from_bytes(sketch[i*4:(i+1)*4], 'little') for i in range(len(sketch) // 4)] + sums = [] + for i in range(len(odd_sums) * 2): + if i & 1: + sums.append(mul(sums[(i-1)//2], sums[(i-1)//2])) + else: + sums.append(odd_sums[(i+1)//2]) + return find_roots(list(reversed(berlekamp_massey(sums)))) + diff --git a/bip-reconcil/recon_scheme_merged.png b/bip-reconcil/recon_scheme_merged.png new file mode 100644 index 0000000000000000000000000000000000000000..11d155927dbdb9121328fa7468eba66d5527acd0 GIT binary patch literal 113169 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 Date: Wed, 25 Sep 2019 08:33:20 -0400 Subject: [PATCH 113/133] bip-reconcil: Switch PD "license" to CC0 See https://github.com/bitcoin/bips/blob/master/bip-0002.mediawiki#recommended-licenses --- bip-reconcil.mediawiki | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bip-reconcil.mediawiki b/bip-reconcil.mediawiki index be34c554..54dc9f0c 100644 --- a/bip-reconcil.mediawiki +++ b/bip-reconcil.mediawiki @@ -8,7 +8,7 @@ Status: Draft Type: Standards Track Created: 2010-00-00 - License: PD + License: CC0-1.0
==Abstract== @@ -293,4 +293,4 @@ We would like to thank Ben Woosley for contributions to the high-level descripti ==Copyright== -This document is placed in the public domain. +This document is licensed under the Creative Commons CC0 1.0 Universal license. From 630052355d203bb718f2e2cc8e0e1c6b709d0a68 Mon Sep 17 00:00:00 2001 From: MarcoFalke Date: Wed, 25 Sep 2019 15:47:11 -0400 Subject: [PATCH 114/133] Update bip-reconcil.mediawiki Fix mediawiki syntax for italic text --- bip-reconcil.mediawiki | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-reconcil.mediawiki b/bip-reconcil.mediawiki index 54dc9f0c..e4454ce6 100644 --- a/bip-reconcil.mediawiki +++ b/bip-reconcil.mediawiki @@ -153,7 +153,7 @@ The reqreconcil message initiates a reconciliation round. |} Upon receipt of a "reqreconcil" message, the receiver: -* Constructs and sends a "sketch" message (see below), with a sketch of capacity computed as ``|set_size - local_set_size| + q * (set_size + local_set_size) + c'', where ''local_set_size'' represents size of the receiver's reconciliation set. +* Constructs and sends a "sketch" message (see below), with a sketch of capacity computed as ''|set_size - local_set_size| + q * (set_size + local_set_size) + c'', where ''local_set_size'' represents size of the receiver's reconciliation set. * Makes a snapshot of their current reconciliation set, and clears the set itself. The snapshot is kept until a "reconcildiff" message is received by the node. It is suggested to use ''c=1'' to avoid sending empty sketches and reduce the overhead caused by under-estimations. From 0ee067c70e23aafa8ba433179adabf37181ab13e Mon Sep 17 00:00:00 2001 From: Gleb Naumenko Date: Thu, 26 Sep 2019 07:59:06 +0300 Subject: [PATCH 115/133] Acknowledge suhas' contributions --- bip-reconcil.mediawiki | 1 + 1 file changed, 1 insertion(+) diff --git a/bip-reconcil.mediawiki b/bip-reconcil.mediawiki index 54dc9f0c..cf53776a 100644 --- a/bip-reconcil.mediawiki +++ b/bip-reconcil.mediawiki @@ -289,6 +289,7 @@ TODO ==Acknowledgments== A large fraction of this proposal was done during designing Erlay with Gregory Maxwell, Sasha Fedorova and Ivan Beschastnikh. +We would like to thank Suhas Daftuar for contributions to the design and BIP structure. We would like to thank Ben Woosley for contributions to the high-level description of the idea. ==Copyright== From 32af098957cce3845c02d199483adf4e3948eb57 Mon Sep 17 00:00:00 2001 From: Gleb Naumenko Date: Mon, 30 Sep 2019 11:49:54 +0300 Subject: [PATCH 116/133] minor fixes Co-authored-by: Rusty Russel --- bip-reconcil.mediawiki | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bip-reconcil.mediawiki b/bip-reconcil.mediawiki index cf53776a..61d3968f 100644 --- a/bip-reconcil.mediawiki +++ b/bip-reconcil.mediawiki @@ -134,7 +134,7 @@ Its payload consists of: |- | bool || responder || Indicates whether the sender will respond to "reqreconcil" messages. |- -| uint32 || version || Must be exactly 1 currently. +| uint32 || version || Sender must set this to 1 currently, otherwise receiver should ignore the message. |- | uint64 || salt || The salt used in the short transaction ID computation. |} @@ -149,7 +149,7 @@ The reqreconcil message initiates a reconciliation round. |- | uint16 || set_size || Size of the sender's reconciliation set, used to estimate set difference. |- -| uint8 || q || Coefficient used to estimate set difference. +| uint8 || q || Coefficient used to estimate set difference. Multiplied by PRECISION=2^6 and rounded up by the sender and divided by PRECISION by the receiver. |} Upon receipt of a "reqreconcil" message, the receiver: @@ -235,7 +235,7 @@ Upon receipt a "gettx" message, a node sends "tx" messages for the requested tra This BIP suggests a stateful protocol and it requires storing several variables at every node to operate properly. ====Reconciliation sets==== -Every node stores sets of 128-bit truncated IDs per every peer, representing the transactions which would have been sent according to the regular flooding protocol. +Every node stores a set of 128-bit truncated IDs for every peer which supports transaction reconciliation, representing the transactions which would have been sent according to the regular flooding protocol. Incoming transactions are added to sets when those transactions are received (if they satisfy the policies such as minimum fee set by a peer). A reconciliation set is moved to the corresponding set snapshot after the transmission of the initial sketch. @@ -261,7 +261,7 @@ Clients which do not implement this protocol remain fully compatible after this ====Why using PinSketch for set reconciliation?==== -To the best of our knowledge, PinSketch is more bandwidth efficient than IBLT, especially for the small differences in sets we expect to operate over. +PinSketch is more bandwidth efficient than IBLT, especially for the small differences in sets we expect to operate over. PinSketch is as bandwidth efficient as CPISync, but PinSketch has quadratic decoding complexity, while CPISync have cubic decoding complexity. This makes PinSketch significantly faster. ====Why using 32-bit short transaction IDs?==== From bc3a81e69819364af5c76f73762da2c95d6069ab Mon Sep 17 00:00:00 2001 From: Andrew Chow Date: Wed, 2 Oct 2019 15:09:51 -0400 Subject: [PATCH 117/133] Specify proprietary use type --- bip-0174.mediawiki | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/bip-0174.mediawiki b/bip-0174.mediawiki index d30b05d8..8c9f010a 100644 --- a/bip-0174.mediawiki +++ b/bip-0174.mediawiki @@ -132,6 +132,12 @@ The currently defined global types are as follows: ** Value: The 32-bit little endian unsigned integer representing the version number of this PSBT. If ommitted, the version number is 0. *** {32-bit int} +* Type: Version Number PSBT_GLOBAL_PROPRIETARY = 0xFC +** Key: Variable length identifier prefix, followed by a subtype, followed by the key data itself. +*** {0xFC}||{subtype}|{key data} +** Value: Any value data as defined by the proprietary type user. +*** + The currently defined per-input types are defined as follows: * Type: Non-Witness UTXO PSBT_IN_NON_WITNESS_UTXO = 0x00 @@ -194,6 +200,12 @@ The currently defined per-input types are defined as follows: ** Value: The UTF-8 encoded commitment message string for the proof-of-reserves. See [[bip-0127.mediawiki|BIP 127]] for more information. *** {porCommitment} +* Type: Version Number PSBT_INPUT_PROPRIETARY = 0xFC +** Key: Variable length identifier prefix, followed by a subtype, followed by the key data itself. +*** {0xFC}||{subtype}|{key data} +** Value: Any value data as defined by the proprietary type user. +*** + The currently defined per-output '''Why do we need per-output data?''' Per-output data allows signers to verify that the outputs are going to the intended recipient. The output data can also be use by signers to determine which outputs are change outputs and verify that the change is returning to the correct place. types are defined as follows: @@ -216,6 +228,12 @@ determine which outputs are change outputs and verify that the change is returni ** Value: The master key fingerprint concatenated with the derivation path of the public key. The derivation path is represented as 32 bit unsigned integer indexes concatenated with each other. This must omit the index of the master key. Public keys are those needed to spend this output. *** {master key fingerprint}|{32-bit int}|...|{32-bit int} +* Type: Version Number PSBT_OUTPUT_PROPRIETARY = 0xFC +** Key: Variable length identifier prefix, followed by a subtype, followed by the key data itself. +*** {0xFC}||{subtype}|{key data} +** Value: Any value data as defined by the proprietary type user. +*** + The transaction format is specified as follows: @@ -291,6 +309,23 @@ whichever value it wishes.'''Why can the values be arbitrarily chosen?''' W valid or invalid. If the values are invalid, a signer would simply produce an invalid signature and the final transaction itself would be invalid. If the values are valid, then it does not matter which is chosen as either way the transaction is still valid. +===Proprietary Use Type=== + +For all global, per-input, and per-output maps, the types 0xFC is reserved for proprietary use. +The proprietary use type requires keys that follow the type with a variable length string identifer, then a subtype. + +The identifier can be any variable length string that software can use to identify whether the particular data in the proprietary type can be used by it. +It can also be the empty string and just be a single 0x00 byte although this is not recommended. + +The subtype is defined by the proprietary type user and can mean whatever they want it to mean. +The subtype must also be a compact size unsigned integer in the same form as the normal types. +The key data and value data are defined by the proprietary type user. + +The proprietary use types is for private use by individuals and organizations who wish to use PSBT in their processes. +It is useful when there are additional data that they need attached to a PSBT but such data are not useful or available for the general public. +The proprietary use type is not to be used by any public specification and there is no expectation that any publicly available software be able to understand any specific meanings of it and the subtypes. +This type must be used for internal processes only. + ==Responsibilities== Using the transaction format involves many different responsibilities. Multiple responsibilities can be handled by a single entity, but each responsibility is specialized in what it should be capable of doing. From d2277115ce8194ee3d92ae02ddaea60034c06d39 Mon Sep 17 00:00:00 2001 From: MarcoFalke Date: Thu, 10 Oct 2019 17:03:48 -0400 Subject: [PATCH 118/133] travis: Remove unused sudo:false Builds in sudo-disabled docker containers are no longer available as of last year and all builds happen on sudo enabled vms. https://blog.travis-ci.com/2018-11-19-required-linux-infrastructure-migration#timeline---its-happening-fast --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index e463ab61..70d339ae 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,5 @@ os: linux language: generic -sudo: false script: - scripts/link-format-chk.sh - scripts/buildtable.pl >/tmp/table.mediawiki || exit 1 From 09d3d83d7e6d59208939b4432c48f4da851060e8 Mon Sep 17 00:00:00 2001 From: MarcoFalke Date: Thu, 10 Oct 2019 16:53:11 -0400 Subject: [PATCH 119/133] BIP 103: Withdrawn --- README.mediawiki | 4 ++-- bip-0103.mediawiki | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.mediawiki b/README.mediawiki index de98f05c..8bb77e47 100644 --- a/README.mediawiki +++ b/README.mediawiki @@ -469,13 +469,13 @@ Those proposing changes should consider that ultimately consent may rest with th | Jeff Garzik | Standard | Rejected -|- +|- style="background-color: #ffcfcf" | [[bip-0103.mediawiki|103]] | Consensus (hard fork) | Block size following technological growth | Pieter Wuille | Standard -| Draft +| Withdrawn |- | [[bip-0104.mediawiki|104]] | Consensus (hard fork) diff --git a/bip-0103.mediawiki b/bip-0103.mediawiki index bc06000c..3a8bab5a 100644 --- a/bip-0103.mediawiki +++ b/bip-0103.mediawiki @@ -5,7 +5,7 @@ Author: Pieter Wuille Comments-Summary: No comments yet. Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0103 - Status: Draft + Status: Withdrawn Type: Standards Track Created: 2015-07-21 License: BSD-2-Clause From 898559fd055689e30c7df524da9489ef46159fd6 Mon Sep 17 00:00:00 2001 From: Olaoluwa Osuntokun Date: Thu, 24 Oct 2019 19:27:12 -0700 Subject: [PATCH 120/133] BIP-0157: increase max getcfilters request to 1k blocks In this commit, we effectively revert #699 by allow clients to request filter for up to 1k consecutive blocks. Testing in the field has shown that applications are able to reduce perceived latency from syncing to full functionality after an app has been offline for several days by batching requests for filters. A value of 100 would mean each additional day behind adds an additional round trip, resulting in 10s of seconds of lag after just a few days of being offline. A value of ~1k allows implementations to catch up with roughly a week's worth of filters in a single round trip. --- bip-0157.mediawiki | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-0157.mediawiki b/bip-0157.mediawiki index 4a477067..bb864aa9 100644 --- a/bip-0157.mediawiki +++ b/bip-0157.mediawiki @@ -168,7 +168,7 @@ fields: # Nodes SHOULD NOT send getcfilters unless the peer has signaled support for this filter type. Nodes receiving getcfilters with an unsupported filter type SHOULD NOT respond. # StopHash MUST be known to belong to a block accepted by the receiving peer. This is the case if the peer had previously sent a headers or inv message with that block or any descendents. A node that receives getcfilters with an unknown StopHash SHOULD NOT respond. -# The height of the block with hash StopHash MUST be greater than or equal to StartHeight, and the difference MUST be strictly less than 100. +# The height of the block with hash StopHash MUST be greater than or equal to StartHeight, and the difference MUST be strictly less than 1000. # The receiving node MUST respond to valid requests by sending one cfilter message for each block in the requested range, sequentially in order by block height. ==== cfilter ==== From aae7384c46407ac6b63598956b4d1fba27e23c88 Mon Sep 17 00:00:00 2001 From: User Date: Mon, 4 Nov 2019 13:24:24 -0500 Subject: [PATCH 121/133] Assigned a number, separated lines for authors, added License-Code field. --- {bip-reconcil => bip-0330}/bisection.png | Bin {bip-reconcil => bip-0330}/minisketch.py | 0 {bip-reconcil => bip-0330}/recon_scheme_merged.png | Bin bip-reconcil.mediawiki => bip-330.mediawiki | 10 ++++++---- 4 files changed, 6 insertions(+), 4 deletions(-) rename {bip-reconcil => bip-0330}/bisection.png (100%) rename {bip-reconcil => bip-0330}/minisketch.py (100%) rename {bip-reconcil => bip-0330}/recon_scheme_merged.png (100%) rename bip-reconcil.mediawiki => bip-330.mediawiki (98%) diff --git a/bip-reconcil/bisection.png b/bip-0330/bisection.png similarity index 100% rename from bip-reconcil/bisection.png rename to bip-0330/bisection.png diff --git a/bip-reconcil/minisketch.py b/bip-0330/minisketch.py similarity index 100% rename from bip-reconcil/minisketch.py rename to bip-0330/minisketch.py diff --git a/bip-reconcil/recon_scheme_merged.png b/bip-0330/recon_scheme_merged.png similarity index 100% rename from bip-reconcil/recon_scheme_merged.png rename to bip-0330/recon_scheme_merged.png diff --git a/bip-reconcil.mediawiki b/bip-330.mediawiki similarity index 98% rename from bip-reconcil.mediawiki rename to bip-330.mediawiki index 61d3968f..83b35580 100644 --- a/bip-reconcil.mediawiki +++ b/bip-330.mediawiki @@ -1,14 +1,16 @@
-  BIP: ???
+  BIP: 330
   Layer: Peer Services
   Title: Transaction announcements reconciliation
-  Author: Gleb Naumenko , Pieter Wuille 
+  Author: Gleb Naumenko 
+          Pieter Wuille 
   Comments-Summary: ???
   Comments-URI: ???
   Status: Draft
   Type: Standards Track
   Created: 2010-00-00
   License: CC0-1.0
+  License-Code: MIT
 
==Abstract== @@ -110,13 +112,13 @@ For announcing and relaying transaction outside of reconciliation, we need an un Set reconciliation primarily consists of the transmission and decoding of a reconciliation set sketch upon request. -[[File:bip-reconcil/recon_scheme_merged.png|framed|center|Set reconciliation protocol flow]] +[[File:bip-330/recon_scheme_merged.png|framed|center|Set reconciliation protocol flow]] ====Bisection==== If a node is unable to reconstruct the set difference from the received sketch, the node then makes an additional reconciliation request, similar to the initial one, but this request is applied to only a fraction of possible transactions (e.g., in the range 0x0–0x8). Because of the linearity of sketches, a sketch of a subset of transactions would allow the node to compute a sketch for the remainder, which saves bandwidth. -[[File:bip-reconcil/bisection.png|framed|300px|center|Bisection]] +[[File:bip-330/bisection.png|framed|300px|center|Bisection]] ===New messages=== Several new protocol messages are added: sendrecon, reqreconcil, sketch, reqbisec, reconcildiff, invtx, gettx. This section describes their serialization, contents, and semantics. From 2e7dab87ef6822d2ed81df0eaa8e4fa9a665e86c Mon Sep 17 00:00:00 2001 From: User Date: Mon, 4 Nov 2019 13:30:08 -0500 Subject: [PATCH 122/133] added missing leading zero --- bip-330.mediawiki | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bip-330.mediawiki b/bip-330.mediawiki index 36dbdd40..197f94ef 100644 --- a/bip-330.mediawiki +++ b/bip-330.mediawiki @@ -112,13 +112,13 @@ For announcing and relaying transaction outside of reconciliation, we need an un Set reconciliation primarily consists of the transmission and decoding of a reconciliation set sketch upon request. -[[File:bip-330/recon_scheme_merged.png|framed|center|Set reconciliation protocol flow]] +[[File:bip-0330/recon_scheme_merged.png|framed|center|Set reconciliation protocol flow]] ====Bisection==== If a node is unable to reconstruct the set difference from the received sketch, the node then makes an additional reconciliation request, similar to the initial one, but this request is applied to only a fraction of possible transactions (e.g., in the range 0x0–0x8). Because of the linearity of sketches, a sketch of a subset of transactions would allow the node to compute a sketch for the remainder, which saves bandwidth. -[[File:bip-330/bisection.png|framed|300px|center|Bisection]] +[[File:bip-0330/bisection.png|framed|300px|center|Bisection]] ===New messages=== Several new protocol messages are added: sendrecon, reqreconcil, sketch, reqbisec, reconcildiff, invtx, gettx. This section describes their serialization, contents, and semantics. From 7f9ad3ebe53290b22d3a809d3ef1566d12fbceab Mon Sep 17 00:00:00 2001 From: User Date: Mon, 4 Nov 2019 13:39:01 -0500 Subject: [PATCH 123/133] add trailing zero to the file name --- bip-330.mediawiki => bip-0330.mediawiki | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename bip-330.mediawiki => bip-0330.mediawiki (100%) diff --git a/bip-330.mediawiki b/bip-0330.mediawiki similarity index 100% rename from bip-330.mediawiki rename to bip-0330.mediawiki From affe5cb8810b4009e249b05abe5cb193b05d86a4 Mon Sep 17 00:00:00 2001 From: User Date: Tue, 5 Nov 2019 11:55:26 -0500 Subject: [PATCH 124/133] Add comments links and created date. --- bip-0330.mediawiki | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bip-0330.mediawiki b/bip-0330.mediawiki index 197f94ef..581b6aef 100644 --- a/bip-0330.mediawiki +++ b/bip-0330.mediawiki @@ -4,11 +4,11 @@ Title: Transaction announcements reconciliation Author: Gleb Naumenko Pieter Wuille - Comments-Summary: ??? - Comments-URI: ??? + Comments-Summary: No comments yet. + Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0330 Status: Draft Type: Standards Track - Created: 2010-00-00 + Created: 2019-09-25 License: CC0-1.0 License-Code: MIT
From 544e883488831d67b54f84214006eb8ad761f87b Mon Sep 17 00:00:00 2001 From: User Date: Tue, 5 Nov 2019 12:38:51 -0500 Subject: [PATCH 125/133] update readme --- README.mediawiki | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.mediawiki b/README.mediawiki index de98f05c..b081c5e1 100644 --- a/README.mediawiki +++ b/README.mediawiki @@ -910,6 +910,13 @@ Those proposing changes should consider that ultimately consent may rest with th | Karl-Johan Alm | Standard | Draft +|- +| [[bip-0330.mediawiki|330]] +| Peer Services +| Transaction announcements reconciliation +| Gleb Naumenko, Pieter Wuille +| Standard +| Draft |} From 2a270d9419a433efdc73928997baca2da04033b0 Mon Sep 17 00:00:00 2001 From: Karl-Johan Alm Date: Wed, 20 Mar 2019 10:27:47 +0900 Subject: [PATCH 126/133] BIP 325: Signet --- README.mediawiki | 7 ++++ bip-0325.mediawiki | 85 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 92 insertions(+) create mode 100644 bip-0325.mediawiki diff --git a/README.mediawiki b/README.mediawiki index 00a09be8..e0cd1e12 100644 --- a/README.mediawiki +++ b/README.mediawiki @@ -911,6 +911,13 @@ Those proposing changes should consider that ultimately consent may rest with th | Standard | Draft |- +| [[bip-0325.mediawiki|325]] +| Applications +| Signet +| Karl-Johan Alm +| Standard +| Draft +|- | [[bip-0330.mediawiki|330]] | Peer Services | Transaction announcements reconciliation diff --git a/bip-0325.mediawiki b/bip-0325.mediawiki new file mode 100644 index 00000000..51ec6347 --- /dev/null +++ b/bip-0325.mediawiki @@ -0,0 +1,85 @@ +
+  BIP: 325
+  Layer: Applications
+  Title: Signet
+  Author: Karl-Johan Alm 
+  Comments-Summary: No comments yet.
+  Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0325
+  Status: Draft
+  Type: Standards Track
+  Created: 2019-03-20
+  License: CC0-1.0
+
+ +== Abstract == + +A new type of test network where signatures are used in addition to proof of work for block progress, enabling much better coordination and robustness (be reliably unreliable), for persistent, longer-term testing scenarios involving multiple independent parties. + +== Motivation == + +Testnet is a great place to try out new things without risking real money, but it is notoriously unreliable. Huge block reorgs, long gaps in between blocks being mined or sudden bursts of blocks in rapid succession mean that realistic testing of software, especially involving multiple independent parties running software over an extended period of time, becomes infeasible in practice. + +A new type of test network would be more suitable for integration testing by organizations such as exchanges, or testing of next generation Layer-2 protocols like Eltoo or sidechain pegs. The goal is not to be perfectly reliable but rather to have a predictable amount of unreliability. You want a test network to behave like mainnet (i.e. no thousands of block reorgs) while also making it easier to trigger expected but rare events like a 6-block reorg. Regtest is not suitable for longer-term scenarios involving multiple independent parties because creating blocks costs nothing, so any party can completely control the test network. + + +== Specification == + +A new type of network ("signet"), which takes an additional consensus parameter called the challenge (scriptPubKey). The challenge can be a simple pubkey (P2PKH style), or a k-of-n multisig, or any other script you would want. + +The witness commitment of the coinbase transaction is extended to include a secondary commitment (the signature/solution): + + 1-4 bytes - Push the following (x + 4) bytes + 4 bytes - Signet header (0xecc7daa2) + x bytes - Solution (sigScript) + +Any push operations that do not start with the 4 byte signet header are ignored. Multiple push operations with the 4 byte signet header are ignored except for the first entry. + +Any signature operations contained within the challenge use SHA256d(modifiedBlockHash), i.e. the double-SHA256 digest of the following data as the sighash: + +{|class="wikitable" style="text-align: center;" +|- +!Type +!Size +!Name +|- +|Int32||4||nVersion +|- +|Uint256||32||hashPrevBlock +|- +|Uint256||32||modifiedMerkleRoot +|- +|Uint32||4||nTime +|- +|Uint32||4||nBits +|} + +The modifiedMerkleRoot hash is obtained by generating the merkle root of the block transactions, with the coinbase witness commitment as is, without the signet extension. This means the merkle root of the block is different from the merkle root in the signet commitment. This is needed, because the signature can never be included in the very message (in this case, a block) that is being signed. Apart from the signature, to facilitate block generation (mining), the block nonce value is the only other component of the block that the signet signature does not commit to. When grinding proof of work, the extended nonce cannot be used as it would invalidate the signature. Instead, simply resigning the same (or an updated) block will give a new search space. + +A block is considered fully validated if the above commitment is found, and its solution is valid. It is recommended that this verification is done directly before or after the witness commitment verification, as the data required to do both is approximately the same. + +== Compatibility == + +This specification is backwards compatible in the sense that existing software can use Signet out of the box. + +Simply by adding the network parameters for signet (magic number, etc), a client can connect to and use any signet network without further modifications. The block headers have valid proof of work, so clients can trivially check that blocks are "probably" valid. + +However, anyone can mine blocks that are accepted by the client for any given signet network. These blocks do not contain the required signatures, however, so any fully validating node will promptly reject them. As such, clients need to either validate the block signature inside the coinbase transaction, or connect to trusted peers. + +Other software need not add block signature validation code that they will not use in production. This is adequate for non-production test purposes where the goal is to have a network behave as much like mainnet as possible. + +== Reference implementation == + +Pull request at https://github.com/bitcoin/bitcoin/pull/16411 + +== Acknowledgements == + +TODO + +== References == + +# Original mailing list thread: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2019-March/016734.html +# Bitcoin Wiki entry: https://en.bitcoin.it/wiki/Signet + +== Copyright == + +This document is licensed under the Creative Commons CC0 1.0 Universal license. From d3ff4b1e9e3358893c5c5c5c2b5b1642f65ea98c Mon Sep 17 00:00:00 2001 From: Emil Engler Date: Thu, 17 Oct 2019 21:26:08 +0200 Subject: [PATCH 127/133] Add BIP 179: Name for payment recipient identifiers --- README.mediawiki | 7 ++++++ bip-0179.mediawiki | 58 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 bip-0179.mediawiki diff --git a/README.mediawiki b/README.mediawiki index 3e2927e7..681b57c9 100644 --- a/README.mediawiki +++ b/README.mediawiki @@ -855,6 +855,13 @@ Those proposing changes should consider that ultimately consent may rest with th | Standard | Draft |- +| [[bip-0179.mediawiki|179]] +| +| Name for payment recipient identifiers +| Emil Engler, MarcoFalke, Luke Dashjr +| Informational +| Draft +|- | [[bip-0180.mediawiki|180]] | Peer Services | Block size/weight fraud proof diff --git a/bip-0179.mediawiki b/bip-0179.mediawiki new file mode 100644 index 00000000..7894f2d0 --- /dev/null +++ b/bip-0179.mediawiki @@ -0,0 +1,58 @@ +
+  BIP: 179
+  Title: Name for payment recipient identifiers
+  Author: Emil Engler 
+          MarcoFalke 
+          Luke Dashjr 
+  Comments-Summary: No comments yet.
+  Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0179
+  Status: Draft
+  Type: Informational
+  Created: 2019-10-17
+  License: CC0-1.0
+
+ +==Abstract== +This BIP proposes a new term for 'address' + +==Specification== +The new term is: +''Bitcoin'' '''Invoice''' ''Address'' + +The ''Bitcoin'' and ''Address'' parts are optional. +The address suffix should only be used as a transitional step. + +A ''Bitcoin'' Invoice ''Address'' is a string of characters that can be used to indicate the intended recipient and purpose of a transaction. + +==Motivation== +Bitcoin addresses are intended to be only used '''once''' and you should generate a new one for every new incoming payment. +The term 'address' however indicates consistency because nearly everything on the internet or the offline world with the term 'address' +is something that rarely or even never changes (postal address, email address, IP addresses (depends heavily on the provider), etc.) +The motivation for this BIP is to change the term address to something that indicates that the address is connected to a single transaction. + +==Rationale== +The reason why we use ''Bitcoin Invoice Address'' or just ''Invoice'' is to emphasize that it is single-use. +The terms ''Bitcoin'' and ''Address'' are optional for the following reasons: +For ''Bitcoin'': +* Useful for multicoin wallets to indicate that it belongs to Bitcoin +* Indicates a difference between a lightning and an on-chain invoice +For ''Address'': +* To not confuse users with a completely new term +* To show that it is where you send something to +* To not break backwards compatibility + +This gives us the four following possibilities: +* Bitcoin Invoice Address +* Bitcoin Invoice +* Invoice Address +* Invoice + +==Backwards Compatibility== +To avoid issues, the 'Address' suffix is permitted, but not recommended. +The suffix 'Address' remains so users should be immediately able to recognize it until the new term is widely known. + +==Acknowledgements== +Thanks to Chris Belcher for the suggestion of the term 'Bitcoin Invoice Address' + +==Copyright== +This BIP is released under CC0-1.0 and therefore Public Domain. From 87a85402ae23f087496883c757a066f4857b13f8 Mon Sep 17 00:00:00 2001 From: azuchi Date: Thu, 14 Nov 2019 11:53:05 +0900 Subject: [PATCH 128/133] BIP174: Fix wrong description about Proprietary Use Type --- bip-0174.mediawiki | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bip-0174.mediawiki b/bip-0174.mediawiki index 49bc0605..e47c0af7 100644 --- a/bip-0174.mediawiki +++ b/bip-0174.mediawiki @@ -132,7 +132,7 @@ The currently defined global types are as follows: ** Value: The 32-bit little endian unsigned integer representing the version number of this PSBT. If ommitted, the version number is 0. *** {32-bit int} -* Type: Version Number PSBT_GLOBAL_PROPRIETARY = 0xFC +* Type: Proprietary Use Type PSBT_GLOBAL_PROPRIETARY = 0xFC ** Key: Variable length identifier prefix, followed by a subtype, followed by the key data itself. *** {0xFC}||{subtype}|{key data} ** Value: Any value data as defined by the proprietary type user. @@ -200,7 +200,7 @@ The currently defined per-input types are defined as follows: ** Value: The UTF-8 encoded commitment message string for the proof-of-reserves. See [[bip-0127.mediawiki|BIP 127]] for more information. *** {porCommitment} -* Type: Version Number PSBT_INPUT_PROPRIETARY = 0xFC +* Type: Proprietary Use Type PSBT_INPUT_PROPRIETARY = 0xFC ** Key: Variable length identifier prefix, followed by a subtype, followed by the key data itself. *** {0xFC}||{subtype}|{key data} ** Value: Any value data as defined by the proprietary type user. @@ -228,7 +228,7 @@ determine which outputs are change outputs and verify that the change is returni ** Value: The master key fingerprint concatenated with the derivation path of the public key. The derivation path is represented as 32 bit unsigned integer indexes concatenated with each other. Public keys are those needed to spend this output. *** {master key fingerprint}|{32-bit int}|...|{32-bit int} -* Type: Version Number PSBT_OUTPUT_PROPRIETARY = 0xFC +* Type: Proprietary Use Type PSBT_OUTPUT_PROPRIETARY = 0xFC ** Key: Variable length identifier prefix, followed by a subtype, followed by the key data itself. *** {0xFC}||{subtype}|{key data} ** Value: Any value data as defined by the proprietary type user. From 267c02a4b5c5550309b84bd60b6f72d9989ffb9b Mon Sep 17 00:00:00 2001 From: Dmitry Petukhov Date: Mon, 9 Dec 2019 12:21:09 +0500 Subject: [PATCH 129/133] BIP174: remove 'first byte is the type' comment for key data As the key type is now defined as compact size integer, `At the beginning of each key is a compact size unsigned integer representing the type`, the comment in the first table in the document, about first byte of the key being the key type is no longer accurate. As the structure of the key data is described further in the text after the table, and the comment that it starts with the compact size integer seems a bit long to be in that table, I think it is better to just remove the comment about the key data structure from the table, and leave the explanation to the text after the table. --- bip-0174.mediawiki | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-0174.mediawiki b/bip-0174.mediawiki index 49bc0605..b964c818 100644 --- a/bip-0174.mediawiki +++ b/bip-0174.mediawiki @@ -69,7 +69,7 @@ the length of that data. {..} indicates the raw data itself. |- | Key | byte[] -| The key itself with the first byte being the type of the key-value pair +| The Key itself |- | Value Length | Compact Size Unsigned Integer From c7191c935e253506d6710d73b3d721f7b66ae371 Mon Sep 17 00:00:00 2001 From: Ben Carman Date: Mon, 9 Dec 2019 01:44:43 -0600 Subject: [PATCH 130/133] Specify 32 bit itns as unsigned and their endianess --- bip-0174.mediawiki | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/bip-0174.mediawiki b/bip-0174.mediawiki index 49bc0605..c5c069be 100644 --- a/bip-0174.mediawiki +++ b/bip-0174.mediawiki @@ -123,14 +123,14 @@ The currently defined global types are as follows: * Type: Extended Public Key PSBT_GLOBAL_XPUB = 0x01 ** Key: The type followed by the 78 byte serialized extended public key as defined by BIP 32. Extended public keys are those that can be used to derive public keys used in the inputs and outputs of this transaction. It should be the public key at the highest hardened derivation index so that the unhardened child keys used in the transaction can be derived. *** {0x01}|{xpub} -** Value: The master key fingerprint as defined by BIP 32 concatenated with the derivation path of the public key. The derivation path is represented as 32 bit unsigned integer indexes concatenated with each other. The number of 32 bit unsigned integer indexes must match the depth provided in the extended public key. -*** {master key fingerprint}|{32-bit int}|...|{32-bit int} +** Value: The master key fingerprint as defined by BIP 32 concatenated with the derivation path of the public key. The derivation path is represented as 32-bit little endian unsigned integer indexes concatenated with each other. The number of 32 bit unsigned integer indexes must match the depth provided in the extended public key. +*** {master key fingerprint}|{32-bit uint}|...|{32-bit uint} * Type: Version Number PSBT_GLOBAL_VERSION = 0xFB ** Key: None. The key must only contain the 1 byte type. *** {0xFB} ** Value: The 32-bit little endian unsigned integer representing the version number of this PSBT. If ommitted, the version number is 0. -*** {32-bit int} +*** {32-bit uint} * Type: Version Number PSBT_GLOBAL_PROPRIETARY = 0xFC ** Key: Variable length identifier prefix, followed by a subtype, followed by the key data itself. @@ -180,7 +180,7 @@ The currently defined per-input types are defined as follows: ** Key: The public key *** {0x06}|{public key} ** Value: The master key fingerprint as defined by BIP 32 concatenated with the derivation path of the public key. The derivation path is represented as 32 bit unsigned integer indexes concatenated with each other. Public keys are those that will be needed to sign this input. -*** {master key fingerprint}|{32-bit int}|...|{32-bit int} +*** {master key fingerprint}|{32-bit uint}|...|{32-bit uint} * Type: Finalized scriptSig PSBT_IN_FINAL_SCRIPTSIG = 0x07 ** Key: None. The key must only contain the 1 byte type. @@ -225,8 +225,8 @@ determine which outputs are change outputs and verify that the change is returni * Type: BIP 32 Derivation Path PSBT_OUT_BIP32_DERIVATION = 0x02 ** Key: The public key *** {0x02}|{public key} -** Value: The master key fingerprint concatenated with the derivation path of the public key. The derivation path is represented as 32 bit unsigned integer indexes concatenated with each other. Public keys are those needed to spend this output. -*** {master key fingerprint}|{32-bit int}|...|{32-bit int} +** Value: The master key fingerprint concatenated with the derivation path of the public key. The derivation path is represented as 32-bit little endian unsigned integer indexes concatenated with each other. Public keys are those needed to spend this output. +*** {master key fingerprint}|{32-bit uint}|...|{32-bit uint} * Type: Version Number PSBT_OUTPUT_PROPRIETARY = 0xFC ** Key: Variable length identifier prefix, followed by a subtype, followed by the key data itself. From 65f0b3dd62ecc55e43436173c5f84e893809d0fa Mon Sep 17 00:00:00 2001 From: Dmitry Petukhov Date: Mon, 9 Dec 2019 17:30:47 +0500 Subject: [PATCH 131/133] BIP-174: test data: fix value length In the test case "Case: PSBT With invalid output witnessScript typed key", after PSBT_OUT_WITNESS_SCRIPT key with garbage data (which ends with `...478ef51309d`, follows value `2b` which would denote the length of the data value of the key. But the length of actual remaining data is only 7 bytes. Thus, an implementation that reads key-value pairs and checks for validity of the key data after it has read the current key-value pair, will not be able to hit the exact condition intended for this test case: extra data within the key itself. This is because such implementation will hit serialization error when it will try to read the data of the value and will get the short read. Reading full key-value pair and then checking key format afterwards is fairly normal thing to do, as the format of the keys with all their meaning is an abstraction of higher level than just the simple key-value serialization format. The proposed change is to replace byte `2b` after the key data to `06` and thus make the value length in the key-value pair valid (not going beyond the end of the data). base64 encoding has been changed accordingly. --- bip-0174.mediawiki | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bip-0174.mediawiki b/bip-0174.mediawiki index 49bc0605..56d7eb26 100644 --- a/bip-0174.mediawiki +++ b/bip-0174.mediawiki @@ -573,8 +573,8 @@ The following are invalid PSBTs: ** Base64 String:
cHNidP8BAHMCAAAAATAa6YblFqHsisW0vGVz0y+DtGXiOtdhZ9aLOOcwtNvbAAAAAAD/////AnR7AQAAAAAAF6kUA6oXrogrXQ1Usl1jEE5P/s57nqKHYEOZOwAAAAAXqRS5IbG6b3IuS/qDtlV6MTmYakLsg4cAAAAAAAEBHwDKmjsAAAAAFgAU0tlLZK4IWH7vyO6xh8YB6Tn5A3wAAgAAFgAUYunpgv/zTdgjlhAxawkM0qO3R8sAAQAiACCHa62DLx0WgBXtQSMqnqZaGBXZ7xPA74dZ9ktbKyeKZQEBJVEhA7fOI6AcW0vwCmQlN836uzFbZoMyhnR471EwnSvVf4qHUa4A
* Case: PSBT With invalid output witnessScript typed key -** Bytes in Hex:
70736274ff0100730200000001301ae986e516a1ec8ac5b4bc6573d32f83b465e23ad76167d68b38e730b4dbdb0000000000ffffffff02747b01000000000017a91403aa17ae882b5d0d54b25d63104e4ffece7b9ea2876043993b0000000017a914b921b1ba6f722e4bfa83b6557a3139986a42ec8387000000000001011f00ca9a3b00000000160014d2d94b64ae08587eefc8eeb187c601e939f9037c00010016001462e9e982fff34dd8239610316b090cd2a3b747cb000100220020876bad832f1d168015ed41232a9ea65a1815d9ef13c0ef8759f64b5b2b278a6521010025512103b7ce23a01c5b4bf00a642537cdfabb315b668332867478ef51309d2bd57f8a8751ae00
-** Base64 String:
cHNidP8BAHMCAAAAATAa6YblFqHsisW0vGVz0y+DtGXiOtdhZ9aLOOcwtNvbAAAAAAD/////AnR7AQAAAAAAF6kUA6oXrogrXQ1Usl1jEE5P/s57nqKHYEOZOwAAAAAXqRS5IbG6b3IuS/qDtlV6MTmYakLsg4cAAAAAAAEBHwDKmjsAAAAAFgAU0tlLZK4IWH7vyO6xh8YB6Tn5A3wAAQAWABRi6emC//NN2COWEDFrCQzSo7dHywABACIAIIdrrYMvHRaAFe1BIyqeploYFdnvE8Dvh1n2S1srJ4plIQEAJVEhA7fOI6AcW0vwCmQlN836uzFbZoMyhnR471EwnSvVf4qHUa4A
+** Bytes in Hex:
70736274ff0100730200000001301ae986e516a1ec8ac5b4bc6573d32f83b465e23ad76167d68b38e730b4dbdb0000000000ffffffff02747b01000000000017a91403aa17ae882b5d0d54b25d63104e4ffece7b9ea2876043993b0000000017a914b921b1ba6f722e4bfa83b6557a3139986a42ec8387000000000001011f00ca9a3b00000000160014d2d94b64ae08587eefc8eeb187c601e939f9037c00010016001462e9e982fff34dd8239610316b090cd2a3b747cb000100220020876bad832f1d168015ed41232a9ea65a1815d9ef13c0ef8759f64b5b2b278a6521010025512103b7ce23a01c5b4bf00a642537cdfabb315b668332867478ef51309d06d57f8a8751ae00
+** Base64 String:
cHNidP8BAHMCAAAAATAa6YblFqHsisW0vGVz0y+DtGXiOtdhZ9aLOOcwtNvbAAAAAAD/////AnR7AQAAAAAAF6kUA6oXrogrXQ1Usl1jEE5P/s57nqKHYEOZOwAAAAAXqRS5IbG6b3IuS/qDtlV6MTmYakLsg4cAAAAAAAEBHwDKmjsAAAAAFgAU0tlLZK4IWH7vyO6xh8YB6Tn5A3wAAQAWABRi6emC//NN2COWEDFrCQzSo7dHywABACIAIIdrrYMvHRaAFe1BIyqeploYFdnvE8Dvh1n2S1srJ4plIQEAJVEhA7fOI6AcW0vwCmQlN836uzFbZoMyhnR471EwnQbVf4qHUa4A
The following are valid PSBTs: From e097b1d38adc8643a8e0b1bb00e94a97b175314e Mon Sep 17 00:00:00 2001 From: Ben Carman Date: Wed, 11 Dec 2019 15:53:06 -0600 Subject: [PATCH 132/133] BIP 174: Specify that separator only appears at end of the map --- bip-0174.mediawiki | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-0174.mediawiki b/bip-0174.mediawiki index 49bc0605..b14efe20 100644 --- a/bip-0174.mediawiki +++ b/bip-0174.mediawiki @@ -103,7 +103,7 @@ The format of each key-value map is as follows: | separator | char | 0x00 -| Must be 0x00. +| Must be 0x00 at the end of the map. |} At the beginning of each key is a compact size unsigned integer representing the type. From 8faf97e720f0800953e71cf156c899b1446ff455 Mon Sep 17 00:00:00 2001 From: Dmitry Petukhov Date: Sat, 14 Dec 2019 20:39:40 +0500 Subject: [PATCH 133/133] BIP-174: add missing types to Appendix A; fix proprietary type names PSBT_INPUT_PROPRIETARY -> PSBT_IN_PROPRIETARY PSBT_OUTPUT_PROPRIETARY -> PSBT_OUT_PROPRIETARY to be consistent with other in/out type names that use shortened `IN` and `OUT` --- bip-0174.mediawiki | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/bip-0174.mediawiki b/bip-0174.mediawiki index d95b1198..3121012e 100644 --- a/bip-0174.mediawiki +++ b/bip-0174.mediawiki @@ -200,7 +200,7 @@ The currently defined per-input types are defined as follows: ** Value: The UTF-8 encoded commitment message string for the proof-of-reserves. See [[bip-0127.mediawiki|BIP 127]] for more information. *** {porCommitment} -* Type: Proprietary Use Type PSBT_INPUT_PROPRIETARY = 0xFC +* Type: Proprietary Use Type PSBT_IN_PROPRIETARY = 0xFC ** Key: Variable length identifier prefix, followed by a subtype, followed by the key data itself. *** {0xFC}||{subtype}|{key data} ** Value: Any value data as defined by the proprietary type user. @@ -228,7 +228,7 @@ determine which outputs are change outputs and verify that the change is returni ** Value: The master key fingerprint concatenated with the derivation path of the public key. The derivation path is represented as 32-bit little endian unsigned integer indexes concatenated with each other. Public keys are those needed to spend this output. *** {master key fingerprint}|{32-bit uint}|...|{32-bit uint} -* Type: Proprietary Use Type PSBT_OUTPUT_PROPRIETARY = 0xFC +* Type: Proprietary Use Type PSBT_OUT_PROPRIETARY = 0xFC ** Key: Variable length identifier prefix, followed by a subtype, followed by the key data itself. *** {0xFC}||{subtype}|{key data} ** Value: Any value data as defined by the proprietary type user. @@ -748,6 +748,21 @@ Any data types, their associated scope and BIP number must be defined here | PSBT_GLOBAL_UNSIGNED_TX | BIP 174 |- +| Global +| 1 +| PSBT_GLOBAL_XPUB +| BIP 174 +|- +| Global +| 251 +| PSBT_GLOBAL_VERSION +| BIP 174 +|- +| Global +| 252 +| PSBT_GLOBAL_PROPRIETARY +| BIP 174 +|- | Input | 0 | PSBT_IN_NON_WITNESS_UTXO @@ -798,6 +813,11 @@ Any data types, their associated scope and BIP number must be defined here | PSBT_IN_POR_COMMITMENT | [[bip-0127.mediawiki|BIP 127]] |- +| Input +| 252 +| PSBT_IN_PROPRIETARY +| BIP 174 +|- | Output | 0 | PSBT_OUT_REDEEM_SCRIPT @@ -812,4 +832,9 @@ Any data types, their associated scope and BIP number must be defined here | 2 | PSBT_OUT_BIP32_DERIVATION | BIP 174 +|- +| Output +| 252 +| PSBT_OUT_PROPRIETARY +| BIP 174 |}

#&)L-r}O9iQt&P>$DauRs7!x2eU3_ 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�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 z≧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 V9lr_{i!cNp**8j(<>K!?|1WyVUF84( literal 67570 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 z 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 Date: Thu, 4 Apr 2019 16:26:19 -0700 Subject: [PATCH 043/133] number, shorten, clarify, link to working code --- bip-blind-merged-mining.mediawiki | 259 +++++++++--------------------- 1 file changed, 77 insertions(+), 182 deletions(-) diff --git a/bip-blind-merged-mining.mediawiki b/bip-blind-merged-mining.mediawiki index 513a4b73..ffa883ab 100644 --- a/bip-blind-merged-mining.mediawiki +++ b/bip-blind-merged-mining.mediawiki @@ -1,13 +1,13 @@