OPEN
Shares

OPEN Chain Update

Shares

Dear OPEN Community,

As our swap process finishes up, we are excited to share technical details and updates regarding the OPEN Chain.

Though the Platform has been completed and has been available for use, we wanted to in addition develop an open-sourced protocol that would provide the crypto ecosystem a modular, high-throughput blockchain that introduces a novel interoperable architecture. While some smart contract platforms exist, we see the space as very early, providing a golden opportunity for technically sound protocols built from the ground up to emerge over existing highly-marketed copies of Ethereum. The team is proud of the progress that has been made in this additional contribution to the ecosystem. While other projects may focus on their roadmaps we thought this additional contribution to the ecosystem would serve well bringing a faster, more interoperable solution to the market.

We wanted to detail some of the accomplished deliverables over the past 6 months from our first public Github release published on June 2018 to the end of December 2018 surrounding this project. You’ll find an explanation around notable components below that will provide some understanding.

 

OPEN Chain 1.0 – 1.5 Development Updates

We’ve made progress on a number of OPEN Chain components.

Core:

Transaction validation along with block capacity have both been developed. Ongoing improvements to transaction creation and validation are taking place in our private tests. Time synchronization and block synchronization have both been implemented. This will allow for quick verification of transaction history.


RPC:


The ability to vote and see sum votes has been included. Response pagination has also been improved.

 

Smart Contract:

We’ve added base initialization, base entities, base service interface, and samples. With smart contract generation, a test contract has also been conducted. Loading of this contract into JVM and basic validation has been performed which are important steps towards deploying live contracts on a public chain. We have recently included the contract executor as well.

 

Network:

Time synchronization protocol accuracy has been improved. New client info now broadcasts across the network and expired messages are filtered. Safeguards have been implemented for failed connection attempts.

We have made tremendous progress on OPEN Chain as shown through our GitHub releases. Please see below for a comprehensive list of our OPEN Chain releases with our first release on June 18th.  

Development

A release history can be found below to show consistent development by the team throughout the year. Release notes are provided as well as downloadbles along with the change log. Developments to the network layer, Core layer, RPC layer, Smart Contract layer and other components are described below. Additional details and notes will be provided in our end of year update.

 

OPEN Chain Releases (June 2018 – December 2018)

 

[1.5.0] – 2018-12-14 released this 15 days ago

Assets

Added

  • Smart contracts: contract basic executor

Changed

  • Sync: time synchronization based on ntp servers
  • Network: strict quantity of permanent connections
  • Network: in case of failed connection attempt, node is not allowed to retry connect for an hour
  • Network: node maintains minimum amount of connections, when there is a lack of them
  • Smart contracts: contract variable class validation is supplemented

Checksums

File Checksum (MD5)
open-chain-1.5.0.jar CA8AFE2FC3E3417BCA14725AF66C8A41
open-chain-1.5.0_installer-macos.dmg CF34CC0691D549227A7D5AABA87092F5
open-chain-1.5.0_installer-unix.sh 9B7FC1C675D96B0979A35FDEFCFD2441
open-chain-1.5.0_installer-windows-x64.exe 2FBD6FC5D59B5A3ECD93E739A4947950
open-chain-1.5.0_portable-unix.tar.gz AB93E00C035ADEA3AD2F7F85A5BFDB39
open-chain-1.5.0_portable-windows-x64.zip 84A12D352C60CB95FD00F2E16A7A247D

[1.4.0] – 2018-11-29 released this 26 days ago · 188 commits to master since this release

Assets

[1.4.0] – 2018-11-29

Added

  • Smart contracts: loading of a contract to JVM
  • Smart contracts: contract basic validation

Changed

  • Core: at chain synchronization a chain of blocks is requested instead of last block
  • Core: time synchronization is based on time-synchronized nodes

Checksums

File Checksum (MD5)
open-chain-1.4.0.jar CF7C3A68929977AA20B1257745BA51C8
open-chain-1.4.0_installer-macos.dmg 76DC48183A37713B0AC0EEF4C96ABC62
open-chain-1.4.0_installer-unix.sh D22640D355D1D6AAFEF2669F93494605
open-chain-1.4.0_installer-windows-x64.exe F07BD25215A9F4B9AC17E548E9270464
open-chain-1.4.0_portable-unix.tar.gz 3C081D155923D76DFF8EEFE870C9A0F7
open-chain-1.4.0_portable-windows-x64.zip 1F6A70A621BFAF5C7254291EEFC8FC25

