root_url = "https://diyhpl.us/wiki/transcripts/stanford-blockchain-conference/2020/" file_data = [ { "author": "#SBC20 Program Chairs", "stub": "welcome-remarks", "title": "Welcome remarks", "twitter": "", "pdf": "https://cbr.stanford.edu/sbc20/", }, { "author": "Stefan Dziembowski", "stub": "lower-bounds-limits-plasma", "title": "Lower Bounds for Off-Chain Protocols: Exploring the Limits of Plasma", "twitter": "@SteDziembowski", }, { "author": "Ed Felten", "stub": "arbitrum-v2", "title": "Arbitrum 2.0: Faster Off-Chain Contracts with On-Chain Security", "twitter": "@EdFelten", }, { "author": "Assimakis Kattis", "stub": "proof-of-necessary-work", "title": "Proof of Necessary Work: Succinct State Verification with Fairness Guarantees", "twitter": "", }, { "author": "Florian Tramer", "stub": "linking-anonymous-transactions", "title": "Linking anonymous transactions via remote side-channel attacks", "pdf": "https://crypto.stanford.edu/timings/paper.pdf", "twitter": "@florian_tramer", }, { "author": "Daniel Perez", "stub": "attacking-evm-resource-metering", "title": "Broken Metre: Attacking resource meetering in EVM", "pdf": "https://arxiv.org/abs/1909.07220.pdf", "twitter": "@danhper @convoluted_code", }, { "author": "Ben Maurer", "stub": "libra-blockchain-intro", "title": "The Libra Blockchain & Move: A technical introduction", "twitter": "@bmaurer", }, { "author": "Brett Seyler", "stub": "blockchains-for-multiplayer-games", "title": "Blockchains for multiplayer games", "twitter": "", }, { "author": "Marek Olszewski and Michael Straka", "stub": "celo-ultralight-client", "title": "The Celo ultralight client", "twitter": "@marekolszewski @CeloHQ", }, { "author": "Eli Ben-Sasson", "stub": "stark-for-developers", "title": "STARK for developers", "twitter": "@EliBenSasson @starkwareltd", }, { "author": "Ariel Gabizon", "stub": "plonk", "title": "PLONK: Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge", "pdf": "https://eprint.iacr.org/2019/pdf", "twitter": "@relgabizon @aztecprotocol", }, { "author": "Nick Spooner", "title": "Fractal: Post-Quantum and Transparent Recursive Proofs from Holography", "stub": "fractal", "pdf": "https://eprint.iacr.org/2019/1076.pdf", "twitter": "", }, { "author": "Megan Chen", "title": "Scalable RSA Modulus Generation with Dishonest Majority", "stub": "scalable-rsa-modulus-generation", "twitter": "", }, { "author": "Simon Peffers", "title": "Hardware Accelerated RSA - VDFs, SNARKs, and Accumulators", "stub": "hardware-accelerated-rsa", "twitter": "@_Supranational", }, { "author": "Ben Fisch", "title": "Transparent SNARKs from DARK compilers", "stub": "transparent-snarks-from-dark-compilers", "pdf": "https://eprint.iacr.org/2019/1229.pdf", "twitter": "@benafisch", }, { "author": "Tim Roughgarden", "title": "An Axiomatic Approach to Block Rewards", "stub": "block-rewards", "pdf": "https://arxiv.org/pdf/1909.10645.pdf", "twitter": "@algo_class", }, { "author": "Tarun Chitra", "title": "Competitive equilibria between staking and on-chain lending", "stub": "competitive-equilibria-staking-lending", "pdf": "https://arxiv.org/pdf/2001.00919v1.pdf", "twitter": "@tarunchitra", }, { "author": "Vitalik Buterin", "title": "Beyond 51% attacks", "stub": "beyond-hashrate-majority-attacks", "twitter": "@VitalikButerin @ethereum", }, { "author": "Benjamin Chan", "title": "Streamlet: Textbook Streamlined Blockchain Protocols", "stub": "streamlet", "twitter": "", }, { "author": "Lei Yang", "title": "Prism: Scaling bitcoin by 10,000x", "stub": "prism", "pdf": "https://diyhpl.us/wiki/transcripts/scalingbitcoin/tel-aviv-2019/prism/", "twitter": "", }, { "author": "David Tse", "title": "Proof-of-stake longest chain protocols revisited", "stub": "proof-of-stake", "twitter": "@Stanford", }, { "author": "Fan Zhang", "title": "DECO: Liberating Web Data Using Decentralized Oracles for TLS", "stub": "decentralized-oracles-tls", "twitter": "@0xFanZhang", }, { "author": "Ari Juels", "title": "Mixicles: Simple Private Decentralized Finance", "stub": "mixicles", "pdf": "https://chain.link/mixicles.pdf", "twitter": "@AriJuels", }, { "author": "Mooly Sagiv", "title": "Finding Bugs Automatically in Smart Contracts with Parameterized Specifications", "stub": "smart-contract-bug-hunting", "pdf": "https://www.certora.com/pubs/sbc2020.pdf", "twitter": "@SagivMooly", }, { "author": "Joachim Breitner", "title": "Motoko, the language for the Internet Computer", "stub": "motoko-language", "twitter": "@nomeata", }, { "author": "Matteo Maffei", "title": "Atomic Multi-Channel Updates with Constant Collateral in Bitcoin-Compatible Payment-Channel Networks", "stub": "atomic-multi-channel-updates", "pdf": "https://diyhpl.us/wiki/transcripts/scalingbitcoin/tel-aviv-2019/atomic-multi-channel-updates/", "twitter": "@matteo_maffei", }, { "author": "Joachim Neu", "title": "Boomerang: Redundancy Improves Latency and Throughput in Payment-Channel Network", "stub": "boomerang", "twitter": "", }, { "author": "Georgia Avarikioti", "title": "Brick: Asynchronous State Channels", "stub": "brick-async-state-channels", "pdf": "https://arxiv.org/abs/1905.11360", "twitter": "@ETH_en", }, { "author": "Karl Floersch", "title": "The optimistic VM", "stub": "optimistic-vm", "twitter": "@karl_dot_tech", }, { "author": "Sreeram Kannan", "title": "Coded Merkle Tree: Solving Data Availability Attacks in Blockchains", "stub": "solving-data-availability-attacks-using-coded-merkle-trees", "pdf": "https://eprint.iacr.org/2019/1139.pdf", "twitter": "@sreeramkannan", }, { "author": "David Schwartz", "title": "The best incentive is no incentive", "stub": "no-incentive", "twitter": "@ripple", }, { "author": "Shayan Eskandari", "title": "Transparent dishonesty: frontrunning attacks on blockchain", "stub": "transparent-dishonesty", "twitter": "@sbetamc @ConsenSysAudits", }, { "author": "Daniel Cline", "title": "ClockWork: An exchange protocol for proofs of non-front-running", "stub": "clockwork-nonfrontrunning", "twitter": "@rjected", }, ] for data in file_data: filename = data["stub"] + ".mdwn" url = root_url + data["stub"] + "/" title = data["title"] twitter = data["twitter"] + " @CBRStanford #SBC20" author = data["author"] if "pdf" in list(data.keys()): pdf = "\n\n<" + data["pdf"] + ">" else: pdf = "" sponsorship = "----\n\nSponsorship: These transcripts are sponsored by Blockchain Commons.\n\nDisclaimer: These are unpaid transcriptions, performed in real-time and in-person during the actual source presentation. Due to personal time constraints they are usually not reviewed against the source material once published. Errors are possible. If the original author/speaker or anyone else finds errors of substance, please email me at kanzure@gmail.com for corrections or contribute online via github/git. I sometimes add annotations to the transcription text. These will always be denoted by a standard editor's note in parenthesis brackets ((like this)), or in a numbered footnote. I welcome feedback and discussion of these as well." tweet = f"Transcript: \"{title}\" {url} {twitter}" transcript = f"{title}\n\n{author}{pdf}\n\n\n{sponsorship}\n\nTweet: {tweet}\n" fd = open(filename, "w") fd.write(transcript) fd.close()