Viimased funktsioonid ja 2016. aasta tegevuskava

Allikasõlm: 1576913

Uuendus MultiChaini tehase põrandalt

Vahelduseks plokiahelaid käsitlevatele ajaveebipostitustele üldiselt tahaksin pakkuda värskendust selle kohta MultiCin, nii hiljutiste täiustuste kui ka meie 2016. aasta tegevuskava osas.

Esiteks tahaksin tänada tuhandeid teid, kes olete MultiChaini alla laadinud ja sellele üles ehitanud, esitas küsimusi ja saatis meile tagasisidet. Kaheksa kuu jooksul alates esimesest avalikust väljaandest on meie statistika näidanud liikluse ja allalaadimiste arvu järjekindlat orgaanilist kasvu ning ma loodan, et see tähendab, et oleme õigel kohal. Nimesid nimetamata teame tõepoolest, et MultiChaini on edukalt kasutatud pikaajaliste plokiahela pilootprojektide jaoks mõnes planeedi suurimas pangas, konsultatsioonifirmas, finantstehnoloogia- ja IT-ettevõttes.

Üks küsimus, mida meilt sageli küsitakse, on see, miks MultiChain on nii kaua "alfas" olnud. Lihtne vastus on, et meid on pommitanud funktsioonipäringud, millest enamik oli meie jaoks mõistlik, seega oleme keskendunud pigem nende täiustuste lisamisele, mitte toote beetaversiooni viimisele. Seda öeldes peaksite nägema, et MultiChain on alfa-tarkvara jaoks väga stabiilne ja oleme seda äärmuslike koormuste korral põhjalikult testinud.

Samuti tahan selgitada, kuidas positsioneerime MultiChaini plokiahela platvormide laienevas ruumis. Viimase kuue kuu jooksul on välja kuulutatud palju konkureerivaid tooteid, moodustatud (kvaasi)konsortsiumid, ettevõtted on kogunud kümneid miljoneid dollareid ja ainult aeg-ajalt oleme näinud mõnda tõelist tarkvara väljalaset. Muidugi on konkurents loomulik ja vältimatu ning ootame huviga nende teiste platvormide arengut. Kahtlemata laename nende parimaid ideid ja eeldame, et nad vastavad komplimendile.

Kuhu siis MultiChain kogu selle müraga sobib? Lühidalt, see on keskendunud toode ja praktilisus:

  • Stabiilsus. Alates hargnedes Bitcoin Core, bitcoini võrgu etalonrakendus, MultiChain tugineb aastatepikkusele vaevaga väljateenitud stabiilsusele ja turvalisusele, mis on saadud miljardite dollarite krüptovaluuta väärtuse haldamisest avatud Internetis. Selguse huvides võib öelda, et Bitcoin Core'i koodibaasil on arhitektuurilised piirangud ja võib-olla peame lõpuks sellest eemalduma. Sellegipoolest kaaluksid selle tegemise kulud praeguste kasutajate nõudmiste kohaselt oluliselt üles eelised.
  • Kasutusmugavus. Paljud MultiChaini kasutajad on meile öelnud, et seda on palju lihtsam kasutada kui konkureerivaid plokiahela platvorme. Ma isegi ei mäleta, kui palju kordi olen kellelegi öelnud, et nad võivad mõne minutiga nullist oma privaatse plokiahelani jõuda, ja nad pole mind lihtsalt uskunud. Kuid see on tõesti tõsi – järgige lihtsalt seadmel olevaid juhiseid lae alla ja alustanud lehekülgi ja vaadake ise. Ei mingeid sõltuvusi, ei kompileerimist ega Dockeriga jamamist. Ainult kolm iseseisvat käivitatavat faili ja README-fail.
  • FUNKTSIOONID. Kui MultiChain esmakordselt välja anti, oli sellel palju vähem funktsioone kui praegu. Ei mingit varade kontrolli aadressi alusel, tuumavahetustehinguid ega lihtsaid tehingute metaandmeid. Kuidas siis otsustada, mida lisada? Lihtne – me kuulame oma kasutajaid. Mõnikord teavad nad täpselt, mida nad tahavad, näiteks varade järelemissiooni, ja me oleme hea meelega nõus. Teinekord nad teavad, mida tahavad saavutada, kuid ei tea, kuidas seda funktsioonina väljendada, ja meie ülesanne on see välja töötada. Mõlemal juhul juhib MultiChaini tegevuskava halastamatult kasutajate tagasisidest ja nii see jätkub.
  • Bitcoini ühilduvus. Kui loote plokiahela lahendust, leiate, et sõlm on vaid väike osa pildist. Tehingute dekodeerimiseks, allkirjastamiseks ja kodeerimiseks võib vaja minna mobiili- või veebirahakotte, võtmehalduslahendusi ja mõnes ebaselges keeles raamatukogu. MultiChain on loodud selleks, et muuta see kõik võimalikult lihtsaks ja kiireks, säilitades maksimaalse ühilduvuse bitcoiniga, mille jaoks on vabalt saadaval tohutul hulgal infot, tööriistu ja koodi. Asja tõestamiseks suudab MultiChain isegi olema konfigureeritud bitcoini võrgu sõlmena.

