Skip to main content
DigiByte SegWit Transaction

Why We Support SegWit for DigiByte

- Written by Jared Tate, DigiByte blockchain creator.

SegWit could very well be one of the most significant and exciting paradigm shifts we have seen in blockchain development over the past decade of blockchain research & innovation. It is our belief that SegWit opens a whole new world of possibilities that will greatly accelerate the pace of global adoption for the revolutionary new technology of blockchain. SegWit has the potential to bring Ethereum-like “smart contracts” and developments to the rigidity and security proven by decentralized, proof of work UTXO based blockchains such as Bitcoin, Litecoin and DigiByte.

Before we go into the specific reasons on SegWit's powerful impact on DigiByte, it is important to first frame this conversation in the context of how DigiByte began and why it was created.

The Genesis block for DigiByte was hashed from the following news headline:
USA Today: 10/Jan/2014, Target: Data stolen from up to 110M customers
View In Code Here

This was chosen with an understanding that the current Internet architecture for securely handling financial transactions and data was broken, and a new paradigm shift was needed in the way we design applications on the Internet and transmit data. A true public decentralized blockchain is the solution to this architectural problem, especially when it comes to data.

This is where the name “Digi–Byte” came from… literally a digital byte of data, without a specific focus on currency.

You store & send data in megabytes & gigabytes, why not secure data and send money in DigiBytes?

We are truly dedicated to the awesome power a decentralized blockchain such as DigiByte offers the world to transmit, hash and secure data such as documents, contracts, music, art, email etc.

Since the beginning, we have made several changes to the DigiByte protocol over four separate hard forks during the past three years. We have taken several proven enhancements and packaged them together to create the fastest, most secure and scalable decentralized blockchain in the world. SegWit is the next evolution of this philosophy.

So Why SegWit for DigiByte?


Transaction Malleability Fix

Have you ever wondered why you have to wait for multiple 'confirmations' for a transaction to be 'confirmed'? This is due to the malleability issue found in all UTXO-based blockchains. DigiByte is affected by this issue just like Bitcoin or Litecoin. Here is a quick malleability summary from Bitcoin Core's page on SegWit benefits:
Bitcoin (DigiByte) transactions are identified by a 64-digit hexadecimal hash called a transaction identifier (txid) which is based on both the coins being spent and on who will be able to spend the results of the transaction.

Unfortunately, the way the txid is calculated allows anyone to make small modifications to the transaction that will not change its meaning, but will change the txid. This is called third-party malleability. BIP 62 (“dealing with malleability”) attempted to address these issues in a piecemeal manner, but was too complicated to implement as consensus checks and has been withdrawn.

For example, you could submit a transaction with txid ef74…c309 to the network, but instead find that a third-party, such as a node on the network relaying your transaction, or the miner who includes your transaction in a block, modifies the transaction slightly, resulting in your transaction still spending the same coins and paying the same addresses, but being confirmed under the completely different txid 683f…8bfa instead.

More generally, if one or more of the signers of the transaction revise their signatures then the transaction remains valid and pays the same amounts to the same addresses, but the txid changes completely because it incorporates the signatures. The general case of changes to signature data (but not the outputs or choice of inputs) modifying the transaction is called scriptSig malleability.

Segwit prevents third-party and scriptSig malleability by allowing (DigiByte) users to move the malleable parts of the transaction into the transaction witness, and segregating that witness so that changes to the witness does not affect calculation of the txid.

Blockchain Leadership & Pioneering Spirit

Just as when DigiByte pioneered asymmetrical difficulty adjustment with DigiShield and was the first single algo blockchain to fork to MultiAlgo mining, we are now on the verge of pioneering another change.

DigiByte may still be the first public, decentralized UTXO-based blockchain to activate SegWit. This puts DigiByte in a unique position to provide a platform to help developers test out new ideas and applications on top of DigiByte's blockchain. We warmly welcome new developers and individuals to the DigiByte community to help us test out SegWit and explore new possibilities together.

MultiAlgo Mining + SegWit Wambo Combo

DigiByte currently has five separate mining algorithms. This allows for a much greater decentralization of mining. We also have the ability to easily swap out one of our algos if mining becomes too centralized. Currently, we have an ongoing discussion in our community for doing this with some of our existing mining algos.

If you take all the mining hash in the world currently pointed toward Bitcoin on Sha256, and instead point it toward the DigiByte blockchain, our quick difficulty adjustment code plus multi-algo mining would easily thwart a 51% attack. The result would be that miners on the other four algos would still be on an equal footing as compared with the 100's of millions of U.S. dollars in sha256 ASIC mining equipment. In order for an attacker to hard fork DigiByte, the attacker would need to control 93% of the hash rate on 1 algo, and 51% of the other four, making DigiByte much more secure against PoW attacks than other blockchains.

A combination of the security benefits from multi-algorithm mining + blockchain speed with 15 second blocks + SegWit provides a very attractive platform for developers to start building applications on top of DigiByte.

DigiByte is already 40 times faster than Bitcoin and is five times more decentralized. With the addition of SegWit, we get a super scalable, fast and secure blockchain on steroids.

Increased Security, Capacity, Speed & More

To prevent this page from becoming too long please view Core's detailed release notes on additional SegWit benefits here, they all apply to DigiByte as well. Here are a few highlights from that page:
Estimates based on the transactions currently found in blocks indicate that if all wallets switch to using segwit, the network will be able to support about 70% more transactions.

