Skip to content

Instantly share code, notes, and snippets.

chris-belcher

Block or report user

Report or block chris-belcher

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@chris-belcher
chris-belcher / calculating-equivalent-interest-rate.txt
Last active Mar 26, 2016
calculating-equivalent-interest-rate
View calculating-equivalent-interest-rate.txt
JoinMarket yield generators earn money on an unpredictable basis. It's worth calculating
the equivalent interest rate as if joinmarket was a savings account.
We can make a model of a bank account that takes deposits and withdrawals at any time and
where the balance accumulates interest, then the parameters from a JoinMarket yield-generator
wallet can be inputted to obtain the equivalent interest rate.
We know that the present value of a bank account (P) grows to the future value (F) determined
by the interest rate per unit time (r) and time (t)
https://en.wikipedia.org/wiki/Compound_interest#Mathematics_of_interest_rates
View no-longer-a-dream.txt
hey cypherpunks, it's the end of the old regime
cryptographic currency, no longer a dream
oh believers in liberty, feel the new sunrise
trustworthy coinage is right before our eyes
it's time to remember the early pioneers
ten thousand coins for a pizza, they look back in tears
@chris-belcher
chris-belcher / irc-own-pings.py
Created Dec 14, 2016
IRC script which sends its own pings without creating any other threads
View irc-own-pings.py
#irc script which sends its own pings without creating any other threads
import socket, random
from datetime import datetime
nick = 'testbot-' + hex(random.randint(0, 0xffffff))[2:]
hostport = ('irc.snoonet.org', 6667)
ping_interval_seconds = 30
ping_timeout_seconds = 60
View raw-privkey-dangers.txt
https://bitcoin.stackexchange.com/questions/29948/why-doc-says-importing-private-keys-is-so-dangerous
https://bitcoin.stackexchange.com/questions/18619/why-so-many-warnings-about-importing-private-keys
behave un-intuatively
'giving' a key to someone still means you have it
change addresses / paper wallets
@chris-belcher
chris-belcher / JMalert.md
Last active Jul 25, 2017
JoinMarket release 0.2.0 ameliorates this snooping attack.
View JMalert.md
@chris-belcher
chris-belcher / alectryon.py
Last active Dec 18, 2017
bitcoin-blockchain-feed-bot
View alectryon.py
#jsonrpc.py from https://github.com/JoinMarket-Org/joinmarket/blob/master/joinmarket/jsonrpc.py
#copyright # Copyright (C) 2013,2015 by Daniel Kraft <d@domob.eu> and phelix / blockchained.com
import base64
import httplib
import json
class JsonRpcError(Exception):
def __init__(self, obj):
self.code = obj["code"]
View relaybot.config
#Can override these defaults per-section.
[DEFAULT]
#Twisted's default is 30 seconds.
timeout=180
port=6697
#A single channel to join, or a list of channels: #a-bridged-channel,#some-other-channel
channels=#joinmarket
nick=JoinMarketRelay
#Can change to allow more specialized behavior.
username=jmrelay
@chris-belcher
chris-belcher / forkers-we-re-not-raising-a-single-byte.txt
Last active Dec 28, 2017
Forkers, we're not raising a single byte
View forkers-we-re-not-raising-a-single-byte.txt
In cryptoland, cypherpunks get clever
Belief in freedom switches off never
So long as nodes are run, bitcoin stays untorn
Six an hour, new blocks are born
To honest miners, new coins are bestow
Going above 21 million is a no
[chorus x2]
@chris-belcher
chris-belcher / joinmarket-with-off-chain-fees.md
Last active Mar 15, 2019
JoinMarket with off-chain fees
View joinmarket-with-off-chain-fees.md

JoinMarket with off-chain fees

17/01/2019

Problem: Single JoinMarket coinjoins aren't private enough

A single JoinMarket coinjoin often doesn't hide which inputs belong to the maker(s) and which belong to the taker. This is because the coinjoin fee is included on-chain.

To tell apart takers' inputs from makers' inputs, subset matching can be used. The taker's subset is

@chris-belcher
chris-belcher / miner-resistant-lightweight-wallets.md
Last active Mar 29, 2019
DSPV Security - Miner-resistant design of lightweight bitcoin wallets
View miner-resistant-lightweight-wallets.md

edit: this scheme has serious problems, see the comments

DSPV security - Miner-Resistant Design of Lightweight Bitcoin Wallets

2019/03/21

What are lightweight wallets

Lightweight wallets are ones which are not full nodes. Lots of people use them because full nodes are costly: they cost time to setup/synchronize, education, disk space, bandwidth, RAM and a few other resources.

You can’t perform that action at this time.