Põhimõtteliselt soovime oma kasutajaid rõõmustada ja usume kindlalt, et see on kõige kindlam tee ärilise edu saavutamiseks. Sellega seoses tahaksin kirjeldada mõningaid viimase paari kuu jooksul lisatud uusi funktsioone.

Varade järelemissioon (alfa 17)

See taotlus on olnud juba mõnda aega ja on enim poolthääle saanud küsimus arendaja küsimuste ja vastuste lehel. Miks see nii kaua aega võttis? Võite meid süüdistada selles, et oleme puristid. Näete, turvalisuse mõttes pole vahet, kas (a) emiteerida vara gaziljoni ühikut esimest korda ja hoida enamik neist ringlusest väljas ning (b) lubada sama vara ühikut rohkemate ühikute edasiemissiooni. vara.

Kuid selgub, et meie kasutajate vaatenurgast on see nii is üsna suur erinevus nende kahe juhtumi vahel, sest aktiivses ringluses olevaid üksusi ei ole nii lihtne eristada kõrvalistujatest. Seega on meil hea meel teatada, et täna välja antud versioonis saate vara väljastamisel otsustada, kas see vara on avatud või suletud. Kui see on avatud, saab algne väljastanud pool luua rohkem ühikuid nii mitu korda, kui soovib.

Teisest küljest pakub MultiChain nüüd iga ahela jaoks kanoonilist "põletusaadressi". See aadress on täis X-e ja seega loodi ilmselgelt ilma vastava privaatvõtmeta (selleks kuluks lõputult palju aega). Sellele aadressile saadetud varaüksusi ei saa seetõttu kunagi kulutada ja need hävitatakse läbipaistval viisil. Pange tähele, et teie ohutuse tagamiseks tuleb põletusaadressile enne kasutamist selgesõnaliselt anda luba.

API kutsed: issue, issuefrom, issuemore, issuemorefrom, listassets, getinfo vastused burnaddress valdkonnas.

MultiChain Explorer

Koos alfa 17-ga anname välja tasuta ja avatud lähtekoodiga esimese beetaversiooni MultiChain Explorer. See annab intuitiivse veebipõhise ülevaate MultiChaini plokiahela globaalsest seisundist, mis on sarnane plokiahela uurijatele, mida bitcoini kasutajad teavad ja armastavad. See võimaldab teil kiiresti ja mugavalt vaadata tehinguid, plokke, varasid ja aadresse ning nendevahelisi ühendusi – kõike seda mugavalt oma lemmikveebibrauseris.

