Skip to content

Instantly share code, notes, and snippets.

Avatar

Peter Todd petertodd

View GitHub Profile
@petertodd
petertodd / spec.md
Last active Jul 24, 2018
Fidelity Bonds
View spec.md

The Problem

Anonymous identities are cheap. Suppose you are running a wiki, and are having a problem with spammers, trolls, and other abusive people. Now you can of course ban accounts for abuse, but this is the internet, creating a new account is trivial. This is especially true when you want to allow anonymous use of your wiki. (or for that matter, any service) Of course you can try to make it harder to make a replacement account with efforts like captchas and requiring email addresses from well-known domains, but these solutions all have drawbacks, and are often surprisingly easy for spammers and trolls to defeat. (you can hire humans to solve captchas for you at remarkably low rates)

Fundementally all those solutions are making an identity more expensive to get. Of course, you could just charge membership fees - Something Awful, 4chan and the Bitcoin Wiki all do this - but now you're running a business and users have to pay fees for every wiki they join. What you really want is some sort of

@petertodd
petertodd / mempool-analyzer.py
Created Mar 7, 2013
Shitty mempool analyzer
View mempool-analyzer.py
#!/usr/bin/python3
import os
import sys
import struct
from opentimestamps._internal import hexlify,unhexlify
import opentimestamps._bitcoinrpc as btcrpc
View btcpayments.rst

Bitcoin Payment Messages

This document proposes protocol buffer-based formats for a simple payment protocol between a customer's bitcoin client software and a merchant.

Separate documents will propose an extension to the Bitcoin URI syntax and new MIME types to support them.

Motivation

View keybase.md

Keybase proof

I hereby claim:

  • I am petertodd on github.
  • I am petertodd (https://keybase.io/petertodd) on keybase.
  • I have a public key whose fingerprint is 37EC 7D7B 0A21 7CDB 4B4E 007E 7FAB 1142 67E4 FA04

To claim this, I am signing this object:

@petertodd
petertodd / gist:2ec211f86c2cc8ede377
Last active Aug 29, 2015
An analysis of button presses as an entropy source
View gist:2ec211f86c2cc8ede377
> - floating ADC inputs, as Peter suggested;
> - five independent RC oscillators.
I've got another idea that requires no extra hardware. I think has a
solid theoretical basis which I've explored below in sufficient detail
to raise suspicions that I miss my old line of work:
tl;dr: Record the dt time between button clicks, adding dt to the
accumulator each time by hashing it into the persistent state.
View release_notes.md
View std-consulting-agreement.txt
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
This is my standard consulting agreement, drafted by Addison Cameron-Huff
<addison@cameronhuff.com> Feel free to use/distribute this as you see fit.
Consulting Agreement
====================
@petertodd
petertodd / gist:8e87c782bdf342ef18fb
Last active Dec 13, 2020
What the CoinWallet.eu tx-flood stress-test means for you and how to deal with it
View greedy-cpfp-mempool.py
#!/usr/bin/python3
class CMemPoolTx:
@property
def feerate(self):
return self.nFee / self.nSize
@property
def sum_feerate(self):
return self.nSumFees / self.nSumSize