Bitcoin (DigiByte) addresses (both P2PKH addresses that start with a ‘D’ and P2SH addresses that start with a ‘3’) use a hash function known as RIPEMD-160. For P2PKH addresses, this provides about 160 bits of security—which is beyond what cryptographers believe can be broken today. But because P2SH is more flexible, only about 80 bits of security is provided per address. Although 80 bits is very strong security, it is within the realm of possibility that it can be broken by a powerful adversary. Segwit allows advanced transactions to use the SHA256 hash function instead, which provides about 128 bits of security (that is 281 trillion times as much security as 80 bits and is equivalent to the maximum bits of security believed to be provided by Bitcoin's (DigiByte’s) choice of parameters for its Elliptic Curve Digital Security Algorithm [ECDSA]).

Segwit makes it easy for future soft forks to allow Bitcoin (DigiByte) users to individually opt-in to almost any change in the Bitcoin Script language when those users receive new transactions. Features currently being researched by Bitcoin Core contributors that may use this capability include support for Schnorr signatures, which can improve the privacy and efficiency of multisig transactions (or transactions with multiple inputs), and Merklized Abstract Syntax Trees (MAST), which can improve the privacy and efficiency of scripts with two or more conditions.

Smart Contracts

Once the transaction malleability issue has been addressed for DigiByte, a whole new world of "smart contracts" opens for DigiByte. A great summary for how SegWit makes the development of smart contracts can be found here and here.
Elimination of unwanted transaction malleability: Segregating the witness allows both existing and upgraded software to calculate the transaction identifier (txid) of transactions without referencing the witness, which can sometimes be changed by third-parties (such as miners) or by co-signers in a multisig spend. This solves all known cases of unwanted transaction malleability, which is a problem that makes programming Bitcoin(DigiByte) wallet software more difficult and which seriously complicates the design of smart contracts for (DigiByte).

Lightning Network

Once SegWit is activated it becomes possible to set up a Lighting Network on top of DigiByte. Learn more about Lighting Network here, and read the summary below:
Instant Payments. Lightning-fast blockchain payments without worrying about block confirmation times. Security is enforced by blockchain smart-contracts without creating a on-blockchain transaction for individual payments. Payment speed measured in milliseconds to seconds.

Scalability. Capable of millions to billions of transactions per second across the network. Capacity blows away legacy payment rails by many orders of magnitude. Attaching payment per action/click is now possible without custodians.

Low Cost. By transacting and settling off-blockchain, the Lightning Network allows for exceptionally low fees, which allows for emerging use cases such as instant micropayments.

Cross Blockchains. Cross-chain atomic swaps can occur off-chain instantly with heterogeneous blockchain consensus rules. So long as the chains can support the same cryptographic hash function, it is possible to make transactions across blockchains without trust in 3rd party custodians. Lightning is a decentralized network using smart contract functionality in the blockchain to enable instant payments across a network of participants.

Cross Chain Transactions

Exciting possibilities exist for DGB when considering cross chain transactions with other blockchains. Charlie Lee (Litecoin creator) sums this point up well with his post on his vision for Segwit. Think of the possibility to trade DigiBytes cross chain with Bitcoin, Litecoins or other UTXO SegWit enabled chains. This truly opens the door for decentralized exchanges. Charlie Lee had this to say:
Another benefit is atomic cross-chain transactions via LN. Two users can trade BTC and LTC instantaneous and without risk. Efficient decentralized exchanges are now possible. Or what if a merchant accepts only BTC but you only have LTC. You can now pay LTC and exchange them instantly through a LN exchange node and send BTC to the merchant. That’s basically decentralized ShapeShift. One last thing I thought of recently is the ability to balance lopsided payment channels on both lightning networks. There are probably millions of other cool things that SegWit and LN open up that we have yet scratched the surface of.

Decentralized Data Exchanges

As stated above, with the ability to do cross chain transactions, a whole new world of decentralized exchanges can occur. Now imagine the possibility of decentralized data exchanges beyond simple financial transactions, where you can securely pass the rights and access to a document, video or song from blockchain to blockchain. Decentralized financial transactions are only the beginning. The real power lays in decentralized data transfers between devices... even embedded devices and hardware.

Questions & Concerns About SegWit

What are the four soft fork phases?

DigiByte soft forks will be carried out in accordance with Bip 9 implementation as defined here
The five possible threshold states are: THRESHOLD_DEFINED -> THRESHOLD_STARTED -> THRESHOLD_LOCKED_IN -> THRESHOLD_ACTIVE -> THRESHOLD_FAILED

What does it take to activate SegWit on DigiByte?

70% of all mined blocks must signal they support SegWit for one week.
Parameters are defined here

What is the soonest SegWit could be activated?

The soonest SegWit could be activated for DGB is about 9 days from date of this post. Around April 21-23rd.

Will DGB wallets start sending SegWit transactions immediately after activation?

No, absolutely not. SegWit transactions still need to be manually created via rpc command line.

What does a SegWit transaction look like?

See image above at the top of this post.

How do I track the status of SegWit activation?

You can track it here on this website.
Or run the following command in your DigiByte-Qt Debug Console:
"getblockchaininfo"

How long until wallets and applications actively use SegWit?

It will be years before the full extent of applications for SegWit transactions will be discovered and implemented. However, we should see some exciting stuff in the next few months.
Join us or view the live DigiByte Rountable SegWit release discussion here on YouTube