Asynkron
Fællesskabsindsendelse - Forfatter: Caner Taçoğlu
Asynkron betyder ikke samtidig, eller ikke sker på samme tid eller hastighed. I datalogi refererer asynkroni til forekomsten af begivenheder, der er uafhængige af hovedprogrammet.
I et asynkront system koordineres operationer ikke af et globalt clocksignal, men snarere hændelser (ændringer i systemet). Asynkrone systemer er ikke afhængige af eksterne signaler eller meddelelser for deres pålidelige drift.
Asynkrone systemer er ofte designet med en modulær ramme. I sådanne systemer kan hvert modul fungere uafhængigt og har evnen til at kommunikere med andre moduler. Disse indbyrdes forbundne moduler danner tilsammen et fungerende system.
Asynkron kommunikation er, når data kan overføres uregelmæssigt i stedet for i en jævn strøm. Almindelige eksempler omfatter e-mail eller onlinefora, hvor deltagere sender beskeder på forskellige tidspunkter.
Blockchains kan være asynkrone eller semi-synkrone netværk.
Asynkrone netværk forsyner ikke noderne med nogen tilbagemelding om status for den information, der sendes, hvilket kan føre til, at noder har forskellige syn på netværkets overordnede tilstand. Grundlæggende behøver noder ikke at vente på, at andre noder modtager deres beskeder, hvilket kan øge transaktionsgennemstrømningen.
Semi-synkrone netværk har til formål at sikre, at der aldrig sker en splittelse i netværkets globale tilstand. Hvis netværket er opdelt, vil konsensus mellem knudepunkterne bremse, indtil det gendannes igen.
Asynkrone eller semi-synkrone blockchain-netværk kan designes, uanset om de skal prioritere konsistens eller tilgængelighed. Hvis netværket ønsker at prioritere tilgængelighed, tilføjes alle transaktioner uden nedetid. Hvis netværket ønsker at prioritere konsistens, vil nogle transaktioner muligvis ikke blive behandlet eller stoppet, før alle de tidligere transaktioner er bekræftet.
Nogle blockchain-designs bruger en implementering af Byzantine Fault Tolerance (BFT) kaldet Asynchronous Byzantine Fault Tolerance (aBFT). Det garanterer matematisk, at konsensus i sidste ende opnås, selvom en angriber kontrollerer næsten en tredjedel af netværket. Asynkron betyder i denne sammenhæng, at der ikke foretages antagelser om timing.