MultiChain Explorer sai populaarsest Abe projekt, sisse kirjutatud Python ja toiteallikaks SQLite. See loob ühenduse kohaliku MultiChaini sõlme API-ga ja sisaldab iseseisvat veebiserverit, nii et pole täiendavaid sõltuvusi. Loodame, et teile meeldib see tööriist ja ootame teie tagasisidet, mis aitab meil seda veelgi paremaks muuta.

Interaktiivne käsurežiim (alpha 16)

Bitcoin Core'i kahvlina päris MultiChain bitcoin-cli tööriist, mille nimetasime ümber multichain-cli muidugi. See tööriist pakub MultiChaini JSON-RPC API-le mugavat käsurea liidest, mis võimaldab saata API-kõnesid süsteemi käsurealt ja nende vastused kuvatakse terminalis. Kulisside taga loeb see API mandaadid vastava keti konfiguratsioonifailist, koostab JSON-RPC päringu ja dekodeerib selle vastuse.

Kuna oleme ise MultiChaini kasutajad, siis üks pettumus oli see multichain-cli tuli käitada iga API päringu jaoks eraldi. Lisaks süsteemi üldkuludele takistab see SQL-andmebaaside pakutavat sujuvat interaktsiooni. Ja nii me parandasime selle ära. Alfa 16 seisuga, kui jooksete multichain-cli [chain-name] ilma käskluseta langete interaktiivsesse režiimi, mis võimaldab teil korduvalt käske tippida ja näha nende vastust. Interaktiivne režiim toetab standardseid redigeerimisfunktsioone, nagu ajalugu (üles- ja allanooled), rea algusesse (Ctrl A) või lõppu (Ctrl E) hüppamine ning järgmisele (Ctrl →) ja eelmisele (Ctrl ←) sõnale liikumine .

Kiirem allkirja kinnitamine (alfa 15)

Kui rääkida jõudlusest bitcoinis või MultiChainis, siis kõige olulisem kitsaskoht on ECDSA allkirjad millele on ehitatud plokiahela turvamudel. Algne Bitcoin Core'i tarkvara toetus allkirjade genereerimiseks ja kinnitamiseks avatud lähtekoodiga teegile nimega OpenSSL, mis tegi selle töö ära, kuigi tal oli probleeme vormitavus, mis tähendab, et antud privaatvõtme ja kasuliku koormuse jaoks kehtis rohkem kui üks allkiri.

Bitcoin Core'i hiljutised versioonid tutvustasid uut teeki ECDSA allkirjastamiseks ja kinnitamiseks, mida nimetatakse libsecp256k1. See raamatukogu, mille autor on nullist kirjutanud maailmatasemel plokiahela arendajad, eemaldab sõltuvuse OpenSSL-ist, lahendab vormitavusega seotud probleemid ja töötab mitu korda kiiremini. Bitcoin Core'ist tuletamise üks eeliseid on see, et MultiChain saab kasutada seda tüüpi täiustusi, mida enne bitcoini võrgustikus kasutuselevõttu põhjalikult eelretsenseeritakse ja testitakse. Ja nii teeb alfa 15 täpselt seda ka libsecp256k1-ga.

Aktiveeri luba (alfa 14)

MultiChaini esimest versiooni arendades seisime silmitsi lubade andmise dilemmaga. Ühest küljest ei oleks meil probleeme ülivõimsa lubade mudeli väljamõtlemisega ja juurutamisega, millel on mitu administraatorikihti, varapõhised õigused ja kaalutud hääletusskeemid. Teisest küljest teadsime, et need muudaksid kasutaja vaatenurgast keerukamaks ega vasta tingimata kasutajate vajadustele. Seetõttu otsustasime alustada lihtsa mudeliga, mis sisaldab vaid kuut loatüüpi (ühenda, saada, saada, väljasta, minu, administraator) ja mõnda lihtsat konsensusepõhist hääletamist kõige olulisemate privileegide muutmiseks. Ootasime, et see mudel muutub aja jooksul keerukamaks, kuid selle põhjuseks on pigem kasutaja nõuded kui meie enda teooriad.

