Connect with us

# Solving WIF in a ‘hybrid’ mode

I would like to share with you one thing I found recently.

Published

on

The following content was written by PawGo on July 31, 2020, 07:57:23 AM in the thread Solving WIF in a ‘hybrid’ mode. All content is owned by the author of the bitcointalk.org post. (original)

Hello

I would like to share with you one thing I found recently – maybe you will give me a hint how to use it in the most effective way.
Recently I published my WIF Solver (https://github.com/PawelGorny/WifSolver) with several ways to ‘attack’ problem of missing characters. I would like to talk about method called JUMP. Please let me describe the method and then I will ask a question.
In the example in my project I use WIF L5EZftvrYaSud_____zTqLcHLNDoVn7H5HSfM9BAN6tMJX8oTWz6 (taken from a very helpful site learnmeabitcoin.com).
So, let’s take the WIF and replace missing characters by ‘1’, we will get:
L5EZftvrYaSud11111zTqLcHLNDoVn7H5HSfM9BAN6tMJX8oTWz6 and try to decode it. We will get a hex string, starting with ’80’ + priv key + compression flag + checksum. Lets call it hexInit
As we see, compression flag is incorrect – so something is wrong… Go on.
I focus on fact that for any correct WIF generated from the initial one, after decoding there must be a flag ’01’ and given checksum. Now, let’s jump to the first missing character on the right. We may say, that when we iterate Base58 characters in fact we increase our hex number (08+priv+01+checksum) by 58^34. But I realized that adding 58^34 to hexInit will change the last bytes – checksum and compression. I asked myself – is there a combination which will set ’01’ + expected checksum again (I mean not only in the real WIF which we look for?).
So I add 58^34 several times and yes! WIF: L5EZftvrYaSud1111uzTqLcHLNDoVn7H5HSfM9BAN6tMJX8oTWz6 produces desired ending.
(in fact I check existence of flag ’01’ and not the full checksum, but last 7 characters – I found that the 8th character from right could be different)
We have our WIF which we may use as a starter for calculations.
The other question is – is there a fixed length of jump? And question is again yes – for this case length is 64.
Which means that we may now forget about working on WIF and instead start working on ‘numbers’.
Let’s take number starter = 80ef235aacf90d9f4a9df7ba29006cad4ec1c6610833d3a8587b4d7c662e5ce97a0166557e53 and increase it, but not by 58^34 (like it would be in brute force method – just a next Base58 character) but by 64*(58^34) – we have our jump 240921c8be82fd68a2a77fba0089f71029354609c90000000000 – as we see last 10 characters are 0, so it will not change the end of ‘decoded’ hex string.
This way we save some time, because we do much less number of additions.
[By the way, I also checked what are then possible characters on 34th, 33rd, 32nd… position), and we may find that we have 29*29*29… correct combinations, which is much more optimistic that 58*58*…]

Now, my question is:
Replacing missing letters by 111 -> zzzz, +- with correction for a ‘valid’ starter/finish, we may find a target range [starter, finish]. And we know that we may use jump as a number to add, which makes our range not ‘continuous’ but sparse (we may think about it like about islands). Is there any method ‘smarter’ than brute-force iteration? We may make an assumption that we look for pubkey, not address if it helps.

Of course we may change our variables, remove unneeded characters and pass is to BitCrack (
it would have keyspace start=ef235aacf90d9f4a9df7ba29006cad4ec1c6610833d3a8587b4d7c662e5ce97a and stride=240921c8be82fd68a2a77fba0089f71029354609c9) and then search for address. But is there any better way?

start:
end:
ef235aacf90d9f4ab3fedd0341bb04f1bd6de2b22006062c40d74b022f965fee
jump:
240921C8BE82FD68A2A77FBA0089F71029354609C9
(diff: 160722da414e57a2fba781a9ec325dd3c589ce9c01397674) – full range
diff/jump = 9c7cd4 – number of strides to do
result:
pubkey:
02b4632d08485ff1df2db55b9dafd23347d1c47a457072a1e87be26896549a8737

The following content was written by BrewMaster on July 31, 2020, 04:44:03 PM in the thread Solving WIF in a ‘hybrid’ mode. All content is owned by the author of the bitcointalk.org post. (original)

i have 2 problems with your method.
1) you skipped over explaining how you came up with 64 when you made the jump in 64*(58^34). looking at the binary representation of (58^34) i am guessing you were looking for enough bits to leave the 0x01 untouched hence the 6 bit shift.
but here is a question, how do you know that addition of more (58^n) between 1 and 63 is not going to give the same 0x01?
note that i said n and not 34 because the assumption should be that the missing character could be in different positions which brings me to second problem

