Bitcoin Forum

Alternate cryptocurrencies => Altcoin Discussion => Topic started by: kushti on June 29, 2015, 08:15:28 PM



Title: Scorex - Ultracompact Cryptocurrency Engine for Researchers
Post by: kushti on June 29, 2015, 08:15:28 PM
Motivation

There are two huge problems around cryptocurrencies development project Scorex aims to help to solve:

* Bitcoin source code contains more 100K lines of code(80K of C++ only), Nxt is about more than 45K lines of Java code. All parts of the design(network/transactions/consensus layers) are mixed in a hard way.  So researchers & developers are definitely not in a good start position to make any experiments.  In opposite, Scorex is less than _4K lines of Scala code_. Transactions layer is as simple as just tokens transfers. Consensus algo  could be switched easily(with two consensus algos out of the box,  one could be replaced with an another with just one line of code edited!)

* Major coins forks are trying to make IPO immediately, often having just one or two pretty controversial features introduced. **Scorex is intentionally not production-ready**, so please participate in any  non-commercial experiments built on top of it, but don't buy tokens unless you are 100+% sure what are you doing.
 

Features

* Two 100% Proof-of-Stake consensus algos out of the box, Nxt-like and Qora-like. One algo could be replaced
with an another with just one line of code edited (in Constants.scala)
* Simplest transactions model
* Asynchronous network layer on top of TCP(with Akka I/O)
* JSON API
* Command line client for the JSON API
* Curve25519 for signatures
* CC0(Public Domain) license
* Compact, functional, actors-powered code
* Scala / Akka
 

Roadmap

