

Show HN: A Cryptocurrency in 4K Lines of Scala Code - kushti
https://github.com/ConsensusResearch/Scorex-Lagonaki

======
aaron-lebo
I love the thought process behind this.

For those who aren't familiar with C++ or cryptocurrencies in general, Bitcoin
and similar codebases are daunting to get into. This reminds me of BasicCoin
[1], also featured on HN [2].

1\. [https://github.com/zack-bitcoin/basiccoin](https://github.com/zack-
bitcoin/basiccoin)

2\.
[https://news.ycombinator.com/item?id=7713795](https://news.ycombinator.com/item?id=7713795)

------
kushti
Main developer is here. Would be happy to get feedback and contributors here
:)

~~~
j-m-o
Neat project.

Any particular reason you chose to roll your crypto rather than build on top
of existing implementations?

[https://github.com/WhisperSystems/curve25519-java](https://github.com/WhisperSystems/curve25519-java)

[http://rosettacode.org/wiki/RIPEMD-160#Java](http://rosettacode.org/wiki/RIPEMD-160#Java)

~~~
kushti
Curve25519 implementation was taken from the internet. The problem I see with
all the Java implementations of it, they're not reviewed by professional
cryptographers. This is one the reasons why Scorex isn't production-ready.

RIPEMD implementation was taken from the internet too.

~~~
j-m-o
That Curve25519 implementation is by Moxie Marlinspike, and that RipeMD160
algorithm is built into BouncyCastle.

There may still be attack vectors on them, but that's about as close to
"reviewed by professional cryptographers" as you're likely to get at this
point.

------
sscarduzio
This could become much smaller in Scala if you design it using FP style. Now
it's more like decaf Java to me! Great project, thanks for making it
available, now I have no excuse to understand how a crypto currency actually
works.

~~~
kushti
That's very true. The reason of that is the code was rewritten from Qora
cryptocurrency source code(24K LOCs in Java). I will definitely make it more
FP-like.

------
sciencerobot
this would be an awesome challenge for a game of code golf.

~~~
jboggan
I'd wager that an APL-based language (J/K/Q) would win.

