BIP: ?? Layer: Applications Title: SNICKER - Simple Non-Interactive Coinjoin with Keys for Encryption Reused Author: Adam Gibson <AdamISZ@protonmail.com> Comments-Summary: No comments yet. Comments-URI: - Status: Proposed Type: Informational Created: -
Background: Currently, a node will only rebroadcast a transaction if it is the originating wallet. This is awful for privacy.
PR #16698 reworks the rebroadcast logic to significantly improve privacy.
- Instead of the wallet directly relaying transactions to peers, the wallet will submit unconfirmed txns to the node, and the node will apply logic to trigger txn rebroadcasts.
- The node will apply rebroadcast conditions to all transactions.
- The wallet will attempt to resubmit unconfirmed transactions to the node on a scheduled timer. This is only useful if the txn is dropped from the local mempool before it gets mined.
- The mempool tracks locally submitted transactions (wallet & rpc) to ensure they are succesfully rebroadcast. Success is defined as receiving a
GETDATA
for the txn.
Moved to https://github.com/fjahr/debugging_bitcoin to allow for better collaboration.
This document is currently optimized for MacOS. If you would like to help me add Linux equivalent commands, please let me know.
This guide is designed to give beginners of C++ development and/or people new to the bitcoin core code base an overview of the tools available for debugging issues as well as giving hints where issues may trip you up.
#!/usr/bin/env python3 | |
import subprocess | |
import os | |
if os.name == 'posix': | |
RED = "\033[1;31m" | |
BLUE = "\033[0;34m" | |
CYAN = "\033[0;36m" | |
GREEN = "\033[0;32m" | |
RESET = "\033[0;0m" |
# Based on a diagram posted by @pm47 https://github.com/lightningnetwork/lightning-rfc/issues/553#issuecomment-455641943 | |
+------------------------------------------------+ | |
| 2-of-2 multi-sig funding tx confirmed on-chain | | |
+------------------------------------------------+ | |
| | |
| | |
| | |
| |
Moved to https://bitcoincore.reviews
; https://z0ltan.wordpress.com/2018/08/04/simple-expression-evaluator-comparison-between-haskell-rust-and-common-lisp/ | |
; this version: 2018, Rainer Joswig, joswig@lisp.de | |
; we create a bunch of structures for the expression types | |
; each structure defines a constructor of the same name | |
; each expression knows the corresponding Lisp function | |
(defstruct (val (:constructor val (e))) e) | |
(defstruct (bop :conc-name) e1 e2 op) |
For the Bitcoin network to remain in consensus, the network of nodes must not be partitioned. So for an individual node to remain in consensus with the network, it must have at least one connection to that network of peers that share its consensus rules. This document describes how we attempt to achieve this.
We can't rely on inbound peers to be honest, because they are initiated by others. It's impossible for us to know, for example, whether all our inbound peers are controlled by the same adversary.
from bitmerchant.wallet import Wallet | |
from mnemonic import Mnemonic | |
# put in whatever Trezor generates for you here (or backup from this empty/insecure one as a test) | |
mnemonic = 'clean health food open blood network differ female lion eagle rough upon update zone antique defense venture uncover mobile charge actress film vocal enough' | |
passphrase = '' # empty string or whatever you actually choose | |
path = "m/44'/0'/0'/0/0" # whatever shows up on the UI for that account (everything will start with m/44'/0' since it's bip44) | |
child = Wallet.from_master_secret(Mnemonic('english').to_seed(mnemonic, passphrase)).get_child_for_path(path) | |
child.to_address() # '18K9axbPpwqZgngB58nuwsYevL2z6ey4YG' (confirm this matches what Trezor is showing you) |
# Welcome to my "arel gist"! | |
## It started hacky, then as an example, but we want it cleaner. | |
# ActiveRecord | |
## This is an ORM: you call Ruby methods and get Ruby objects, it makes SQL and object instantiations for you. | |
## It's Rails' default, but there are alternatives: https://github.com/Sdogruyol/awesome-ruby#orm | |
Student.all | |
Topic.first | |
Workshop.sum(:hours) |