Public code release of Abelian v1.0a (Alpha) source code (codename “Aoraki”)

Abelian Foundation
Abelian
Published in
4 min readJul 2, 2019

Abelian is a cryptocurrency platform, which aims to achieve both privacy and accountability using post-quantum cryptographic techniques. Traditional cryptocurrencies use pseudonyms and achieve limited anonymity as transactions on the cryptocurrency platforms are traceable. The Abelian platform is developing and adopting well-studied cryptographic algorithms with their security being based on hard problems such as Learning With Errors (LWE), which are as hard to solve as several worst-case lattice problems, and are not known to have any efficient solution in quantum computing.

Today we are proud to announce Abelian testnet v1.0a, codenamed “Aoraki”, to the public and extremely excited to continue the journey towards our full mainnet release.

We are excited to invite dedicated developers and guru to join our Abelian development community and contribute. Without you, Abelian won’t be able to become the next generation privacy coin with accountability in the post-quantum era.

Abelian Development updates

During the last few months, the Abelian team has been working on the core parts of the wallet and blockchain protocol to prepare for the first public release of testnet. The team have decided on forking Monero v0.13 as basis for the Abelian codebase, and have successfully integrated the “Dilithium” signature scheme from pq-crystals in our codebase, completed initial modification of the blockchain storage (modified lmdb, on going in berkley_db), wallet function modifications, transaction format modification, JSON-RPC/serialization, some workarounds to cater the absence of key images and ring signatures and etc.

For the last few weeks, the team is focused on bug fixing and tracking, developing test suites for automation, and preparing some peripheral tools for the Abelian protocol, like a GUI Wallet and block explorer.

Introducing Aoraki

We are thrilled to share with you testnet v1.0a codenamed “ Aoraki”. The Abelian source is still on the alpha release stage and we are opening it for the community to evaluate, help us find and fix bugs, and contribute to the whole development of the Abelian core code. You can find the alpha release version of the code at Github: github.com/abelian-foundation

Please note that this is the first open sourced release of the Abelian codebase, though we have been extremely trying our best to fix bugs, and make the whole application stable, there are still some glitches that may happen during the test. The Team will continue updating the code and will post development updates in a weekly or monthly basis (depending on the significance of the change) on our Medium.

In the next few weeks, we aim to continue development on the project’s stability as well as add some tools that will improve the project’s testability.

What are you able to do in this release?

The community can now do the following in this release:

1. Run a node: The team has initially deployed 4 VPS VMs to have been testing on block sizes, block propagation, and behavior. The team also did a pre-mine to see if a new incoming node can properly download the blockchain without any errors.

2. Send Transactions: The abelian-wallet-cli is a working not so stable command line wallet able to transfer and receive transactions.

3. Mine on Abelian: We are still using the CryptoNight PoW algorithm from Monero’s v0.13. It is possible to mine with the Abelian command line wallet, but the team is finding other methods in mining the blockchain.

What are you not(yet) able to do in this release?

The team would like to further clarify the community that the following features will not work in this release:

1. Creating subaccounts or addresses: During the Dilithium integration creating subaccounts and addresses were broken because of the absence of some functionalities and we are finding solutions to make this feature work.

2. Transferring with large output size (might work/might not work): The large key sizes have some negative effect on transaction creation, so there is some unstable behavior when doing very large transfers and very large output sizes.

3. Verifying outputs: Output verification still has not yet been tested well, and hopefully the next month or so we will have this functionality working.

4. Multisig: We don’t have any support for Multisig transactions.

5. Sign file: This is still under development and will post some more updates in the next few weeks.

These are some wallet functionalities that did not work because of Dilithium changes, the team might have missed some more functionalities.

Some major note regarding the transaction format changes: When trying to print out the transaction JSON, you will notice that there are random key fields in both vin and vout. This is a workaround for the output key and key image uniqueness, since as of right now, we are still under research to find a way to make use of the output index to derive a key to achieve uniqueness.

Minimum system requirements

To run Abelian, we recommend the following minimum system requirements:

· x64 based OS is highly recommended

· Recent dual processors

· 4 GB RAM

How to report issues and bugs?

We strongly recommend asking some technical and non-technical questions in our Slack channel.

Support

To learn more about Abelian and discuss the technical aspects, feel free to connect within one of our official channels below:

Slack: abelian-workspace.slack.com

Telegram: t.me/abeliancoin

Twitter: twitter.com/abeliancoin

Github: github.com/abelian-foundation

Medium: medium.com/abelian

--

--

Abelian Foundation
Abelian
Editor for

An Accountable Privacy initiative for the cryptocurrency industry. Read more about Abelian on our blog: medium.com/abelian