[1.3.0] – 2018-11-16 released this on Nov 16 · 260 commits to master since this release

Assets

Added

  • Network: broadcast new client info over the entire network
  • Network: filtering expired messages

Changed

  • Network: removed heartbeat handler response
  • RPC: Response pagination improved

Checksums

File Checksum (MD5)
open-chain-1.3.0.jar AD0544C6C8EA6B680EC649AEF8E3E1CF
open-chain-1.3.0_installer-macos.dmg DA92516E8F7F7CDD6A369F13168C5F48
open-chain-1.3.0_installer-unix.sh 04BBC480AE6AF6F132641DDBCDFCD2A3
open-chain-1.3.0_installer-windows-x64.exe E259831A9C5A11F1F353AD8B751C77E7
open-chain-1.3.0_portable-unix.tar.gz 7F05D99662F002A43B9B463D1BD370D6
open-chain-1.3.0_portable-windows-x64.zip 2E47C9AD5A5EF3CBBCD7D72349861CD8

[1.2.0] – 2018-10-22  released this on Oct 22 · 292 commits to master since this release

Assets

Added

  • Smart contract: address generation utilities
  • Smart contract: test contract

Changed

  • Network: time synchronization protocol accuracy is increased
  • Communication Protocol: time synchronization messages are updated
  • Smart contract: base contract class structure

Checksums

File Checksum (MD5)
open-chain-1.2.0.jar 3CD32BA1C632DECD4A21EE978AACEA58
open-chain-1.2.0_installer-macos.dmg A9CCDD96916C9E183C4D80F6FE947F67
open-chain-1.2.0_installer-unix.sh 42660B0FFB0C40850C04FEFFA8918B33
open-chain-1.2.0_installer-windows-x64.exe F704D0E98A4C38265232D59026859B8F
open-chain-1.2.0_portable-unix.tar.gz 5DB44A7723EBA12CB5A34333329A0418
open-chain-1.2.0_portable-windows-x64.zip 8C065AE020934960206DD328BCC65257

[1.1.0] – 2018-10-11 released this on Oct 11 · 324 commits to master since this release

Assets

Added

  • Smart contract: base initialization
  • Smart contract: base entities
  • Smart contract: base service interface
  • Smart contract: samples
  • Core: unconfirmed balance check by unconfirmed transactions
  • Wallet UI: sorting transactions by timestamp in a reverse order

Changed

  • Core: transaction validation improved when creating a block
  • Core: update configuration file information when values change
  • Database: unconfirmed balance removed from wallets table

Checksums

File Checksum (MD5)
open-chain-1.1.0.jar 9185518283E2105804ADAA4464045808
open-chain-1.1.0_installer-macos.dmg C691E4C0AB1370EA50F1B49C09FBDC84
open-chain-1.1.0_installer-unix.sh 4CA6762F113CE6D701209B5FF2F4714D
open-chain-1.1.0_installer-windows-x64.exe 9A026D478815712518D35D832368C988
open-chain-1.1.0_portable-unix.tar.gz 57BE54FFFB9637529C56692A2976221C
open-chain-1.1.0_portable-windows-x64.zip C4CEB7305F75107933DC4040D4D42F10

[1.0.0] – 2018-09-25  released this on Sep 25 · 376 commits to master since this release

Assets

Added

  • Core: transaction validation
  • Core: transactions priority balancing
  • Core: block capacity
  • Database: tables indexes
  • RPC: recalled vote flag
  • RPC: vote date to “get all votes” response

Changed

  • SQLite database changed to H2
  • Core: unconfirmed balance calculation is improved

Checksums

File Checksum (MD5)
open-chain-1.0.0.jar 07AD4A54055F5D03D368E2D0FBF39272
open-chain-1.0.0_installer-macos.dmg F3853F74B55803073CCDD5275DBBDAFE
open-chain-1.0.0_installer-unix.sh E7E1BDC3009231F076FCDAF77D5DDF27
open-chain-1.0.0_installer-windows-x64.exe 19B8F4FE074BD14895360EE32897351D
open-chain-1.0.0_portable-unix.tar.gz 69770C6230BF2A069F1C2603132B14AB
open-chain-1.0.0_portable-windows-x64.zip 1E9CF7BB0375425624D2F9591B1D1538

Pre-release

[0.8.0] – 2018-09-07 released this on Sep 7 · 485 commits to master since this release

Assets

Added

  • Consensus: delegate public key field to a delegation transaction
  • RPC: delegate public key parameter to a delegation transaction request
  • Network: node ID as a network identifier
  • Core: unconfirmed output balance to a wallet
  • RPC: wallet address validation
  • RPC: node ID added to active delegate response
  • Wallet UI: Send delegate transaction
  • Wallet UI: Send vote transaction
  • Wallet UI: Transactions list

Changed

  • Network: addresses exploring mechanism
  • Network: nodes reconnection mechanism
  • Core: synchronization mechanism
  • Core: wallet balances calculation improved

Checksums

File Checksum (MD5)
open-chain-0.8.0.jar 4B7E5EEA269574212356575E5520A301
open-chain-0.8.0_installer-macos.dmg E81905A40F07F521A454EF50F1E38CA9
open-chain-0.8.0_installer-unix.sh 3EF518F71BFFE97DF6EBD163681A3B8D
open-chain-0.8.0_installer-windows-x64.exe BA22FD86FC7FADFC4108EDE46B020BA2
open-chain-0.8.0_portable-unix.tar.gz 4E4E2D2E1D7F3C94EBE9952B6649DC9C
open-chain-0.8.0_portable-windows-x64.zip 7214DD049DD18D402C14B2C570A27E57

Pre-release

[0.7.0] – 2018-08-31  released this on Aug 31 · 598 commits to master since this release

Assets

Added

  • Master nodes initiation as active delegates on chain start
  • Configuration file
  • Network: Greeting response message contains node’s external host

Changed

  • Node private key moved from a separate file to a configuration file
  • Network: Improved connection to active delegates
  • Core: Improved vote transaction validation when a wallet had already voted
  • Core: Empty block creation is allowed

Checksums

File Checksum (MD5)
open-chain-0.7.0.jar 26FEFD475CB4452B8C7E176400CD3149
open-chain-0.7.0_installer-macos.dmg 09B272EC508C6F8177E902CFD479521D
open-chain-0.7.0_installer-unix.sh 673F192465ED050420CF544475E716BB
open-chain-0.7.0_installer-windows-x64.exe 46473F4524D57216AF14C85E7864E67D
open-chain-0.7.0_portable-unix.tar.gz DF67EBB7BFC8690260653887CC5C243D
open-chain-0.7.0_portable-windows-x64.zip 18686FA3C843ACEE1A16CC8E6DEB86F2

Pre-release

[0.6.1] – 2018-08-27 released this on Aug 27 · 666 commits to master since this release

Assets

Added

  • Application properties for docker

Checksums

File Checksum (MD5)
open-chain-0.6.1.jar C1FFCF519D4A64118CD9D4EF1476E200
open-chain-0.6.1_installer-macos.dmg 2CFB265F5E45994FBF46F93D520FC169
open-chain-0.6.1_installer-unix.sh 66E66FCFD825EED86AF1008C29116FA6
open-chain-0.6.1_installer-windows-x64.exe B98E345C96A1A54954D0DBF607D3CC8A
open-chain-0.6.1_portable-unix.tar.gz FC371342BDC1DFF50BCF8878045D3DCC
open-chain-0.6.1_portable-windows-x64.zip 7D34B72E314DDED396E195FE944C4F84

Pre-release

[0.6.0] – 2018-08-24

evgeny-krylov released this on Aug 24 · 680 commits to master since this release

Assets

Added

  • Network: A UID for nodes
  • Sync: Up node synchronization
  • Sync: Application synchronization status
  • Sync: Check application synchronization status and start synchronization if need
  • RPC: Get explorer info
  • RPC: Get a list of blocks
  • RPC: Get a list of transactions
  • RPC: Main and genesis block endpoints unit tests
  • Wallet UI: Create a transaction
  • Wallet UI: Past transaction list

Changed

  • Core: Genesis and Main blocks are not broadcasted after creation, pending blocks are broadcasted instead
  • Core validation: Now it is impossible to create vote transaction on the nonexistent delegate
  • Core validation: Now it is impossible to generate a request of vote transaction with the nonexistent vote type
  • Core validation: Now it is impossible to create transactions with a negative fee
  • Core validation: Improved fee and amount validation for the transfer transaction
  • Core: Removed validation from main block service on adding a block
  • Core: Removed validation from genesis service on adding a block

Checksums

