Asynkroninen
Yhteisön ehdotus - kirjoittaja: Caner Taçoğlu
Asynkroninen tarkoittaa, että se ei tapahdu samanaikaisesti tai ei tapahdu samaan aikaan tai nopeudella. Tietojenkäsittelytieteessä asynkronisella tarkoitetaan pääohjelmasta riippumattomien tapahtumien esiintymistä.
Asynkronisessa järjestelmässä toimintoja ei koordinoi globaali kellosignaali, vaan tapahtumat (järjestelmän muutokset). Asynkronisten järjestelmien luotettava toiminta ei ole riippuvainen ulkoisista signaaleista tai viesteistä.
Asynkroniset järjestelmät suunnitellaan usein modulaarisella kehyksellä. Tällaisissa järjestelmissä jokainen moduuli voi toimia itsenäisesti ja sillä on kyky kommunikoida muiden moduulien kanssa. Nämä toisiinsa yhdistetyt moduulit muodostavat sitten yhdessä toimivan järjestelmän.
Asynkroninen viestintä on silloin, kun dataa voidaan siirtää epäsäännöllisesti tasaisen virran sijaan. Yleisiä esimerkkejä ovat sähköpostit tai verkkofoorumit, joissa osallistujat lähettävät viestejä eri aikoina.
Lohkoketjut voivat olla asynkronisia tai puolisynkronisia verkkoja.
Asynkroniset verkot eivät anna solmuille palautetta lähetettävän tiedon tilasta, mikä voi johtaa siihen, että solmuilla on erilaisia näkemyksiä verkon kokonaistilasta. Pohjimmiltaan solmujen ei tarvitse odottaa muiden solmujen vastaanottavan viestinsä, mikä voi lisätä tapahtuman suoritustehoa.
Puolisynkroniset verkot pyrkivät varmistamaan, että verkon globaalissa tilassa ei koskaan tapahdu halkeamia. Jos verkko on osioitu, solmujen välinen konsensus hidastuu, kunnes se palautetaan uudelleen.
Asynkroniset tai puolisynkroniset lohkoketjuverkot voidaan suunnitella, priorisoidaanko yhtenäisyys tai saatavuus. Jos verkko haluaa priorisoida saatavuuden, kaikki tapahtumat lisätään ilman seisokkeja. Jos verkko haluaa priorisoida johdonmukaisuuden, joitain tapahtumia ei ehkä käsitellä tai pysäyttää ennen kuin kaikki aiemmat tapahtumat on vahvistettu.
Jotkut lohkoketjumallit käyttävät Byzantine Fault Tolerance (BFT) -toteutusta nimeltä Asynchronous Byzantine Fault Tolerance (aBFT). Se takaa matemaattisesti, että lopulta päästään yhteisymmärrykseen, vaikka hyökkääjä hallitsee lähes kolmasosaa verkosta. Asynkroninen tässä yhteydessä tarkoittaa, että ajoituksesta ei tehdä oletuksia.