Code Monkey home page Code Monkey logo

atlantis's Introduction

Atlantis (ATL) (Formerly known as CavCash)

IMPORTANT NOTE: Recently, I discovered that some of the code that validates signatures on transactions was working in a faulty manner and have not yet had time to make a patch.

This is a seperate project from CavCash the payment processor

A re-implementation of the CryptoNode protocol in C# with some other goodies.

Atlantis aims to be a CryptoCurrency with privacy features similar to Monero.

Atlantis uses a SHA-256 proof of work hashing algorithm to keep the chain secure.

The name

The name is a namesake to a company I ran with a few friends during high school

Not yet launched

Atlantis has not yet launched a testnet or a production network. Currently testing is only done by running a node on localhost.

Re-Implemented/Done Features

  • Stealth Addresses
  • Mining with increasing difficulty
  • Send/Recieve money
  • Move Node software from using our own hacky TCP server to just running as an ASP.NET WebAPI. This has considerable benefits since the folks up in Redmond have been working on making ASP performant and it also gives us a bunch of features to play with.

To-Do Features

  • Ring Signatures
  • Ring Confidential Transactions
  • Nakamodo consensus for multiple nodes (currently multi-node isn't a thing)
  • Don't use NBitcoin library for Stealth Addresses
  • Rewrite CavCash.BlockExplore to React.js/ts so it's cleaner

Whitepaper

A whitepaper is in the works. Will be posted here when it's closer to the final thing. Not too concerned with getting it out quick since this is just a pet project at the moment.

Contributing

Feel free to make PRs about whatever, if they're breaking or they go against some of the basic goals, it will not be merged but pretty much anything else will be.

Components (Still using legacy naming scheme)

CavCash.BlockExplore

Our very own (poorly designed) block explorer. Mostly used for debugging.

Running

Just build and run. If you're not running a node on localhost:5001, then edit the corresponding string in CryptoUtils.cs on line 51

CavCash.Wallet

A CLI wallet used mostly for testing. Running in 'epheremal mode' doesn't save the keys to disk, useful for testing.

CavCash.Node.ASP

Re-write of unreleased CavCash.Node. Moves away from our own custom TCP server into an ASP.NET WebAPI. ASP.NET was chosen as it is pretty well built and saves us a lot of work, especially since it has SSL/TLS built in and has great performance.

CavCash.Core

Common funcitons between all of CavCash's components.

atlantis's People

Contributors

nickoriow avatar nickorlow avatar

Stargazers

 avatar

Watchers

 avatar  avatar

atlantis's Issues

Check block difficulty

Currently, block difficulty is really easy because it's meant for testing so we can mine blocks quickly when debugging and building. In CavCash.Core/Constants.cs there is a list with block numbers and 'block prefixes'. These should be updated around launch time.

Add Ring Confidential Transactions

When Ring Signatures are added, we're going to be locked into sending only a select few denominations. Ring Confidential Transactions (Ring CT) is a technology developed by Monero which allows sending many denominations AND hiding transaction amounts.

rewrite block explorer in React

When the block explorer was initially written, we were still using the CavCash.Node software with the hacky TCP server and it was easier to just use Blazor when doing TCP comms. Re-write should make requests to nodes directly from the client.

Re-write should also focus on having a nice design. When I wrote CavCash.Blockexplore, it was made solely because I got tired of reading JSON so I didn't spend nearly any time on styling.

Add Ring Signatures

Currently, we cannot tell who a transaction is sent to though we can see where the transaction got it's funds from. This is what is known as 'linkability'. In a privacy-centric world, we don't want this therefore, we should add Ring Signatures which will obfuscate the sender. Should be build to below specs:

Ring Size: 8
Customizable Ring Size: NO

Fees/Block reward changes

Currently, we have a 100CAV/Block reward. This was just made so I could mint CAV to test with and no real thought was put into it's structure. Currently, I'm undecided on how to do fees or block rewards. Feel free to discuss here

Investigate move to Proof of Stake

Feel free to discuss here.

Proof of stake is less resource intensive and it also allows for faster transaction processing. Implementing it in CavCash could prove useful. The main problem is that in order to validate, we need to have our balances publicly available.

I think it would be fine if we published how much a wallet had staked. Much like I want to know the identity of a Senator that represents me, I also want to know the address of a node that validates my transactions

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.