pablohere/public/hashwars/deck.ca.html

647 lines
132 KiB
HTML
Raw Permalink Normal View History

2026-10-25 18:54:44 +01:00
<!DOCTYPE html><html lang="ca"><head><title>Quant hashrate necessita un chainsplit de softfork per sobreviure?</title><meta property="og:title" content="Quant hashrate necessita un chainsplit de softfork per sobreviure?"><meta charset="UTF-8"><meta name="viewport" content="width=device-width,height=device-height,initial-scale=1.0"><meta name="apple-mobile-web-app-capable" content="yes"><meta http-equiv="X-UA-Compatible" content="ie=edge"><meta property="og:type" content="website"><meta name="twitter:card" content="summary"><style>@media screen{body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container button{appearance:none;background-color:initial;border:0;color:inherit;cursor:pointer;font-size:inherit;opacity:.8;outline:none;padding:0;transition:opacity .2s linear;-webkit-tap-highlight-color:transparent}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button:disabled,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button:disabled,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button:disabled,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container button:disabled{cursor:not-allowed;opacity:.15!important}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button:hover,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button:hover,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button:hover,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container button:hover{opacity:1}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button:hover:active,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button:hover:active,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button:hover:active,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container button:hover:active{opacity:.6}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button:hover:not(:disabled),body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button:hover:not(:disabled),body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button:hover:not(:disabled),body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container button:hover:not(:disabled){transition:none}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=prev],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=prev],body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button.bespoke-marp-presenter-info-page-prev{background:#0000 url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSI1IiBkPSJNNjggOTAgMjggNTBsNDAtNDAiLz48L3N2Zz4=") no-repeat 50%;background-size:contain;overflow:hidden;text-indent:100%;white-space:nowrap}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=next],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=next],body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button.bespoke-marp-presenter-info-page-next{background:#0000 url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vc
* Marp default theme.
*
* @theme default
* @author Yuki Hattori
*
* @auto-scaling true
* @size 16:9 1280px 720px
* @size 4:3 960px 720px
*/div#\:\$p > svg > foreignObject > section [data-theme=light],div#\:\$p > svg > foreignObject > section{color-scheme:light}div#\:\$p > svg > foreignObject > section [data-theme=dark],div#\:\$p > svg > foreignObject > section:where(.invert){color-scheme:dark}div#\:\$p > svg > foreignObject > section{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;margin:0;font-weight:var(--base-text-weight-normal, 400);color:var(--fgColor-default);background-color:var(--bgColor-default);font-family:var(--fontStack-sansSerif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji");font-size:16px;line-height:1.5;word-wrap:break-word}div#\:\$p > svg > foreignObject > section{--marpit-root-font-size:16px}div#\:\$p > svg > foreignObject > section a{text-decoration:underline;text-underline-offset:calc(var(--marpit-root-font-size, 1rem) * .2)}div#\:\$p > svg > foreignObject > section :is(h1, marp-h1):hover .anchor .octicon-link:before,div#\:\$p > svg > foreignObject > section :is(h2, marp-h2):hover .anchor .octicon-link:before,div#\:\$p > svg > foreignObject > section :is(h3, marp-h3):hover .anchor .octicon-link:before,div#\:\$p > svg > foreignObject > section :is(h4, marp-h4):hover .anchor .octicon-link:before,div#\:\$p > svg > foreignObject > section :is(h5, marp-h5):hover .anchor .octicon-link:before,div#\:\$p > svg > foreignObject > section :is(h6, marp-h6):hover .anchor .octicon-link:before{width:16px;height:16px;content:" ";display:inline-block;background-color:currentColor;-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 0 0 1.06 1.06l1.25-1.25a2 2 0 1 1 2.83 2.83l-2.5 2.5a2 2 0 0 1-2.83 0 .75.75 0 0 0-1.06 1.06 3.5 3.5 0 0 0 4.95 0l2.5-2.5a3.5 3.5 0 0 0-4.95-4.95zm-4.69 9.64a2 2 0 0 1 0-2.83l2.5-2.5a2 2 0 0 1 2.83 0 .75.75 0 0 0 1.06-1.06 3.5 3.5 0 0 0-4.95 0l-2.5 2.5a3.5 3.5 0 0 0 4.95 4.95l1.25-1.25a.75.75 0 0 0-1.06-1.06l-1.25 1.25a2 2 0 0 1-2.83 0"/></svg>');mask-image:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 0 0 1.06 1.06l1.25-1.25a2 2 0 1 1 2.83 2.83l-2.5 2.5a2 2 0 0 1-2.83 0 .75.75 0 0 0-1.06 1.06 3.5 3.5 0 0 0 4.95 0l2.5-2.5a3.5 3.5 0 0 0-4.95-4.95zm-4.69 9.64a2 2 0 0 1 0-2.83l2.5-2.5a2 2 0 0 1 2.83 0 .75.75 0 0 0 1.06-1.06 3.5 3.5 0 0 0-4.95 0l-2.5 2.5a3.5 3.5 0 0 0 4.95 4.95l1.25-1.25a.75.75 0 0 0-1.06-1.06l-1.25 1.25a2 2 0 0 1-2.83 0"/></svg>')}div#\:\$p > svg > foreignObject > section details,div#\:\$p > svg > foreignObject > section figcaption,div#\:\$p > svg > foreignObject > section figure{display:block}div#\:\$p > svg > foreignObject > section summary{display:list-item}div#\:\$p > svg > foreignObject > section [hidden]{display:none!important}div#\:\$p > svg > foreignObject > section a{background-color:transparent;color:var(--fgColor-accent);text-decoration:none}div#\:\$p > svg > foreignObject > section abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}div#\:\$p > svg > foreignObject > section b,div#\:\$p > svg > foreignObject > section strong{font-weight:var(--base-text-weight-semibold, 600)}div#\:\$p > svg > foreignObject > section dfn{font-style:italic}div#\:\$p > svg > foreignObject > section :is(h1, marp-h1){margin:.67em 0;font-weight:var(--base-text-weight-semibold, 600);padding-bottom:.3em;font-size:2em;border-bottom:1px solid var(--borderColor-muted)}div#\:\$p > svg > foreignObject > section mark{background-color:var(--bgColor-attention-muted);color:var(--fgColor-default)}div#\:\$p > svg > foreignObject > section small{font-size:90%}div#\:\$p > svg > foreignObject > section sub,div#\:\$p > svg > foreignObject > section sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}div#\:\$p > svg > foreignObject > section sub{bottom:-.25em}div#\:\$p > svg > foreignObject > section sup{top:-.5em}div#\:\$p > s
</style></head><body><div class="bespoke-marp-osc"><button data-bespoke-marp-osc="prev" tabindex="-1" title="Previous slide">Previous slide</button><span data-bespoke-marp-osc="page"></span><button data-bespoke-marp-osc="next" tabindex="-1" title="Next slide">Next slide</button><button data-bespoke-marp-osc="fullscreen" tabindex="-1" title="Toggle fullscreen (f)">Toggle fullscreen</button><button data-bespoke-marp-osc="presenter" tabindex="-1" title="Open presenter view (p)">Open presenter view</button></div><div id=":$p"><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="1" data-class="lead" data-theme="default" data-lang="ca" data-style="section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
" lang="ca" class="lead" style="--class:lead;--theme:default;--lang:ca;--style:section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
;">
<h1 id="quant-hashrate-necessita-una-cadena-bifurcada">Quant hashrate necessita una cadena bifurcada?</h1>
<p>Chainsplits, temps entre blocs i usabilitat</p>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="2" data-paginate="true" data-theme="default" data-lang="ca" data-style="section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
" lang="ca" data-marpit-pagination="2" style="--paginate:true;--theme:default;--lang:ca;--style:section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
;" data-marpit-pagination-total="25">
<h2 id="per-qu%C3%A8-soc-aqu%C3%AD">Per què soc aquí</h2>
<ul>
<li>Des que la cadena de BIP-110 va fracassar de manera tan espectacular, em ronden unes quantes preocupacions pel cap</li>
<li>Nota: <strong>no tenen res a veure amb les idees de BIP-110</strong> en si</li>
<li>Sou tots molt savis, i m'agradaria que m'ajudéssiu a trobar respostes a les meves preguntes</li>
<li>Avui: l'estat actual del que tinc al cap</li>
</ul>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="3" data-paginate="true" data-class="lead" data-theme="default" data-lang="ca" data-style="section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
" lang="ca" class="lead" data-marpit-pagination="3" style="--paginate:true;--class:lead;--theme:default;--lang:ca;--style:section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
;" data-marpit-pagination-total="25">
<h1 id="preliminars">Preliminars</h1>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="4" data-paginate="true" data-theme="default" data-lang="ca" data-style="section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
" lang="ca" data-marpit-pagination="4" style="--paginate:true;--theme:default;--lang:ca;--style:section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
;" data-marpit-pagination-total="25">
<h2 id="bip-110-ho-va-intentar-i-la-va-pifiar">BIP-110 ho va intentar, i la va pifiar</h2>
<ul>
<li>La seva cadena va rebre tan poc hashrate que <strong>ni tan sols els fanàtics s'hi van quedar gaire temps</strong></li>
<li>8 blocs, abandonada definitivament en 20 dies. Al tercer dia ja era pràcticament un cas tancat.</li>
<li>Això no tenia res a veure amb si <em>estaven d'acord</em> amb el softfork</li>
<li>La cadena era, simplement, <strong>inusable</strong>:
<ul>
<li>temps entre blocs molt llargs</li>
<li>un ajust de dificultat situat molt lluny en el futur</li>
</ul>
</li>
</ul>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="5" data-paginate="true" data-theme="default" data-lang="ca" data-style="section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
" lang="ca" data-marpit-pagination="5" style="--paginate:true;--theme:default;--lang:ca;--style:section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
;" data-marpit-pagination-total="25">
<h2 id="el-que-realment-em-preocupa">El que realment em preocupa</h2>
<p>Entendre fins a quin punt el hashrate està desacoblat dels nodes i els usuaris.</p>
<p>I com el hashrate (o la manca de hashrate) es pot fer servir per doblegar una cadena fins a fer-la inusable.</p>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="6" data-paginate="true" data-class="lead" data-theme="default" data-lang="ca" data-style="section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
" lang="ca" class="lead" data-marpit-pagination="6" style="--paginate:true;--class:lead;--theme:default;--lang:ca;--style:section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
;" data-marpit-pagination-total="25">
<h1 id="la-meva-preocupaci%C3%B3">La meva preocupació</h1>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="7" data-paginate="true" data-theme="default" data-lang="ca" data-style="section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
" lang="ca" data-marpit-pagination="7" style="--paginate:true;--theme:default;--lang:ca;--style:section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
;" data-marpit-pagination-total="25">
<h2 id="el-cercle-vici%C3%B3s-que-no-em-deixa-dormir">El cercle viciós que no em deixa dormir</h2>
<ol>
<li><strong>Poc hashrate</strong> → temps entre blocs llargs, i una espera llarga fins a l'ajust de dificultat</li>
<li><strong>Temps entre blocs llargs</strong> → la cadena és massa lenta per fer-hi transaccions</li>
<li><strong>Massa lenta per fer transaccions</strong> → els usuaris que tenen interessos a bitcoin, i en depenen, fugen de la cadena</li>
<li><strong>Menys usuaris</strong> → menys motius per minar-la → <strong>encara menys hashrate</strong></li>
</ol>
<p>Amb la centralització de la mineria, això vol dir que un càrtel de miners pot activar aquest cercle viciós a voluntat sobre qualsevol cadena.</p>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="8" data-paginate="true" data-class="lead" data-theme="default" data-lang="ca" data-style="section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
" lang="ca" class="lead" data-marpit-pagination="8" style="--paginate:true;--class:lead;--theme:default;--lang:ca;--style:section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
;" data-marpit-pagination-total="25">
<h1 id="el-que-he-estat-investigant">El que he estat investigant</h1>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="9" data-paginate="true" data-theme="default" data-lang="ca" data-style="section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
" lang="ca" data-marpit-pagination="9" style="--paginate:true;--theme:default;--lang:ca;--style:section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
;" data-marpit-pagination-total="25">
<h2 id="dues-coses-que-volia-concretar">Dues coses que volia concretar</h2>
<ul>
<li>Què és <strong>&quot;massa poc&quot;</strong> hashrate, i què són temps entre blocs <strong>&quot;massa llargs&quot;</strong>?</li>
<li>Combinat amb la <strong>concentració actual dels pools de mineria</strong>: quant poder tenen els pools ara mateix?</li>
</ul>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="10" data-paginate="true" data-theme="default" data-lang="ca" data-style="section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
" lang="ca" data-marpit-pagination="10" style="--paginate:true;--theme:default;--lang:ca;--style:section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
;" data-marpit-pagination-total="25">
<h2 id="les-meves-preguntes">Les meves preguntes</h2>
<ol>
<li>En un chainsplit, com afecta la <strong>quota de hashrate</strong> d'una cadena a l'experiència d'usuari?</li>
<li>Amb els pools d'avui, quines <strong>combinacions de pools</strong> tenen el poder d'aturar o<br />
impulsar un softfork a través del hashrate?</li>
</ol>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="11" data-paginate="true" data-class="lead" data-theme="default" data-lang="ca" data-style="section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
" lang="ca" class="lead" data-marpit-pagination="11" style="--paginate:true;--class:lead;--theme:default;--lang:ca;--style:section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
;" data-marpit-pagination-total="25">
<h1 id="metodologia">Metodologia</h1>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="12" data-paginate="true" data-theme="default" data-lang="ca" data-style="section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
" lang="ca" data-marpit-pagination="12" style="--paginate:true;--theme:default;--lang:ca;--style:section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
;" data-marpit-pagination-total="25">
<h2 id="perfils-qui-fa-servir-la-cadena-i-quant-esperaran">Perfils: qui fa servir la cadena, i quant esperaran</h2>
<table>
<thead>
<tr>
<th>Perfil</th>
<th>Qui són</th>
<th>Esperaran per a 3 confirmacions</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Hodler</strong></td>
<td>Guarda, rarament mou monedes</td>
<td>1 setmana</td>
</tr>
<tr>
<td><strong>Mitjà d'intercanvi</strong></td>
<td>Paga i cobra</td>
<td>1 dia</td>
</tr>
<tr>
<td><strong>Institució</strong></td>
<td>Liquida operacions amb un calendari</td>
<td>3 hores</td>
</tr>
</tbody>
</table>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="13" data-paginate="true" data-theme="default" data-lang="ca" data-style="section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
" lang="ca" data-marpit-pagination="13" style="--paginate:true;--theme:default;--lang:ca;--style:section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
;" data-marpit-pagination-total="25">
<h2 id="nivells-de-servei-amb-quina-fiabilitat-sels-ha-de-servir">Nivells de servei: amb quina fiabilitat se'ls ha de servir</h2>
<p>L'arribada de blocs és aleatòria, així que una espera és una distribució, no un número.</p>
<p><strong>Nivell de servei p90:</strong> el 90% de les transaccions d'un perfil han d'arribar a<br />
3 confirmacions dins de la seva tolerància.</p>
<p>Avui, a mainnet, aquesta espera és de <strong>53 minuts</strong>.</p>
<p><span class="small">També es calculen p50 (cara o creu) i p95 (més estricte). El titular és p90.</span></p>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="14" data-paginate="true" data-theme="default" data-lang="ca" data-style="section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
" lang="ca" data-marpit-pagination="14" style="--paginate:true;--theme:default;--lang:ca;--style:section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
;" data-marpit-pagination-total="25">
<h2 id="sup%C3%B2sits">Supòsits</h2>
<ul>
<li><strong>3 confirmacions</strong> compten com a definitives</li>
<li><strong>Hashrate estàtic:</strong> cada escenari manté el seu repartiment per sempre</li>
<li><strong>Mempool buida:</strong> sense competència de comissions ni cues. <em>El millor cas; la realitat podria ser pitjor</em></li>
<li>El chainsplit comença a l'<strong>inici d'un període de dificultat</strong></li>
<li><strong>Fora d'abast:</strong> hard forks de qualsevol mena, i manipular l'ajust de dificultat</li>
</ul>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="15" data-paginate="true" data-theme="default" data-lang="ca" data-style="section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
" lang="ca" data-marpit-pagination="15" style="--paginate:true;--theme:default;--lang:ca;--style:section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
;" data-marpit-pagination-total="25">
<h2 id="el-mecanisme">El mecanisme</h2>
<p>Una cadena amb una quota <code>h</code> del hashrate <strong>conserva la dificultat de tota la xarxa</strong>.</p>
<ul>
<li>Els seus blocs arriben <code>1/h</code> vegades més lents</li>
<li>Es queda així fins que mina <strong>2016 blocs</strong>, cosa que triga <code>14/h</code> dies</li>
<li>Cada ajust pot reduir la dificultat <strong>com a màxim 4×</strong></li>
</ul>
<table>
<thead>
<tr>
<th>Hashrate</th>
<th>Temps entre blocs</th>
<th>Primer ajust</th>
<th>Tornada als 10 min</th>
</tr>
</thead>
<tbody>
<tr>
<td>50%</td>
<td>20 min</td>
<td>28 dies</td>
<td>28 dies</td>
</tr>
<tr>
<td>25%</td>
<td>40 min</td>
<td>56 dies</td>
<td>56 dies</td>
</tr>
<tr>
<td>10%</td>
<td>1,7 hores</td>
<td>140 dies</td>
<td>175 dies</td>
</tr>
<tr>
<td>5%</td>
<td>3,3 hores</td>
<td>280 dies</td>
<td>1,0 anys</td>
</tr>
<tr>
<td>1%</td>
<td>16,7 hores</td>
<td>3,8 anys</td>
<td>5,1 anys</td>
</tr>
</tbody>
</table>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="16" data-paginate="true" data-theme="default" data-lang="ca" data-style="section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
" lang="ca" data-marpit-pagination="16" style="--paginate:true;--theme:default;--lang:ca;--style:section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
;" data-marpit-pagination-total="25">
<h2 id="els-temps-entre-blocs-creixen-quan-el-hashrate-es-redueix">Els temps entre blocs creixen quan el hashrate es redueix</h2>
<p><img src="img/blocktimes.png" alt="center" style="height:520px;" /></p>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="17" data-paginate="true" data-class="lead" data-theme="default" data-lang="ca" data-style="section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
" lang="ca" class="lead" data-marpit-pagination="17" style="--paginate:true;--class:lead;--theme:default;--lang:ca;--style:section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
;" data-marpit-pagination-total="25">
<h1 id="fent-n%C3%BAmeros">Fent números</h1>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="18" data-paginate="true" data-theme="default" data-lang="ca" data-style="section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
" lang="ca" data-marpit-pagination="18" style="--paginate:true;--theme:default;--lang:ca;--style:section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
;" data-marpit-pagination-total="25">
<h2 id="hashrate-necessari-per-perfil-i-nivell-de-servei">Hashrate necessari per perfil i nivell de servei</h2>
<p>Quota del hashrate total necessària per mantenir cada perfil a la cadena:</p>
<table>
<thead>
<tr>
<th>Perfil</th>
<th>Tolerància</th>
<th>p50</th>
<th><strong>p90</strong></th>
<th>p95</th>
</tr>
</thead>
<tbody>
<tr>
<td>Institució</td>
<td>3 hores</td>
<td>14,86%</td>
<td><strong>29,57%</strong></td>
<td>34,98%</td>
</tr>
<tr>
<td>Mitjà d'intercanvi</td>
<td>1 dia</td>
<td>1,86%</td>
<td><strong>3,70%</strong></td>
<td>4,37%</td>
</tr>
<tr>
<td>Hodler</td>
<td>1 setmana</td>
<td>0,27%</td>
<td><strong>0,53%</strong></td>
<td>0,62%</td>
</tr>
</tbody>
</table>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="19" data-paginate="true" data-theme="default" data-lang="ca" data-style="section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
" lang="ca" data-marpit-pagination="19" style="--paginate:true;--theme:default;--lang:ca;--style:section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
;" data-marpit-pagination-total="25">
<h2 id="coalicions-defensives-qui-mant%C3%A9-viva-una-cadena-bifurcada">Coalicions defensives: qui manté viva una cadena bifurcada?</h2>
<table>
<thead>
<tr>
<th>Perfil</th>
<th>Necessita</th>
<th>Coalició més petita avui</th>
</tr>
</thead>
<tbody>
<tr>
<td>Institució</td>
<td>29,57%</td>
<td><strong>2 pools</strong> (p. ex. Foundry USA + AntPool)</td>
</tr>
<tr>
<td>Mitjà d'intercanvi</td>
<td>3,70%</td>
<td><strong>1 pool</strong> (qualsevol dels 7 primers)</td>
</tr>
<tr>
<td>Hodler</td>
<td>0,53%</td>
<td><strong>1 pool</strong> (qualsevol dels 14 primers)</td>
</tr>
</tbody>
</table>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="20" data-paginate="true" data-theme="default" data-lang="ca" data-style="section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
" lang="ca" data-marpit-pagination="20" style="--paginate:true;--theme:default;--lang:ca;--style:section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
;" data-marpit-pagination-total="25">
<h2 id="coalicions-ofensives-qui-pot-for%C3%A7ar-els-usuaris-cap-a-un-softfork">Coalicions ofensives: qui pot forçar els usuaris cap a un softfork?</h2>
<p>Els usuaris rebutgen el softfork i no es mouen. La coalició guanya <strong>deixant famolenca la seva cadena</strong><br />
per sota del llindar del perfil, així que necessita més de <code>1 − llindar</code>.</p>
<table>
<thead>
<tr>
<th>Perfil</th>
<th>El bàndol del softfork ha de tenir</th>
<th>Coalició més petita avui</th>
</tr>
</thead>
<tbody>
<tr>
<td>Institució</td>
<td>més del 70,43%</td>
<td><strong>4 pools</strong> (els quatre primers, 72,34%)</td>
</tr>
<tr>
<td>Mitjà d'intercanvi</td>
<td>més del 96,30%</td>
<td><strong>11 de 18 pools</strong></td>
</tr>
<tr>
<td>Hodler</td>
<td>més del 99,47%</td>
<td><strong>14 de 18 pools</strong></td>
</tr>
</tbody>
</table>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="21" data-paginate="true" data-theme="default" data-lang="ca" data-style="section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
" lang="ca" data-marpit-pagination="21" style="--paginate:true;--theme:default;--lang:ca;--style:section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
;" data-marpit-pagination-total="25">
<h2 id="la-simetria">La simetria</h2>
<p><strong>El hashrate que un perfil necessita per quedar-se és el mateix hashrate que el protegeix de la coacció.</strong></p>
<ul>
<li>Institucions: les més difícils de retenir, <strong>les més fàcils de forçar</strong></li>
<li>Hodlers i usuaris del dia a dia: barats de retenir, <strong>gairebé impossibles de forçar</strong>:<br />
n'hi ha prou que un sol pool gran s'hi negui per protegir-los</li>
</ul>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="22" data-paginate="true" data-class="lead" data-theme="default" data-lang="ca" data-style="section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
" lang="ca" class="lead" data-marpit-pagination="22" style="--paginate:true;--class:lead;--theme:default;--lang:ca;--style:section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
;" data-marpit-pagination-total="25">
<h1 id="encaixa-amb-bip-110">Encaixa amb BIP-110?</h1>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="23" data-paginate="true" data-theme="default" data-lang="ca" data-style="section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
" lang="ca" data-marpit-pagination="23" style="--paginate:true;--theme:default;--lang:ca;--style:section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
;" data-marpit-pagination-total="25">
<h2 id="s%C3%AD">Sí.</h2>
<table>
<thead>
<tr>
<th></th>
<th>BIP-110</th>
</tr>
</thead>
<tbody>
<tr>
<td>Hashrate que va obtenir</td>
<td><strong>~0,28%</strong> (un sol pool, OCEAN, sense comprometre's del tot)</td>
</tr>
<tr>
<td>Espera p90 per a 3 confirmacions</td>
<td><strong>13,2 dies</strong></td>
</tr>
<tr>
<td>Primer ajust de dificultat</td>
<td>a <strong>13,7 anys</strong> vista</td>
</tr>
<tr>
<td>Llindar més baix de l'estudi (hodler)</td>
<td>0,53%</td>
</tr>
</tbody>
</table>
<ul>
<li>No hi havia prou hashrate ni tan sols per als usuaris més fidels i menys exigents</li>
<li><strong>Per això tothom va abandonar el vaixell</strong></li>
<li>Es va quedar a menys de 2× del llindar del hodler: un pool mitjà més ho hauria aconseguit</li>
</ul>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="24" data-paginate="true" data-theme="default" data-lang="ca" data-style="section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
" lang="ca" data-marpit-pagination="24" style="--paginate:true;--theme:default;--lang:ca;--style:section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
;" data-marpit-pagination-total="25">
<h2 id="aix%C3%B2-s%C3%AD-que-fa-por">Això sí que fa por</h2>
<ul>
<li>Foundry, Antpool&amp;frens i F2Pool (~72%) patrocinen un softfork per fixar la comissió mínima a 5 sat/vB.</li>
<li>Hi van a fons amb la propaganda (&quot;aparti's, senyora, és per la seguretat i el futur de la xarxa&quot;)</li>
<li>Fixen un termini curt que amb prou feines deixa temps per reaccionar (per exemple, 4 setmanes)</li>
<li>La resta de la xarxa no ho vol, però no té prou hashrate per mantenir viva, en termes d'usabilitat, una cadena URSF.</li>
<li>Per a la majoria d'usuaris, haver de pagar 5 sat/vB és un mal menor comparat amb arriscar els seus estalvis.</li>
</ul>
</section>
</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="25" data-paginate="true" data-theme="default" data-lang="ca" data-style="section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
" lang="ca" data-marpit-pagination="25" style="--paginate:true;--theme:default;--lang:ca;--style:section { font-size: 28px; }
section.lead { text-align: center; justify-content: center; }
section.lead h1 { font-size: 64px; }
table { font-size: 24px; margin: 0 auto; }
img[alt~=&quot;center&quot;] { display: block; margin: 0 auto; }
.small { font-size: 20px; color: #555; }
;" data-marpit-pagination-total="25">
<h1 id="parlem-ne">Parlem-ne</h1>
<p>M'equivoco en alguna cosa?</p>
<p>És tan greu com sembla? Veieu alguna solució per evitar que anem de cap a aquesta situació horrible?</p>
<p>Algú em pot fer una abraçada, si us plau?</p>
</section>
<script>!function(){"use strict";const t={h1:{proto:()=>HTMLHeadingElement,attrs:{role:"heading","aria-level":"1"},style:"display: block; font-size: 2em; margin-block-start: 0.67em; margin-block-end: 0.67em; margin-inline-start: 0px; margin-inline-end: 0px; font-weight: bold;"},h2:{proto:()=>HTMLHeadingElement,attrs:{role:"heading","aria-level":"2"},style:"display: block; font-size: 1.5em; margin-block-start: 0.83em; margin-block-end: 0.83em; margin-inline-start: 0px; margin-inline-end: 0px; font-weight: bold;"},h3:{proto:()=>HTMLHeadingElement,attrs:{role:"heading","aria-level":"3"},style:"display: block; font-size: 1.17em; margin-block-start: 1em; margin-block-end: 1em; margin-inline-start: 0px; margin-inline-end: 0px; font-weight: bold;"},h4:{proto:()=>HTMLHeadingElement,attrs:{role:"heading","aria-level":"4"},style:"display: block; margin-block-start: 1.33em; margin-block-end: 1.33em; margin-inline-start: 0px; margin-inline-end: 0px; font-weight: bold;"},h5:{proto:()=>HTMLHeadingElement,attrs:{role:"heading","aria-level":"5"},style:"display: block; font-size: 0.83em; margin-block-start: 1.67em; margin-block-end: 1.67em; margin-inline-start: 0px; margin-inline-end: 0px; font-weight: bold;"},h6:{proto:()=>HTMLHeadingElement,attrs:{role:"heading","aria-level":"6"},style:"display: block; font-size: 0.67em; margin-block-start: 2.33em; margin-block-end: 2.33em; margin-inline-start: 0px; margin-inline-end: 0px; font-weight: bold;"},span:{proto:()=>HTMLSpanElement},pre:{proto:()=>HTMLElement,style:"display: block; font-family: monospace; white-space: pre; margin: 1em 0; --marp-auto-scaling-white-space: pre;"}},e="data-marp-auto-scaling-wrapper",i="data-marp-auto-scaling-svg",n="data-marp-auto-scaling-container";class s extends HTMLElement{container;containerSize;containerObserver;svg;svgComputedStyle;svgPreserveAspectRatio="xMinYMid meet";wrapper;wrapperSize;wrapperObserver;constructor(){super();const t=t=>([e])=>{const{width:i,height:n}=e.contentRect;this[t]={width:i,height:n},this.updateSVGRect()};this.attachShadow({mode:"open"}),this.containerObserver=new ResizeObserver(t("containerSize")),this.wrapperObserver=new ResizeObserver((...e)=>{t("wrapperSize")(...e),this.flushSvgDisplay()})}static get observedAttributes(){return["data-downscale-only"]}connectedCallback(){this.shadowRoot.innerHTML=`\n<style>\n svg[${i}] { display: block; width: 100%; height: auto; vertical-align: top; }\n span[${n}] { display: table; white-space: var(--marp-auto-scaling-white-space, nowrap); width: max-content; }\n</style>\n<div ${e}>\n <svg part="svg" ${i}>\n <foreignObject><span ${n}><slot></slot></span></foreignObject>\n </svg>\n</div>\n `.split(/\n\s*/).join(""),this.wrapper=this.shadowRoot.querySelector(`div[${e}]`)??void 0;const t=this.svg;this.svg=this.wrapper?.querySelector(`svg[${i}]`)??void 0,this.svg!==t&&(this.svgComputedStyle=this.svg?window.getComputedStyle(this.svg):void 0),this.container=this.svg?.querySelector(`span[${n}]`)??void 0,this.observe()}disconnectedCallback(){this.svg=void 0,this.svgComputedStyle=void 0,this.wrapper=void 0,this.container=void 0,this.observe()}attributeChangedCallback(){this.observe()}flushSvgDisplay(){const{svg:t}=this;t&&(t.style.display="inline",requestAnimationFrame(()=>{t.style.display=""}))}observe(){this.containerObserver.disconnect(),this.wrapperObserver.disconnect(),this.wrapper&&this.wrapperObserver.observe(this.wrapper),this.container&&this.containerObserver.observe(this.container),this.svgComputedStyle&&this.observeSVGStyle(this.svgComputedStyle)}observeSVGStyle(t){const e=()=>{const i=(()=>{const e=t.getPropertyValue("--preserve-aspect-ratio");if(e)return e.trim();return`x${(({textAlign:t,direction:e})=>{if(t.endsWith("left"))return"Min";if(t.endsWith("right"))return"Max";if("start"===t||"end"===t){let i="rtl"===e;return"end"===t&&(i=!i),i?"Max":"Min"}return"Mid"})(t)}YMid meet`})();i!==this.svgPreserveAspectRatio&&(this.svgPreserveAspectRatio=i,this.updateSVGRect()),t===this.svgComputedStyle&&requestAnimationFrame(e)};e()}updateSVGRect(){let t=Math.ceil(this.containerSize?.width
</script></foreignObject></svg></div><div class="bespoke-marp-note" data-index="1" tabindex="0"><p>Marcar expectatives: és feina en curs, vull que m'ho qüestioneu.</p></div><div class="bespoke-marp-note" data-index="3" tabindex="0"><p>El que és interessant no és que BIP-110 fracassés. És que la gent que hi creia el va abandonar de seguida.</p></div><div class="bespoke-marp-note" data-index="22" tabindex="0"><p>Els usuaris reals van marxar en dies, més ràpid del que les esperes del mateix model els haurien empès. Van marxar per expectatives, no per experiència: ho veien venir.</p></div><script>/*!! License: https://unpkg.com/@marp-team/marp-cli@4.1.2/lib/bespoke.js.LICENSE.txt */
!function(){"use strict";function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var t,n,r=(n||(n=1,t={from:function(e,t){var n,r=1===(e.parent||e).nodeType?e.parent||e:document.querySelector(e.parent||e),o=[].filter.call("string"==typeof e.slides?r.querySelectorAll(e.slides):e.slides||r.children,(function(e){return"SCRIPT"!==e.nodeName})),a={},i=function(e,t){return(t=t||{}).index=o.indexOf(e),t.slide=e,t},s=function(e,t){a[e]=(a[e]||[]).filter((function(e){return e!==t}))},c=function(e,t){return(a[e]||[]).reduce((function(e,n){return e&&!1!==n(t)}),!0)},l=function(e,t){o[e]&&(n&&c("deactivate",i(n,t)),n=o[e],c("activate",i(n,t)))},d=function(e,t){var r=o.indexOf(n)+e;c(e>0?"next":"prev",i(n,t))&&l(r,t)},u={off:s,on:function(e,t){return(a[e]||(a[e]=[])).push(t),s.bind(null,e,t)},fire:c,slide:function(e,t){if(!arguments.length)return o.indexOf(n);c("slide",i(o[e],t))&&l(e,t)},next:d.bind(null,1),prev:d.bind(null,-1),parent:r,slides:o,destroy:function(e){c("destroy",i(n,e)),a={}}};return(t||[]).forEach((function(e){e(u)})),n||l(0),u}}),t),o=e(r);const a=document.body,i=(...e)=>history.replaceState(...e),s="",c="presenter",l="next",d=["",c,l],u="bespoke-marp-",f=`data-${u}`,m=(e,{protocol:t,host:n,pathname:r,hash:o}=location)=>{const a=e.toString();return`${t}//${n}${r}${a?"?":""}${a}${o}`},g=()=>a.dataset.bespokeView,p=e=>new URLSearchParams(location.search).get(e),v=(e,t={})=>{const n={location,setter:i,...t},r=new URLSearchParams(n.location.search);for(const t of Object.keys(e)){const n=e[t];"string"==typeof n?r.set(t,n):r.delete(t)}try{n.setter({...window.history.state??{}},"",m(r,n.location))}catch(e){console.error(e)}},h=(()=>{const e="bespoke-marp";try{return localStorage.setItem(e,e),localStorage.removeItem(e),!0}catch{return!1}})(),y=e=>{try{return localStorage.getItem(e)}catch{return null}},b=(e,t)=>{try{return localStorage.setItem(e,t),!0}catch{return!1}},w=e=>{try{return localStorage.removeItem(e),!0}catch{return!1}},x=(e,t)=>{const n="aria-hidden";t?e.setAttribute(n,"true"):e.removeAttribute(n)},k=e=>{e.parent.classList.add(`${u}parent`),e.slides.forEach((e=>e.classList.add(`${u}slide`))),e.on("activate",(t=>{const n=`${u}active`,r=t.slide,o=r.classList,a=!o.contains(n);if(e.slides.forEach((e=>{e.classList.remove(n),x(e,!0)})),o.add(n),x(r,!1),a){const e=`${n}-ready`;o.add(e),document.body.clientHeight,o.remove(e)}}))},$=e=>{let t=0,n=0;Object.defineProperty(e,"fragments",{enumerable:!0,value:e.slides.map((e=>[null,...e.querySelectorAll("[data-marpit-fragment]")]))});const r=r=>void 0!==e.fragments[t][n+r],o=(r,o)=>{t=r,n=o,e.fragments.forEach(((e,t)=>{e.forEach(((e,n)=>{if(null==e)return;const a=t<r||t===r&&n<=o;e.setAttribute(`${f}fragment`,(a?"":"in")+"active");const i=`${f}current-fragment`;t===r&&n===o?e.setAttribute(i,"current"):e.removeAttribute(i)}))})),e.fragmentIndex=o;const a={slide:e.slides[r],index:r,fragments:e.fragments[r],fragmentIndex:o};e.fire("fragment",a)};e.on("next",(({fragment:a=!0})=>{if(a){if(r(1))return o(t,n+1),!1;const a=t+1;e.fragments[a]&&o(a,0)}else{const r=e.fragments[t].length;if(n+1<r)return o(t,r-1),!1;const a=e.fragments[t+1];a&&o(t+1,a.length-1)}})),e.on("prev",(({fragment:a=!0})=>{if(r(-1)&&a)return o(t,n-1),!1;const i=t-1;e.fragments[i]&&o(i,e.fragments[i].length-1)})),e.on("slide",(({index:t,fragment:n})=>{let r=0;if(void 0!==n){const o=e.fragments[t];if(o){const{length:e}=o;r=-1===n?e-1:Math.min(Math.max(n,0),e-1)}}o(t,r)})),o(0,0)},E=document,L=()=>!(!E.fullscreenEnabled&&!E.webkitFullscreenEnabled),S=()=>!(!E.fullscreenElement&&!E.webkitFullscreenElement),P=e=>{e.fullscreen=()=>{L()&&(async()=>{S()?(E.exitFullscreen||E.webkitExitFullscreen)?.call(E):((e=E.body)=>{(e.requestFullscreen||e.webkitRequestFullscreen)?.call(e)})()})()},document.addEventListener("keydown",(t=>{"f"!==t.key&&"F11"!==t.key||t.altKey||t.ctrlKey||t.metaKey||!L()||(e.fullscreen(),t.preventDefault())}))},_=`${u}inactive`,T=(e=2e3)=>({parent:t,fire:n})=>{const r=t.classList,o=e=>n(`marp-${e?"":"in"}active`);let a;const i=()=>{a&&clearTimeout(a),a=setTimeou