This release is named Lagonaki (after picturesque mountains resort in West Caucasus https://yandex.ru/images/search?text=%D0%BB%D0%B0%D0%B3%D0%BE%D0%BD%D0%B0%D0%BA%D0%B8 ), the current version is 1.0. It is the initial release aiming to provide modular and simple product to improve.
     
There are some issues/todos to be solved in upcoming 1.1 then 1.2 versions.           
 
And new branch will be forked very soon, with a brand new Proof-of-Stake algo having no whitepaper atm. More details soon. Nxt forging algo improvement proposal will be derived then from testing results. 

Authors

Scorex is made by [Consensus Research microteam](https://github.com/ConsensusResearch) previously worked on Proof-of-Stake investigation:

Alexander Chepurnoy aka kushti - Nxt developer & smartcontract.com cofounder. Has few published papers in Computer Science field(finite state systems related), writing PHD at the moment.   

andruiman - serial entrepreneur with theoretical physics background, a big fan of Coq interactive theorem prover & functional programming.   


Contributions

We're highly welcome contributions in form of pull requests, testing, issues reporting, and forking for sure :)


Donations

Also we would be happy to get donations. You can buy our asset on Nxt Assets Exchange: https://trade.secureae.com/#5841059555983208287, Bitcoin wallet is **17YksFD7eRB4NhPfEtGrGnuvuwpkAeBd7f** .   
   


Repository URL

The main link to follow is the GitHub repository:

https://github.com/ConsensusResearch/Scorex-Lagonaki

 


Title: Re: Scorex - Ultracompact Cryptocurrency Engine for Researchers
Post by: nexern on June 29, 2015, 10:44:58 PM
very cool, congrats kushti.


Title: Re: Scorex - Ultracompact Cryptocurrency Engine for Researchers
Post by: TaunSew on June 29, 2015, 11:00:52 PM
The only place we can view information on this is on GitHub?


Title: Re: Scorex - Ultracompact Cryptocurrency Engine for Researchers
Post by: nexern on June 29, 2015, 11:32:52 PM
The only place we can view information on this is on GitHub?

here is more.

http://consensusresearch.org/ (http://consensusresearch.org/)
https://nxtforum.org/consensus-research/ (https://nxtforum.org/consensus-research/)


Title: Re: Scorex - Ultracompact Cryptocurrency Engine for Researchers
Post by: jones_ on June 30, 2015, 03:19:51 AM
I'm going to have a lot of fun with this tool.

Thanks kushti and arduiman :)


Title: Re: Scorex - Ultracompact Cryptocurrency Engine for Researchers
Post by: Lorenzo on June 30, 2015, 05:57:55 AM
Very interesting. Sadly, I know nothing about Scala. :(

Is part of the idea to make the code as short as possible? Kind of like those <1 kB chess programs that attempt to do the same? If so, wouldn't adopting proof-of-work rather than proof-of-stake help simplify things even further? Or are proof-of-stake systems not significantly more complex than proof-of-work systems?


Title: Re: Scorex - Ultracompact Cryptocurrency Engine for Researchers
Post by: kushti on June 30, 2015, 04:38:44 PM
The only place we can view information on this is on GitHub?

Right, 2 files on GitHub(API/Readme) + source code. Will write some docs on architecture / details.

Very interesting. Sadly, I know nothing about Scala. :(

Is part of the idea to make the code as short as possible? Kind of like those <1 kB chess programs that attempt to do the same? If so, wouldn't adopting proof-of-work rather than proof-of-stake help simplify things even further? Or are proof-of-stake systems not significantly more complex than proof-of-work systems?

With PoS it's simpler to run smaller networks, even a single running blockchain on a local machine. Both PoS algos implemented are pretty simple in fact  :)


Title: Re: Scorex - Ultracompact Cryptocurrency Engine for Researchers
Post by: kushti on July 20, 2015, 02:30:27 PM
Made a lot of small improvements and some little fixes during last few days. Codebase is mostly ready for forking


Title: Re: Scorex - Ultracompact Cryptocurrency Engine for Researchers
Post by: kushti on August 06, 2015, 10:12:44 AM
First Scorex devs meetup is coming! Aug, 14th, Saint-Petersburg, Russia. Going to publish some design docs before that.


Title: Re: Scorex - Ultracompact Cryptocurrency Engine for Researchers
Post by: criptix on August 06, 2015, 10:54:14 AM
Very cool project subscribing!


Title: Re: Scorex - Ultracompact Cryptocurrency Engine for Researchers
Post by: kushti on August 07, 2015, 12:34:19 PM
The first article describing architecture of almost every cryptocurrency of today has been just published: https://github.com/ConsensusResearch/Scorex-Lagonaki/blob/master/docs/components.md


Title: Re: Scorex - Ultracompact Cryptocurrency Engine for Researchers
Post by: benthach on August 07, 2015, 01:44:14 PM
never heard of this scam before must be new looking to get rich quick


Title: Re: Scorex - Ultracompact Cryptocurrency Engine for Researchers
Post by: Este Nuno on August 07, 2015, 04:17:43 PM
never heard of this scam before must be new looking to get rich quick

LOL. Did you actually read the post to see what this is?


Title: Re: Scorex - Ultracompact Cryptocurrency Engine for Researchers
Post by: kushti on August 07, 2015, 06:07:36 PM
never heard of this scam before must be new looking to get rich quick

Hello forum robot, I love you too  ;D


Title: Re: Scorex - Ultracompact Cryptocurrency Engine for Researchers
Post by: iCEBREAKER on August 07, 2015, 06:30:18 PM
Great project.  Very educational.

Is it compatible with proof-of-work?


Title: Re: Scorex - Ultracompact Cryptocurrency Engine for Researchers
Post by: kushti on August 07, 2015, 07:48:52 PM
Great project.  Very educational.

Is it compatible with proof-of-work?

Yes, it's not hard to change to PoW I guess


Title: Re: Scorex - Ultracompact Cryptocurrency Engine for Researchers
Post by: kushti on August 16, 2015, 09:31:41 AM
The meetup was very productive and insightful, finally we've came to conclusion to split the project into separate layers explicitly using following artefacts:

1. scorex-utils - cryptofunctions and other functionality not corresponding to a cryptocurrency logic directly
2. scorex-network - p2p layer
3. scorex-consensus - consensus-related data sctructure & functions
4. scorex-transaction - transactions handling code and internal state


So to change consensus from PoS to PoW it would be enough to swap from scorex-consensus-pos to scorex-consensus-pow.

I'm going off for few days to return with a roadmap.




Title: Re: Scorex - Ultracompact Cryptocurrency Engine for Researchers
Post by: kushti on August 31, 2015, 08:43:35 PM
Version 1.0.4 with small improvements is just released. Next version will be 1.1.0 with (raw,but) modular design. The code for it is mostly ready, and divided now into 4 parts:

1. Scorex-Basics - crypto/utility functions, and interfaces for transaction/consensus modules

2. SimplestTransactions - implementation of a transaction module interface. simplest payment transactions, no transactions/state merkle roots in block etc. Probably having some flaws :)

3. LagonakiConsensus - implementation of a consensus module interface. Two Proof-of-Stake implementations, Nxt-Like & Qoralike

4. Scorex Lagonaki, the runnable application = Basics+SimplestTransactions+LagonakiConsensus+business-logic & APIs on top of that.


Design will be improved further, resulting in some 1.2.x release ready for forking. Also started to write explanatory / education comments for the code.


The project got some sponsorship, so we can buy some development efforts(and publish results under public domain, thanks sponsor!). As resources are pretty limited anyway, forking will be done as follows:

1. Few forking proposals will be described in form of Scorex Forking Proposal(SFP). E.g. Ethereum VM support(using EthereumJ code), pos experiments, Permacoin, Bill White's lightweight ledgers proposal w. more scalable transaction layer etc.

2. Voting amongst ConsensusResearch shareholders(we made some fundrasing via Nxt AssetsExchange: https://nxtforum.org/consensus-research/first- fundraising-letter/) over Nxt Blockchain. Please note voting results will be taken into an account, but implementation of a winner is not guaranteed.

3. Implementation of some proposal


Title: Re: Scorex - Ultracompact Cryptocurrency Engine for Researchers
Post by: kushti on September 22, 2015, 08:49:07 PM
I'm going to release 1.1.0 during this week, snapshot version is online. Just finished new article about new modular design, could be fun for devs: "On the Way to a Modular Cryptocurrency, Part 1: Generic Block Structure" -> https://github.com/ConsensusResearch/Scorex-Lagonaki/blob/master/docs/modular1.md


Title: Re: Scorex - Ultracompact Cryptocurrency Engine for Researchers
Post by: kushti on October 30, 2015, 06:50:09 PM
Version 1.1.0 is released(more than week ago actually). 1.1.1 will be released in next few days.

It seems the project is getting to attract some donations, so hopefully the project is going to be developed at a faster pace.


Title: Re: Scorex - Ultracompact Cryptocurrency Engine for Researchers
Post by: kushti on November 05, 2015, 07:09:42 PM
1, Scorex Lagonaki 1.1.1 has been released! https://github.com/ScorexProject/Scorex-Lagonaki

2. Project got sponsorship from IOHK(new project of Charles Hoskinson)

3. A lot of refactoring is planned for next few days. Hopefully before Nov, 14th 1.2.0 milestone will be reached, and then a new submodule will be started.







Title: Re: Scorex - Ultracompact Cryptocurrency Engine for Researchers
Post by: Este Nuno on November 05, 2015, 08:48:12 PM
Awesome work. Congrats on getting sponsorship too.


Title: Re: Scorex - Ultracompact Cryptocurrency Engine for Researchers
Post by: kushti on November 09, 2015, 04:12:49 PM
Version 1.1.2 has been released with consensus-related API calls added. 1.2.0 roadmap has been considered, we're working towards it. Hopefully 1.2.0 will be done before the weekend


Title: Re: Scorex - Ultracompact Cryptocurrency Engine for Researchers
Post by: TPTB_need_war on November 10, 2015, 02:37:17 AM
I may want to collaborate with you guys at some point. I've been coding in Scala as well. I began to port EdDSA from Java I2P. When I get some time, I will look at your Curve25519 implementation.


Title: Re: Scorex - Ultracompact Cryptocurrency Engine for Researchers
Post by: kushti on November 11, 2015, 05:17:19 PM
I may want to collaborate with you guys at some point. I've been coding in Scala as well. I began to port EdDSA from Java I2P. When I get some time, I will look at your Curve25519 implementation.

At the moment Scorex uses this implementation: https://github.com/vRallev/ECC-25519 . I have a plan to switch to implementation from WhisperSystems if my trivial pull-request about possibility of keypair generation with a given seed will be merged (https://github.com/WhisperSystems/curve25519-java/pull/7).

It would be good to get both Curve25519 reviewed. Also it would be good to get some more signature schemes under the hood.

And another direction about crypto primitives, the cryptographic hash function. While Scorex is using SHA-256 from JDK, it would be good to get Blake2 implementation under the hood (https://blake2.net/). It would be also good to compare its performance with SHA-2/3 in the JVM.
 



Title: Re: Scorex - Ultracompact Cryptocurrency Engine for Researchers
Post by: pozharko on November 28, 2015, 09:24:34 PM
Scorex team won on Moscow blockchain hackathon http://forklog.net/moscow-blockchain-hackathon-winning-team-proves-the-permacoin-algorithm/ and working on permacoin consensus algo


Title: Re: Scorex - Ultracompact Cryptocurrency Engine for Researchers
Post by: LiQio on November 29, 2015, 07:00:21 AM
Scorex team won on Moscow blockchain hackathon http://forklog.net/moscow-blockchain-hackathon-winning-team-proves-the-permacoin-algorithm/ and working on permacoin consensus algo

Cool stuff, congratulations!


Title: Re: Scorex - Ultracompact Cryptocurrency Engine for Researchers
Post by: kushti on December 08, 2015, 03:43:51 PM
Thanks guys! Yes, we won the Hackathon with Permacoin prototype implementation, now we've implemented Permacoin as Scorex module, the only thing to run a testnet is data segments p2p protocol. I'm going to implement it, and then we're more or less ready to launch a testnet.

So we are looking for contributors! Please contribute with a hardware to run a fullnode with or without mining! 5-10 nodes are okay for start

And we're starting to welcome developers to look into the code!


Title: Re: Scorex - Ultracompact Cryptocurrency Engine for Researchers
Post by: kushti on December 13, 2015, 08:38:27 PM
A lot of code just has been merged into master. P2P code redone(it's modular now as well as other parts of the core and allows custom plugins), and blocktree support has been added as well(so a node could store few blocks of a same height).

The only thing remains before 1.2.0 release is Permacoin dataset segments exchange via P2P network.


Title: Re: Scorex - Ultracompact Cryptocurrency Engine for Researchers
Post by: kushti on January 19, 2016, 05:51:32 PM
1. We're going to launch a testnet with Permacoin implementation as consensus module in coming days. PRE-ANN is there: https://bitcointalk.org/index.php?topic=1327860

2. Developers maillist: https://groups.io/g/scorex-dev



Title: Re: Scorex - Ultracompact Cryptocurrency Engine for Researchers
Post by: kushti on January 20, 2016, 08:28:33 PM
1.2.0-RC1 is out: TCP framing, peers handshaking, UPnP ports mapping, new p2p settings, a ton of bugfixes.

I'm going to start a wiki.


Title: Re: Scorex - Ultracompact Cryptocurrency Engine for Researchers
Post by: kushti on February 22, 2016, 08:57:12 PM
Well, public testnet release will be on this week hopefully. And Wiki will be released during this week as well.

Scorex now is a part IOHK Research ( http://iohk.io/about/ ). It is (and will be) under CC0 license, and everyone is welcomed to contribute!

Cryptographic primitives have been externalized into separate framework scrypto: https://github.com/ScorexProject/scrypto


Title: Re: Scorex - Ultracompact Cryptocurrency Engine for Researchers
Post by: kushti on March 06, 2016, 08:36:54 PM
It is possible to connect to a public testnet right now, though public announce will be later, and Debian package / Docker image will be available soon. To connect to a public testnet, run current master on your machine: https://github.com/ScorexProject/Scorex .

Testnet will be alive for few weeks and later will be updated with a new consensus algorithm with working name RollerChain  :)


Title: Re: Scorex - Ultracompact Cryptocurrency Engine for Researchers
Post by: enet on June 28, 2016, 11:24:31 AM
This great work deserves more coverage. Waves is building on top of Scorex. Hopefully they'll use some funds to contribute back to core.