Luxcore March 9, 2021 — Codebase Upgrade

LUXCORE
Luxcore
Published in
4 min readMar 9, 2021

--

Now that RX2 has been released, we can start to talk more about our next updates. One thing on our top priorities list is a codebase upgrade.

LUX Codebase Upgrade

LUX is a Bitcoin-based cryptocurrency (meaning LUX started with the Bitcoin codebase as it’s core). While LUX is very unique and offers a variety of features Bitcoin does not, the core Bitcoin codebase is still there. Bitcoin has made optimizations and other positive changes to its codebase to improve speed and efficiency. These upgrades need to be made in the LUX code as well to improve efficiency of our wallets. While LUX wallets work fine for average users, some use cases would definitely benefit from the code improvements. This would largely affect exchanges, pools, and some masternode owners. It would also drastically improve the performance and reliability of the web wallet. The LUX proof-of-staking web wallet is a service offered by Luxcore that many of our users take advantage of for 24/7 staking. The codebase upgrade would help us to maintain this service at the high standards we want to set.

What’s involved with the upgrade?

We will begin implementing the new Bitcoin codebase into LUX’s code. We will need to make sure the code changes are fully compatible with LUX’s unique features and then do some thorough testing before rolling it out.

What’s in this upgrade?

  • Upgrade codebase to include improvements up to Bitcoin core 0.20.1

Introduction of Cold Staking

The high-level design goals for cold (offline) staking are:

  • Non-custodial staking solution where the user retains exclusive control of their private keys.
  • UTXOs for delegated addresses are not locked and can be sent or solo staked at any time.
  • Users can set the fee they will pay for the staking services provider, who may accept that fee.
  • Coinstake protocol modification to provide instant payout of block rewards with split for fee payment.
  • Staking services providers must be online and commit a stake to obviate the “nothing at stake” problem.
  • Develop multiple client solutions with easy to use delegation/undelegation assignment.
  • Since offline staking will delegate the UTXO set of an address to be staked by another online node, “estimated time” to a block reward will work as currently (with variance). Delegated staking is not pool staking.

What is cold (offline) staking?

In a nutshell, cold staking allows users to delegate their tokens to an online node from their wallet, which will stake for them.

It eliminates the need for stakers to maintain a full online node as they now have the option to delegate their LUX to what is known as a “super staker” node to obtain the staking rewards. The best thing about this is that the super staker has zero methods to spend the delegated coins and only use them for staking the network.

This presents a method for LUX holders to keep their wallets offline in what is known as a “cold wallet” — which is where the term “cold staking” comes from. The LUX holder will be totally “air-gapped” from the network, which provides no vector for any hacker to enter their wallet and spend their coins. LUX holders can take their security one step further by holding their tokens on a hardware wallet such as a Ledger Nano while still delegating their tokens to a super staker and receive the rewards.

The super stakers are essential in this environment. These are LUX users who provide the “Cold Staking” service that configures their full online nodes to allow users to delegate tokens to them. As you would expect, the super stakers will also take a small fee from the staking rewards before distributing them to their relevant counterparties.

The offline staking delegation is all handled by smart contracts — so users can go through the smart contract code themselves if they need to settle any concerns they might have. It is important to note that the delegating user only utilizes the smart contract to provide “staking rights” to the super staker. They are not sending their coins to the smart contract, nor are they locking their coins up. Instead, they can benefit from the offline staking while maintaining full control of their assets.

Upgrade to the Ethereum Constantinople version of EVM

The EVM upgrade is mostly about 4 main additions, but will also stabilize our smart contract layer considerably and allow us to use its full potential.

  • EIP 145: Developed by two ethereum developers, Alex Beregszaszi and Pawel Bylica which introduces a native ‘bitwise shifting’ that can run through bytecode at a cost which is similar to other arithmetic operations.
  • EIP 1052: Offers a means of optimized large-scale code execution on ethereum. This will allow only the compressed code containing essential contract data is checked, as opposed to the whole code. This was authored by Nick Johnson and Bylica.
  • EIP 1283: This EIP is based on EIP 1087 which was again written by Nick Johnson. This EIP helps in reducing the amount of gas developers need to pay to run and execute their smart contracts by cutting off excessive and unnecessary gas usage.
  • EIP 1014: This EIP was created by Vitalik Buterin himself. This will basically help Ethereum to leverage state channels to enable them to communicate with off-chain addresses. This will help in the scalability of the entire system.

We are excited for the coming codebase upgrade and all the new features, improvements, and optimizations it will bring as well as future enhancements we will be able to add. While we are starting on the codebase process, we are also moving forward with the next step for Luxgate to get it in the hands of more users so stay tuned for more information on that!

Website: https://luxcore.io/
Facebook: https://facebook.com/LuxcoreTeam
Twitter: https://twitter.com/LUX_COIN
Github: https://github.com/LUX-Core
Reddit: https://www.reddit.com/r/LUXCoin/
Telegram: https://t.me/LUXcoreOfficialChat
Discord: https://discord.gg/luxcore
Bitcointalk: https://bitcointalk.org/index.php?topic=5317725.0

--

--