2) if i understood your method correctly then it can not work in cases when (58^n) doesn’t even change 0x01 at the end. for example the following key since you can no longer make any jumps:
L5E______YaSudiozVRzTqLcHLNDoVn7H5HSfM9BAN6tMJX8oTWz6

The following content was written by PawGo on July 31, 2020, 05:54:46 PM in the thread Solving WIF in a ‘hybrid’ mode. All content is owned by the author of the bitcointalk.org post. (original)

2) if i understood your method correctly then it can not work in cases when (58^n) doesn’t even change 0x01 at the end. for example the following key since you can no longer make any jumps:
L5E______YaSudiozVRzTqLcHLNDoVn7H5HSfM9BAN6tMJX8oTWz6

yes, of course.

1) you skipped over explaining how you came up with 64 when you made the jump in 64*(58^34). looking at the binary representation of (58^34) i am guessing you were looking for enough bits to leave the 0x01 untouched hence the 6 bit shift.
but here is a question, how do you know that addition of more (58^n) between 1 and 63 is not going to give the same 0x01?
note that i said n and not 34 because the assumption should be that the missing character could be in different positions which brings me to second problem

Maybe it was just a kind of luck that I get ‘unknown’ character on this position, which allowed me to make my experiments. Of course if we move problem into left side, it will stop giving us any gain.
Initially I asked myself if is there a way to find a value on unknown position which would give us the correct compression byte 01. All the time I was thinking in parallel in two systems – both in hex and in WIF – which could make my reasoning a bit confusing, so I am sorry for if something is not clear enough.
Anyway, I found that there is cycle (64 steps) and it produces 29 possible characters (on 34th position). And this is my algorithm – I take initial WIF, convert to number and try to find first ‘correct’ – with correct compression byte and checksum. I treat this distance as a initial jump. And then, from obtained number I try to find the cycle.

Set of characters on 34th position has size 29. On 33rd position it is already 58, BUT! set 33+34 is 841 = 29*29. And set 32+33+34 has size 29*29*29. This is one more interesting thing, because it allows us to pre-produce a list of possible combinations for last 4 or 5 characters and use it instead of 58*58*58.

I do not understand question
Quote
but here is a question, how do you know that addition of more (58^n) between 1 and 63 is not going to give the same 0x01?
What do you want to add? On which position?

The following content was written by BrewMaster on July 31, 2020, 06:26:41 PM in the thread Solving WIF in a ‘hybrid’ mode. All content is owned by the author of the bitcointalk.org post. (original)

I do not understand question
Quote
but here is a question, how do you know that addition of more (58^n) between 1 and 63 is not going to give the same 0x01?
What do you want to add? On which position?

it seems to me that when you add 64*(58^34) to go to the next value and check the addition result, you are skipping a lot of values in between (the jump) and i am trying to figure out how can we be sure there isn’t any other valid values in that skipped space to check.

The following content was written by PawGo on July 31, 2020, 06:47:22 PM in the thread Solving WIF in a ‘hybrid’ mode. All content is owned by the author of the bitcointalk.org post. (original)

I do not understand question
Quote
but here is a question, how do you know that addition of more (58^n) between 1 and 63 is not going to give the same 0x01?
What do you want to add? On which position?

it seems to me that when you add 64*(58^34) to go to the next value and check the addition result, you are skipping a lot of values in between (the jump) and i am trying to figure out how can we be sure there isn’t any other valid values in that skipped space to check.

experimentally…

I would rather say that there is no sooner correct jump, but we maybe we may have false hits in the future – maybe combination of characters ‘on left side’ will change something, however I do not think so; I have not found any situation like that.

Editor-in-chief and serial coder & blogger.

Click to comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

# Korbit charged for excessive customer data collection

Korbit, a well-known cryptocurrency exchange, has been charged and fined over “collecting excessive personal data” from at least one of its customers.

Published

on

Korbit, a well-known South Korean Cryptocurrency exchange, has been charged and fined over “collecting excessive personal data” from at least one of its customers.

Korbit is a South Korean company that is heavily vested in the cryptocurrency market. The brand is owned and operated by Korbit Inc, a company located in Gangnam-gu, Seoul, South Korea. The brand commenced operations in 2014 after securing huge financing from several venture capitalists.

Korbit performs the following cryptocurrency-related services:

• Cryptocurrency trading for the local South Korean market.
• Fiat to cryptocurrency exchange services using the South Korean Won (KRW) as the fiat currency of choice.

South Korea has a large cryptocurrency trading market, largely populated by local players and companies who moved there when the Chinese ban on cryptocurrency trading came into effect. By providing the local and regional market the opportunity to use the local currency to purchase cryptocurrency tokens or secure cryptocurrencies for trading purposes, Korbit fulfills a large need.