Selgub, et antud juhul on lihtne tegelikult päris hea. Kuid üks tõsine partner, kellega koos töötame, vajas midagi enamat. Näete, administraatoriõigustega MultiChaini aadressil on õigus juhtida plokiahelas igat tüüpi õigusi, mõnel juhul eeldades konsensust teiste administraatoritega. Kuid see partner soovis anda aadressile õiguse juhtida teiste ühenduse loomist, lubade saatmist ja vastuvõtmist ainult liitumise eesmärgil ning see ei mõjuta olulisemaid protsesse, nagu kaevandamine ja varade väljastamine. Seega lisasime uue aktiveerimisloa, mis teeb täpselt seda. See oli ka esimene näide partnerist, kes maksis tootes vajaliku funktsiooni juurutamise eest – võit-võit, kui see üldse olemas oli.

Walleti tehingute API-d (alfa 13)

Bitcoin Core'i kahvlina pärandas MultiChain mõned halvad koos headega. Bitcoin Core'i üks nõrku kohti on API kohaliku sõlme rahakotis olevate tehingute kohta teabe hankimiseks. See pakub kahte valikut: (a) getrawtransaction kõne, mis dekodeerib tehingute binaarset sisu, kuid ei selgita, kuidas need kohalikku rahakotti mõjutasid, ja (b) gettransaction ja listtransactions kõned, mille eesmärk on kirjeldada tehinguid rahakoti vaatenurgast, kuid teevad seda segasel viisil, kusjuures tehingu kohta on mitu vastuseelementi. Asja teeb hullemaks see, et nende kõnede väljundit ei saanud hõlpsasti laiendada, et see töötaks MultiChaini plokiahela kaudu väljastatud varade juurutusega.

Seega tutvustas see väljalase hulga uusi API-sid sõlme tehingute päringute tegemiseks. Nende kõnede väljund säilitab kõik kasulikud väljad nendest, mida nad asendavad. Kuid nad lisavad ka hulga uusi välju, mis kirjeldavad, kuidas iga tehing kohaliku rahakoti saldot mõjutas, mis sellega seotud on, kuidas see õigusi muutis ja mis tahes sisalduvaid metaandmeid. Pärast rahakoti iga aadressi aktiivsuse isoleerimise võimaluse kasutuselevõttu (alpha 8) on kõnesid kaks versiooni – üks paar, mis kirjeldab tehinguid rahakoti kui terviku vaatenurgast, ja teine, mis kirjeldab neid individuaalse rahakoti aadressi perspektiiv.

API kutsed: listwallettransactions, getwallettransaction, listaddresstransactions, getaddresstransaction.

Vaadates 2016. aastat edasi

Need on mõned suuremad täiustused, mis MultiChainis viimastel kuudel kasutusele võeti. Loomulikult on lisatud ka palju väiksemaid funktsioone ja need on täielikult loetletud allalaaditavas README-failis. Ja meie esimene prioriteet on alati see parandage vead kohe, kui need ilmuvad. Õnneks pole meie nähtud probleemid kunagi olnud tõsist arhitektuurilist laadi – Bitcoin Core'i lähtepunktina kasutamise õnnelik tulemus.

MultiChaini enda osas võtame pärast murrangulist väljalaskegraafikut veidi aeglasemaks. Seda seetõttu, et töötame millegi suure kallal, mille valmimine võtab aega paar kuud. Kirjeldan seda funktsiooni üksikasjalikult tulevases ajaveebi postituses, kuid põhiidee on pakkuda lihtsat ja tõhusat muutumatut salvestus- ja ajatemplimehhanismi mis tahes tüüpi teabe jaoks, omamoodi digitaalne "lint". Kuigi MultiChainis saab tehingute metaandmeid juba selleks otstarbeks kasutada (kuni 8 MB tükkidena), pole see eriti mugav salvestamiseks ega väljavõtmiseks ning suurte andmehulkade käsitlemisel on probleeme skaleeritavusega.

