Blog | Adjoint Inc.http://127.0.0.1:8000/blog/enadjointAdjoint smart treasuryasset managementASTbankingbitcoinblockchainblogbostonbusinesscaptive insurance blockchaincash managementcommoditiescommodities tradingcompetitioncomplianceconferenceconsensus protocolscorporate treasurycryptographydependent typesdesign thinkingdigital technologiesdistributed ledger technologydistributed systemsDSLefficiencyenergy tradingenterpriseenterprise blockchainEuropean captive forumEventsfinancefintechformal methodsformal verificationfunctional programmingGHCglobal blockchainhaskellIGTAinnovationinsuranceinterviewsISDAkickstart acceleratorLEAPLondonNACTNAESBnatural gas blockchainNewsNew York cityoffice expansionparallel computingpi calculusprivacyprivate blockchainregulationssecuritysmart contractssmart treasurystandardisationstandardsstandardsSwitzerlandtechnical presentationtransformationtreasurytype level programminguplinkuplink dltvideowebinarFri, 08 Dec 2017 11:07:27 +0000Verifiable computinghttp://127.0.0.1:8000/blog/verifiable-computing/<h4 class="subtitle">Verifying computation by potentially un-trusted parties</h4>
<p>Verifiable computing is the offloading of computation of some function(s) to another potentially un-trusted party while maintaining that the computation was done correctly. It enables the verification of correctness of a program’s execution on public and private inputs. There are two suitable situations for verifiable computation:</p>
<ol>
<li>Offloading computation to a more powerful computing resource</li>
<li>Offloading computation to a potentially un-trusted party</li>
</ol>
<p>Some potential use cases include:</p>
<ol>
<li>Proving that a party has an input to a hash function that gives rise to a specific hash.</li>
<li>Proving that a party is part of a group without revealing their identity.</li>
<li>Proving that a party has a sufficient account balance for a transaction.</li>
<li>Proving the winner of an auction without revealing details about the bids or parties.</li>
</ol>
<p><a href="https://www.youtube.com/watch?v=GMm_AGbgWv0">Verifiable computing in Haskell</a></p>
<p><em>Verifiable computing schemes aim to verify the remote execution of a program on an untrusted machine.</em></p>
<p><em>Anthony will explain how to encode the operations of a simple embedded DSL to a single cryptographically-checkable polynomial test, and then prove there is correct execution for given inputs and outputs.</em></p>
<p><strong><a href="http://slides.com/anthony-1/verifiable-computing#/">Verifiable Computing - Slides</a></strong></p>
<p></p>MalvikaFri, 08 Dec 2017 11:07:27 +0000http://127.0.0.1:8000/blog/verifiable-computing/blockchaincryptographyenterpriseEventsformal verificationprivate blockchainsecuritysmart contractstechnical presentationvideoModern cryptography with Haskellhttp://127.0.0.1:8000/blog/modern-cryptography-with-haskell/<p>HSR Hochschule für Technik Rapperswil</p>
<p><a href="https://twitter.com/smdiehl">Stephen Diehl</a> gave his keynote on elliptic curve crypto in Haskell. This talk had a crash course on a bit of abstract algebra/elliptic curves, and the rest of the talk was on using Haskell to establish trust between two parties using commitment schemes, zero knowledge proofs, verifiable computation, etc. My experience with cryptography is limited to basic usage of secret-key stuff in <a href="https://github.com/jedisct1/libsodium" target="_blank">libsodium</a>, so this provided me with plenty of future reading material. Code available <a href="https://github.com/sdiehl/zurihac-crypto" target="_blank">here</a>.</p>
<p><a href="https://www.youtube.com/watch?v=BFA-mQEHNhc">Watch video here</a></p>MalvikaWed, 07 Jun 2017 21:38:31 +0000http://127.0.0.1:8000/blog/modern-cryptography-with-haskell/conferenceEventshaskelltechnical presentationvideo