So Korbit is a very well-known exchange, and they get fined for a matter like that has been a matter of talk between crypto experts.

## A Small But Significant Fine

According to Yonhap, a news agency, “ They have been charged USD 4000 for this by a government watchdog for ordering a customer who had attempted to activate a dormant account on its platform to upload a photograph of their national ID card.”

The court took the case before the Personal Information Protection Committee. Then they met in a plenary session to rule on the case. The crypto exchange Korbit argued that it needed proof of a photo ID to prevent financial crimes such as voice phishing scams, adding that account users could begin trading immediately after activating dormant accounts.

But the committee overruled their argument and decided in favor of the user in question, claiming that none of Korbit’s other “big four” crypto exchange rivals (Upbit, Bithumb, and Coinone) required photo ID submission activate such accounts.

The committee ruled that mobile phone verification would have been sufficient in this instance. The exchange was guilty of violating the “principles of minimum personal information collection” specified in the Personal Information Protection Act, which was passed last year.

The decision made was absolutely correct because there was no point for them to ask for full ID verification. Mobile verification was acceptable, and the demand for photo ID verification was completely useless.

## Korbit Jumps Into NFT Craze

In the meantime, Korbit has also started selling these days popular non-fungible tokens (NFTs) for a hit South Korea drama series. Per EDaily, Korbit struck a partnership deal with the production company Studio Dragon, the creator of the drama Vincenzo, a mafia-themed series starring Song Joong-ki that aired on the cable network tvN earlier this year.

The deal will see the company sell 100 limited edition official pieces of art based on the show on a first-come-first-served basis on July 21.

Korbit stated that it plans to create more NFT items for “other popular dramas” produced by Studio Dragon.

The company also said and showcased one of the items it plans to sell – an NFT featuring an iconic lighter used by the main and titular character in the drama, also distributed by the streaming giant Netflix.

# Bitcoin Core 22.0 To Add Hardware Wallet Support

Bitcoin Core will start to support connection with Hardware Wallets with HWI library. New options for hardware wallets will be added to the settings.

Published

on

The latest version of Bitcoin Core v22.0 will add support for hardware wallets. It will start to support connection with Hardware Wallets with HWI Python library. The overall interface of the wallet will change in the latest version and new options for hardware wallets will be added to the settings and then we will be able to create a new wallet with our connected devices.

It is pretty good news and bitcoin users are looking forward to giving this wallet a go as soon as it releases.

Bitcoin Core can be launched with `-signer=<cmd>` where `<cmd>` is an external tool that can sign transactions and perform other functions. For example, it can be used to communicate with a hardware wallet.

Among other changes, Bech32m (witness v1) addresses are now supported for most RPC calls. Adjustments were made to the RPC calls for banning, network, and peer information. It no longer supports MacOS versions older than 10.14 “Mojave”.

## 22.0 Release Notes Draft

Below is a copy of the relevant section of the release notes that mentions the signing feature.

### GUI Changes

External signers such as hardware wallets can now be used. These require an external tool such as HWI to be installed and configured under Options -> Wallet. When creating a new wallet a new option “External signer” will appear in the dialog. If the device is detected, its name is suggested as the wallet name. The watch-only keys are then automatically imported. Receive addresses can be verified on the device. The send dialog will automatically use the connected device. This feature is experimental and the UI may freeze for a few seconds when performing these actions.

Example of Usage

Although this tool is hosted under the Bitcoin Core GitHub organization and maintained by Bitcoin Core developers, it should be used with caution. It is considered experimental and has far less review than Bitcoin Core itself. Be particularly careful when running tools such as these on a computer with private keys on it.

When using a hardware wallet, consult the manufacturer’s website for (alternative) software they recommend. As long as their software conforms to the standard below, it should be able to work with Bitcoin Core.

## What does the HWI library do?

The primary use of HWI is to discover hardware wallets that are connected via USB ports. It uses the udev project, which means that Windows is not supported. It only works for macOS and Linux. Fortunately, HWI and hardware wallet support are optional in Bitcoin Core. It will continue to function normally if HWI is not installed.

HWI is a command-line program that reads commands from the terminal and sends them to the device. The device behaves as if a human is entering physical input to it and executes the commands the same way it would be done manually. It also has a Python API, which makes it easier to add an HTTP API in the future if desired by the project maintainers.

## Supported Devices

The following hardware wallets are compatible with most commands of HWI:

• Ledger Nano X
• Ledger Nano S
• Trezor Model T
• Trezor One
• BitBox01
• BitBox02
• KeepKey
• Coldcard