File Checksum (MD5)
open-chain-0.6.0.jar B387005436E09020322B5A2653FB84F3
open-chain-0.6.0_installer-macos.dmg 3CFBE76AA954DD632F975767D12FF28B
open-chain-0.6.0_installer-unix.sh 58E10612928001A45DA2C7DE204A22F5
open-chain-0.6.0_installer-windows-x64.exe AC081F5827EB50F41E195BCAF3FC2A14
open-chain-0.6.0_portable-unix.tar.gz FD91BE328ED3431BCFBBB0CB2F58D0FB
open-chain-0.6.0_portable-windows-x64.zip

 

[0.5.0] – 2018-08-10  released this on Aug 10 · 883 commits to master since this release

Assets

Added

  • Consensus: Intervals between time slots for synchronization
  • Consensus: Prevote stage on block creation
  • Consensus: Commit stage on block creation
  • Wallet UI: Generate a seed phrase
  • Wallet UI: Create a wallet
  • Wallet UI: Save wallet data in a file
  • Wallet UI: Protect the file with password
  • Wallet UI: Access wallet with file
  • Wallet UI: Restore wallet from a private key
  • Wallet UI: Restore wallet from the seed phrase
  • RPC: Total number of nodes connected to the network
  • RPC: Get number of current epoch
  • RPC: Get when the current epoch started
  • RPC: Get number of delegates
  • RPC: Get number of an epoch when the block was created
  • RPC: Import private key in hex format
  • RPC: Get transactions by wallet address

Changed

  • New file structure

Checksums

File Checksum (MD5)
open-chain-0.5.0.jar 4AFD9406736F557B8BB30DE981673D3C
open-chain-0.5.0_installer-macos.dmg 8193221AB7F60F4701FC52E1BC027167
open-chain-0.5.0_installer-unix.sh AC3EEB4BB88BC448B5381974D9954A68
open-chain-0.5.0_installer-windows-x64.exe C5233F489961A9885D348A12325F4E5C
open-chain-0.5.0_portable-unix.tar.gz 6B6C6B6A84622112A8DF3142A93CB375
open-chain-0.5.0_portable-windows-x64.zip 65AEC598D781D906825CD98B66524DDE

Pre-release

[0.4.0] – 2018-07-27 released this on Jul 27 · 1254 commits to master since this release

Assets

Added

  • Time slots mechanism
  • Delegate transaction
  • Vote/Recall vote transaction
  • Vote weight based on wallet balance
  • Reward transaction
  • Transaction sign
  • Delegate transaction verification
  • Vote/Recall vote verification
  • Reward transaction verification
  • Transaction fee
  • Genesis address defined in properties
  • Transactions fees are defined in properties
  • Reward for block creation is defined in properties
  • RPC: Add delegate transaction
  • RPC: Add vote/recall vote transaction
  • RPC: Add transfer transaction
  • RPC: Get delegates info
  • RPC: Page request filter
  • RPC: Application version and timestamp fields to all responses
  • TCP: Application version and timestamp fields to all packets
  • Database: unconfirmed transactions tables

Changed

  • Serialization mechanism to support kotlin classes
  • Transactions structure

Checksums

File Checksum (MD5)
open-chain-0.4.0.jar 171AEE45B4131AE25F017D1389F67C09
open-chain-0.4.0_installer-macos.dmg 04BF06B8586D56A697DFF185DD0D38A2
open-chain-0.4.0_installer-unix.sh 569D9681809179DB7667EA9FA491D63F
open-chain-0.4.0_installer-windows-x64.exe CD3AF132334151D2AC90B40ABE554940
open-chain-0.4.0_portable-unix.tar.gz 6DE841F4E67CDDAC39E78C53C7CCF7C2
open-chain-0.4.0_portable-windows-x64.zip 48B8A8D176085436257ADEA3B47FF441

Pre-release

[0.3.0] – 2018-07-13 released this on Jul 13 · 1459 commits to master since this release

Assets

Added

  • Address mixed-case checksum
  • Address validation
  • RPC requests: validateAddress
  • Vote transaction type
  • Voting algorithm mechanism
  • Voting storing
  • Delegate rating calculation
  • Active delegates storing
  • Wallet balance calculation
  • Database: added Wallet entity
  • RPC requests: getWalletBalance
  • Sign data
  • Verify signed data
  • Define epoch duration in properties
  • Get current epoch height
  • Check if genesis block is needed
  • Sharing peers between nodes
  • Maintaining necessary connections count
  • Connection establishing logic
  • Scheduled check of connections
  • Reconnection logic
  • Generating private and public key pairs on app start and saving in a file if not existing
  • Shuffle active delegates
  • Transaction Merkle hash calculation
  • Block production
  • Block validation
  • Block, transaction, signature conversion from protobuff to the business object and vice versa
  • Accumulation of signatures from nodes
  • Block approving
  • Block applying by scheduling

