Skip to content

Instantly share code, notes, and snippets.

View Haseeb-Qureshi's full-sized avatar
🕶️
Being a cool guy

Haseeb Qureshi Haseeb-Qureshi

🕶️
Being a cool guy
View GitHub Profile
@Haseeb-Qureshi
Haseeb-Qureshi / urkel.md
Created February 3, 2019 06:18
# Urkel Trees: An optimized and cryptographically provable key-value store for decentralized naming (SBC19)

Urkel Trees: An optimized and cryptographically provable key-value store for decentralized naming

Boyma Fahnbulleh (Handshake)

  • Merkle Trees are great, but can we do better?
  • Ethereum's Wish List on better Merkle Trees:
    • Wanted a key-value store for the state
    • Allow updates without having to reconstruct the entire tree
    • Has bounded depth
    • History independent: root hash doesn't depend on ordering among updates (i.e., commutative updates)
  • Merkle Patricia Tree is basically a fancy radix hash tree
@Haseeb-Qureshi
Haseeb-Qureshi / snargs.md
Created October 10, 2018 19:51
Transaprent Succinct Arguments @ CESC

Transparent Succinct Arguments

Alessandro Chiesa (UC Berkeley, Starkware, Zcash)

What are succinct arguments?

  • Proofs of computational integrity
  • Game between prover and verifier
  • Prover knows an input to a F(x) that would make it return y
  • Prover could trivially prove this by providing x
    • This convinces the verifier for sure!
  • Being able to convince the verifier of a true claim is the property of completeness
require 'faraday'
class PasswordCracker
ALPHABET = (('a'..'z').to_a + ('0'..'9').to_a).shuffle
SUBJECT = 'password'
def initialize(api)
@api = api
@password = ''
end
@Haseeb-Qureshi
Haseeb-Qureshi / threshold_ecdsa.md
Created October 10, 2018 21:44
Fast Multiparty Threshold ECDSA with Fast Trustless Setup @ CESC

Fast Multiparty Threshold ECDSA with Fast Trustless Setup

Steven Goldfeder

Digital signatures authorize transactions in cryptocurrencies

  • Alice's device, containing her private key, is a single point of failure

Multiparty authentication

  • Instead of having a single device store your key material...
    • You can split it into multiple devices
  • Designed your address as protected by multiple keys
@Haseeb-Qureshi
Haseeb-Qureshi / flasherc20.js
Created February 26, 2020 06:51
FlashERC20
interface Lender {
function goWild() external;
}
contract FlashERC20 is ERC20 {
using SafeMath for uint256;
function flash(uint256 amount) external {
balances[msg.sender] = balances[msg.sender].add(amount);
Lender(msg.sender).goWild();
@Haseeb-Qureshi
Haseeb-Qureshi / ethereum_2_dot_0.md
Last active May 26, 2020 06:40
Ethereum 2.0 and Beyond (SBC19)

Ethereum 2.0 and beyond

Vitalik Buterin (Ethereum Foundation)

  • Ethereum 2.0 spec pre-release
    • Released yesterday!
  • Proof of stake and sharding have been part of the ETH roadmap since 2014
    • Started with Slasher in 2014, which is totally broken
    • But since then have made a lot of progress
    • Casper FFG devised and formally verified
  • Sharding is now better specified
@Haseeb-Qureshi
Haseeb-Qureshi / cryptoeconomics-mental-model.md
Created October 10, 2018 17:57
Cryptoeconomics Mental Model Panel @ CESC

Cryptoeconomics Mental Model

Vitalik Buterin, Joseph Poon, Karl Floersch

What's new?

  • Karl: A lot of recent progress in Plasma Cash.

  • Vitalik: Ethereum core has basically had most of the hard problems essentially solved. Only a few details that need to be hammered out—more efficient Merkleization, how to rotate validator sets, etc.

  • Joseph: how to coordinate inter-chain communication? How to coordinate faucets, airdrops, to enable different kinds of social coordination.

@Haseeb-Qureshi
Haseeb-Qureshi / arbitrum.md
Created October 11, 2018 19:17
Arbitrum: Scalable private smart contracts @ CESC

Arbitrum: Scalable, Private Smart Contracts

Ed Felten

Ethereum smart contracts

  • Have issues with scalability:
    • Every miner needs to emulate every execution step for the VM
    • Thus, charges gas for those who want to advance state of VMs
      • To compensate miners
    • The complexity of contracts is capped by the global gas limit
  • All contract code and data can only be public
@Haseeb-Qureshi
Haseeb-Qureshi / fantomette.md
Created February 4, 2019 00:58
Betting on Blockchain Consensus with Fantômette (SBC19)

Betting on Blockchain Consensus with Fantômette

Speaker: Sarah Azouvi

  • Bitcoin vs Traditional Consensus
    • Bitcoin is open memberships, participants unknown
    • One message broadcast per round
    • Incentives are at the core of its security
    • High energy consumption!
    • Slow...
  • Blockchain without PoW?
@Haseeb-Qureshi
Haseeb-Qureshi / quisquis.md
Created February 3, 2019 05:41
Quisquis: A New Design for Anonymous Cryptocurrencies (SBC19)

Quisquis: A New Design for Anonymous Cryptocurrencies

Speaker: Prastudy Fauzi

  • Bitcoin and Anonymity
    • "Bitcoin is like Twitter for your bank account" — Ian Miers
  • Current Anonymous Cryptocurrencies and Their Limitations
    • Dash, Monero, Zcash
    • What technologies do they use?
    • Tumblers (Dash), Ring signatures (Monero), SNARKs (Zcash)
  • Questions you should ask yourself: