Giter Site home page Giter Site logo

flexcoin's Introduction

Flexcoin

Source code for Flexcoin digital currency. First to have easy to use digital Vault to secure coins https://bitcointalk.org/index.php?topic=260234.msg2776110#msg2776110

Crypto currency is the coolest innovation ever. But why aren't crypto currencies being adopted by everyone? The reason is that security is really difficult for the users. The best security we have right now are paper wallets, and they are really clunky to use. We need to make the process of securing coins completely painless for the end user. To do that we need to introduce a few new concepts.

Vaults: The first new concept is a vault. All this is is a device that is always disconnected from the internet so that it can't be hacked. This is where the private keys and all the coins are stored. This device can either be a Raspberry Pi, or a computer. The Vault device needs to be NFC (near field communications) enabled. This allows the user to take thier cell phone, and touch it to the Vault to top off thier Wallet. This is called doing a Sync.

But what is to prevent the Wallet from getting hacked so that it tricks the Vault into releasing all of it's coins to the Wallet? We need another new concept to handle this.

Denominated Addresses: These are addresses which are capable of only holding a fixed amount of Flexcoins. For example, a 100 Flexcoin address can only hold 100 Flexcoins, or 0 Flexcoins once they have been spent. There are still regular addresses that can hold any amount of coins but those are for Wallets, not Vaults.

The user logs on to the Vault to set the maximum number of coins that can be releasd in a single Sync.

Sync: There are a number of things that need to happen during a Sync. The first thing is to top off a wallet that has a low balance. The user tells the wallet what balance it should maintain. Say 200 Flexcoins. Suppose the wallet is empty. When the user touches their cell phone to the Vault, the Wallet asks for two 100 coin private keys. Since this is under the maximim, the Vault sends two 100 FlexCoin private keys. But we also need the ability to fill the Vault up with coins. To do this, the Vault has to be capable of generating Public Address/private key pairs. And it will send out Public Addresses to the Wallet as needed.

Easy Backups: The other thing we do is make Vault backups super easy. Just plug one or a few thumb drives into your Raspberry Pi or Vault computer. The Vault app will do backups on a regular basis. The app will be smart enough to automatically keep enough backups over time to ensure full coverage. Deleting redundant backups.

So that's pretty much it. A very simple design that is super easy for the end users. Just touch your cell phone to the Vault device to top off your wallet while the rest of your coins remain completely safe. Sure you could lose your cellphone or it's coins could be stolen, but someone could steal your non digital wallet too. The point is that the amount they can steal is small.

We are looking for developers and other contributors to get in on the ground floor and help make FlexCoin a resounding success. Reply to this thread if you are interested in joining the team. There is only one requirement to joining the team, that you treat everyone involved with the FlexCoin team and the broader FlexCoin community with civility and respect, whether they deserve it or not. The team will decide things like if there should be a premine or not, and how any rewards should be divvied up.

flexcoin's People

Contributors

neuromancer56 avatar

Watchers

James Cloos avatar  avatar  avatar

flexcoin's Issues

Create or Clone a mobile wallet

Flexcoin is absolutely going to need a mobile app for it's wallet. I searched on google play and only found mobile wallets for Bitcoin, Litecoin, and Feathercoin. Since I think it would be a lot of work to create a mobile wallet from scratch, that might suggest that we want to branch Litecoin instead of some other coin. I don't know all the difficulties of taking one of these wallets and porting them to some other coin like Novacoin, PPcoin or Primecoin, but I'm guessing it's not trivial. I do know that Andreas Schildbach's popular Bitcoin wallet is based on bitcoinj (A Java implementation of a Bitcoin client-only node) https://code.google.com/p/bitcoinj/ So that could mean in order to create a Primecoin or other non-litecoin based wallet, a port of the client to java is necessary, as that is the native android language. Another question would be do we want to go cross platform, but if so, a lot of these crossplatform alternatives (like PhoneGap) are potentially less secure because they are not compiled. I'm not sure if it makes sense to try to do c++ on android and iOS. I know a little about android development, and nothing about iOS development.

Implement Denominated Addresses

Denominated Addresses: These are addresses which are capable of only holding a fixed amount of Flexcoins. For example, a 100 Flexcoin address can only hold 100 Flexcoins, or 0 Flexcoins once they have been spent. There are still regular addresses that can hold any amount of coins but those are for Wallets, not Vaults.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.