CINXE.COM
<!doctype html><html lang="en"><head><title data-rh="true">PoCo Series #4 — Enclaves and Trusted Executions | by Hadrien Croubois | iExec | 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="2019-01-21T13:57:20.711Z"/><meta data-rh="true" name="title" content="PoCo Series #4 — Enclaves and Trusted Executions | by Hadrien Croubois | iExec | Medium"/><meta data-rh="true" property="og:title" content="PoCo Series #4 — Enclaves and Trusted Executions"/><meta data-rh="true" property="al:android:url" content="medium://p/6f2ebed8d4fa"/><meta data-rh="true" property="al:ios:url" content="medium://p/6f2ebed8d4fa"/><meta data-rh="true" property="al:android:app_name" content="Medium"/><meta data-rh="true" name="description" content="Enclaves are solutions which are built into the CPU and provide hardware security. Using a dedicated set of instruction codes, enclaves are isolated regions of memory which are protected from…"/><meta data-rh="true" property="og:description" content="What are enclaves?"/><meta data-rh="true" property="og:url" content="https://medium.com/iex-ec/poco-series-4-sgx-enclaves-and-trusted-executions-6f2ebed8d4fa"/><meta data-rh="true" property="al:web:url" content="https://medium.com/iex-ec/poco-series-4-sgx-enclaves-and-trusted-executions-6f2ebed8d4fa"/><meta data-rh="true" property="og:image" content="https://miro.medium.com/v2/resize:fit:1200/1*Gx7mCejWMvtE11w4wLi4ng.jpeg"/><meta data-rh="true" property="article:author" content="https://medium.com/@hadrien.croubois"/><meta data-rh="true" name="author" content="Hadrien Croubois"/><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="PoCo Series #4 — Enclaves and Trusted Executions"/><meta data-rh="true" name="twitter:site" content="@iEx_ec"/><meta data-rh="true" name="twitter:app:url:iphone" content="medium://p/6f2ebed8d4fa"/><meta data-rh="true" property="twitter:description" content="What are enclaves?"/><meta data-rh="true" name="twitter:image:src" content="https://miro.medium.com/v2/resize:fit:1200/1*Gx7mCejWMvtE11w4wLi4ng.jpeg"/><meta data-rh="true" name="twitter:card" content="summary_large_image"/><meta data-rh="true" name="twitter:label1" content="Reading time"/><meta data-rh="true" name="twitter:data1" content="5 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/@hadrien.croubois"/><link data-rh="true" rel="canonical" href="https://academy.iex.ec/poco-4-enclaves-and-trusted-executions/"/><link data-rh="true" rel="alternate" href="android-app://com.medium.reader/https/medium.com/p/6f2ebed8d4fa"/><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*Gx7mCejWMvtE11w4wLi4ng.jpeg"],"url":"https:\u002F\u002Fmedium.com\u002Fiex-ec\u002Fpoco-series-4-sgx-enclaves-and-trusted-executions-6f2ebed8d4fa","dateCreated":"2018-09-14T15:39:50.217Z","datePublished":"2018-09-14T15:39:50.217Z","dateModified":"2024-07-08T10:41:47.594Z","headline":"PoCo Series #4 — Enclaves and Trusted Executions - iExec - Medium","name":"PoCo Series #4 — Enclaves and Trusted Executions - iExec - Medium","description":"Enclaves are solutions which are built into the CPU and provide hardware security. Using a dedicated set of instruction codes, enclaves are isolated regions of memory which are protected from…","identifier":"6f2ebed8d4fa","author":{"@type":"Person","name":"Hadrien Croubois","url":"https:\u002F\u002Fmedium.com\u002F@hadrien.croubois"},"creator":["Hadrien Croubois"],"publisher":{"@type":"Organization","name":"iExec","url":"https:\u002F\u002Fmedium.com\u002Fiex-ec","logo":{"@type":"ImageObject","width":60,"height":60,"url":"https:\u002F\u002Fmiro.medium.com\u002Fv2\u002Fresize:fit:120\u002F1*CuBfgpHLLJgvesKWRNVCJg.png"}},"mainEntityOfPage":"https:\u002F\u002Fmedium.com\u002Fiex-ec\u002Fpoco-series-4-sgx-enclaves-and-trusted-executions-6f2ebed8d4fa"}</script><style type="text/css" data-fela-rehydration="545" 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="545" 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="545" 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(133, 132, 132, 1)}.es{border-color:rgba(133, 132, 132, 1)}.ew:disabled{cursor:inherit !important}.ex:disabled{opacity:0.3}.ey:disabled:hover{background:rgba(133, 132, 132, 1)}.ez:disabled:hover{border-color:rgba(133, 132, 132, 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(133, 132, 132, 1)}.iu{fill:rgba(133, 132, 132, 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{margin-left:auto}.nd{margin-right:auto}.ne{max-width:1200px}.nk{padding-top:5px}.nl{padding-bottom:5px}.nn{cursor:zoom-in}.no{z-index:auto}.nq{height:auto}.nr{line-height:1.12}.ns{letter-spacing:-0.022em}.nt{font-weight:600}.oo{margin-bottom:-0.28em}.op{line-height:1.58}.oq{letter-spacing:-0.004em}.or{font-family:source-serif-pro, Georgia, Cambria, "Times New Roman", Times, serif}.pm{margin-bottom:-0.46em}.ps{text-decoration:underline}.pt{font-style:italic}.pu{list-style-type:decimal}.pv{margin-left:30px}.pw{padding-left:0px}.qc{max-width:1600px}.qi{margin-bottom:26px}.qj{margin-top:6px}.qk{margin-top:8px}.ql{margin-right:8px}.qm{padding:8px 16px}.qn{border-radius:100px}.qo{transition:background 300ms ease}.qq{white-space:nowrap}.qr{border-top:none}.qs{margin-bottom:14px}.qt{height:52px}.qu{max-height:52px}.qv{box-sizing:content-box}.qw{position:static}.qy{max-width:155px}.re{margin-right:20px}.rk{height:0px}.rl{margin-bottom:40px}.rm{margin-bottom:48px}.sa{border-radius:2px}.sc{height:64px}.sd{width:64px}.se{align-self:flex-end}.sf{flex:1 1 auto}.sj{padding-right:4px}.sk{font-weight:500}.sx{margin-top:16px}.sy{color:rgba(255, 255, 255, 1)}.sz{fill:rgba(255, 255, 255, 1)}.ta{background:rgba(25, 25, 25, 1)}.tb{border-color:rgba(25, 25, 25, 1)}.te:disabled{opacity:0.1}.tf:disabled:hover{background:rgba(25, 25, 25, 1)}.tg:disabled:hover{border-color:rgba(25, 25, 25, 1)}.th{margin-bottom:54px}.tn{gap:18px}.to{fill:rgba(61, 61, 61, 1)}.tv{border-bottom:solid 1px #E5E5E5}.tw{margin-top:72px}.tx{padding:24px 0}.ty{margin-bottom:0px}.tz{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(115, 113, 113, 1)}.eu:hover{border-color:rgba(115, 113, 113, 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(115, 113, 113, 1)}.iw:hover:not(:disabled){fill:rgba(115, 113, 113, 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}.qp:hover{background-color:#F2F2F2}.sb:hover{background-color:none}.tc:hover{background:#000000}.td:hover{border-color:#242424}.tp: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}.np:focus{transform:scale(1.01)}.lh:active{border-style:none}</style><style type="text/css" data-fela-rehydration="545" 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{max-width:1192px}.nj{margin-top:40px}.ok{font-size:24px}.ol{margin-top:1.95em}.om{line-height:30px}.on{letter-spacing:-0.016em}.pi{font-size:20px}.pj{margin-top:0.94em}.pk{line-height:32px}.pl{letter-spacing:-0.003em}.pr{margin-top:2.14em}.qb{margin-top:1.14em}.qh{margin-top:56px}.rd{display:inline-block}.rj{margin-bottom:104px}.rn{flex-direction:row}.rq{margin-bottom:0}.rr{margin-right:20px}.sg{max-width:500px}.sv{line-height:24px}.sw{letter-spacing:0}.tm{margin-bottom:72px}.tu{padding-top:72px}</style><style type="text/css" data-fela-rehydration="545" data-fela-type="RULE" media="all and (max-width: 1079.98px)">.e{display:none}.ln{margin-top:0px}.rc{display:inline-block}</style><style type="text/css" data-fela-rehydration="545" data-fela-type="RULE" media="all and (max-width: 903.98px)">.f{display:none}.lm{margin-top:0px}.rb{display:inline-block}</style><style type="text/css" data-fela-rehydration="545" data-fela-type="RULE" media="all and (max-width: 727.98px)">.g{display:none}.lk{margin-top:0px}.ll{margin-right:0px}.ra{display:inline-block}</style><style type="text/css" data-fela-rehydration="545" 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{max-width:100%}.nf{margin-top:32px}.nu{font-size:20px}.nv{margin-top:1.2em}.nw{line-height:24px}.nx{letter-spacing:0}.os{font-size:18px}.ot{margin-top:0.67em}.ou{line-height:28px}.ov{letter-spacing:-0.003em}.pn{margin-top:1.56em}.px{margin-top:1.34em}.qd{margin-top:40px}.qz{display:inline-block}.rf{margin-bottom:96px}.ry{margin-bottom:20px}.rz{margin-right:0}.sl{font-size:24px}.sm{line-height:30px}.sn{letter-spacing:-0.016em}.ti{margin-bottom:64px}.tq{padding-top:48px}.mn:hover{border-color:#E5E5E5}</style><style type="text/css" data-fela-rehydration="545" 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{max-width:1192px}.ni{margin-top:40px}.og{font-size:24px}.oh{margin-top:1.95em}.oi{line-height:30px}.oj{letter-spacing:-0.016em}.pe{font-size:20px}.pf{margin-top:0.94em}.pg{line-height:32px}.ph{letter-spacing:-0.003em}.pq{margin-top:2.14em}.qa{margin-top:1.14em}.qg{margin-top:56px}.ri{margin-bottom:104px}.ro{flex-direction:row}.rs{margin-bottom:0}.rt{margin-right:20px}.sh{max-width:500px}.st{line-height:24px}.su{letter-spacing:0}.tl{margin-bottom:72px}.tt{padding-top:72px}</style><style type="text/css" data-fela-rehydration="545" 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{max-width:100%}.nh{margin-top:40px}.oc{font-size:24px}.od{margin-top:1.95em}.oe{line-height:30px}.of{letter-spacing:-0.016em}.pa{font-size:20px}.pb{margin-top:0.94em}.pc{line-height:32px}.pd{letter-spacing:-0.003em}.pp{margin-top:2.14em}.pz{margin-top:1.14em}.qf{margin-top:56px}.rh{margin-bottom:104px}.rp{flex-direction:row}.ru{margin-bottom:0}.rv{margin-right:20px}.si{max-width:500px}.sr{line-height:24px}.ss{letter-spacing:0}.tk{margin-bottom:72px}.ts{padding-top:72px}</style><style type="text/css" data-fela-rehydration="545" 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{max-width:100%}.ng{margin-top:32px}.ny{font-size:20px}.nz{margin-top:1.2em}.oa{line-height:24px}.ob{letter-spacing:0}.ow{font-size:18px}.ox{margin-top:0.67em}.oy{line-height:28px}.oz{letter-spacing:-0.003em}.po{margin-top:1.56em}.py{margin-top:1.34em}.qe{margin-top:40px}.rg{margin-bottom:96px}.rw{margin-bottom:20px}.rx{margin-right:0}.so{font-size:24px}.sp{line-height:30px}.sq{letter-spacing:-0.016em}.tj{margin-bottom:64px}.tr{padding-top:48px}.mu:hover{border-color:#E5E5E5}</style><style type="text/css" data-fela-rehydration="545" data-fela-type="RULE" media="print">.qx{display:none}</style><style type="text/css" data-fela-rehydration="545" data-fela-type="RULE" media="(orientation: landscape) and (max-width: 903.98px)">.jm{max-height:none}</style><style type="text/css" data-fela-rehydration="545" data-fela-type="RULE" media="(prefers-reduced-motion: no-preference)">.nm{transition:transform 300ms cubic-bezier(0.2, 0, 0.2, 1)}</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%2F6f2ebed8d4fa&%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%2Fiex-ec%2Fpoco-series-4-sgx-enclaves-and-trusted-executions-6f2ebed8d4fa&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%2Fiex-ec%2Fpoco-series-4-sgx-enclaves-and-trusted-executions-6f2ebed8d4fa&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="01c8" 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">PoCo Series #4 — Enclaves and Trusted Executions</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="/@hadrien.croubois?source=post_page---byline--6f2ebed8d4fa--------------------------------"><div class="l ib ic by id ie"><div class="l fj"><img alt="Hadrien Croubois" class="l fd by dd de cx" src="https://miro.medium.com/v2/resize:fill:88:88/1*UkQc8sPp7kCWAyt2OlT4Cg.jpeg" 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/iex-ec?source=post_page---byline--6f2ebed8d4fa--------------------------------" rel="noopener follow"><div class="l ii ij by id ik"><div class="l fj"><img alt="iExec" class="l fd by br il cx" src="https://miro.medium.com/v2/resize:fill:48:48/1*KKA1zag7wTJlhNDcecX49Q.png" 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="/@hadrien.croubois?source=post_page---byline--6f2ebed8d4fa--------------------------------">Hadrien Croubois</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%2F46e912fb6d7e&operation=register&redirect=https%3A%2F%2Fmedium.com%2Fiex-ec%2Fpoco-series-4-sgx-enclaves-and-trusted-executions-6f2ebed8d4fa&user=Hadrien+Croubois&userId=46e912fb6d7e&source=post_page-46e912fb6d7e--byline--6f2ebed8d4fa---------------------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/iex-ec?source=post_page---byline--6f2ebed8d4fa--------------------------------" rel="noopener follow"><p class="bf b bg z jf jg jh ji jj jk jl jm bk">iExec</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">5 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">Sep 14, 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%2Fiex-ec%2F6f2ebed8d4fa&operation=register&redirect=https%3A%2F%2Fmedium.com%2Fiex-ec%2Fpoco-series-4-sgx-enclaves-and-trusted-executions-6f2ebed8d4fa&user=Hadrien+Croubois&userId=46e912fb6d7e&source=---header_actions--6f2ebed8d4fa---------------------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%2F6f2ebed8d4fa&operation=register&redirect=https%3A%2F%2Fmedium.com%2Fiex-ec%2Fpoco-series-4-sgx-enclaves-and-trusted-executions-6f2ebed8d4fa&source=---header_actions--6f2ebed8d4fa---------------------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"><div class="ab cb"><div class="ly mx lz my ma mz cf na cg nb ci bh"><figure class="nf ng nh ni nj mw nk nl paragraph-image"><div role="button" tabindex="0" class="nm nn fj no bh np"><div class="nc nd ne"><picture><source srcSet="https://miro.medium.com/v2/resize:fit:640/format:webp/1*Gx7mCejWMvtE11w4wLi4ng.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/1*Gx7mCejWMvtE11w4wLi4ng.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/1*Gx7mCejWMvtE11w4wLi4ng.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/1*Gx7mCejWMvtE11w4wLi4ng.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/1*Gx7mCejWMvtE11w4wLi4ng.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/1*Gx7mCejWMvtE11w4wLi4ng.jpeg 1100w, https://miro.medium.com/v2/resize:fit:2000/format:webp/1*Gx7mCejWMvtE11w4wLi4ng.jpeg 2000w" 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, 1000px" type="image/webp"/><source data-testid="og" srcSet="https://miro.medium.com/v2/resize:fit:640/1*Gx7mCejWMvtE11w4wLi4ng.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/1*Gx7mCejWMvtE11w4wLi4ng.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/1*Gx7mCejWMvtE11w4wLi4ng.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/1*Gx7mCejWMvtE11w4wLi4ng.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/1*Gx7mCejWMvtE11w4wLi4ng.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/1*Gx7mCejWMvtE11w4wLi4ng.jpeg 1100w, https://miro.medium.com/v2/resize:fit:2000/1*Gx7mCejWMvtE11w4wLi4ng.jpeg 2000w" 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, 1000px"/><img alt="" class="bh md nq c" width="1000" height="612" loading="eager" role="presentation"/></picture></div></div></figure></div></div></div><div class="ab cb"><div class="ci bh fz ga gb gc"><h1 id="a4b7" class="nr ns gu bf nt nu nv nw nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo bk">What are enclaves?</h1><p id="2cb9" class="pw-post-body-paragraph op oq gu or b os ot ou ov ow ox oy oz pa pb pc pd pe pf pg ph pi pj pk pl pm gn bk">Enclaves are solutions which are built into the CPU and provide hardware security. Using a dedicated set of instruction codes, enclaves are isolated regions of memory which are protected from processes running at any privilege level, including the operating system.</p><p id="9e8b" class="pw-post-body-paragraph op oq gu or b os pn ou ov ow po oy oz pa pp pc pd pe pq pg ph pi pr pk pl pm gn bk">Enclaves are paradigm shifting tools in the world of Cloud computing. Thanks to the security they offer, anyone will soon be able to run its applications on any computer without the fear of disclosing sensitive data to a third party.</p><p id="f611" class="pw-post-body-paragraph op oq gu or b os pn ou ov ow po oy oz pa pp pc pd pe pq pg ph pi pr pk pl pm gn bk">The most well-known enclave solution is Intel® SGX, which Lei discussed in the <a class="af ps" rel="noopener" href="/iex-ec/iexec-dev-letter-14-intel-sgx-security-and-r-14-feb-2018-544d87e28869">iExec dev letter 14</a>.</p><h1 id="8e28" class="nr ns gu bf nt nu nv nw nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo bk">Aren’t enclaves and PoCo contradictory?</h1><p id="4fde" class="pw-post-body-paragraph op oq gu or b os ot ou ov ow ox oy oz pa pb pc pd pe pf pg ph pi pj pk pl pm gn bk">By now you should be familiar with the Proof-of-contribution protocol discussed in this series. This protocol is in charge of providing a trusted computing environment on top of untrusted resources. This is achieved through incentives mechanisms that make the actors of the platform want to behave correctly.</p><p id="8e47" class="pw-post-body-paragraph op oq gu or b os pn ou ov ow po oy oz pa pp pc pd pe pq pg ph pi pr pk pl pm gn bk">These incentives, combined with the use of cryptographic signature and the properties of the blockchain, ensure that workers have no economic advantages of producing fake results (i.e claiming reward without doing the actual computation). However, the story does not end here! The PoCo orchestrates the various contributions of workers, schedulers, dapp providers and soon data providers. On the other hand enclaves ensure that a worker is not able to interfere with the execution, thus removing the need for result certification. This particularly appealing for non-deterministic computations because results cannot be certified by comparing their signatures. Thus using enclaves can significantly improve the security providing that blockchain-level enclave certification is implemented. In short, it means that the PoCo algorithm that runs on the blockchain must have a proof that a worker has actually executed the application within an enclave.</p><p id="f462" class="pw-post-body-paragraph op oq gu or b os pn ou ov ow po oy oz pa pp pc pd pe pq pg ph pi pr pk pl pm gn bk">However the enclave technology is not a magic wand. First, it’s not yet available on all processors and even when available, the BIOS has to support it and support must be enabled by the user (which is usually not by default). Plus, there is a performance overhead when running an application within an enclave. Finally, no GPU has support for enclave and it probably wouldn’t makes sense for GPU to implement that. As a result, despite being a very promising technology, there are at the moment very few Cloud providers that offer servers with enclaves enabled.</p><p id="de03" class="pw-post-body-paragraph op oq gu or b os pn ou ov ow po oy oz pa pp pc pd pe pq pg ph pi pr pk pl pm gn bk">This is why our solution uses the PoCo in conjunction with enclaves.</p><p id="4f43" class="pw-post-body-paragraph op oq gu or b os pn ou ov ow po oy oz pa pp pc pd pe pq pg ph pi pr pk pl pm gn bk">PoCo is in charge of the orchestration of all contributions. This includes a layer of certification that relies on the reputation of the workers. In the PoCo vision, enclaves are not considered as inviolable solutions (which recent news unfortunately confirms), but rather as an accelerator that, when enabled, increase the trust of workers that run them.</p><p id="4334" class="pw-post-body-paragraph op oq gu or b os pn ou ov ow po oy oz pa pp pc pd pe pq pg ph pi pr pk pl pm gn bk">PoCo can, therefore, have enclaves and traditional runtimes participate in the same job. Still, using the PoCo parameters, a user can fall back to having its application running on a single enclave if he so desires. This is as simple a requiring a low trust requirement (achievable by a single worker) and using a tag restricting the job to enclave providing workers.</p><h1 id="5303" class="nr ns gu bf nt nu nv nw nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo bk">So when will PoCo be enclave ready?</h1><p id="b7b3" class="pw-post-body-paragraph op oq gu or b os ot ou ov ow ox oy oz pa pb pc pd pe pf pg ph pi pj pk pl pm gn bk">It already is!</p><p id="2c3c" class="pw-post-body-paragraph op oq gu or b os pn ou ov ow po oy oz pa pp pc pd pe pq pg ph pi pr pk pl pm gn bk">The PoCo smart contracts are visible on <a class="af ps" href="https://github.com/iExecBlockchainComputing/PoCo/tree/master/contracts" rel="noopener ugc nofollow" target="_blank">Github</a>. In the <em class="pt">WorkerPool.sol</em> you can see it in action in the method <a class="af ps" href="https://github.com/iExecBlockchainComputing/PoCo/blob/master/contracts/WorkerPool.sol#L293" rel="noopener ugc nofollow" target="_blank"><em class="pt">allowWorkerToContribute</em></a> where the scheduler registers the enclave wallet address. When publishing its contribution, the worker has to <a class="af ps" href="https://github.com/iExecBlockchainComputing/PoCo/blob/master/contracts/WorkerPool.sol#L312" rel="noopener ugc nofollow" target="_blank">provide a valid signature that passes this challenge</a>. This will then be used to <a class="af ps" href="https://github.com/iExecBlockchainComputing/PoCo/blob/master/contracts/WorkerPool.sol#L432" rel="noopener ugc nofollow" target="_blank">boost the user score when computing the reward</a>.</p><p id="dc84" class="pw-post-body-paragraph op oq gu or b os pn ou ov ow po oy oz pa pp pc pd pe pq pg ph pi pr pk pl pm gn bk">Indeed, the application result calculated on Intel® SGX worker can be signed by enclave private key or a private key protected by enclave, the signature can then be transferred to on-chain network for verification via the corresponding public key that is registered on Blockchain.</p><p id="d773" class="pw-post-body-paragraph op oq gu or b os pn ou ov ow po oy oz pa pp pc pd pe pq pg ph pi pr pk pl pm gn bk">The first appearance of the enclave challenge goes back to <a class="af ps" href="https://github.com/iExecBlockchainComputing/PoCo/blob/d6e35558b22dba6a631682c220742422385aead6/contracts/Contributions.sol" rel="noopener ugc nofollow" target="_blank">a commit pushed by Francois on February 8th 2018</a>. Despite the previous articles of this series not insisting on it, enclaves integration has always been a part of the PoCo development.</p><p id="093e" class="pw-post-body-paragraph op oq gu or b os pn ou ov ow po oy oz pa pp pc pd pe pq pg ph pi pr pk pl pm gn bk">Building the PoCo with enclaves in mind is one thing, having the middleware implement it is another with still require some development. Rest assure that the smart contracts currently deployed on the main net support this feature which will soon come into action. On going developments focus on helping the users to protect application and data privacy.</p><h1 id="f753" class="nr ns gu bf nt nu nv nw nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo bk">How does PoCo recognize enclaves?</h1><p id="45ee" class="pw-post-body-paragraph op oq gu or b os ot ou ov ow ox oy oz pa pb pc pd pe pf pg ph pi pj pk pl pm gn bk">A specific signature mechanism is required to certify, on-chain, that a job was in fact executed in a secure enclave. This signature mechanism is integrated in the PoCo transactions detailed in the previous articles of this series.</p><p id="2180" class="pw-post-body-paragraph op oq gu or b os pn ou ov ow po oy oz pa pp pc pd pe pq pg ph pi pr pk pl pm gn bk">Let’s go through the process of certifying an Intel® SGX enclave:</p><ol class=""><li id="36e8" class="op oq gu or b os pn ou ov ow po oy oz pa pp pc pd pe pq pg ph pi pr pk pl pm pu pv pw bk">An enclave is provisioned on a worker with Intel® SGX capability and a pair of public/private keys is generated inside the enclave. These keys are secure and no one outside the enclave can access them.</li><li id="f5c3" class="op oq gu or b os px ou ov ow py oy oz pa pz pc pd pe qa pg ph pi qb pk pl pm pu pv pw bk">The worker sends the public key to the scheduler using a certified channel (signed by Intel® SGX).</li><li id="ea05" class="op oq gu or b os px ou ov ow py oy oz pa pz pc pd pe qa pg ph pi qb pk pl pm pu pv pw bk">Using the Intel Attestation Server (IAS), the scheduler can verify that the public key it received was actually produced by an enclave running the iExec middleware.</li><li id="4392" class="op oq gu or b os px ou ov ow py oy oz pa pz pc pd pe qa pg ph pi qb pk pl pm pu pv pw bk">As part of the PoCo, the scheduler sends a message to the blockchain authorizing the worker to contribute to a specific work order. This message includes the enclave’s public key. This public key is registered (enclaveChallenge) and will restrict the submission of contributions.</li><li id="e8c0" class="op oq gu or b os px ou ov ow py oy oz pa pz pc pd pe qa pg ph pi qb pk pl pm pu pv pw bk">The worker runs the dapp in the enclave and signs the result with the enclave’s private key. The dapp could run outside an enclave, but the iExec enclave is designed such that for the result to be signed must be computed inside the secure environment.</li><li id="963a" class="op oq gu or b os px ou ov ow py oy oz pa pz pc pd pe qa pg ph pi qb pk pl pm pu pv pw bk">The worker sends the contribution report to the blockchain. This report includes a signature of the contribution by the enclave, which can be verified on-chain.</li></ol><figure class="qd qe qf qg qh mw nc nd paragraph-image"><div role="button" tabindex="0" class="nm nn fj no bh np"><div class="nc nd qc"><picture><source srcSet="https://miro.medium.com/v2/resize:fit:640/format:webp/0*gTqDj8uAFfDP5VpW 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/0*gTqDj8uAFfDP5VpW 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/0*gTqDj8uAFfDP5VpW 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/0*gTqDj8uAFfDP5VpW 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/0*gTqDj8uAFfDP5VpW 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/0*gTqDj8uAFfDP5VpW 1100w, https://miro.medium.com/v2/resize:fit:1400/format:webp/0*gTqDj8uAFfDP5VpW 1400w" 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, 700px" type="image/webp"/><source data-testid="og" srcSet="https://miro.medium.com/v2/resize:fit:640/0*gTqDj8uAFfDP5VpW 640w, https://miro.medium.com/v2/resize:fit:720/0*gTqDj8uAFfDP5VpW 720w, https://miro.medium.com/v2/resize:fit:750/0*gTqDj8uAFfDP5VpW 750w, https://miro.medium.com/v2/resize:fit:786/0*gTqDj8uAFfDP5VpW 786w, https://miro.medium.com/v2/resize:fit:828/0*gTqDj8uAFfDP5VpW 828w, https://miro.medium.com/v2/resize:fit:1100/0*gTqDj8uAFfDP5VpW 1100w, https://miro.medium.com/v2/resize:fit:1400/0*gTqDj8uAFfDP5VpW 1400w" 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, 700px"/><img alt="" class="bh md nq c" width="700" height="632" loading="lazy" role="presentation"/></picture></div></div></figure><p id="d364" class="pw-post-body-paragraph op oq gu or b os pn ou ov ow po oy oz pa pp pc pd pe pq pg ph pi pr pk pl pm gn bk">The verification of the enclave using Intel Attestation Server is specific to Intel® SGX, and introduce some form of centralization. However, other attestation approaches are being developed and will be considered in the future. Still, once a secure communication channel is established between the enclave and the scheduler the logic stays the same. Therefore, the on-chain part is agnostic of the actual enclave technology, meaning iExec should support any enclave technologies in the future.</p><h1 id="e1bd" class="nr ns gu bf nt nu nv nw nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo bk">So, what’s next ?</h1><p id="8577" class="pw-post-body-paragraph op oq gu or b os ot ou ov ow ox oy oz pa pb pc pd pe pf pg ph pi pj pk pl pm gn bk">In this article, you have learned how PoCo integrates enclaves attestation. At the moment the team is finalizing the protocol extensions between the workers and schedulers. We are also working on a new version of the SDK that makes a regular Docker image “Intel® SGX enabled”.</p><p id="0353" class="pw-post-body-paragraph op oq gu or b os pn ou ov ow po oy oz pa pp pc pd pe pq pg ph pi pr pk pl pm gn bk">At Devcon4, the iExec team will announce the first end-to-end solution which allows to protect user’s input data and the results in a simple and secure way.</p><p id="cf9b" class="pw-post-body-paragraph op oq gu or b os pn ou ov ow po oy oz pa pp pc pd pe pq pg ph pi pr pk pl pm gn bk">Stay tuned, and don’t forget to join us at the <a class="af ps" href="https://www.eventbrite.fr/e/billets-iexec-summit-party-49421864126" rel="noopener ugc nofollow" target="_blank">iExec Summit & Party</a> !</p></div></div></div></div></section></div></div></article></div><div class="ab cb"><div class="ci bh fz ga gb gc"><div class="qi qj ab ja"><div class="qk ab"><a class="ql ay am ao" rel="noopener follow" href="/tag/ethereum?source=post_page-----6f2ebed8d4fa--------------------------------"><div class="qm fj cx qn ge qo qp bf b bg z bk qq">Ethereum</div></a></div><div class="qk ab"><a class="ql ay am ao" rel="noopener follow" href="/tag/blockchain?source=post_page-----6f2ebed8d4fa--------------------------------"><div class="qm fj cx qn ge qo qp bf b bg z bk qq">Blockchain</div></a></div><div class="qk ab"><a class="ql ay am ao" rel="noopener follow" href="/tag/iexec?source=post_page-----6f2ebed8d4fa--------------------------------"><div class="qm fj cx qn ge qo qp bf b bg z bk qq">Iexec</div></a></div><div class="qk ab"><a class="ql ay am ao" rel="noopener follow" href="/tag/sgx?source=post_page-----6f2ebed8d4fa--------------------------------"><div class="qm fj cx qn ge qo qp bf b bg z bk qq">Sgx</div></a></div><div class="qk ab"><a class="ql ay am ao" rel="noopener follow" href="/tag/poco?source=post_page-----6f2ebed8d4fa--------------------------------"><div class="qm fj cx qn ge qo qp bf b bg z bk qq">Poco</div></a></div></div></div></div><div class="l"></div><footer class="qr qs qt qu qv ab q qw ik c"><div class="l ae"><div class="ab cb"><div class="ci bh fz ga gb gc"><div class="ab cp qx"><div class="ab q kv"><div class="qy l"><span class="l qz ra rb 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%2Fiex-ec%2F6f2ebed8d4fa&operation=register&redirect=https%3A%2F%2Fmedium.com%2Fiex-ec%2Fpoco-series-4-sgx-enclaves-and-trusted-executions-6f2ebed8d4fa&user=Hadrien+Croubois&userId=46e912fb6d7e&source=---footer_actions--6f2ebed8d4fa---------------------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 rc rd"><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%2Fiex-ec%2F6f2ebed8d4fa&operation=register&redirect=https%3A%2F%2Fmedium.com%2Fiex-ec%2Fpoco-series-4-sgx-enclaves-and-trusted-executions-6f2ebed8d4fa&user=Hadrien+Croubois&userId=46e912fb6d7e&source=---footer_actions--6f2ebed8d4fa---------------------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="re 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%2F6f2ebed8d4fa&operation=register&redirect=https%3A%2F%2Fmedium.com%2Fiex-ec%2Fpoco-series-4-sgx-enclaves-and-trusted-executions-6f2ebed8d4fa&source=---footer_actions--6f2ebed8d4fa---------------------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="re 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="rf rg rh ri rj l"><div class="ab cb"><div class="ci bh fz ga gb gc"><div class="rk bh r rl"></div><div class="rm l"><div class="ab rn ro rp iz iy"><div class="rq rr rs rt ru rv rw rx ry rz ab cp"><div class="h k"><a href="https://medium.com/iex-ec?source=post_page---post_publication_info--6f2ebed8d4fa--------------------------------" rel="noopener follow"><div class="fj ab"><img alt="iExec" class="sa ib ic cx" src="https://miro.medium.com/v2/resize:fill:96:96/1*KKA1zag7wTJlhNDcecX49Q.png" width="48" height="48" loading="lazy"/><div class="sa l ic ib fs n fr sb"></div></div></a></div><div class="j i d"><a href="https://medium.com/iex-ec?source=post_page---post_publication_info--6f2ebed8d4fa--------------------------------" rel="noopener follow"><div class="fj ab"><img alt="iExec" class="sa sd sc cx" src="https://miro.medium.com/v2/resize:fill:128:128/1*KKA1zag7wTJlhNDcecX49Q.png" width="64" height="64" loading="lazy"/><div class="sa l sc sd fs n fr sb"></div></div></a></div><div class="j i d se ix"><div class="ab"></div></div></div><div class="ab co sf"><div class="sg sh si my mx l"><a class="af ag ah aj ak al am an ao ap aq ar as at ab q" href="https://medium.com/iex-ec?source=post_page---post_publication_info--6f2ebed8d4fa--------------------------------" rel="noopener follow"><h2 class="pw-author-name bf sk sl sm sn so sp sq pa sr ss pe st su pi sv sw bk"><span class="gn sj">Published in <!-- -->iExec</span></h2></a><div class="qk 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="/iex-ec/followers?source=post_page---post_publication_info--6f2ebed8d4fa--------------------------------">2.1K 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="/iex-ec/why-users-wont-share-their-email-addresses-in-web3-c57c69c300cd?source=post_page---post_publication_info--6f2ebed8d4fa--------------------------------">Last published <span>Oct 28, 2024</span></a></div></div><div class="sx l"><p class="bf b bg z bk"><span class="gn">Web3 Marketplace for Computing Assets</span></p></div></div></div><div class="h k"><div class="ab"></div></div></div></div><div class="ab rn ro rp iz iy"><div class="rq rr rs rt ru rv rw rx ry rz ab cp"><div class="h k"><a tabindex="0" rel="noopener follow" href="/@hadrien.croubois?source=post_page---post_author_info--6f2ebed8d4fa--------------------------------"><div class="l fj"><img alt="Hadrien Croubois" class="l fd by ic ib cx" src="https://miro.medium.com/v2/resize:fill:96:96/1*UkQc8sPp7kCWAyt2OlT4Cg.jpeg" width="48" height="48" loading="lazy"/><div class="fr by l ic ib fs n ay sb"></div></div></a></div><div class="j i d"><a tabindex="0" rel="noopener follow" href="/@hadrien.croubois?source=post_page---post_author_info--6f2ebed8d4fa--------------------------------"><div class="l fj"><img alt="Hadrien Croubois" class="l fd by sc sd cx" src="https://miro.medium.com/v2/resize:fill:128:128/1*UkQc8sPp7kCWAyt2OlT4Cg.jpeg" width="64" height="64" loading="lazy"/><div class="fr by l sc sd fs n ay sb"></div></div></a></div><div class="j i d se ix"><div class="ab"><span><button class="bf b bg z sy qm sz ta tb tc td ev ew te tf tg fa fb fc fd bm fe ff">Follow</button></span></div></div></div><div class="ab co sf"><div class="sg sh si my mx l"><a class="af ag ah aj ak al am an ao ap aq ar as at ab q" rel="noopener follow" href="/@hadrien.croubois?source=post_page---post_author_info--6f2ebed8d4fa--------------------------------"><h2 class="pw-author-name bf sk sl sm sn so sp sq pa sr ss pe st su pi sv sw bk"><span class="gn sj">Written by <!-- -->Hadrien Croubois</span></h2></a><div class="qk 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="/@hadrien.croubois/followers?source=post_page---post_author_info--6f2ebed8d4fa--------------------------------">91 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="/@hadrien.croubois/following?source=post_page---post_author_info--6f2ebed8d4fa--------------------------------">3 Following</a></div></div><div class="sx l"><p class="bf b bg z bk"><a class="af ag ah ai aj ak al am an ao ap aq ar ps go" href="https://hadriencroubois.com" rel="noopener ugc nofollow">https://hadriencroubois.com</a></p></div></div></div><div class="h k"><div class="ab"><span><button class="bf b bg z sy qm sz ta tb tc td ev ew te tf tg fa fb fc fd bm fe ff">Follow</button></span></div></div></div></div></div></div><div class="th l"><div class="rk bh r ti tj tk tl tm"></div><div class="ab cb"><div class="ci bh fz ga gb gc"><div class="ab q cp"><h2 class="bf sk nu nw nx ny oa ob oc oe of og oi oj ok om on bk">No responses yet</h2><div class="ab tn"><div><div class="bm" aria-hidden="false"><a class="to tp" href="https://policy.medium.com/medium-rules-30e5502c4eb4?source=post_page---post_responses--6f2ebed8d4fa--------------------------------" 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="tq tr ts tt tu l bx"><div class="h k j"><div class="rk bh tv tw"></div><div class="ab cb"><div class="ci bh fz ga gb gc"><div class="tx ab kv ja"><div class="ty tz 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-----6f2ebed8d4fa--------------------------------" rel="noopener follow"><p class="bf b dv z du">Help</p></a></div><div class="ty tz 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-----6f2ebed8d4fa--------------------------------" rel="noopener follow"><p class="bf b dv z du">Status</p></a></div><div class="ty tz 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-----6f2ebed8d4fa--------------------------------"><p class="bf b dv z du">About</p></a></div><div class="ty tz 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-----6f2ebed8d4fa--------------------------------"><p class="bf b dv z du">Careers</p></a></div><div class="ty tz 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-----6f2ebed8d4fa--------------------------------" rel="noopener follow"><p class="bf b dv z du">Press</p></a></div><div class="ty tz 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-----6f2ebed8d4fa--------------------------------" rel="noopener follow"><p class="bf b dv z du">Blog</p></a></div><div class="ty tz 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-----6f2ebed8d4fa--------------------------------" rel="noopener follow"><p class="bf b dv z du">Privacy</p></a></div><div class="ty tz 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-----6f2ebed8d4fa--------------------------------" rel="noopener follow"><p class="bf b dv z du">Terms</p></a></div><div class="ty tz 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-----6f2ebed8d4fa--------------------------------" rel="noopener follow"><p class="bf b dv z du">Text to speech</p></a></div><div class="ty 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-----6f2ebed8d4fa--------------------------------"><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-20241126-181518-0cb59a020f"</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-6f2ebed8d4fa","user-46e912fb6d7e","collection-5efdabf9a21a"],"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":false,"routingEntity":{"type":"DEFAULT","explicit":false},"viewerIsBot":false},"debug":{"requestId":"b48b7bbe-40d1-9cf7-b4cd-17e6343c8b87","hybridDevServices":[],"originalSpanCarrier":{"traceparent":"00-a162fb2ff2e1009e4e65a621fb12bd16-d392aadd056829de-01"}},"multiVote":{"clapsPerPost":{}},"navigation":{"branch":{"show":null,"hasRendered":null,"blockedByCTA":false},"hideGoogleOneTap":false,"hasRenderedAlternateUserBanner":null,"currentLocation":"https:\u002F\u002Fmedium.com\u002Fiex-ec\u002Fpoco-series-4-sgx-enclaves-and-trusted-executions-6f2ebed8d4fa","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-20241126-181518-0cb59a020f","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-20241126-181518-0cb59a020f","commit":"0cb59a020f4453d0900f671f1a6576feecc55e74"}},"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","viewer":null,"collectionByDomainOrSlug({\"domainOrSlug\":\"iex-ec\"})":{"__ref":"Collection:5efdabf9a21a"},"postResult({\"id\":\"6f2ebed8d4fa\"})":{"__ref":"Post:6f2ebed8d4fa"}},"ImageMetadata:":{"__typename":"ImageMetadata","id":""},"Collection:5efdabf9a21a":{"__typename":"Collection","id":"5efdabf9a21a","favicon":{"__ref":"ImageMetadata:"},"customStyleSheet":null,"colorPalette":{"__typename":"ColorPalette","highlightSpectrum":{"__typename":"ColorSpectrum","backgroundColor":"#FFFFFFFF","colorPoints":[{"__typename":"ColorPoint","color":"#FFF5F2F1","point":0},{"__typename":"ColorPoint","color":"#FFF3F0EF","point":0.1},{"__typename":"ColorPoint","color":"#FFF1EEED","point":0.2},{"__typename":"ColorPoint","color":"#FFEFECEC","point":0.3},{"__typename":"ColorPoint","color":"#FFEDEAEA","point":0.4},{"__typename":"ColorPoint","color":"#FFEBE8E8","point":0.5},{"__typename":"ColorPoint","color":"#FFE9E6E6","point":0.6},{"__typename":"ColorPoint","color":"#FFE7E5E4","point":0.7},{"__typename":"ColorPoint","color":"#FFE5E3E2","point":0.8},{"__typename":"ColorPoint","color":"#FFE3E1E0","point":0.9},{"__typename":"ColorPoint","color":"#FFE1DFDE","point":1}]},"defaultBackgroundSpectrum":{"__typename":"ColorSpectrum","backgroundColor":"#FFFFFFFF","colorPoints":[{"__typename":"ColorPoint","color":"#FF858484","point":0},{"__typename":"ColorPoint","color":"#FF7C7B7A","point":0.1},{"__typename":"ColorPoint","color":"#FF737171","point":0.2},{"__typename":"ColorPoint","color":"#FF696868","point":0.3},{"__typename":"ColorPoint","color":"#FF5F5E5E","point":0.4},{"__typename":"ColorPoint","color":"#FF555454","point":0.5},{"__typename":"ColorPoint","color":"#FF4A4949","point":0.6},{"__typename":"ColorPoint","color":"#FF3F3E3E","point":0.7},{"__typename":"ColorPoint","color":"#FF343333","point":0.8},{"__typename":"ColorPoint","color":"#FF272727","point":0.9},{"__typename":"ColorPoint","color":"#FF1A1A1A","point":1}]},"tintBackgroundSpectrum":{"__typename":"ColorSpectrum","backgroundColor":"#FF010101","colorPoints":[{"__typename":"ColorPoint","color":"#FF010101","point":0},{"__typename":"ColorPoint","color":"#FF222121","point":0.1},{"__typename":"ColorPoint","color":"#FF3F3F3E","point":0.2},{"__typename":"ColorPoint","color":"#FF595858","point":0.3},{"__typename":"ColorPoint","color":"#FF727070","point":0.4},{"__typename":"ColorPoint","color":"#FF888786","point":0.5},{"__typename":"ColorPoint","color":"#FF9E9C9C","point":0.6},{"__typename":"ColorPoint","color":"#FFB3B1B1","point":0.7},{"__typename":"ColorPoint","color":"#FFC8C5C5","point":0.8},{"__typename":"ColorPoint","color":"#FFDBD9D8","point":0.9},{"__typename":"ColorPoint","color":"#FFEFECEB","point":1}]}},"domain":null,"slug":"iex-ec","googleAnalyticsId":null,"editors":[{"__typename":"CollectionMastheadUserItem","user":{"__ref":"User:e6336cf013fa"}},{"__typename":"CollectionMastheadUserItem","user":{"__ref":"User:3e9a755f6d15"}},{"__typename":"CollectionMastheadUserItem","user":{"__ref":"User:46e912fb6d7e"}},{"__typename":"CollectionMastheadUserItem","user":{"__ref":"User:64f810ceb2e3"}},{"__typename":"CollectionMastheadUserItem","user":{"__ref":"User:cc0bc8d0dfd1"}},{"__typename":"CollectionMastheadUserItem","user":{"__ref":"User:9f72d18abf35"}},{"__typename":"CollectionMastheadUserItem","user":{"__ref":"User:2db0cb98f262"}},{"__typename":"CollectionMastheadUserItem","user":{"__ref":"User:b6a17d43c5cf"}}],"name":"iExec","avatar":{"__ref":"ImageMetadata:1*KKA1zag7wTJlhNDcecX49Q.png"},"description":"Web3 Marketplace for Computing Assets","subscriberCount":2138,"latestPostsConnection({\"paging\":{\"limit\":1}})":{"__typename":"PostConnection","posts":[{"__ref":"Post:c57c69c300cd"}]},"viewerEdge":{"__ref":"CollectionViewerEdge:collectionId:5efdabf9a21a-viewerId:lo_3ffdfec6bfe3"},"twitterUsername":"iEx_ec","facebookPageId":null,"logo":{"__ref":"ImageMetadata:1*CuBfgpHLLJgvesKWRNVCJg.png"}},"User:e6336cf013fa":{"__typename":"User","id":"e6336cf013fa"},"User:3e9a755f6d15":{"__typename":"User","id":"3e9a755f6d15"},"User:46e912fb6d7e":{"__typename":"User","id":"46e912fb6d7e","name":"Hadrien Croubois","username":"hadrien.croubois","newsletterV3":{"__ref":"NewsletterV3:5a17572f6ed0"},"linkedAccounts":{"__ref":"LinkedAccounts:46e912fb6d7e"},"isSuspended":false,"imageId":"1*UkQc8sPp7kCWAyt2OlT4Cg.jpeg","mediumMemberAt":0,"verifications":{"__typename":"VerifiedInfo","isBookAuthor":false},"socialStats":{"__typename":"SocialStats","followerCount":91,"followingCount":2,"collectionFollowingCount":1},"customDomainState":null,"hasSubdomain":false,"bio":"https:\u002F\u002Fhadriencroubois.com","isPartnerProgramEnrolled":false,"viewerEdge":{"__ref":"UserViewerEdge:userId:46e912fb6d7e-viewerId:lo_3ffdfec6bfe3"},"viewerIsUser":false,"postSubscribeMembershipUpsellShownAt":0,"membership":null,"allowNotes":true,"twitterScreenName":""},"User:64f810ceb2e3":{"__typename":"User","id":"64f810ceb2e3"},"User:cc0bc8d0dfd1":{"__typename":"User","id":"cc0bc8d0dfd1"},"User:9f72d18abf35":{"__typename":"User","id":"9f72d18abf35"},"User:2db0cb98f262":{"__typename":"User","id":"2db0cb98f262","customDomainState":null,"hasSubdomain":false,"username":"iExec"},"User:b6a17d43c5cf":{"__typename":"User","id":"b6a17d43c5cf"},"ImageMetadata:1*KKA1zag7wTJlhNDcecX49Q.png":{"__typename":"ImageMetadata","id":"1*KKA1zag7wTJlhNDcecX49Q.png"},"Post:c57c69c300cd":{"__typename":"Post","id":"c57c69c300cd","firstPublishedAt":1730105635973,"creator":{"__ref":"User:2db0cb98f262"},"collection":{"__ref":"Collection:5efdabf9a21a"},"isSeries":false,"mediumUrl":"https:\u002F\u002Fmedium.com\u002Fiex-ec\u002Fwhy-users-wont-share-their-email-addresses-in-web3-c57c69c300cd","sequence":null,"uniqueSlug":"why-users-wont-share-their-email-addresses-in-web3-c57c69c300cd"},"LinkedAccounts:46e912fb6d7e":{"__typename":"LinkedAccounts","mastodon":null,"id":"46e912fb6d7e"},"UserViewerEdge:userId:46e912fb6d7e-viewerId:lo_3ffdfec6bfe3":{"__typename":"UserViewerEdge","id":"userId:46e912fb6d7e-viewerId:lo_3ffdfec6bfe3","isFollowing":false,"isUser":false,"isMuting":false},"NewsletterV3:5a17572f6ed0":{"__typename":"NewsletterV3","id":"5a17572f6ed0","type":"NEWSLETTER_TYPE_AUTHOR","slug":"46e912fb6d7e","name":"46e912fb6d7e","collection":null,"user":{"__ref":"User:46e912fb6d7e"}},"Paragraph:80f25173038c_0":{"__typename":"Paragraph","id":"80f25173038c_0","name":"01c8","type":"H3","href":null,"layout":null,"metadata":null,"text":"PoCo Series #4 — Enclaves and Trusted Executions","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"ImageMetadata:1*Gx7mCejWMvtE11w4wLi4ng.jpeg":{"__typename":"ImageMetadata","id":"1*Gx7mCejWMvtE11w4wLi4ng.jpeg","originalHeight":734,"originalWidth":1200,"focusPercentX":null,"focusPercentY":null,"alt":null},"Paragraph:80f25173038c_1":{"__typename":"Paragraph","id":"80f25173038c_1","name":"9000","type":"IMG","href":null,"layout":"OUTSET_CENTER","metadata":{"__ref":"ImageMetadata:1*Gx7mCejWMvtE11w4wLi4ng.jpeg"},"text":"","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:80f25173038c_2":{"__typename":"Paragraph","id":"80f25173038c_2","name":"a4b7","type":"H3","href":null,"layout":null,"metadata":null,"text":"What are enclaves?","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:80f25173038c_3":{"__typename":"Paragraph","id":"80f25173038c_3","name":"2cb9","type":"P","href":null,"layout":null,"metadata":null,"text":"Enclaves are solutions which are built into the CPU and provide hardware security. Using a dedicated set of instruction codes, enclaves are isolated regions of memory which are protected from processes running at any privilege level, including the operating system.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:80f25173038c_4":{"__typename":"Paragraph","id":"80f25173038c_4","name":"9e8b","type":"P","href":null,"layout":null,"metadata":null,"text":"Enclaves are paradigm shifting tools in the world of Cloud computing. Thanks to the security they offer, anyone will soon be able to run its applications on any computer without the fear of disclosing sensitive data to a third party.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:80f25173038c_5":{"__typename":"Paragraph","id":"80f25173038c_5","name":"f611","type":"P","href":null,"layout":null,"metadata":null,"text":"The most well-known enclave solution is Intel® SGX, which Lei discussed in the iExec dev letter 14.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"A","start":79,"end":98,"href":"https:\u002F\u002Fmedium.com\u002Fiex-ec\u002Fiexec-dev-letter-14-intel-sgx-security-and-r-14-feb-2018-544d87e28869","anchorType":"LINK","userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:80f25173038c_6":{"__typename":"Paragraph","id":"80f25173038c_6","name":"8e28","type":"H3","href":null,"layout":null,"metadata":null,"text":"Aren’t enclaves and PoCo contradictory?","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:80f25173038c_7":{"__typename":"Paragraph","id":"80f25173038c_7","name":"4fde","type":"P","href":null,"layout":null,"metadata":null,"text":"By now you should be familiar with the Proof-of-contribution protocol discussed in this series. This protocol is in charge of providing a trusted computing environment on top of untrusted resources. This is achieved through incentives mechanisms that make the actors of the platform want to behave correctly.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:80f25173038c_8":{"__typename":"Paragraph","id":"80f25173038c_8","name":"8e47","type":"P","href":null,"layout":null,"metadata":null,"text":"These incentives, combined with the use of cryptographic signature and the properties of the blockchain, ensure that workers have no economic advantages of producing fake results (i.e claiming reward without doing the actual computation). However, the story does not end here! The PoCo orchestrates the various contributions of workers, schedulers, dapp providers and soon data providers. On the other hand enclaves ensure that a worker is not able to interfere with the execution, thus removing the need for result certification. This particularly appealing for non-deterministic computations because results cannot be certified by comparing their signatures. Thus using enclaves can significantly improve the security providing that blockchain-level enclave certification is implemented. In short, it means that the PoCo algorithm that runs on the blockchain must have a proof that a worker has actually executed the application within an enclave.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:80f25173038c_9":{"__typename":"Paragraph","id":"80f25173038c_9","name":"f462","type":"P","href":null,"layout":null,"metadata":null,"text":"However the enclave technology is not a magic wand. First, it’s not yet available on all processors and even when available, the BIOS has to support it and support must be enabled by the user (which is usually not by default). Plus, there is a performance overhead when running an application within an enclave. Finally, no GPU has support for enclave and it probably wouldn’t makes sense for GPU to implement that. As a result, despite being a very promising technology, there are at the moment very few Cloud providers that offer servers with enclaves enabled.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:80f25173038c_10":{"__typename":"Paragraph","id":"80f25173038c_10","name":"de03","type":"P","href":null,"layout":null,"metadata":null,"text":"This is why our solution uses the PoCo in conjunction with enclaves.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:80f25173038c_11":{"__typename":"Paragraph","id":"80f25173038c_11","name":"4f43","type":"P","href":null,"layout":null,"metadata":null,"text":"PoCo is in charge of the orchestration of all contributions. This includes a layer of certification that relies on the reputation of the workers. In the PoCo vision, enclaves are not considered as inviolable solutions (which recent news unfortunately confirms), but rather as an accelerator that, when enabled, increase the trust of workers that run them.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:80f25173038c_12":{"__typename":"Paragraph","id":"80f25173038c_12","name":"4334","type":"P","href":null,"layout":null,"metadata":null,"text":"PoCo can, therefore, have enclaves and traditional runtimes participate in the same job. Still, using the PoCo parameters, a user can fall back to having its application running on a single enclave if he so desires. This is as simple a requiring a low trust requirement (achievable by a single worker) and using a tag restricting the job to enclave providing workers.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:80f25173038c_13":{"__typename":"Paragraph","id":"80f25173038c_13","name":"5303","type":"H3","href":null,"layout":null,"metadata":null,"text":"So when will PoCo be enclave ready?","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:80f25173038c_14":{"__typename":"Paragraph","id":"80f25173038c_14","name":"b7b3","type":"P","href":null,"layout":null,"metadata":null,"text":"It already is!","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:80f25173038c_15":{"__typename":"Paragraph","id":"80f25173038c_15","name":"2c3c","type":"P","href":null,"layout":null,"metadata":null,"text":"The PoCo smart contracts are visible on Github. In the WorkerPool.sol you can see it in action in the method allowWorkerToContribute where the scheduler registers the enclave wallet address. When publishing its contribution, the worker has to provide a valid signature that passes this challenge. This will then be used to boost the user score when computing the reward.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"A","start":40,"end":46,"href":"https:\u002F\u002Fgithub.com\u002FiExecBlockchainComputing\u002FPoCo\u002Ftree\u002Fmaster\u002Fcontracts","anchorType":"LINK","userId":null,"linkMetadata":null},{"__typename":"Markup","type":"A","start":109,"end":132,"href":"https:\u002F\u002Fgithub.com\u002FiExecBlockchainComputing\u002FPoCo\u002Fblob\u002Fmaster\u002Fcontracts\u002FWorkerPool.sol#L293","anchorType":"LINK","userId":null,"linkMetadata":null},{"__typename":"Markup","type":"A","start":243,"end":295,"href":"https:\u002F\u002Fgithub.com\u002FiExecBlockchainComputing\u002FPoCo\u002Fblob\u002Fmaster\u002Fcontracts\u002FWorkerPool.sol#L312","anchorType":"LINK","userId":null,"linkMetadata":null},{"__typename":"Markup","type":"A","start":323,"end":369,"href":"https:\u002F\u002Fgithub.com\u002FiExecBlockchainComputing\u002FPoCo\u002Fblob\u002Fmaster\u002Fcontracts\u002FWorkerPool.sol#L432","anchorType":"LINK","userId":null,"linkMetadata":null},{"__typename":"Markup","type":"EM","start":55,"end":69,"href":null,"anchorType":null,"userId":null,"linkMetadata":null},{"__typename":"Markup","type":"EM","start":109,"end":132,"href":null,"anchorType":null,"userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:80f25173038c_16":{"__typename":"Paragraph","id":"80f25173038c_16","name":"dc84","type":"P","href":null,"layout":null,"metadata":null,"text":"Indeed, the application result calculated on Intel® SGX worker can be signed by enclave private key or a private key protected by enclave, the signature can then be transferred to on-chain network for verification via the corresponding public key that is registered on Blockchain.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:80f25173038c_17":{"__typename":"Paragraph","id":"80f25173038c_17","name":"d773","type":"P","href":null,"layout":null,"metadata":null,"text":"The first appearance of the enclave challenge goes back to a commit pushed by Francois on February 8th 2018. Despite the previous articles of this series not insisting on it, enclaves integration has always been a part of the PoCo development.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"A","start":59,"end":107,"href":"https:\u002F\u002Fgithub.com\u002FiExecBlockchainComputing\u002FPoCo\u002Fblob\u002Fd6e35558b22dba6a631682c220742422385aead6\u002Fcontracts\u002FContributions.sol","anchorType":"LINK","userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:80f25173038c_18":{"__typename":"Paragraph","id":"80f25173038c_18","name":"093e","type":"P","href":null,"layout":null,"metadata":null,"text":"Building the PoCo with enclaves in mind is one thing, having the middleware implement it is another with still require some development. Rest assure that the smart contracts currently deployed on the main net support this feature which will soon come into action. On going developments focus on helping the users to protect application and data privacy.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:80f25173038c_19":{"__typename":"Paragraph","id":"80f25173038c_19","name":"f753","type":"H3","href":null,"layout":null,"metadata":null,"text":"How does PoCo recognize enclaves?","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:80f25173038c_20":{"__typename":"Paragraph","id":"80f25173038c_20","name":"45ee","type":"P","href":null,"layout":null,"metadata":null,"text":"A specific signature mechanism is required to certify, on-chain, that a job was in fact executed in a secure enclave. This signature mechanism is integrated in the PoCo transactions detailed in the previous articles of this series.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:80f25173038c_21":{"__typename":"Paragraph","id":"80f25173038c_21","name":"2180","type":"P","href":null,"layout":null,"metadata":null,"text":"Let’s go through the process of certifying an Intel® SGX enclave:","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:80f25173038c_22":{"__typename":"Paragraph","id":"80f25173038c_22","name":"36e8","type":"OLI","href":null,"layout":null,"metadata":null,"text":"An enclave is provisioned on a worker with Intel® SGX capability and a pair of public\u002Fprivate keys is generated inside the enclave. These keys are secure and no one outside the enclave can access them.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:80f25173038c_23":{"__typename":"Paragraph","id":"80f25173038c_23","name":"f5c3","type":"OLI","href":null,"layout":null,"metadata":null,"text":"The worker sends the public key to the scheduler using a certified channel (signed by Intel® SGX).","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:80f25173038c_24":{"__typename":"Paragraph","id":"80f25173038c_24","name":"ea05","type":"OLI","href":null,"layout":null,"metadata":null,"text":"Using the Intel Attestation Server (IAS), the scheduler can verify that the public key it received was actually produced by an enclave running the iExec middleware.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:80f25173038c_25":{"__typename":"Paragraph","id":"80f25173038c_25","name":"4392","type":"OLI","href":null,"layout":null,"metadata":null,"text":"As part of the PoCo, the scheduler sends a message to the blockchain authorizing the worker to contribute to a specific work order. This message includes the enclave’s public key. This public key is registered (enclaveChallenge) and will restrict the submission of contributions.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:80f25173038c_26":{"__typename":"Paragraph","id":"80f25173038c_26","name":"e8c0","type":"OLI","href":null,"layout":null,"metadata":null,"text":"The worker runs the dapp in the enclave and signs the result with the enclave’s private key. The dapp could run outside an enclave, but the iExec enclave is designed such that for the result to be signed must be computed inside the secure environment.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:80f25173038c_27":{"__typename":"Paragraph","id":"80f25173038c_27","name":"963a","type":"OLI","href":null,"layout":null,"metadata":null,"text":"The worker sends the contribution report to the blockchain. This report includes a signature of the contribution by the enclave, which can be verified on-chain.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"ImageMetadata:0*gTqDj8uAFfDP5VpW":{"__typename":"ImageMetadata","id":"0*gTqDj8uAFfDP5VpW","originalHeight":1444,"originalWidth":1600,"focusPercentX":null,"focusPercentY":null,"alt":null},"Paragraph:80f25173038c_28":{"__typename":"Paragraph","id":"80f25173038c_28","name":"026d","type":"IMG","href":null,"layout":"INSET_CENTER","metadata":{"__ref":"ImageMetadata:0*gTqDj8uAFfDP5VpW"},"text":"","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:80f25173038c_29":{"__typename":"Paragraph","id":"80f25173038c_29","name":"d364","type":"P","href":null,"layout":null,"metadata":null,"text":"The verification of the enclave using Intel Attestation Server is specific to Intel® SGX, and introduce some form of centralization. However, other attestation approaches are being developed and will be considered in the future. Still, once a secure communication channel is established between the enclave and the scheduler the logic stays the same. Therefore, the on-chain part is agnostic of the actual enclave technology, meaning iExec should support any enclave technologies in the future.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:80f25173038c_30":{"__typename":"Paragraph","id":"80f25173038c_30","name":"e1bd","type":"H3","href":null,"layout":null,"metadata":null,"text":"So, what’s next ?","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:80f25173038c_31":{"__typename":"Paragraph","id":"80f25173038c_31","name":"8577","type":"P","href":null,"layout":null,"metadata":null,"text":"In this article, you have learned how PoCo integrates enclaves attestation. At the moment the team is finalizing the protocol extensions between the workers and schedulers. We are also working on a new version of the SDK that makes a regular Docker image “Intel® SGX enabled”.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:80f25173038c_32":{"__typename":"Paragraph","id":"80f25173038c_32","name":"0353","type":"P","href":null,"layout":null,"metadata":null,"text":"At Devcon4, the iExec team will announce the first end-to-end solution which allows to protect user’s input data and the results in a simple and secure way.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:80f25173038c_33":{"__typename":"Paragraph","id":"80f25173038c_33","name":"cf9b","type":"P","href":null,"layout":null,"metadata":null,"text":"Stay tuned, and don’t forget to join us at the iExec Summit & Party !","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"A","start":47,"end":67,"href":"https:\u002F\u002Fwww.eventbrite.fr\u002Fe\u002Fbillets-iexec-summit-party-49421864126","anchorType":"LINK","userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"CollectionViewerEdge:collectionId:5efdabf9a21a-viewerId:lo_3ffdfec6bfe3":{"__typename":"CollectionViewerEdge","id":"collectionId:5efdabf9a21a-viewerId:lo_3ffdfec6bfe3","isEditor":false,"isMuting":false},"ImageMetadata:1*CuBfgpHLLJgvesKWRNVCJg.png":{"__typename":"ImageMetadata","id":"1*CuBfgpHLLJgvesKWRNVCJg.png","originalWidth":400,"originalHeight":400},"PostViewerEdge:postId:6f2ebed8d4fa-viewerId:lo_3ffdfec6bfe3":{"__typename":"PostViewerEdge","shouldIndexPostForExternalSearch":true,"id":"postId:6f2ebed8d4fa-viewerId:lo_3ffdfec6bfe3"},"Tag:ethereum":{"__typename":"Tag","id":"ethereum","displayTitle":"Ethereum","normalizedTagSlug":"ethereum"},"Tag:blockchain":{"__typename":"Tag","id":"blockchain","displayTitle":"Blockchain","normalizedTagSlug":"blockchain"},"Tag:iexec":{"__typename":"Tag","id":"iexec","displayTitle":"Iexec","normalizedTagSlug":"iexec"},"Tag:sgx":{"__typename":"Tag","id":"sgx","displayTitle":"Sgx","normalizedTagSlug":"sgx"},"Tag:poco":{"__typename":"Tag","id":"poco","displayTitle":"Poco","normalizedTagSlug":"poco"},"Post:6f2ebed8d4fa":{"__typename":"Post","id":"6f2ebed8d4fa","collection":{"__ref":"Collection:5efdabf9a21a"},"content({\"postMeteringOptions\":{}})":{"__typename":"PostContent","isLockedPreviewOnly":false,"bodyModel":{"__typename":"RichText","sections":[{"__typename":"Section","name":"dbc7","startIndex":0,"textLayout":null,"imageLayout":null,"backgroundImage":null,"videoLayout":null,"backgroundVideo":null}],"paragraphs":[{"__ref":"Paragraph:80f25173038c_0"},{"__ref":"Paragraph:80f25173038c_1"},{"__ref":"Paragraph:80f25173038c_2"},{"__ref":"Paragraph:80f25173038c_3"},{"__ref":"Paragraph:80f25173038c_4"},{"__ref":"Paragraph:80f25173038c_5"},{"__ref":"Paragraph:80f25173038c_6"},{"__ref":"Paragraph:80f25173038c_7"},{"__ref":"Paragraph:80f25173038c_8"},{"__ref":"Paragraph:80f25173038c_9"},{"__ref":"Paragraph:80f25173038c_10"},{"__ref":"Paragraph:80f25173038c_11"},{"__ref":"Paragraph:80f25173038c_12"},{"__ref":"Paragraph:80f25173038c_13"},{"__ref":"Paragraph:80f25173038c_14"},{"__ref":"Paragraph:80f25173038c_15"},{"__ref":"Paragraph:80f25173038c_16"},{"__ref":"Paragraph:80f25173038c_17"},{"__ref":"Paragraph:80f25173038c_18"},{"__ref":"Paragraph:80f25173038c_19"},{"__ref":"Paragraph:80f25173038c_20"},{"__ref":"Paragraph:80f25173038c_21"},{"__ref":"Paragraph:80f25173038c_22"},{"__ref":"Paragraph:80f25173038c_23"},{"__ref":"Paragraph:80f25173038c_24"},{"__ref":"Paragraph:80f25173038c_25"},{"__ref":"Paragraph:80f25173038c_26"},{"__ref":"Paragraph:80f25173038c_27"},{"__ref":"Paragraph:80f25173038c_28"},{"__ref":"Paragraph:80f25173038c_29"},{"__ref":"Paragraph:80f25173038c_30"},{"__ref":"Paragraph:80f25173038c_31"},{"__ref":"Paragraph:80f25173038c_32"},{"__ref":"Paragraph:80f25173038c_33"}]},"validatedShareKey":"","shareKeyCreator":null},"creator":{"__ref":"User:46e912fb6d7e"},"inResponseToEntityType":null,"isLocked":false,"isMarkedPaywallOnly":false,"lockedSource":"LOCKED_POST_SOURCE_NONE","mediumUrl":"https:\u002F\u002Fmedium.com\u002Fiex-ec\u002Fpoco-series-4-sgx-enclaves-and-trusted-executions-6f2ebed8d4fa","primaryTopic":null,"topics":[{"__typename":"Topic","slug":"blockchain"},{"__typename":"Topic","slug":"cybersecurity"},{"__typename":"Topic","slug":"programming"}],"isPublished":true,"latestPublishedVersion":"80f25173038c","visibility":"PUBLIC","postResponses":{"__typename":"PostResponses","count":0},"clapCount":258,"allowResponses":true,"isLimitedState":false,"title":"PoCo Series #4 — Enclaves and Trusted Executions","isSeries":false,"sequence":null,"uniqueSlug":"poco-series-4-sgx-enclaves-and-trusted-executions-6f2ebed8d4fa","socialTitle":"","socialDek":"","canonicalUrl":"https:\u002F\u002Facademy.iex.ec\u002Fpoco-4-enclaves-and-trusted-executions\u002F","metaDescription":"","latestPublishedAt":1548079040711,"readingTime":4.74559748427673,"previewContent":{"__typename":"PreviewContent","subtitle":"What are enclaves?"},"previewImage":{"__ref":"ImageMetadata:1*Gx7mCejWMvtE11w4wLi4ng.jpeg"},"isShortform":false,"seoTitle":"","firstPublishedAt":1536939590217,"updatedAt":1720435307594,"shortformType":"SHORTFORM_TYPE_LINK","seoDescription":"","viewerEdge":{"__ref":"PostViewerEdge:postId:6f2ebed8d4fa-viewerId:lo_3ffdfec6bfe3"},"isSuspended":false,"license":"ALL_RIGHTS_RESERVED","tags":[{"__ref":"Tag:ethereum"},{"__ref":"Tag:blockchain"},{"__ref":"Tag:iexec"},{"__ref":"Tag:sgx"},{"__ref":"Tag:poco"}],"isNewsletter":false,"statusForCollection":"APPROVED","pendingCollection":null,"detectedLanguage":"en","wordCount":1156,"layerCake":0,"responsesLocked":false}}</script><script>window.__MIDDLEWARE_STATE__={"session":{"xsrf":""},"cache":{"cacheStatus":"MISS"}}</script><script src="https://cdn-client.medium.com/lite/static/js/manifest.aa9242f7.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.e556b4ac.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/5787.e66a3a4d.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/3104.c3413b66.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.8ad8a900.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.094844de.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.1387c5dc.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:'8e8eec284b48ce42',t:'MTczMjY3Njk5OS4wMDAwMDA='};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>