CINXE.COM
<!doctype html><html lang="en"><head><title data-rh="true">Demystifying Blockchain and Consensus Mechanisms — Everything You Wanted to Know But Were Never Told | by Andre Boaventura | Oracle Developers | Medium</title><meta data-rh="true" charset="utf-8"/><meta data-rh="true" name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1,maximum-scale=1"/><meta data-rh="true" name="theme-color" content="#000000"/><meta data-rh="true" name="twitter:app:name:iphone" content="Medium"/><meta data-rh="true" name="twitter:app:id:iphone" content="828256236"/><meta data-rh="true" property="al:ios:app_name" content="Medium"/><meta data-rh="true" property="al:ios:app_store_id" content="828256236"/><meta data-rh="true" property="al:android:package" content="com.medium.reader"/><meta data-rh="true" property="fb:app_id" content="542599432471018"/><meta data-rh="true" property="og:site_name" content="Medium"/><meta data-rh="true" property="og:type" content="article"/><meta data-rh="true" property="article:published_time" content="2018-05-14T22:12:11.390Z"/><meta data-rh="true" name="title" content="Demystifying Blockchain and Consensus Mechanisms — Everything You Wanted to Know But Were Never Told | by Andre Boaventura | Oracle Developers | Medium"/><meta data-rh="true" property="og:title" content="Demystifying Blockchain and Consensus Mechanisms — Everything You Wanted to Know But Were Never…"/><meta data-rh="true" property="al:android:url" content="medium://p/aabe62145128"/><meta data-rh="true" property="al:ios:url" content="medium://p/aabe62145128"/><meta data-rh="true" property="al:android:app_name" content="Medium"/><meta data-rh="true" name="description" content="This article provides a comprehensive explanation about consensus mechanisms used for many of the popular cryptocurrencies and blockchain implementations today"/><meta data-rh="true" property="og:description" content="Here you will find a brief introduction about blockchain which gives you some highlights and benefits about this disruptive technology"/><meta data-rh="true" property="og:url" content="https://medium.com/oracledevs/demystifying-blockchain-and-consensus-mechanisms-everything-you-wanted-to-know-but-were-never-aabe62145128"/><meta data-rh="true" property="al:web:url" content="https://medium.com/oracledevs/demystifying-blockchain-and-consensus-mechanisms-everything-you-wanted-to-know-but-were-never-aabe62145128"/><meta data-rh="true" property="og:image" content="https://miro.medium.com/v2/resize:fit:1200/1*u1F5V8Uq6wOEBzO8-DDolw.jpeg"/><meta data-rh="true" property="article:author" content="https://medium.com/@aboavent.ab"/><meta data-rh="true" name="author" content="Andre Boaventura"/><meta data-rh="true" name="robots" content="index,noarchive,follow,max-image-preview:large"/><meta data-rh="true" name="referrer" content="unsafe-url"/><meta data-rh="true" property="twitter:title" content="Demystifying Blockchain and Consensus Mechanisms — Everything You Wanted to Know But Were Never…"/><meta data-rh="true" name="twitter:site" content="@OracleDevs"/><meta data-rh="true" name="twitter:app:url:iphone" content="medium://p/aabe62145128"/><meta data-rh="true" property="twitter:description" content="Here you will find a brief introduction about blockchain which gives you some highlights and benefits about this disruptive technology"/><meta data-rh="true" name="twitter:image:src" content="https://miro.medium.com/v2/resize:fit:1200/1*u1F5V8Uq6wOEBzO8-DDolw.jpeg"/><meta data-rh="true" name="twitter:card" content="summary_large_image"/><meta data-rh="true" name="twitter:creator" content="@aboavent_ab"/><meta data-rh="true" name="twitter:label1" content="Reading time"/><meta data-rh="true" name="twitter:data1" content="20 min read"/><link data-rh="true" rel="icon" href="https://miro.medium.com/v2/5d8de952517e8160e40ef9841c781cdc14a5db313057fa3c3de41c6f5b494b19"/><link data-rh="true" rel="search" type="application/opensearchdescription+xml" title="Medium" href="/osd.xml"/><link data-rh="true" rel="apple-touch-icon" sizes="152x152" href="https://miro.medium.com/v2/resize:fill:304:304/10fd5c419ac61637245384e7099e131627900034828f4f386bdaa47a74eae156"/><link data-rh="true" rel="apple-touch-icon" sizes="120x120" href="https://miro.medium.com/v2/resize:fill:240:240/10fd5c419ac61637245384e7099e131627900034828f4f386bdaa47a74eae156"/><link data-rh="true" rel="apple-touch-icon" sizes="76x76" href="https://miro.medium.com/v2/resize:fill:152:152/10fd5c419ac61637245384e7099e131627900034828f4f386bdaa47a74eae156"/><link data-rh="true" rel="apple-touch-icon" sizes="60x60" href="https://miro.medium.com/v2/resize:fill:120:120/10fd5c419ac61637245384e7099e131627900034828f4f386bdaa47a74eae156"/><link data-rh="true" rel="mask-icon" href="https://miro.medium.com/v2/resize:fill:1000:1000/7*GAOKVe--MXbEJmV9230oOQ.png" color="#171717"/><link data-rh="true" rel="preconnect" href="https://glyph.medium.com" crossOrigin=""/><link data-rh="true" id="glyph_preload_link" rel="preload" as="style" type="text/css" href="https://glyph.medium.com/css/unbound.css"/><link data-rh="true" id="glyph_link" rel="stylesheet" type="text/css" href="https://glyph.medium.com/css/unbound.css"/><link data-rh="true" rel="author" href="https://medium.com/@aboavent.ab"/><link data-rh="true" rel="canonical" href="https://medium.com/oracledevs/demystifying-blockchain-and-consensus-mechanisms-everything-you-wanted-to-know-but-were-never-aabe62145128"/><link data-rh="true" rel="alternate" href="android-app://com.medium.reader/https/medium.com/p/aabe62145128"/><script data-rh="true" type="application/ld+json">{"@context":"http:\u002F\u002Fschema.org","@type":"NewsArticle","image":["https:\u002F\u002Fmiro.medium.com\u002Fv2\u002Fresize:fit:1200\u002F1*u1F5V8Uq6wOEBzO8-DDolw.jpeg"],"url":"https:\u002F\u002Fmedium.com\u002Foracledevs\u002Fdemystifying-blockchain-and-consensus-mechanisms-everything-you-wanted-to-know-but-were-never-aabe62145128","dateCreated":"2018-04-12T16:50:21.433Z","datePublished":"2018-04-12T16:50:21.433Z","dateModified":"2018-06-13T23:42:59.240Z","headline":"Demystifying Blockchain and Consensus Mechanisms — Everything You Wanted to Know But Were Never Told","name":"Demystifying Blockchain and Consensus Mechanisms — Everything You Wanted to Know But Were Never Told","description":"This article provides a comprehensive explanation about consensus mechanisms used for many of the popular cryptocurrencies and blockchain implementations today","identifier":"aabe62145128","author":{"@type":"Person","name":"Andre Boaventura","url":"https:\u002F\u002Fmedium.com\u002F@aboavent.ab"},"creator":["Andre Boaventura"],"publisher":{"@type":"Organization","name":"Oracle Developers","url":"https:\u002F\u002Fmedium.com\u002Foracledevs","logo":{"@type":"ImageObject","width":272,"height":60,"url":"https:\u002F\u002Fmiro.medium.com\u002Fv2\u002Fresize:fit:544\u002F7*V1_7XP4snlmqrc_0Njontw.png"}},"mainEntityOfPage":"https:\u002F\u002Fmedium.com\u002Foracledevs\u002Fdemystifying-blockchain-and-consensus-mechanisms-everything-you-wanted-to-know-but-were-never-aabe62145128"}</script><style type="text/css" data-fela-rehydration="550" data-fela-type="STATIC">html{box-sizing:border-box;-webkit-text-size-adjust:100%}*, *:before, *:after{box-sizing:inherit}body{margin:0;padding:0;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;color:rgba(0,0,0,0.8);position:relative;min-height:100vh}h1, h2, h3, h4, h5, h6, dl, dd, ol, ul, menu, figure, blockquote, p, pre, form{margin:0}menu, ol, ul{padding:0;list-style:none;list-style-image:none}main{display:block}a{color:inherit;text-decoration:none}a, button, input{-webkit-tap-highlight-color:transparent}img, svg{vertical-align:middle}button{background:transparent;overflow:visible}button, input, optgroup, select, textarea{margin:0}:root{--reach-tabs:1;--reach-menu-button:1}#speechify-root{font-family:Sohne, sans-serif}div[data-popper-reference-hidden="true"]{visibility:hidden;pointer-events:none}.grecaptcha-badge{visibility:hidden} /*XCode style (c) Angel Garcia <angelgarcia.mail@gmail.com>*/.hljs {background: #fff;color: black; }/* Gray DOCTYPE selectors like WebKit */ .xml .hljs-meta {color: #c0c0c0; }.hljs-comment, .hljs-quote {color: #007400; }.hljs-tag, .hljs-attribute, .hljs-keyword, .hljs-selector-tag, .hljs-literal, .hljs-name {color: #aa0d91; }.hljs-variable, .hljs-template-variable {color: #3F6E74; }.hljs-code, .hljs-string, .hljs-meta .hljs-string {color: #c41a16; }.hljs-regexp, .hljs-link {color: #0E0EFF; }.hljs-title, .hljs-symbol, .hljs-bullet, .hljs-number {color: #1c00cf; }.hljs-section, .hljs-meta {color: #643820; }.hljs-title.class_, .hljs-class .hljs-title, .hljs-type, .hljs-built_in, .hljs-params {color: #5c2699; }.hljs-attr {color: #836C28; }.hljs-subst {color: #000; }.hljs-formula {background-color: #eee;font-style: italic; }.hljs-addition {background-color: #baeeba; }.hljs-deletion {background-color: #ffc8bd; }.hljs-selector-id, .hljs-selector-class {color: #9b703f; }.hljs-doctag, .hljs-strong {font-weight: bold; }.hljs-emphasis {font-style: italic; } </style><style type="text/css" data-fela-rehydration="550" data-fela-type="KEYFRAME">@-webkit-keyframes k1{0%{opacity:0.8}50%{opacity:0.5}100%{opacity:0.8}}@-moz-keyframes k1{0%{opacity:0.8}50%{opacity:0.5}100%{opacity:0.8}}@keyframes k1{0%{opacity:0.8}50%{opacity:0.5}100%{opacity:0.8}}</style><style type="text/css" data-fela-rehydration="550" data-fela-type="RULE">.a{font-family:medium-content-sans-serif-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif}.b{font-weight:400}.c{background-color:rgba(255, 255, 255, 1)}.l{display:block}.m{position:sticky}.n{top:0}.o{z-index:500}.p{padding:0 24px}.q{align-items:center}.r{border-bottom:solid 1px #F2F2F2}.y{height:41px}.z{line-height:20px}.ab{display:flex}.ac{height:57px}.ae{flex:1 0 auto}.af{color:inherit}.ag{fill:inherit}.ah{font-size:inherit}.ai{border:inherit}.aj{font-family:inherit}.ak{letter-spacing:inherit}.al{font-weight:inherit}.am{padding:0}.an{margin:0}.ao{cursor:pointer}.ap:disabled{cursor:not-allowed}.aq:disabled{color:#6B6B6B}.ar:disabled{fill:#6B6B6B}.au{width:auto}.av path{fill:#242424}.aw{height:25px}.ax{margin-left:16px}.ay{border:none}.az{border-radius:20px}.ba{width:240px}.bb{background:#F9F9F9}.bc path{fill:#6B6B6B}.be{outline:none}.bf{font-family:sohne, "Helvetica Neue", Helvetica, Arial, sans-serif}.bg{font-size:14px}.bh{width:100%}.bi{padding:10px 20px 10px 0}.bj{background-color:transparent}.bk{color:#242424}.bl::placeholder{color:#6B6B6B}.bm{display:inline-block}.bn{margin-left:12px}.bo{margin-right:12px}.bp{border-radius:4px}.bq{margin-left:24px}.br{height:24px}.bx{background-color:#F9F9F9}.by{border-radius:50%}.bz{height:32px}.ca{width:32px}.cb{justify-content:center}.ch{max-width:680px}.ci{min-width:0}.cj{animation:k1 1.2s ease-in-out infinite}.ck{height:100vh}.cl{margin-bottom:16px}.cm{margin-top:48px}.cn{align-items:flex-start}.co{flex-direction:column}.cp{justify-content:space-between}.cq{margin-bottom:24px}.cw{width:80%}.cx{background-color:#F2F2F2}.dd{height:44px}.de{width:44px}.df{margin:auto 0}.dg{margin-bottom:4px}.dh{height:16px}.di{width:120px}.dj{width:80px}.dp{margin-bottom:8px}.dq{width:96%}.dr{width:98%}.ds{width:81%}.dt{margin-left:8px}.du{color:#6B6B6B}.dv{font-size:13px}.dw{height:100%}.ep{color:#FFFFFF}.eq{fill:#FFFFFF}.er{background:rgba(26, 137, 23, 1)}.es{border-color:rgba(26, 137, 23, 1)}.ew:disabled{cursor:inherit !important}.ex:disabled{opacity:0.3}.ey:disabled:hover{background:rgba(26, 137, 23, 1)}.ez:disabled:hover{border-color:rgba(26, 137, 23, 1)}.fa{border-radius:99em}.fb{border-width:1px}.fc{border-style:solid}.fd{box-sizing:border-box}.fe{text-decoration:none}.ff{text-align:center}.fi{margin-right:32px}.fj{position:relative}.fk{fill:#6B6B6B}.fn{background:transparent}.fo svg{margin-left:4px}.fp svg{fill:#6B6B6B}.fr{box-shadow:inset 0 0 0 1px rgba(0, 0, 0, 0.05)}.fs{position:absolute}.fz{margin:0 24px}.gd{background:rgba(255, 255, 255, 1)}.ge{border:1px solid #F2F2F2}.gf{box-shadow:0 1px 4px #F2F2F2}.gg{max-height:100vh}.gh{overflow-y:auto}.gi{left:0}.gj{top:calc(100vh + 100px)}.gk{bottom:calc(100vh + 100px)}.gl{width:10px}.gm{pointer-events:none}.gn{word-break:break-word}.go{word-wrap:break-word}.gp:after{display:block}.gq:after{content:""}.gr:after{clear:both}.gs{line-height:1.23}.gt{letter-spacing:0}.gu{font-style:normal}.gv{font-weight:700}.ia{align-items:baseline}.ib{width:48px}.ic{height:48px}.id{border:2px solid rgba(255, 255, 255, 1)}.ie{z-index:0}.if{box-shadow:none}.ig{border:1px solid rgba(0, 0, 0, 0.05)}.ih{margin-left:-12px}.ii{width:28px}.ij{height:28px}.ik{z-index:1}.il{width:24px}.im{margin-bottom:2px}.in{flex-wrap:nowrap}.io{font-size:16px}.ip{line-height:24px}.ir{margin:0 8px}.is{display:inline}.it{color:rgba(26, 137, 23, 1)}.iu{fill:rgba(26, 137, 23, 1)}.ix{flex:0 0 auto}.ja{flex-wrap:wrap}.jd{white-space:pre-wrap}.je{margin-right:4px}.jf{overflow:hidden}.jg{max-height:20px}.jh{text-overflow:ellipsis}.ji{display:-webkit-box}.jj{-webkit-line-clamp:1}.jk{-webkit-box-orient:vertical}.jl{word-break:break-all}.jn{padding-left:8px}.jo{padding-right:8px}.kp> *{flex-shrink:0}.kq{overflow-x:scroll}.kr::-webkit-scrollbar{display:none}.ks{scrollbar-width:none}.kt{-ms-overflow-style:none}.ku{width:74px}.kv{flex-direction:row}.kw{z-index:2}.kz{-webkit-user-select:none}.la{border:0}.lb{fill:rgba(117, 117, 117, 1)}.le{outline:0}.lf{user-select:none}.lg> svg{pointer-events:none}.lp{cursor:progress}.lq{opacity:1}.lr{padding:4px 0}.lu{margin-top:0px}.lv{width:16px}.lx{display:inline-flex}.md{max-width:100%}.me{padding:8px 2px}.mf svg{color:#6B6B6B}.mw{clear:both}.nc{height:auto}.nd{line-height:1.58}.ne{letter-spacing:-0.004em}.nf{font-family:source-serif-pro, Georgia, Cambria, "Times New Roman", Times, serif}.oa{margin-bottom:-0.46em}.ob{font-style:italic}.oc{margin-left:auto}.od{margin-right:auto}.oe{max-width:676px}.ok{margin-top:32px}.ol{margin-bottom:14px}.om{padding-top:24px}.on{padding-bottom:10px}.oo{background-color:#000000}.op{height:3px}.oq{width:3px}.or{margin-right:20px}.os{line-height:1.12}.ot{letter-spacing:-0.022em}.ou{font-weight:600}.pp{margin-bottom:-0.28em}.pv{list-style-type:disc}.pw{margin-left:30px}.px{padding-left:0px}.qi{list-style-type:decimal}.qj{max-width:516px}.qk{margin:auto}.ql{padding-bottom:50%}.qm{height:0}.qn{margin-bottom:26px}.qo{margin-top:6px}.qp{margin-top:8px}.qq{margin-right:8px}.qr{padding:8px 16px}.qs{border-radius:100px}.qt{transition:background 300ms ease}.qv{white-space:nowrap}.qw{border-top:none}.qx{height:52px}.qy{max-height:52px}.qz{box-sizing:content-box}.ra{position:static}.rc{max-width:155px}.rn{height:0px}.ro{margin-bottom:40px}.rp{margin-bottom:48px}.sd{border-radius:2px}.sf{height:64px}.sg{width:64px}.sh{align-self:flex-end}.si{flex:1 1 auto}.so{padding-right:4px}.sp{font-weight:500}.tc{margin-top:16px}.td{color:rgba(255, 255, 255, 1)}.te{fill:rgba(255, 255, 255, 1)}.tf{background:rgba(25, 25, 25, 1)}.tg{border-color:rgba(25, 25, 25, 1)}.tj:disabled{opacity:0.1}.tk:disabled:hover{background:rgba(25, 25, 25, 1)}.tl:disabled:hover{border-color:rgba(25, 25, 25, 1)}.tm{margin-bottom:54px}.ts{gap:18px}.tt{fill:rgba(61, 61, 61, 1)}.ua{border-bottom:solid 1px #E5E5E5}.ub{margin-top:72px}.uc{padding:24px 0}.ud{margin-bottom:0px}.ue{margin-right:16px}.as:hover:not(:disabled){color:rgba(25, 25, 25, 1)}.at:hover:not(:disabled){fill:rgba(25, 25, 25, 1)}.et:hover{background:rgba(15, 115, 12, 1)}.eu:hover{border-color:rgba(15, 115, 12, 1)}.ev:hover{cursor:pointer}.fl:hover{color:#242424}.fm:hover{fill:#242424}.fq:hover svg{fill:#242424}.ft:hover{background-color:rgba(0, 0, 0, 0.1)}.iq:hover{text-decoration:underline}.iv:hover:not(:disabled){color:rgba(15, 115, 12, 1)}.iw:hover:not(:disabled){fill:rgba(15, 115, 12, 1)}.ld:hover{fill:rgba(8, 8, 8, 1)}.ls:hover{fill:#000000}.lt:hover p{color:#000000}.lw:hover{color:#000000}.mg:hover svg{color:#000000}.qu:hover{background-color:#F2F2F2}.se:hover{background-color:none}.th:hover{background:#000000}.ti:hover{border-color:#242424}.tu:hover{fill:rgba(25, 25, 25, 1)}.bd:focus-within path{fill:#242424}.lc:focus{fill:rgba(8, 8, 8, 1)}.mh:focus svg{color:#000000}.lh:active{border-style:none}</style><style type="text/css" data-fela-rehydration="550" data-fela-type="RULE" media="all and (min-width: 1080px)">.d{display:none}.bw{width:64px}.cg{margin:0 64px}.cv{height:48px}.dc{margin-bottom:52px}.do{margin-bottom:48px}.ef{font-size:14px}.eg{line-height:20px}.em{font-size:13px}.eo{padding:5px 12px}.fh{display:flex}.fy{margin-bottom:68px}.gc{max-width:680px}.hq{font-size:42px}.hr{margin-top:1.19em}.hs{margin-bottom:32px}.ht{line-height:52px}.hu{letter-spacing:-0.011em}.hz{align-items:center}.kb{border-top:solid 1px #F2F2F2}.kc{border-bottom:solid 1px #F2F2F2}.kd{margin:32px 0 0}.ke{padding:3px 8px}.kn> *{margin-right:24px}.ko> :last-child{margin-right:0}.lo{margin-top:0px}.mc{margin:0}.nb{margin-top:40px}.nw{font-size:20px}.nx{margin-top:2.14em}.ny{line-height:32px}.nz{letter-spacing:-0.003em}.oj{margin-top:56px}.pl{font-size:24px}.pm{margin-top:1.95em}.pn{line-height:30px}.po{letter-spacing:-0.016em}.pu{margin-top:0.94em}.qc{margin-top:1.14em}.qh{margin-top:1.25em}.rh{display:inline-block}.rm{margin-bottom:104px}.rq{flex-direction:row}.rt{margin-bottom:0}.ru{margin-right:20px}.sj{max-width:500px}.ta{line-height:24px}.tb{letter-spacing:0}.tr{margin-bottom:72px}.tz{padding-top:72px}</style><style type="text/css" data-fela-rehydration="550" data-fela-type="RULE" media="all and (max-width: 1079.98px)">.e{display:none}.ln{margin-top:0px}.rg{display:inline-block}</style><style type="text/css" data-fela-rehydration="550" data-fela-type="RULE" media="all and (max-width: 903.98px)">.f{display:none}.lm{margin-top:0px}.rf{display:inline-block}</style><style type="text/css" data-fela-rehydration="550" data-fela-type="RULE" media="all and (max-width: 727.98px)">.g{display:none}.lk{margin-top:0px}.ll{margin-right:0px}.re{display:inline-block}</style><style type="text/css" data-fela-rehydration="550" data-fela-type="RULE" media="all and (max-width: 551.98px)">.h{display:none}.s{display:flex}.t{justify-content:space-between}.bs{width:24px}.cc{margin:0 24px}.cr{height:40px}.cy{margin-bottom:44px}.dk{margin-bottom:32px}.dx{font-size:13px}.dy{line-height:20px}.eh{padding:0px 8px 1px}.fu{margin-bottom:4px}.gw{font-size:32px}.gx{margin-top:1.01em}.gy{margin-bottom:24px}.gz{line-height:38px}.ha{letter-spacing:-0.014em}.hv{align-items:flex-start}.iy{flex-direction:column}.jb{margin-bottom:2px}.jp{margin:24px -24px 0}.jq{padding:0}.kf> *{margin-right:8px}.kg> :last-child{margin-right:24px}.kx{margin-left:0px}.li{margin-top:0px}.lj{margin-right:0px}.ly{margin:0}.mi{border:1px solid #F2F2F2}.mj{border-radius:99em}.mk{padding:0px 16px 0px 12px}.ml{height:38px}.mm{align-items:center}.mo svg{margin-right:8px}.mx{margin-top:32px}.ng{font-size:18px}.nh{margin-top:1.56em}.ni{line-height:28px}.nj{letter-spacing:-0.003em}.of{margin-top:40px}.ov{font-size:20px}.ow{margin-top:1.2em}.ox{line-height:24px}.oy{letter-spacing:0}.pq{margin-top:0.67em}.py{margin-top:1.34em}.qd{margin-top:0.93em}.rd{display:inline-block}.ri{margin-bottom:96px}.sb{margin-bottom:20px}.sc{margin-right:0}.sn{max-width:100%}.sq{font-size:24px}.sr{line-height:30px}.ss{letter-spacing:-0.016em}.tn{margin-bottom:64px}.tv{padding-top:48px}.mn:hover{border-color:#E5E5E5}</style><style type="text/css" data-fela-rehydration="550" data-fela-type="RULE" media="all and (min-width: 904px) and (max-width: 1079.98px)">.i{display:none}.bv{width:64px}.cf{margin:0 64px}.cu{height:48px}.db{margin-bottom:52px}.dn{margin-bottom:48px}.ed{font-size:14px}.ee{line-height:20px}.ek{font-size:13px}.el{padding:5px 12px}.fg{display:flex}.fx{margin-bottom:68px}.gb{max-width:680px}.hl{font-size:42px}.hm{margin-top:1.19em}.hn{margin-bottom:32px}.ho{line-height:52px}.hp{letter-spacing:-0.011em}.hy{align-items:center}.jx{border-top:solid 1px #F2F2F2}.jy{border-bottom:solid 1px #F2F2F2}.jz{margin:32px 0 0}.ka{padding:3px 8px}.kl> *{margin-right:24px}.km> :last-child{margin-right:0}.mb{margin:0}.na{margin-top:40px}.ns{font-size:20px}.nt{margin-top:2.14em}.nu{line-height:32px}.nv{letter-spacing:-0.003em}.oi{margin-top:56px}.ph{font-size:24px}.pi{margin-top:1.95em}.pj{line-height:30px}.pk{letter-spacing:-0.016em}.pt{margin-top:0.94em}.qb{margin-top:1.14em}.qg{margin-top:1.25em}.rl{margin-bottom:104px}.rr{flex-direction:row}.rv{margin-bottom:0}.rw{margin-right:20px}.sk{max-width:500px}.sy{line-height:24px}.sz{letter-spacing:0}.tq{margin-bottom:72px}.ty{padding-top:72px}</style><style type="text/css" data-fela-rehydration="550" data-fela-type="RULE" media="all and (min-width: 728px) and (max-width: 903.98px)">.j{display:none}.w{display:flex}.x{justify-content:space-between}.bu{width:64px}.ce{margin:0 48px}.ct{height:48px}.da{margin-bottom:52px}.dm{margin-bottom:48px}.eb{font-size:13px}.ec{line-height:20px}.ej{padding:0px 8px 1px}.fw{margin-bottom:68px}.ga{max-width:680px}.hg{font-size:42px}.hh{margin-top:1.19em}.hi{margin-bottom:32px}.hj{line-height:52px}.hk{letter-spacing:-0.011em}.hx{align-items:center}.jt{border-top:solid 1px #F2F2F2}.ju{border-bottom:solid 1px #F2F2F2}.jv{margin:32px 0 0}.jw{padding:3px 8px}.kj> *{margin-right:24px}.kk> :last-child{margin-right:0}.ma{margin:0}.mz{margin-top:40px}.no{font-size:20px}.np{margin-top:2.14em}.nq{line-height:32px}.nr{letter-spacing:-0.003em}.oh{margin-top:56px}.pd{font-size:24px}.pe{margin-top:1.95em}.pf{line-height:30px}.pg{letter-spacing:-0.016em}.ps{margin-top:0.94em}.qa{margin-top:1.14em}.qf{margin-top:1.25em}.rk{margin-bottom:104px}.rs{flex-direction:row}.rx{margin-bottom:0}.ry{margin-right:20px}.sl{max-width:500px}.sw{line-height:24px}.sx{letter-spacing:0}.tp{margin-bottom:72px}.tx{padding-top:72px}</style><style type="text/css" data-fela-rehydration="550" data-fela-type="RULE" media="all and (min-width: 552px) and (max-width: 727.98px)">.k{display:none}.u{display:flex}.v{justify-content:space-between}.bt{width:24px}.cd{margin:0 24px}.cs{height:40px}.cz{margin-bottom:44px}.dl{margin-bottom:32px}.dz{font-size:13px}.ea{line-height:20px}.ei{padding:0px 8px 1px}.fv{margin-bottom:4px}.hb{font-size:32px}.hc{margin-top:1.01em}.hd{margin-bottom:24px}.he{line-height:38px}.hf{letter-spacing:-0.014em}.hw{align-items:flex-start}.iz{flex-direction:column}.jc{margin-bottom:2px}.jr{margin:24px 0 0}.js{padding:0}.kh> *{margin-right:8px}.ki> :last-child{margin-right:8px}.ky{margin-left:0px}.lz{margin:0}.mp{border:1px solid #F2F2F2}.mq{border-radius:99em}.mr{padding:0px 16px 0px 12px}.ms{height:38px}.mt{align-items:center}.mv svg{margin-right:8px}.my{margin-top:32px}.nk{font-size:18px}.nl{margin-top:1.56em}.nm{line-height:28px}.nn{letter-spacing:-0.003em}.og{margin-top:40px}.oz{font-size:20px}.pa{margin-top:1.2em}.pb{line-height:24px}.pc{letter-spacing:0}.pr{margin-top:0.67em}.pz{margin-top:1.34em}.qe{margin-top:0.93em}.rj{margin-bottom:96px}.rz{margin-bottom:20px}.sa{margin-right:0}.sm{max-width:100%}.st{font-size:24px}.su{line-height:30px}.sv{letter-spacing:-0.016em}.to{margin-bottom:64px}.tw{padding-top:48px}.mu:hover{border-color:#E5E5E5}</style><style type="text/css" data-fela-rehydration="550" data-fela-type="RULE" media="print">.rb{display:none}</style><style type="text/css" data-fela-rehydration="550" data-fela-type="RULE" media="(orientation: landscape) and (max-width: 903.98px)">.jm{max-height:none}</style></head><body><div id="root"><div class="a b c"><div class="d e f g h i j k"></div><script>document.domain = document.domain;</script><div class="l c"><div class="l m n o c"><div class="p q r s t u v w x i d y z"><a class="du ag dv bf ak b am an ao ap aq ar as at s u w i d q dw z" href="https://rsci.app.link/?%24canonical_url=https%3A%2F%2Fmedium.com%2Fp%2Faabe62145128&%7Efeature=LoOpenInAppButton&%7Echannel=ShowPostUnderCollection&source=---top_nav_layout_nav----------------------------------" rel="noopener follow">Open in app<svg xmlns="http://www.w3.org/2000/svg" width="10" height="10" fill="none" viewBox="0 0 10 10" class="dt"><path fill="currentColor" d="M.985 8.485a.375.375 0 1 0 .53.53zM8.75 1.25h.375A.375.375 0 0 0 8.75.875zM8.375 6.5a.375.375 0 1 0 .75 0zM3.5.875a.375.375 0 1 0 0 .75zm-1.985 8.14 7.5-7.5-.53-.53-7.5 7.5zm6.86-7.765V6.5h.75V1.25zM3.5 1.625h5.25v-.75H3.5z"></path></svg></a><div class="ab q"><p class="bf b dx dy dz ea eb ec ed ee ef eg du"><span><button class="bf b dx dy eh dz ea ei eb ec ej ek ee el em eg eo ep eq er es et eu ev ew ex ey ez fa fb fc fd bm fe ff" data-testid="headerSignUpButton">Sign up</button></span></p><div class="ax l"><p class="bf b dx dy dz ea eb ec ed ee ef eg du"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" data-testid="headerSignInButton" rel="noopener follow" href="/m/signin?operation=login&redirect=https%3A%2F%2Fmedium.com%2Foracledevs%2Fdemystifying-blockchain-and-consensus-mechanisms-everything-you-wanted-to-know-but-were-never-aabe62145128&source=post_page---top_nav_layout_nav-----------------------global_nav-----------">Sign in</a></span></p></div></div></div><div class="p q r ab ac"><div class="ab q ae"><a class="af ag ah ai aj ak al am an ao ap aq ar as at ab" aria-label="Homepage" data-testid="headerMediumLogo" rel="noopener follow" href="/?source=---top_nav_layout_nav----------------------------------"><svg xmlns="http://www.w3.org/2000/svg" width="719" height="160" fill="none" viewBox="0 0 719 160" class="au av aw"><path fill="#242424" d="m174.104 9.734.215-.047V8.02H130.39L89.6 103.89 48.81 8.021H1.472v1.666l.212.047c8.018 1.81 12.09 4.509 12.09 14.242V137.93c0 9.734-4.087 12.433-12.106 14.243l-.212.047v1.671h32.118v-1.665l-.213-.048c-8.018-1.809-12.089-4.509-12.089-14.242V30.586l52.399 123.305h2.972l53.925-126.743V140.75c-.687 7.688-4.721 10.062-11.982 11.701l-.215.05v1.652h55.948v-1.652l-.215-.05c-7.269-1.639-11.4-4.013-12.087-11.701l-.037-116.774h.037c0-9.733 4.071-12.432 12.087-14.242m25.555 75.488c.915-20.474 8.268-35.252 20.606-35.507 3.806.063 6.998 1.312 9.479 3.714 5.272 5.118 7.751 15.812 7.368 31.793zm-.553 5.77h65.573v-.275c-.186-15.656-4.721-27.834-13.466-36.196-7.559-7.227-18.751-11.203-30.507-11.203h-.263c-6.101 0-13.584 1.48-18.909 4.16-6.061 2.807-11.407 7.003-15.855 12.511-7.161 8.874-11.499 20.866-12.554 34.343q-.05.606-.092 1.212a50 50 0 0 0-.065 1.151 85.807 85.807 0 0 0-.094 5.689c.71 30.524 17.198 54.917 46.483 54.917 25.705 0 40.675-18.791 44.407-44.013l-1.886-.664c-6.557 13.556-18.334 21.771-31.738 20.769-18.297-1.369-32.314-19.922-31.042-42.395m139.722 41.359c-2.151 5.101-6.639 7.908-12.653 7.908s-11.513-4.129-15.418-11.63c-4.197-8.053-6.405-19.436-6.405-32.92 0-28.067 8.729-46.22 22.24-46.22 5.657 0 10.111 2.807 12.236 7.704zm43.499 20.008c-8.019-1.897-12.089-4.722-12.089-14.951V1.309l-48.716 14.353v1.757l.299-.024c6.72-.543 11.278.386 13.925 2.83 2.072 1.915 3.082 4.853 3.082 8.987v18.66c-4.803-3.067-10.516-4.56-17.448-4.56-14.059 0-26.909 5.92-36.176 16.672-9.66 11.205-14.767 26.518-14.767 44.278-.003 31.72 15.612 53.039 38.851 53.039 13.595 0 24.533-7.449 29.54-20.013v16.865h43.711v-1.746zM424.1 19.819c0-9.904-7.468-17.374-17.375-17.374-9.859 0-17.573 7.632-17.573 17.374s7.721 17.374 17.573 17.374c9.907 0 17.375-7.47 17.375-17.374m11.499 132.546c-8.019-1.897-12.089-4.722-12.089-14.951h-.035V43.635l-43.714 12.551v1.705l.263.024c9.458.842 12.047 4.1 12.047 15.152v81.086h43.751v-1.746zm112.013 0c-8.018-1.897-12.089-4.722-12.089-14.951V43.635l-41.621 12.137v1.71l.246.026c7.733.813 9.967 4.257 9.967 15.36v59.279c-2.578 5.102-7.415 8.131-13.274 8.336-9.503 0-14.736-6.419-14.736-18.073V43.638l-43.714 12.55v1.703l.262.024c9.459.84 12.05 4.097 12.05 15.152v50.17a56.3 56.3 0 0 0 .91 10.444l.787 3.423c3.701 13.262 13.398 20.197 28.59 20.197 12.868 0 24.147-7.966 29.115-20.43v17.311h43.714v-1.747zm169.818 1.788v-1.749l-.213-.05c-8.7-2.006-12.089-5.789-12.089-13.49v-63.79c0-19.89-11.171-31.761-29.883-31.761-13.64 0-25.141 7.882-29.569 20.16-3.517-13.01-13.639-20.16-28.606-20.16-13.146 0-23.449 6.938-27.869 18.657V43.643L545.487 55.68v1.715l.263.024c9.345.829 12.047 4.181 12.047 14.95v81.784h40.787v-1.746l-.215-.053c-6.941-1.631-9.181-4.606-9.181-12.239V66.998c1.836-4.289 5.537-9.37 12.853-9.37 9.086 0 13.692 6.296 13.692 18.697v77.828h40.797v-1.746l-.215-.053c-6.94-1.631-9.18-4.606-9.18-12.239V75.066a42 42 0 0 0-.578-7.26c1.947-4.661 5.86-10.177 13.475-10.177 9.214 0 13.691 6.114 13.691 18.696v77.828z"></path></svg></a><div class="ax h"><div class="ab ay az ba bb q bc bd"><div class="bm" aria-hidden="false" aria-describedby="searchResults" aria-labelledby="searchResults"></div><div class="bn bo ab"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="M4.092 11.06a6.95 6.95 0 1 1 13.9 0 6.95 6.95 0 0 1-13.9 0m6.95-8.05a8.05 8.05 0 1 0 5.13 14.26l3.75 3.75a.56.56 0 1 0 .79-.79l-3.73-3.73A8.05 8.05 0 0 0 11.042 3z" clip-rule="evenodd"></path></svg></div><input role="combobox" aria-controls="searchResults" aria-expanded="false" aria-label="search" data-testid="headerSearchInput" tabindex="0" class="ay be bf bg z bh bi bj bk bl" placeholder="Search" value=""/></div></div></div><div class="h k w fg fh"><div class="fi ab"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" data-testid="headerWriteButton" rel="noopener follow" href="/m/signin?operation=register&redirect=https%3A%2F%2Fmedium.com%2Fnew-story&source=---top_nav_layout_nav-----------------------new_post_topnav-----------"><div class="bf b bg z du fj fk ab q fl fm"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24" aria-label="Write"><path fill="currentColor" d="M14 4a.5.5 0 0 0 0-1zm7 6a.5.5 0 0 0-1 0zm-7-7H4v1h10zM3 4v16h1V4zm1 17h16v-1H4zm17-1V10h-1v10zm-1 1a1 1 0 0 0 1-1h-1zM3 20a1 1 0 0 0 1 1v-1zM4 3a1 1 0 0 0-1 1h1z"></path><path stroke="currentColor" d="m17.5 4.5-8.458 8.458a.25.25 0 0 0-.06.098l-.824 2.47a.25.25 0 0 0 .316.316l2.47-.823a.25.25 0 0 0 .098-.06L19.5 6.5m-2-2 2.323-2.323a.25.25 0 0 1 .354 0l1.646 1.646a.25.25 0 0 1 0 .354L19.5 6.5m-2-2 2 2"></path></svg><div class="dt l">Write</div></div></a></span></div></div><div class="k j i d"><div class="fi ab"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" data-testid="headerSearchButton" rel="noopener follow" href="/search?source=---top_nav_layout_nav----------------------------------"><div class="bf b bg z du fj fk ab q fl fm"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24" aria-label="Search"><path fill="currentColor" fill-rule="evenodd" d="M4.092 11.06a6.95 6.95 0 1 1 13.9 0 6.95 6.95 0 0 1-13.9 0m6.95-8.05a8.05 8.05 0 1 0 5.13 14.26l3.75 3.75a.56.56 0 1 0 .79-.79l-3.73-3.73A8.05 8.05 0 0 0 11.042 3z" clip-rule="evenodd"></path></svg></div></a></div></div><div class="fi h k j"><div class="ab q"><p class="bf b dx dy dz ea eb ec ed ee ef eg du"><span><button class="bf b dx dy eh dz ea ei eb ec ej ek ee el em eg eo ep eq er es et eu ev ew ex ey ez fa fb fc fd bm fe ff" data-testid="headerSignUpButton">Sign up</button></span></p><div class="ax l"><p class="bf b dx dy dz ea eb ec ed ee ef eg du"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" data-testid="headerSignInButton" rel="noopener follow" href="/m/signin?operation=login&redirect=https%3A%2F%2Fmedium.com%2Foracledevs%2Fdemystifying-blockchain-and-consensus-mechanisms-everything-you-wanted-to-know-but-were-never-aabe62145128&source=post_page---top_nav_layout_nav-----------------------global_nav-----------">Sign in</a></span></p></div></div></div><div class="l" aria-hidden="false"><button class="ay fn am ab q ao fo fp fq" aria-label="user options menu" data-testid="headerUserIcon"><div class="l fj"><img alt="" class="l fd by bz ca cx" src="https://miro.medium.com/v2/resize:fill:64:64/1*dmbNkD5D-u45r44go_cf0g.png" width="32" height="32" loading="lazy" role="presentation"/><div class="fr by l bz ca fs n ay ft"></div></div></button></div></div></div><div class="l"><div class="fu fv fw fx fy l"><div class="ab cb"><div class="ci bh fz ga gb gc"></div></div><article><div class="l"><div class="l"><span class="l"></span><section><div><div class="fs gi gj gk gl gm"></div><div class="gn go gp gq gr"><div class="ab cb"><div class="ci bh fz ga gb gc"><div><h1 id="6515" class="pw-post-title gs gt gu bf gv gw gx gy gz ha hb hc hd he hf hg hh hi hj hk hl hm hn ho hp hq hr hs ht hu bk" data-testid="storyTitle">Demystifying Blockchain and Consensus Mechanisms — Everything You Wanted to Know But Were Never Told</h1><div><div class="speechify-ignore ab cp"><div class="speechify-ignore bh l"><div class="hv hw hx hy hz ab"><div><div class="ab ia"><div><div class="bm" aria-hidden="false"><a rel="noopener follow" href="/@aboavent.ab?source=post_page---byline--aabe62145128--------------------------------"><div class="l ib ic by id ie"><div class="l fj"><img alt="Andre Boaventura" class="l fd by dd de cx" src="https://miro.medium.com/v2/resize:fill:88:88/0*gZCVwYxVCou_WqDy." width="44" height="44" loading="lazy" data-testid="authorPhoto"/><div class="if by l dd de fs n ig ft"></div></div></div></a></div></div><div class="ih ab fj"><div><div class="bm" aria-hidden="false"><a href="https://medium.com/oracledevs?source=post_page---byline--aabe62145128--------------------------------" rel="noopener follow"><div class="l ii ij by id ik"><div class="l fj"><img alt="Oracle Developers" class="l fd by br il cx" src="https://miro.medium.com/v2/resize:fill:48:48/1*RS7-qSTx76xpN2FcHDppBw.jpeg" width="24" height="24" loading="lazy" data-testid="publicationPhoto"/><div class="if by l br il fs n ig ft"></div></div></div></a></div></div></div></div></div><div class="bn bh l"><div class="ab"><div style="flex:1"><span class="bf b bg z bk"><div class="im ab q"><div class="ab q in"><div class="ab q"><div><div class="bm" aria-hidden="false"><p class="bf b io ip bk"><a class="af ag ah ai aj ak al am an ao ap aq ar iq" data-testid="authorName" rel="noopener follow" href="/@aboavent.ab?source=post_page---byline--aabe62145128--------------------------------">Andre Boaventura</a></p></div></div></div><span class="ir is" aria-hidden="true"><span class="bf b bg z du">·</span></span><p class="bf b io ip du"><span><a class="it iu ah ai aj ak al am an ao ap aq ar ex iv iw" rel="noopener follow" href="/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fsubscribe%2Fuser%2Fd4fadefb996c&operation=register&redirect=https%3A%2F%2Fmedium.com%2Foracledevs%2Fdemystifying-blockchain-and-consensus-mechanisms-everything-you-wanted-to-know-but-were-never-aabe62145128&user=Andre+Boaventura&userId=d4fadefb996c&source=post_page-d4fadefb996c--byline--aabe62145128---------------------post_header-----------">Follow</a></span></p></div></div></span></div></div><div class="l ix"><span class="bf b bg z du"><div class="ab cn iy iz ja"><div class="jb jc ab"><div class="bf b bg z du ab jd"><span class="je l ix">Published in</span><div><div class="l" aria-hidden="false"><a class="af ag ah ai aj ak al am an ao ap aq ar iq ab q" data-testid="publicationName" href="https://medium.com/oracledevs?source=post_page---byline--aabe62145128--------------------------------" rel="noopener follow"><p class="bf b bg z jf jg jh ji jj jk jl jm bk">Oracle Developers</p></a></div></div></div><div class="h k"><span class="ir is" aria-hidden="true"><span class="bf b bg z du">·</span></span></div></div><span class="bf b bg z du"><div class="ab ae"><span data-testid="storyReadTime">20 min read</span><div class="jn jo l" aria-hidden="true"><span class="l" aria-hidden="true"><span class="bf b bg z du">·</span></span></div><span data-testid="storyPublishDate">Apr 12, 2018</span></div></span></div></span></div></div></div><div class="ab cp jp jq jr js jt ju jv jw jx jy jz ka kb kc kd ke"><div class="h k w fg fh q"><div class="ku l"><div class="ab q kv kw"><div class="pw-multi-vote-icon fj je kx ky kz"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" data-testid="headerClapButton" rel="noopener follow" href="/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Foracledevs%2Faabe62145128&operation=register&redirect=https%3A%2F%2Fmedium.com%2Foracledevs%2Fdemystifying-blockchain-and-consensus-mechanisms-everything-you-wanted-to-know-but-were-never-aabe62145128&user=Andre+Boaventura&userId=d4fadefb996c&source=---header_actions--aabe62145128---------------------clap_footer-----------"><div><div class="bm" aria-hidden="false"><div class="la ao lb lc ld le am lf lg lh kz"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-label="clap"><path fill-rule="evenodd" d="M11.37.828 12 3.282l.63-2.454zM13.916 3.953l1.523-2.112-1.184-.39zM8.589 1.84l1.522 2.112-.337-2.501zM18.523 18.92c-.86.86-1.75 1.246-2.62 1.33a6 6 0 0 0 .407-.372c2.388-2.389 2.86-4.951 1.399-7.623l-.912-1.603-.79-1.672c-.26-.56-.194-.98.203-1.288a.7.7 0 0 1 .546-.132c.283.046.546.231.728.5l2.363 4.157c.976 1.624 1.141 4.237-1.324 6.702m-10.999-.438L3.37 14.328a.828.828 0 0 1 .585-1.408.83.83 0 0 1 .585.242l2.158 2.157a.365.365 0 0 0 .516-.516l-2.157-2.158-1.449-1.449a.826.826 0 0 1 1.167-1.17l3.438 3.44a.363.363 0 0 0 .516 0 .364.364 0 0 0 0-.516L5.293 9.513l-.97-.97a.826.826 0 0 1 0-1.166.84.84 0 0 1 1.167 0l.97.968 3.437 3.436a.36.36 0 0 0 .517 0 .366.366 0 0 0 0-.516L6.977 7.83a.82.82 0 0 1-.241-.584.82.82 0 0 1 .824-.826c.219 0 .43.087.584.242l5.787 5.787a.366.366 0 0 0 .587-.415l-1.117-2.363c-.26-.56-.194-.98.204-1.289a.7.7 0 0 1 .546-.132c.283.046.545.232.727.501l2.193 3.86c1.302 2.38.883 4.59-1.277 6.75-1.156 1.156-2.602 1.627-4.19 1.367-1.418-.236-2.866-1.033-4.079-2.246M10.75 5.971l2.12 2.12c-.41.502-.465 1.17-.128 1.89l.22.465-3.523-3.523a.8.8 0 0 1-.097-.368c0-.22.086-.428.241-.584a.847.847 0 0 1 1.167 0m7.355 1.705c-.31-.461-.746-.758-1.23-.837a1.44 1.44 0 0 0-1.11.275c-.312.24-.505.543-.59.881a1.74 1.74 0 0 0-.906-.465 1.47 1.47 0 0 0-.82.106l-2.182-2.182a1.56 1.56 0 0 0-2.2 0 1.54 1.54 0 0 0-.396.701 1.56 1.56 0 0 0-2.21-.01 1.55 1.55 0 0 0-.416.753c-.624-.624-1.649-.624-2.237-.037a1.557 1.557 0 0 0 0 2.2c-.239.1-.501.238-.715.453a1.56 1.56 0 0 0 0 2.2l.516.515a1.556 1.556 0 0 0-.753 2.615L7.01 19c1.32 1.319 2.909 2.189 4.475 2.449q.482.08.971.08c.85 0 1.653-.198 2.393-.579.231.033.46.054.686.054 1.266 0 2.457-.52 3.505-1.567 2.763-2.763 2.552-5.734 1.439-7.586z" clip-rule="evenodd"></path></svg></div></div></div></a></span></div><div class="pw-multi-vote-count l li lj lk ll lm ln lo"><p class="bf b dv z du"><span class="lp">--</span></p></div></div></div><div><div class="bm" aria-hidden="false"><button class="ao la lq lr ab q fk ls lt" aria-label="responses"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" class="lu"><path d="M18.006 16.803c1.533-1.456 2.234-3.325 2.234-5.321C20.24 7.357 16.709 4 12.191 4S4 7.357 4 11.482c0 4.126 3.674 7.482 8.191 7.482.817 0 1.622-.111 2.393-.327.231.2.48.391.744.559 1.06.693 2.203 1.044 3.399 1.044.224-.008.4-.112.486-.287a.49.49 0 0 0-.042-.518c-.495-.67-.845-1.364-1.04-2.057a4 4 0 0 1-.125-.598zm-3.122 1.055-.067-.223-.315.096a8 8 0 0 1-2.311.338c-4.023 0-7.292-2.955-7.292-6.587 0-3.633 3.269-6.588 7.292-6.588 4.014 0 7.112 2.958 7.112 6.593 0 1.794-.608 3.469-2.027 4.72l-.195.168v.255c0 .056 0 .151.016.295.025.231.081.478.154.733.154.558.398 1.117.722 1.659a5.3 5.3 0 0 1-2.165-.845c-.276-.176-.714-.383-.941-.59z"></path></svg></button></div></div></div><div class="ab q kf kg kh ki kj kk kl km kn ko kp kq kr ks kt"><div class="lv k j i d"></div><div class="h k"><div><div class="bm" aria-hidden="false"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" data-testid="headerBookmarkButton" rel="noopener follow" href="/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2Faabe62145128&operation=register&redirect=https%3A%2F%2Fmedium.com%2Foracledevs%2Fdemystifying-blockchain-and-consensus-mechanisms-everything-you-wanted-to-know-but-were-never-aabe62145128&source=---header_actions--aabe62145128---------------------bookmark_footer-----------"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="du lw" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div><div class="fd lx cn"><div class="l ae"><div class="ab cb"><div class="ly lz ma mb mc md ci bh"><div class="ab"><div class="bm bh" aria-hidden="false"><div><div class="bm" aria-hidden="false"><button aria-label="Listen" data-testid="audioPlayButton" class="af fk ah ai aj ak al me an ao ap ex mf mg lt mh mi mj mk ml s mm mn mo mp mq mr ms u mt mu mv"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="M3 12a9 9 0 1 1 18 0 9 9 0 0 1-18 0m9-10C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2m3.376 10.416-4.599 3.066a.5.5 0 0 1-.777-.416V8.934a.5.5 0 0 1 .777-.416l4.599 3.066a.5.5 0 0 1 0 .832" clip-rule="evenodd"></path></svg><div class="j i d"><p class="bf b bg z du">Listen</p></div></button></div></div></div></div></div></div></div></div><div class="bm" aria-hidden="false" aria-describedby="postFooterSocialMenu" aria-labelledby="postFooterSocialMenu"><div><div class="bm" aria-hidden="false"><button aria-controls="postFooterSocialMenu" aria-expanded="false" aria-label="Share Post" data-testid="headerSocialShareButton" class="af fk ah ai aj ak al me an ao ap ex mf mg lt mh mi mj mk ml s mm mn mo mp mq mr ms u mt mu mv"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="M15.218 4.931a.4.4 0 0 1-.118.132l.012.006a.45.45 0 0 1-.292.074.5.5 0 0 1-.3-.13l-2.02-2.02v7.07c0 .28-.23.5-.5.5s-.5-.22-.5-.5v-7.04l-2 2a.45.45 0 0 1-.57.04h-.02a.4.4 0 0 1-.16-.3.4.4 0 0 1 .1-.32l2.8-2.8a.5.5 0 0 1 .7 0l2.8 2.79a.42.42 0 0 1 .068.498m-.106.138.008.004v-.01zM16 7.063h1.5a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-11c-1.1 0-2-.9-2-2v-10a2 2 0 0 1 2-2H8a.5.5 0 0 1 .35.15.5.5 0 0 1 .15.35.5.5 0 0 1-.15.35.5.5 0 0 1-.35.15H6.4c-.5 0-.9.4-.9.9v10.2a.9.9 0 0 0 .9.9h11.2c.5 0 .9-.4.9-.9v-10.2c0-.5-.4-.9-.9-.9H16a.5.5 0 0 1 0-1" clip-rule="evenodd"></path></svg><div class="j i d"><p class="bf b bg z du">Share</p></div></button></div></div></div></div></div></div></div></div></div></div></div><div class="mw bh"><figure class="mx my mz na nb mw bh paragraph-image"><picture><source srcSet="https://miro.medium.com/v2/resize:fit:640/format:webp/1*u1F5V8Uq6wOEBzO8-DDolw.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/1*u1F5V8Uq6wOEBzO8-DDolw.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/1*u1F5V8Uq6wOEBzO8-DDolw.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/1*u1F5V8Uq6wOEBzO8-DDolw.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/1*u1F5V8Uq6wOEBzO8-DDolw.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/1*u1F5V8Uq6wOEBzO8-DDolw.jpeg 1100w, https://miro.medium.com/v2/resize:fit:4800/format:webp/1*u1F5V8Uq6wOEBzO8-DDolw.jpeg 4800w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 100vw" type="image/webp"/><source data-testid="og" srcSet="https://miro.medium.com/v2/resize:fit:640/1*u1F5V8Uq6wOEBzO8-DDolw.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/1*u1F5V8Uq6wOEBzO8-DDolw.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/1*u1F5V8Uq6wOEBzO8-DDolw.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/1*u1F5V8Uq6wOEBzO8-DDolw.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/1*u1F5V8Uq6wOEBzO8-DDolw.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/1*u1F5V8Uq6wOEBzO8-DDolw.jpeg 1100w, https://miro.medium.com/v2/resize:fit:4800/1*u1F5V8Uq6wOEBzO8-DDolw.jpeg 4800w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 100vw"/><img alt="" class="bh md nc c" width="2400" height="1900" loading="eager" role="presentation"/></picture></figure></div><div class="ab cb"><div class="ci bh fz ga gb gc"><p id="249b" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">It is likely that you’ve heard so far, many descriptions of what blockchain is, and that description probably is related somehow with money. Of course, this is not happening by chance, but actually due to many popular technologies such as Bitcoin, Ethereum, Ripple and many others currently available in the cryptocurrency marketplace, which have this solution based on DLT(<em class="ob">Distributed Ledger Technology</em>), as their core implementation foundation, which is the basis for trading cryptocurrencies and other assets through public & private markets. However, Blockchain technology goes much further than just cryptocurrencies. Today, blockchain is already adopted as part of many everyday B2B transactions, including those powered by enterprise applications such as ERPs, Supply Chain, Financial Services, Healthcare systems, etc, and the list is much longer than this one.</p><p id="90f7" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">The Blockchain is an undeniably ingenious invention — the brainchild of a person or group of people known by the pseudonym, Satoshi Nakamoto. But since then, it has evolved into something greater, and the main question every single person is asking is: <strong class="nf gv"><em class="ob">What is Blockchain?</em></strong></p><p id="1844" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">By definition,<strong class="nf gv"><em class="ob"> Blockchain</em></strong> is a continuously growing list of records, called blocks, which are linked and secured using cryptography. Each block typically contains a cryptographic hash of the previous block, a timestamp and transaction data. By design, a blockchain is inherently resistant to modification of the data. It is “an open, distributed ledger that can record transactions between two parties efficiently and in a verifiable and permanent way”. For use as a distributed ledger, a blockchain is typically managed by a peer-to-peer network collectively adhering to a protocol for validating new blocks. Once recorded, the data in any given block cannot be altered retroactively without the alteration of all subsequent blocks, which requires collusion of the network majority.</p><p id="b3e1" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">Generally speaking, a blockchain network is a system for maintaining distributed ledgers or facts and the history of the ledgers’ updates. This approach allows organizations that don’t fully trust each other to agree on the updates submitted to a shared ledger by using peer-to-peer protocols rather than a central third party or manual offline reconciliation process. Blockchain enables real-time transactions and securely shares tamper-proof data across a trusted business network.</p><figure class="of og oh oi oj mw oc od paragraph-image"><div class="oc od oe"><picture><source srcSet="https://miro.medium.com/v2/resize:fit:640/format:webp/0*E9zbDLM8buI59L03. 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/0*E9zbDLM8buI59L03. 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/0*E9zbDLM8buI59L03. 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/0*E9zbDLM8buI59L03. 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/0*E9zbDLM8buI59L03. 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/0*E9zbDLM8buI59L03. 1100w, https://miro.medium.com/v2/resize:fit:1352/format:webp/0*E9zbDLM8buI59L03. 1352w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 676px" type="image/webp"/><source data-testid="og" srcSet="https://miro.medium.com/v2/resize:fit:640/0*E9zbDLM8buI59L03. 640w, https://miro.medium.com/v2/resize:fit:720/0*E9zbDLM8buI59L03. 720w, https://miro.medium.com/v2/resize:fit:750/0*E9zbDLM8buI59L03. 750w, https://miro.medium.com/v2/resize:fit:786/0*E9zbDLM8buI59L03. 786w, https://miro.medium.com/v2/resize:fit:828/0*E9zbDLM8buI59L03. 828w, https://miro.medium.com/v2/resize:fit:1100/0*E9zbDLM8buI59L03. 1100w, https://miro.medium.com/v2/resize:fit:1352/0*E9zbDLM8buI59L03. 1352w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 676px"/><img alt="" class="bh md nc c" width="676" height="355" loading="eager" role="presentation"/></picture></div></figure></div></div></div><div class="ab cb ok ol om on" role="separator"><span class="oo by bm op oq or"></span><span class="oo by bm op oq or"></span><span class="oo by bm op oq"></span></div><div class="gn go gp gq gr"><div class="ab cb"><div class="ci bh fz ga gb gc"><p id="d6a8" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">There are essentially two types of Blockchain considering the access perspective:</p><h1 id="892b" class="os ot gu bf ou ov ow ox oy oz pa pb pc pd pe pf pg ph pi pj pk pl pm pn po pp bk">Permissionless</h1><p id="7930" class="pw-post-body-paragraph nd ne gu nf b ng pq ni nj nk pr nm nn no ps nq nr ns pt nu nv nw pu ny nz oa gn bk">Basically, anyone can read the chain, anyone can make legitimate changes and anyone can write a new block into the chain (as long as they follow the rules).</p><p id="f6aa" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">Bitcoin is by far the most popular example of a successful public blockchain network. It is totally decentralized. It is also described as a ‘censor-proof’ blockchain. Bitcoin and other cryptocurrencies such as Ethereum currently secure their blockchain by requiring new entries to include a proof of work. However, due to the way a public blockchain works, they require computer resource intensive mining process to add blocks cryptographically. Also, Consensus models based on computationally expensive algorithms requiring the processing power of many nodes to ensure security</p><p id="5131" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">The great advantage to an open, permissionless, or public, blockchain network is that guarding against bad actors is not required and no access control is needed. This means that applications can be added to the network without the approval or trust of others, using the blockchain as a transport layer.</p><p id="1ddf" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">For these reasons, it’s also known by its widest description, a public blockchain. But, obviously, this is not the only way to build a blockchain.</p><h1 id="4e7f" class="os ot gu bf ou ov ow ox oy oz pa pb pc pd pe pf pg ph pi pj pk pl pm pn po pp bk">Permissioned</h1><p id="8c2f" class="pw-post-body-paragraph nd ne gu nf b ng pq ni nj nk pr nm nn no ps nq nr ns pt nu nv nw pu ny nz oa gn bk">Essentially they are a closed ecosystem where members are invited to join and keep a copy of the ledger.<strong class="nf gv"> e.g.: </strong>(Hyperledger, R3 Corda). Permissioned blockchains use an access control layer to govern who has access to the network. In contrast to public blockchain networks, validators on private blockchain networks are vetted by the network owner.</p><p id="83e8" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">They do not rely on anonymous nodes to validate transactions nor do they benefit from the network effect, but they rely on something called consensus protocol, like bitcoin’s proof of work (the one we hear about most often), that does two basic things: it ensures that the next block in a blockchain is the one and only version of the truth, and it keeps powerful adversaries from derailing the system and successfully forking the chain.</p><p id="685e" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">Consensus protocol comprises of 3 basic steps:</p><ul class=""><li id="b7cf" class="nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa pv pw px bk"><strong class="nf gv">Endorsement</strong>: determine whether to accept or reject a transaction</li><li id="fe6c" class="nd ne gu nf b ng py ni nj nk pz nm nn no qa nq nr ns qb nu nv nw qc ny nz oa pv pw px bk"><strong class="nf gv">Ordering</strong>: sort all transactions within a time period into a sequence</li><li id="d4c6" class="nd ne gu nf b ng py ni nj nk pz nm nn no qa nq nr ns qb nu nv nw qc ny nz oa pv pw px bk"><strong class="nf gv">Validation</strong>: verify endorsement satisfy policy and Read set is valid</li></ul><p id="480e" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">Permissioned networks can also go by the name of <strong class="nf gv"><em class="ob">‘consortium’ or ‘hybrid’</em></strong> blockchains.</p></div></div></div><div class="ab cb ok ol om on" role="separator"><span class="oo by bm op oq or"></span><span class="oo by bm op oq or"></span><span class="oo by bm op oq"></span></div><div class="gn go gp gq gr"><div class="ab cb"><div class="ci bh fz ga gb gc"><figure class="of og oh oi oj mw oc od paragraph-image"><div class="oc od oe"><picture><source srcSet="https://miro.medium.com/v2/resize:fit:640/format:webp/0*aFj39Sc4goANVkUa. 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/0*aFj39Sc4goANVkUa. 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/0*aFj39Sc4goANVkUa. 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/0*aFj39Sc4goANVkUa. 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/0*aFj39Sc4goANVkUa. 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/0*aFj39Sc4goANVkUa. 1100w, https://miro.medium.com/v2/resize:fit:1352/format:webp/0*aFj39Sc4goANVkUa. 1352w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 676px" type="image/webp"/><source data-testid="og" srcSet="https://miro.medium.com/v2/resize:fit:640/0*aFj39Sc4goANVkUa. 640w, https://miro.medium.com/v2/resize:fit:720/0*aFj39Sc4goANVkUa. 720w, https://miro.medium.com/v2/resize:fit:750/0*aFj39Sc4goANVkUa. 750w, https://miro.medium.com/v2/resize:fit:786/0*aFj39Sc4goANVkUa. 786w, https://miro.medium.com/v2/resize:fit:828/0*aFj39Sc4goANVkUa. 828w, https://miro.medium.com/v2/resize:fit:1100/0*aFj39Sc4goANVkUa. 1100w, https://miro.medium.com/v2/resize:fit:1352/0*aFj39Sc4goANVkUa. 1352w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 676px"/><img alt="" class="bh md nc c" width="676" height="449" loading="eager" role="presentation"/></picture></div></figure><h1 id="be71" class="os ot gu bf ou ov ow ox oy oz pa pb pc pd pe pf pg ph pi pj pk pl pm pn po pp bk">Blockchain Consensus mechanisms</h1><p id="90e9" class="pw-post-body-paragraph nd ne gu nf b ng pq ni nj nk pr nm nn no ps nq nr ns pt nu nv nw pu ny nz oa gn bk">A blockchain is a decentralized peer-to-peer system with no central authority figure. While this creates a system that is devoid of corruption from a single source, it still creates a major problem.</p><ul class=""><li id="7789" class="nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa pv pw px bk">How are any decisions made?</li><li id="fde7" class="nd ne gu nf b ng py ni nj nk pz nm nn no qa nq nr ns qb nu nv nw qc ny nz oa pv pw px bk">How does anything get done?</li></ul><p id="d2b7" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">Think of a normal centralized organization. All the decisions are taken by the leader or a board of decision makers. This isn’t possible in a blockchain because a blockchain has no “leader”. For the blockchain to make decisions, they need to come to a consensus using “<strong class="nf gv">consensus mechanisms</strong>”.</p><p id="85d7" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">So, how do these <strong class="nf gv">consensus mechanisms</strong> work and why did we need them? What are some of the consensus mechanisms used in cryptocurrencies and in some Blockchain implementations such as Hyperledger? All these questions will be answered later on, however let’s understand how a consensus work prior to talk about some available implementations.</p><p id="f1ec" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">In simpler terms, consensus is a dynamic way of reaching agreement in a group. While voting just settles for a majority rule without any thought for the feelings and well-being of the minority, a consensus on the other hand makes sure that an agreement is reached which could benefit the entire group as a whole. A method by which consensus decision-making is achieved is called “<strong class="nf gv">consensus mechanism</strong>”.</p><p id="8684" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">So now that we have defined what a consensus is, let’s look at what the objectives of a consensus mechanism are:</p><ul class=""><li id="47ca" class="nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa pv pw px bk"><strong class="nf gv">Agreement Seeking</strong>: A consensus mechanism should bring about as much agreement from the group as possible.</li><li id="8ac2" class="nd ne gu nf b ng py ni nj nk pz nm nn no qa nq nr ns qb nu nv nw qc ny nz oa pv pw px bk"><strong class="nf gv">Collaborative</strong>: All the participants should aim to work together to achieve a result that puts the best interest of the group first.</li><li id="23f9" class="nd ne gu nf b ng py ni nj nk pz nm nn no qa nq nr ns qb nu nv nw qc ny nz oa pv pw px bk"><strong class="nf gv">Cooperative</strong>: All the participants shouldn’t put their own interests first and work as a team more than individuals.</li><li id="b471" class="nd ne gu nf b ng py ni nj nk pz nm nn no qa nq nr ns qb nu nv nw qc ny nz oa pv pw px bk"><strong class="nf gv">Egalitarian</strong>: A group trying to achieve consensus should be as egalitarian as possible. What this basically means that each and every vote has equal weight. One person’s vote can’t be more important than another’s.</li><li id="ddcc" class="nd ne gu nf b ng py ni nj nk pz nm nn no qa nq nr ns qb nu nv nw qc ny nz oa pv pw px bk"><strong class="nf gv">Inclusive</strong>: As many people as possible should be involved in the consensus process. It shouldn’t be like normal voting where people don’t really feel like voting because they believe that their vote won’t have any weight in the long run.</li><li id="d0cc" class="nd ne gu nf b ng py ni nj nk pz nm nn no qa nq nr ns qb nu nv nw qc ny nz oa pv pw px bk"><strong class="nf gv">Participatory</strong>: The consensus mechanism should be such that everyone should actively participate in the overall process.</li></ul><p id="1bef" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">Now that we have defined what consensus mechanisms are and what they should aim for, we need to think of the other questions: Which <strong class="nf gv">consensus mechanisms</strong> should be used for blockchain network to keep their original characteristics such reliability, security and availability?</p><p id="ab98" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">We hear plenty of talk of how public blockchains are going to change the world, but to function on a global scale, a shared public ledger like Bitcoin needs a functional, efficient and secure consensus algorithm.</p><p id="0092" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">Before Bitcoin, there were loads of iterations of peer-to-peer decentralized currency systems which failed because they were unable to answer the biggest problem when it came to reaching a consensus. This problem is called “<strong class="nf gv">Byzantine Generals Problem(BGP)</strong>”.</p></div></div></div><div class="ab cb ok ol om on" role="separator"><span class="oo by bm op oq or"></span><span class="oo by bm op oq or"></span><span class="oo by bm op oq"></span></div><div class="gn go gp gq gr"><div class="ab cb"><div class="ci bh fz ga gb gc"><h1 id="2ab2" class="os ot gu bf ou ov qd ox oy oz qe pb pc pd qf pf pg ph qg pj pk pl qh pn po pp bk">Byzantine Generals Problem(BGP)</h1><p id="64dd" class="pw-post-body-paragraph nd ne gu nf b ng pq ni nj nk pr nm nn no ps nq nr ns pt nu nv nw pu ny nz oa gn bk">Imagine that several divisions of the Byzantine army are camped outside an enemy city, each division commanded by its own general. The generals can communicate with one another only by messenger. After observing the enemy, they must decide upon a common plan of action. However, some of the generals may be traitors, trying to prevent the loyal generals from reaching agreement. The generals must decide on when to attack the city, but they need a strong majority of their army to attack at the same time. The generals must have an algorithm to guarantee that: (a)</p><ol class=""><li id="d553" class="nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa qi pw px bk">All loyal generals decide upon the same plan of action, and</li><li id="2bf8" class="nd ne gu nf b ng py ni nj nk pz nm nn no qa nq nr ns qb nu nv nw qc ny nz oa qi pw px bk">A small number of traitors cannot cause the loyal generals to adopt a bad plan. The loyal generals will all do what the algorithm says they should, but the traitors may do anything they wish.</li></ol><p id="abd9" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">The algorithm must guarantee condition (a) regardless of what the traitors do. The loyal generals should not only reach agreement, but should agree upon a reasonable plan.</p><figure class="of og oh oi oj mw oc od paragraph-image"><div class="oc od oe"><picture><source srcSet="https://miro.medium.com/v2/resize:fit:640/format:webp/0*vOQRoUWkBvbUphaY. 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/0*vOQRoUWkBvbUphaY. 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/0*vOQRoUWkBvbUphaY. 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/0*vOQRoUWkBvbUphaY. 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/0*vOQRoUWkBvbUphaY. 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/0*vOQRoUWkBvbUphaY. 1100w, https://miro.medium.com/v2/resize:fit:1352/format:webp/0*vOQRoUWkBvbUphaY. 1352w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 676px" type="image/webp"/><source data-testid="og" srcSet="https://miro.medium.com/v2/resize:fit:640/0*vOQRoUWkBvbUphaY. 640w, https://miro.medium.com/v2/resize:fit:720/0*vOQRoUWkBvbUphaY. 720w, https://miro.medium.com/v2/resize:fit:750/0*vOQRoUWkBvbUphaY. 750w, https://miro.medium.com/v2/resize:fit:786/0*vOQRoUWkBvbUphaY. 786w, https://miro.medium.com/v2/resize:fit:828/0*vOQRoUWkBvbUphaY. 828w, https://miro.medium.com/v2/resize:fit:1100/0*vOQRoUWkBvbUphaY. 1100w, https://miro.medium.com/v2/resize:fit:1352/0*vOQRoUWkBvbUphaY. 1352w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 676px"/><img alt="" class="bh md nc c" width="676" height="304" loading="lazy" role="presentation"/></picture></div></figure><p id="cb6f" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk"><strong class="nf gv">Figure 3 — Byzantine Generals Problem</strong></p><p id="1dc6" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">Looking at the picture above, you can understand the problem and what is the challenge for Byzantine generals while attacking a city. They are facing two very distinct problems:</p><ul class=""><li id="7b63" class="nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa pv pw px bk">The generals and their armies are very far apart so centralized authority is impossible, which makes coordinated attack very tough.</li><li id="13fc" class="nd ne gu nf b ng py ni nj nk pz nm nn no qa nq nr ns qb nu nv nw qc ny nz oa pv pw px bk">The city has a huge army and the only way that they can win is if they all attack at once.</li></ul><p id="2e6f" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">What these generals need, is a <strong class="nf gv">consensus mechanism</strong> which can make sure that their army can actually attack as a unit despite all these setbacks.</p><p id="be25" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">This has clear references to blockchain as well. The chain is a huge network; how can you possibly trust them? If you were sending someone 4 Bitcoin from your wallet, how would you know for sure that someone in the network isn’t going to tamper with it and change 4 to 40 Bitcoins?</p><p id="70bf" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">This is where consensus mechanisms come to the rescue. As such, now we are going to go through a list of consensus mechanisms which can solve the Byzantine Generals problem for some very known Blockchain networks such as Bitcoin, Ethereum, Ripple, Peercoin, Hyperledger and many others.</p></div></div></div><div class="ab cb ok ol om on" role="separator"><span class="oo by bm op oq or"></span><span class="oo by bm op oq or"></span><span class="oo by bm op oq"></span></div><div class="gn go gp gq gr"><div class="ab cb"><div class="ci bh fz ga gb gc"><figure class="of og oh oi oj mw oc od paragraph-image"><div class="oc od qj"><picture><source srcSet="https://miro.medium.com/v2/resize:fit:640/format:webp/0*Bd6phRcbWI2Z4z5L. 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/0*Bd6phRcbWI2Z4z5L. 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/0*Bd6phRcbWI2Z4z5L. 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/0*Bd6phRcbWI2Z4z5L. 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/0*Bd6phRcbWI2Z4z5L. 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/0*Bd6phRcbWI2Z4z5L. 1100w, https://miro.medium.com/v2/resize:fit:1032/format:webp/0*Bd6phRcbWI2Z4z5L. 1032w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 516px" type="image/webp"/><source data-testid="og" srcSet="https://miro.medium.com/v2/resize:fit:640/0*Bd6phRcbWI2Z4z5L. 640w, https://miro.medium.com/v2/resize:fit:720/0*Bd6phRcbWI2Z4z5L. 720w, https://miro.medium.com/v2/resize:fit:750/0*Bd6phRcbWI2Z4z5L. 750w, https://miro.medium.com/v2/resize:fit:786/0*Bd6phRcbWI2Z4z5L. 786w, https://miro.medium.com/v2/resize:fit:828/0*Bd6phRcbWI2Z4z5L. 828w, https://miro.medium.com/v2/resize:fit:1100/0*Bd6phRcbWI2Z4z5L. 1100w, https://miro.medium.com/v2/resize:fit:1032/0*Bd6phRcbWI2Z4z5L. 1032w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 516px"/><img alt="" class="bh md nc c" width="516" height="516" loading="eager" role="presentation"/></picture></div></figure><h1 id="fadd" class="os ot gu bf ou ov ow ox oy oz pa pb pc pd pe pf pg ph pi pj pk pl pm pn po pp bk">Proof of Work (PoW)</h1><p id="a3e4" class="pw-post-body-paragraph nd ne gu nf b ng pq ni nj nk pr nm nn no ps nq nr ns pt nu nv nw pu ny nz oa gn bk">Bitcoin uses Proof of Work(PoW) to ensure blockchain security and consensus. “Proof of Work”, as its name implies, requires that the decentralized participants that validate blocks show that they have invested significant computing power in doing so.</p><p id="1c58" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">In bitcoin, validators (known as “miners”) compete to process a block of transactions and add it to the blockchain.</p><p id="b7c5" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">In proof of work, miners compete to add the next block (a set of transactions) in the chain by racing to solve a extremely difficult cryptographic puzzle. They do this by churning enough random guesses on their computer to come up with an answer within the parameters established by the bitcoin. This process requires immense amount of energy and computational usage. The puzzles have been designed in a way which makes it hard and taxing on the system. Essentially this puzzle that needs solving is to find a number that, when combined with the data in the block and passed through a hash function, produces a result that is within a certain range. This is much harder than it sounds. The main character in this game is called a “nonce”, which is an abbreviation of “number used once”. In the case of bitcoin, the nonce is an integer between 0 and 4.294.967.296.</p><p id="41e8" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">How do they find this number? By guessing at random. The hash function makes it impossible to predict what the output will be. So, miners guess the mystery number and apply the hash function to the combination of that guessed number and the data in the block. The resulting hash has to start with a pre-established number of zeroes. There’s no way of knowing which number will work, because two consecutive integers will give wildly varying results. What’s more, there may be several nonces that produce the desired result, or there may be none (in which case the miners keep trying, but with a different block configuration).</p><p id="2229" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">When a miner solves the puzzle, they present their block to the network for verification. Verifying whether the block belongs to the chain or not is an extremely simple process. The first to solve the puzzle, wins the lottery. As a reward for his or her efforts, the miner receives newly bitcoins — and a small transaction fee.</p><p id="3519" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">The difficulty of the calculation (the required number of zeroes at the beginning of the hash string) is adjusted frequently, so that it takes on average about 10 minutes to process a block.</p><p id="e430" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">Why 10 minutes? That is the amount of time that the bitcoin developers think is necessary for a steady and diminishing flow of new coins until the maximum number of 21 million is reached (expected some time in 2140).</p><p id="8eaa" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">Yet, although a masterpiece in its own right, bitcoin’s proof of work isn’t quite perfect.</p><p id="6abf" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">Common criticisms include that it requires enormous amounts of computational energy, that it does not scale well (transaction confirmation takes about 10–60 minutes) and that the majority of mining is centralized in areas of the world where electricity is cheap, leading to an inefficient process because of the sheer amount of power and energy that it eats up.</p><p id="21b1" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">That said, people and organizations that can afford faster and more powerful ASICs(Application-specific integrated circuit chips) usually have better chance of mining than the others. As a result of this, bitcoin isn’t as decentralized as it wants to be. Theoretically speaking, there are big mining pools that could simply team up with each other and launch over than 51% on the bitcoin network. As a result, those who have significant financial resources have come to dominate the bitcoin mining space. Mining today is embodied by the emergence of enterprise-style, datacenter-hosted mining operations.</p><p id="a051" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">Bitcoin creator Satoshi Nakamoto woke us up to the potential of the blockchain, but that doesn’t mean we can’t keep searching for faster, less centralized and more energy-efficient consensus algorithms to carry us into the future. Other examples can be find below such as PoS(Proof-of-Stake), Proof-of-Activity and some others available today.</p></div></div></div><div class="ab cb ok ol om on" role="separator"><span class="oo by bm op oq or"></span><span class="oo by bm op oq or"></span><span class="oo by bm op oq"></span></div><div class="gn go gp gq gr"><div class="ab cb"><div class="ci bh fz ga gb gc"><figure class="of og oh oi oj mw oc od paragraph-image"><div class="oc od oe"><picture><source srcSet="https://miro.medium.com/v2/resize:fit:640/format:webp/0*5nwHVxqGYEzaK47J. 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/0*5nwHVxqGYEzaK47J. 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/0*5nwHVxqGYEzaK47J. 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/0*5nwHVxqGYEzaK47J. 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/0*5nwHVxqGYEzaK47J. 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/0*5nwHVxqGYEzaK47J. 1100w, https://miro.medium.com/v2/resize:fit:1352/format:webp/0*5nwHVxqGYEzaK47J. 1352w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 676px" type="image/webp"/><source data-testid="og" srcSet="https://miro.medium.com/v2/resize:fit:640/0*5nwHVxqGYEzaK47J. 640w, https://miro.medium.com/v2/resize:fit:720/0*5nwHVxqGYEzaK47J. 720w, https://miro.medium.com/v2/resize:fit:750/0*5nwHVxqGYEzaK47J. 750w, https://miro.medium.com/v2/resize:fit:786/0*5nwHVxqGYEzaK47J. 786w, https://miro.medium.com/v2/resize:fit:828/0*5nwHVxqGYEzaK47J. 828w, https://miro.medium.com/v2/resize:fit:1100/0*5nwHVxqGYEzaK47J. 1100w, https://miro.medium.com/v2/resize:fit:1352/0*5nwHVxqGYEzaK47J. 1352w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 676px"/><img alt="" class="bh md nc c" width="676" height="676" loading="eager" role="presentation"/></picture></div></figure><h1 id="a284" class="os ot gu bf ou ov ow ox oy oz pa pb pc pd pe pf pg ph pi pj pk pl pm pn po pp bk">Proof-of-Stake (PoS)</h1><p id="b295" class="pw-post-body-paragraph nd ne gu nf b ng pq ni nj nk pr nm nn no ps nq nr ns pt nu nv nw pu ny nz oa gn bk">The most common alternative to proof of work is proof of stake. In this type of consensus algorithm, instead of investing in expensive computer equipment in a race to mine blocks, a ‘validator’ invests in the coins of the system. Note the term validator. That’s because no coin creation (mining) exists in proof of stake. Instead, all the coins exist from day one, and validators (also called stakeholders, because they hold a stake in the system) are paid strictly in transaction fees. The systems that don’t use proof-of-work are also often called virtual mining systems because they don’t have a mining activity.</p><p id="fa00" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">The network selects an individual to approve new messages (that is to say, confirm the validity of new information submitted to the databse) based on their proportional stake in the network. In other words, instead of any individual attempting to calculate a value in order to be chosen to establish a consensus point, the network itself runs a lottery to decide who will announce the results, and system participants are exclusively and automatically entered into that lottery in direct proportion to their total stake in the network. As in the PoW system run by Bitcoin, the PoS system run by organizations such as Peercoin also provides an incentive to participation, which ensures broadest possible network participation and therefore the most robust network security possible. In the Peercoin system, the chosen party is rewarded with a new Peercoin in a process called ‘minting’ (rather than BitCoin’s ‘mining’).</p><p id="0bef" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">As mentioned, proof of stake will make the entire mining process virtual and replace miners with validators. Here is an outline on how the process will work:</p><ul class=""><li id="94b4" class="nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa pv pw px bk">The validators will have to lock up some of their coins as stake.</li><li id="54a9" class="nd ne gu nf b ng py ni nj nk pz nm nn no qa nq nr ns qb nu nv nw qc ny nz oa pv pw px bk">After that, they will start validating the blocks. Meaning, when they discover a block which they think can be added to the chain, they will validate it by placing a bet on it.</li><li id="197c" class="nd ne gu nf b ng py ni nj nk pz nm nn no qa nq nr ns qb nu nv nw qc ny nz oa pv pw px bk">If the block gets appended, then the validators will get a reward proportionate to their bets.</li></ul><p id="11f9" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">In proof of stake, your chance of being picked to create the next block depends on the fraction of coins in the system you own (or set aside for staking). A validator with 300 coins will be three times as likely to be chosen as someone with 100 coins.</p><p id="e041" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">Once a validator creates a block, that block still needs to be committed to the blockchain. Different proof-of-stake systems vary in how they handle this. There are some implementations where every node in the system has to sign off on a block until a majority vote is reached, while in other systems, a random group of signers is chosen.</p><p id="5007" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">As you can see, the PoS protocol is a lot more resource-friendly than PoW. In PoW, you NEED to waste a lot of resources to go along with the protocol, it is basically resource wastage for the sake of resource wastage.</p><p id="d5e7" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">Although PoS seems to be the most reasonable replacement for PoW, due to not having the issues found in PoW(requires enormous amounts of computational energy, not decentralized as it wants to be since there are just a few large pools that own over than 50% of Bitcoin network together), there is a very common problem that needs to be solved by PoS prior to be largely adopted by a production blockchain implementation. So, reviewing the way PoS works with regards to security, the common questions that could arise would be the following: What is to discourage a validator from creating two blocks and claiming two sets of transaction fees? And what is to discourage a signer from signing both of those blocks? This has been called the ‘nothing-at-stake’ problem. A participant with nothing to lose has no reason not to behave badly. In the burgeoning field of ‘crypto-economics’, blockchain engineers are exploring ways to tackle this and other problems. One answer is to require a validator to lock their currency in a type of virtual vault. If the validator tries to double sign or fork the system, those coins are slashed.</p><p id="5bbf" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">Additionally, this system, however, by rewarding those who already are most deeply involved in the network inherently creates an increasingly centralized system. This is inimical to a truly robust network. Therefore proponents of PoS systems have put forward a number of various modifications to help ensure the base for their networks remain as broad (and therefore secure) as possible.</p><p id="8085" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">Peercoin was the first coin to implement proof of stake. Ethereum currently relies on proof of work, but is planning a move to proof of stake in early 2018 by solving the PoS problem called ‘nothing-at-stake’ by leveraging a new approach to address this PoS issue called Casper protocol.</p><p id="85ba" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">Also, there is a variation of this method called a <strong class="nf gv">delegated proof-of-stake (DPoS)</strong>. This system works along the same lines as the PoS system, except that individuals choose an overarching entity to represent their portion of stake in the system. So imagine, each individual decides if entity 1, 2, or 3 (these could be, for example, computer servers, and are called ‘delegate nodes’ within a DPoS system) will ‘represent’ his or her individual stake in the system. This allows individuals with smaller stakes to team up to magnify their representation, thereby creating a mechanism to help balance out the power of large stake holders. This comes at the cost, however of greater network centralization. Bitshares is one company that employs a DPoS system.</p></div></div></div><div class="ab cb ok ol om on" role="separator"><span class="oo by bm op oq or"></span><span class="oo by bm op oq or"></span><span class="oo by bm op oq"></span></div><div class="gn go gp gq gr"><div class="ab cb"><div class="ci bh fz ga gb gc"><h1 id="ff69" class="os ot gu bf ou ov qd ox oy oz qe pb pc pd qf pf pg ph qg pj pk pl qh pn po pp bk">Proof-of-Activity(PoA)</h1><p id="0c8b" class="pw-post-body-paragraph nd ne gu nf b ng pq ni nj nk pr nm nn no ps nq nr ns pt nu nv nw pu ny nz oa gn bk">So, proof of activity was created as an alternative incentive structure for bitcoin. Proof of activity is a hybrid approach that combines both proof of work and proof of stake. In proof of activity, mining kicks off in a traditional proof-of-work fashion, with miners racing to solve a cryptographic puzzle. Depending on the implementation, blocks mined do not contain any transactions (they are more like templates), so the winning block will only contain a header and the miner’s reward address.</p><p id="8a44" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">At this point, the system switches to proof of stake. Based on information in the header, a random group of validators is chosen to sign the new block. The more coins in the system a validator owns, the more likely he or she is to be chosen. The template becomes a full-fledged block as soon as all of the validators sign it. If some of the selected validators are not available to complete the block, then the next winning block is selected, a new group of validators is chosen, and so on, until a block receives the correct amount of signatures. Fees are split between the miner and the validators who signed off on the block.</p><p id="c17c" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">Criticisms of proof of activity are the same as for both proof of work (too much energy is required to mine blocks) and proof of stake (there is nothing to deter a validator from double signing). Decred is the only coin right now using a variation of proof of activity.</p></div></div></div><div class="ab cb ok ol om on" role="separator"><span class="oo by bm op oq or"></span><span class="oo by bm op oq or"></span><span class="oo by bm op oq"></span></div><div class="gn go gp gq gr"><div class="ab cb"><div class="ci bh fz ga gb gc"><h1 id="5a33" class="os ot gu bf ou ov qd ox oy oz qe pb pc pd qf pf pg ph qg pj pk pl qh pn po pp bk">Practical Byzantine Fault Tolerance Algorithm(PBFT)</h1><p id="8a50" class="pw-post-body-paragraph nd ne gu nf b ng pq ni nj nk pr nm nn no ps nq nr ns pt nu nv nw pu ny nz oa gn bk">The Practical Byzantine Fault Tolerance Algorithm (PBFT) was designed as a solution to a problem presented in the form of an allegory described earlier in this introduction chapter under the Byzantine Generals Problem(BGP) section.</p><p id="76a2" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">To clarify the allegory for our purposes: the ‘generals’ in the story are the parties participating in the distributed network running the blockchain (database) in question. The messengers they are sending back and forth are the means of communication across the network on which the blockchain is running. The collective goal of the “loyal generals” is to decide whether or not to accept a piece of information submitted to the blockchain (database) as valid or not. A valid piece of information would be, in our allegory, a correct opportunity to decide in favor of attack. Loyal generals, for their part, are faithful blockchain participants, who are interested in ensuring the integrity of the blockchain (database) and therefore ensuring that only correct information is accepted. The trecherous generals, on the other hand, would be any party seeking to falsify information on the blockchain (the database). Their potential motives are myriad — it could be an individual seeking to spend a BitCoin that she does not actually own or another person who wants to get out of contractual obligations as outlined in a smart contract he already signed and submitted.</p><p id="f33d" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">Various computer scientists have outline a number of potential solutions to the Byzantine generals problem from the allegory. The practical byzantine fault tolerance algorithm (PBFT), which is used to establish consensus in blockchain systems, is only one of those potential solutions. Three examples of blockchains that rely on the PBFT for conses are Hyperledger, Stellar, and Ripple. Very roughly and without explaining the whole algorithm (which would take a multiple page research paper), what the PBFT does is as follows: Each ‘general’ maintains an internal state (ongoing specific information or status). When a ‘general’ receives a message, they use the message in conjunction with their internal state to run a computation or operation. This computation in turn tells that individual ‘general’ what to think about the message in question. Then, after reaching his individual decision about the new message, that ‘general’ shares that decision with all the other ‘generals’ in the system. A consensus decision is determined based on the total decisions submitted by all generals.</p><p id="b605" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">Among other considerations, this method of establishing consensus requires less effort than other previous methods described earlier. Also, PBFT is a system initially devised for low-latency storage systems — something that could be applicable in digital asset-based platforms that don’t require a large amount of throughput, but do demand many transactions.</p></div></div></div><div class="ab cb ok ol om on" role="separator"><span class="oo by bm op oq or"></span><span class="oo by bm op oq or"></span><span class="oo by bm op oq"></span></div><div class="gn go gp gq gr"><div class="ab cb"><div class="ci bh fz ga gb gc"><figure class="of og oh oi oj mw oc od paragraph-image"><div class="oc od oe"><picture><source srcSet="https://miro.medium.com/v2/resize:fit:640/format:webp/0*WjjlChloewsPvCnI. 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/0*WjjlChloewsPvCnI. 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/0*WjjlChloewsPvCnI. 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/0*WjjlChloewsPvCnI. 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/0*WjjlChloewsPvCnI. 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/0*WjjlChloewsPvCnI. 1100w, https://miro.medium.com/v2/resize:fit:1352/format:webp/0*WjjlChloewsPvCnI. 1352w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 676px" type="image/webp"/><source data-testid="og" srcSet="https://miro.medium.com/v2/resize:fit:640/0*WjjlChloewsPvCnI. 640w, https://miro.medium.com/v2/resize:fit:720/0*WjjlChloewsPvCnI. 720w, https://miro.medium.com/v2/resize:fit:750/0*WjjlChloewsPvCnI. 750w, https://miro.medium.com/v2/resize:fit:786/0*WjjlChloewsPvCnI. 786w, https://miro.medium.com/v2/resize:fit:828/0*WjjlChloewsPvCnI. 828w, https://miro.medium.com/v2/resize:fit:1100/0*WjjlChloewsPvCnI. 1100w, https://miro.medium.com/v2/resize:fit:1352/0*WjjlChloewsPvCnI. 1352w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 676px"/><img alt="" class="bh md nc c" width="676" height="507" loading="eager" role="presentation"/></picture></div></figure><h1 id="869b" class="os ot gu bf ou ov ow ox oy oz pa pb pc pd pe pf pg ph pi pj pk pl pm pn po pp bk">Hyperledger’s approach for consensus</h1><p id="71c7" class="pw-post-body-paragraph nd ne gu nf b ng pq ni nj nk pr nm nn no ps nq nr ns pt nu nv nw pu ny nz oa gn bk">The Hyperledger project allows developers to create their own digital assets with a distributed ledger powered by nodes built on the principle of PBFT. The system could be used to digitally back a real asset (such as a house), create new coins, or form a fault-tolerant system of consensus.</p><p id="dd77" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">The idea for Hyperledger’s use of PBFT goes beyond asset-based systems. It takes the idea of an algorithm for consensus and uses it to distribute all sorts of technical solutions — not just the low latency, high-speed file storage solution it was originally built to provide. This might be a good method of testing the power of nodes that do not use incentive to develop their strength. What will happen without such rewards? Systems like Hyperledger aim to find out. If you use Byzantine Fault Tolerance, ideally corruption problems are contained. The other nodes can realize a node is misbehaving, and not respond to its messages.</p><p id="d02f" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">In distributed ledger technology, consensus has recently become synonymous with a specific algorithm, within a single function. However, consensus encompasses more than simply agreeing upon the order of transactions, and this differentiation is highlighted in Hyperledger Fabric through its fundamental role in the entire transaction flow, from proposal and endorsement, to ordering, validation and commitment. In a nutshell, consensus is defined as the full-circle verification of the correctness of a set of transactions comprising a block.</p><p id="4005" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">As for Hyperledger implementation, consensus is ultimately achieved when the order and results of a block’s transactions have met the explicit policy criteria checks. These checks and balances take place during the lifecycle of a transaction, and include the usage of endorsement policies to dictate which specific members must endorse a certain transaction class, as well as system chaincodes to ensure that these policies are enforced and upheld. Prior to commitment, the peers will employ these system chaincodes to make sure that enough endorsements are present, and that they were derived from the appropriate entities. Moreover, a versioning check will take place during which the current state of the ledger is agreed or consented upon, before any blocks containing transactions are appended to the ledger. This final check provides protection against double spend operations and other threats that might compromise data integrity, and allows for functions to be executed against non-static variables.</p><p id="c0be" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">Also, since Hyperledger Fabric requires all participants to be authenticated, due to its permissioned implementation nature, in addition to take advantage of this characteristic to govern certain levels of access control (e.g. this user can read the ledger, but cannot exchange or transfer assets), it also can benefit on this dependence on identity as a great advantage in that varying consensus algorithms (e.g. byzantine or crash fault tolerant) can be implemented in place of the more compute-intensive Proof-of-Work and Proof-of-Stake varieties, as it was properly described earlier in this section. As a result, permissioned networks tend to provide higher transaction throughput rates and performance.</p><p id="8b8a" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">In addition to the multitude of endorsement, validity and versioning checks that take place, there are also ongoing identity verifications happening in all directions of the transaction flow. Access control lists are implemented on hierarchical layers of the network (ordering service down to channels), and payloads are repeatedly signed, verified and authenticated as a transaction proposal passes through the different architectural components. To summarize, consensus is not merely limited to the agreed upon order of a batch of transactions, but rather, it is an overarching characterization that is achieved as a byproduct of the ongoing verifications that take place during a transaction’s journey from proposal to commitment.</p><figure class="of og oh oi oj mw oc od paragraph-image"><div class="oc od oe"><picture><source srcSet="https://miro.medium.com/v2/resize:fit:640/format:webp/0*Vnu2UZeiQtedtRlJ. 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/0*Vnu2UZeiQtedtRlJ. 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/0*Vnu2UZeiQtedtRlJ. 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/0*Vnu2UZeiQtedtRlJ. 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/0*Vnu2UZeiQtedtRlJ. 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/0*Vnu2UZeiQtedtRlJ. 1100w, https://miro.medium.com/v2/resize:fit:1352/format:webp/0*Vnu2UZeiQtedtRlJ. 1352w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 676px" type="image/webp"/><source data-testid="og" srcSet="https://miro.medium.com/v2/resize:fit:640/0*Vnu2UZeiQtedtRlJ. 640w, https://miro.medium.com/v2/resize:fit:720/0*Vnu2UZeiQtedtRlJ. 720w, https://miro.medium.com/v2/resize:fit:750/0*Vnu2UZeiQtedtRlJ. 750w, https://miro.medium.com/v2/resize:fit:786/0*Vnu2UZeiQtedtRlJ. 786w, https://miro.medium.com/v2/resize:fit:828/0*Vnu2UZeiQtedtRlJ. 828w, https://miro.medium.com/v2/resize:fit:1100/0*Vnu2UZeiQtedtRlJ. 1100w, https://miro.medium.com/v2/resize:fit:1352/0*Vnu2UZeiQtedtRlJ. 1352w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 676px"/><img alt="" class="bh md nc c" width="676" height="301" loading="lazy" role="presentation"/></picture></div></figure><h1 id="9939" class="os ot gu bf ou ov ow ox oy oz pa pb pc pd pe pf pg ph pi pj pk pl pm pn po pp bk">Conclusion about consensus mechanisms</h1><p id="d2cf" class="pw-post-body-paragraph nd ne gu nf b ng pq ni nj nk pr nm nn no ps nq nr ns pt nu nv nw pu ny nz oa gn bk">While these systems for establishing consensus are currently the most dominant, the field is still wide open to innovation by creating variations of these implementations as well as new approaches to them. Some other examples are: Proof of burn, Proof of capacity, and Proof of elapsed time. As blockchain systems continue to gain in popularity, they will also continue to grow in scale and complexity. Which of these consensus building systems (if any) is best equipped to handle this ongoing expansion remains to be seen. Currently, companies choose a system for their product that best meets their (or their customer’s) needs for speed, efficiency, and security.</p><p id="5862" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">It is important to note, these systems differ not only in the details of the formation of their respective consensus-building communities, but importantly they differ in how they would handle potential attacks. This is, in fact, one of the clearest distinguishing features between the consensus-building systems: the potential size of an attack on the system that could be easily managed.</p><p id="0140" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk">If you’ve made it this far, then congratulations! There is still so much more to explain about the Blockchain and Hyperledger, but at least now you have an idea of the broad outline of the genius of the programming and the concept. For the first time we have a system that allows for convenient digital transfers in a decentralized, trust-free and tamper-proof way. Sky is the limit for Blockchain!!</p><p id="4937" class="pw-post-body-paragraph nd ne gu nf b ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa gn bk"><strong class="nf gv">Please clap on this article if it has helped you to understand a bit about blockchain and consensus mechanisms.</strong> And please leave a comment and state your feedback. This is very important to help me keep writing new articles about this sort of content.</p><figure class="of og oh oi oj mw"><div class="qk jf l fj"><div class="ql qm l"></div></div></figure></div></div></div></div></section></div></div></article></div><div class="ab cb"><div class="ci bh fz ga gb gc"><div class="qn qo ab ja"><div class="qp ab"><a class="qq ay am ao" rel="noopener follow" href="/tag/blockchain?source=post_page-----aabe62145128--------------------------------"><div class="qr fj cx qs ge qt qu bf b bg z bk qv">Blockchain</div></a></div><div class="qp ab"><a class="qq ay am ao" rel="noopener follow" href="/tag/hyperledger?source=post_page-----aabe62145128--------------------------------"><div class="qr fj cx qs ge qt qu bf b bg z bk qv">Hyperledger</div></a></div><div class="qp ab"><a class="qq ay am ao" rel="noopener follow" href="/tag/cryptocurrency?source=post_page-----aabe62145128--------------------------------"><div class="qr fj cx qs ge qt qu bf b bg z bk qv">Cryptocurrency</div></a></div><div class="qp ab"><a class="qq ay am ao" rel="noopener follow" href="/tag/consensus?source=post_page-----aabe62145128--------------------------------"><div class="qr fj cx qs ge qt qu bf b bg z bk qv">Consensus</div></a></div></div></div></div><div class="l"></div><footer class="qw ol qx qy qz ab q ra ik c"><div class="l ae"><div class="ab cb"><div class="ci bh fz ga gb gc"><div class="ab cp rb"><div class="ab q kv"><div class="rc l"><span class="l rd re rf e d"><div class="ab q kv kw"><div class="pw-multi-vote-icon fj je kx ky kz"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" data-testid="footerClapButton" rel="noopener follow" href="/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Foracledevs%2Faabe62145128&operation=register&redirect=https%3A%2F%2Fmedium.com%2Foracledevs%2Fdemystifying-blockchain-and-consensus-mechanisms-everything-you-wanted-to-know-but-were-never-aabe62145128&user=Andre+Boaventura&userId=d4fadefb996c&source=---footer_actions--aabe62145128---------------------clap_footer-----------"><div><div class="bm" aria-hidden="false"><div class="la ao lb lc ld le am lf lg lh kz"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-label="clap"><path fill-rule="evenodd" d="M11.37.828 12 3.282l.63-2.454zM13.916 3.953l1.523-2.112-1.184-.39zM8.589 1.84l1.522 2.112-.337-2.501zM18.523 18.92c-.86.86-1.75 1.246-2.62 1.33a6 6 0 0 0 .407-.372c2.388-2.389 2.86-4.951 1.399-7.623l-.912-1.603-.79-1.672c-.26-.56-.194-.98.203-1.288a.7.7 0 0 1 .546-.132c.283.046.546.231.728.5l2.363 4.157c.976 1.624 1.141 4.237-1.324 6.702m-10.999-.438L3.37 14.328a.828.828 0 0 1 .585-1.408.83.83 0 0 1 .585.242l2.158 2.157a.365.365 0 0 0 .516-.516l-2.157-2.158-1.449-1.449a.826.826 0 0 1 1.167-1.17l3.438 3.44a.363.363 0 0 0 .516 0 .364.364 0 0 0 0-.516L5.293 9.513l-.97-.97a.826.826 0 0 1 0-1.166.84.84 0 0 1 1.167 0l.97.968 3.437 3.436a.36.36 0 0 0 .517 0 .366.366 0 0 0 0-.516L6.977 7.83a.82.82 0 0 1-.241-.584.82.82 0 0 1 .824-.826c.219 0 .43.087.584.242l5.787 5.787a.366.366 0 0 0 .587-.415l-1.117-2.363c-.26-.56-.194-.98.204-1.289a.7.7 0 0 1 .546-.132c.283.046.545.232.727.501l2.193 3.86c1.302 2.38.883 4.59-1.277 6.75-1.156 1.156-2.602 1.627-4.19 1.367-1.418-.236-2.866-1.033-4.079-2.246M10.75 5.971l2.12 2.12c-.41.502-.465 1.17-.128 1.89l.22.465-3.523-3.523a.8.8 0 0 1-.097-.368c0-.22.086-.428.241-.584a.847.847 0 0 1 1.167 0m7.355 1.705c-.31-.461-.746-.758-1.23-.837a1.44 1.44 0 0 0-1.11.275c-.312.24-.505.543-.59.881a1.74 1.74 0 0 0-.906-.465 1.47 1.47 0 0 0-.82.106l-2.182-2.182a1.56 1.56 0 0 0-2.2 0 1.54 1.54 0 0 0-.396.701 1.56 1.56 0 0 0-2.21-.01 1.55 1.55 0 0 0-.416.753c-.624-.624-1.649-.624-2.237-.037a1.557 1.557 0 0 0 0 2.2c-.239.1-.501.238-.715.453a1.56 1.56 0 0 0 0 2.2l.516.515a1.556 1.556 0 0 0-.753 2.615L7.01 19c1.32 1.319 2.909 2.189 4.475 2.449q.482.08.971.08c.85 0 1.653-.198 2.393-.579.231.033.46.054.686.054 1.266 0 2.457-.52 3.505-1.567 2.763-2.763 2.552-5.734 1.439-7.586z" clip-rule="evenodd"></path></svg></div></div></div></a></span></div><div class="pw-multi-vote-count l li lj lk ll lm ln lo"><p class="bf b dv z du"><span class="lp">--</span></p></div></div></span><span class="l h g f rg rh"><div class="ab q kv kw"><div class="pw-multi-vote-icon fj je kx ky kz"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" data-testid="footerClapButton" rel="noopener follow" href="/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Foracledevs%2Faabe62145128&operation=register&redirect=https%3A%2F%2Fmedium.com%2Foracledevs%2Fdemystifying-blockchain-and-consensus-mechanisms-everything-you-wanted-to-know-but-were-never-aabe62145128&user=Andre+Boaventura&userId=d4fadefb996c&source=---footer_actions--aabe62145128---------------------clap_footer-----------"><div><div class="bm" aria-hidden="false"><div class="la ao lb lc ld le am lf lg lh kz"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-label="clap"><path fill-rule="evenodd" d="M11.37.828 12 3.282l.63-2.454zM13.916 3.953l1.523-2.112-1.184-.39zM8.589 1.84l1.522 2.112-.337-2.501zM18.523 18.92c-.86.86-1.75 1.246-2.62 1.33a6 6 0 0 0 .407-.372c2.388-2.389 2.86-4.951 1.399-7.623l-.912-1.603-.79-1.672c-.26-.56-.194-.98.203-1.288a.7.7 0 0 1 .546-.132c.283.046.546.231.728.5l2.363 4.157c.976 1.624 1.141 4.237-1.324 6.702m-10.999-.438L3.37 14.328a.828.828 0 0 1 .585-1.408.83.83 0 0 1 .585.242l2.158 2.157a.365.365 0 0 0 .516-.516l-2.157-2.158-1.449-1.449a.826.826 0 0 1 1.167-1.17l3.438 3.44a.363.363 0 0 0 .516 0 .364.364 0 0 0 0-.516L5.293 9.513l-.97-.97a.826.826 0 0 1 0-1.166.84.84 0 0 1 1.167 0l.97.968 3.437 3.436a.36.36 0 0 0 .517 0 .366.366 0 0 0 0-.516L6.977 7.83a.82.82 0 0 1-.241-.584.82.82 0 0 1 .824-.826c.219 0 .43.087.584.242l5.787 5.787a.366.366 0 0 0 .587-.415l-1.117-2.363c-.26-.56-.194-.98.204-1.289a.7.7 0 0 1 .546-.132c.283.046.545.232.727.501l2.193 3.86c1.302 2.38.883 4.59-1.277 6.75-1.156 1.156-2.602 1.627-4.19 1.367-1.418-.236-2.866-1.033-4.079-2.246M10.75 5.971l2.12 2.12c-.41.502-.465 1.17-.128 1.89l.22.465-3.523-3.523a.8.8 0 0 1-.097-.368c0-.22.086-.428.241-.584a.847.847 0 0 1 1.167 0m7.355 1.705c-.31-.461-.746-.758-1.23-.837a1.44 1.44 0 0 0-1.11.275c-.312.24-.505.543-.59.881a1.74 1.74 0 0 0-.906-.465 1.47 1.47 0 0 0-.82.106l-2.182-2.182a1.56 1.56 0 0 0-2.2 0 1.54 1.54 0 0 0-.396.701 1.56 1.56 0 0 0-2.21-.01 1.55 1.55 0 0 0-.416.753c-.624-.624-1.649-.624-2.237-.037a1.557 1.557 0 0 0 0 2.2c-.239.1-.501.238-.715.453a1.56 1.56 0 0 0 0 2.2l.516.515a1.556 1.556 0 0 0-.753 2.615L7.01 19c1.32 1.319 2.909 2.189 4.475 2.449q.482.08.971.08c.85 0 1.653-.198 2.393-.579.231.033.46.054.686.054 1.266 0 2.457-.52 3.505-1.567 2.763-2.763 2.552-5.734 1.439-7.586z" clip-rule="evenodd"></path></svg></div></div></div></a></span></div><div class="pw-multi-vote-count l li lj lk ll lm ln lo"><p class="bf b dv z du"><span class="lp">--</span></p></div></div></span></div><div class="bq ab"><div><div class="bm" aria-hidden="false"><button class="ao la lq lr ab q fk ls lt" aria-label="responses"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" class="lu"><path d="M18.006 16.803c1.533-1.456 2.234-3.325 2.234-5.321C20.24 7.357 16.709 4 12.191 4S4 7.357 4 11.482c0 4.126 3.674 7.482 8.191 7.482.817 0 1.622-.111 2.393-.327.231.2.48.391.744.559 1.06.693 2.203 1.044 3.399 1.044.224-.008.4-.112.486-.287a.49.49 0 0 0-.042-.518c-.495-.67-.845-1.364-1.04-2.057a4 4 0 0 1-.125-.598zm-3.122 1.055-.067-.223-.315.096a8 8 0 0 1-2.311.338c-4.023 0-7.292-2.955-7.292-6.587 0-3.633 3.269-6.588 7.292-6.588 4.014 0 7.112 2.958 7.112 6.593 0 1.794-.608 3.469-2.027 4.72l-.195.168v.255c0 .056 0 .151.016.295.025.231.081.478.154.733.154.558.398 1.117.722 1.659a5.3 5.3 0 0 1-2.165-.845c-.276-.176-.714-.383-.941-.59z"></path></svg></button></div></div></div></div><div class="ab q"><div class="or l ix"><div><div class="bm" aria-hidden="false"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" data-testid="footerBookmarkButton" rel="noopener follow" href="/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2Faabe62145128&operation=register&redirect=https%3A%2F%2Fmedium.com%2Foracledevs%2Fdemystifying-blockchain-and-consensus-mechanisms-everything-you-wanted-to-know-but-were-never-aabe62145128&source=---footer_actions--aabe62145128---------------------bookmark_footer-----------"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="du lw" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div><div class="or l ix"><div class="bm" aria-hidden="false" aria-describedby="postFooterSocialMenu" aria-labelledby="postFooterSocialMenu"><div><div class="bm" aria-hidden="false"><button aria-controls="postFooterSocialMenu" aria-expanded="false" aria-label="Share Post" data-testid="footerSocialShareButton" class="af fk ah ai aj ak al me an ao ap ex mf mg lt mh"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="M15.218 4.931a.4.4 0 0 1-.118.132l.012.006a.45.45 0 0 1-.292.074.5.5 0 0 1-.3-.13l-2.02-2.02v7.07c0 .28-.23.5-.5.5s-.5-.22-.5-.5v-7.04l-2 2a.45.45 0 0 1-.57.04h-.02a.4.4 0 0 1-.16-.3.4.4 0 0 1 .1-.32l2.8-2.8a.5.5 0 0 1 .7 0l2.8 2.79a.42.42 0 0 1 .068.498m-.106.138.008.004v-.01zM16 7.063h1.5a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-11c-1.1 0-2-.9-2-2v-10a2 2 0 0 1 2-2H8a.5.5 0 0 1 .35.15.5.5 0 0 1 .15.35.5.5 0 0 1-.15.35.5.5 0 0 1-.35.15H6.4c-.5 0-.9.4-.9.9v10.2a.9.9 0 0 0 .9.9h11.2c.5 0 .9-.4.9-.9v-10.2c0-.5-.4-.9-.9-.9H16a.5.5 0 0 1 0-1" clip-rule="evenodd"></path></svg></button></div></div></div></div></div></div></div></div></div></footer><div class="ri rj rk rl rm l"><div class="ab cb"><div class="ci bh fz ga gb gc"><div class="rn bh r ro"></div><div class="rp l"><div class="ab rq rr rs iz iy"><div class="rt ru rv rw rx ry rz sa sb sc ab cp"><div class="h k"><a href="https://medium.com/oracledevs?source=post_page---post_publication_info--aabe62145128--------------------------------" rel="noopener follow"><div class="fj ab"><img alt="Oracle Developers" class="sd ib ic cx" src="https://miro.medium.com/v2/resize:fill:96:96/1*RS7-qSTx76xpN2FcHDppBw.jpeg" width="48" height="48" loading="lazy"/><div class="sd l ic ib fs n fr se"></div></div></a></div><div class="j i d"><a href="https://medium.com/oracledevs?source=post_page---post_publication_info--aabe62145128--------------------------------" rel="noopener follow"><div class="fj ab"><img alt="Oracle Developers" class="sd sg sf cx" src="https://miro.medium.com/v2/resize:fill:128:128/1*RS7-qSTx76xpN2FcHDppBw.jpeg" width="64" height="64" loading="lazy"/><div class="sd l sf sg fs n fr se"></div></div></a></div><div class="j i d sh ix"><div class="ab"></div></div></div><div class="ab co si"><div class="sj sk sl sm sn l"><a class="af ag ah aj ak al am an ao ap aq ar as at ab q" href="https://medium.com/oracledevs?source=post_page---post_publication_info--aabe62145128--------------------------------" rel="noopener follow"><h2 class="pw-author-name bf sp sq sr ss st su sv no sw sx ns sy sz nw ta tb bk"><span class="gn so">Published in <!-- -->Oracle Developers</span></h2></a><div class="qp ab ia"><div class="l ix"><span class="pw-follower-count bf b bg z du"><a class="af ag ah ai aj ak al am an ao ap aq ar iq" rel="noopener follow" href="/oracledevs/followers?source=post_page---post_publication_info--aabe62145128--------------------------------">40K Followers</a></span></div><div class="bf b bg z du ab jd"><span class="ir l" aria-hidden="true"><span class="bf b bg z du">·</span></span><a class="af ag ah ai aj ak al am an ao ap aq ar iq" rel="noopener follow" href="/oracledevs/leveraging-pgcrypto-and-oci-vault-for-enhanced-security-in-postgresql-on-oci-4b9a584f147c?source=post_page---post_publication_info--aabe62145128--------------------------------">Last published <!-- -->3 days ago</a></div></div><div class="tc l"><p class="bf b bg z bk"><span class="gn">Aggregation of articles from Oracle engineers, Groundbreaker Ambassadors, Oracle ACEs, and Java Champions on all things Oracle technology. The views expressed are those of the authors and not necessarily of Oracle.</span></p></div></div></div><div class="h k"><div class="ab"></div></div></div></div><div class="ab rq rr rs iz iy"><div class="rt ru rv rw rx ry rz sa sb sc ab cp"><div class="h k"><a tabindex="0" rel="noopener follow" href="/@aboavent.ab?source=post_page---post_author_info--aabe62145128--------------------------------"><div class="l fj"><img alt="Andre Boaventura" class="l fd by ic ib cx" src="https://miro.medium.com/v2/resize:fill:96:96/0*gZCVwYxVCou_WqDy." width="48" height="48" loading="lazy"/><div class="fr by l ic ib fs n ay se"></div></div></a></div><div class="j i d"><a tabindex="0" rel="noopener follow" href="/@aboavent.ab?source=post_page---post_author_info--aabe62145128--------------------------------"><div class="l fj"><img alt="Andre Boaventura" class="l fd by sf sg cx" src="https://miro.medium.com/v2/resize:fill:128:128/0*gZCVwYxVCou_WqDy." width="64" height="64" loading="lazy"/><div class="fr by l sf sg fs n ay se"></div></div></a></div><div class="j i d sh ix"><div class="ab"><span><button class="bf b bg z td qr te tf tg th ti ev ew tj tk tl fa fb fc fd bm fe ff">Follow</button></span></div></div></div><div class="ab co si"><div class="sj sk sl sm sn l"><a class="af ag ah aj ak al am an ao ap aq ar as at ab q" rel="noopener follow" href="/@aboavent.ab?source=post_page---post_author_info--aabe62145128--------------------------------"><h2 class="pw-author-name bf sp sq sr ss st su sv no sw sx ns sy sz nw ta tb bk"><span class="gn so">Written by <!-- -->Andre Boaventura</span></h2></a><div class="qp ab ia"><div class="l ix"><span class="pw-follower-count bf b bg z du"><a class="af ag ah ai aj ak al am an ao ap aq ar iq" rel="noopener follow" href="/@aboavent.ab/followers?source=post_page---post_author_info--aabe62145128--------------------------------">115 Followers</a></span></div><div class="bf b bg z du ab jd"><span class="ir l" aria-hidden="true"><span class="bf b bg z du">·</span></span><a class="af ag ah ai aj ak al am an ao ap aq ar iq" rel="noopener follow" href="/@aboavent.ab/following?source=post_page---post_author_info--aabe62145128--------------------------------">94 Following</a></div></div><div class="tc l"><p class="bf b bg z bk"><span class="gn">Principal Solutions Architect driving Cloud, AppDev, Serverless, Mobile, Chatbot, AI/ML, Container & Cloud Native technologies @AWS</span></p></div></div></div><div class="h k"><div class="ab"><span><button class="bf b bg z td qr te tf tg th ti ev ew tj tk tl fa fb fc fd bm fe ff">Follow</button></span></div></div></div></div></div></div><div class="tm l"><div class="rn bh r tn to tp tq tr"></div><div class="ab cb"><div class="ci bh fz ga gb gc"><div class="ab q cp"><h2 class="bf sp ov ox oy oz pb pc pd pf pg ph pj pk pl pn po bk">No responses yet</h2><div class="ab ts"><div><div class="bm" aria-hidden="false"><a class="tt tu" href="https://policy.medium.com/medium-rules-30e5502c4eb4?source=post_page---post_responses--aabe62145128--------------------------------" rel="noopener follow" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 25 25"><path fill-rule="evenodd" d="M11.987 5.036a.754.754 0 0 1 .914-.01c.972.721 1.767 1.218 2.6 1.543.828.322 1.719.485 2.887.505a.755.755 0 0 1 .741.757c-.018 3.623-.43 6.256-1.449 8.21-1.034 1.984-2.662 3.209-4.966 4.083a.75.75 0 0 1-.537-.003c-2.243-.874-3.858-2.095-4.897-4.074-1.024-1.951-1.457-4.583-1.476-8.216a.755.755 0 0 1 .741-.757c1.195-.02 2.1-.182 2.923-.503.827-.322 1.6-.815 2.519-1.535m.468.903c-.897.69-1.717 1.21-2.623 1.564-.898.35-1.856.527-3.026.565.037 3.45.469 5.817 1.36 7.515.884 1.684 2.25 2.762 4.284 3.571 2.092-.81 3.465-1.89 4.344-3.575.886-1.698 1.299-4.065 1.334-7.512-1.149-.039-2.091-.217-2.99-.567-.906-.353-1.745-.873-2.683-1.561m-.009 9.155a2.672 2.672 0 1 0 0-5.344 2.672 2.672 0 0 0 0 5.344m0 1a3.672 3.672 0 1 0 0-7.344 3.672 3.672 0 0 0 0 7.344m-1.813-3.777.525-.526.916.917 1.623-1.625.526.526-2.149 2.152z" clip-rule="evenodd"></path></svg></a></div></div></div></div></div></div></div><div class="tv tw tx ty tz l bx"><div class="h k j"><div class="rn bh ua ub"></div><div class="ab cb"><div class="ci bh fz ga gb gc"><div class="uc ab kv ja"><div class="ud ue l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" href="https://help.medium.com/hc/en-us?source=post_page-----aabe62145128--------------------------------" rel="noopener follow"><p class="bf b dv z du">Help</p></a></div><div class="ud ue l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" href="https://medium.statuspage.io/?source=post_page-----aabe62145128--------------------------------" rel="noopener follow"><p class="bf b dv z du">Status</p></a></div><div class="ud ue l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/about?autoplay=1&source=post_page-----aabe62145128--------------------------------"><p class="bf b dv z du">About</p></a></div><div class="ud ue l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/jobs-at-medium/work-at-medium-959d1a85284e?source=post_page-----aabe62145128--------------------------------"><p class="bf b dv z du">Careers</p></a></div><div class="ud ue l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" href="pressinquiries@medium.com?source=post_page-----aabe62145128--------------------------------" rel="noopener follow"><p class="bf b dv z du">Press</p></a></div><div class="ud ue l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" href="https://blog.medium.com/?source=post_page-----aabe62145128--------------------------------" rel="noopener follow"><p class="bf b dv z du">Blog</p></a></div><div class="ud ue l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" href="https://policy.medium.com/medium-privacy-policy-f03bf92035c9?source=post_page-----aabe62145128--------------------------------" rel="noopener follow"><p class="bf b dv z du">Privacy</p></a></div><div class="ud ue l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" href="https://policy.medium.com/medium-terms-of-service-9db0094a1e0f?source=post_page-----aabe62145128--------------------------------" rel="noopener follow"><p class="bf b dv z du">Terms</p></a></div><div class="ud ue l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" href="https://speechify.com/medium?source=post_page-----aabe62145128--------------------------------" rel="noopener follow"><p class="bf b dv z du">Text to speech</p></a></div><div class="ud l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/business?source=post_page-----aabe62145128--------------------------------"><p class="bf b dv z du">Teams</p></a></div></div></div></div></div></div></div></div></div></div><script>window.__BUILD_ID__="main-20241122-185319-7bcdc08639"</script><script>window.__GRAPHQL_URI__ = "https://medium.com/_/graphql"</script><script>window.__PRELOADED_STATE__ = {"algolia":{"queries":{}},"cache":{"experimentGroupSet":true,"reason":"","group":"enabled","tags":["group-edgeCachePosts","post-aabe62145128","user-d4fadefb996c","collection-749dcac244ef"],"serverVariantState":"44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a","middlewareEnabled":true,"cacheStatus":"DYNAMIC","shouldUseCache":true,"vary":[],"lohpSummerUpsellEnabled":false,"publicationHierarchyEnabledWeb":false,"postBottomResponsesEnabled":false},"client":{"hydrated":false,"isUs":false,"isNativeMedium":false,"isSafariMobile":false,"isSafari":false,"isFirefox":true,"routingEntity":{"type":"DEFAULT","explicit":false},"viewerIsBot":false},"debug":{"requestId":"54b56ecd-f84a-4c9c-88fd-a4b4f901965d","hybridDevServices":[],"originalSpanCarrier":{"traceparent":"00-98ce52f7bfbe5bd02058b7979007f43d-784ecd7396479d03-01"}},"multiVote":{"clapsPerPost":{}},"navigation":{"branch":{"show":null,"hasRendered":null,"blockedByCTA":false},"hideGoogleOneTap":false,"hasRenderedAlternateUserBanner":null,"currentLocation":"https:\u002F\u002Fmedium.com\u002Foracledevs\u002Fdemystifying-blockchain-and-consensus-mechanisms-everything-you-wanted-to-know-but-were-never-aabe62145128","host":"medium.com","hostname":"medium.com","referrer":"","hasSetReferrer":false,"susiModal":{"step":null,"operation":"register"},"postRead":false,"partnerProgram":{"selectedCountryCode":null},"queryString":"","currentHash":""},"config":{"nodeEnv":"production","version":"main-20241122-185319-7bcdc08639","target":"production","productName":"Medium","publicUrl":"https:\u002F\u002Fcdn-client.medium.com\u002Flite","authDomain":"medium.com","authGoogleClientId":"216296035834-k1k6qe060s2tp2a2jam4ljdcms00sttg.apps.googleusercontent.com","favicon":"production","glyphUrl":"https:\u002F\u002Fglyph.medium.com","branchKey":"key_live_ofxXr2qTrrU9NqURK8ZwEhknBxiI6KBm","algolia":{"appId":"MQ57UUUQZ2","apiKeySearch":"394474ced050e3911ae2249ecc774921","indexPrefix":"medium_","host":"-dsn.algolia.net"},"recaptchaKey":"6Lfc37IUAAAAAKGGtC6rLS13R1Hrw_BqADfS1LRk","recaptcha3Key":"6Lf8R9wUAAAAABMI_85Wb8melS7Zj6ziuf99Yot5","recaptchaEnterpriseKeyId":"6Le-uGgpAAAAAPprRaokM8AKthQ9KNGdoxaGUvVp","datadog":{"applicationId":"6702d87d-a7e0-42fe-bbcb-95b469547ea0","clientToken":"pub853ea8d17ad6821d9f8f11861d23dfed","rumToken":"pubf9cc52896502b9413b68ba36fc0c7162","context":{"deployment":{"target":"production","tag":"main-20241122-185319-7bcdc08639","commit":"7bcdc08639c179dc5172558201a3fd3abc1b5db6"}},"datacenter":"us"},"googleAnalyticsCode":"G-7JY7T788PK","googlePay":{"apiVersion":"2","apiVersionMinor":"0","merchantId":"BCR2DN6TV7EMTGBM","merchantName":"Medium","instanceMerchantId":"13685562959212738550"},"applePay":{"version":3},"signInWallCustomDomainCollectionIds":["3a8144eabfe3","336d898217ee","61061eb0c96b","138adf9c44c","819cc2aaeee0"],"mediumMastodonDomainName":"me.dm","mediumOwnedAndOperatedCollectionIds":["8a9336e5bb4","b7e45b22fec3","193b68bd4fba","8d6b8a439e32","54c98c43354d","3f6ecf56618","d944778ce714","92d2092dc598","ae2a65f35510","1285ba81cada","544c7006046e","fc8964313712","40187e704f1c","88d9857e584e","7b6769f2748b","bcc38c8f6edf","cef6983b292","cb8577c9149e","444d13b52878","713d7dbc99b0","ef8e90590e66","191186aaafa0","55760f21cdc5","9dc80918cc93","bdc4052bbdba","8ccfed20cbb2"],"tierOneDomains":["medium.com","thebolditalic.com","arcdigital.media","towardsdatascience.com","uxdesign.cc","codeburst.io","psiloveyou.xyz","writingcooperative.com","entrepreneurshandbook.co","prototypr.io","betterhumans.coach.me","theascent.pub"],"topicsToFollow":["d61cf867d93f","8a146bc21b28","1eca0103fff3","4d562ee63426","aef1078a3ef5","e15e46793f8d","6158eb913466","55f1c20aba7a","3d18b94f6858","4861fee224fd","63c6f1f93ee","1d98b3a9a871","decb52b64abf","ae5d4995e225","830cded25262"],"topicToTagMappings":{"accessibility":"accessibility","addiction":"addiction","android-development":"android-development","art":"art","artificial-intelligence":"artificial-intelligence","astrology":"astrology","basic-income":"basic-income","beauty":"beauty","biotech":"biotech","blockchain":"blockchain","books":"books","business":"business","cannabis":"cannabis","cities":"cities","climate-change":"climate-change","comics":"comics","coronavirus":"coronavirus","creativity":"creativity","cryptocurrency":"cryptocurrency","culture":"culture","cybersecurity":"cybersecurity","data-science":"data-science","design":"design","digital-life":"digital-life","disability":"disability","economy":"economy","education":"education","equality":"equality","family":"family","feminism":"feminism","fiction":"fiction","film":"film","fitness":"fitness","food":"food","freelancing":"freelancing","future":"future","gadgets":"gadgets","gaming":"gaming","gun-control":"gun-control","health":"health","history":"history","humor":"humor","immigration":"immigration","ios-development":"ios-development","javascript":"javascript","justice":"justice","language":"language","leadership":"leadership","lgbtqia":"lgbtqia","lifestyle":"lifestyle","machine-learning":"machine-learning","makers":"makers","marketing":"marketing","math":"math","media":"media","mental-health":"mental-health","mindfulness":"mindfulness","money":"money","music":"music","neuroscience":"neuroscience","nonfiction":"nonfiction","outdoors":"outdoors","parenting":"parenting","pets":"pets","philosophy":"philosophy","photography":"photography","podcasts":"podcast","poetry":"poetry","politics":"politics","privacy":"privacy","product-management":"product-management","productivity":"productivity","programming":"programming","psychedelics":"psychedelics","psychology":"psychology","race":"race","relationships":"relationships","religion":"religion","remote-work":"remote-work","san-francisco":"san-francisco","science":"science","self":"self","self-driving-cars":"self-driving-cars","sexuality":"sexuality","social-media":"social-media","society":"society","software-engineering":"software-engineering","space":"space","spirituality":"spirituality","sports":"sports","startups":"startup","style":"style","technology":"technology","transportation":"transportation","travel":"travel","true-crime":"true-crime","tv":"tv","ux":"ux","venture-capital":"venture-capital","visual-design":"visual-design","work":"work","world":"world","writing":"writing"},"defaultImages":{"avatar":{"imageId":"1*dmbNkD5D-u45r44go_cf0g.png","height":150,"width":150},"orgLogo":{"imageId":"7*V1_7XP4snlmqrc_0Njontw.png","height":110,"width":500},"postLogo":{"imageId":"bd978bb536350a710e8efb012513429cabdc4c28700604261aeda246d0f980b7","height":810,"width":1440},"postPreviewImage":{"imageId":"1*hn4v1tCaJy7cWMyb0bpNpQ.png","height":386,"width":579}},"collectionStructuredData":{"8d6b8a439e32":{"name":"Elemental","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fcdn-images-1.medium.com\u002Fmax\u002F980\u002F1*9ygdqoKprhwuTVKUM0DLPA@2x.png","width":980,"height":159}}},"3f6ecf56618":{"name":"Forge","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fcdn-images-1.medium.com\u002Fmax\u002F596\u002F1*uULpIlImcO5TDuBZ6lm7Lg@2x.png","width":596,"height":183}}},"ae2a65f35510":{"name":"GEN","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fmiro.medium.com\u002Fmax\u002F264\u002F1*RdVZMdvfV3YiZTw6mX7yWA.png","width":264,"height":140}}},"88d9857e584e":{"name":"LEVEL","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fmiro.medium.com\u002Fmax\u002F540\u002F1*JqYMhNX6KNNb2UlqGqO2WQ.png","width":540,"height":108}}},"7b6769f2748b":{"name":"Marker","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fcdn-images-1.medium.com\u002Fmax\u002F383\u002F1*haCUs0wF6TgOOvfoY-jEoQ@2x.png","width":383,"height":92}}},"444d13b52878":{"name":"OneZero","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fmiro.medium.com\u002Fmax\u002F540\u002F1*cw32fIqCbRWzwJaoQw6BUg.png","width":540,"height":123}}},"8ccfed20cbb2":{"name":"Zora","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fmiro.medium.com\u002Fmax\u002F540\u002F1*tZUQqRcCCZDXjjiZ4bDvgQ.png","width":540,"height":106}}}},"embeddedPostIds":{"coronavirus":"cd3010f9d81f"},"sharedCdcMessaging":{"COVID_APPLICABLE_TAG_SLUGS":[],"COVID_APPLICABLE_TOPIC_NAMES":[],"COVID_APPLICABLE_TOPIC_NAMES_FOR_TOPIC_PAGE":[],"COVID_MESSAGES":{"tierA":{"text":"For more information on the novel coronavirus and Covid-19, visit cdc.gov.","markups":[{"start":66,"end":73,"href":"https:\u002F\u002Fwww.cdc.gov\u002Fcoronavirus\u002F2019-nCoV"}]},"tierB":{"text":"Anyone can publish on Medium per our Policies, but we don’t fact-check every story. For more info about the coronavirus, see cdc.gov.","markups":[{"start":37,"end":45,"href":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Fcategories\u002F201931128-Policies-Safety"},{"start":125,"end":132,"href":"https:\u002F\u002Fwww.cdc.gov\u002Fcoronavirus\u002F2019-nCoV"}]},"paywall":{"text":"This article has been made free for everyone, thanks to Medium Members. For more information on the novel coronavirus and Covid-19, visit cdc.gov.","markups":[{"start":56,"end":70,"href":"https:\u002F\u002Fmedium.com\u002Fmembership"},{"start":138,"end":145,"href":"https:\u002F\u002Fwww.cdc.gov\u002Fcoronavirus\u002F2019-nCoV"}]},"unbound":{"text":"This article is free for everyone, thanks to Medium Members. For more information on the novel coronavirus and Covid-19, visit cdc.gov.","markups":[{"start":45,"end":59,"href":"https:\u002F\u002Fmedium.com\u002Fmembership"},{"start":127,"end":134,"href":"https:\u002F\u002Fwww.cdc.gov\u002Fcoronavirus\u002F2019-nCoV"}]}},"COVID_BANNER_POST_ID_OVERRIDE_WHITELIST":["3b31a67bff4a"]},"sharedVoteMessaging":{"TAGS":["politics","election-2020","government","us-politics","election","2020-presidential-race","trump","donald-trump","democrats","republicans","congress","republican-party","democratic-party","biden","joe-biden","maga"],"TOPICS":["politics","election"],"MESSAGE":{"text":"Find out more about the U.S. election results here.","markups":[{"start":46,"end":50,"href":"https:\u002F\u002Fcookpolitical.com\u002F2020-national-popular-vote-tracker"}]},"EXCLUDE_POSTS":["397ef29e3ca5"]},"embedPostRules":[],"recircOptions":{"v1":{"limit":3},"v2":{"limit":8}},"braintreeClientKey":"production_zjkj96jm_m56f8fqpf7ngnrd4","braintree":{"enabled":true,"merchantId":"m56f8fqpf7ngnrd4","merchantAccountId":{"usd":"AMediumCorporation_instant","eur":"amediumcorporation_EUR","cad":"amediumcorporation_CAD"},"publicKey":"ds2nn34bg2z7j5gd","braintreeEnvironment":"production","dashboardUrl":"https:\u002F\u002Fwww.braintreegateway.com\u002Fmerchants","gracePeriodDurationInDays":14,"mediumMembershipPlanId":{"monthly":"ce105f8c57a3","monthlyV2":"e8a5e126-792b-4ee6-8fba-d574c1b02fc5","monthlyWithTrial":"d5ee3dbe3db8","monthlyPremium":"fa741a9b47a2","yearly":"a40ad4a43185","yearlyV2":"3815d7d6-b8ca-4224-9b8c-182f9047866e","yearlyStaff":"d74fb811198a","yearlyWithTrial":"b3bc7350e5c7","yearlyPremium":"e21bd2c12166","monthlyOneYearFree":"e6c0637a-2bad-4171-ab4f-3c268633d83c","monthly25PercentOffFirstYear":"235ecc62-0cdb-49ae-9378-726cd21c504b","monthly20PercentOffFirstYear":"ba518864-9c13-4a99-91ca-411bf0cac756","monthly15PercentOffFirstYear":"594c029b-9f89-43d5-88f8-8173af4e070e","monthly10PercentOffFirstYear":"c6c7bc9a-40f2-4b51-8126-e28511d5bdb0","monthlyForStudents":"629ebe51-da7d-41fd-8293-34cd2f2030a8","yearlyOneYearFree":"78ba7be9-0d9f-4ece-aa3e-b54b826f2bf1","yearly25PercentOffFirstYear":"2dbb010d-bb8f-4eeb-ad5c-a08509f42d34","yearly20PercentOffFirstYear":"47565488-435b-47f8-bf93-40d5fbe0ebc8","yearly15PercentOffFirstYear":"8259809b-0881-47d9-acf7-6c001c7f720f","yearly10PercentOffFirstYear":"9dd694fb-96e1-472c-8d9e-3c868d5c1506","yearlyForStudents":"e29345ef-ab1c-4234-95c5-70e50fe6bc23","monthlyCad":"p52orjkaceei","yearlyCad":"h4q9g2up9ktt"},"braintreeDiscountId":{"oneMonthFree":"MONTHS_FREE_01","threeMonthsFree":"MONTHS_FREE_03","sixMonthsFree":"MONTHS_FREE_06","fiftyPercentOffOneYear":"FIFTY_PERCENT_OFF_ONE_YEAR"},"3DSecureVersion":"2","defaultCurrency":"usd","providerPlanIdCurrency":{"4ycw":"usd","rz3b":"usd","3kqm":"usd","jzw6":"usd","c2q2":"usd","nnsw":"usd","q8qw":"usd","d9y6":"usd","fx7w":"cad","nwf2":"cad"}},"paypalClientId":"AXj1G4fotC2GE8KzWX9mSxCH1wmPE3nJglf4Z2ig_amnhvlMVX87otaq58niAg9iuLktVNF_1WCMnN7v","paypal":{"host":"https:\u002F\u002Fapi.paypal.com:443","clientMode":"production","serverMode":"live","webhookId":"4G466076A0294510S","monthlyPlan":{"planId":"P-9WR0658853113943TMU5FDQA","name":"Medium Membership (Monthly) with setup fee","description":"Unlimited access to the best and brightest stories on Medium. Membership billed monthly."},"yearlyPlan":{"planId":"P-7N8963881P8875835MU5JOPQ","name":"Medium Membership (Annual) with setup fee","description":"Unlimited access to the best and brightest stories on Medium. Membership billed annually."},"oneYearGift":{"name":"Medium Membership (1 Year, Digital Gift Code)","description":"Unlimited access to the best and brightest stories on Medium. Gift codes can be redeemed at medium.com\u002Fredeem.","price":"50.00","currency":"USD","sku":"membership-gift-1-yr"},"oldMonthlyPlan":{"planId":"P-96U02458LM656772MJZUVH2Y","name":"Medium Membership (Monthly)","description":"Unlimited access to the best and brightest stories on Medium. Membership billed monthly."},"oldYearlyPlan":{"planId":"P-59P80963JF186412JJZU3SMI","name":"Medium Membership (Annual)","description":"Unlimited access to the best and brightest stories on Medium. Membership billed annually."},"monthlyPlanWithTrial":{"planId":"P-66C21969LR178604GJPVKUKY","name":"Medium Membership (Monthly) with setup fee","description":"Unlimited access to the best and brightest stories on Medium. Membership billed monthly."},"yearlyPlanWithTrial":{"planId":"P-6XW32684EX226940VKCT2MFA","name":"Medium Membership (Annual) with setup fee","description":"Unlimited access to the best and brightest stories on Medium. Membership billed annually."},"oldMonthlyPlanNoSetupFee":{"planId":"P-4N046520HR188054PCJC7LJI","name":"Medium Membership (Monthly)","description":"Unlimited access to the best and brightest stories on Medium. Membership billed monthly."},"oldYearlyPlanNoSetupFee":{"planId":"P-7A4913502Y5181304CJEJMXQ","name":"Medium Membership (Annual)","description":"Unlimited access to the best and brightest stories on Medium. Membership billed annually."},"sdkUrl":"https:\u002F\u002Fwww.paypal.com\u002Fsdk\u002Fjs"},"stripePublishableKey":"pk_live_7FReX44VnNIInZwrIIx6ghjl","log":{"json":true,"level":"info"},"imageUploadMaxSizeMb":25,"staffPicks":{"title":"Staff Picks","catalogId":"c7bc6e1ee00f"}},"session":{"xsrf":""}}</script><script>window.__APOLLO_STATE__ = {"ROOT_QUERY":{"__typename":"Query","collectionByDomainOrSlug({\"domainOrSlug\":\"oracledevs\"})":{"__ref":"Collection:749dcac244ef"},"postResult({\"id\":\"aabe62145128\"})":{"__ref":"Post:aabe62145128"},"viewer":null},"ImageMetadata:":{"__typename":"ImageMetadata","id":"","originalWidth":0,"originalHeight":0},"Collection:749dcac244ef":{"__typename":"Collection","id":"749dcac244ef","favicon":{"__ref":"ImageMetadata:"},"customStyleSheet":null,"colorPalette":{"__typename":"ColorPalette","highlightSpectrum":{"__typename":"ColorSpectrum","backgroundColor":"#FFFFFFFF","colorPoints":[{"__typename":"ColorPoint","color":"#FFFFFFFF","point":0},{"__typename":"ColorPoint","color":"#FFE8F3E8","point":0.1},{"__typename":"ColorPoint","color":"#FFE8F3E8","point":0.2},{"__typename":"ColorPoint","color":"#FFD1E7D1","point":0.6},{"__typename":"ColorPoint","color":"#FFA3D0A2","point":1}]},"defaultBackgroundSpectrum":{"__typename":"ColorSpectrum","backgroundColor":"#FFFFFFFF","colorPoints":[{"__typename":"ColorPoint","color":"#FF1A8917","point":0},{"__typename":"ColorPoint","color":"#FF11800E","point":0.1},{"__typename":"ColorPoint","color":"#FF0F730C","point":0.2},{"__typename":"ColorPoint","color":"#FF095407","point":1}]},"tintBackgroundSpectrum":null},"domain":null,"slug":"oracledevs","googleAnalyticsId":null,"editors":[{"__typename":"CollectionMastheadUserItem","user":{"__ref":"User:9d1acba1b88f"}},{"__typename":"CollectionMastheadUserItem","user":{"__ref":"User:4bbf2e740b0f"}},{"__typename":"CollectionMastheadUserItem","user":{"__ref":"User:8f09487ec8df"}},{"__typename":"CollectionMastheadUserItem","user":{"__ref":"User:3642bc261e2b"}},{"__typename":"CollectionMastheadUserItem","user":{"__ref":"User:590ea5807e84"}},{"__typename":"CollectionMastheadUserItem","user":{"__ref":"User:459b9619f3bd"}},{"__typename":"CollectionMastheadUserItem","user":{"__ref":"User:3ff948cd0b53"}},{"__typename":"CollectionMastheadUserItem","user":{"__ref":"User:b6015dcf502"}},{"__typename":"CollectionMastheadUserItem","user":{"__ref":"User:618c0510c034"}},{"__typename":"CollectionMastheadUserItem","user":{"__ref":"User:955977301352"}}],"name":"Oracle Developers","avatar":{"__ref":"ImageMetadata:1*RS7-qSTx76xpN2FcHDppBw.jpeg"},"description":"Aggregation of articles from Oracle engineers, Groundbreaker Ambassadors, Oracle ACEs, and Java Champions on all things Oracle technology. The views expressed are those of the authors and not necessarily of Oracle.","subscriberCount":40676,"latestPostsConnection({\"paging\":{\"limit\":1}})":{"__typename":"PostConnection","posts":[{"__ref":"Post:4b9a584f147c"}]},"viewerEdge":{"__ref":"CollectionViewerEdge:collectionId:749dcac244ef-viewerId:lo_07332aa858a6"},"twitterUsername":"OracleDevs","facebookPageId":null,"logo":{"__ref":"ImageMetadata:"}},"User:9d1acba1b88f":{"__typename":"User","id":"9d1acba1b88f"},"User:4bbf2e740b0f":{"__typename":"User","id":"4bbf2e740b0f"},"User:8f09487ec8df":{"__typename":"User","id":"8f09487ec8df"},"User:3642bc261e2b":{"__typename":"User","id":"3642bc261e2b"},"User:590ea5807e84":{"__typename":"User","id":"590ea5807e84"},"User:459b9619f3bd":{"__typename":"User","id":"459b9619f3bd"},"User:3ff948cd0b53":{"__typename":"User","id":"3ff948cd0b53"},"User:b6015dcf502":{"__typename":"User","id":"b6015dcf502"},"User:618c0510c034":{"__typename":"User","id":"618c0510c034"},"User:955977301352":{"__typename":"User","id":"955977301352"},"ImageMetadata:1*RS7-qSTx76xpN2FcHDppBw.jpeg":{"__typename":"ImageMetadata","id":"1*RS7-qSTx76xpN2FcHDppBw.jpeg"},"User:1ccbb88e331d":{"__typename":"User","id":"1ccbb88e331d","customDomainState":null,"hasSubdomain":false,"username":"somadeymondal"},"Post:4b9a584f147c":{"__typename":"Post","id":"4b9a584f147c","firstPublishedAt":1732118647113,"creator":{"__ref":"User:1ccbb88e331d"},"collection":{"__ref":"Collection:749dcac244ef"},"isSeries":false,"mediumUrl":"https:\u002F\u002Fmedium.com\u002Foracledevs\u002Fleveraging-pgcrypto-and-oci-vault-for-enhanced-security-in-postgresql-on-oci-4b9a584f147c","sequence":null,"uniqueSlug":"leveraging-pgcrypto-and-oci-vault-for-enhanced-security-in-postgresql-on-oci-4b9a584f147c"},"LinkedAccounts:d4fadefb996c":{"__typename":"LinkedAccounts","mastodon":null,"id":"d4fadefb996c"},"UserViewerEdge:userId:d4fadefb996c-viewerId:lo_07332aa858a6":{"__typename":"UserViewerEdge","id":"userId:d4fadefb996c-viewerId:lo_07332aa858a6","isFollowing":false,"isUser":false,"isMuting":false},"User:d4fadefb996c":{"__typename":"User","id":"d4fadefb996c","linkedAccounts":{"__ref":"LinkedAccounts:d4fadefb996c"},"isSuspended":false,"imageId":"0*gZCVwYxVCou_WqDy.","mediumMemberAt":0,"verifications":{"__typename":"VerifiedInfo","isBookAuthor":false},"name":"Andre Boaventura","socialStats":{"__typename":"SocialStats","followerCount":115,"followingCount":92,"collectionFollowingCount":2},"username":"aboavent.ab","customDomainState":null,"hasSubdomain":false,"bio":"Principal Solutions Architect driving Cloud, AppDev, Serverless, Mobile, Chatbot, AI\u002FML, Container & Cloud Native technologies @AWS","isPartnerProgramEnrolled":false,"viewerEdge":{"__ref":"UserViewerEdge:userId:d4fadefb996c-viewerId:lo_07332aa858a6"},"viewerIsUser":false,"newsletterV3":null,"postSubscribeMembershipUpsellShownAt":0,"membership":null,"allowNotes":true,"twitterScreenName":"aboavent_ab"},"Paragraph:e69b37512def_0":{"__typename":"Paragraph","id":"e69b37512def_0","name":"6515","type":"H3","href":null,"layout":null,"metadata":null,"text":"Demystifying Blockchain and Consensus Mechanisms — Everything You Wanted to Know But Were Never Told","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"ImageMetadata:1*u1F5V8Uq6wOEBzO8-DDolw.jpeg":{"__typename":"ImageMetadata","id":"1*u1F5V8Uq6wOEBzO8-DDolw.jpeg","originalHeight":1900,"originalWidth":4458,"focusPercentX":null,"focusPercentY":null,"alt":null},"Paragraph:e69b37512def_1":{"__typename":"Paragraph","id":"e69b37512def_1","name":"faee","type":"IMG","href":null,"layout":"FULL_WIDTH","metadata":{"__ref":"ImageMetadata:1*u1F5V8Uq6wOEBzO8-DDolw.jpeg"},"text":"","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_2":{"__typename":"Paragraph","id":"e69b37512def_2","name":"249b","type":"P","href":null,"layout":null,"metadata":null,"text":"It is likely that you’ve heard so far, many descriptions of what blockchain is, and that description probably is related somehow with money. Of course, this is not happening by chance, but actually due to many popular technologies such as Bitcoin, Ethereum, Ripple and many others currently available in the cryptocurrency marketplace, which have this solution based on DLT(Distributed Ledger Technology), as their core implementation foundation, which is the basis for trading cryptocurrencies and other assets through public & private markets. However, Blockchain technology goes much further than just cryptocurrencies. Today, blockchain is already adopted as part of many everyday B2B transactions, including those powered by enterprise applications such as ERPs, Supply Chain, Financial Services, Healthcare systems, etc, and the list is much longer than this one.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"EM","start":374,"end":403,"href":null,"anchorType":null,"userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_3":{"__typename":"Paragraph","id":"e69b37512def_3","name":"90f7","type":"P","href":null,"layout":null,"metadata":null,"text":"The Blockchain is an undeniably ingenious invention — the brainchild of a person or group of people known by the pseudonym, Satoshi Nakamoto. But since then, it has evolved into something greater, and the main question every single person is asking is: What is Blockchain?","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"STRONG","start":253,"end":272,"href":null,"anchorType":null,"userId":null,"linkMetadata":null},{"__typename":"Markup","type":"EM","start":253,"end":272,"href":null,"anchorType":null,"userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_4":{"__typename":"Paragraph","id":"e69b37512def_4","name":"1844","type":"P","href":null,"layout":null,"metadata":null,"text":"By definition, Blockchain is a continuously growing list of records, called blocks, which are linked and secured using cryptography. Each block typically contains a cryptographic hash of the previous block, a timestamp and transaction data. By design, a blockchain is inherently resistant to modification of the data. It is “an open, distributed ledger that can record transactions between two parties efficiently and in a verifiable and permanent way”. For use as a distributed ledger, a blockchain is typically managed by a peer-to-peer network collectively adhering to a protocol for validating new blocks. Once recorded, the data in any given block cannot be altered retroactively without the alteration of all subsequent blocks, which requires collusion of the network majority.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"STRONG","start":14,"end":25,"href":null,"anchorType":null,"userId":null,"linkMetadata":null},{"__typename":"Markup","type":"EM","start":14,"end":25,"href":null,"anchorType":null,"userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_5":{"__typename":"Paragraph","id":"e69b37512def_5","name":"b3e1","type":"P","href":null,"layout":null,"metadata":null,"text":"Generally speaking, a blockchain network is a system for maintaining distributed ledgers or facts and the history of the ledgers’ updates. This approach allows organizations that don’t fully trust each other to agree on the updates submitted to a shared ledger by using peer-to-peer protocols rather than a central third party or manual offline reconciliation process. Blockchain enables real-time transactions and securely shares tamper-proof data across a trusted business network.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"ImageMetadata:0*E9zbDLM8buI59L03.":{"__typename":"ImageMetadata","id":"0*E9zbDLM8buI59L03.","originalHeight":355,"originalWidth":676,"focusPercentX":null,"focusPercentY":null,"alt":null},"Paragraph:e69b37512def_6":{"__typename":"Paragraph","id":"e69b37512def_6","name":"7495","type":"IMG","href":null,"layout":"INSET_CENTER","metadata":{"__ref":"ImageMetadata:0*E9zbDLM8buI59L03."},"text":"","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_7":{"__typename":"Paragraph","id":"e69b37512def_7","name":"d6a8","type":"P","href":null,"layout":null,"metadata":null,"text":"There are essentially two types of Blockchain considering the access perspective:","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_8":{"__typename":"Paragraph","id":"e69b37512def_8","name":"892b","type":"H3","href":null,"layout":null,"metadata":null,"text":"Permissionless","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_9":{"__typename":"Paragraph","id":"e69b37512def_9","name":"7930","type":"P","href":null,"layout":null,"metadata":null,"text":"Basically, anyone can read the chain, anyone can make legitimate changes and anyone can write a new block into the chain (as long as they follow the rules).","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_10":{"__typename":"Paragraph","id":"e69b37512def_10","name":"f6aa","type":"P","href":null,"layout":null,"metadata":null,"text":"Bitcoin is by far the most popular example of a successful public blockchain network. It is totally decentralized. It is also described as a ‘censor-proof’ blockchain. Bitcoin and other cryptocurrencies such as Ethereum currently secure their blockchain by requiring new entries to include a proof of work. However, due to the way a public blockchain works, they require computer resource intensive mining process to add blocks cryptographically. Also, Consensus models based on computationally expensive algorithms requiring the processing power of many nodes to ensure security","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_11":{"__typename":"Paragraph","id":"e69b37512def_11","name":"5131","type":"P","href":null,"layout":null,"metadata":null,"text":"The great advantage to an open, permissionless, or public, blockchain network is that guarding against bad actors is not required and no access control is needed. This means that applications can be added to the network without the approval or trust of others, using the blockchain as a transport layer.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_12":{"__typename":"Paragraph","id":"e69b37512def_12","name":"1ddf","type":"P","href":null,"layout":null,"metadata":null,"text":"For these reasons, it’s also known by its widest description, a public blockchain. But, obviously, this is not the only way to build a blockchain.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_13":{"__typename":"Paragraph","id":"e69b37512def_13","name":"4e7f","type":"H3","href":null,"layout":null,"metadata":null,"text":"Permissioned","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_14":{"__typename":"Paragraph","id":"e69b37512def_14","name":"8c2f","type":"P","href":null,"layout":null,"metadata":null,"text":"Essentially they are a closed ecosystem where members are invited to join and keep a copy of the ledger. e.g.: (Hyperledger, R3 Corda). Permissioned blockchains use an access control layer to govern who has access to the network. In contrast to public blockchain networks, validators on private blockchain networks are vetted by the network owner.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"STRONG","start":104,"end":111,"href":null,"anchorType":null,"userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_15":{"__typename":"Paragraph","id":"e69b37512def_15","name":"83e8","type":"P","href":null,"layout":null,"metadata":null,"text":"They do not rely on anonymous nodes to validate transactions nor do they benefit from the network effect, but they rely on something called consensus protocol, like bitcoin’s proof of work (the one we hear about most often), that does two basic things: it ensures that the next block in a blockchain is the one and only version of the truth, and it keeps powerful adversaries from derailing the system and successfully forking the chain.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_16":{"__typename":"Paragraph","id":"e69b37512def_16","name":"685e","type":"P","href":null,"layout":null,"metadata":null,"text":"Consensus protocol comprises of 3 basic steps:","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_17":{"__typename":"Paragraph","id":"e69b37512def_17","name":"b7cf","type":"ULI","href":null,"layout":null,"metadata":null,"text":"Endorsement: determine whether to accept or reject a transaction","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"STRONG","start":0,"end":11,"href":null,"anchorType":null,"userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_18":{"__typename":"Paragraph","id":"e69b37512def_18","name":"fe6c","type":"ULI","href":null,"layout":null,"metadata":null,"text":"Ordering: sort all transactions within a time period into a sequence","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"STRONG","start":0,"end":8,"href":null,"anchorType":null,"userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_19":{"__typename":"Paragraph","id":"e69b37512def_19","name":"d4c6","type":"ULI","href":null,"layout":null,"metadata":null,"text":"Validation: verify endorsement satisfy policy and Read set is valid","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"STRONG","start":0,"end":10,"href":null,"anchorType":null,"userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_20":{"__typename":"Paragraph","id":"e69b37512def_20","name":"480e","type":"P","href":null,"layout":null,"metadata":null,"text":"Permissioned networks can also go by the name of ‘consortium’ or ‘hybrid’ blockchains.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"STRONG","start":49,"end":73,"href":null,"anchorType":null,"userId":null,"linkMetadata":null},{"__typename":"Markup","type":"EM","start":49,"end":73,"href":null,"anchorType":null,"userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"ImageMetadata:0*aFj39Sc4goANVkUa.":{"__typename":"ImageMetadata","id":"0*aFj39Sc4goANVkUa.","originalHeight":449,"originalWidth":676,"focusPercentX":null,"focusPercentY":null,"alt":null},"Paragraph:e69b37512def_21":{"__typename":"Paragraph","id":"e69b37512def_21","name":"0f85","type":"IMG","href":null,"layout":"INSET_CENTER","metadata":{"__ref":"ImageMetadata:0*aFj39Sc4goANVkUa."},"text":"","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_22":{"__typename":"Paragraph","id":"e69b37512def_22","name":"be71","type":"H3","href":null,"layout":null,"metadata":null,"text":"Blockchain Consensus mechanisms","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_23":{"__typename":"Paragraph","id":"e69b37512def_23","name":"90e9","type":"P","href":null,"layout":null,"metadata":null,"text":"A blockchain is a decentralized peer-to-peer system with no central authority figure. While this creates a system that is devoid of corruption from a single source, it still creates a major problem.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_24":{"__typename":"Paragraph","id":"e69b37512def_24","name":"7789","type":"ULI","href":null,"layout":null,"metadata":null,"text":"How are any decisions made?","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_25":{"__typename":"Paragraph","id":"e69b37512def_25","name":"fde7","type":"ULI","href":null,"layout":null,"metadata":null,"text":"How does anything get done?","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_26":{"__typename":"Paragraph","id":"e69b37512def_26","name":"d2b7","type":"P","href":null,"layout":null,"metadata":null,"text":"Think of a normal centralized organization. All the decisions are taken by the leader or a board of decision makers. This isn’t possible in a blockchain because a blockchain has no “leader”. For the blockchain to make decisions, they need to come to a consensus using “consensus mechanisms”.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"STRONG","start":269,"end":289,"href":null,"anchorType":null,"userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_27":{"__typename":"Paragraph","id":"e69b37512def_27","name":"85d7","type":"P","href":null,"layout":null,"metadata":null,"text":"So, how do these consensus mechanisms work and why did we need them? What are some of the consensus mechanisms used in cryptocurrencies and in some Blockchain implementations such as Hyperledger? All these questions will be answered later on, however let’s understand how a consensus work prior to talk about some available implementations.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"STRONG","start":17,"end":37,"href":null,"anchorType":null,"userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_28":{"__typename":"Paragraph","id":"e69b37512def_28","name":"f1ec","type":"P","href":null,"layout":null,"metadata":null,"text":"In simpler terms, consensus is a dynamic way of reaching agreement in a group. While voting just settles for a majority rule without any thought for the feelings and well-being of the minority, a consensus on the other hand makes sure that an agreement is reached which could benefit the entire group as a whole. A method by which consensus decision-making is achieved is called “consensus mechanism”.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"STRONG","start":380,"end":399,"href":null,"anchorType":null,"userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_29":{"__typename":"Paragraph","id":"e69b37512def_29","name":"8684","type":"P","href":null,"layout":null,"metadata":null,"text":"So now that we have defined what a consensus is, let’s look at what the objectives of a consensus mechanism are:","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_30":{"__typename":"Paragraph","id":"e69b37512def_30","name":"47ca","type":"ULI","href":null,"layout":null,"metadata":null,"text":"Agreement Seeking: A consensus mechanism should bring about as much agreement from the group as possible.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"STRONG","start":0,"end":17,"href":null,"anchorType":null,"userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_31":{"__typename":"Paragraph","id":"e69b37512def_31","name":"8ac2","type":"ULI","href":null,"layout":null,"metadata":null,"text":"Collaborative: All the participants should aim to work together to achieve a result that puts the best interest of the group first.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"STRONG","start":0,"end":13,"href":null,"anchorType":null,"userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_32":{"__typename":"Paragraph","id":"e69b37512def_32","name":"23f9","type":"ULI","href":null,"layout":null,"metadata":null,"text":"Cooperative: All the participants shouldn’t put their own interests first and work as a team more than individuals.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"STRONG","start":0,"end":11,"href":null,"anchorType":null,"userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_33":{"__typename":"Paragraph","id":"e69b37512def_33","name":"b471","type":"ULI","href":null,"layout":null,"metadata":null,"text":"Egalitarian: A group trying to achieve consensus should be as egalitarian as possible. What this basically means that each and every vote has equal weight. One person’s vote can’t be more important than another’s.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"STRONG","start":0,"end":11,"href":null,"anchorType":null,"userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_34":{"__typename":"Paragraph","id":"e69b37512def_34","name":"ddcc","type":"ULI","href":null,"layout":null,"metadata":null,"text":"Inclusive: As many people as possible should be involved in the consensus process. It shouldn’t be like normal voting where people don’t really feel like voting because they believe that their vote won’t have any weight in the long run.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"STRONG","start":0,"end":9,"href":null,"anchorType":null,"userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_35":{"__typename":"Paragraph","id":"e69b37512def_35","name":"d0cc","type":"ULI","href":null,"layout":null,"metadata":null,"text":"Participatory: The consensus mechanism should be such that everyone should actively participate in the overall process.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"STRONG","start":0,"end":13,"href":null,"anchorType":null,"userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_36":{"__typename":"Paragraph","id":"e69b37512def_36","name":"1bef","type":"P","href":null,"layout":null,"metadata":null,"text":"Now that we have defined what consensus mechanisms are and what they should aim for, we need to think of the other questions: Which consensus mechanisms should be used for blockchain network to keep their original characteristics such reliability, security and availability?","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"STRONG","start":132,"end":152,"href":null,"anchorType":null,"userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_37":{"__typename":"Paragraph","id":"e69b37512def_37","name":"ab98","type":"P","href":null,"layout":null,"metadata":null,"text":"We hear plenty of talk of how public blockchains are going to change the world, but to function on a global scale, a shared public ledger like Bitcoin needs a functional, efficient and secure consensus algorithm.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_38":{"__typename":"Paragraph","id":"e69b37512def_38","name":"0092","type":"P","href":null,"layout":null,"metadata":null,"text":"Before Bitcoin, there were loads of iterations of peer-to-peer decentralized currency systems which failed because they were unable to answer the biggest problem when it came to reaching a consensus. This problem is called “Byzantine Generals Problem(BGP)”.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"STRONG","start":224,"end":255,"href":null,"anchorType":null,"userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_39":{"__typename":"Paragraph","id":"e69b37512def_39","name":"2ab2","type":"H3","href":null,"layout":null,"metadata":null,"text":"Byzantine Generals Problem(BGP)","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_40":{"__typename":"Paragraph","id":"e69b37512def_40","name":"64dd","type":"P","href":null,"layout":null,"metadata":null,"text":"Imagine that several divisions of the Byzantine army are camped outside an enemy city, each division commanded by its own general. The generals can communicate with one another only by messenger. After observing the enemy, they must decide upon a common plan of action. However, some of the generals may be traitors, trying to prevent the loyal generals from reaching agreement. The generals must decide on when to attack the city, but they need a strong majority of their army to attack at the same time. The generals must have an algorithm to guarantee that: (a)","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_41":{"__typename":"Paragraph","id":"e69b37512def_41","name":"d553","type":"OLI","href":null,"layout":null,"metadata":null,"text":"All loyal generals decide upon the same plan of action, and","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_42":{"__typename":"Paragraph","id":"e69b37512def_42","name":"2bf8","type":"OLI","href":null,"layout":null,"metadata":null,"text":"A small number of traitors cannot cause the loyal generals to adopt a bad plan. The loyal generals will all do what the algorithm says they should, but the traitors may do anything they wish.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_43":{"__typename":"Paragraph","id":"e69b37512def_43","name":"abd9","type":"P","href":null,"layout":null,"metadata":null,"text":"The algorithm must guarantee condition (a) regardless of what the traitors do. The loyal generals should not only reach agreement, but should agree upon a reasonable plan.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"ImageMetadata:0*vOQRoUWkBvbUphaY.":{"__typename":"ImageMetadata","id":"0*vOQRoUWkBvbUphaY.","originalHeight":304,"originalWidth":676,"focusPercentX":null,"focusPercentY":null,"alt":null},"Paragraph:e69b37512def_44":{"__typename":"Paragraph","id":"e69b37512def_44","name":"5ce0","type":"IMG","href":null,"layout":"INSET_CENTER","metadata":{"__ref":"ImageMetadata:0*vOQRoUWkBvbUphaY."},"text":"","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_45":{"__typename":"Paragraph","id":"e69b37512def_45","name":"cb6f","type":"P","href":null,"layout":null,"metadata":null,"text":"Figure 3 — Byzantine Generals Problem","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"STRONG","start":0,"end":37,"href":null,"anchorType":null,"userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_46":{"__typename":"Paragraph","id":"e69b37512def_46","name":"1dc6","type":"P","href":null,"layout":null,"metadata":null,"text":"Looking at the picture above, you can understand the problem and what is the challenge for Byzantine generals while attacking a city. They are facing two very distinct problems:","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_47":{"__typename":"Paragraph","id":"e69b37512def_47","name":"7b63","type":"ULI","href":null,"layout":null,"metadata":null,"text":"The generals and their armies are very far apart so centralized authority is impossible, which makes coordinated attack very tough.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_48":{"__typename":"Paragraph","id":"e69b37512def_48","name":"13fc","type":"ULI","href":null,"layout":null,"metadata":null,"text":"The city has a huge army and the only way that they can win is if they all attack at once.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_49":{"__typename":"Paragraph","id":"e69b37512def_49","name":"2e6f","type":"P","href":null,"layout":null,"metadata":null,"text":"What these generals need, is a consensus mechanism which can make sure that their army can actually attack as a unit despite all these setbacks.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"STRONG","start":31,"end":50,"href":null,"anchorType":null,"userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_50":{"__typename":"Paragraph","id":"e69b37512def_50","name":"be25","type":"P","href":null,"layout":null,"metadata":null,"text":"This has clear references to blockchain as well. The chain is a huge network; how can you possibly trust them? If you were sending someone 4 Bitcoin from your wallet, how would you know for sure that someone in the network isn’t going to tamper with it and change 4 to 40 Bitcoins?","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_51":{"__typename":"Paragraph","id":"e69b37512def_51","name":"70bf","type":"P","href":null,"layout":null,"metadata":null,"text":"This is where consensus mechanisms come to the rescue. As such, now we are going to go through a list of consensus mechanisms which can solve the Byzantine Generals problem for some very known Blockchain networks such as Bitcoin, Ethereum, Ripple, Peercoin, Hyperledger and many others.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"ImageMetadata:0*Bd6phRcbWI2Z4z5L.":{"__typename":"ImageMetadata","id":"0*Bd6phRcbWI2Z4z5L.","originalHeight":516,"originalWidth":516,"focusPercentX":null,"focusPercentY":null,"alt":null},"Paragraph:e69b37512def_52":{"__typename":"Paragraph","id":"e69b37512def_52","name":"b6c5","type":"IMG","href":null,"layout":"INSET_CENTER","metadata":{"__ref":"ImageMetadata:0*Bd6phRcbWI2Z4z5L."},"text":"","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_53":{"__typename":"Paragraph","id":"e69b37512def_53","name":"fadd","type":"H3","href":null,"layout":null,"metadata":null,"text":"Proof of Work (PoW)","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_54":{"__typename":"Paragraph","id":"e69b37512def_54","name":"a3e4","type":"P","href":null,"layout":null,"metadata":null,"text":"Bitcoin uses Proof of Work(PoW) to ensure blockchain security and consensus. “Proof of Work”, as its name implies, requires that the decentralized participants that validate blocks show that they have invested significant computing power in doing so.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_55":{"__typename":"Paragraph","id":"e69b37512def_55","name":"1c58","type":"P","href":null,"layout":null,"metadata":null,"text":"In bitcoin, validators (known as “miners”) compete to process a block of transactions and add it to the blockchain.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_56":{"__typename":"Paragraph","id":"e69b37512def_56","name":"b7c5","type":"P","href":null,"layout":null,"metadata":null,"text":"In proof of work, miners compete to add the next block (a set of transactions) in the chain by racing to solve a extremely difficult cryptographic puzzle. They do this by churning enough random guesses on their computer to come up with an answer within the parameters established by the bitcoin. This process requires immense amount of energy and computational usage. The puzzles have been designed in a way which makes it hard and taxing on the system. Essentially this puzzle that needs solving is to find a number that, when combined with the data in the block and passed through a hash function, produces a result that is within a certain range. This is much harder than it sounds. The main character in this game is called a “nonce”, which is an abbreviation of “number used once”. In the case of bitcoin, the nonce is an integer between 0 and 4.294.967.296.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_57":{"__typename":"Paragraph","id":"e69b37512def_57","name":"41e8","type":"P","href":null,"layout":null,"metadata":null,"text":"How do they find this number? By guessing at random. The hash function makes it impossible to predict what the output will be. So, miners guess the mystery number and apply the hash function to the combination of that guessed number and the data in the block. The resulting hash has to start with a pre-established number of zeroes. There’s no way of knowing which number will work, because two consecutive integers will give wildly varying results. What’s more, there may be several nonces that produce the desired result, or there may be none (in which case the miners keep trying, but with a different block configuration).","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_58":{"__typename":"Paragraph","id":"e69b37512def_58","name":"2229","type":"P","href":null,"layout":null,"metadata":null,"text":"When a miner solves the puzzle, they present their block to the network for verification. Verifying whether the block belongs to the chain or not is an extremely simple process. The first to solve the puzzle, wins the lottery. As a reward for his or her efforts, the miner receives newly bitcoins — and a small transaction fee.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_59":{"__typename":"Paragraph","id":"e69b37512def_59","name":"3519","type":"P","href":null,"layout":null,"metadata":null,"text":"The difficulty of the calculation (the required number of zeroes at the beginning of the hash string) is adjusted frequently, so that it takes on average about 10 minutes to process a block.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_60":{"__typename":"Paragraph","id":"e69b37512def_60","name":"e430","type":"P","href":null,"layout":null,"metadata":null,"text":"Why 10 minutes? That is the amount of time that the bitcoin developers think is necessary for a steady and diminishing flow of new coins until the maximum number of 21 million is reached (expected some time in 2140).","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_61":{"__typename":"Paragraph","id":"e69b37512def_61","name":"8eaa","type":"P","href":null,"layout":null,"metadata":null,"text":"Yet, although a masterpiece in its own right, bitcoin’s proof of work isn’t quite perfect.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_62":{"__typename":"Paragraph","id":"e69b37512def_62","name":"6abf","type":"P","href":null,"layout":null,"metadata":null,"text":"Common criticisms include that it requires enormous amounts of computational energy, that it does not scale well (transaction confirmation takes about 10–60 minutes) and that the majority of mining is centralized in areas of the world where electricity is cheap, leading to an inefficient process because of the sheer amount of power and energy that it eats up.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_63":{"__typename":"Paragraph","id":"e69b37512def_63","name":"21b1","type":"P","href":null,"layout":null,"metadata":null,"text":"That said, people and organizations that can afford faster and more powerful ASICs(Application-specific integrated circuit chips) usually have better chance of mining than the others. As a result of this, bitcoin isn’t as decentralized as it wants to be. Theoretically speaking, there are big mining pools that could simply team up with each other and launch over than 51% on the bitcoin network. As a result, those who have significant financial resources have come to dominate the bitcoin mining space. Mining today is embodied by the emergence of enterprise-style, datacenter-hosted mining operations.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_64":{"__typename":"Paragraph","id":"e69b37512def_64","name":"a051","type":"P","href":null,"layout":null,"metadata":null,"text":"Bitcoin creator Satoshi Nakamoto woke us up to the potential of the blockchain, but that doesn’t mean we can’t keep searching for faster, less centralized and more energy-efficient consensus algorithms to carry us into the future. Other examples can be find below such as PoS(Proof-of-Stake), Proof-of-Activity and some others available today.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"ImageMetadata:0*5nwHVxqGYEzaK47J.":{"__typename":"ImageMetadata","id":"0*5nwHVxqGYEzaK47J.","originalHeight":676,"originalWidth":676,"focusPercentX":null,"focusPercentY":null,"alt":null},"Paragraph:e69b37512def_65":{"__typename":"Paragraph","id":"e69b37512def_65","name":"af66","type":"IMG","href":null,"layout":"INSET_CENTER","metadata":{"__ref":"ImageMetadata:0*5nwHVxqGYEzaK47J."},"text":"","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_66":{"__typename":"Paragraph","id":"e69b37512def_66","name":"a284","type":"H3","href":null,"layout":null,"metadata":null,"text":"Proof-of-Stake (PoS)","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_67":{"__typename":"Paragraph","id":"e69b37512def_67","name":"b295","type":"P","href":null,"layout":null,"metadata":null,"text":"The most common alternative to proof of work is proof of stake. In this type of consensus algorithm, instead of investing in expensive computer equipment in a race to mine blocks, a ‘validator’ invests in the coins of the system. Note the term validator. That’s because no coin creation (mining) exists in proof of stake. Instead, all the coins exist from day one, and validators (also called stakeholders, because they hold a stake in the system) are paid strictly in transaction fees. The systems that don’t use proof-of-work are also often called virtual mining systems because they don’t have a mining activity.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_68":{"__typename":"Paragraph","id":"e69b37512def_68","name":"fa00","type":"P","href":null,"layout":null,"metadata":null,"text":"The network selects an individual to approve new messages (that is to say, confirm the validity of new information submitted to the databse) based on their proportional stake in the network. In other words, instead of any individual attempting to calculate a value in order to be chosen to establish a consensus point, the network itself runs a lottery to decide who will announce the results, and system participants are exclusively and automatically entered into that lottery in direct proportion to their total stake in the network. As in the PoW system run by Bitcoin, the PoS system run by organizations such as Peercoin also provides an incentive to participation, which ensures broadest possible network participation and therefore the most robust network security possible. In the Peercoin system, the chosen party is rewarded with a new Peercoin in a process called ‘minting’ (rather than BitCoin’s ‘mining’).","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_69":{"__typename":"Paragraph","id":"e69b37512def_69","name":"0bef","type":"P","href":null,"layout":null,"metadata":null,"text":"As mentioned, proof of stake will make the entire mining process virtual and replace miners with validators. Here is an outline on how the process will work:","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_70":{"__typename":"Paragraph","id":"e69b37512def_70","name":"94b4","type":"ULI","href":null,"layout":null,"metadata":null,"text":"The validators will have to lock up some of their coins as stake.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_71":{"__typename":"Paragraph","id":"e69b37512def_71","name":"54a9","type":"ULI","href":null,"layout":null,"metadata":null,"text":"After that, they will start validating the blocks. Meaning, when they discover a block which they think can be added to the chain, they will validate it by placing a bet on it.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_72":{"__typename":"Paragraph","id":"e69b37512def_72","name":"197c","type":"ULI","href":null,"layout":null,"metadata":null,"text":"If the block gets appended, then the validators will get a reward proportionate to their bets.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_73":{"__typename":"Paragraph","id":"e69b37512def_73","name":"11f9","type":"P","href":null,"layout":null,"metadata":null,"text":"In proof of stake, your chance of being picked to create the next block depends on the fraction of coins in the system you own (or set aside for staking). A validator with 300 coins will be three times as likely to be chosen as someone with 100 coins.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_74":{"__typename":"Paragraph","id":"e69b37512def_74","name":"e041","type":"P","href":null,"layout":null,"metadata":null,"text":"Once a validator creates a block, that block still needs to be committed to the blockchain. Different proof-of-stake systems vary in how they handle this. There are some implementations where every node in the system has to sign off on a block until a majority vote is reached, while in other systems, a random group of signers is chosen.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_75":{"__typename":"Paragraph","id":"e69b37512def_75","name":"5007","type":"P","href":null,"layout":null,"metadata":null,"text":"As you can see, the PoS protocol is a lot more resource-friendly than PoW. In PoW, you NEED to waste a lot of resources to go along with the protocol, it is basically resource wastage for the sake of resource wastage.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_76":{"__typename":"Paragraph","id":"e69b37512def_76","name":"d5e7","type":"P","href":null,"layout":null,"metadata":null,"text":"Although PoS seems to be the most reasonable replacement for PoW, due to not having the issues found in PoW(requires enormous amounts of computational energy, not decentralized as it wants to be since there are just a few large pools that own over than 50% of Bitcoin network together), there is a very common problem that needs to be solved by PoS prior to be largely adopted by a production blockchain implementation. So, reviewing the way PoS works with regards to security, the common questions that could arise would be the following: What is to discourage a validator from creating two blocks and claiming two sets of transaction fees? And what is to discourage a signer from signing both of those blocks? This has been called the ‘nothing-at-stake’ problem. A participant with nothing to lose has no reason not to behave badly. In the burgeoning field of ‘crypto-economics’, blockchain engineers are exploring ways to tackle this and other problems. One answer is to require a validator to lock their currency in a type of virtual vault. If the validator tries to double sign or fork the system, those coins are slashed.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_77":{"__typename":"Paragraph","id":"e69b37512def_77","name":"5bbf","type":"P","href":null,"layout":null,"metadata":null,"text":"Additionally, this system, however, by rewarding those who already are most deeply involved in the network inherently creates an increasingly centralized system. This is inimical to a truly robust network. Therefore proponents of PoS systems have put forward a number of various modifications to help ensure the base for their networks remain as broad (and therefore secure) as possible.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_78":{"__typename":"Paragraph","id":"e69b37512def_78","name":"8085","type":"P","href":null,"layout":null,"metadata":null,"text":"Peercoin was the first coin to implement proof of stake. Ethereum currently relies on proof of work, but is planning a move to proof of stake in early 2018 by solving the PoS problem called ‘nothing-at-stake’ by leveraging a new approach to address this PoS issue called Casper protocol.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_79":{"__typename":"Paragraph","id":"e69b37512def_79","name":"85ba","type":"P","href":null,"layout":null,"metadata":null,"text":"Also, there is a variation of this method called a delegated proof-of-stake (DPoS). This system works along the same lines as the PoS system, except that individuals choose an overarching entity to represent their portion of stake in the system. So imagine, each individual decides if entity 1, 2, or 3 (these could be, for example, computer servers, and are called ‘delegate nodes’ within a DPoS system) will ‘represent’ his or her individual stake in the system. This allows individuals with smaller stakes to team up to magnify their representation, thereby creating a mechanism to help balance out the power of large stake holders. This comes at the cost, however of greater network centralization. Bitshares is one company that employs a DPoS system.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"STRONG","start":51,"end":82,"href":null,"anchorType":null,"userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_80":{"__typename":"Paragraph","id":"e69b37512def_80","name":"ff69","type":"H3","href":null,"layout":null,"metadata":null,"text":"Proof-of-Activity(PoA)","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_81":{"__typename":"Paragraph","id":"e69b37512def_81","name":"0c8b","type":"P","href":null,"layout":null,"metadata":null,"text":"So, proof of activity was created as an alternative incentive structure for bitcoin. Proof of activity is a hybrid approach that combines both proof of work and proof of stake. In proof of activity, mining kicks off in a traditional proof-of-work fashion, with miners racing to solve a cryptographic puzzle. Depending on the implementation, blocks mined do not contain any transactions (they are more like templates), so the winning block will only contain a header and the miner’s reward address.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_82":{"__typename":"Paragraph","id":"e69b37512def_82","name":"8a44","type":"P","href":null,"layout":null,"metadata":null,"text":"At this point, the system switches to proof of stake. Based on information in the header, a random group of validators is chosen to sign the new block. The more coins in the system a validator owns, the more likely he or she is to be chosen. The template becomes a full-fledged block as soon as all of the validators sign it. If some of the selected validators are not available to complete the block, then the next winning block is selected, a new group of validators is chosen, and so on, until a block receives the correct amount of signatures. Fees are split between the miner and the validators who signed off on the block.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_83":{"__typename":"Paragraph","id":"e69b37512def_83","name":"c17c","type":"P","href":null,"layout":null,"metadata":null,"text":"Criticisms of proof of activity are the same as for both proof of work (too much energy is required to mine blocks) and proof of stake (there is nothing to deter a validator from double signing). Decred is the only coin right now using a variation of proof of activity.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_84":{"__typename":"Paragraph","id":"e69b37512def_84","name":"5a33","type":"H3","href":null,"layout":null,"metadata":null,"text":"Practical Byzantine Fault Tolerance Algorithm(PBFT)","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_85":{"__typename":"Paragraph","id":"e69b37512def_85","name":"8a50","type":"P","href":null,"layout":null,"metadata":null,"text":"The Practical Byzantine Fault Tolerance Algorithm (PBFT) was designed as a solution to a problem presented in the form of an allegory described earlier in this introduction chapter under the Byzantine Generals Problem(BGP) section.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_86":{"__typename":"Paragraph","id":"e69b37512def_86","name":"76a2","type":"P","href":null,"layout":null,"metadata":null,"text":"To clarify the allegory for our purposes: the ‘generals’ in the story are the parties participating in the distributed network running the blockchain (database) in question. The messengers they are sending back and forth are the means of communication across the network on which the blockchain is running. The collective goal of the “loyal generals” is to decide whether or not to accept a piece of information submitted to the blockchain (database) as valid or not. A valid piece of information would be, in our allegory, a correct opportunity to decide in favor of attack. Loyal generals, for their part, are faithful blockchain participants, who are interested in ensuring the integrity of the blockchain (database) and therefore ensuring that only correct information is accepted. The trecherous generals, on the other hand, would be any party seeking to falsify information on the blockchain (the database). Their potential motives are myriad — it could be an individual seeking to spend a BitCoin that she does not actually own or another person who wants to get out of contractual obligations as outlined in a smart contract he already signed and submitted.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_87":{"__typename":"Paragraph","id":"e69b37512def_87","name":"f33d","type":"P","href":null,"layout":null,"metadata":null,"text":"Various computer scientists have outline a number of potential solutions to the Byzantine generals problem from the allegory. The practical byzantine fault tolerance algorithm (PBFT), which is used to establish consensus in blockchain systems, is only one of those potential solutions. Three examples of blockchains that rely on the PBFT for conses are Hyperledger, Stellar, and Ripple. Very roughly and without explaining the whole algorithm (which would take a multiple page research paper), what the PBFT does is as follows: Each ‘general’ maintains an internal state (ongoing specific information or status). When a ‘general’ receives a message, they use the message in conjunction with their internal state to run a computation or operation. This computation in turn tells that individual ‘general’ what to think about the message in question. Then, after reaching his individual decision about the new message, that ‘general’ shares that decision with all the other ‘generals’ in the system. A consensus decision is determined based on the total decisions submitted by all generals.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_88":{"__typename":"Paragraph","id":"e69b37512def_88","name":"b605","type":"P","href":null,"layout":null,"metadata":null,"text":"Among other considerations, this method of establishing consensus requires less effort than other previous methods described earlier. Also, PBFT is a system initially devised for low-latency storage systems — something that could be applicable in digital asset-based platforms that don’t require a large amount of throughput, but do demand many transactions.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"ImageMetadata:0*WjjlChloewsPvCnI.":{"__typename":"ImageMetadata","id":"0*WjjlChloewsPvCnI.","originalHeight":507,"originalWidth":676,"focusPercentX":null,"focusPercentY":null,"alt":null},"Paragraph:e69b37512def_89":{"__typename":"Paragraph","id":"e69b37512def_89","name":"e0bf","type":"IMG","href":null,"layout":"INSET_CENTER","metadata":{"__ref":"ImageMetadata:0*WjjlChloewsPvCnI."},"text":"","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_90":{"__typename":"Paragraph","id":"e69b37512def_90","name":"869b","type":"H3","href":null,"layout":null,"metadata":null,"text":"Hyperledger’s approach for consensus","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_91":{"__typename":"Paragraph","id":"e69b37512def_91","name":"71c7","type":"P","href":null,"layout":null,"metadata":null,"text":"The Hyperledger project allows developers to create their own digital assets with a distributed ledger powered by nodes built on the principle of PBFT. The system could be used to digitally back a real asset (such as a house), create new coins, or form a fault-tolerant system of consensus.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_92":{"__typename":"Paragraph","id":"e69b37512def_92","name":"dd77","type":"P","href":null,"layout":null,"metadata":null,"text":"The idea for Hyperledger’s use of PBFT goes beyond asset-based systems. It takes the idea of an algorithm for consensus and uses it to distribute all sorts of technical solutions — not just the low latency, high-speed file storage solution it was originally built to provide. This might be a good method of testing the power of nodes that do not use incentive to develop their strength. What will happen without such rewards? Systems like Hyperledger aim to find out. If you use Byzantine Fault Tolerance, ideally corruption problems are contained. The other nodes can realize a node is misbehaving, and not respond to its messages.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_93":{"__typename":"Paragraph","id":"e69b37512def_93","name":"d02f","type":"P","href":null,"layout":null,"metadata":null,"text":"In distributed ledger technology, consensus has recently become synonymous with a specific algorithm, within a single function. However, consensus encompasses more than simply agreeing upon the order of transactions, and this differentiation is highlighted in Hyperledger Fabric through its fundamental role in the entire transaction flow, from proposal and endorsement, to ordering, validation and commitment. In a nutshell, consensus is defined as the full-circle verification of the correctness of a set of transactions comprising a block.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_94":{"__typename":"Paragraph","id":"e69b37512def_94","name":"4005","type":"P","href":null,"layout":null,"metadata":null,"text":"As for Hyperledger implementation, consensus is ultimately achieved when the order and results of a block’s transactions have met the explicit policy criteria checks. These checks and balances take place during the lifecycle of a transaction, and include the usage of endorsement policies to dictate which specific members must endorse a certain transaction class, as well as system chaincodes to ensure that these policies are enforced and upheld. Prior to commitment, the peers will employ these system chaincodes to make sure that enough endorsements are present, and that they were derived from the appropriate entities. Moreover, a versioning check will take place during which the current state of the ledger is agreed or consented upon, before any blocks containing transactions are appended to the ledger. This final check provides protection against double spend operations and other threats that might compromise data integrity, and allows for functions to be executed against non-static variables.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_95":{"__typename":"Paragraph","id":"e69b37512def_95","name":"c0be","type":"P","href":null,"layout":null,"metadata":null,"text":"Also, since Hyperledger Fabric requires all participants to be authenticated, due to its permissioned implementation nature, in addition to take advantage of this characteristic to govern certain levels of access control (e.g. this user can read the ledger, but cannot exchange or transfer assets), it also can benefit on this dependence on identity as a great advantage in that varying consensus algorithms (e.g. byzantine or crash fault tolerant) can be implemented in place of the more compute-intensive Proof-of-Work and Proof-of-Stake varieties, as it was properly described earlier in this section. As a result, permissioned networks tend to provide higher transaction throughput rates and performance.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_96":{"__typename":"Paragraph","id":"e69b37512def_96","name":"8b8a","type":"P","href":null,"layout":null,"metadata":null,"text":"In addition to the multitude of endorsement, validity and versioning checks that take place, there are also ongoing identity verifications happening in all directions of the transaction flow. Access control lists are implemented on hierarchical layers of the network (ordering service down to channels), and payloads are repeatedly signed, verified and authenticated as a transaction proposal passes through the different architectural components. To summarize, consensus is not merely limited to the agreed upon order of a batch of transactions, but rather, it is an overarching characterization that is achieved as a byproduct of the ongoing verifications that take place during a transaction’s journey from proposal to commitment.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"ImageMetadata:0*Vnu2UZeiQtedtRlJ.":{"__typename":"ImageMetadata","id":"0*Vnu2UZeiQtedtRlJ.","originalHeight":301,"originalWidth":676,"focusPercentX":null,"focusPercentY":null,"alt":null},"Paragraph:e69b37512def_97":{"__typename":"Paragraph","id":"e69b37512def_97","name":"00d7","type":"IMG","href":null,"layout":"INSET_CENTER","metadata":{"__ref":"ImageMetadata:0*Vnu2UZeiQtedtRlJ."},"text":"","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_98":{"__typename":"Paragraph","id":"e69b37512def_98","name":"9939","type":"H3","href":null,"layout":null,"metadata":null,"text":"Conclusion about consensus mechanisms","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_99":{"__typename":"Paragraph","id":"e69b37512def_99","name":"d2cf","type":"P","href":null,"layout":null,"metadata":null,"text":"While these systems for establishing consensus are currently the most dominant, the field is still wide open to innovation by creating variations of these implementations as well as new approaches to them. Some other examples are: Proof of burn, Proof of capacity, and Proof of elapsed time. As blockchain systems continue to gain in popularity, they will also continue to grow in scale and complexity. Which of these consensus building systems (if any) is best equipped to handle this ongoing expansion remains to be seen. Currently, companies choose a system for their product that best meets their (or their customer’s) needs for speed, efficiency, and security.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_100":{"__typename":"Paragraph","id":"e69b37512def_100","name":"5862","type":"P","href":null,"layout":null,"metadata":null,"text":"It is important to note, these systems differ not only in the details of the formation of their respective consensus-building communities, but importantly they differ in how they would handle potential attacks. This is, in fact, one of the clearest distinguishing features between the consensus-building systems: the potential size of an attack on the system that could be easily managed.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_101":{"__typename":"Paragraph","id":"e69b37512def_101","name":"0140","type":"P","href":null,"layout":null,"metadata":null,"text":"If you’ve made it this far, then congratulations! There is still so much more to explain about the Blockchain and Hyperledger, but at least now you have an idea of the broad outline of the genius of the programming and the concept. For the first time we have a system that allows for convenient digital transfers in a decentralized, trust-free and tamper-proof way. Sky is the limit for Blockchain!!","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:e69b37512def_102":{"__typename":"Paragraph","id":"e69b37512def_102","name":"4937","type":"P","href":null,"layout":null,"metadata":null,"text":"Please clap on this article if it has helped you to understand a bit about blockchain and consensus mechanisms. And please leave a comment and state your feedback. This is very important to help me keep writing new articles about this sort of content.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"STRONG","start":0,"end":111,"href":null,"anchorType":null,"userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"MediaResource:ebbe4d33ac6b8f6af3724807b028c5eb":{"__typename":"MediaResource","id":"ebbe4d33ac6b8f6af3724807b028c5eb","iframeSrc":"https:\u002F\u002Fcdn.embedly.com\u002Fwidgets\u002Fmedia.html?src=https%3A%2F%2Fupscri.be%2F41d817%3Fas_embed%3Dtrue&dntp=1&url=https%3A%2F%2Fupscri.be%2F41d817&image=https%3A%2F%2Fe.enpose.co%2F%3Fkey%3DdRXnS9Gplk%26w%3D700%26h%3D425%26url%3Dhttps%253A%252F%252Fupscri.be%252F41d817%252F%253Fenpose&key=d04bfffea46d4aeda930ec88cc64b87c&type=text%2Fhtml&schema=upscri","iframeHeight":400,"iframeWidth":800,"title":"Want to hear more stories?"},"Paragraph:e69b37512def_103":{"__typename":"Paragraph","id":"e69b37512def_103","name":"8cfc","type":"IFRAME","href":null,"layout":"INSET_CENTER","metadata":null,"text":"","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":{"__typename":"Iframe","mediaResource":{"__ref":"MediaResource:ebbe4d33ac6b8f6af3724807b028c5eb"}},"mixtapeMetadata":null},"CollectionViewerEdge:collectionId:749dcac244ef-viewerId:lo_07332aa858a6":{"__typename":"CollectionViewerEdge","id":"collectionId:749dcac244ef-viewerId:lo_07332aa858a6","isEditor":false,"isMuting":false},"PostViewerEdge:postId:aabe62145128-viewerId:lo_07332aa858a6":{"__typename":"PostViewerEdge","shouldIndexPostForExternalSearch":true,"id":"postId:aabe62145128-viewerId:lo_07332aa858a6"},"Tag:blockchain":{"__typename":"Tag","id":"blockchain","displayTitle":"Blockchain","normalizedTagSlug":"blockchain"},"Tag:hyperledger":{"__typename":"Tag","id":"hyperledger","displayTitle":"Hyperledger","normalizedTagSlug":"hyperledger"},"Tag:cryptocurrency":{"__typename":"Tag","id":"cryptocurrency","displayTitle":"Cryptocurrency","normalizedTagSlug":"cryptocurrency"},"Tag:consensus":{"__typename":"Tag","id":"consensus","displayTitle":"Consensus","normalizedTagSlug":"consensus"},"Post:aabe62145128":{"__typename":"Post","id":"aabe62145128","collection":{"__ref":"Collection:749dcac244ef"},"content({\"postMeteringOptions\":{}})":{"__typename":"PostContent","isLockedPreviewOnly":false,"bodyModel":{"__typename":"RichText","sections":[{"__typename":"Section","name":"ec19","startIndex":0,"textLayout":null,"imageLayout":null,"backgroundImage":null,"videoLayout":null,"backgroundVideo":null},{"__typename":"Section","name":"784f","startIndex":7,"textLayout":null,"imageLayout":null,"backgroundImage":null,"videoLayout":null,"backgroundVideo":null},{"__typename":"Section","name":"729a","startIndex":21,"textLayout":null,"imageLayout":null,"backgroundImage":null,"videoLayout":null,"backgroundVideo":null},{"__typename":"Section","name":"d2e8","startIndex":39,"textLayout":null,"imageLayout":null,"backgroundImage":null,"videoLayout":null,"backgroundVideo":null},{"__typename":"Section","name":"b126","startIndex":52,"textLayout":null,"imageLayout":null,"backgroundImage":null,"videoLayout":null,"backgroundVideo":null},{"__typename":"Section","name":"51b2","startIndex":65,"textLayout":null,"imageLayout":null,"backgroundImage":null,"videoLayout":null,"backgroundVideo":null},{"__typename":"Section","name":"b65d","startIndex":80,"textLayout":null,"imageLayout":null,"backgroundImage":null,"videoLayout":null,"backgroundVideo":null},{"__typename":"Section","name":"bbb6","startIndex":84,"textLayout":null,"imageLayout":null,"backgroundImage":null,"videoLayout":null,"backgroundVideo":null},{"__typename":"Section","name":"4eca","startIndex":89,"textLayout":null,"imageLayout":null,"backgroundImage":null,"videoLayout":null,"backgroundVideo":null}],"paragraphs":[{"__ref":"Paragraph:e69b37512def_0"},{"__ref":"Paragraph:e69b37512def_1"},{"__ref":"Paragraph:e69b37512def_2"},{"__ref":"Paragraph:e69b37512def_3"},{"__ref":"Paragraph:e69b37512def_4"},{"__ref":"Paragraph:e69b37512def_5"},{"__ref":"Paragraph:e69b37512def_6"},{"__ref":"Paragraph:e69b37512def_7"},{"__ref":"Paragraph:e69b37512def_8"},{"__ref":"Paragraph:e69b37512def_9"},{"__ref":"Paragraph:e69b37512def_10"},{"__ref":"Paragraph:e69b37512def_11"},{"__ref":"Paragraph:e69b37512def_12"},{"__ref":"Paragraph:e69b37512def_13"},{"__ref":"Paragraph:e69b37512def_14"},{"__ref":"Paragraph:e69b37512def_15"},{"__ref":"Paragraph:e69b37512def_16"},{"__ref":"Paragraph:e69b37512def_17"},{"__ref":"Paragraph:e69b37512def_18"},{"__ref":"Paragraph:e69b37512def_19"},{"__ref":"Paragraph:e69b37512def_20"},{"__ref":"Paragraph:e69b37512def_21"},{"__ref":"Paragraph:e69b37512def_22"},{"__ref":"Paragraph:e69b37512def_23"},{"__ref":"Paragraph:e69b37512def_24"},{"__ref":"Paragraph:e69b37512def_25"},{"__ref":"Paragraph:e69b37512def_26"},{"__ref":"Paragraph:e69b37512def_27"},{"__ref":"Paragraph:e69b37512def_28"},{"__ref":"Paragraph:e69b37512def_29"},{"__ref":"Paragraph:e69b37512def_30"},{"__ref":"Paragraph:e69b37512def_31"},{"__ref":"Paragraph:e69b37512def_32"},{"__ref":"Paragraph:e69b37512def_33"},{"__ref":"Paragraph:e69b37512def_34"},{"__ref":"Paragraph:e69b37512def_35"},{"__ref":"Paragraph:e69b37512def_36"},{"__ref":"Paragraph:e69b37512def_37"},{"__ref":"Paragraph:e69b37512def_38"},{"__ref":"Paragraph:e69b37512def_39"},{"__ref":"Paragraph:e69b37512def_40"},{"__ref":"Paragraph:e69b37512def_41"},{"__ref":"Paragraph:e69b37512def_42"},{"__ref":"Paragraph:e69b37512def_43"},{"__ref":"Paragraph:e69b37512def_44"},{"__ref":"Paragraph:e69b37512def_45"},{"__ref":"Paragraph:e69b37512def_46"},{"__ref":"Paragraph:e69b37512def_47"},{"__ref":"Paragraph:e69b37512def_48"},{"__ref":"Paragraph:e69b37512def_49"},{"__ref":"Paragraph:e69b37512def_50"},{"__ref":"Paragraph:e69b37512def_51"},{"__ref":"Paragraph:e69b37512def_52"},{"__ref":"Paragraph:e69b37512def_53"},{"__ref":"Paragraph:e69b37512def_54"},{"__ref":"Paragraph:e69b37512def_55"},{"__ref":"Paragraph:e69b37512def_56"},{"__ref":"Paragraph:e69b37512def_57"},{"__ref":"Paragraph:e69b37512def_58"},{"__ref":"Paragraph:e69b37512def_59"},{"__ref":"Paragraph:e69b37512def_60"},{"__ref":"Paragraph:e69b37512def_61"},{"__ref":"Paragraph:e69b37512def_62"},{"__ref":"Paragraph:e69b37512def_63"},{"__ref":"Paragraph:e69b37512def_64"},{"__ref":"Paragraph:e69b37512def_65"},{"__ref":"Paragraph:e69b37512def_66"},{"__ref":"Paragraph:e69b37512def_67"},{"__ref":"Paragraph:e69b37512def_68"},{"__ref":"Paragraph:e69b37512def_69"},{"__ref":"Paragraph:e69b37512def_70"},{"__ref":"Paragraph:e69b37512def_71"},{"__ref":"Paragraph:e69b37512def_72"},{"__ref":"Paragraph:e69b37512def_73"},{"__ref":"Paragraph:e69b37512def_74"},{"__ref":"Paragraph:e69b37512def_75"},{"__ref":"Paragraph:e69b37512def_76"},{"__ref":"Paragraph:e69b37512def_77"},{"__ref":"Paragraph:e69b37512def_78"},{"__ref":"Paragraph:e69b37512def_79"},{"__ref":"Paragraph:e69b37512def_80"},{"__ref":"Paragraph:e69b37512def_81"},{"__ref":"Paragraph:e69b37512def_82"},{"__ref":"Paragraph:e69b37512def_83"},{"__ref":"Paragraph:e69b37512def_84"},{"__ref":"Paragraph:e69b37512def_85"},{"__ref":"Paragraph:e69b37512def_86"},{"__ref":"Paragraph:e69b37512def_87"},{"__ref":"Paragraph:e69b37512def_88"},{"__ref":"Paragraph:e69b37512def_89"},{"__ref":"Paragraph:e69b37512def_90"},{"__ref":"Paragraph:e69b37512def_91"},{"__ref":"Paragraph:e69b37512def_92"},{"__ref":"Paragraph:e69b37512def_93"},{"__ref":"Paragraph:e69b37512def_94"},{"__ref":"Paragraph:e69b37512def_95"},{"__ref":"Paragraph:e69b37512def_96"},{"__ref":"Paragraph:e69b37512def_97"},{"__ref":"Paragraph:e69b37512def_98"},{"__ref":"Paragraph:e69b37512def_99"},{"__ref":"Paragraph:e69b37512def_100"},{"__ref":"Paragraph:e69b37512def_101"},{"__ref":"Paragraph:e69b37512def_102"},{"__ref":"Paragraph:e69b37512def_103"}]},"validatedShareKey":"","shareKeyCreator":null},"creator":{"__ref":"User:d4fadefb996c"},"inResponseToEntityType":null,"isLocked":false,"isMarkedPaywallOnly":false,"lockedSource":"LOCKED_POST_SOURCE_NONE","mediumUrl":"https:\u002F\u002Fmedium.com\u002Foracledevs\u002Fdemystifying-blockchain-and-consensus-mechanisms-everything-you-wanted-to-know-but-were-never-aabe62145128","primaryTopic":null,"topics":[{"__typename":"Topic","slug":"blockchain"}],"isPublished":true,"latestPublishedVersion":"e69b37512def","visibility":"PUBLIC","postResponses":{"__typename":"PostResponses","count":0},"clapCount":353,"allowResponses":true,"isLimitedState":false,"title":"Demystifying Blockchain and Consensus Mechanisms — Everything You Wanted to Know But Were Never…","isSeries":false,"sequence":null,"uniqueSlug":"demystifying-blockchain-and-consensus-mechanisms-everything-you-wanted-to-know-but-were-never-aabe62145128","socialTitle":"","socialDek":"","canonicalUrl":"","metaDescription":"This article provides a comprehensive explanation about consensus mechanisms used for many of the popular cryptocurrencies and blockchain implementations today","latestPublishedAt":1526335931390,"readingTime":19.348427672955975,"previewContent":{"__typename":"PreviewContent","subtitle":"Here you will find a brief introduction about blockchain which gives you some highlights and benefits about this disruptive technology"},"previewImage":{"__ref":"ImageMetadata:1*u1F5V8Uq6wOEBzO8-DDolw.jpeg"},"isShortform":false,"seoTitle":"","firstPublishedAt":1523551821433,"updatedAt":1528933379240,"shortformType":"SHORTFORM_TYPE_LINK","seoDescription":"","viewerEdge":{"__ref":"PostViewerEdge:postId:aabe62145128-viewerId:lo_07332aa858a6"},"isSuspended":false,"license":"ALL_RIGHTS_RESERVED","tags":[{"__ref":"Tag:blockchain"},{"__ref":"Tag:hyperledger"},{"__ref":"Tag:cryptocurrency"},{"__ref":"Tag:consensus"}],"isNewsletter":false,"statusForCollection":"APPROVED","pendingCollection":null,"detectedLanguage":"en","wordCount":4827,"layerCake":0,"responsesLocked":false}}</script><script>window.__MIDDLEWARE_STATE__={"session":{"xsrf":""},"cache":{"cacheStatus":"HIT"}}</script><script src="https://cdn-client.medium.com/lite/static/js/manifest.b2314f6d.js"></script><script src="https://cdn-client.medium.com/lite/static/js/9865.1496d74a.js"></script><script src="https://cdn-client.medium.com/lite/static/js/main.24534aeb.js"></script><script src="https://cdn-client.medium.com/lite/static/js/instrumentation.d9108df7.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/reporting.ff22a7a5.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/9120.5df29668.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/5049.d1ead72d.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/4810.6318add7.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/6618.db187378.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/2707.b0942613.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/9977.5b3eb23a.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/8599.1ab63137.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/5250.9f9e01d2.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/6349.b071a958.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/2648.26563adf.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/8393.826a25fb.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/7079.67349d50.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/3735.afb7e926.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/5642.a2d9f6a1.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/6546.cd03f950.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/6834.08de95de.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/7346.72622eb9.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/2420.2a5e2d95.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/839.ca7937c2.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/7975.d195c6f1.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/2106.21ff89d3.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/7394.3d049572.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/2961.00a48598.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/8204.c4082863.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/4391.59acaed3.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/PostPage.MainContent.c8a11795.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/8414.6565ad5f.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/3974.8d3e0217.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/2527.a0afad8a.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/PostResponsesContent.36c2ecf4.chunk.js"></script><script>window.main();</script><script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'8e771e028ba73e0c',t:'MTczMjQyNzM4Mi4wMDAwMDA='};var a=document.createElement('script');a.nonce='';a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body></html>