democracy

command module
v0.0.0-...-cec121a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 9, 2021 License: Apache-2.0 Imports: 15 Imported by: 0

README

Democracy

A proof-of-concept Bitcoin client that treats Bitcoin with the contempt it deserves.

Bitcoin offers no inbuilt democracy. One can either vote to support the network (by running a regular Bitcoin client or doing Bitcoin mining), or abstain (by not doing those things). Bitcoin is thus a one-party state.

Running this software is a vote against Bitcoin. It operates by either directly rejecting, or refusing to store or forward, certain Bitcoin messages to peers in the network. Effectively, this software treats Bitcoins as having zero or negative value. (Which they do.)

Installation and Usage

After installing Go, you can run:

go install github.com/DrJosh9000/democracy@latest

A binary called democracy should now exist in your ~/go/bin. Run it to start; hit Control-C to stop.

What about other blockchains, cryptocurrencies, NFTs?

If someone wants to take the concept and implement it for an undemocratic system of their choice, patches are most welcome.

Is this a hacking tool?

No, don't be silly. It doesn't steal Bitcoins or stop a regular Bitcoin client from running. Why would I want to steal something with negative value?

But this aims to disrupt Bitcoin?

In the sense that every business and shop owner that doesn't accept Bitcoin as payment is also "disrupting" Bitcoin.

This isn't following the Bitcoin protocol.

Actually it does - it sends and receives validly-formed Bitcoin messages at the correct times. It applies a different policy to the messages it chooses to send.

How much storage, CPU, memory, and network bandwidth does this consume?

Not very much. Because Bitcoin is treated as valueless, there is no need to store or verify the (enormous) blockchain, and because no incoming information is relayed, there is not much outbound traffic. The main resources used are memory and CPU for tracking peers, and network connections to peers.

Documentation

Overview

The democracy binary connects to the Bitcoin network. The main difference between democracy and a regular Bitcoin node is that democracy provides a way for people to vote against Bitcoin - democracy rejects transactions and blocks, and favours peers that do not forward transactions, blocks, headers, etc.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL