learning

Solana!

eBPF instruction set architecture https://github.com/iovisor/bpf-docs/blob/master/eBPF.md rust BPF (user space, usually kernel) VM https://github.com/solana-labs/rbpf interpreter, an x86_64 JIT-compiler for eBPF programs, assembler, disassembler* verifier. problems: https://github.com/solana-labs/rbpf/pull/212 JVM verifier: https://docs.

Bitwarden

problems: copy pasting plaintext = stored in register pro: open-source, can self-host store encrypted version on cloud, decrypt on client side. Encrypt and decrypt on client side!

Touch ID

Question: isn’t the fingerprint data just stored on the hardware register and equality checked anyway? No, a hashed version is stored. Input is hashed to check it against it. In a secure “sandboxed” region called the security enclave only part of fingerprint, not whole thing (a sample) How do you create a sandbox in hardware?

Turing completeness

refers to the ability to simulate any turing machine (basically perform any computation) with this power, comes great resposibility (undecidability, halting problem) When do you want and not want it?

Turing machines

mathematical abstract model of human action process (what we call computation) have program (instructions), inputs, and states enumerate an alphabet (program states) requires unlimited tape (memory)

Byzantine Fault Tolerance

Relevant to distributed computing and blockchain Two generals problem: loyal and traitor generals each command an army The only communications they have are through messages that have latency and failure Two choices: Attack or stay put How do you create an algorithm, such that loyal generals follow it, while traitors do not, such that the imperfect group can complete the mission?

Ethereum

ABI: interface functions and definitions known at compile time (strongly statically typed) devp2p network protocol explained

bZx hack review

clever arbitrage also involving a smart contract bug flashloan 10k eth from dYdX hoard 112 WBTC by compound borrowing with 5500 ETH margin trade sETHwBTC “meta” market. Think of stock short like Apple-USD Drive up wBTC and shit on ETH.

LLVM

From this ELI5 https://www.reddit.com/r/learnprogramming/comments/t6y74/eli5_what_is_llvm_can_it_be_used_for_general/ Normally source code to assembly LLVM is a middleman VM that can make things easier on both ends (source code to LLVM, LLVM to assembly)

Commit and Reveal scheme

Commitment schemes remind me of differential privacy, and the XOR trick learnt in competitive programming (XOR a set of numbers that all have a duplicate except one). Suppose you want to generate a random number that nobody can predict (AKA a random number).