Changed

  • Default account info is added to the doGenerateMaster end-point response
  • doGenerateMaster end-point renamed to doRestore
  • Blocks are divided by types: GenesisBlock and MainBlock

Checksums

File Checksum (MD5)
open-chain-0.3.0.jar 8FAB1A77F8C836A9E78406F5F645F4BE
open-chain-0.3.0_installer-macos.dmg 9477B7E48F1558E9CC12AF335EE55528
open-chain-0.3.0_installer-unix.sh 0CD9E68407B949584CC2DC0953EFF5B1
open-chain-0.3.0_installer-windows-x64.exe 529BE770BF64216E3CE2EFDC9C007BF3
open-chain-0.3.0_portable-unix.tar.gz 8BA604CF2225CF1E3A687D564F3F887D
open-chain-0.3.0_portable-windows-x64.zip 4A4ED7104EA3C48030660858D26866DF

Pre-release

[0.2.0] – 2018-06-29 released this on Jun 29 · 1922 commits to master since this release

Assets

Added

  • Seed phrase generator
  • Seed phrase validator
  • Generate a master key with seed phrase
  • Key derivation algorithm
  • Get derivation key of master key by seed phrase and derivation path
  • Get a serialized public key value in base58 format from extended key
  • Get serialized private key value in base58 format from extended key
  • End-point: get a master key by seed phrase
  • End-point: get derivation key with an address of master key by seed phrase and derivation path
  • Extended private key serialization
  • Extended public key serialization
  • Export private key
  • Import private key
  • RPC requests: importKey
  • RPC requests: importKey in WIF (Wallet Import Format)
  • RPC requests: generateKey

Checksums

File Checksum (MD5)
open-chain-0.2.0.jar 450FFA2D861C90DE1911480D67D2B49E
open-chain-0.2.0_installer-macos.dmg 2391E8C01D1C3642FCA3AD3B7F029D77
open-chain-0.2.0_installer-unix.sh CFAECC239DF3BBF4931C7F13175F2CF9
open-chain-0.2.0_installer-windows-x64.exe 832ACBC09047EEA4D76C018171ABCC27
open-chain-0.2.0_portable-unix.tar.gz 48629EE0BB5EDE90B7582CBB60BA5E82
open-chain-0.2.0_portable-windows-x64.zip 9F1300C92987DA37287FD8E0CA3F19EA

Pre-release

[0.1.0] – 2018-06-18 released this on Jun 18 · 2199 commits to master since this release

Assets

Added

  • Setup Netty server for socket connection
  • Setup Netty clients for socket connection
  • Setup Netty server for HTTP
  • Binary serialization communication protocol
  • Binary deserialization communication protocol
  • Time synchronization
  • End-point chain stability check
  • Heartbeat implementation
  • Database structure
  • Database: setup database connection
  • Database: add Base entity
  • Database: add Block entity
  • Database: add Transaction entity
  • Database: setup repository for Block entity
  • Database: setup repository for Transaction entity
  • Service: define base service interface for Block entity
  • Service: define base service interface for Transaction entity
  • Service: add base implementation Block entity service
  • Service: add base implementation Transaction entity service
  • RPC requests: getVersion
  • RPC requests: getHardwareInfo
  • RPC requests: getTimestamp

Checksums

File Checksum (MD5)
open-chain-0.1.0.jar 3BD218B09D8B5FAA9AE8A8910E04B3DF
open-chain-0.1.0_installer-macos.dmg 5B6938500B7994079DD7056A82C9F7A1
open-chain-0.1.0_installer-unix.sh B5FE724F073F7D5531848BBD9C617558
open-chain-0.1.0_installer-windows-x64.exe 3F7EFBC7B025D22F9251CF00321D2240
open-chain-0.1.0_portable-unix.tar.gz 147AA8825DD638364EF7B2737C2405AA
open-chain-0.1.0_portable-windows-x64.zip EBB4769EE4E7BECDF0332CA776405016

 

Stay tuned for our end of year update!

About the Author open