HWI has a support policy that states that hardware wallets must use as much open-source firmware as possible. Closed-source parts are acceptable if they are required by a non-disclosure agreement (NDA). Closed-source firmware is tolerated if the vendor provides active support for it, but the hardware wallet support will be dropped if the vendor stops maintaining HWI support for their hardware wallet. Also, if the hardware wallet stops receiving security updates, HWI support for it will be dropped if security vulnerabilities are found.

# Meet The Large Companies Investing In Antminers

Why are these companies only buying large quantities of Bitmain Antminer hardware, and how do they receive them?

Published

on

Along with Gryphon and Hut 8 Mining Corp, many other companies invest in bitcoin miners. There’s a reason why Bitmain Antminers are some of the most popular in the world. All of these invest in Bitmain mining hardware only. Gryphon is a minor mining operation compared to some of the more prominent players, but they all have a role to play. We will discuss TeraWulf first.

## TeraWulf

TeraWulf is a new mining company based in the United States purchasing 30,000 miners from Bitmain with plans to have greater than 3 Exahashes (EH/s) of Bitcoin Mining power, which is some serious power that would put it in the top 10 mining pools in terms of hash rate.

TeraWulf is soon to have a Nasdaq Listing; it agreed to merge with Ikonics, an imaging tech company whose stock is traded on Nasdaq. The newly merged company will trade under “WULF”.

TeraWulf is an example of a medium-sized operation, who has also placed its trust in Bitmain to provide mining hardware.

TeraWulf has a long-term goal to mine Bitcoin with more than 90% Zero-Carbon energy. It has around 50 megawatts of electricity capacity, with long-term plans to increase this to 800 Megawatts by 2025. This would enable a hashrate of more than 23 EH/s. It is ambitious, as it would be in the top 5 of hashrate.

TeraWulf’s low-carbon commitment is a sign of the times with concerns about the carbon footprint of the Bitcoin blockchain. Players the size of TeraWulf can make a difference in the carbon footprint of Bitcoin and help set trends.

## Core Scientific

Core Scientific is a mining company in North America. It has recently completed a buy of 112,800 ASIC mining rigs from Bitmain. Core Scientific provides hosting services for miners alongside its operations bought S19 Pro, S19j, and S19j Pro miners intending to double its fleet of miners. Core Scientific can also repair Bitmain mining machines that are under warranty, thus offering Bitmain Warranty services in North America.

Core Scientific intends to use half of the machines it has ordered for its mining operations. They will use the other half to fulfill contracts with existing mining clients.

The large 112,800 shipment and future ones of similar magnitude will help Core Scientific more than double its share of Bitcoin’s hashrate. Core scientific currently has approximately 5% of the current Bitcoin Hashrate. They intend to increase this to 12\$, according to their CEO Kevin Turner.

Turner’s forecast aligns with the growing presence of North America in the Bitcoin mining sphere.

Along with Core scientific, Gryphon, and TeraWulf, other mining companies are looking to expand their operations, such as Marathon, Riot, and Blockcap.

Kevin does not expect the trend of big players investing in the mining space to stop soon, and new prominent players are continuing to enter the game.

Kevin stated that larger numbers of publicly traded companies, large family companies, and hedge funds are looking for trustworthy mining operations in North America. Kevin believes that the United States is interested in being a leader in digital assets, despite other countries being early adopters before the United States was.

## Marathon Patient Group

Marathon is another significant player in the Bitcoin mining industry, based in Las Vegas. They mined no fewer than 196 Bitcoins in 2021, worth over \$11 million at current prices. Marathon has planned to expand its mining operation to have no fewer than 100,000 miners online by 2022. Marathon’s hold more than 5,000 Bitcoin. Marathon received an order in Q1 of 2021 for 1,300 Bitmain S19 Pro mining rigs.

Marathon will have ongoing shipments from Bitmain throughout 2021, with a plan to have over 100,000 online by January 2022. Marathon’s total network hashrate is estimated at 10.3 Exahashes per second by then, putting them in the top 10. The company used stock offerings and other financings to invest in the latest Bitmain hardware.

Marathon has planned its high-speed expansion to keep up with other big names in the mining industry. The new machines coming online in 2021 after heavy demand has caused the Bitcoin difficulty to skyrocket due to the flood of hashrate. Bitcoin difficulty is the algorithm that keeps the supply of bitcoins and the Blockchain’s growth constant despite the varying market conditions.

The CEO of Compass Mining, Whit Gibbs, commented on Marathon’s “mammoth” ASIC order. He mentioned he feels that this trend of increasing hashrate and difficulty shows no signs of slowing in 2021 and that it should track with Bitcoin’s price.