• Stars
    star
    167
  • Rank 226,635 (Top 5 %)
  • Language
  • Created almost 10 years ago
  • Updated almost 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Personal ideas and inventions for Bitcoin

Research and Development in Bitcoin and Crypto

The following papers are result of solving real problems in real applications. Most of them are fully invented by Oleg Andreev, some improve the existing ideas. Papers will be updated when better ideas come along. Feedback is welcome.

Bitcoin Glossary

The most complete collection of Bitcoin technical terms.

Bitcoin Blind Signatures

Distribute control over bitcoins between multiple custodians while maintaining absolute privacy. Custodians only authenticate you in person and allow or deny a transaction, but never know the contents of the transaction.

Automatic Encrypted Wallet Backups (BIP proposal)

Bitcoin wallets normally require careful backup for only its master seed. The scheme allows to encrypt all external information (payment receipts, notes etc.) using that master seed and automatically upload to one or more hosting services (iCloud, Dropbox, Google Drive) to be automatically downloaded and installed during restore process.

Joint Escrow

A simple multi-signature scheme for establishing game-theoretic trust between two otherwise untrusted entitites (persons or computer agents). This is a basic building block for many decentralized markets and applications such as Bitmarkets app.

Bitcoin Wallet API

Many end-user Bitcoin applications (e.g. Lighthouse, Bitmarkets app) have to implement a wallet functionality just to use some bitcoins for their operation. This is typically less safe for the user than the wallet he is already familiar with. We propose a set of secure APIs that allow apps to get some bitcoins from the user's wallet in a secure and flexible manner.

Key rotation scheme for second-factor cryptographic keys

Bitcoin wallet's master key must be protected against compromise and data loss. We propose a key rotation solution to ensure robust 2FA service protecting the master key.

Decentralized Payment Network

Blockchain is great for ultimate settlement of ownership, but it does not efficiently scale to billions of regular transactions. We propose an overlay protocol that enables clearing small payments via a decentralized infinitely scalable network of IOU swaps backed by actual bitcoins locked up using Joint Escrow.

Pay-to-contract extension to Bitcoin

Proposal to extend scripting capabilities in Bitcoin via a soft fork that allows access to wider amount of information about transactions and persistent state across contracts to enable massive multi-party execution at low cost.

Satellite Vault

An co-signing oracle that limits withdrawals could be deployed on the satellite to close the window of opportunity for attack. Oracle generates and stores master key for signing and encryption. Full bitcoin node implementation onboard enables monitoring withdrawals and handling billing directly. Clients store all data themselves, encrypted by the oracle's key where necessary. Cooperating on-earth systems handle withdrawal notifications and cancellation, while full financial privacy is enabled by end-to-end encryption of all activity between the client and the oracle. TTS detects drastic trajectory changes and destroys all sensitive information in case of meaningful deviation (e.g. hijacking).

Auditable Bitcoin Wallets (BIP proposal)

Hardware Bitcoin wallets are obvious targets for backdoors. We propose a unified method of auditing any wallet for presence of potential backdoors or bugs. The specification also applies to software wallets executed by general-purpose computers, although these may be more challenging to audit.

About

Oleg Andreev is an entrepreneur and software designer who brings order and sanity to Bitcoin world.

Email: [email protected]

Twitter: @oleganza

Github: github.com/oleganza

License

Creative Commons Attribution License v4.0

You can freely copy, share and build things based on these ideas, but must give appropriate credit to Oleg Andreev as an author. You don't get to restrict others from doing the same thing.

Have a nice day!

More Repositories

1

CoreBitcoin

Awesome Bitcoin toolkit for ObjC and Swift
C
699
star
2

btcruby

Comprehensive Bitcoin and Open Assets toolkit for Ruby
Ruby
70
star
3

bash-settings

My personal bash aliases and settings
Shell
43
star
4

emrpc

Modular ruby RPC library with blocking and evented API (using EventMachine)
Ruby
29
star
5

OAPromise

OAPromise is an API separating async operations and their callbacks, adding consistency and useful features like fall-through errors and progress reports.
Objective-C
27
star
6

io-snippets

Misc snippets in Io programming language (iolanguage.com)
Io
24
star
7

iovm2

iovm2 is an attempt to build optimizing compiler for Io programming language
JavaScript
23
star
8

autogit

AutoGit is an automatic package manager for Ruby (alternative to RubyGems)
Ruby
20
star
9

vkontakte.ruby

Ruby API for vkontakte.ru for syncing personal data with local StrokeDB database
Ruby
20
star
10

strokedb-core

Minimalistic modular engine for StrokeDB
Ruby
19
star
11

iopackage

Io code package manager based on Git repositories
Io
18
star
12

ampoule

git-based todo manager/bugtracker
Ruby
17
star
13

blindsignaturedemo

Bitcoin Blind Signatures Demo
C
14
star
14

bitcoin-duo

Bitcoin Duo: achieving consensus the safe way
C++
11
star
15

web-frameworks-benchmark

Merb, rails and ramaze benchmark
Ruby
10
star
16

gitbox2

Swift
8
star
17

learning-french

My notes and cheatsheets about Franรงais.
8
star
18

OAStateMachine

Little State Machine with nested states, animations and without matrices.
Objective-C
7
star
19

vkontakte-player

Vkontakte audio player for Mac OS X
Ruby
5
star
20

amanda

web-toolkit for the Io language
5
star
21

fullmapper

fullmapper is a purely experimental rewrite of the dm-core core. Or, better say, core core. Of the dm-core.
Ruby
4
star
22

literate

Literate programming for Ruby
Ruby
4
star
23

gitbox

Original source code of Gitbox 2010-2012
C
3
star
24

ristretto-musig2

MuSig2 implementation for ristretto255
3
star
25

Coder

NSCoding-inspired library for encoding object graphs in Ruby. Plus optional formatter/decoder for JavaScript.
Ruby
3
star
26

serials

Scalable serial numbers database (example of TokyoCabinet usage)
Ruby
3
star
27

declarations

Extremely small, perfectly done dynamic inheritable declarations lib for Ruby. You should use it for DSL macros like "has_many", "before_filter" etc.
Ruby
3
star
28

nginx-mirror

Mirror of the official Igor Sysoev's Nginx tarballs
2
star
29

theca

Programming language with strong static typing and dynamic compilation
2
star
30

gem_console

Tool for building custom consoles in gem-like ruby libraries.
2
star
31

OAMixin

True mixin functionality for Objective-C
Objective-C
2
star
32

lol-u-all-suk

U suk, ok?
Ruby
1
star
33

tokyocabinet-wrapper

Friendly OOP-style TokyoCabinet wrapper
Ruby
1
star
34

genconsole

genconsole.rb helps to create an IRb console for your app or library in interactive mode. Replacement for gem_console.
1
star
35

else.ruby

Else is a collection of useful or/and funny code snippets in Ruby.
Ruby
1
star
36

simple-fixtures

Ruby
1
star