Mis seda funktsiooni motiveerib? Loomulikult on teie tagasiside, mis on meile õpetanud, et üldotstarbeline muutumatu salvestusruum on plokiahelate puhul väga levinud kasutusjuht. Ja kui me kunagi näeme MultiChainis "nutikate lepingute" (st plokiahelasisese arvutamise) nõudlust, võib see süsteem olla aluseks oleva salvestuskihina, kus arvutused tehakse vajaduse korral sõlme kohta. Nagu ma olen varem selgitatud, on vähe väärtust nõuda privaatse plokiahela kõigilt sõlmedelt ahelasiseseid arvutusi reaalajas.

Ja pärast seda? Kahtlemata tehakse tasuta tootele veel täiustusi, kuid alustame ka tööd a MultiChaini premium versioon. Õnneks oleme viimase 8 kuu jooksul näinud hulga tavaliste funktsioonide taotlusi, millel on järgmised omadused:

  • Need on olulised reaalses maailmas juurutamiseks, kuid mitte esialgseks katsetamiseks.
  • Neid saab rakendada sõlmede kaupa, ilma et see mõjutaks ahela konsensust.
  • Tõelised ettevõtted, kes teevad tõelisi projekte, maksavad nende eest hea meelega.

Need funktsioonid on seotud jõudluse, turvalisuse, logimise ja analüütikaga ning me kirjeldame neid üksikasjalikult aja jooksul. Praegu tahan selle esmaklassilise versiooni puhul rõhutada kahte peamist asja. Esiteks on see a drop-in asendus tasuta versiooni jaoks, nii et kõik kood või rakendused, mille täna MultiChainile ehitate, töötavad muutmatult edasi. Teiseks saab seda teha iga plokiahela sõlm iseseisvalt otsustada kas uuendada või mitte, sest ükski esmaklassilistest funktsioonidest ei mõjuta plokiahela konsensust. See ei ole ainult meie heasüdamlik olemine – see on ülioluline, kui tahame, et MultiChain jätkaks orgaanilist kasvu. Uus üksus saab luua ühenduse ja suhelda olemasoleva MultiChaini võrguga, mis on täis esmaklassilisi sõlme, ilma peenraha kulutamata.

Kui olete huvitatud MultiChaini premium-versiooni üle arutlemisest, saatke e-kiri premium@multichain.com or kasuta seda vormi. Meil on hea meel teie nõudmiste kohta teada saada ja vaadata, kuidas saame neid täita.

Üks asi, mida olen viimase paari aasta jooksul õppinud, on see, et keegi ei võta tarkvara tõsiselt enne, kui nad seda tegelikult näevad ja kasutavad. Kuu aega enne MultiChaini esimest väljalaskmist rääkisin inimestele tootest ja märkasin, et nad viisakalt noogutasid, samal ajal kui silmnähtavalt mõtlesid: "Oh, päästke mind, siin on veel üks valge paberiga kiire kõneleja ja ilma töötava koodita." Kuid niipea, kui teete toote kättesaadavaks, muutub reaktsioon täielikult. Nii et kui loete selle tulevase esmaklassilise versiooni kohta annuse skepsisega, siis ma mõistan ja ma ei pea seda teile vastu. Võin vaid öelda, et siiani on MultiChain oma lubadusi täitnud väga kindlalt ja ootame põnevusega jätkamist.

Samuti tahan kasutada võimalust ja tänada meie meeskonda silmapaistva töö eest. Kuigi olen ametilt tõsine kodeerija, kulutan tänapäeval kogu oma aja sisu kirjutamisele, toote haldamisele ja klientidega rääkimisele. Mul on tohutult õnn teada, et võin usaldada meie arendajaid päevast päeva kindla ja tõhusa koodi väljatöötamisse ning ma ei pea seda hetkekski enesestmõistetavaks.

Ja lõpuks tänan teid lugemise ja MultiChaini platvormi varajane kasutajana.

Ajatempel:

Veel alates Mitmeharuline