SlideShare a Scribd company logo
Bitcoin Summer School
Scorex, the Modular Blockchain Framework
Alexander Chepurnoy
(aka kushti)
@chepurnoy
IOHK Research
Section 1. „Scorex In General“
Use Cases
● Implement new consensus protocol and plug it easily into
a prototypical blockchain system to run a system against a
testbed
● In the same way, implement and spread a proof-of-concept
impl. for anew transactional language
Use Cases
● Proof-of-Stake protocols
● Permacoin implementation
The Problem
● Bitcoin(reference impl): > 80K lines of C++ code
● EthereumJ: > 55K of Java code
● Nxt: > 40K lines of Java code
● Every codebase is highly optimized for a concrete
production environment
The Problem
● It is hard to locate, inject, swap functionalities
● Hard to make experiments/prototypes
Scorex in General
● Find fast where to inject
● Modular stacked design
● Externalised cryptography(scrypto)
● One testnet application atm(Lagonaki)
Scorex in General, pt 2
● Everything is open-sourced immediately
● CC0 license
● Maintained by IOHK Research
Competitors
Intel's „Sawtooth Lake“
(https://github.com/IntelLedger)
„a highly modular platform for building, deploying and
running distributed ledgers" (Intel Corp.)
Intel's „Sawtooth Lake“
● Consensus / „transaction family“
● Proof of Elapsed Time (Intel SGX)
● Assets marketplace
● Python
● Apache License 2.0
Section 2. „Scorex In Details“
Scorex is in Scala
● Functional language, strict static typing
● JVM
● Could be enhanced with any JVM language(Java, Clojure,
Kotlin, Groovy, Jython, Frege etc)
Development Philosophy
● Flexible design could be hard to understand
● Simple code could be not flexible or error-prone
● We need to find a balance!
● Give a maximum for free!
Design In General
● Compact core – always for free
● Consensus module - implement or take ready
● Transactional module - implement or take ready
● Network protocols – partly for free
● API – partly for free
● Application – lean!
● Wallet, configs – partly for free
A Module
● Writes and reads certain block parts
● Implements corresponding interface
Code Quality
● Compact code, strict types
● Good test coverage(70-80%)
● Continuous integration
Getting Started
● Docs on GitHub:
https://github.com/ScorexProject/Scorex/wiki/Getting-started
● Java 8 SDK
● sbt is recommended for Scala
Adding Modules
libraryDependencies ++= Seq(
"org.consensusresearch" %% "scorex-basics" % "1.+",
"org.consensusresearch" %% "scorex-consensus" % "1.+",
"org.consensusresearch" %% "scorex-transaction" % "1.+"
)
scorex-basics -core
scorex-consensus - two Proof-of-Stake consensus protocols
scorex-transaction – simplest transactions
Adding Modules
libraryDependencies ++= Seq(
"org.consensusresearch" %% "scorex-basics" % "1.+",
"org.consensusresearch" %% "scorex-perma" % "1.+",
"org.consensusresearch" %% "scorex-transaction" % "1.+"
)
scorex-perma – Permacoin consensus protocol implementation
Application - modules
class MyApplication(val settingsFilename: String) extends Application {
// Your application config
override val applicationName = "my cool application"
override val appVersion = ApplicationVersion(0, 1, 0)
override implicit lazy val settings = new Settings with
TransactionSettings {
override val filename: String = settingsFilename
}
// Define consensus and transaction modules of your application
override implicit lazy val consensusModule = new
NxtLikeConsensusModule()
override implicit lazy val transactionModule = new
SimpleTransactionModule()(settings, this)
Application - API
// Define API routes of your application
override lazy val apiRoutes = Seq(
BlocksApiRoute(this),
TransactionsApiRoute(this),
NxtConsensusApiRoute(this),
WalletApiRoute(this),
PaymentApiRoute(this),
UtilsApiRoute(this),
PeersApiRoute(this),
AddressApiRoute(this)
)
// API types are required for swagger support
override lazy val apiTypes = Seq(
typeOf[BlocksApiRoute],
typeOf[TransactionsApiRoute],
typeOf[NxtConsensusApiRoute],
typeOf[WalletApiRoute],
typeOf[PaymentApiRoute],
typeOf[UtilsApiRoute],
typeOf[PeersApiRoute],
typeOf[AddressApiRoute]
)
Application – network protocols
// Create your custom messages and add them to additionalMessageSpecs
override lazy val additionalMessageSpecs =
TransactionalMessagesRepo.specs
// Start additional actors
actorSystem.actorOf(Props(classOf[UnconfirmedPoolSynchronizer], this))
}
Launch The Application
object MyApplication extends App {
// Provide filename by command-line arguments
val filename = args.headOption.getOrElse("settings.json")
// Create application instance
val application = new MyApplication(filename)
// Run it
application.run()
// Generate account in your wallet
if (application.wallet.privateKeyAccounts().isEmpty)
application.wallet.generateNewAccounts(1)
}
UI
Settings
https://github.com/ScorexProject/Scorex/wiki/Settings
{
"p2p": {
"bindAddress": "0.0.0.0",
"upnp": false,
"upnpGatewayTimeout": 7000,
"upnpDiscoverTimeout": 3000,
"port": 9084,
"knownPeers": [
"23.94.190.226:9185"
],
"maxConnections": 10
},
"walletDir": "/tmp/scorex/wallet",
"dataDir": "/tmp/scorex/data",
"rpcPort": 9085,
"rpcAllowed": [],
"maxRollback": 100,
"blockGenerationDelay": 0,
"genesisTimestamp": 1460952000000,
"apiKeyHash": "GmVvcpx1BRUPDZiADbZ7a6zgQV3Sgj2GhNoEiTH9Drdx",
"cors": false
}
Lagonaki
● Permacoin implementation
● Simplest transactional module, account-2-account
payments
Launch Lagonaki
● docker run -i -p 9085:9085 "scorex/lagonaki:1.2.7"
● debian package
● https://github.com/ScorexProject/Lagonaki
Lagonaki Block Explorer
http://cryptorevolution.me/
Run own network
● src/main/resources/lagonaki.conf
app {
product = "Scorex"
release = "Lagonaki"
version = "1.2.7"
consensusAlgo = "perma"
}
Section 3. „Further Work“
1.2.7 → 1.3.0
● Flexible state models(now account-based)
● Flexible signing schemes(now EdDSA-25519 only)
Ergaki
● Blockchain for protocols
● Rollerchain implementation: safely prunable fullblocks
● Σ-coin implementation: wide class of NIZKPoK for DLOG
statements
● Rent-a-Box fee model
● Improved difficulty adjustment
Scrypto
● Еncoding functions(Base16/58/64)
● Hash functions(Blake2, Keccak etc)
● 25519 from WhisperSystems
● Authenticated data structures(Merkle trees, authenticated
skiplists coming in next release)
Section 4. „Coordination“
Contribution
● Comments
● Todos (search for „todo:“)
● Documentation
● Bugs
● Bitcoin UTXO model implementation (BitcoinJ)
● EVM implementation (EthereumJ)
Reach Us
● Maillist https://scorex-dev.groups.io/g/main
● GitHub https://github.com/ScorexProject
● https://iohk.io/team/
Questions?
https://github.com/ScorexProject/Scorex

More Related Content

What's hot (20)

ODP
Real world blockchains
Dmitry Meshkov
 
ODP
A New Business World Within A Blockchain
Alex Chepurnoy
 
PPTX
How to Create AltCoin(Alternative Cryptocurrency)?
Abdullah Khan Zehady
 
PDF
H2020 finsec-ibm- aidan-shribman-finsec-skydive 260820
innov-acts-ltd
 
PDF
Ergo platform's approach
Dmitry Meshkov
 
PPTX
An introduction to blockchain
fsxflyer789Productio
 
PPTX
Diagnosing HotSpot JVM Memory Leaks with JFR and JMC
Mushfekur Rahman
 
PDF
The Bitcoin Lightning Network
Shun Shiku
 
PPTX
Concurrency Control in Distributed Database.
Meghaj Mallick
 
PPTX
OpenTelemetry For Operators
Kevin Brockhoff
 
PDF
Meetup 19/12/2016 - Blockchain-as-a-service voor Antwerpen?
Digipolis Antwerpen
 
PDF
Encode Club workshop slides
Vanessa Lošić
 
PPTX
A quick introduction to Consensus Models
Oded Noam
 
PDF
Bitcoin Wallet &amp Keys
Shun Shiku
 
PDF
Transacties theorie
ninckblokje
 
PDF
Technical Overview of Tezos
TinaBregovi
 
PPTX
Transaction Ordering System
JasonGilchrist3
 
PPTX
Presentation_Topalidis_Giorgos
Giorgos Topalidis
 
PPTX
Write Smart Contracts with Truffle Framework
Shun Shiku
 
PDF
Blocks, procs && lambdas
Vidmantas Kabošis
 
Real world blockchains
Dmitry Meshkov
 
A New Business World Within A Blockchain
Alex Chepurnoy
 
How to Create AltCoin(Alternative Cryptocurrency)?
Abdullah Khan Zehady
 
H2020 finsec-ibm- aidan-shribman-finsec-skydive 260820
innov-acts-ltd
 
Ergo platform's approach
Dmitry Meshkov
 
An introduction to blockchain
fsxflyer789Productio
 
Diagnosing HotSpot JVM Memory Leaks with JFR and JMC
Mushfekur Rahman
 
The Bitcoin Lightning Network
Shun Shiku
 
Concurrency Control in Distributed Database.
Meghaj Mallick
 
OpenTelemetry For Operators
Kevin Brockhoff
 
Meetup 19/12/2016 - Blockchain-as-a-service voor Antwerpen?
Digipolis Antwerpen
 
Encode Club workshop slides
Vanessa Lošić
 
A quick introduction to Consensus Models
Oded Noam
 
Bitcoin Wallet &amp Keys
Shun Shiku
 
Transacties theorie
ninckblokje
 
Technical Overview of Tezos
TinaBregovi
 
Transaction Ordering System
JasonGilchrist3
 
Presentation_Topalidis_Giorgos
Giorgos Topalidis
 
Write Smart Contracts with Truffle Framework
Shun Shiku
 
Blocks, procs && lambdas
Vidmantas Kabošis
 

Viewers also liked (9)

PDF
Масштабируемость блокчейн-систем: проблемы и решения
Alex Chepurnoy
 
PPTX
Blockchain Consensus Protocols
Melanie Swan
 
PDF
Bitcoin - Introduction, Technical Aspects and Ongoing Developments
Bernhard Haslhofer
 
PDF
[22/03/2016] Conférence : Blockchain, disruption & révolution
Silicon Comté
 
PDF
Blockchain Use Cases: Think of a "Public" Pub/Sub Queue
Altoros
 
PPTX
IoT, Fog Computing and the Blockchain
kumar641
 
PDF
Demystifying Blockchains
_hd
 
PDF
IBM ADEPT
_hd
 
PPTX
Blockchain in IoT and Other Considerations by Dinis Guarda
Dinis Guarda
 
Масштабируемость блокчейн-систем: проблемы и решения
Alex Chepurnoy
 
Blockchain Consensus Protocols
Melanie Swan
 
Bitcoin - Introduction, Technical Aspects and Ongoing Developments
Bernhard Haslhofer
 
[22/03/2016] Conférence : Blockchain, disruption & révolution
Silicon Comté
 
Blockchain Use Cases: Think of a "Public" Pub/Sub Queue
Altoros
 
IoT, Fog Computing and the Blockchain
kumar641
 
Demystifying Blockchains
_hd
 
IBM ADEPT
_hd
 
Blockchain in IoT and Other Considerations by Dinis Guarda
Dinis Guarda
 
Ad

Similar to Scorex, the Modular Blockchain Framework (20)

PDF
Blockchain with scala
Hongchao Liu
 
PDF
An Introduction to Upgradable Smart Contracts
Mark Smalley
 
PDF
Ibp technical introduction
LennartF
 
PDF
Blockchain development 101
Adrià Batlle
 
PDF
Smart contracts in Solidity
Felix Crisan
 
PDF
Hyperledger community update Feb 20, 2018
Arnaud Le Hors
 
PPTX
Deploy a blockchain web-app with Hyperledger Fabric 1.4 - Concepts & Code
Horea Porutiu
 
PDF
Deployablockchainwebappwithhyperledgerfabricpresentation 190820170703
Nevruz Mesut Sahin
 
PDF
Ethereum Smart Contracts on Hyperledger Fabric
Horea Porutiu
 
PPTX
Smart Contracts That Learn
Mike Slinn
 
PPTX
lecture7 blockchain ethereum mechanics 101
HariPurnama5
 
PPTX
Introduction to Hyperledger Composer
Simon Stone
 
PPTX
Enterprise Blockchain Developer Experience
Mofizur Rahman
 
PDF
Trust Data Sharing and Utilization Infrastructure for Sensitive Data Using Hy...
Koshi Ikegawa
 
PPTX
BlockchainConf.tech - Hyperledger overview
Pad Kankipati
 
PDF
Hyperledger community update 201805
Arnaud Le Hors
 
PDF
All about blockchain
V C
 
PDF
Wwc developing hyperledger applications v4
LennartF
 
PDF
Blockchain Educational Framework - Course Overview
Gokul Alex
 
PPTX
Blockchain Blockchain Blockchain Lec 2.1.pptx
nsyd08384
 
Blockchain with scala
Hongchao Liu
 
An Introduction to Upgradable Smart Contracts
Mark Smalley
 
Ibp technical introduction
LennartF
 
Blockchain development 101
Adrià Batlle
 
Smart contracts in Solidity
Felix Crisan
 
Hyperledger community update Feb 20, 2018
Arnaud Le Hors
 
Deploy a blockchain web-app with Hyperledger Fabric 1.4 - Concepts & Code
Horea Porutiu
 
Deployablockchainwebappwithhyperledgerfabricpresentation 190820170703
Nevruz Mesut Sahin
 
Ethereum Smart Contracts on Hyperledger Fabric
Horea Porutiu
 
Smart Contracts That Learn
Mike Slinn
 
lecture7 blockchain ethereum mechanics 101
HariPurnama5
 
Introduction to Hyperledger Composer
Simon Stone
 
Enterprise Blockchain Developer Experience
Mofizur Rahman
 
Trust Data Sharing and Utilization Infrastructure for Sensitive Data Using Hy...
Koshi Ikegawa
 
BlockchainConf.tech - Hyperledger overview
Pad Kankipati
 
Hyperledger community update 201805
Arnaud Le Hors
 
All about blockchain
V C
 
Wwc developing hyperledger applications v4
LennartF
 
Blockchain Educational Framework - Course Overview
Gokul Alex
 
Blockchain Blockchain Blockchain Lec 2.1.pptx
nsyd08384
 
Ad

Recently uploaded (20)

PDF
01-introduction to the ProcessDesign.pdf
StiveBrack
 
PDF
CLIP_Internals_and_Architecture.pdf sdvsdv sdv
JoseLuisCahuanaRamos3
 
PDF
Rapid Prototyping for XR: Lecture 6 - AI for Prototyping and Research Directi...
Mark Billinghurst
 
PDF
NFPA 10 - Estandar para extintores de incendios portatiles (ed.22 ENG).pdf
Oscar Orozco
 
PPTX
Precooling and Refrigerated storage.pptx
ThongamSunita
 
PDF
تقرير عن التحليل الديناميكي لتدفق الهواء حول جناح.pdf
محمد قصص فتوتة
 
PDF
May 2025: Top 10 Read Articles in Data Mining & Knowledge Management Process
IJDKP
 
PDF
Rapid Prototyping for XR: Lecture 2 - Low Fidelity Prototyping.
Mark Billinghurst
 
PDF
How to Buy Verified CashApp Accounts IN 2025
Buy Verified CashApp Accounts
 
PDF
Rapid Prototyping for XR: Lecture 3 - Video and Paper Prototyping
Mark Billinghurst
 
PPTX
How to Un-Obsolete Your Legacy Keypad Design
Epec Engineered Technologies
 
PDF
輪読会資料_Miipher and Miipher2 .
NABLAS株式会社
 
PDF
Validating a Citizen Observatories enabling Platform by completing a Citizen ...
Diego López-de-Ipiña González-de-Artaza
 
PPTX
Kel.3_A_Review_on_Internet_of_Things_for_Defense_v3.pptx
Endang Saefullah
 
PPTX
Introduction to File Transfer Protocol with commands in FTP
BeulahS2
 
PPTX
MATERIAL SCIENCE LECTURE NOTES FOR DIPLOMA STUDENTS
SAMEER VISHWAKARMA
 
PPTX
FSE_LLM4SE1_A Tool for In-depth Analysis of Code Execution Reasoning of Large...
cl144
 
PDF
Generative AI & Scientific Research : Catalyst for Innovation, Ethics & Impact
AlqualsaDIResearchGr
 
PPTX
Bharatiya Antariksh Hackathon 2025 Idea Submission PPT.pptx
AsadShad4
 
PDF
Rapid Prototyping for XR: Lecture 5 - Cross Platform Development
Mark Billinghurst
 
01-introduction to the ProcessDesign.pdf
StiveBrack
 
CLIP_Internals_and_Architecture.pdf sdvsdv sdv
JoseLuisCahuanaRamos3
 
Rapid Prototyping for XR: Lecture 6 - AI for Prototyping and Research Directi...
Mark Billinghurst
 
NFPA 10 - Estandar para extintores de incendios portatiles (ed.22 ENG).pdf
Oscar Orozco
 
Precooling and Refrigerated storage.pptx
ThongamSunita
 
تقرير عن التحليل الديناميكي لتدفق الهواء حول جناح.pdf
محمد قصص فتوتة
 
May 2025: Top 10 Read Articles in Data Mining & Knowledge Management Process
IJDKP
 
Rapid Prototyping for XR: Lecture 2 - Low Fidelity Prototyping.
Mark Billinghurst
 
How to Buy Verified CashApp Accounts IN 2025
Buy Verified CashApp Accounts
 
Rapid Prototyping for XR: Lecture 3 - Video and Paper Prototyping
Mark Billinghurst
 
How to Un-Obsolete Your Legacy Keypad Design
Epec Engineered Technologies
 
輪読会資料_Miipher and Miipher2 .
NABLAS株式会社
 
Validating a Citizen Observatories enabling Platform by completing a Citizen ...
Diego López-de-Ipiña González-de-Artaza
 
Kel.3_A_Review_on_Internet_of_Things_for_Defense_v3.pptx
Endang Saefullah
 
Introduction to File Transfer Protocol with commands in FTP
BeulahS2
 
MATERIAL SCIENCE LECTURE NOTES FOR DIPLOMA STUDENTS
SAMEER VISHWAKARMA
 
FSE_LLM4SE1_A Tool for In-depth Analysis of Code Execution Reasoning of Large...
cl144
 
Generative AI & Scientific Research : Catalyst for Innovation, Ethics & Impact
AlqualsaDIResearchGr
 
Bharatiya Antariksh Hackathon 2025 Idea Submission PPT.pptx
AsadShad4
 
Rapid Prototyping for XR: Lecture 5 - Cross Platform Development
Mark Billinghurst
 

Scorex, the Modular Blockchain Framework

  • 1. Bitcoin Summer School Scorex, the Modular Blockchain Framework Alexander Chepurnoy (aka kushti) @chepurnoy IOHK Research
  • 2. Section 1. „Scorex In General“
  • 3. Use Cases ● Implement new consensus protocol and plug it easily into a prototypical blockchain system to run a system against a testbed ● In the same way, implement and spread a proof-of-concept impl. for anew transactional language
  • 4. Use Cases ● Proof-of-Stake protocols ● Permacoin implementation
  • 5. The Problem ● Bitcoin(reference impl): > 80K lines of C++ code ● EthereumJ: > 55K of Java code ● Nxt: > 40K lines of Java code ● Every codebase is highly optimized for a concrete production environment
  • 6. The Problem ● It is hard to locate, inject, swap functionalities ● Hard to make experiments/prototypes
  • 7. Scorex in General ● Find fast where to inject ● Modular stacked design ● Externalised cryptography(scrypto) ● One testnet application atm(Lagonaki)
  • 8. Scorex in General, pt 2 ● Everything is open-sourced immediately ● CC0 license ● Maintained by IOHK Research
  • 9. Competitors Intel's „Sawtooth Lake“ (https://github.com/IntelLedger) „a highly modular platform for building, deploying and running distributed ledgers" (Intel Corp.)
  • 10. Intel's „Sawtooth Lake“ ● Consensus / „transaction family“ ● Proof of Elapsed Time (Intel SGX) ● Assets marketplace ● Python ● Apache License 2.0
  • 11. Section 2. „Scorex In Details“
  • 12. Scorex is in Scala ● Functional language, strict static typing ● JVM ● Could be enhanced with any JVM language(Java, Clojure, Kotlin, Groovy, Jython, Frege etc)
  • 13. Development Philosophy ● Flexible design could be hard to understand ● Simple code could be not flexible or error-prone ● We need to find a balance! ● Give a maximum for free!
  • 14. Design In General ● Compact core – always for free ● Consensus module - implement or take ready ● Transactional module - implement or take ready ● Network protocols – partly for free ● API – partly for free ● Application – lean! ● Wallet, configs – partly for free
  • 15. A Module ● Writes and reads certain block parts ● Implements corresponding interface
  • 16. Code Quality ● Compact code, strict types ● Good test coverage(70-80%) ● Continuous integration
  • 17. Getting Started ● Docs on GitHub: https://github.com/ScorexProject/Scorex/wiki/Getting-started ● Java 8 SDK ● sbt is recommended for Scala
  • 18. Adding Modules libraryDependencies ++= Seq( "org.consensusresearch" %% "scorex-basics" % "1.+", "org.consensusresearch" %% "scorex-consensus" % "1.+", "org.consensusresearch" %% "scorex-transaction" % "1.+" ) scorex-basics -core scorex-consensus - two Proof-of-Stake consensus protocols scorex-transaction – simplest transactions
  • 19. Adding Modules libraryDependencies ++= Seq( "org.consensusresearch" %% "scorex-basics" % "1.+", "org.consensusresearch" %% "scorex-perma" % "1.+", "org.consensusresearch" %% "scorex-transaction" % "1.+" ) scorex-perma – Permacoin consensus protocol implementation
  • 20. Application - modules class MyApplication(val settingsFilename: String) extends Application { // Your application config override val applicationName = "my cool application" override val appVersion = ApplicationVersion(0, 1, 0) override implicit lazy val settings = new Settings with TransactionSettings { override val filename: String = settingsFilename } // Define consensus and transaction modules of your application override implicit lazy val consensusModule = new NxtLikeConsensusModule() override implicit lazy val transactionModule = new SimpleTransactionModule()(settings, this)
  • 21. Application - API // Define API routes of your application override lazy val apiRoutes = Seq( BlocksApiRoute(this), TransactionsApiRoute(this), NxtConsensusApiRoute(this), WalletApiRoute(this), PaymentApiRoute(this), UtilsApiRoute(this), PeersApiRoute(this), AddressApiRoute(this) ) // API types are required for swagger support override lazy val apiTypes = Seq( typeOf[BlocksApiRoute], typeOf[TransactionsApiRoute], typeOf[NxtConsensusApiRoute], typeOf[WalletApiRoute], typeOf[PaymentApiRoute], typeOf[UtilsApiRoute], typeOf[PeersApiRoute], typeOf[AddressApiRoute] )
  • 22. Application – network protocols // Create your custom messages and add them to additionalMessageSpecs override lazy val additionalMessageSpecs = TransactionalMessagesRepo.specs // Start additional actors actorSystem.actorOf(Props(classOf[UnconfirmedPoolSynchronizer], this)) }
  • 23. Launch The Application object MyApplication extends App { // Provide filename by command-line arguments val filename = args.headOption.getOrElse("settings.json") // Create application instance val application = new MyApplication(filename) // Run it application.run() // Generate account in your wallet if (application.wallet.privateKeyAccounts().isEmpty) application.wallet.generateNewAccounts(1) }
  • 24. UI
  • 25. Settings https://github.com/ScorexProject/Scorex/wiki/Settings { "p2p": { "bindAddress": "0.0.0.0", "upnp": false, "upnpGatewayTimeout": 7000, "upnpDiscoverTimeout": 3000, "port": 9084, "knownPeers": [ "23.94.190.226:9185" ], "maxConnections": 10 }, "walletDir": "/tmp/scorex/wallet", "dataDir": "/tmp/scorex/data", "rpcPort": 9085, "rpcAllowed": [], "maxRollback": 100, "blockGenerationDelay": 0, "genesisTimestamp": 1460952000000, "apiKeyHash": "GmVvcpx1BRUPDZiADbZ7a6zgQV3Sgj2GhNoEiTH9Drdx", "cors": false }
  • 26. Lagonaki ● Permacoin implementation ● Simplest transactional module, account-2-account payments
  • 27. Launch Lagonaki ● docker run -i -p 9085:9085 "scorex/lagonaki:1.2.7" ● debian package ● https://github.com/ScorexProject/Lagonaki
  • 29. Run own network ● src/main/resources/lagonaki.conf app { product = "Scorex" release = "Lagonaki" version = "1.2.7" consensusAlgo = "perma" }
  • 31. 1.2.7 → 1.3.0 ● Flexible state models(now account-based) ● Flexible signing schemes(now EdDSA-25519 only)
  • 32. Ergaki ● Blockchain for protocols ● Rollerchain implementation: safely prunable fullblocks ● Σ-coin implementation: wide class of NIZKPoK for DLOG statements ● Rent-a-Box fee model ● Improved difficulty adjustment
  • 33. Scrypto ● Еncoding functions(Base16/58/64) ● Hash functions(Blake2, Keccak etc) ● 25519 from WhisperSystems ● Authenticated data structures(Merkle trees, authenticated skiplists coming in next release)
  • 35. Contribution ● Comments ● Todos (search for „todo:“) ● Documentation ● Bugs ● Bitcoin UTXO model implementation (BitcoinJ) ● EVM implementation (EthereumJ)
  • 36. Reach Us ● Maillist https://scorex-dev.groups.io/g/main ● GitHub https://github.com/ScorexProject ● https://iohk.io/team/